//  funcion que busca por nombre dentro de un combo //
// -------------------------------------------------------------------------------------------
var digitos=15 //cantidad de digitos buscados 
var puntero=0 
var buffer=new Array(digitos) //declaración del array Buffer 
var cadena="" 


// -------------------------------------------------------------------------------------------
function buscar_op(obj,objfoco){ 
   var letra = String.fromCharCode(event.keyCode) 
   if(puntero >= digitos){ 
       cadena=""; 
       puntero=0; 
    } 
   //si se presiona la tecla ENTER, borro el array de teclas presionadas y salto a otro objeto... 
   if (event.keyCode == 13){ 
       borrar_buffer(); 
       if(objfoco!=0) objfoco.focus(); //evita foco a otro objeto si objfoco=0 
    } 
   //sino busco la cadena tipeada dentro del combo... 
   else{ 
       buffer[puntero]=letra; 
       //guardo en la posicion puntero la letra tipeada 
       cadena=cadena+buffer[puntero]; //armo una cadena con los datos que van ingresando al array 
       puntero++; 

       //barro todas las opciones que contiene el combo y las comparo la cadena... 
       for (var opcombo=0;opcombo < obj.length;opcombo++){ 
          if(obj[opcombo].text.substr(0,puntero).toLowerCase()==cadena.toLowerCase()){ 
          obj.selectedIndex=opcombo; 
          } 
       } 
    } 
   event.returnValue = false; //invalida la acción de pulsado de tecla para evitar busqueda del primer caracter 
}


/* ---------------------------------------------------------------------------------------------------- */
function nuevoAjax()
{ 
	/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
	lo que se puede copiar tal como esta aqui */
	var xmlhttp=false; 
	try 
	{ 
		// Creacion del objeto AJAX para navegadores no IE
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
	}
	catch(e)
	{ 
		try
		{
			// Creacion del objet AJAX para IE 
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
		} 
		catch(E) {xmlhttp=false; }
	}
	if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); } 

	return xmlhttp; 
}



/* ---------------------------------------------------------------------------------------------------- */
function cuentacaracteres(cadena,caracter)
{
	// Funcion para reemplazar de cada cadena

	var largo = cadena.length;
	var cant=0;
	
	for (i = 0; i < largo ; i++)
	{
		if (cadena.substr(i,1)==caracter){
			cant = cant + 1;
		}
	}
	return cant;
}


/* ---------------------------------------------------------------------------------------------------- */
function reiniciaSeleccion()
{
	mouseFuera(); 
	elementoSeleccionado=0;
}


/* -------------------------------------------------------------------------------------------------- */
function borrar_buffer(){ 
   //inicializa la cadena buscada 
    cadena=""; 
    puntero=0; 
} 


/* ---------------------------------------------------------------------------------------------------- */
function limpiaPalabra(palabra)
{
	// Funcion encargada de sacarle el codigo HTML de la negrita a las palabras
	palabra=palabra.replace(/<b>/i, "");
	palabra=palabra.replace(/<\/b>/i, "");
	return palabra;
}


/* -------------------------------------------------------------------------------------------------- */
function deja_direccion_vacia(opcion)
{
	borrar_buffer();
	
	if (opcion == 1)
	{
	    document.aspnetForm.ctl00$Cphcontenido$tbxCalle.value = '';
	    document.aspnetForm.ctl00$Cphcontenido$tbxNroCalle_can.value = '';
	    document.aspnetForm.ctl00$Cphcontenido$tbxNroCalle.value = '';
	    document.aspnetForm.ctl00$Cphcontenido$tbxNroCalle_cpn.value = '';
	    document.aspnetForm.ctl00$Cphcontenido$tbxDatosAdicionales.value = '';
	}
	else if (opcion == 2)
	{
	    document.aspnetForm.tbxCalleFact.value = '';
	    document.aspnetForm.tbxNroCalle_canFact.value = '';
	    document.aspnetForm.tbxNroCalleFact.value = '';
	    document.aspnetForm.tbxNroCalle_cpnFact.value = '';
	    document.aspnetForm.tbxDatosAdicionalesFact.value = '';
	}
}


