// JavaScript Document
/* FUNCIONES DE VALIDACIÃ“N */
//VALIDACIÓN DE FORMULARIO DE INDCRIPCIÓN
function validaBusquedaInscripcion(formulario)
{
if (EstaVacio(formulario.txtFiltroDni.value))
    { 
        alert('Debe especificar un DNI.');
        formulario.txtFiltroDni.focus();
        return false;
    }
	if (!EsDni(formulario.txtFiltroDni.value))
    { 
        alert('El DNI debe contener sólo números.');
        formulario.txtFiltroDni.focus();
        return false;
    }
	return true;
}
function validaInscripcion(f)
{
	
	
	
	if (EstaVacio(f.txtCategoria.value))
    { 
        alert('Debe especificar una CATEGORÍA.');
        f.txtCategoria.focus();
        return false;
    }
	if (EstaVacio(f.txtNumero.value))
    { 
        alert('Debe especificar un NÚMERO.');
        f.txtNumero.focus();
        return false;
    }
	if (EstaVacio(f.txtCompetencia.value))
    { 
        alert('Debe especificar una COMPETENCIA.');
        f.txtCompetencia.focus();
        return false;
    }

	if(!ValidarDia(f.txtDiaComp) || !ValidarMes(f.txtMesComp) || !ValidarAnio(f.txtAnioComp,f.txtMesComp,f.txtDiaComp)){return false;}

	if (EstaVacio(f.txtApellidoNombre.value))
    { 
        alert('Debe especificar un NOMBRE Y APELLIDO.');
        f.txtApellidoNombre.focus();
        return false;
    }
	if (EstaVacio(f.txtEdad.value))
    { 
        alert('Debe especificar EDAD.');
        f.txtEdad.focus();
        return false;
    }
	if(!ValidarDia(f.txtDiaNac) || !ValidarMes(f.txtMesNac) || !ValidarAnio(f.txtAnioNac,f.txtMesNac,f.txtDiaNac)){return false;}
	if (EstaVacio(f.txtDni.value))
    { 
        alert('Debe especificar un DNI.');
        f.txtDni.focus();
        return false;
    }
	if (!EsDni(f.txtDni.value))
    { 
        alert('El DNI debe contener sólo números.');
        f.txtDni.focus();
        return false;
    }
	
	if (EstaVacio(f.txtDomicilio.value))
    { 
        alert('Debe especificar un DOMICILIO.');
        f.txtDomicilio.focus();
        return false;
    }
	if (EstaVacio(f.txtProvincia.value))
    { 
        alert('Debe especificar una PROVINCIA.');
        f.txtProvincia.focus();
        return false;
    }
	if (EstaVacio(f.txtTelefono.value))
    { 
        alert('Debe especificar un TELÉFONO.');
        f.txtTelefono.focus();
        return false;
    }
	if (EstaVacio(f.txtGrupoSanguineo.value))
    { 
        alert('Debe especificar GRUPO SANGUÍNEO.');
        f.txtGrupoSanguineo.focus();
        return false;
    }
	if (EstaVacio(f.txtLicenciaDeportiva.value))
    { 
        alert('Debe especificar LICENCIA DEPORTIVA.');
        f.txtLicenciaDeportiva.focus();
        return false;
    }
	if (EstaVacio(f.txtLicenciaMedica.value))
    { 
        alert('Debe especificar LICENCIA MÉDICA.');
        f.txtLicenciaMedica.focus();
        return false;
    }
	if (EstaVacio(f.txtChasis.value))
    { 
        alert('Debe especificar N° Y MARCA DE CHASIS');
        f.txtChasis.focus();
        return false;
    }
	if (EstaVacio(f.txtApellidoConcurrente.value))
    { 
        alert('Debe especificar APELLIDO DEL CONCURRENTE.');
        f.txtApellidoConcurrente.focus();
        return false;
    }
	if (EstaVacio(f.txtNombreConcurrente.value))
    { 
        alert('Debe especificar NOMBRE DEL CONCURRENTE.');
        f.txtNombreConcurrente.focus();
        return false;
    }
	if (EstaVacio(f.txtLicenciaConcurrente.value))
    { 
        alert('Debe especificar LICENCIA DEL CONCURRENTE.');
        f.txtLicenciaConcurrente.focus();
        return false;
    }
	return true;
}
//FIN VALIDACION FORMULARIO DE INSCRIPCIÓN
function Completar(dato,campo){

if (dato =='dia' || dato =='mes'){
    if (campo.value.length == 1) campo.value = '0'+ campo.value;
}
if (dato =='año'){
    if (campo.value.length == 1) campo.value = '200'+ campo.value;
    if (campo.value.length == 2) campo.value = '20'+ campo.value;
    if (campo.value.length == 3) campo.value = '2'+ campo.value;
}
}//end function completar
function EstaVacio(Dato){
	if(Dato.length == 0)
        return(true);
    else
        return(false);
}
function EsDni(Dato){
	var CadenaNumeros="0123456789";
	var EsteCaracter;
	var Contador=0;
	for(var i=0; i < Dato.length; i++) {
		EsteCaracter = Dato.substring(i, i+1);
		if (CadenaNumeros.indexOf(EsteCaracter) != -1)
			Contador ++;
	}
	if (Contador == Dato.length)
		return(true);
	else
	    return(false);

}
//formulario para registrar los usuarios del sitio
function validaRegistro(formulario)
{
if (EstaVacio(formulario.txtNombre.value))
    { 
        alert('Debe especificar un Nombre.');
        formulario.txtNombre.focus();
        return false;
    }
if (EstaVacio(formulario.txtTelefono.value))
    { 
        alert('Debe especificar un Telefono.');
        formulario.txtTelefono.focus();
        return false;
    }   
    
if (EstaVacio(formulario.txtPassword.value))
    { 
        alert('Debe especificar un Password.');
        formulario.txtPassword.focus();
        return false;
    }   
if (EstaVacio(formulario.txtPassword2.value))
    { 
        alert('Debe especificar un Password.');
        formulario.txtPassword2.focus();
        return false;
    }
    if(formulario.txtPassword.value != formulario.txtPassword2.value)
     {
        alert('Los password no coinciden');
        formulario.txtPassword.focus();
        return false;
     }
     
     if(EstaVacio(formulario.txtMail.value))
     {
        alert('Debe especificar una direccion de correo');
        formulario.txtMail.focus();
        return false;
     }
     else
         {
            var b=/^[^@ $]+@([^@. $]+.[^@. $]+)+$/;
            //alert("e-mail " + (b.test(formulario.txtMail.value)?"":"no ") + "valido."); 
            if(b.test(formulario.txtMail.value)=="")
            {
            alert('Debe especificar una direccion de correo valida');
            formulario.txtMail.focus();
            return false;
            }
         } 

return true;
}

