//<![CDATA[/*        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("sd").value = "";        //document.getElementById("ed").value = "";        // Add the onchange event handler to the start date input        //document.getElementById("sd").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(!("sd" 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["sd"].format.charAt(0) == "m");        // 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("ed").value, datePickerController.datePickers["ed"].format.charAt(0) == "m");        // Grab the end date datePicker Objects        var ed = datePickerController.datePickers["ed"];        ed.setRangeLow( dt );        // 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("ed").value = "";        }}datePickerController.addEvent(window, 'load', initialiseInputs);//]]>