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)

        // Add the onchange event handler to the start date input
        datePickerController.addEvent(document.getElementById("arrival"), "change", 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)

        try {
                var sd = datePickerController.getDatePicker("arrival");
                var ed = datePickerController.getDatePicker("departure");
        } catch (err) {
                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, 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
		dt = parseInt(dt);
		dt = dt + 1;
        // 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
		// Set the low range of the second datePicker to be the date parsed from the first
		
		// 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
		ed.setRangeLow( dt );
		var edv = datePickerController.dateFormat(document.getElementById("departure").value, ed.format.charAt(0) == "m");
		if(edv <= dt){
				sd.date.setTime((sd.date.getTime()) + 1000*60*60*24);
				var dd1 = sd.date.getDate();
				var dd2 = sd.date.getMonth()+1;
				var dd3 = sd.date.getFullYear();
				
				dd1 = (dd1 < 10) ? '0' + dd1 : dd1;
				dd2 = (dd2 < 10) ? '0' + dd2 : dd2;

				document.getElementById("departure").value = dd1+"."+dd2+"."+dd3;
				
		}
}

function removeInputEvents() {
        // Remove the onchange event handler set within the function initialiseInputs
        datePickerController.removeEvent(document.getElementById("arrival"), "change", setReservationDates);
}

datePickerController.addEvent(window, 'load', initialiseInputs);
datePickerController.addEvent(window, 'unload', removeInputEvents);