//formulario altaMensaje.php
function validaMensaje(formulario)
{
if(EstaVacio(formulario.txtMensaje.value))
 {
    alert('Debe especificar un mensaje');
    formulario.txtMensaje.focus();
    return false;
     }
     else
return true;
}

//formulario del loguin de los usuarios de la aplicacion
function envia(accion)
{
    document.form1.accion.value=accion;
        document.form1.submit();
}
function validaForm()
{
    if (EstaVacio(document.form1.usuario.value)){alert("Ingrese Nombre de Usuario"); document.form1.usuario.focus();return false;}
    if (EstaVacio(document.form1.clave.value)){alert("Ingrese Contraseña");document.form1.clave.focus();return false;}
    return true;
}
function envio()
{
    if(validaForm()){document.form1.submit();}
}


//formulario para cambiar el password
function envio2(){
    if (document.form1.usuario.value=="")
        alert("Por Favor, ingrese su nombre de usuario.");
        else
            if (document.form1.clave.value=="")
            alert("Por Favor, ingrese su contraseña.");
            else
                document.form1.submit();
}
function validar(){
if (document.frmcambiar_password.Txtpass_anterior.value.length == 0){ 
alert('Debe ingresar su contraseña actual');
document.frmcambiar_password.Txtpass_anterior.focus();
return false;
}
if (document.frmcambiar_password.TxtCont.value.length == 0 || document.frmcambiar_password.TxtCont.value.length < 4){ 
alert('La contraseña no puede quedar vacía, ni contener menos de 4 caracteres.\nSe recomienda utilizar combinación de letras y números.');
document.frmcambiar_password.TxtCont.focus();
return false;
}
if (document.frmcambiar_password.TxtConf.value.length == 0){
alert('Debe confirmar la contraseña');
document.frmcambiar_password.TxtConf.focus();
return false;
}
if (document.frmcambiar_password.TxtCont.value != document.frmcambiar_password.TxtConf.value){
alert('La contraseña y su confirmación no pueden ser diferentes');
document.frmcambiar_password.TxtCont.focus();
return false;
}
return true;
}
function enviar()
{
    if(validar())
    {
        var conf= confirm("¿Está seguro de cambiar su contraseña?");
        if(conf)
        {
            /*var md5=hex_md5(document.frmcambiar_password.TxtCont.value);
            document.frmcambiar_password.TxtCont.value=md5;
            var conf=hex_md5(document.frmcambiar_password.TxtConf.value);
            document.frmcambiar_password.TxtConf.value=conf;*/
            document.frmcambiar_password.submit();
        }
    }   
}//end function enviar
function cancel()
{
    document.frmcambiar_password.TxtCont.value="";
    document.frmcambiar_password.TxtConf.value="";
    document.frmcambiar_password.TxtCont.focus();
}