/* -------------------------------------------------------------------------------------------------- */
function valida_comuna_ingresada(objeto)
{
	objComuna = eval("document.form1." + objeto)
	if (objComuna.value == 0)
	{
		alert('Debe Seleccionar una Comuna/Localidad')
		objComuna.focus()
	}
	
	if (document.getElementById('panDisponibilidadRetiro') != undefined)
    {
        document.getElementById('panDisponibilidadRetiro').style.display = 'none';
        if (document.aspnetForm.radJornada1 != undefined)
            document.aspnetForm.radJornada1.Checked = false;
        if (document.aspnetForm.radJornada2 != undefined)
            document.aspnetForm.radJornada2.Checked = false;
    }
}


function valida_comuna_ingresadaD(objeto)
{
	objComuna = eval("document.form1." + objeto)
	if (objComuna.value == 0)
	{
		alert('Debe Seleccionar una Comuna/Localidad')
		objComuna.focus()
	}
}

/* ---------------------------------------------------------------------------------------------------- */
function formateaLista(valor)
{
	// Funcion encargada de ir colocando en negrita las palabras y asignarle un ID a los elementos
	var x=0, verificaExpresion=new RegExp("^("+valor+")", "i");
	while(divLista.childNodes[x]!=null)
	{
		// Asigo el ID para reconocerlo cuando se navega con el teclado
		divLista.childNodes[x].id=x+1;
		// Coloco en cada elemento de la lista en negrita lo que se haya ingresado en el input
		divLista.childNodes[x].innerHTML=divLista.childNodes[x].innerHTML.replace(verificaExpresion, "<b>$1</b>");
		x++;
	}
}



/* ---------------------------------------------------------------------------------------------------- */
function coincideBusqueda(palabraEntera, primerasLetras)
{
	/* Funcion para verificar que las primeras letras de busquedaActual sean iguales al
	contenido de busquedaAnterior. Se devuelve 1 si la verificacion es afirmativa */
	if(primerasLetras==null) return 0;
	var verificaExpresion=new RegExp("^("+primerasLetras+")", "i");
	if(verificaExpresion.test(palabraEntera)) return 1;
	else return 0;
}

/* ---------------------------------------------------------------------------------------------------- */
function nuevaCadenaNula(valor)
{
	/* Seteo cual fue la ultima busqueda que no arrojo resultados siempre y cuando la cadena
	nueva no comience con las letras de la ultima cadena que no arrojo resultados */
	if(coincideBusqueda(valor, ultimaBusquedaNula)==0) ultimaBusquedaNula=valor;
}

/* ---------------------------------------------------------------------------------------------------- */
function busquedaEnBD()
{
	/* Funcion encargada de verificar si hay que buscar el nuevo valor ingresado en la base
	de datos en funcion de los resultados obtenidos en la ultima busqueda y en base a que
	la cadena bsucada anteriormente este dentro de la nueva cadena */
	var valor=inputLista.value;
	
	if((coincideBusqueda(valor, busqueda)==1 && nuevaBusqueda==0) || coincideBusqueda(valor, ultimaBusquedaNula)==1) return 0;
	else return 1;
}

/* ---------------------------------------------------------------------------------------------------- */
function filtraLista(valor)
{


	// Funcion encargada de modificar la lista de nombres en base a la nueva busqueda
	var x=0;
	while(divLista.childNodes[x]!=null)
	{
		// Saco la negrita a los elementos del listado
		divLista.childNodes[x].innerHTML=limpiaPalabra(divLista.childNodes[x].innerHTML);
		if(coincideBusqueda(limpiaPalabra(divLista.childNodes[x].innerHTML), valor)==0)
		{
			/* Si remuevo el elemento x, el elemento posterior pasa a ocupar la posicion de
			x, entonces quedaria sin revisar. Por eso disminuyo 1 valor a x */
			divLista.removeChild(divLista.childNodes[x]);
			x--;
		}
		x++;
	}
}



/* ---------------------------------------------------------------------------------------------------- */
function asignaVariables(var1,var2,var3,var4)
{	
	nuevaBusqueda=1; busqueda=null; ultimaBusquedaNula=null;
	divLista=document.getElementById(var1);
	divLista.value=""
	inputLista=document.getElementById(var2);
	if (inputLista.id == 'tabDireccion$tbxCalle' || inputLista.id == 'tabDireccion$tbxCalleFact')
	{
		c=1;
	}
	else
	{
		z=1;
	}
	inputCmb=document.getElementById(var3);
	inputForm = document.getElementById(var4);
	elementoSeleccionado=0;
	ultimoIdentificador=0;
	
}


