//***************************************************************
//***************************************************************
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;
}
