var startDate = null;
var endDate = null;

function getSelectionSimpleHandler(input_display,input_hidden) {
    return function(cal) {
        var selectionObject = cal.selection;
        var selectedDate = selectionObject.get();
        var date = Calendar.intToDate(selectedDate);
        document.getElementById(input_display).value = Calendar.printDate(date,"%d-%m-%Y");
        document.getElementById(input_hidden).value = Calendar.printDate(date,"%Y-%m-%d");
        cal.hide();
    }
}

function getSelectionHandler(deb_display,fin_display,deb,fin) {
    var ignoreEvent = false;
    return function(cal) {
        var selectionObject = cal.selection;

        // avoid recursion, since selectRange triggers onSelect
        if (ignoreEvent) return;

        var selectedDate = selectionObject.get();
        if (startDate == null) {
            startDate = selectedDate;
        } else {
            ignoreEvent = true;
            selectionObject.selectRange(startDate, selectedDate);
            endDate = selectedDate;
            ignoreEvent = false;
            var SELECTED_RANGE = selectionObject.sel[0];

            var date = Calendar.intToDate(startDate);
            var date2 = Calendar.intToDate(endDate);
            document.getElementById(deb_display).value = Calendar.printDate(date,"%d-%m-%Y");
            document.getElementById(fin_display).value = Calendar.printDate(date2,"%d-%m-%Y");
            document.getElementById(deb).value = Calendar.printDate(date,"%Y-%m-%d");
            document.getElementById(fin).value = Calendar.printDate(date2,"%Y-%m-%d");

            startDate = null;
            endDate = null;
            selectionObject.clear(true);
            cal.hide();
        }
    };
};

function resetCal(cal) {
    cal.selection.clear(true);
    startDate = null;
    endDate = null;
};