/* ---------------------------------------------------------------------------------------------------- */
function reempespacios(cadena,caracter)
{
	// Funcion para reemplazar de cada cadena
	var nuevacadena;
	var largo = cadena.length;

	nuevacadena = "";
	for (i = 0; i < largo ; i++)
	{
		if (cadena.substr(i,1)==" "){
			nuevacadena = nuevacadena + caracter;
		} else {
			nuevacadena = nuevacadena + cadena.substr(i,1);
		}
	}
	cadena = nuevacadena;	
	return cadena;
}


/* ---------------------------------------------------------------------------------------------------- */
function navegaTeclado(evento,sObj)
{
	var teclaPresionada=(document.all) ? evento.keyCode : evento.which;
	switch(teclaPresionada)
	{
		case 40:
		if(elementoSeleccionado < divLista.childNodes.length)
		{
			mouseDentroKey(parseInt(elementoSeleccionado) + 1);
		}
		return 0;
		
		case 38:
		if(elementoSeleccionado>1)
		{
			mouseDentroKey(parseInt(elementoSeleccionado)-1);
		}
		return 0;
		
		case 13:
		    if(divLista.style.display=="block" && elementoSeleccionado!=0)
		    {
			    clickLista(document.getElementById(elementoSeleccionado),sObj);
		    }
		return 0;
		
		default: return 1;
	}
}	


/* ---------------------------------------------------------------------------------------------------- */
function rellenaListaCalle(var1, var2, accion)
{


	if (var2=="")
		{
		return 0;
		}
	if (accion == 'tbxCalle' || accion == 'tbxCalleFact') 
		{
		accion="buscacalle";
		} 
	else 
		{
		accion="x";
		}
	
	//arr2=var2.split('|')		
    //var2=arr2[1]
  
	var valor1 = var1;
	var valor2 = var2;
 	var valor_1=reempespacios(valor1,"@");
	var valor_2=reempespacios(valor2,"@");

	// Valido con una expresion regular el contenido de lo que el usuario ingresa
	var reg=/(^[a-zA-Z0-9.@ ]{1,40}$)/;
	if(!reg.test(valor1)) 
	{
		divLista.style.display="none";
	}
	else
	{   
	    if (inputLista == undefined || inputLista == null)
	        return false;
		if(busquedaEnBD()==0)
		{			    
			// Si no hay que buscar el valor en la BD
			busqueda=valor1;
	
			// Hago el filtrado de la nueva cadena ingresada
			filtraLista(valor1);
			// Si no quedan elementos para mostrar en la lista
			if(divLista.childNodes[0]==null) { divLista.style.display="none"; nuevaCadenaNula(valor1); }
			else { reiniciaSeleccion(); formateaLista(valor1); }
		}
		else
		{	
			/* Si se necesita verificar la base de datos, guardo el patron de busqueda con el que se
			busco y luego recibo en una variable si existen mas resultados de los que se van a mostrar */
			busqueda=valor1;
			
			var ajax=nuevoAjax();
			////dmapas/CORP/lib/
			
			ajax.open("POST", "direccionDestinoConsulta.aspx?", true);
			ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			ajax.send("calle=" + valor_1 + "&comuna=" + valor_2 + "&accion=" + accion);
			ajax.onreadystatechange=function()
			{
			    if (ajax.readyState==4)
				{
					if (ajax.status == 200)
					{
						if (!ajax.responseText)
						{ 
							divLista.style.display="none"; 
						}
						else
						{
						    var resultado = ajax.responseText;
							if (window.ActiveXObject)
							{   
                                var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
                                xmlDoc.loadXML(resultado);
                            }
                            else
                            {
                                parser=new DOMParser();
                                xmlDoc=parser.parseFromString(resultado,"text/xml");
                            }
							
							/* Obtengo un valor que representa si tengo que ir a BD en las proximas 
							busquedas con cadena similar */
							//nuevaBusqueda=respuesta[0];
							nuevaBusqueda=1;
							
							// Si se obtuvieron datos los muestro
							
							inputForm.idcalle.value = ''
							
							if (xmlDoc.getElementsByTagName("lst_calles_x_nomcomuna")[0].attributes.getNamedItem("status").value == "00")
							{   
								if (xmlDoc.getElementsByTagName("reg_calles_x_nomcomuna")[0].attributes.getNamedItem("nro_error").value == 0)
								{
									strINNER = ''

									for (i=0;i <= xmlDoc.getElementsByTagName("reg_calles_x_nomcomuna").length -1 ;i++)
										{
										strCalle = xmlDoc.getElementsByTagName("reg_calles_x_nomcomuna")[i].attributes.getNamedItem("nombre_calle").value
										strINNER = strINNER + "<div class='normal' onClick='clickLista(this);' onMouseOver='mouseDentro(this);'>" + strCalle + "</div>"
										j = i + 1
										if (j <= 8)
											{
											document.getElementById('idcalle' + j).value = xmlDoc.getElementsByTagName("reg_calles_x_nomcomuna")[i].attributes.getNamedItem("id_nombre_calle").value;
											}
										}
									
									if (inputLista == undefined || inputLista == null)
	                                    return false;
									
									try
	                                {
									    divLista.style.top=document.all ? findPosY(inputLista)+17 : (findPosY(inputLista) + 17) + "px";
									    divLista.style.left=document.all ? findPosX(inputLista) : findPosX(inputLista) + "px";
									    divLista.style.width=inputLista.style.width;
    									
									    if (divLista.id == "lista")
									    {
									        if (inputLista.id == "tbxCalle" || inputLista.id == "tbxCalleFact")
									        {
									            divLista.innerHTML = strINNER;
									            divLista.style.display="block";
									        }
									        else
									        {
									            divLista.style.display="none";
									            elementoSeleccionado=0;
	                                            ultimoIdentificador=0;
									            return false;
									        }
									    }
									    else if (divLista.id == "lista2")
									    {   
									        divLista.style.display="none";
									        elementoSeleccionado=0;
	                                        ultimoIdentificador=0;
									        return false;
									    }
    									
									    reiniciaSeleccion();
									    formateaLista(valor1);
							        }
									catch(ex)
									{
									    divLista.innerHTML = "";
									    divLista.style.display="none";
									    elementoSeleccionado=0;
	                                    ultimoIdentificador=0;
									}
								}
							}
							// En caso contrario seteo la busqueda actual como una busqueda sin resultados
							else
							{
							    nuevaCadenaNula(valor1);
								if (accion=='buscacalle')
								{
									inputForm.idcalle1.value = ''
									inputForm.idcalle2.value = ''
									inputForm.idcalle3.value = ''
									inputForm.idcalle4.value = ''
									inputForm.idcalle5.value = ''
									inputForm.idcalle6.value = ''
									inputForm.idcalle7.value = ''
								}
							}
						}	
					}
				}
			}
		}
	}
}


