
/**-----------------------------------------------------------------------
Implementación de de Funciones que validan los campos del formulario 
de Evaluacion Programa Microempresario. 
-------------------------------------------------------------------------*/
/*
-----------------------------------------------------------------------------
Conjunto de funciones que se utilizaran en cada validaci?n seg?n corresponda.
@author Camilo Torres Letelier / Christian Moraga Roldan - Novared S.A.
-----------------------------------------------------------------------------
*/


function valida_telefono(form) {
    cod1 = form.codigo_area.value.length;
    fono = form.fono.value.length;
    cod2 = form.codigo_celular.value.length;
    celu = form.celular.value.length;
    if (cod1 === 0 && fono === 0 && cod2 === 0 && celu === 0) {
        alert("Ingrese al menos un n\xfamero telef\xf3nico (c\xf3digo + n\xfamero)");
        form.codigo_area.focus();
        return false;
    }
    if ((cod1 === 0 && fono !== 0) || (cod1 !== 0 && fono === 0)) {
        alert("Ingrese c\xf3digo + n\xfamero telef\xf3nico");
        form.codigo_area.focus();
        return false;
    }
    if ((cod2 === 0 && celu !== 0) || (cod2 !== 0 && celu === 0)) {
        alert("Ingrese c\xf3digo + n\xfamero telef\xf3nico");
        form.codigo_celular.focus();
        return false;
    }
    if (cod1 > 0 && fono > 0) {
        if ((!esNumero(form.codigo_area.value) && cod1 > 0) || (!esNumero(form.fono.value) && fono > 0)) {
            alert("Ingrese un n\xfamero telef\xf3nico v\xe1lido");
            form.codigo_area.focus();
            return false;
        }
        if(fono<6){
        	alert("Ingrese un n\xfamero telef\xf3nico v\xe1lido");
            form.fono.focus();
            return false;
        }
        if(cod1<2){
        	alert("Ingrese un n\xfamero telef\xf3nico v\xe1lido");
            form.codigo_area.focus();
            return false;
        }
    }
    if (cod2 > 0 && celu > 0) {
        if ((!esNumero(form.codigo_celular.value) && cod2 > 0) || (!esNumero(form.celular.value) && celu > 0)) {
            alert("Ingrese un n\xfamero telef\xf3nico v\xe1lido");
            form.codigo_celular.focus();
            return false;
        }
        if(celu<7){
        	alert("Ingrese un n\xfamero telef\xf3nico v\xe1lido");
            form.celular.focus();
            return false;
        }
    }
    return true;
}
/**-------------------------------------------------------------------
FUNCION QUE INTEGRA TODAS LAS VALIDACIONES PARA LOS FORMULARIOS
-------------------------------------------------------------------*/
function valida(F) {
	
    var s = "";
    var f = eval(parametro());
    try {
    	if (parametro() == "F9") {
			if (esta("monto_solicitado", f)) {
			    montoMinimo = F.montoMinimo.value;
			    if ((esVacio(F.monto_solicitado.value) && obligatorio("monto_solicitado", f)) || (!esNumero(F.monto_solicitado) && F.monto_solicitado.value.length > 0)
			    	|| (esNumero(F.monto_solicitado) && F.monto_solicitado.value*1 < F.montoMinimo.value*1 )
			    ) {
			        alert("Debe ingresar un Monto V\xe1lido (superior o igual a $"+montoMinimo+")");
			        F.monto_solicitado.focus();
			        return false;
			    }
			}
	        
			if (esta("numero_cuotas", f)) {
			     if (obligatorio("numero_cuotas", f)) {
			         if (F.numero_cuotas.selectedIndex < 1) {
			             alert("Debe seleccionar N\xfamero de Cuotas");
			             F.numero_cuotas.focus();
			             return false;
			         }
			     }
			}
			 
			if (esta("oficina_gnp", f)) {
			     if (obligatorio("oficina_gnp", f)) {
			         if (F.oficina.selectedIndex < 1) {
			             alert("Debe seleccionar Oficina");
			             F.oficina_gnp.focus();
			             return false;
			         }
			     }
			 }
			 			 
			 return true;    	
    	}
    
        if (parametro() == "F5") { //para ejecutar primero, por orden de campos en formulario
        /*  if (esta("nombre_empresa", f)) { // original
                if (esVacio(F.nombre_empresa.value) || !esAlfaNumeroEspacio(F.nombre_empresa.value)) {
                    if( (!esAlfaNumeroEspacio(F.nombre_empresa.value) && F.nombre_empresa.value.length > 0) ||
                    	(esAlfaNumeroEspacio(F.nombre_empresa.value) && F.nombre_empresa.value.length < 2)
                    ){
                        s = " V\xe1lido";
                    }
                    if (s.length > 0 || obligatorio("nombre_empresa", f)) {
                        alert("Debe ingresar un Nombre de Empresa" + s);
                        F.nombre_empresa.focus();
                        return false;
                    }
                } //fin IF
            }*/
            if (esta("nombre_empresa", f)) { // reemplazo
            	if (esVacio(F.nombre_empresa.value)) {
                    if(trim(F.nombre_empresa.value).length < 2){
                        s = " V\xe1lido";
                    }
                    if (s.length > 0 || obligatorio("nombre_empresa", f)) {
                        alert("Debe ingresar un Nombre de Empresa" + s);
                        F.nombre_empresa.focus();
                        return false;
                    }
                } //fin IF
            }
            if (esta("rut_empresa", f)) {	
	//valida campo rut 
                if ((esVacio(F.rut_empresa.value) && obligatorio("rut_empresa", f)) || !valida_rut(F.rut_empresa)) {
                    alert("Debe ingresar un RUT de Empresa V\xe1lido");
                    F.rut_empresa.focus();
                    return false;
                } //fin IF
 	//fin IF
            }
            if (esta("contacto", f)) {
            	if ((!esAlfaNumeroEspacio(F.contacto.value) && F.contacto.value.length > 0) ||
            		(esAlfaNumeroEspacio(F.contacto.value) && F.contacto.value.length <2 )
            	){
                        s = " V\xe1lido";
                    }
                if ((obligatorio("contacto", f) && F.contacto.value.length < 1) || s.length>0) {
                    alert("Debe ingresar Contacto"+s);
                    F.contacto.focus();
                    return false;
                }
            }
            if (esta("cargo", f)) {
            	if ((!esAlfaNumeroEspacio(F.cargo.value) && F.cargo.value.length > 0)||
            		(esAlfaNumeroEspacio(F.cargo.value) && F.cargo.value.length <2)
            	) {
                        s = " V\xe1lido";
                    }
                if ((obligatorio("cargo", f) && F.cargo.value.length < 1) || s.length>0) {
                    alert("Debe ingresar Cargo"+s);
                    F.cargo.focus();
                    return false;
                }
            }
        }
//valida campo esVacio nombre 
        if (esta("nombre", f)) {
            if (esVacio(F.nombre.value) || !esAlfa(F.nombre.value)) {
                if ((!esAlfa(F.nombre.value) && F.nombre.value.length > 0)||
                	(esAlfa(F.nombre.value) && F.nombre.value.length <2)
                ) {
                    s = " V\xe1lido";
                }
                if (s.length > 0 || obligatorio("nombre", f)) {
                    alert("Debe ingresar un Nombre" + s);
                    F.nombre.focus();
                    return false;
                }
            } //fin IF
        }
        if (esta("apellido_paterno", f)) {	
//valida campo esVacio apellido paterno  
            if (esVacio(F.apellido_paterno.value) || !esAlfa(F.apellido_paterno.value)) {
                if ((!esAlfa(F.apellido_paterno.value) && F.apellido_paterno.value.length > 0)||
                	(esAlfa(F.apellido_paterno.value) && F.apellido_paterno.value.length <2)
                ) {
                    s = " V\xe1lido";
                }
                if (s.length > 0 || obligatorio("apellido_paterno", f)) {
                    alert("Debe ingresar un Apellido Paterno" + s);
                    F.apellido_paterno.focus();
                    return false;
                }
            } //fin IF
        }
        if (esta("apellido_materno", f)) {		
//valida campo esVacio apellido materno 
            if (esVacio(F.apellido_materno.value) || !esAlfa(F.apellido_materno.value)) {
                if ((!esAlfa(F.apellido_materno.value) && F.apellido_materno.value.length > 0)||
                	(esAlfa(F.apellido_materno.value) && F.apellido_materno.value.length <2)
                ) {
                    s = " V\xe1lido";
                }
                if (s.length > 0 || obligatorio("apellido_materno", f)) {
                    alert("Debe ingresar un Apellido Materno" + s);
                    F.apellido_materno.focus();
                    return false;
                }
            } //fin IF
        }
        if (esta("rut", f)) {	
//valida campo rut 
            if ((esVacio(F.rut.value) && obligatorio("rut", f)) || !valida_rut(F.rut)) {
                alert("Debe ingresar un RUT V\xe1lido");
                F.rut.focus();
                return false;
            } //fin IF
 //fin IF
        }
        if (parametro() == "F7") { //para validar en orden los campos de F7
            if (esta("fecha_nac_dia", f)) {
                var dia = $("fecha_nac_dia").selectedIndex;
                var mes = $("fecha_nac_mes").selectedIndex;
                var anno = F.fecha_nac_anno.value;
                if (dia > 0 && mes > 0 && anno.length > 0 && (!esFecha(dia, mes, anno) || !esNumero(anno) || (anno<1900 || anno>1990))) {
                    s = " V\xe1lida";
                }
                if ((obligatorio("fecha_nac_dia", f) && (!esFecha(dia, mes, anno)||!esNumero(anno) )) || !esVacio(s)) {
                    alert("Debe ingresar Fecha de Nacimiento" + s);
                    $("fecha_nac_dia").focus();
                    return false;
                }
            }
            if (esta("sexo", f)) {
                if (obligatorio("sexo", f)) {
                    if (!F.sexo[0].checked && !F.sexo[1].checked) {
                        alert("Debe ingresar Sexo");
                        F.sexo[0].focus();
                    //alert(F.sexo[0].value);
                        return false;
                    }
                }
            }
            if (esta("estado_civil", f)) {
                if (obligatorio("estado_civil", f)) {
                    if ($("estado_civil").selectedIndex < 1) {
                        alert("Debe ingresar Estado Civil");
                        $("estado_civil").focus();
                        return false;
                    }
                }
            }
            
            //validacion de RUT repetidos comparara por orden de ingreso
            var array = new Array();
            i = 0;
            array[i++] = $("rut").value;
            while (i <= 7) {
            	name = 'rut_benef'+i;
            	//alert(name+" es "+$(name));
	            array[i++] = $(name).value;
            }
            for (var z=1; z<array.length; z++) {
            	//alert('rut['+z+']='+array[z]);
           	 if (array[z] !== '') {
            	for (var y=0; y<z; y++) {
            	 if (array[z] == array[y]) {
            	  alert('Rut beneficiario '+z+' ya esta ingresado, favor corregir');
            	  eval("F.rut_benef"+z).select();
            	  return false;
            	 }
            	}
             }
            }
        }
        if (esta("fono", f)) {	
//valida ingreso de al menos 1 n?mero telef?nico
            if (valida_telefono(F) === false) {
                return false;
            }
        }
        if (esta("mail", f)) {	
//valida campo esVacio mail
            if ((esVacio(F.mail.value) && obligatorio("mail", f)) || (!valida_mail(F.mail.value) && (F.mail.value.length>0))) {
                alert("Debe ingresar un e-mail v\xe1lido");
                F.mail.focus();
                return false;
            }//fin else
        }
        if (parametro() != "F7") {
            if (esta("fecha_nac_dia", f)) {
                var dia = $("fecha_nac_dia").selectedIndex;
                var mes = $("fecha_nac_mes").selectedIndex;
                var anno = F.fecha_nac_anno.value;
                if (dia > 0 && mes > 0 && anno.length > 0 && (!esFecha(dia, mes, anno) || !esNumero(anno) || (anno<1900 || anno>1990))) {
                    s = " V\xe1lida";
                }
                if ((obligatorio("fecha_nac_dia", f) && (!esFecha(dia, mes, anno)||!esNumero(anno) )) || !esVacio(s)) {
                    alert("Debe ingresar Fecha de Nacimiento" + s);
                    $("fecha_nac_dia").focus();
                    return false;
                }
            }
            if (esta("sexo", f)) {
                if (obligatorio("sexo", f)) {
                    if (!F.sexo[0].checked && !F.sexo[1].checked) {
                        alert("Debe ingresar Sexo");
                        F.sexo[0].focus();
                    //alert(F.sexo[0].value);
                        return false;
                    }
                }
            }
            if (esta("estado_civil", f)) {
                if (obligatorio("estado_civil", f)) {
                    if ($("estado_civil").selectedIndex < 1) {
                        alert("Debe ingresar Estado Civil");
                        $("estado_civil").focus();
                        return false;
                    }
                }
            }
        }
        if (parametro() != "F5") {
       
       /*  if (esta("nombre_empresa", f)) { // original
                if (esVacio(F.nombre_empresa.value) || !esAlfaNumeroEspacio(F.nombre_empresa.value)) {
                    if ((!esAlfaNumeroEspacio(F.nombre_empresa.value) && F.nombre_empresa.value.length > 0)|| 
                    	(esAlfaNumeroEspacio(F.nombre_empresa.value) && F.nombre_empresa.value.length <2)
                    ) {
                        s = " V\xe1lido";
                    }
                    if (s.length > 0 || obligatorio("nombre_empresa", f)) {
                        alert("Debe ingresar un Nombre de Empresa" + s);
                        F.nombre_empresa.focus();
                        return false;
                    }
                } //fin IF
            } */
         	if (esta("nombre_empresa", f)) { // reemplazo
            	if (esVacio(F.nombre_empresa.value)) {
                    if(trim(F.nombre_empresa.value).length < 2){
                        s = " V\xe1lido";
                    }
                    if (s.length > 0 || obligatorio("nombre_empresa", f)) {
                        alert("Debe ingresar un Nombre de Empresa" + s);
                        F.nombre_empresa.focus();
                        return false;
                    }
                } //fin IF
            }
            if (esta("rut_empresa", f)) {	
	//valida campo rut 
                if ((esVacio(F.rut_empresa.value) && obligatorio("rut_empresa", f)) || !valida_rut(F.rut_empresa)) {
                    alert("Debe ingresar un RUT de Empresa V\xe1lido");
                    F.rut_empresa.focus();
                    return false;
                } //fin IF
 	//fin IF
            }
            if (esta("contacto", f)) {
            	if ((!esAlfaNumeroEspacio(F.contacto.value) && F.contacto.value.length > 0)|| 
            		(esAlfaNumeroEspacio(F.contacto.value) && F.contacto.value.length <2)
            	){
                        s = " V\xe1lido";
                    }
                if ((obligatorio("contacto", f) && F.contacto.value.length < 1)|| s.length>0) {
                    alert("Debe ingresar Contacto"+s);
                    F.contacto.focus();
                    return false;
                }
            }
            if (esta("cargo", f)) {
            	if ((!esAlfaNumeroEspacio(F.cargo.value) && F.cargo.value.length > 0)|| 
            		(esAlfaNumeroEspacio(F.cargo.value) && F.cargo.value.length <2)
            	){
                        s = " V\xe1lido";
                    }
                if ((obligatorio("cargo", f) && F.cargo.value.length < 1)||s.length>0) {
                    alert("Debe ingresar Cargo"+s);
                    F.cargo.focus();
                    return false;
                }
            }
        }
        if (esta("direccion", f)) {
        	if ((!esAlfaNumeroEspacioPunto(F.direccion.value) && F.direccion.value.length > 0)|| 
        		(esAlfaNumeroEspacioPunto(F.direccion.value) && F.direccion.value.length <2)
        	) {
                        s = " V\xe1lida";
             }
            if ((obligatorio("direccion", f) && F.direccion.value.length < 1)||s.length>0) {
                alert("Debe ingresar Direcci\xf3n"+s);
                F.direccion.focus();
                return false;
            }
        }

        if (esta("comuna", f)) {
        	if (obligatorio("comuna", f)) {		
				if (F.comuna.value == -1) {
	                alert("Debe seleccionar su Comuna");
	                F.comuna.focus();
	                
	                return false;			
				}
			}
			
			if (F.comuna.value != -1) {
				F.comunaTexto.value = F.comuna.options[F.comuna.selectedIndex].text;
				
				if (F.ciudadTexto.value == "") {
					F.comuna.value = -1;
					F.comunaTexto.value = "";
				
	                alert("Su Ciudad no pudo ser obtenida. Por favor, seleccione nuevamente su Comuna");
	                F.comuna.focus();
	                
	                return false;
				}				
			} else {
				F.comunaTexto.value = "";
				F.ciudadTexto.value = "";
			}
        }

        if (esta("empresa_actual", f)) {
        	if ((!esAlfaNumeroEspacio(F.empresa_actual.value) && F.empresa_actual.value.length > 0)|| 
        		(esAlfaNumeroEspacio(F.empresa_actual.value) && F.empresa_actual.value.length <2)
        	) {
                        s = " V\xe1lida";
             }
            if ((obligatorio("empresa_actual", f) && F.empresa_actual.value.length < 1)||s.length>0) {
                alert("Debe ingresar Empresa Actual"+s);
                F.empresa_actual.focus();
                return false;
            }
        }
        
         if (esta("monto_solicitado", f)) {
            montoMinimo = F.montoMinimo.value;
         //   window.alert("F.montoMinimo.value: " + F.montoMinimo.value + " / F.monto_solicitado.value: " + F.monto_solicitado.value);
            if ((esVacio(F.monto_solicitado.value) && obligatorio("monto_solicitado", f)) || (!esNumero(F.monto_solicitado) && F.monto_solicitado.value.length > 0)
            	|| (esNumero(F.monto_solicitado) && F.monto_solicitado.value*1 < F.montoMinimo.value*1 )
            ) {
                alert("Debe ingresar un Monto V\xe1lido (superior o igual a $"+montoMinimo+")");
                F.monto_solicitado.focus();
                return false;
            }
        }
       if (esta("numero_cuotas", f)) {
            if (obligatorio("numero_cuotas", f)) {
                if (F.numero_cuotas.selectedIndex < 1) {
                    alert("Debe seleccionar N\xfamero de Cuotas");
                    F.numero_cuotas.focus();
                    return false;
                }
            }
        }
        
		//valida tipo de dato
        if (esta("fono_empresa", f)) {
            if ((esVacio($("fono_empresa").value) && obligatorio("fono_empresa", f)) || (!esNumero($("fono_empresa")) && $("fono_empresa").value.length > 0)) {
                alert("Debe ingresar un Tel?fono de Empresa V\xe1lido");
                $("fono_empresa").focus();
                return false;
            }
        }
        if (esta("mail_empresa", f)) {
            if ((esVacio(F.mail_empresa.value) && obligatorio("mail_empresa", f)) || (valida_mail(F.mail_empresa.value) === false && !esVacio(F.mail_empresa.value))) {
                alert("Debe ingresar un E-mail de Empresa v\xe1lido");
                F.mail_empresa.focus();
                return false;
            }//fin else
        }
        if (esta("afp", f)) {
        	if (F.afp.selectedIndex < 1) {
        		alert("Debe ingresar una AFP");
        		
                $("afp").focus();
                return false;        		
        	}

			/*        	
            if (true) {
                if ((!esAlfaNumeroEspacio($("afp").value) && $("afp").value.length > 0)|| 
                	(esAlfaNumeroEspacio($("afp").value) && $("afp").value.length <2)
                ){
                    s = " V\xe1lida";
                }
                if (s.length > 0 || (obligatorio("afp", f) && esVacio($("afp").value))) {
                    alert("Debe ingresar una AFP" + s);
                    $("afp").focus();
                    return false;
                }
            } //fin IF
            */
        }
        if (esta("isapre", f)) {
        	if (F.isapre.selectedIndex < 1) {
        		alert("Debe ingresar una isapre");
        		
                $("isapre").focus();
                return false;        		
        	}
        	        
        	/*
            if (true) {
                if ((!esAlfaNumeroEspacio($("isapre").value) && $("isapre").value.length > 0)|| 
                	(esAlfaNumeroEspacio($("isapre").value) && $("isapre").value.length <2)
                ){
                    s = " V\xe1lida";
                }
                if (s.length > 0 || (obligatorio("isapre", f)&&esVacio($("isapre").value))) {
                    alert("Debe ingresar una Isapre" + s);
                    $("isapre").focus();
                    return false;
                }
            } //fin IF
            */
        }
        if (esta("renta_actual", f)) {
            if ((esVacio($("renta_actual").value) && obligatorio("renta_actual", f)) || (!esNumero($("renta_actual")) && $("renta_actual").value.length > 0)
            	|| (esNumero($("renta_actual")) && $("renta_actual").value.length <3)
            ) {
                alert("Debe ingresar Renta Actual V\xe1lida");
                $("renta_actual").focus();
                return false;
            }
        }
        if (esta("renta_promedio", f)) {
            if ((esVacio($("renta_promedio").value) && obligatorio("renta_promedio", f)) || (!esNumero($("renta_promedio")) && $("renta_promedio").value.length > 0)
            	|| (esNumero($("renta_promedio")) && $("renta_promedio").value.length <3)
            ) {
                alert("Debe ingresar Renta Promedio V\xe1lida");
                $("renta_promedio").focus();
                return false;
            }
        }
        if (esta("periodo_sin_cotizar", f)) {
            if ( (obligatorio("periodo_sin_cotizar", f)) && (!esNumero($("periodo_sin_cotizar")) && $("periodo_sin_cotizar").value.length > 0)) {
                alert("Debe ingresar Periodo sin Cotizar V\xe1lido");
                $("periodo_sin_cotizar").focus();
                return false;
            }
        }
        if (esta("tipo_pension", f)) {
            if (obligatorio("tipo_pension", f)) {
                if ($("tipo_pension").selectedIndex < 1) {
                    alert("Debe ingresar Tipo de Pensi\xf3n");
                    $("tipo_pension").focus();
                    return false;
                }
            }
            
            if (F.tipo_pension.selectedIndex >= 1) {
            	F.tipo_pensionTexto.value = F.tipo_pension.options[F.tipo_pension.selectedIndex].text;
            } else {
            	F.tipo_pensionTexto.value = "";
            }
        }
        if (esta("vejez_anticipada", f)) {
            if (obligatorio("vejez_anticipada", f) && $("vejez_anticipada").disabled=="") {
                if ($("vejez_anticipada").selectedIndex < 1) {
                    alert("Debe ingresar Presentaci\xf3n de Vejez Anticipada");
                    $("vejez_anticipada").focus();
                    return false;
                }
            }
            
            if (F.vejez_anticipada.selectedIndex >= 1) {
            	F.vejez_anticipadaTexto.value = F.vejez_anticipada.options[F.vejez_anticipada.selectedIndex].text;
            } else {
            	F.vejez_anticipadaTexto.value = "";
            }            
        }
        if (esta("cantidad_beneficiarios", f)) {
            if (!validaBeneficiarios($("cantidad_beneficiarios").value)) {
                return false;
            }
        }

        if (esta("dia_visita", f)) {
            dia = $("dia_visita").selectedIndex;
            mes = $("mes_visita").selectedIndex;
            anno = F.anno_visita.value;
            
            var ingresoFechaParcial = dia > 0 || mes > 0 || anno.length > 0;
            var ingresoFecha = dia > 0 && mes > 0 && anno.length > 0;
            var fechaOK = ingresoFecha && esNumero(anno) && esFecha(dia, mes, anno);

            if (ingresoFechaParcial && !fechaOK) {
                alert("Fecha Estimada de Visita Inválida. Por favor corríjala");
                $("dia_visita").focus();
                
                return false;
            }

            if (obligatorio("dia_visita", f)) {
                if (!fechaOK) {
                    alert("Fecha Estimada de Visita Inválida. Por favor corríjala");
                    $("dia_visita").focus();
                
                    return false;
                }
            }

            /*
             * Fecha debe ser posterior a hoy.
             */
	    if (fechaOK) {
                var now = new Date();
                var fechaPosterior;
            
                if (anno < now.getYear()) {
                    fechaPosterior = false;
                } else if (anno == now.getYear()) {
                    if ((mes - 1) < now.getMonth()) {
                        fechaPosterior = false;
                    } else if ((mes - 1) == now.getMonth()) {
                        fechaPosterior = dia > now.getDate();
                    } else {
                        fechaPosterior = true;
                    }
                } else {
                    fechaPosterior = true;
                }

                if (!fechaPosterior) {
            	    alert("La Fecha Estimada de Visita debe ser posterior a Hoy. Por favor corríjala");
            	    
            	    return false;
                }
            }
        }

        if (esta("fecha_cartola_dia", f)) {
           dia = $("fecha_cartola_dia").selectedIndex;
           mes = $("fecha_cartola_mes").selectedIndex;
            anno = F.dummy_anno.value;
            if (dia > 0 && mes > 0 && anno.length > 0 && !esFecha(dia, mes, anno)) {
                s = " V\xe1lida";
            }
            if ((obligatorio("fecha_cartola_dia", f) && !esFecha(dia, mes, anno)) || !esVacio(s)) {
                alert("Debe ingresar Fecha de Cartola AFP" + s);
                $("fecha_cartola_dia").focus();
                return false;
            }
        }
        if (esta("fecha_bono_dia", f)) {
            dia = $("fecha_bono_dia").selectedIndex;
            mes = $("fecha_bono_mes").selectedIndex;
            anno = F.dummy_anno.value;
            if (dia > 0 && mes > 0 && anno.length > 0 && !esFecha(dia, mes, anno)) {
                s = " V\xe1lida";
            }
            if ((obligatorio("fecha_bono_dia", f) && !esFecha(dia, mes, anno)) || !esVacio(s)) {
                alert("Debe ingresar Fecha de Emisi\xf3n Bono AFP" + s);
                $("fecha_bono_dia").focus();
                return false;
            }
        }
        if (esta("bono_nominal", f)) {
            if (!esNumero(F.bono_nominal.value) ||
            	(esNumero(F.bono_nominal.value) && F.bono_nominal.value.length <3)
             ) {
                s = " V\xe1lido";
            }
            if ((obligatorio("bono_nominal", f) && F.bono_nominal.value.length < 1) || !esVacio(s)) {
                alert("Debe ingresar Bono Nominal" + s);
                F.bono_nominal.focus();
                return false;
            }
        }
        if (esta("bono_actualizado", f)) {
            if (!esNumero(F.bono_actualizado.value) ||
            	(esNumero(F.bono_actualizado.value) && F.bono_actualizado.value.length<3)
            ) {
                s = " V\xe1lido";
            }
            if ((obligatorio("bono_actualizado", f) && F.bono_actualizado.value.length < 1) || !esVacio(s)) {
                alert("Debe ingresar Bono actualizado" + s);
                F.bono_actualizado.focus();
                return false;
            }
        }
        if (esta("renta_imponible", f)) {
            if (!esNumero(F.renta_imponible.value) ||
            	(esNumero(F.renta_imponible.value) && F.renta_imponible.value.length<3)
            ) {
                s = " V\xe1lida";
            }
            if ((obligatorio("renta_imponible", f) && F.renta_imponible.value.length < 1) || !esVacio(s)) {
                alert("Debe ingresar Remuneraci\xf3n Imponible" + s);
                F.renta_imponible.focus();
                return false;
            }
        }
        if (esta("capital_actual_afp", f)) {
            if (!esNumero(F.capital_actual_afp.value)||
            	(esNumero(F.capital_actual_afp.value) && F.capital_actual_afp.value.length<3)
            ) {
                s = " V\xe1lido";
            }
            if ((obligatorio("capital_actual_afp", f) && F.capital_actual_afp.value.length < 1) || !esVacio(s)) {
                alert("Debe ingresar Capital Actual en la AFP" + s);
                F.capital_actual_afp.focus();
                return false;
            }
        }
        if (esta("bono_reconocimiento", f)) {
            if (!esNumero(F.bono_reconocimiento.value)||
            	(esNumero(F.bono_reconocimiento.value) && F.bono_reconocimiento.value.length<3)
            ) {
                s = " V\xe1lido";
            }
            if ((obligatorio("bono_reconocimiento", f) && F.bono_reconocimiento.value.length < 1) || !esVacio(s)) {
                alert("Debe ingresar Bono de Reconocimiento" + s);
                F.bono_reconocimiento.focus();
                return false;
            }
        }
        if (esta("capital_actual_apv", f)) {
            if (!esNumero(F.capital_actual_apv.value)||
            	(esNumero(F.capital_actual_apv.value)&& F.capital_actual_apv.value.length<3)
            ) {
                s = " V\xe1lido";
            }
            if ((obligatorio("capital_actual_apv", f) && F.capital_actual_apv.value.length < 1) || !esVacio(s)) {
                alert("Debe ingresar Capital Actual\n en Cuenta Voluntaria" + s);
                F.capital_actual_apv.focus();
                return false;
            }
        }
        if (esta("edad_para_pensionarse", f)) {
            if (!esNumero(F.edad_para_pensionarse.value)||
            	(esNumero(F.edad_para_pensionarse.value) && F.edad_para_pensionarse.value.length<2)
            ) {
                s = " V\xe1lido";
            }
            if ((obligatorio("edad_para_pensionarse", f) && F.edad_para_pensionarse.value.length < 1) || !esVacio(s)) {
                alert("Debe ingresar Edad para Pensionarse" + s);
                F.edad_para_pensionarse.focus();
                return false;
            }
        }
        if (esta("alternativa1", f)) {
            if (obligatorio("alternativa1", f)) {
                if ($("alternativa1").selectedIndex < 1) {
                    alert("Debe ingresar Alternativa 1");
                    $("alternativa1").focus();
                    return false;
                }
            }
        }
        if (esta("alternativa2", f)) {
            if (obligatorio("alternativa2", f)) {
                if ($("alternativa2").selectedIndex < 1) {
                    alert("Debe ingresar Alternativa 2");
                    $("alternativa2").focus();
                    return false;
                }
            }
        }
        if (esta("alternativa3", f)) {
            if (obligatorio("alternativa3", f)) {
                if ($("alternativa3").selectedIndex < 1) {
                    alert("Debe ingresar Alternativa 3");
                    $("alternativa3").focus();
                    return false;
                }
            }
        }
        if (esta("caja_compensacion", f)) {
        	if (obligatorio("caja_compensacion", f)) {
        		if (F.caja_compensacion.selectedIndex < 1) {
	                alert("Debe ingresar CCAF Actual");
	                F.caja_compensacion.focus();
	                
	                return false;        		
        		}
        	}
        	
        	/*
        	if ((!esAlfaNumeroEspacio(F.caja_compensacion.value) && F.caja_compensacion.value.length > 0)||
        		(esAlfaNumeroEspacio(F.caja_compensacion.value) && F.caja_compensacion.value.length <2)
        	) {
                    s = " V\xe1lida";
                }
            if ((obligatorio("caja_compensacion", f) && F.caja_compensacion.value.length < 1)|| s.length>0) {
                alert("Debe ingresar Caja de Comnpensaci\xf3n Actual"+s);
                F.caja_compensacion.focus();
                return false;
            }
            */
        }
        if (esta("paga_pension", f)) {
        	if ((!esAlfaNumeroEspacio(F.paga_pension.value) && F.paga_pension.value.length > 0)|| 
        		(esAlfaNumeroEspacio(F.paga_pension.value) && F.paga_pension.value.length <2)
        	) {
                    s = " V\xe1lida";
                }
            if ((obligatorio("paga_pension", f) && F.paga_pension.value.length < 1)||s.length>0) {
                alert("Debe ingresar Entidad Pagadora de Pensi\xf3n"+s);
                F.paga_pension.focus();
                return false;
            }
        }
        if (esta("regimen_salud", f)) {
            if (obligatorio("regimen_salud", f)) {
                if ($("regimen_salud").selectedIndex < 1) {
                    alert("Debe ingresar R\xe9gimen de Salud");
                    $("regimen_salud").focus();
                    return false;
                }
            }
        }
        if (esta("area_informacion", f)) {
            if (obligatorio("area_informacion", f)) {
                if ($("area_informacion").selectedIndex < 1) {
                    alert("Debe ingresar Area solicita Informaci\xf3n");
                    $("area_informacion").focus();
                    return false;
                }
            }

            if (F.area_informacion.selectedIndex >= 1) {
                F.area_informacionTexto.value =
                		F.area_informacion.options[F.area_informacion.selectedIndex].text;            
            } else {
             	F.area_informacionTexto.value = "";
            }
        }
        if (esta("cliente", f)) {
        	if (F.cliente.selectedIndex >= 1) {
				F.clienteTexto.value = F.cliente.options[F.cliente.selectedIndex].text;
            } else {
            	F.clienteTexto.value = "";
            }     	
        }
        if (esta("cuenta_cap_individual", f)) {
            if (!esNumero(F.cuenta_cap_individual.value) || 
            	(esNumero(F.cuenta_cap_individual.value) && F.cuenta_cap_individual.value.length<3)
            ) {
                s = " V\xe1lido";
            }
            if ((obligatorio("cuenta_cap_individual", f) && F.cuenta_cap_individual.value.length < 1) || !esVacio(s)) {
                alert("Debe ingresar Cuenta Capitalizaci\xf3n Individual" + s);
                F.cuenta_cap_individual.focus();
                return false;
            }
        }
        if (esta("cotizacion_mensual_1", f)) {
            if (!esNumero(F.cotizacion_mensual_1.value)||
            	(esNumero(F.cotizacion_mensual_1.value)&& F.cotizacion_mensual_1.value.length<2)
            ) {
                s = " V\xe1lido";
            }
            if ((obligatorio("cotizacion_mensual_1", f) && F.cotizacion_mensual_1.value.length < 1)) {
                alert("Debe ingresar Cotizaci\xf3n Mensual UF" + s);
                F.cotizacion_mensual_1.focus();
                return false;
            }
        }
        if (esta("cotizacion_voluntaria", f)) {
            if (!esNumero(F.cotizacion_voluntaria.value)|| 
            	(esNumero(F.cotizacion_voluntaria.value)&& F.cotizacion_voluntaria.value.length<3)
            ) {
                s = " V\xe1lido";
            }
            if ((obligatorio("cotizacion_voluntaria", f) && F.cotizacion_voluntaria.value.length < 1)) {
                alert("Debe ingresar Cotizaci\xf3n Voluntaria" + s);
                F.cotizacion_voluntaria.focus();
                return false;
            }
        }
        if (esta("cotizacion_mensual_2", f)) {
            if (!esNumero(F.cotizacion_mensual_2.value)||
            	(esNumero(F.cotizacion_mensual_2.value) && F.cotizacion_mensual_2.value.length<2)
            ) {
                s = " V\xe1lido";
            }
            if ((obligatorio("cotizacion_mensual_2", f) && F.cotizacion_mensual_2.value.length < 1)) {
                alert("Debe ingresar Cotizaci\xf3n Mensual UF" + s);
                F.cotizacion_mensual_2.focus();
                return false;
            }
        }
        if (esta("deposito_convenido", f)) {
            if (!esNumero(F.deposito_convenido.value)||
            	(esNumero(F.deposito_convenido.value) && F.deposito_convenido.value.length<3)
            ) {
                s = " V\xe1lido";
            }
            if ((obligatorio("deposito_convenido", f) && F.deposito_convenido.value.length < 1)) {
                alert("Debe ingresar Dep\xf3sito Convenido" + s);
                F.deposito_convenido.focus();
                return false;
            }
        }
        if (esta("cotizacion_mensual_3", f)) {
            if (!esNumero(F.cotizacion_mensual_3.value) ||
            	(esNumero(F.cotizacion_mensual_3.value) && F.cotizacion_mensual_3.value.length<2)
            ) {
                s = " V\xe1lido";
            }
            if ((obligatorio("cotizacion_mensual_3", f) && F.cotizacion_mensual_3.value.length < 1)) {
                alert("Debe ingresar Cotizaci\xf3n Mensual UF" + s);
                F.cotizacion_mensual_3.focus();
                return false;
            }
        }
        if (esta("descripcion", f)) {
        	if (!esAlfaNumeroEspacioPunto(F.descripcion.value) && F.descripcion.value.length > 0) {
                    s = " V\xe1lida";
             }
            if ((obligatorio("descripcion", f)) && $("descripcion").value.length==0) {
                alert("Debe ingresar una Descripci\xf3n"+s);
                $("descripcion").focus();
                return false;
            }
            if ($("descripcion").value.length > 255) {
                alert("Puede ingresar s\xf3lo hasta 255 caracteres en la Descripci\xf3n\n\t(tiene ingresado " + $("descripcion").value.length + " caracteres)");
                $("descripcion").focus();
                return false;
            }
        }
    }
    catch (e) {
        alert("Error:" + e.message);
        
        return false;
    }
    
    F.validated.value = "true";
    
    return true;
} 
  //fin VALIDA
  
  //valida los n beneficiarios.
