//Esta línea se borrará cuando empecemos a tratar el euro.
euro = false
contravalorEuro = 166.386
// Funcion que carga la nueva ayuda en un frame
function abreAyuda(paginaAyuda)
{ a = window.open("","ayuda","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=yes,width=400,height=250")
 // a = window.open('','a')
  a.document.clear();
  a.document.write("<html>")
  a.document.write("<frameset rows='80%,*' BORDER='0'>")
  a.document.write("<frame name='cabecera' src='/lfuerte/nuevaimagen/"+paginaAyuda+"' scrolling='auto' noresize marginwidth='0' >")
  a.document.write("<frame name='pie' src='/lfuerte/nuevaimagen/botoncerrar.htm' scrolling='no' marginwidth='0'>")
  a.document.write("</frameset>")
  a.document.write("</html>")
}

// Se le pasa un control caja de texto y pone su valor a mayúsculas
function ponMayusculas (objeto)
{ objeto.value = objeto.value.toUpperCase()
}

//comprueba que el objeto que se le pasa tiene caracteres numéricos
function validaNumerico(objeto)
{
	if (!esNumerico(objeto.value))
	{
		muestraMensaje(objeto,leerDato(18))
		window.status =leerDato(18);
		return(false);
	}
	else
	{
		window.status =""
		return(true);
	}
}

function esNumerico(valor)
{ var numeros = "0123456789";
  for (i = 0; i < valor.length ;i++)
  { if (numeros.indexOf(valor.substring(i,i+1),0) == -1)
      return(false);
  }
  return(true);
}


// Activa el primer campo del formulario que sea tipo text
function activaCampo1()
{ encontrado    = false;
  submitido      = false;
  for(var i=0;((!encontrado) && (i < document.formulario.elements.length));i++)
  {     if (document.formulario.elements[i].type == "text")
    { document.formulario.elements[i].focus()
      encontrado = true;
    }
  }
// Toma el nombre y la versión del navegador
        navegador       = navigator.appName.substring(0,3)
        versionNav  = navigator.appVersion.substring(0,3)
}

//comprueba que el objeto que se le pasa es numérico principalmente para importes
function validaNumero(objeto)
{       if (!euro)
                return(validaNumeroPeseta(objeto))
        else
                return(validaNumeroEuro(objeto))
}

//comprueba que el objeto que se le pasa tiene caracteres numéricos
// Función que se utilizará para los importes en pesetas
function validaNumeroPeseta(objeto)
{
	// Toma el nombre y la versión del navegador
	navegador = navigator.appName.substring(0,3)
	versionNav = navigator.appVersion.substring(0,3)
	
	if (!esNumerico(objeto.value))
	{ 
		muestraMensaje(objeto,leerDato(18));
		window.status =leerDato(18);
		return(false);
	}
	else
	{
		window.status =""
		return(true);
	}
}


//Comprueba que el valor del campo sea numérico
//Función que se utilizará para los importes en euros
function validaNumeroEuro(objeto)
{
// Toma el nombre y la versión del navegador
        navegador       = navigator.appName.substring(0,3)
        versionNav  = navigator.appVersion.substring(0,3)

        if (objeto.value =="")
                return(true)
        errorVer2 = false;
        objeto.value =  reemplazaComa(objeto.value)
        valorConPunto = objeto.value
        if (versionNav ==       "2.0")
        {       valor = new Number(parseFloat(valorConPunto))
                valorAlfa = rellenaConCerosDcha(valor.toString(),valorConPunto.length)
                if (valorAlfa != valorConPunto)
                        errorVer2 = true;
        }
        else
                valor = new Number(valorConPunto)
  if (isNaN(valor) || errorVer2)
        { 
                        muestraMensaje(objeto,leerDato(18));
                   window.status =leerDato(18);
                
    return(false);
  }
  else
  { window.status =""
                objeto.value = (Math.round(objeto.value*100))/100
        objeto.value =  reemplazaComa(objeto.value)
    return(true);
  }
}