/* ---------------------------------------------------------------------------------------------------- */
function rellenaListaNumero(var1,var2,accion)
{
	if (var2=="")
		{
		return 0;
		}
	if (accion == 'tbxNroCalle' || accion == 'tbxNroCalleFact') 
		{
		accion="buscaNroCalle";
		} 
	else 
		{
		accion="x";
		}

	var valor1 = var1;
	var valor2 = var2;
	var valor_1=reempespacios(valor1,"@");
	var valor_2=reempespacios(valor2,"@");

	// Valido con una expresion regular el contenido de lo que el usuario ingresa
	var reg=/(^[a-zA-Z0-9.@ ]{1,40}$)/;
	if(!reg.test(valor1)) 
		divLista.style.display="none";
	else
	{
	    if (inputLista == undefined || inputLista == null)
	        return false;
		if(busquedaEnBD()==0)
		{	
			// Si no hay que buscar el valor en la BD
			busqueda=valor1;
	
			// Hago el filtrado de la nueva cadena ingresada
			filtraLista(valor1);
			// Si no quedan elementos para mostrar en la lista
			if(divLista.childNodes[0]==null) { divLista.style.display="none"; nuevaCadenaNula(valor1); }
			else { reiniciaSeleccion(); formateaLista(valor1); }
		}
		else
		{	
			/* Si se necesita verificar la base de datos, guardo el patron de busqueda con el que se
			busco y luego recibo en una variable si existen mas resultados de los que se van a mostrar */
			busqueda=valor1;
			var ajax=nuevoAjax();
			////dmapas/CORP/lib/
			
		    ajax.open("POST", "direccionDestinoConsulta.aspx?", true);
			ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");				
			ajax.send("calle=" + valor_1 + "&comuna=" + valor_2 + "&accion=" + accion);
			
			ajax.onreadystatechange=function()
			{					
				if (ajax.readyState==4)
				{
					if (ajax.status == 200)
					{
						if (!ajax.responseText)
						{ 
							divLista.style.display="none"; 
						}
						else
						{
							var resultado = ajax.responseText;
							if (window.ActiveXObject)
							{   
                                var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
                                xmlDoc.loadXML(resultado);
                            }
                            else
                            {
                                parser=new DOMParser();
                                xmlDoc=parser.parseFromString(resultado,"text/xml");
                            }
							
							/* Obtengo un valor que representa si tengo que ir a BD en las proximas 
							busquedas con cadena similar */
							//nuevaBusqueda=respuesta[0];
							nuevaBusqueda=1;
							
							// Si se obtuvieron datos los muestro
							if (xmlDoc.getElementsByTagName("lst_numeracion_coindidente")[0].attributes.getNamedItem("status").value == "00")
							{
								if (xmlDoc.getElementsByTagName("reg_numeracion_coindidente")[0].attributes.getNamedItem("nro_error").value == 0)
								{
									strINNER = ''

									for (i=0;i <= xmlDoc.getElementsByTagName("reg_numeracion_coindidente").length -1 ;i++)
										{
										j = i +1
										strCan = xmlDoc.getElementsByTagName("reg_numeracion_coindidente")[i].attributes.getNamedItem("can").value
										strNumero = xmlDoc.getElementsByTagName("reg_numeracion_coindidente")[i].attributes.getNamedItem("numero_municipal").value
										strCpn = xmlDoc.getElementsByTagName("reg_numeracion_coindidente")[i].attributes.getNamedItem("cpn").value
										strINNER = strINNER + "<div class='normal' onClick='clickLista(this);' onMouseOver='mouseDentroKey(" + j + ");'>" + strCan + "-" + strNumero + "-" + strCpn +  "</div>"
										}
									
									if (inputLista == undefined || inputLista == null)
	                                    return false;
	                                    
	                                try
	                                {
									    divLista.style.top=document.all ? findPosY(inputLista)+17 : findPosY(inputLista)+17 + "px";
									    divLista.style.left=document.all ? findPosX(inputLista) : findPosX(inputLista) + "px";
									    //divLista.style.width=document.all ? 70 : "70px";//inputLista.style.width;
									    divLista.style.width=inputLista.style.width;
    									
									    if (divLista.id == "lista")
									    {   
									        divLista.style.display="none";
									        elementoSeleccionado=0;
	                                        ultimoIdentificador=0;
									        return false;
									    }
									    else if (divLista.id == "lista2")
									    {
									    
									        if (inputLista.id != "tbxCalle" && inputLista.id != "tbxCalleFact")
									        {
									            divLista.innerHTML = strINNER;
									            divLista.style.display="block";
									        }
									        else
									        {
									            divLista.style.display="none";
									            elementoSeleccionado=0;
	                                            ultimoIdentificador=0;
									            return false;
									        }
									    }
    									
									    reiniciaSeleccion();
									    formateaLista(valor1); 
									}
									catch(ex)
									{
									    divLista.innerHTML = "";
									    divLista.style.display="none";
									    elementoSeleccionado=0;
	                                    ultimoIdentificador=0;
									}
								}
							}
							// En caso contrario seteo la busqueda actual como una busqueda sin resultados
							else { 
								nuevaCadenaNula(valor1);
							}
						}	
					}
				}
			}
		}
	}
}


