/*************************************************************************/

function EsFecha(val) {
    var dia = parseInt(val.substr(0,2),10);
    var mes = parseInt(val.substr(3,2),10);
    var anyo = parseInt(val.substr(6,4),10);
  
    if(val.length!=10) return false;
    d = new Date(val)
    if (isNaN( d.valueOf() )) return false;
    sArray = val.split("/")
    if (sArray.length > 3) return false;
    if( (sArray[0].length!=2) || (sArray[1].length!=2) || (sArray[2].length!=4) ) return false;
    if( (anyo<1900) || (anyo>9999) ) return false;
    if((mes>12) || (mes<1)) return false;
    if((mes==4)||(mes==6)||(mes==9)||(mes==11)) {
        if((dia>30) || (dia<1)) return false;
    }
    if((mes==1)||(mes==3)||(mes==5)||(mes==7)||(mes==8)||(mes==10)||(mes==12)) {
            if((dia>31) || (dia<1)) return false;
    }
    if((mes==2) && (!EsBisiesto(anyo))) {
            if((dia>28) || (dia<1)) return false;
    } else if((mes==2) && (EsBisiesto(anyo))) {
            if((dia>29) || (dia<1)) return false;
    }
    return true;
}



/*************************************************************************/
function fechamayor(fecha,fech){
	// Devuelve true si la segunda fecha es mayor que la primera. False en caso contrario
	if (fecha!=fech){
		//Comprobar q no sea mayor q la fecha actual	
		fecha2=fecha.split("/");
		fech2=fech.split("/");
		if (fecha2[2]<=fech2[2]){
			if (fecha2[2]==fech2[2]){
				if (fecha2[1]<=fech2[1]){
					if (fecha2[1]==fech2[1]){
						if (fecha2[0]<=fech2[0]){
							return true;
						}else{
							return false;
						}
					}else{
						return true;
					}
				}else{
					return false;
				}
			}else{
				return true;
			}
		}else{
			return false;
		}	
	}else{ // si es la misma fecha ... no es mayor
		return true;
	}
	
	return true;
}

/*************************************************************************/

function EsBisiesto(val) {
    return ((val % 4 == 0) && ((!(val % 100 == 0)) || (val % 400 == 0)));
}

function LongitudMaximaOnKeyPress(NombreControl, longitud, mensaje) {
		if (document.getElementById(NombreControl)==null) return false;
		if(document.getElementById(NombreControl).value.length+1>longitud) 
		{
			event.returnValue = false;
		}
		return true
}

/*************************************************************************/

function LongitudMaximaOnBlur(NombreControl, longitud, mensaje) {
	if (document.getElementById(NombreControl)==null) return false
	if(document.getElementById(NombreControl).value.length>longitud) 
		{
			alert(mensaje)
			document.getElementById(NombreControl).value=document.getElementById(NombreControl).value.substr(0,longitud)
			event.returnValue = false
		}
		return true
}

/*************************************************************************/

function Numeros(keyCode){
				
				if (event.keyCode == 13 || event.keyCode < 48 || event.keyCode > 57 ){
				   if (event.keyCode!=46) {
				   		event.returnValue = false;
				   	}
				   	else{ 
				   		event.returnValue = true;
				   	}
				}				 
				else event.returnValue = true
}

/*************************************************************************/

function EsEmail(val) {
    arroba = val.lastIndexOf('@');

    if ( arroba < 1 )
        return false;
    else {
    punto = val.indexOf('.', arroba);
      if ( punto < arroba + 2 ||
         punto > val.length - 2 ) {
         return false;
      }
   }
   return true;
}

/*************************************************************************/


function validaFecha(field){
	if (field.value!='' && field.value!='dd/mm/aaaa' && !EsFecha(field.value)){
		alert('La fecha introducida no es correcta.');
		field.focus();
		return false;
	}
	else return true
}

function Recargar(){
	var caso;
	var fechaDesde=document.getElementById('BuscadorColumnadcha_txtfechadesde');
	var fechaHasta=document.getElementById('BuscadorColumnadcha_txtfechahasta');
	if (fechaDesde.value=='') fechaDesde.value=='dd/mm/aaaa';
	if (fechaHasta.value=='') fechaDesde.value=='dd/mm/aaaa';
	
	if (fechaDesde.value!='dd/mm/aaaa' && fechaHasta.value!='dd/mm/aaaa'){
		caso=1; // con fecha inicio y con fecha de fin
	}	
	else if (fechaDesde.value != 'dd/mm/aaaa' && fechaHasta.value=='dd/mm/aaaa'){
		caso=2; // con fecha de inicio y sin fecha de fin
	}
	else if (fechaHasta.value != 'dd/mm/aaaa' && fechaDesde.value=='dd/mm/aaaa'){
		caso=3; // con fecha de fin y sin fecha de inicio
	}
			
	switch(caso){
		case 1:
			if (!validaFecha(fechaDesde)){
				break;
			}
			else if (!validaFecha(fechaHasta)){
				break;
			}
			else if (!fechamayor(fechaDesde.value,fechaHasta.value)){
				alert('La "fecha desde" debe ser menor que la "fecha hasta".');
				fechaDesde.focus();
				break;
			}
			else {
				__doPostBack('buscarLinkButton','');
				break;
			}
		case 2:
			if (!validaFecha(fechaDesde)){
				break;
			}
			else{
				__doPostBack('buscarLinkButton','');
				break;
			}
		case 3:
			if (!validaFecha(fechaHasta)){
				break;
			}
			else{
				__doPostBack('buscarLinkButton','');
				break;
			}
		default:
			__doPostBack('buscarLinkButton','');
	}
}