// Reemplaza la coma por el punto
function reemplazaComa(cadena)
{ posSimbolo= cadena.indexOf(",")
  if (posSimbolo!=-1)
  {  cadena =  cadena.substring(0,posSimbolo) + '.' +
                                                         cadena.substring(posSimbolo + 1,cadena.length)
     if (posSimbolo==0)
        cadena = '0'+ cadena;
  }
  return(cadena);
}

// Comprueba que la fecha que se le pasa es correcta
function validaFecha(objeto)
{
// Toma el nombre y la versión del navegador
        navegador       = navigator.appName.substring(0,3)
        versionNav  = navigator.appVersion.substring(0,3)

        if (objeto.value == "")
                return(true)
        if (!validaCamposFecha(objeto))
        { if (castellano)
                {        muestraMensaje(objeto,mensaje)
                   window.status =mensaje;
                }
                else
                {        muestraMensaje(objeto,mensaje)
                 window.status =mensaje;
                }
    return(false);
  }
  else
  { window.status =""
    return(true);
  }
}

function validaCamposFecha(fecha)
{
	var litmes = new Array(12);
	{
		litmes[0] = leerDato(29);
		litmes[1] = leerDato(30);
		litmes[2] = leerDato(31);
		litmes[3] = leerDato(32);
		litmes[4] = leerDato(33);
		litmes[5] = leerDato(34);
		litmes[6] = leerDato(35);
		litmes[7] = leerDato(36);
		litmes[8] = leerDato(37);
		litmes[9] = leerDato(38);
		litmes[10] = leerDato(39);
		litmes[11] = leerDato(40);
	}
	
	var diames = new Array(12);
	{
		diames[0] = "31";
		diames[1] = "28";
        diames[2] = "31";
        diames[3] = "30";
        diames[4] = "31";
        diames[5] = "30";
        diames[6] = "31";
        diames[7] = "31";
        diames[8] = "30";
        diames[9] = "31";
        diames[10] = "30";
        diames[11] = "31";
	}
	
	var diaNum, mesNum, anoNum, ano4, ano4r;
	var sinBarras = false;
	
	if (fecha.value.substring(2,3) != '/' || fecha.value.substring(5,6) != '/')
		sinBarras = true;
		
	valorSinBarras = fecha.value.substring(0,2) + fecha.value.substring(3,5) + fecha.value.substring(6,10);
	
	if (!esNumerico(valorSinBarras) || valorSinBarras.length < 8 || sinBarras)
	{
		mensaje = leerDato(41);
		return(false)
	}
	
	dia = valorSinBarras.substring(0,2)
	mes = valorSinBarras.substring(2,4)
	ano = valorSinBarras.substring(4,8)
	
	diaNum = new Number(dia)
	mesNum = new Number(mes)
	anoNum = new Number(ano)
	
	if (diaNum < 1)
	{
		mensaje = leerDato(42);
		return(false)
    }
	if (mesNum < 1)
	{
		mensaje = leerDato(43);
		return(false)
    }
	if (mesNum > 12)
	{
		mensaje = leerDato(44);
		return(false)
    }
	if ((mes == '04' || mes == '06'  || mes == '09' || mes == '11') && diaNum > 30)
	{ 
		mensaje =litmes[mesNum-1] + leerDato(45);
        return(false)
    }
	if (mes == '02')
	{
		ano4r = new Number(Math.round(anoNum/4))
		ano4  = new Number(anoNum/4)
		if (ano4.toString() == ano4r.toString())
		{
			if (diaNum > 29)
			{       
				mensaje = leerDato(46);
				return(false)
			}
		}
		else
		{
			if (diaNum > 28)
			{
				mensaje = leerDato(47);
				return(false)
			}
		}
    }
	
	if (diaNum > 31)
	{
		mensaje = litmes[mesNum-1]+ leerDato(48);
		return(false)
    }
	return(true)
}