//funcion para validar extensiones de los archivos upload.

function LimitAttach(tField) { 
file=tField.value; 
extArray = new Array(".pdf",".gif", ".xls", ".doc", ".txt", ".jpg");  //acá van las extensiones permitidas....
allowSubmit = false; 

if (!file) return;
    while (file.indexOf("\\") != -1) file = file.slice(file.indexOf("\\") + 1); 
        ext = file.slice(file.indexOf(".")).toLowerCase(); 
        for (var i = 0; i < extArray.length; i++) { 
            if (extArray[i] == ext) {
            allowSubmit = true; 
            break; 
    } 
} 
 
if (allowSubmit) {
return true;
}
else
{ 
tField.value=""; 
alert("Usted sólo puede subir archivos con extensiones " + (extArray.join(" ")) + "\nPor favor seleccione un nuevo archivo"); 
return false;
} 
}


//Valida formulario Noticias
function validarNoticias()
{
    if(EstaVacio(document.form1.txtTitulo.value)){alert('Debe especificar TÍTULO de la noticia.');document.form1.txtTitulo.focus();return false;}
    if(EstaVacio(document.form1.txtVigencia.value)){alert('Debe especificar VIGENCIA de la noticia.');document.form1.txtVigencia.focus();return false;}
    if(!EsNumero2(document.form1.txtVigencia.value)){alert('La VIGENCIA debe ser expresada con un número entero.');document.form1.txtVigencia.focus();return false;}
    if(EstaVacio(document.form1.txtContenido.value)){alert('Debe especificar CONTENIDO de la noticia.');document.form1.txtContenido.focus();return false;}

    if(!EstaVacio(document.form1.txtAdjunto.value))
    {
    return (LimitAttach(document.form1.txtAdjunto));
    }

    return true;
 }

 // El objeto introducido es el campo del formulario a comprobar: 
// document.nombre_del_formulario.nombre_del_campo 
function EsNumero2(obj){
if (isNaN(obj)){
//falso entonces
return false;
} 
else { 
return true; 
} 
} 

