
    var objFor = "";
	var global_vctListaObjetoPadre = "";

function body_onload_cobertura2g3g()
{    
	objFor = document.consultaForm; // sin var!!  INPUT
	crearComponentePadreHijo();

	// REGION
	if( objFor.idRegion.value.length > 0 ){
	    // Región Seleccionada
		setObjSelect( objFor.listaRegion , objFor.idRegion.value )	
		listaRegion_onchange( objFor.listaRegion );	
	}else{
		// Valor por defecto (Estado Inicial)
		setObjSelect( objFor.listaRegion , "RM" )	
		listaRegion_onchange( objFor.listaRegion );	
	}
	
	// COMUNA
	if( objFor.idComuna.value.length > 0 ){
	    // Comuna Seleccionada
		setObjSelect( objFor.listaComuna , objFor.codigoComuna.value )	
	}else{
		// Valor por defecto (Estado Inicial)
		setObjSelect( objFor.listaComuna , "319" ) // RM*319-LAS CONDES
	}

	// CALLE	
	if( objFor.nomCalle.value.length > 0 ){
	    // Calle Ingresada
		objFor.idDireccion_FormCobertura.value = objFor.nomCalle.value; 	
	}else{
		// Valor por defecto (Estado Inicial)
		objFor.idDireccion_FormCobertura.value = ""; 	
	  //objFor.idDireccion_FormCobertura.value = "AVENIDA MANQUEHUE SUR";
	}
			
	// NUMERO	
	if( objFor.nroCalle.value.length > 0 ){
	    // Calle Ingresada
		objFor.idNumero_FormCobertura.value = objFor.nroCalle.value; 	
	}else{
		// Valor por defecto (Estado Inicial)
		objFor.idNumero_FormCobertura.value = ""; 	
	  //objFor.idNumero_FormCobertura.value = "520";
	}		
}
function crearComponentePadreHijo()
{
	var strListaPadre = objFor.datosRegion.value; // entrada
	var strListaHijo  = objFor.datosComuna.value; // entrada    

	global_vctListaObjetoPadre = crearMatrizObjetos( strListaPadre , strListaHijo ); // sin var!! GLOBAL
}
function listaRegion_onchange( objLista )
{
	// FORMATO Lista: 99 - NOMBRE, 99-NOMBRE, ..., 99-NOMBRE
	var codigoPadre = objLista.value;
	var strListaHijo= getStringListaHijo( global_vctListaObjetoPadre , codigoPadre );
    var objListaHTML_Hijo = document.getElementById("listaComuna"); // INPUT LISTA COMUNA

	eliminarListaHTML(objListaHTML_Hijo );
	agregarListaHTML( objListaHTML_Hijo , strListaHijo );
}




/*  Function: crearMatrizObjetos( p_strListaPadre , p_strListaHijo )
 *  FORMATO p_strListaPadre: 99 - NOMBRE, 99-NOMBRE, ..., 99-NOMBRE
 *  FORMATO p_strListaHijo : 99*99 - NOMBRE, 99*99-NOMBRE, ..., 99*99-NOMBRE
 */
function crearMatrizObjetos( p_strListaPadre , p_strListaHijo )
{   
	// ---------------------------------------------------------------
	// INI: DECLARACION LISTA PADRE - HIJO 
	// ---------------------------------------------------------------
    
	// Lista String
	var strListaPadre = p_strListaPadre; // entrada
    var strListaHijo  = p_strListaHijo;  // entrada

	if( strListaPadre.length == 0 ){
		alert("En Lista Padre Vacía!!");
	 	return;
	}	
	if( strListaHijo.length == 0 ){ 
		alert("En Lista Hijo Vacía!!");
		return;
	}

	// Lista Vector
	var vctListaPadre = strListaPadre.split(","); 
    var vctListaHijo  = strListaHijo.split(",");

  	var vctListaObjetoPadre = crearListaObjetoPadre(vctListaPadre,vctListaHijo);

	return( vctListaObjetoPadre );
	// ---------------------------------------------------------------
	// FIN: DECLARACION LISTA PADRE - HIJO   
	// ---------------------------------------------------------------    
}

