//***************************************************************
//***************************************************************
function sVentanaEmergenteSinBarra(direccion,nombre,ancho,alto)
{	strAux="win2=window.open(direccion,nombre,'scrollbars=no,status=no,left="+(window.screen.width-ancho)/2+",top="+(window.screen.height-alto)/2+", directories=no, toolbar=no,width="+ancho+",height="+alto+"');";
	eval(strAux);
}
//***************************************************************
//***************************************************************
function isFecha(objeto){	
	switch (objeto.value.length){	
		case 1:
			if (isNaN(objeto.value)){ objeto.value=""; }
			break;
		case 2:
			if (isNaN(objeto.value)){	
				if (isNaN(objeto.value.substring(0,1))){ objeto.value="";}
				else{	
					if (objeto.value.substring(1,2)=="/"){ objeto.value="0"+objeto.value; }
					else{ objeto.value=objeto.value.substring(0,1);}
				}
			}else{	
				if (parseFloat(objeto.value)>31){ objeto.value="31/"; }
				if (parseFloat(objeto.value)<1){ objeto.value="01/"; }
			}
			break;
		case 3:
			if (!isNaN(objeto.value.substring(2,3))){objeto.value=objeto.value.substring(0,2)+"/";}
			break;
		case 4:
			if (isNaN(objeto.value.substring(3,4))){objeto.value=objeto.value.substring(0,3);}
			break;
		case 5:
			if (isNaN(objeto.value.substring(3,5))){	
				if (isNaN(objeto.value.substring(3,4))){objeto.value=objeto.value.substring(0,4);}
				else{	
					if (objeto.value.substring(4,5)=="/"){	
						objeto.value=objeto.value.substring(0,3)+"0"+objeto.value.substring(3,5);
					}else{	
						objeto.value=objeto.value.substring(0,4);
					}
				}
			}else{	
				mes=parseFloat(objeto.value.substring(3,5))
				if (mes>12){ objeto.value=objeto.value.substring(0,3)+"12/"; }
				if (mes<1){	objeto.value=objeto.value.substring(0,3)+"01/"; }
			}
			mes=parseFloat(objeto.value.substring(3,5))
			dia=parseFloat(objeto.value.substring(0,2))
			if (mes==2 && dia>29){ objeto.value="29"+objeto.value.substring(2); }
			if ((mes==4 || mes==6 || mes==9 || mes==11) && dia>30){
				objeto.value=objeto.value="30"+objeto.value.substring(2);
			}
			if (dia<1){ objeto.value=objeto.value="01"+objeto.value.substring(2); }
			if (mes<1){ objeto.value=objeto.value=objeto.value.substring(0,3)+"01"; }
			break;
		case 6:
			if (!isNaN(objeto.value.substring(5,6))){objeto.value=objeto.value.substring(0,5)+"/"; }
			break;
		case 7:
		case 8:
		case 9:
			if (isNaN(objeto.value.substring(objeto.value.length-1,objeto.value.length)))
			{	objeto.value=objeto.value.substring(0,objeto.value.length-1);
			}
			break;
		case 10:
			if (isNaN(objeto.value.substring(9,10))){	
				objeto.value=objeto.value.substring(0,9);
			}else{	
				mes=parseFloat(objeto.value.substring(3,5))
				dia=parseFloat(objeto.value.substring(0,2))
				anho=parseFloat(objeto.value.substring(6,10))
				if (mes==2 && dia>28)
				{	if (!(anho % 4==0 && anho % 400!=0))
					{	objeto.value="28"+objeto.value.substring(2);
					}
				}
				if ((mes==4 || mes==6 || mes==9 || mes==11) && dia>30)
				{	objeto.value=objeto.value="30"+objeto.value.substring(2);
				}
				if (dia<1){	objeto.value=objeto.value="01"+objeto.value.substring(2); }
				if (mes<1){	objeto.value=objeto.value=objeto.value.substring(0,3)+"01"+objeto.value.substring(5); }
			}
			break;
	}
}
//***************************************************************
//- Envia datos atraves de un formulario a la ventana desde la que
//  se ha abierto
//***************************************************************
function fEnviaDatos2(istrNombre,istrFecha)
{	strAux="window.opener.document."+istrNombre+".value='"+istrFecha+"'";
	eval(strAux);
	window.close();
}
//***************************************************************
//- Valida que al hacer onkerPress que solo se puedan meter caracteres
//  correctos para una fecha --> dd/mm/aaaa
//***************************************************************
function fSoloFecha() 
{	if (((window.event.keyCode<47)||(window.event.keyCode>57))&& (window.event.keyCode!=8)) {  
		window.event.keyCode=""; 
		return false;
	}
}
//***************************************************************
//***************************************************************
function fConvertirFecha(objeto)
{	if (objeto.value.length<10)
	{	if (!isNaN(objeto.value.substring(0,1)) && objeto.value.substring(1,2)=="/")
		{	objeto.value="0"+objeto.value;
		}
		if (!isNaN(objeto.value.substring(3,4)) && objeto.value.substring(4,5)=="/")
		{	objeto.value=objeto.value.substring(0,3)+"0"+objeto.value.substring(3);
		}
	}
}
//***************************************************************
// INICIALIZACIÓN DE VARIABLES
//***************************************************************
var months = new Array(1,2,3,4,5,6,7,8,9,10,11,12);
var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
//***************************************************************
//- Devuelve el nº de días de un mes
//***************************************************************
function getDays(month, year) {
    if (1 == month)
        return ((0 == year % 4) && (0 != (year % 100))) ||
                (0 == year % 400) ? 29 : 28;
    else
       return daysInMonth[month];
}
//***************************************************************
//- Valida el formato de una fecha que este en dd/mm/aaaa y en los
//  dia que correspondan de cada mes
//***************************************************************
function fValidarDia(vdtmData){
	F=Date();
	var intdelim1 = vdtmData.indexOf("/");
	var intdelim2 = vdtmData.lastIndexOf("/");
	if ((vdtmData.length)>10){alert(fM("FechaFormatoDDMMAAAA"));return false;}
	if ((vdtmData.length)<10){alert(fM("FechaFormatoDDMMAAAA"));return false;}
	if (intdelim1 == -1 || intdelim2 == -1){alert(fM("FechaFormatoDDMMAAAA"));return false;}
	if (intdelim1 != -1 && intdelim1 == intdelim2){alert(fM("FechaFormatoDDMMAAAA"));return false;}
	intEguna = parseInt(vdtmData.substring(0,2),10);		
	intHilabete = vdtmData.substring(3,5);
	intUrtea =vdtmData.substring(6,vdtmData.length);
	
	if (isNaN(intEguna) || isNaN(intHilabete) ||isNaN(intUrtea)){alert(fM("FechaFormatoDDMMAAAA"));return false;}
	if  (intHilabete < 1 || intHilabete >12){alert("El mes tiene que estar entre el 1 y el 12.");return false;}
	var intMaxDia = getDays(intHilabete-1,intUrtea);
	if (intEguna < 1 || intEguna > intMaxDia){alert("El día tiene que estar entre el  1 y el "+intMaxDia+".");return false;}
	return true;
}
//***************************************************************
//- Valida 2 fechas dadas. Controla que la fechas tenganb el formato
//  correcto y que la fecha1 no sea maryor que la fecha2
//***************************************************************
function fValidarFechas(vdtmFecha1,vdtmFecha2) {
	var intdelim1 = vdtmFecha1.indexOf("/");
	var intdelim2 = vdtmFecha1.lastIndexOf("/");

	if (vdtmFecha1.indexOf("-") != -1){alert(fM("FormatoFechaIncorrecto"));return;}
	
	if (intdelim1 != -1){
		var intDia1 = parseInt(vdtmFecha1.substring(0,intdelim1),10);
		var intMes1 = parseInt(vdtmFecha1.substring(intdelim1+1,intdelim2),10);
		var intAino1 = parseInt(vdtmFecha1.substring(intdelim2+1,vdtmFecha1.length),10);		
	}else{
		var intDia1 = parseInt(vdtmFecha1.substring(0,2),10);
		var intMes1 = parseInt(vdtmFecha1.substring(2,4),10);
		var intAino1 = parseInt(vdtmFecha1.substring(4,vdtmFecha1.length),10);		
	}
	
	intdelim1 = vdtmFecha2.indexOf("/");
	intdelim2 = vdtmFecha2.lastIndexOf("/");

	if (vdtmFecha2.indexOf("-") != -1){
		intdelim1 = vdtmFecha2.indexOf("-");
		intdelim2 = vdtmFecha2.lastIndexOf("-");
	}

	if (intdelim1 != -1){
		var intDia2 = parseInt(vdtmFecha2.substring(0,intdelim1),10);
		var intMes2 = parseInt(vdtmFecha2.substring(intdelim1+1,intdelim2),10);
		var intAino2 = parseInt(vdtmFecha2.substring(intdelim2+1,vdtmFecha2.length),10);		
	}else{
		var intDia2 = parseInt(vdtmFecha2.substring(0,2),10);
		var intMes2 = parseInt(vdtmFecha2.substring(2,4),10);
		var intAino2 = parseInt(vdtmFecha2.substring(4,vdtmFecha2.length),10);		
	}
	
	if (intAino1 > intAino2){alert(fM("FechaInicioMayorFechaFin"));return false;}
	else{
		if (intAino1 == intAino2)
			{
			if (intMes1 > intMes2){alert(fM("FechaInicioMayorFechaFin"));return false;}
			else{
				if (intMes1 == intMes2){
					if (intDia1>intDia2){alert(fM("FechaInicioMayorFechaFin"));return false;}
				}
			}
		}
	}
	return true;
}
//***************************************************************
//- Valida strHoraCompleta que sea una hora correcta
//***************************************************************
function fValidarHora (strHoraCompleta){
	if(strHoraCompleta.length!=4){alert(fM("IntroduzcaHoraBien"));return false;}
	intHora = strHoraCompleta.substring(0,2);
	if (parseInt(intHora) > 23 || parseInt(intHora) < 0){alert(fM("IntroduzcaHoraBien"));return false;}
	intMinutos = strHoraCompleta.substring(2,4);
	if (parseInt(intMinutos) > 59 || parseInt(intMinutos) < 0){alert(fM("IntroduzcaHoraBien"));return false;}
	return true;
}