//Valida formulario Documentacion
function validarDocumentacion()
{
    if(EstaVacio(document.form1.txtNombre.value)){alert('Debe especificar Nombre de la Documentacion.');document.form1.txtNombre.focus();return false;}

    if(document.form1.hdnAccion.value != 'modificar')
    if(!EstaVacio(document.form1.txtDocumentacion.value))
    {
    return (LimitAttach(document.form1.txtDocumentacion));
    }
    else
    {
    alert('Debe seleccionar un archivo');document.form1.txtDocumentacion.focus();return false;}
    return true;
 }

 //formulario noticias
 function key_press(e, objfoco)
{
 var navegador = navigator.appName;                
 if (navegador=="Netscape") { if (e.which==13) { objfoco.focus();} }
 else  {if (event.keyCode==13) {objfoco.focus();}  }
}


//Valida formulario de registro de los usuarios de la aplicacion
function validaRegistroAplicacion(formulario)
{
if (EstaVacio(formulario.txtUsuario.value))
    { 
        alert('Debe especificar un Nombre.');
        formulario.txtUsuario.focus();
        return false;
    }

if (EstaVacio(formulario.txtContrasenia.value) || formulario.txtContrasenia.value.length < 4)
    { 
        alert('La contraseña no puede quedar vacía, ni contener menos de 4 caracteres.\nSe recomienda utilizar combinación de letras y números.');
        formulario.txtContrasenia.focus();
        return false;
    }

if (EstaVacio(formulario.txtContrasenia2.value) || formulario.txtContrasenia2.value.length < 4)
    { 
        alert('La contraseña no puede quedar vacía, ni contener menos de 4 caracteres.\nSe recomienda utilizar combinación de letras y números.');
        formulario.txtContrasenia2.focus();
        return false;
    }
if(formulario.txtContrasenia.value != formulario.txtContrasenia2.value)
 {
  alert('Las contraseñas no coinciden');
        formulario.txtContrasenia2.focus();
        return false;
 }

return true;
}


//formulario noticias_general

function enviarDatos(formulario,accion,identificador)
{
formulario.hdnAccion2.value=accion;
formulario.hdnId.value=identificador;
formulario.submit();
}

//formulario del loguin del sitio
function validaFormdelsitio()
{
    if (EstaVacio(document.form1.username.value)){alert("Ingrese Nombre de Usuario"); document.form1.username.focus();return false;}
    if (EstaVacio(document.form1.passwd.value)){alert("Ingrese Contraseña");document.form1.passwd.focus();return false;}
    return true;
}
function enviodelsitio()
{
    if(validaFormdelsitio()){document.form1.submit();}
}


//formulario de categorias
function validarCategoria()
{
    if(EstaVacio(document.form1.txtCategoria.value)){alert('Debe especificar Nombre de la Categoria.');document.form1.txtCategoria.focus();return false;}

    return true;
}


function validaMail(formulario)
{
     if(EstaVacio(formulario.txtMail.value))
     {
        alert('Debe especificar una direccion de correo');
        formulario.txtMail.focus();
        return false;
     }
     else
         {
            var b=/^[^@ $]+@([^@. $]+.[^@. $]+)+$/;
            //alert("e-mail " + (b.test(formulario.txtMail.value)?"":"no ") + "valido."); 
            if(b.test(formulario.txtMail.value)=="")
            {
            alert('Debe especificar una direccion de correo valida');
            formulario.txtMail.focus();
            return false;
            }
         }
return true;
}
//VALIDACIÓN DE FECHAS
function SeleccionarObj(obj){
	if(obj.type != "select-one") obj.select();
	obj.focus();
}
function ValidarDia(obj_dia) {
    var dia=parseInt(obj_dia.value,10);
    var esta=obj_dia.value.indexOf("-");
    if(isNaN(dia)|| esta!=-1){
        alert('El valor para el día no es correcto. Sólo se permiten números.\nRecuerde que el formato de fecha es: dd-mm-aaaa.');
        setTimeout("SeleccionarObj(document.forms['" + obj_dia.form.name + "'].elements['" + obj_dia.name + "'])",120);
        return false;
    }
    if(dia > 31 || dia < 1){
        alert('El valor para el día no es correcto.\nLos meses NO pueden tener más de ' + 31 + ' días, y como mínimo deben tener 1 día.');
        debugger;
        setTimeout("SeleccionarObj(document.forms['" + obj_dia.form.name + "'].elements['" + obj_dia.name + "'])",120);
        return false;
    }
    return true;
}
function ValidarMes(mes){
    
    //var dia=document.getElementById(id_dia);
    valorMes=parseInt(mes.value,10);
    var esta=mes.value.indexOf("-");
    if(isNaN(valorMes) || esta!=-1){
        alert('Debe colocar sólo números en los campos de fecha.\nEl formato es: dd-mm-aaaa');
        setTimeout("SeleccionarObj(document.forms['" + mes.form.name + "'].elements['" + mes.name + "'])",120);
        return false;
    }
    
    if(valorMes > 12 || valorMes < 1){
        alert('El valor para el campo Mes debe estar entre 1 y 12.');
        setTimeout("SeleccionarObj(document.forms['" + mes.form.name + "'].elements['" + mes.name + "'])",120);
        return false;
    }
    return true;
}