function espacios(str)
{
	var lon = str.length;  	// Longuitud del string
	var tem = ""; 			// Variable temporal
	var con = 0;			// Contador;

	for( i = 0 ; i < lon ; i++ ){
		if( str.charAt(i) == " " ){
			con = con + 1;
		}
	}
	if( con == str.length )return(""); else	return(str);
}
function trim(s){
	sNew = "";
	if (s.length > 0){
	  for (i = 0; i < s.length; i++){
	    if (s.substring(i, i + 1) != " "){
	      for (j = s.length; j >= i; j--){
	       if (s.substring(j - 1, j) != " "){
	         sNew = s.substring(i, j);
	         break;
	       }
	      }
	      break;
	    }
	  }
	}  
	return sNew;
}
function validar_txt(obj_txt,mensaje)
{
	var valor = "";

	if( obj_txt.disabled == false )
	{
		valor = espacios(obj_txt.value);
		if(  valor == "" ){
			obj_txt.value = "";		alert(mensaje);		obj_txt.focus();		return(false);
		}else{
			obj_txt.value = trim(obj_txt.value);
			return(true);
		}
	}
	return( true );
}
function validar_txt_enTab(nro_tab,obj_txt,mensaje)
{
	var valor = "";

	if( obj_txt.disabled == false )
	{
		valor = espacios(obj_txt.value);
		if(  valor == "" ){
      ver_layer(nro_tab);
      btnLayer_cambio_color(nro_tab);
			obj_txt.value = "";		alert(mensaje);		obj_txt.focus();		return(false);
		}else{
			obj_txt.value = trim(obj_txt.value);
			return(true);
		}
	}
	return( true );
}
// Valida Caracteres
function val_car(e,Lista)
{
	// e: event
	var tecla, buscar = Lista;		
  	if (navigator.appName == "Netscape")tecla = e.which; else tecla = e.keyCode;

   	c = String.fromCharCode(tecla);	
	if( buscar.indexOf(c) == -1 )return(false);else return(true);

}
function getValueSelect(obj_select)
{
	i = obj_select.selectedIndex;

	if( i == (-1) )
		str = "-1"; //No existe índice seleccionado
	else
		str = obj_select.options[i].value;   

	return(str);
}
function seleccione_enTab( nroTab , ObjSelect , valueSelect , mensaje )
{	
	cod = getValueSelect( ObjSelect ) ;
	if( cod == valueSelect ){
    ver_layer(nroTab);
    btnLayer_cambio_color(nroTab);
		alert( mensaje );
		ObjSelect.focus();
		return(false);
	}
	return(true);
}
function seleccione( ObjSelect , valueSelect , mensaje )
{	
	cod = getValueSelect( ObjSelect ) ;
	if( cod == valueSelect ){
		alert( mensaje );
		ObjSelect.focus();
		return(false);
	}
	return(true);
}
function setObjSelect( obj_sel, x )
{
  var lon = obj_sel.length;

  for( i = 0; i < lon ; i++ )
  {
    if( obj_sel.options[i].value == x )
    {
      obj_sel.selectedIndex = i;
      return(true);
    }
  }
  return(false);
}
function verMensajeNoHayInformacion( mostrarDatos )
{  
	var mensaje = ""; 
	
	if( mostrarDatos == "NO" )
	{		
		mensaje += "<logic:equal name='asignacionForm' property='mostrarDatos' value='NO'>";
		mensaje += "<BR>";
		mensaje += "<table border='0' class='StyleTabla_100_conBorde' align='center' cellspacing='0' cellpadding='0'>";
		mensaje += "  <tr>";
		mensaje += "    <td class='td_sinDatos' height='100' align='center'>*** NO HAY INFORMACIÓN ***</td>";
		mensaje += "  </tr>";
		mensaje += "</table>";		
		mensaje += "<BR>";
		mensaje += "</logic:equal>";
		document.write(mensaje);
	}
}

