// inicializo el indice para los vectores.
var indice = 0
// Contendra los id de las propiedades.
var vectorIds = new Array();
// Contendra una numeracion de uno a 50.
var vectorIndices = new Array();


function verCookies(identLinea)
{
	var cookieSelec = getCookie("selecc");
	var cookieGuarda = getCookie("GuardarCla");
	var cookieClave = getCookie("Clave");
	var cookieUsuario = getCookie("Usuario");
	alert("En la linea : "+identLinea+ " Cookies : "+cookieSelec+", "+cookieGuarda+" , "+cookieClave+" , "+cookieUsuario);	
}	

function agregarACookie(elem){
	ListaSeleccionados = getCookie('selecc');
	if(ListaSeleccionados==null){
		// vacio el string con la lista de idīs seleccionados.
		ListaSeleccionados='*';	
	}
	// el separador de parametros es la coma.
	ListaSeleccionados=ListaSeleccionados+','+elem;
	return ListaSeleccionados;
}


function incluidoEnCookie(elem,lista){
	var i=0;
	var v = lista.split(",");
	// obtengo un vector con los parametros.
	for(i=0; i<v.length; i++){
		if(elem==v[i]){
			return true;
		}
	}
	// si llego hasta aca es porque no esta incluido en el vector.
	return false;
}

function adosarACookie(elem,lista){
	
	lista+=","+elem;			
	return lista;
}	


function sacarDeCookie(elem,cadena){
	// cadena auxiliar para contruir la nueva cookie sin el elemento a eliminar.
	var cadenaAux="";	
	// tengo un vector de parametros para buscar el elemento.
	var vectorAux = cadena.split(",");
	var i=0;
	for(i=0; i<vectorAux.length; i++){
		// si es diferente al elemento del vector lo adoso a la cookie.
		if(vectorAux[i]!=elem){
			// si es la primera la agrego directamente.
			if(cadenaAux==""){
				cadenaAux+=vectorAux[i];	
			}
			else{
				cadenaAux = adosarACookie(vectorAux[i],cadenaAux);
			}		
		}
	}
	// finalmente retorno la cadena sin el elemento.
	return cadenaAux;
}	


/* en v1 tengo los checkbox. En v2 tengo los id de propiedad.*/       
function procesar(v1,v2){
	
	var lista;
	var i=0;
	var contador = 0;
	// Determino el tiempo de caducidad de las cookies a grabar.
	var caduca = new Date();
 	caduca.setTime(caduca.getTime() + 9999999999999);
 	
	lista=getCookie("selecc");
	
	if(lista==null)
   		lista="";

	for(i=0; i<v1.length ; i++){
		// Si esta checkeado lo tengo que agregar a la cookie.
		if(v1[i].checked){
		// si la lista tiene elementos y el elemento a insertar no
        // pertenece a la misma, lo inserto.
       		 if(lista==""){
	       		// sino es el primer parametro que ingreso.
	    		lista=v2[i];
	    		contador++;
	    		// adoso a la cookie
        	 }
        	 else {
	        	if(!incluidoEnCookie(v2[i],lista)){
		   			lista=adosarACookie(v2[i],lista);
		   			contador++;
    			}
        	 }
	   	}
	   	// si no estaba checkeado, debo asegurar que no figure en la cookie.
	   else{
		    if(lista!=null){
		   		if(incluidoEnCookie(v2[i],lista)){
					lista=sacarDeCookie(v2[i],lista);
					contador--;	
				}
			}	   	
		}   	
   	}
   	/* Esta diferenciacion debe hacerse debido a que en el caso de solo existir
   	   un elemento lo que recibo no es un vector (cosa que no ocurre en el caso de
   	   recibir mas de uno). */
   	if(v1.length!=null){
   		setCookie("selecc",lista,caduca);
	}
	else {
		setCookie("selecc",v2[0],caduca);	
	}	   
}

/* En el caso que la cadena pasada por parametro posea un apostrofe,
   lo duplica a fin de poder realizar correctamente la consulta en la
   base de datos. De otra forma arroja una excepcion.
   Se supone que solo existe un apostrofe en la cadena.
*/   
function duplicar_apostrofe(cadena)
{
	// separo en 2 subcadenas separadas por '.
	sub_cadenas = cadena.split('\'');
	// agrego un apostrofe y concateno ambas "sub cadenas" de la cadena original.
	if(sub_cadenas.length>1)
	{
		sub_cadenas[0]+="\'\'";
		cadena_final = sub_cadenas[0].concat(sub_cadenas[1]);
	 	
		return cadena_final;
	}
	// si no separo en 2 sub-cadenas es porque no habia un apostrofe.
	return cadena;
}

function escapear_apostrofe(cadena)
{
	// separo en 2 subcadenas separadas por '.
	sub_cadenas = cadena.split('\'');
	// agrego un apostrofe y concateno ambas "sub cadenas" de la cadena original.
	if(sub_cadenas.length>1)
	{
		sub_cadenas[0]+="\\'";
		cadena_final = sub_cadenas[0].concat(sub_cadenas[1]);
	 	
		return cadena_final;
	}
	// si no separo en 2 sub-cadenas es porque no habia un apostrofe.
	return cadena;
}



// El parametro que recibe sera 1 para "calle" o 2 para "entrecalle".
// es utilizado para saber que input text hay que completar desde el popup.
function buscarCalle(){
// grabo la cookie con el texto ingresado en el formulario para levantarlo
// en el popup.
// Determino el tiempo de caducidad de las cookies a grabar.
	var calle_elegida;
	var caduca = new Date();
	caduca.setTime(caduca.getTime() + 9999999999999);
	
	// agregado para evitar el "cuelgue" al realizar una consulta con un apostrofe.	
	calle_elegida = escapear_apostrofe(document.f.Calle.value); 
	
	if((document.f.Calle.value).length>=3){
	  	setCookie("CallEleg",calle_elegida,caduca);
	  	setCookie("AreaEleg",document.f.area.value,caduca);
	  	open("paginaPop.asp?opcion=1","calles","width=300,height=350,top=128,left=80, resizable=YES,scrollbars=YES,status=YES"); 
  	}
  	else{
	  	alert("Debe al menos ingresar 3 letras que identifiquen la calle");	  
  	}	  		
}
    
function buscarEntre(){
	var entre_calle;
	// grabo la cookie con el texto ingresado en el formulario para levantarlo
	// en el popup.
	// Determino el tiempo de caducidad de las cookies a grabar
	var caduca = new Date();
	caduca.setTime(caduca.getTime() + 9999999999999);
	
	// agregado para evitar el "cuelgue" al realizar una consulta con un apostrofe.
	entre_calle = duplicar_apostrofe(document.f.interseccion.value); 
	
	if((document.f.interseccion.value).length>=3){
		setCookie("CallEleg",entre_calle,caduca);
	  	setCookie("AreaEleg",document.f.area.value,caduca);
	  	open("paginaPop.asp?opcion=2","calles","width=300,height=350,top=128,left=80, resizable=YES,scrollbars=YES,status=YES"); 
  	}
  	else{
	  	alert("Debe al menos ingresar 3 letras que identifiquen la calle");	  
  	}	  		
}