function muestraMensaje(objeto, mensaje)
{
// Toma el nombre y la versión del navegador
        navegador       = navigator.appName.substring(0,3)
        versionNav  = navigator.appVersion.substring(0,3)

  if((navegador == "Net" && submitido) || navegador != "Net")
                alert(mensaje)
  if (navegador == "Mic" && (versionNav == "4.0") || versionNav == "5.0")
                self.focus()
  else
  if  ((navegador == "Net" && submitido) || navegador != "Net" )
                objeto.focus()

        submitido = false;
        return(false)
}

function rellenaCampoI(valor,longitud,caracter)
{ largo = valor.length
  for(var i=0;i<(longitud-largo);i++)
    valor = caracter + valor;
    return (valor)
}

function validaNumericoInsertaCeros(objeto,longitud)
{ if (objeto.value !='')
  { if (validaNumerico(objeto))
    {   objeto.value = rellenaCampoI(objeto.value,longitud,'0')
      return(true);
    }
                else
      return(false);
  }
  return(true);
}

function validaFechasCrono(objDesde,objHasta)
{       desde = objDesde.value
        hasta = objHasta.value
        desdeA = desde.substring(6,10)+desde.substring(3,5)+desde.substring(0,2)
        hastaA = hasta.substring(6,10)+hasta.substring(3,5)+hasta.substring(0,2)
        if (desdeA > hastaA)
        {       
			mensaje = leerDato(49);
                
        muestraMensaje(objDesde, mensaje)
        return(false)
        }
        return(true)
}

function editaNumero(numero)
{ cadena1  = numero.toString()
  if (cadena1.substring(0,1) == '.')
    cadena1 = '0' + cadena1;
  else
  {  if (cadena1.substring(0,2) == '-.')
        cadena1 = '-0' + cadena1.substring(1,cadena1.length);
  }
  posPunto = cadena1.indexOf(".")
  if (posPunto == 0)
    cadena1 = '0' + cadena1
  if (posPunto == -1)
    decimal = ""
  else
  { decimal = ',' + cadena1.substring(posPunto + 1,cadena1.length)
    cadena1 = cadena1.substring(0,posPunto)
  }
  cadena1  = reverse(cadena1)
  cadena2  = ""
  cadena3  = ""
  for(var i=0;i < cadena1.length;i=i+3)
  { cadena2 = cadena2 + cadena1.substring(i,i+3)
    if (cadena2.length > 2)
    {  cadena2 = cadena2 + "."
      cadena3 = cadena3 + cadena2
      cadena2 = ""
    }
  }
  cadena3 = cadena3 + cadena2
  cadena3 = reverse(cadena3)
  if (cadena3.substring(0,1) == '-')
  { if (cadena3.substring(1,2) == '.')
      cadena3 = '-' + cadena3.substring(2,cadena3.length);
  }
  else
  { if (cadena3.substring(0,1) == '.')
      cadena3 = cadena3.substring(1,cadena3.length);
  }
  cadena3 = cadena3 + decimal
  return(cadena3)
}

function reverse(cadena)
{       cadenaReverse = ""
        for(var i=0;i<=cadena.length;i++)
                cadenaReverse +=  cadena.substring(cadena.length - i,cadena.length - i+1);
        return(cadenaReverse)
}

function rellenaConCerosDcha(valor,longitud)
{ largo = valor.length
  for(var i=0;i<(longitud-largo);i++)
    valor =  valor + '0';
  return (valor)
}


function rellenaConCeros(valor,longitud)
{ largo = valor.length
  for(var i=0;i<(longitud-largo);i++)
    valor = '0' + valor;
  return (valor)
}


function validaCantidades(minimo,maximo, mensaje)
{	min = new Number(minimo.value)
	max = new Number(maximo.value)

 if (min > max)
   {
      muestraMensaje(minimo,mensaje)
      return(false)
    }
 else
   return(true)
}

function decimales(Num, decimales)
{

    with (Math) {
        var aux = pow(10,decimales)
        var Resultado=(round(Num*aux))/aux;
    }
   return Resultado;
}