/* ---------------------------------------------------------------------------------------------------- */
function clickLista(elemento,sObjeto)

{

	/* Se ejecuta cuando se hace clic en algun elemento de la lista. Se coloca en el input el
	valor del elemento clickeado */
	//v=1;
	if (inputLista.id == 'tbxCalle' || inputLista.id == 'tbxCalleFact')
		c=1;
	else
		z=1
		
	valor=limpiaPalabra(elemento.innerHTML); 
	busqueda=valor; 
	
	if (inputLista.id == 'tbxCalle' || inputLista.id == 'tbxCalleFact'){
		Obj = document.getElementById('idcalle' + elemento.id);
		inputForm.idcalle.value = Obj.value;
		if (inputLista.id == 'tbxCalle')
		    document.getElementById('tbxNroCalle').select();
		else if (inputLista.id == 'tbxCalleFact')
		    document.getElementById('tbxNroCalleFact').select();
	} else {
	    if (inputLista.id == 'tbxNroCalle'){
            document.getElementById('tbxDatosAdicionales').select();
		}
		else if (inputLista.id == 'tbxNroCalleFact'){
            document.getElementById('tbxDatosAdicionalesFact').select();
		}
	}

	divLista.style.display="none"; elemento.className="normal";
}


/* ---------------------------------------------------------------------------------------------------- */
function mouseFuera()
{
	// Des-selecciono el elemento actualmente seleccionado, si es que hay alguno
	if(elementoSeleccionado!=0 && document.getElementById(elementoSeleccionado)) {
		document.getElementById(elementoSeleccionado).className="normal";
	} 
}


