/*
        A "Reservation Date" example using two datePickers
        --------------------------------------------------

        * Functionality

        1. When the page loads:
                - We clear the value of the two inputs (to clear any values cached by the browser)
                - We set an "onchange" event handler on the startDate input to call the setReservationDates function
        2. When a start date is selected
                - We set the low range of the endDate datePicker to be the start date the user has just selected
                - If the endDate input already has a date stipulated and the date falls before the new start date then we clear the input's value

        * Caveats (aren't there always)

        - This demo has been written for dates that have NOT been split across three inputs

*/

function makeTwoChars(inp) {
        return String(inp).length < 2 ? "0" + inp : inp;
}

function initialiseInputs() {
        // Clear any old values from the inputs (that might be cached by the browser after a page reload)
        document.getElementById("date").value = "";
        document.getElementById("date1").value = "";

        // Add the onchange event handler to the start date input
        document.getElementById("date").onchange = setReservationDates;
}

var initAttempts = 0;

function setReservationDates(e) {
        // Internet Explorer will not have created the datePickers yet so we poll the datePickerController Object using a setTimeout
        // until they become available (a maximum of ten times in case something has gone horribly wrong)
        if(!("date" in datePickerController.datePickers)) {
                if(initAttempts++ < 10) setTimeout("setReservationDates()", 50);
                return;
        };

        // Check the value of the input is a date of the correct format
        var dt = datePickerController.dateFormat(this.value, datePickerController.datePickers["date"].format.charAt(0) == "m");


//CREATE A MIN DATE FOR DATE1 CALENDAR THAT IS X DAYS AHEAD OF DATE FIELD
x = 1		
var minDate = new Date(document.getElementById("date").value);
minDate.setDate(minDate.getDate() + x);

var curr_date = minDate.getDate();
curr_date = curr_date+'';
if (curr_date.length < 2) {
curr_date = ("0" + curr_date)
};

var curr_month = (minDate.getMonth() + 1);
curr_month = curr_month+'';
if (curr_month.length < 2) {
curr_month = ("0" + curr_month)
};

var curr_year = minDate.getFullYear();

strDate = ("" + curr_year + curr_month + curr_date)

	
        // If the input's value cannot be parsed as a valid date then return
        if(dt == 0) return;

        // At this stage we have a valid YYYYMMDD date

        // Grab the value set within the endDate input and parse it using the dateFormat method
        // N.B: The second parameter to the dateFormat function, if TRUE, tells the function to favour the m-d-y date format
        var edv = datePickerController.dateFormat(document.getElementById("date1").value, datePickerController.datePickers["date1"].format.charAt(0) == "m");

        // Grab the end date datePicker Objects
        var ed = datePickerController.datePickers["date1"];

        ed.setRangeLow( strDate );

        // If theres a value already present within the end date input and it's smaller than the start date
        // then clear the end date value
        if(edv < dt) {
                document.getElementById("date1").value = "";
        }
}

datePickerController.addEvent(window, 'load', initialiseInputs);