/* 
  Fichero: lineas.js                        Fecha: 29/06/2007

  Proyecto: EMT

  Copyright (c) 2007 IVER T.I.
  C/ Lérida 20, 46009 Valencia, España
  Todos los derechos reservados
 
  Módulo: Plano y Rutas

  Descripción: Funciones de guardado y reposicion de las marcas en los checks de lineas y paradas.

  Autor: Enrique M.B.

  Version 1.0  29/06/2007  Enrique.M.B.
          Primera version estable
 */

var arrayLineas= null;
var arrayParadas= null;

/**
* Almacenamos en sendos arrays las lineas y paradas seleccionadas.
*/
function guardaLineasSeleccionadas(){

	arrayLineas = new Array(); 
	arrayParadas = new Array(); 
	
	arrayLineas= getElementsByClassAndSelected("checkleyendalineas");
	arrayParadas= getElementsByClassAndSelected("checkleyendapuntos");
}

/**
* Recargamos los checkbox con las lineas y paradas que anteriormente guardamos en los arrays.
* Nota: al cambiar horario, habra algunas lineas que podrian haber dejado de existir (no vigentes)
*/
function cargaLineasSeleccionadas(){

	var elemento= null;

	if(arrayLineas!=null){
		for(i=0; i< arrayLineas.length; i++){
			//alert(arrayLineas[i].className+" "+arrayLineas[i].name)
			elemento= getElementByClassAndName(arrayLineas[i].className, arrayLineas[i].name);
			if(elemento!=undefined){
				//caso en el que en el nuevo horario no exista la antigua linea seleccionada
				elemento.checked= true;
			}
		}
	}
	
	if(arrayParadas!=null){
		for(i=0; i< arrayParadas.length; i++){
			//alert(arrayParadas[i].className+" "+arrayParadas[i].name)
			elemento= getElementByClassAndName(arrayParadas[i].className, arrayParadas[i].name);
			if(elemento!=undefined){
				//caso en el que en el nuevo horario no exista la antigua linea seleccionada
				elemento.checked= true;
			}
		}
	}
	
}

/**
* Almacenamos en un array los checks seleccionados.
* parametro de entrada: nombre de la clase del elemento que estamos buscando  (lineas "checkleyendalineas" o paradas "checkleyendapuntos")
*/
function getElementsByClassAndSelected(theClass){
    var allPageTags = new Array(); 
    var myPageTags = new Array();
    var j=0;

    var allPageTags=document.getElementsByTagName("input");
    
    for (i=0; i<allPageTags.length; i++) {
        if (allPageTags[i].className==theClass && allPageTags[i].checked== true) {
            myPageTags[j]=allPageTags[i];
            j++;
        }
    }
    
    return myPageTags;
} 

/**
* Almacenamos en un array el check que coincida con la clase y el nombre introducidos como parametros. (a falta de id, usamos esta solucion)
* parametros de entrada: - nombre de la clase del elemento que estamos buscando  (lineas "checkleyendalineas" o paradas "checkleyendapuntos")
*				- nombre del campo				
*/
function getElementByClassAndName(theClass, theName){
    var allPageTags = new Array(); 
    var myElement = null
	var flag= false;
	
    var allPageTags=document.getElementsByTagName("input");
    
	var i=0;
    while(i<allPageTags.length && flag==false){
        if (allPageTags[i].className==theClass && allPageTags[i].name== theName) {
            myElement= allPageTags[i];
        }
		i++;
    }
    
    return myElement;
} 