function validaBeneficiarios(n) {
	var nnom=document.form1.nombre;
	var nap=document.form1.apellido_paterno;
	var nam=document.form1.apellido_materno;
	var nrut=document.form1.rut;
	for (var i = 1; n !== null && i <= n; i += 1) {
        var s = "";
        var ocb = eval("document.form1.nombre_benef" + i);
        if (esVacio(ocb.value) || !esAlfa(ocb.value)) {
            if ((!esAlfa(ocb.value) && ocb.value.length > 0)||
            	(esAlfa(ocb.value) && ocb.value.length <2)
             ){
                s = " V\xe1lido";
            }
            if (s.length > 0 || esVacio(ocb.value)) {
                alert("Debe ingresar Nombre de Beneficiario " + i + s);
                ocb.focus();
                return false;
            }
        } //fin IF
        ocb = eval("document.form1.apellido_paterno_benef" + i);
        if (esVacio(ocb.value) || !esAlfa(ocb.value)) {
            if ((!esAlfa(ocb.value) && ocb.value.length > 0)|| 
            	(esAlfa(ocb.value) && ocb.value.length <2)
            ){
                s = " V\xe1lido";
            }
            if (s.length > 0 || esVacio(ocb.value)) {
                alert("Debe ingresar Apellido Paterno de Beneficiario " + i + s);
                ocb.focus();
                return false;
            }
        } //fin IF
        ocb = eval("document.form1.apellido_materno_benef" + i);
        if (esVacio(ocb.value) || !esAlfa(ocb.value)) {
            if ((!esAlfa(ocb.value) && ocb.value.length > 0)|| 
            	(esAlfa(ocb.value) && ocb.value.length <2)
            ){
                s = " V\xe1lido";
            }
            if (s.length > 0 || esVacio(ocb.value)) {
                alert("Debe ingresar Apellido Materno de Beneficiario " + i + s);
                ocb.focus();
                return false;
            }
        } //fin IF
        ocb = eval("document.form1.rut_benef" + i);
        if ((esVacio(ocb.value)) || !valida_rut(ocb)) {
            alert("Debe ingresar RUT para Beneficiario " + i + " V\xe1lido");
            ocb.focus();
            return false;
        } //fin IF
        ocb = eval("document.form1.parentesco" + i);
        ocbTexto = eval("document.form1.parentescoTexto" + i);
        if (ocb.selectedIndex < 1) {
        	ocbTexto.value = "";
        	
            alert("Debe ingresar Parentesco de Beneficiario " + i);
            ocb.focus();
            return false;
        } else {
        	ocbTexto.value = ocb.options[ocb.selectedIndex].text;
        }
        ocb = eval("document.form1.sexo" + i);
        if (!(ocb[0].checked) && !(ocb[1].checked)) {
            alert("Debe seleccionar Sexo de Beneficiario " + i);
            ocb[0].focus();
            return false;
        }
        ocb = eval("document.form1.dia_nac_benef" + i);
        var dia = ocb.selectedIndex;
        ocb = eval("document.form1.mes_nac_benef" + i);
        var mes = ocb.selectedIndex;
        ocb = eval("document.form1.anno_nac_benef" + i);
        var anno = ocb.value;
        if ((dia > 0 && mes > 0 && anno.length > 0 && !esFecha(dia, mes, anno)) ||
        		(!esNumero(anno)) || (anno<1900 || anno>2008)
        	){
            s = " V\xe1lida";
        }
        if ((!esFecha(dia, mes, anno)) || !esVacio(s)) {
            alert("Debe ingresar Fecha de Nacimiento de Beneficiario " + i + s);
            ocb = eval("document.form1.dia_nac_benef" + i);
            ocb.focus();
            return false;
        }
        ocb = eval("document.form1.invalidez" + i);
        if (!ocb[0].checked && !ocb[1].checked) {
            alert("Debe seleccionar Invalidez de Beneficiario " + i);
            ocb[0].focus();
            return false;
        }
        ocb = eval("document.form1.ocupacion_benef" + i);
        if (esVacio(ocb.value) || (!esAlfa(ocb.value) || ocb.value.length<2)) {
            if (ocb.value.length > 0) {
                s = " V\xe1lido";
            }
            if (s.length > 0 || esVacio(ocb.value)) {
                alert("Debe ingresar Ocupaci\xf3n de Beneficiario " + i + s);
                ocb.focus();
                return false;
            }
        }
    }
    return true;
}