// -------------------------------------------------------------------------------------
// INI: FUNCIONES DEL OBJETO LISTA HTML PADRE / HIJO
// -------------------------------------------------------------------------------------
function crearObjetoPadre( p_codigoPadre , p_listaHijo  )
{
	var objPadre = new Object();

	objPadre.codigoPadre = p_codigoPadre;
	objPadre.listaHijo   = p_listaHijo;

	return( objPadre );
}
function verListaObjetoPadre( p_vctListaObjetoPadre  )
{
	var objPadre = "";

	for( var i=0 ; i < p_vctListaObjetoPadre.length ; i++ )
	{
		objPadre = p_vctListaObjetoPadre[i];
		alert(objPadre + " Código Padre" + objPadre.codigoPadre + " Lista Hijo" + objPadre.listaHijo );
	}
}
function getStringListaHijo( p_vctPadre , p_codigo )
{
	var objPadre = "";
	var lista = "";

	for( var i=0 ; i < p_vctPadre.length ; i++ )
	{
		objPadre = p_vctPadre[i];

		if( objPadre.codigoPadre == p_codigo )
		{
			lista = objPadre.listaHijo;
		}
	}
	return(lista);
}
function crearListaObjetoPadre( p_vctListaPadre , p_vctListaHijo )
{
	var vctHijo  = "";
	var vctPadre = "";
	var h_codigoH= "";
	var h_codigoP= "";
	var h_nombreH= "";
	var codCompuesto="";
	var codigoPadre = "";
	var strListaHijo= "";
	var idxPadre = 0;
    var vctListaObjetos = new Array();


	// ini: recorrer lista Padre
	for( var j=0 ; j <  p_vctListaPadre.length ; j++ )
	{
		vctPadre = p_vctListaPadre[ j ].split("-"); // p_vctListaPadre: [codigoPadre-nombrePadre]
		codigoPadre = vctPadre[0]; 

		// ini: recorrer lista Hijo
		strListaHijo = "";
		for( var i=0 ; i < p_vctListaHijo.length ; i++ )
		{
			vctHijo= p_vctListaHijo[i].split("-"); // formato: [codigoPadre*codigoHijo-nombreHijo]

			codCompuesto = vctHijo[0].split("*"); // codPadre*codHijo
			h_nombreH    = vctHijo[1]; // nombreHijo

			h_codigoP = codCompuesto[0];
			h_codigoH = codCompuesto[1];

			if( codigoPadre == h_codigoP ){
				strListaHijo += h_codigoH + "-" + h_nombreH + ","; // Formato: codigoHijo-nombreHijo,codigoHijo-nombreHijo,...
			}
		}// fin: recorrer lista Hijo
		if( strListaHijo.length > 0 ){
		    strListaHijo = strListaHijo.substring(0,strListaHijo.length-1);
			vctListaObjetos[ idxPadre++ ] = crearObjetoPadre(codigoPadre,strListaHijo);
		}
	}// fin: recorrer lista Padre	

	return( vctListaObjetos );
}
// -------------------------------------------------------------------------------------
// INI: FUNCIONES DEL OBJETO LISTA HTML PADRE / HIJO
// -------------------------------------------------------------------------------------




// -------------------------------------------------------------------------------------
// INI: FUNCIONES DEL OBJETO LISTA HTML
// -------------------------------------------------------------------------------------
function option_eliminar( objLista )
{
    var idx = objLista.selectedIndex;
    
    if( objLista.options.length > 0 ){
        objLista.options[idx] = null;
    }else{
        obj.btnEli.disabled = true;
    }

    if( objLista.options.length == 0 ){
        obj.btnEli.disabled = true;
    }

    option_cantidad();
}
function option_agregar( objLista , texto , valor  )
{
    var n = objLista.options.length;  
    
    objLista.options[n] = new Option( texto , valor );

    //option_cantidad( objLista );
}
function option_cantidad( objLista )
{
    var n = objLista.options.length;  

    window.status = "";
    window.status = "cantidad:" + n ;
}
function agregar_elemento( objLista )
{
    var texto = obj.txt_tex.value;
    var valor = obj.txt_val.value;

    option_agregar( objLista , texto , valor );
}
function eliminarListaHTML( p_objListaHTML )
{
	p_objListaHTML.options.length = 0;
}
/* 
 * Función: agregarListaHTML( p_lista )
 *
 * FORMATO p_lista: 99-NOMBRE,99-NOMBRE, ...,99-NOMBRE
 *
 */
function agregarListaHTML( objLista , p_lista )
{  
	 var vector_lista="";
	 var n = "";
	 var elemento = "";
	 var texto = "";
	 var valor = "";

    if( p_lista.length > 0 )
    {
        vector_lista = p_lista.split(",");  // FORMATO : 99 - NOMBRE, 99-NOMBRE, ..., 99-NOMBRE
        n = vector_lista.length;
        for( var i = 0 ; i < n ; i++ )
        {
			elemento = vector_lista[i].split("-");
            valor = elemento[0];
            texto = elemento[1];
            option_agregar( objLista , texto , valor );
        }
    }    
}

// -------------------------------------------------------------------------------------
// FIN: FUNCIONES DEL OBJETO LISTA HTML
// -------------------------------------------------------------------------------------


function setEstadoCheckBox( objCheckBox , objText )
{
    if( objText.value == "SI" )
        objCheckBox.checked = true;
    else
        objCheckBox.checked = false;
}
function setEstadoCheckBoxConValorCeroUno( objCheckBox , objText)
{
    if( objText.value == "1" )
        objCheckBox.checked = true;
    else
        objCheckBox.checked = false;
}