function ValidarAnio(objAnio,mes,dia){
    /*var mes=document.getElementById(id_mes);
    if(mes.value.length < 1){
        alert('No ha ingresado valor del mes.');
        setTimeout("SeleccionarObj(document.forms['" + mes.form.name + "'].elements['" + mes.name + "'])",120);
        return false;
    }*/
    //var dia=document.getElementById(id_dia);
    anioValor=parseInt(objAnio.value,10);
    var esta=objAnio.value.indexOf("-");
    if(isNaN(anioValor) || esta!=-1){
        alert('El valor del año no puede contener letras, sólo se admiten números positivos.');
        setTimeout("SeleccionarObj(document.forms['" + objAnio.form.name + "'].elements['" + objAnio.name + "'])",120);
        return false;
    }
    if(anioValor<1900 || anioValor >2037){
        alert('El valor del año debe estar entre 1900 y 2037.');
        setTimeout("SeleccionarObj(document.forms['" + objAnio.form.name + "'].elements['" + objAnio.name + "'])",120);
        return false;
        }
    /*if(anioValor < 100){
        var esteAnio=(new Date()).getFullYear();
        if(anioValor >= 20 && esteAnio < 2020){
            anioValor=anioValor + 1900;
            objAnio.value=anioValor;
        }
        else{
            if(esteAnio < 2020){
                anioValor=anioValor + 2000;
                objAnio.value=anioValor;
            }
        }
    }*/
    if(parseInt(mes.value,10) == 2){
        if(ValidarLeapMes(mes,dia,objAnio)) return true;
        else{
            setTimeout("SeleccionarObj(document.forms['" + dia.form.name + "'].elements['" + dia.name + "'])",120);
            return false;
        }
    }
    if(ValidarLargoMes(mes.value,dia.value)) return true;
    else{
        setTimeout("SeleccionarObj(document.forms['" + dia.form.name + "'].elements['" + dia.name + "'])",120);
    }
    return true;
}
function ValidarLargoMes(mes,dia){
    var meses=new Array('','Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre');
    mes=parseInt(mes,10);
    dia=parseInt(dia,10);
    if((mes==4 || mes==6 || mes==9 || mes==11) && dia > 30){
        alert(meses[mes] + ' sólo tiene 30 días.');
        return false;
    } else if(dia > 31){
        alert(meses[mes] + ' sólo tiene 31 días.');
        return false;
    }
    return true;
}
function ValidarLeapMes(mes,dia,anio){
    dia_v=parseInt(dia.value,10);
    mes_v=parseInt(mes.value,10);
    anio_v=parseInt(anio.value,10);
    if((anio_v % 4 != 0 || anio_v % 400 != 0) && dia_v > 28){
        alert('Febrero de ' + anio_v + ' sólo tiene 28 días.');
        return false;
    }
    else if(dia_v > 29){
        alert('Febrero de ' +  + ' sólo tiene 29 días.');
        return false;
    }
    return true;
}
//FIN VALIDACIÓN DE FECHAS