function Button(s) {
if ("INPUT"==event.srcElement.tagName)
event.srcElement.className=s
}

function valido_NIF(objeto)
{
  
  var valor = objeto.value;
  
  if ((valor == "") || (valor == null))
  {
    alert(leerDato(50));
    return false;
  }

  if (valor.length>9)
  {
    alert(leerDato(51));
    return false;
  }
 
  var letra = valor.charAt(valor.length - 1).toUpperCase();
  var NIF_letras = "TRWAGMYFPDXBNJZSQVHLCKEU";
  var DNI = parseInt(valor, 10);
  var pos = (parseInt(DNI) - Math.floor(parseInt(DNI)/23) * 23) + 1;
  var letra_correcta = NIF_letras.substring(pos - 1, pos);
 
  if (letra_correcta != letra)
  {
    alert(leerDato(52));
    return false;
  }
  
  return true;
}


//
function soloReemplazaComa(objeto){
	cadena=objeto.value;
	posSimbolo= cadena.indexOf(",")
	if (posSimbolo!=-1){
		cadena =  cadena.substring(0,posSimbolo) + '.' +
		cadena.substring(posSimbolo + 1,cadena.length)
		if (posSimbolo==0)
			cadena = '0'+ cadena;
	}
	objeto.value=cadena;
}
function hide_unhide(objeto_check,id_objeto_hide){
	if(objeto_check.type=="select-one"){
		if(objeto_check.options[objeto_check.selectedIndex].value==3)
			document.getElementById(id_objeto_hide).style.display="block";
		else
			document.getElementById(id_objeto_hide).style.display="none";
	}
	else if(objeto_check.type=="checkbox"){
		if(objeto_check.checked)
			document.getElementById(id_objeto_hide).style.display="block";
		else
			document.getElementById(id_objeto_hide).style.display="none";
	}
}
function checkear_global(todos,titulares,avalistas,primeros){
	if(todos==true){
		document.getElementById("todos_inicio").checked=true;
		document.getElementById("todos_final").checked=true;
	}
	else{
		document.getElementById("todos_inicio").checked=false;
		document.getElementById("todos_final").checked=false;
	}
	if(titulares==true){
		document.getElementById("titulares_inicio").checked=true;
		document.getElementById("titulares_final").checked=true;
	}
	else{
		document.getElementById("titulares_inicio").checked=false;
		document.getElementById("titulares_final").checked=false;
	}
	if(avalistas==true){
		document.getElementById("avalistas_inicio").checked=true;
		document.getElementById("avalistas_final").checked=true;
	}
	else{
		document.getElementById("avalistas_inicio").checked=false;
		document.getElementById("avalistas_final").checked=false;
	}
	if(primeros==true){
		document.getElementById("primeros_inicio").checked=true;
		document.getElementById("primeros_final").checked=true;
	}
	else{
		document.getElementById("primeros_inicio").checked=false;
		document.getElementById("primeros_final").checked=false;
	}
}
function formularioTodoNada(objeto){
	i=0;
	estado=0;
	encontrados_local=0;
	titulares_checkeados=parseInt(document.getElementById("titulares_checkeados").value);
	primeros_checkeados=parseInt(document.getElementById("primeros_checkeados").value);
	avalistas_checkeados=parseInt(document.getElementById("avalistas_checkeados").value);
	encontrados=parseInt(document.getElementById("encontrados").value);
	anterior="";
	// 0 -> No encontrado; 1-> Encontrado el primer hijo; 2->No hay más hijos
	while(i<document.frm.elements.length && estado<2){
		partes=document.frm.elements[i].name.split("_");
		if(partes[1]==objeto.value && (partes[0]=="titular" || partes[0]=="avalista")){
			if(partes[0]=="titular"){
				// SI HA CAMBIADO SU ESTADO PARA ESTAR CHECKEADO	 	SUMAMOS 1
				// SI HA CAMBIADO SU ESTADO PARA ESTAR NO CHECKEADO		RESTAMOS 1
				// SI NO HA CAMBIADO SU ESTADO							NO HACEMOS NADA
				if(document.frm.elements[i].checked!=document.getElementById("formulario_"+objeto.value).checked)
					document.getElementById("formulario_"+objeto.value).checked == true ? titulares_checkeados++ : titulares_checkeados--;
				if(anterior=="formulario" && document.frm.elements[i].checked!=document.getElementById("formulario_"+objeto.value).checked)
						document.getElementById("formulario_"+objeto.value).checked == true ? primeros_checkeados++ : primeros_checkeados--;
		
				document.frm.elements[i].checked=document.getElementById("formulario_"+objeto.value).checked;
				estado=1;
				encontrados_local++;
			}
			if(partes[0]=="avalista"){
				// SI HA CAMBIADO SU ESTADO PARA ESTAR CHECKEADO	 	SUMAMOS 1
				// SI HA CAMBIADO SU ESTADO PARA ESTAR NO CHECKEADO		RESTAMOS 1
				// SI NO HA CAMBIADO SU ESTADO							NO HACEMOS NADA
				if(document.frm.elements[i].checked!=document.getElementById("formulario_"+objeto.value).checked)
					document.getElementById("formulario_"+objeto.value).checked == true ? avalistas_checkeados++ : avalistas_checkeados--;

				document.frm.elements[i].checked=document.getElementById("formulario_"+objeto.value).checked;
				estado=1;
				encontrados_local++;
			}
		}
		else if(estado==1)
			estado++;
		i++;
		anterior=partes[0];
	}

	if(((titulares_checkeados+avalistas_checkeados)==encontrados) && (titulares_checkeados!=0)){
		checkear_global(true,true,true,true);
	}
	else{
		los_primeros=false;
		los_titulares=false;
		los_avalistas=false;
		if(primeros_encontrados==primeros_checkeados)
			los_primeros=true;
		if(titulares==titulares_checkeados)
			los_titulares=true;
		if(avalistas==avalistas_checkeados)
			los_avalistas==true;

		checkear_global(false,los_titulares,los_avalistas,los_primeros);
	}
	document.getElementById("titulares_checkeados").value=titulares_checkeados;
	document.getElementById("avalistas_checkeados").value=avalistas_checkeados;
	document.getElementById("primeros_checkeados").value=primeros_checkeados;
}
function todoFormularioNadaTotal(objeto){
	for(j=0;j<document.frm.elements.length;j++){
		partes=document.frm.elements[j].name.split("_");
		if(partes[0]=="formulario" || partes[0]=="titular" || partes[0]=="avalista")
			document.frm.elements[j].checked=objeto.checked;
	}
	if(objeto.checked==true){
		document.getElementById("titulares_checkeados").value=document.getElementById("titulares").value;
		document.getElementById("avalistas_checkeados").value=document.getElementById("avalistas").value;
		document.getElementById("primeros_checkeados").value=document.getElementById("primeros_encontrados").value;
		checkear_global(true,true,true,true);
	}
	else{
		document.getElementById("titulares_checkeados").value=0;
		document.getElementById("avalistas_checkeados").value=0;
		document.getElementById("primeros_checkeados").value=0;
		checkear_global(false,false,false,false);
	}
}
function hijosMarcDesmarc(objeto){
	i=0;
	estado=0;
	encontrados_local=0;
	checkeados_local=0;
	anterior="";
	titulares_checkeados=parseInt(document.getElementById("titulares_checkeados").value);
	titulares_encontrados=parseInt(document.getElementById("titulares").value);
	avalistas_checkeados=parseInt(document.getElementById("avalistas_checkeados").value);
	avalistas_encontrados=parseInt(document.getElementById("avalistas").value);
	primeros_checkeados=parseInt(document.getElementById("primeros_checkeados").value);
	primeros_encontrados=parseInt(document.getElementById("primeros_encontrados").value);
	encontrados=parseInt(document.getElementById("encontrados").value);
	// 0 -> No encontrado; 1-> Encontrado el primer hijo; 2->No hay más hijos
	partes_objeto=objeto.name.split("_");
	if(partes_objeto[0]=="titular")
		objeto.checked == true ? titulares_checkeados++ : titulares_checkeados--;
	else
		objeto.checked == true ? avalistas_checkeados++ : avalistas_checkeados--;	
	while(i<document.frm.elements.length && estado<2){
		partes=document.frm.elements[i].name.split("_");
		// SI ES UN HIJO Y COINCIDE EL NÚMERO DE FORMULARIO ES QUE ES UN HIJO DE ESE FORMULARIO --> ENCONTRADOS_LOCAL++
		if((partes[0]=="titular" || partes[0]=="avalista") && partes[1]==partes_objeto[1]){
			encontrados_local++;
			if(document.frm.elements[i].checked){
				checkeados_local++;
			}
			if(anterior=="formulario"){
				if(document.frm.elements[i]==document.getElementById(objeto.name) && partes_objeto[0]=="titular")
					document.frm.elements[i].checked == true ? primeros_checkeados++ : primeros_checkeados--;
			}
			estado=1;
		}
		else if(estado==1)
			estado++;
		i++;
		anterior=partes[0];
	}
	if((encontrados_local==checkeados_local) && (checkeados_local!=0))
		document.getElementById("formulario_"+partes_objeto[1]).checked=true;
	else
		document.getElementById("formulario_"+partes_objeto[1]).checked=false;
	if(((titulares_checkeados+avalistas_checkeados)==encontrados) && (titulares_checkeados!=0))
		checkear_global(true,true,true,true);
	else{
		los_titulares=false;
		los_avalistas=false;
		los_primeros=false;
		
		if(titulares_checkeados==titulares_encontrados && titulares_checkeados!=0)
			los_titulares=true;
		if(avalistas_checkeados==avalistas_encontrados && avalistas_checkeados!=0)
			los_avalistas=true;
		if(primeros_checkeados==primeros_encontrados && primeros_checkeados!=0)
			los_primeros=true;
		
		checkear_global(false,los_titulares,los_avalistas,los_primeros);
	}
	document.getElementById("titulares_checkeados").value=titulares_checkeados;
	document.getElementById("avalistas_checkeados").value=avalistas_checkeados;
	document.getElementById("primeros_checkeados").value=primeros_checkeados;
}
function primerosHijos(objeto){
	encontrados_local=0;
	checkeados_local=0;
	titulares_checkeados=parseInt(document.getElementById("titulares_checkeados").value);
	titulares_encontrados=parseInt(document.getElementById("titulares").value);
	avalistas_checkeados=parseInt(document.getElementById("avalistas_checkeados").value);
	avalistas_encontrados=parseInt(document.getElementById("avalistas").value);
	primeros_checkeados=parseInt(document.getElementById("primeros_checkeados").value);
	primeros_encontrados=parseInt(document.getElementById("primeros_encontrados").value);
	encontrados=parseInt(document.getElementById("encontrados").value);
	padre_local=0;
	for(j=0;j<document.frm.elements.length;j++){
		partes=document.frm.elements[j].name.split("_");
		if(partes[0]=="formulario"){
			if(padre_local!=0){
				if(encontrados_local==checkeados_local && encontrados_local!=0)
					document.getElementById("formulario_"+padre_local).checked=true;
				else
					document.getElementById("formulario_"+padre_local).checked=false;			
			}
			padre_local=partes[1];
			encontrados_local=0;
			checkeados_local=0;
		}
		else if(partes[0]=="titular"){
				if(encontrados_local==0){
					if(document.frm.elements[j].checked!=objeto.checked){
						document.frm.elements[j].checked=objeto.checked;
						document.frm.elements[j].checked == true ? primeros_checkeados++ : primeros_checkeados--;
						document.frm.elements[j].checked == true ? titulares_checkeados++ : titulares_checkeados--;
					}
				}
				if(document.frm.elements[j].checked==true)
					checkeados_local++;
				encontrados_local++;
			}
			else if(partes[0]=="primeros" && partes[1]=="final"){
					if(encontrados_local==checkeados_local && encontrados_local!=0)
						document.getElementById("formulario_"+padre_local).checked=true;
					else
						document.getElementById("formulario_"+padre_local).checked=false;
				}
	}
	if(((titulares_checkeados+avalistas_checkeados)==encontrados) && (titulares_checkeados!=0))
		checkear_global(true,true,true,true);
	else{
		los_titulares=false;
		los_avalistas=false;
		los_primeros=false;
		
		if(titulares_checkeados==titulares_encontrados && titulares_checkeados!=0)
			los_titulares=true;
		if(avalistas_checkeados==avalistas_encontrados && avalistas_checkeados!=0)
			los_avalistas=true;
		if(primeros_checkeados==primeros_encontrados && primeros_checkeados!=0)
			los_primeros=true;
		
		checkear_global(false,los_titulares,los_avalistas,los_primeros);
	}
	document.getElementById("titulares_checkeados").value=titulares_checkeados;
	document.getElementById("primeros_checkeados").value=primeros_checkeados;

}
function titularesHijos(objeto){
	encontrados_local=0;
	checkeados_local=0;
	padre_local=0;
	titulares_checkeados=parseInt(document.getElementById("titulares_checkeados").value);
	titulares_encontrados=parseInt(document.getElementById("titulares").value);
	avalistas_checkeados=parseInt(document.getElementById("avalistas_checkeados").value);
	avalistas_encontrados=parseInt(document.getElementById("avalistas").value);
	primeros_checkeados=parseInt(document.getElementById("primeros_checkeados").value);
	primeros_encontrados=parseInt(document.getElementById("primeros_encontrados").value);
	encontrados=parseInt(document.getElementById("encontrados").value);
	for(j=0;j<document.frm.elements.length;j++){
		partes=document.frm.elements[j].name.split("_");
		if(partes[0]=="formulario"){
			if(padre_local!=0){
				if(encontrados_local==checkeados_local && encontrados_local!=0)
					document.getElementById("formulario_"+padre_local).checked=true;
				else
					document.getElementById("formulario_"+padre_local).checked=false;			
			}
			padre_local=partes[1];
			encontrados_local=0;
			checkeados_local=0;
		}
		else if(partes[0]=="titular" || partes[0]=="avalista"){
				// SI ES UN TITULAR LO MARCAMOS
				if(partes[0]=="titular"){
					if(document.frm.elements[j].checked!=objeto.checked){
						//SI CAMBIA EL ESTADO TENEMOS QUE ACTUALIZAR titulares_checkeados Y primeros_checkeados
						if(document.frm.elements[j].checked!=objeto.checked){				
							// SI ENCONTRADOS_LOCAL ES 0 ES QUE ES EL PRIMER TITULAR
							if(encontrados_local==0){
								objeto.checked == true ? primeros_checkeados++ : primeros_checkeados--;
								objeto.checked == true ? titulares_checkeados++ : titulares_checkeados--;
							}
							else
								objeto.checked == true ? titulares_checkeados++ : titulares_checkeados--;						
						}
					}
					// ASIGNAMOS EL VALOR
					document.frm.elements[j].checked=objeto.checked;
				}
				// INDEPENDIENTEMENTE DE SI ES TITULAR O AVALISTA MIRAMOS SI ESTÁ CHECKEADO Y LO CONTAMOS COMO ENCONTRADO
				if(document.frm.elements[j].checked==true)
					checkeados_local++;
				encontrados_local++;
			}
			else if(partes[0]=="primeros" && partes[1]=="final"){
					if(encontrados_local==checkeados_local && encontrados_local!=0)
						document.getElementById("formulario_"+padre_local).checked=true;
					else
						document.getElementById("formulario_"+padre_local).checked=false;
				}
	}
	if(((titulares_checkeados+avalistas_checkeados)==encontrados) && (titulares_checkeados!=0))
		checkear_global(true,true,true,true);
	else{
		los_titulares=false;
		los_avalistas=false;
		los_primeros=false;
		
		if(titulares_checkeados==titulares_encontrados && titulares_checkeados!=0)
			los_titulares=true;
		if(avalistas_checkeados==avalistas_encontrados && avalistas_checkeados!=0)
			los_avalistas=true;
		if(primeros_checkeados==primeros_encontrados && primeros_checkeados!=0)
			los_primeros=true;
		
		checkear_global(false,los_titulares,los_avalistas,los_primeros);
	}
	document.getElementById("titulares_checkeados").value=titulares_checkeados;
	document.getElementById("primeros_checkeados").value=primeros_checkeados;
}
function avalistasHijos(objeto){
	encontrados_local=0;
	checkeados_local=0;
	padre_local=0;
	titulares_checkeados=parseInt(document.getElementById("titulares_checkeados").value);
	titulares_encontrados=parseInt(document.getElementById("titulares").value);
	avalistas_checkeados=parseInt(document.getElementById("avalistas_checkeados").value);
	avalistas_encontrados=parseInt(document.getElementById("avalistas").value);
	primeros_checkeados=parseInt(document.getElementById("primeros_checkeados").value);
	primeros_encontrados=parseInt(document.getElementById("primeros_encontrados").value);
	encontrados=parseInt(document.getElementById("encontrados").value);
	for(j=0;j<document.frm.elements.length;j++){
		partes=document.frm.elements[j].name.split("_");
		if(partes[0]=="formulario"){
			if(padre_local!=0){
				if(encontrados_local==checkeados_local && encontrados_local!=0)
					document.getElementById("formulario_"+padre_local).checked=true;
				else
					document.getElementById("formulario_"+padre_local).checked=false;			
			}
			padre_local=partes[1];
			encontrados_local=0;
			checkeados_local=0;
		}
		else if(partes[0]=="avalista" || partes[0]=="titular"){
				//SI ES UN AVALISTA LO MARCAMOS
				if(partes[0]=="avalista"){
					if(document.frm.elements[j].checked!=objeto.checked){
						//SI CAMBIA EL ESTADO TENEMOS QUE ACTUALIZAR titulares_checkeados Y primeros_checkeados
						if(document.frm.elements[j].checked!=objeto.checked){				
							objeto.checked == true ? avalistas_checkeados++ : avalistas_checkeados--;
						}
					}
					// ASIGNAMOS EL VALOR
					document.frm.elements[j].checked=objeto.checked;
				}
				// INDEPENDIENTEMENTE DE SI ES TITULAR O AVALISTA MIRAMOS SI ESTÁ CHECKEADO Y LO CONTAMOS COMO ENCONTRADO
				if(document.frm.elements[j].checked==true)
					checkeados_local++;
				encontrados_local++;
			}
			else if(partes[0]=="primeros" && partes[1]=="final"){
					if(encontrados_local==checkeados_local && checkeados_local!=0)
						document.getElementById("formulario_"+padre_local).checked=true;
					else
						document.getElementById("formulario_"+padre_local).checked=false;
				}
	}
	if(((titulares_checkeados+avalistas_checkeados)==encontrados) && (titulares_checkeados!=0))
		checkear_global(true,true,true,true);
	else{
		los_titulares=false;
		los_avalistas=false;
		los_primeros=false;
		
		if(titulares_checkeados==titulares_encontrados && titulares_checkeados!=0)
			los_titulares=true;
		if(avalistas_checkeados==avalistas_encontrados && avalistas_checkeados!=0)
			los_avalistas=true;
		if(primeros_checkeados==primeros_encontrados && primeros_checkeados!=0)
			los_primeros=true;
		
		checkear_global(false,los_titulares,los_avalistas,los_primeros);
	}
	document.getElementById("avalistas_checkeados").value=avalistas_checkeados;
}
