$(document).ready(function() {
    iniciarDatePicker();
});

function iniciarDatePicker() {
    $.datepicker.regional["en"] = {
        prevText: '',
        prevStatus: '',
        nextText: '',
        nextStatus: '',
        dayStatus: 'DD',
        dateStatus: 'D, M d',
        dateFormat: 'dd/mm/yy',
        firstDay: 0,
        initStatus: '',
        isRTL: false
    };
    $.datepicker.regional["es"] = {
        clearText: 'Limpiar',
        clearStatus: '',
        closeText: 'Cerrar',
        closeStatus: '',
        prevText: '',
        prevStatus: '',
        prevBigText: '&#x3c;&#x3c;',
        prevBigStatus: '',
        nextText: '',
        nextStatus: '',
        nextBigText: '&#x3e;&#x3e;',
        nextBigStatus: '',
        currentText: 'Hoy',
        currentStatus: '',
        monthNames: ['Enero','Febrero','Marzo','Abril','Mayo','Junio',
        'Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'],
        monthNamesShort: ['Ene','Feb','Mar','Abr','May','Jun',
        'Jul','Ago','Sep','Oct','Nov','Dic'],
        monthStatus: '',
        yearStatus: '',
        weekHeader: 'Sm',
        weekStatus: '',
        dayNames: ['Domingo','Lunes','Martes','Mi&eacute;rcoles','Jueves','Viernes','S&aacute;dabo'],
        dayNamesShort: ['Dom','Lun','Mar','Mi&eacute;','Juv','Vie','S&aacute;b'],
        dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','S&aacute;'],
        dayStatus: 'DD',
        dateStatus: 'D, M d',
        dateFormat: 'dd/mm/yy',
        firstDay: 1,
        initStatus: '',
        isRTL: false
    };
    $.datepicker.regional['fr'] = {
        clearText: 'Effacer',
        clearStatus: '',
        closeText: 'Fermer',
        closeStatus: 'Fermer sans modifier',
        prevText: '<PrÃ©c',
        prevStatus: 'Voir le mois prÃ©cÃ©dent',
        nextText: 'Suiv>',
        nextStatus: 'Voir le mois suivant',
        currentText: 'Courant',
        currentStatus: 'Voir le mois courant',
        monthNames: ['Janvier','FÃ©vrier','Mars','Avril','Mai','Juin',
        'Juillet','AoÃ»t','Septembre','Octobre','Novembre','DÃ©cembre'],
        monthNamesShort: ['Jan','FÃ©v','Mar','Avr','Mai','Jun',
        'Jul','AoÃ»','Sep','Oct','Nov','DÃ©c'],
        monthStatus: 'Voir un autre mois',
        yearStatus: 'Voir un autre annÃ©e',
        weekHeader: 'Sm',
        weekStatus: '',
        dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
        dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'],
        dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'],
        dayStatus: 'Utiliser DD comme premier jour de la semaine',
        dateStatus: 'Choisir le DD, MM d',
        dateFormat: 'dd/mm/yy',
        firstDay: 0,
        initStatus: 'Choisir la date',
        isRTL: false
    };
    if ($("html").attr("lang")!="") {
        $.datepicker.setDefaults($.datepicker.regional[$("html").attr("lang")]);
    } else {
        $.datepicker.setDefaults($.datepicker.regional["es"]);
    }
    $(".cal_inicio, .cal_fin").datepicker({
        beforeShow: verificaRango
    });
    $(".cal").datepicker();
}
function verificaRango(campo) {
    var rel = $(campo).attr("rel");
    var minimo = null;
    var maximo = null;
    var act = new Date();
    var inicio = $(campo).hasClass("cal_inicio") ? campo : $(".cal_inicio[rel="+rel+"]");
    var fin =  $(campo).hasClass("cal_fin") ? campo : $(".cal_fin[rel="+rel+"]");
    var campo_inicio = $(inicio).attr("value")!="" ? diaMesAnoDateSumaDia($(inicio).datepicker("getDate"), 1) : null;
    if ($(campo).hasClass("cal_inicio")) {
        var minimo = diaMesAnoDateSumaDia(act, 1);
        var maximo = null;
    } else {
        var minimo = campo_inicio;
    }
    return {
        minDate: minimo,
        maxDate: maximo
    };
}
function diaMesAnoDate(fecha) {
    if (fecha) {
        var t = fecha.split("/");
        return new Date(t[2],t[1]-1,t[0]);
    } else {
        return null;
    }
}
function diaMesAnoDateSumaDia(act, dias) {
    act.setDate(act.getDate()+dias);
    return act;
}
