// Funciones para manejo de fechas en esp

function conv_date2sfecha(dia){
    // Convierte Date a String con formato dd/mm/yyyy
    //todo: si falla volver a atras
//    return dia.getDate()+"/"+(dia.getMonth()+1)+"/"+
//           (dia.getYear() < 1900 ? dia.getYear()+1900 :dia.getYear());
    return (dia.getDate() < 10 ? '0' : '') + dia.getDate() + "/" + ((dia.getMonth() + 1) < 10 ? '0' : '') + (dia.getMonth() + 1) + "/" + (dia.getYear() < 1900 ? dia.getYear() + 1900 : dia.getYear());
}

function conv_fecha(s_fec){
    s_fecha = new String(s_fec);
    // Convierte String con fecha en formato dd/mm/yyyy a Date
    if ((s_fecha.length!=0) && checkCharFechaValido(s_fecha)) {
        dia=s_fecha.substring(0, s_fecha.indexOf('/'));
        s_fecha=s_fecha.substring(s_fecha.indexOf('/')+1,s_fecha.length);
        mes=s_fecha.substring(0, s_fecha.indexOf('/'));
        anio=s_fecha.substring(s_fecha.indexOf('/')+1,s_fecha.length);
        // alert("DIA "+dia+" MES "+mes+" ANIO "+anio);
        if ((dia.length!=0) && (mes.length!=0) && (anio.length!=0)
                &&  (mes.valueOf()<13) && (dia<=getDays(mes,anio)) ){
            var fecha = new Date(anio,mes-1,dia);
            var n = fecha.getTime();
            fecha = null;
            return n;
        }
        else{
            alert("Fecha invalida (El formato debe ser un dd/mm/yyyy)");
            return NaN;
        }
    }else
        alert("Fecha invalida (Vacia o caracter invalido)");
    return NaN;
}

// Convierte String con fecha en formato dd/mm/yyyy a Date
function parseDate(s_fec) {
    s_fecha = new String(s_fec);
    if ((s_fecha.length!=0) && checkCharFechaValido(s_fecha)) {
        dia=s_fecha.substring(0, s_fecha.indexOf('/'));
        s_fecha=s_fecha.substring(s_fecha.indexOf('/')+1,s_fecha.length);
        mes=s_fecha.substring(0, s_fecha.indexOf('/'));
        anio=s_fecha.substring(s_fecha.indexOf('/')+1,s_fecha.length);
        if ((dia.length!=0) && (mes.length!=0) && (anio.length!=0)
                &&  (mes.valueOf()<13) && (dia<=getDays(mes,anio)) ){
            var fecha = new Date(anio,mes-1,dia);
            var n = fecha.getTime();
            fecha = null;
            return n;
        } else {
            return NaN;
        }
    }
    return NaN;
}

/* Esta funcion sirve para filtrar cualquier tipo de caracter que no sea numerico */
function controlFecha(e) {
    var key;
    var keychar;
    var reg;

    if(window.event) {
        key = e.keyCode; 	// for IE, e.keyCode or window.event.keyCode can be used
    } else if(e.which) {
        key = e.which; 		// netscape
    } else {
        return true; 		// no event, so pass through
    }

    keychar = String.fromCharCode(key);
    reg = /\d/;// number         backspace    delete	   enter            /     
    return (reg.test(keychar) || key == 8 || key == 127 || key == 13 || key == 47 );
}