/* ---------------------------------------------------------------------------------------------------- */
function mouseDentro(elemento)
{
	mouseFuera();
	elemento.className="resaltado";
	// Establezco el nuevo elemento seleccionado
	elementoSeleccionado=elemento.id;
	valor=limpiaPalabra(elemento.innerHTML); 
	busqueda=valor; 
	inputLista.value=valor;
	
	if (inputLista.id == 'tbxCalle' || inputLista.id == 'tbxCalleFact'){
		Obj = document.getElementById('idcalle' + elemento.id);
		inputForm.idcalle.value = Obj.value;
	}
}


/* ---------------------------------------------------------------------------------------------------- */
function mouseDentroKey(ele)
{
	mouseFuerakey();
	ele = ele - 1
	divLista.childNodes[ele].className="resaltado";
	// Establezco el nuevo elemento seleccionado
	
	elementoSeleccionado=divLista.childNodes[ele].id;

	if (inputLista.id == 'tbxCalle' || inputLista.id == 'tbxCalleFact'){
		valor=limpiaPalabra(divLista.childNodes[ele].innerHTML); 
		busqueda=valor; 
		inputLista.value=valor;
	} else {	

		if (inputLista.id == 'tbxNroCalle' || inputLista.id == 'tbxNroCalleFact')
		{
		    if (inputLista.id == 'tbxNroCalle')
		    {
			    var inpCaN=document.getElementById('tbxNroCalle_can');
			    var inpCpN=document.getElementById('tbxNroCalle_cpn');
			}
			else if (inputLista.id == 'tbxNroCalleFact')
		    {
			    var inpCaN=document.getElementById('tbxNroCalle_canFact');
			    var inpCpN=document.getElementById('tbxNroCalle_cpnFact');
			}
		}
		valor=limpiaPalabra(divLista.childNodes[ele].innerHTML);
		pos= 2 - cuentacaracteres(valor,"-");

		inpCpN.value = '';
		inpCaN.value = '';

		inputLista.value = '';
		
		var largo = valor.length;
		nuevacadena = "";
		for (i = 0; i < largo ; i++)
		{
			if (valor.substr(i,1)=="-"){
				pos= pos + 1;
			} else {
				if (pos==0){ inpCaN.value = inpCaN.value + String(valor.substr(i,1));
				} else {
					if (pos==1){ inputLista.value = inputLista.value + String(valor.substr(i,1));
					} else {
						if (pos==2){ inpCpN.value = inpCpN.value + String(valor.substr(i,1));
						}
					}
				}
			}
		}
	}
	
	if (inputLista.id == 'tbxCalle' || inputLista.id == 'tbxCalleFact'){
		Obj = document.getElementById('idcalle' + divLista.childNodes[ele].id);
		inputForm.idcalle.value = Obj.value;
	}
}


/* ---------------------------------------------------------------------------------------------------- */
function mouseFuerakey()
{

	ele = elementoSeleccionado - 1

	// Des-selecciono el elemento actualmente seleccionado, si es que hay alguno
	if(elementoSeleccionado!=0 && divLista.childNodes[ele]) {
		divLista.childNodes[ele].className="normal";
	} 

}

/* ---------------------------------------------------------------------------------------------------- */
function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
}


/* ---------------------------------------------------------------------------------------------------- */
function findPosX0(obj)
{
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
            if (obj.id == "panFactura")
                curleft += obj.offsetLeft + 3;
            curleft += obj.offsetLeft;
            if(!obj.offsetParent)
                break;
            obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
}
  

/* ---------------------------------------------------------------------------------------------------- */
function findPosY0(obj)
{
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
            if (obj.id == "panFactura")
                curtop += obj.offsetTop + 3;
            curtop += obj.offsetTop;
            if(!obj.offsetParent)
                break;
            obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
}




function findPosX(obj){
        var curleft = 0;
        if (obj.offsetParent){
            while (obj.offsetParent){
                curleft += obj.offsetLeft
                obj = obj.offsetParent;
            }
        } else if (obj.x){
            curleft += obj.x;
        }
        return curleft;
    }
    
    function findPosY(obj){
        var curtop = 0;
        if (obj.offsetParent){
            while (obj.offsetParent){
                curtop += obj.offsetTop
                obj = obj.offsetParent;
            }
        } else if (obj.y){
            curtop += obj.y;
        }
        return curtop;
    }

