//eigener Namespace
var YMHotelAvailability = function()
{
	// bool das angibt, ob der Wert des BIS-Datepickers vom Anwender geändert wurde.
    var wasManuallyChanged = false;
	
	// Text des Kalender-Buttons
    var buttonText = "";
	
	// Pfad zum Kalender-Icon
    var buttonImage = "../Layout/Images/Generic/Calendar.gif";
	
	// Dauer der Datepicker Einblende/Ausblende-Animation. "slow", "normal", "fast" oder "" für keine Animation.
    var datepickerAnimDuration = "normal";
    
    return {
    
		//Entfernen von "z.B. " des DefaultWertes
        validateInput: function()
        {
            var ZipTown = document.getElementById('DatePickerZipTown');
            if (ZipTown && ZipTown.value.length > 5 && ZipTown.value.substr(0, 5) == "z.B. ") 
            {
                ZipTown.value = ZipTown.value.substr(5, ZipTown.value.length);
            }
        },
        
        init: function()
        {
			//onselect-Funktion für den VON-DatePicker. Setzt das minimum-Datum für den BIS-Datepicker.
            function onSelect(dateText, inst)
            {
                var selectedFromDate = $("#DatePickerFromInp").datepicker('getDate');
                var selectedToDate = $("#DatePickerFromInp").datepicker('getDate');
                
                selectedFromDate.setDate(selectedFromDate.getDate() + 1);
                $("#DatePickerUntilInp").datepicker('option', 'minDate', selectedFromDate);
                if (wasManuallyChanged) 
                {
                    return;
                }
                $("#DatePickerUntilInp").datepicker('setDate', selectedFromDate);
            }
            
			//onselect-Funktion für den BIS-DatePicker.
            function onSelect2(dateText, inst)
            {
                wasManuallyChanged = true;
            }
            
            $(document).ready(function()
            {
            
				//Datepicker Locale Einstellungen setzen.
                $.datepicker.regional['de'] = {
                    closeText: 'Schlie&szlig;en',
                    prevText: '&#x3c;Zur&uuml;ck',
                    nextText: 'Vor&#x3e;',
                    currentText: 'Heute',
                    monthNames: ['Januar', 'Februar', 'M&auml;rz', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
                    monthNamesShort: ['Jan', 'Feb', 'M&auml;r', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],
                    dayNames: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],
                    dayNamesShort: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
                    dayNamesMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
                    dateFormat: 'dd.mm.yy',
                    firstDay: 1,
                    isRTL: false
                };
                
                if ($.browser.msie && $.browser.version < 7) 
                {
                    //Animationen machen im IE6 ggf. Probleme.
                    datepickerAnimDuration = "";
                }
                
				//Datepicker Locale Einstellungen übernehmen
                $.datepicker.setDefaults($.datepicker.regional['de']);
                
                var minDate = new Date();
                
				//Datepicker einbauen
                $("#DatePickerFromInp").datepicker({
                    duration: datepickerAnimDuration,
                    onSelect: onSelect,
                    minDate: minDate,
                    showOn: 'both',
                    buttonImage: buttonImage,
                    buttonImageOnly: true,
                    buttonText: buttonText
                });
                $("#DatePickerUntilInp").datepicker({
                    duration: datepickerAnimDuration,
                    onSelect: onSelect2,
                    minDate: 1,
                    showOn: 'both',
                    buttonImage: buttonImage,
                    buttonImageOnly: true,
                    buttonText: buttonText
                });
                
				// Falls kein Datumswert in der Session stand, setzen wir "heute" als vorbefüllten Datepicker-Wert
                if ($("#DatePickerFromInp").val().length < 1) 
                {
                    $("#DatePickerFromInp").datepicker('setDate', minDate);
                    $("#DatePickerUntilInp").datepicker('setDate', 1);
                }
                
				// Bei submit des HotelAvilabilityForm-Formulars die validateInput-function ausführen.
                $("#HotelAvilabilityForm").submit(YMHotelAvailability.validateInput);
            });
        }
    };
}();

YMHotelAvailability.init();
