function formOverlayForwardToAdvancedSearch(lang, formNumber) {
    document.forms[formNumber].action = "advanced_search.html?L=" + lang;
    document.forms[formNumber].submit();
}

function formForwardToAdavncedSearch(submitedForm) {
    var url     = "advanced_search.html?";
    var urlTemp = "";

    if(submitedForm.destination) {
        urlTemp += "destination=" + submitedForm.destination.value;
    }
    
    if(submitedForm.L) {
        if(urlTemp.length > 0) {
            urlTemp += "&L=" + submitedForm.L.value;
        } else {
            urlTemp += "L=" + submitedForm.L.value;
        }
    }
    
    if(submitedForm.arrivalDate) {
        if(urlTemp.length > 0) {
            urlTemp += "&arrivalDate=" + submitedForm.arrivalDate.value;
        } else {
            urlTemp += "arrivalDate=" + submitedForm.arrivalDate.value;
        }
    }
    
    if(submitedForm.departureDate) {
        if(urlTemp.length > 0) {
            urlTemp += "&departureDate=" + submitedForm.departureDate.value;
        } else {
            urlTemp += "departureDate=" + submitedForm.departureDate.value;
        }
    }
    
    if(submitedForm.selectRooms) {
        if(urlTemp.length > 0) {
            urlTemp += "&selectRooms=" + submitedForm.selectRooms.value;
        } else {
            urlTemp += "selectRooms=" + submitedForm.selectRooms.value;
        }
    }
    
    if(submitedForm.selectAdults0) {
        if(urlTemp.length > 0) {
            urlTemp += "&selectAdults0=" + submitedForm.selectAdults0.value;
        } else {
            urlTemp += "selectAdults0=" + submitedForm.selectAdults0.value;
        }
    }
    
    if(submitedForm.selectAdults1) {
        if(urlTemp.length > 0) {
            urlTemp += "&selectAdults1=" + submitedForm.selectAdults1.value;
        } else {
            urlTemp += "selectAdults1=" + submitedForm.selectAdults1.value;
        }
    }
    
    if(submitedForm.selectAdults2) {
        if(urlTemp.length > 0) {
            urlTemp += "&selectAdults2=" + submitedForm.selectAdults2.value;
        } else {
            urlTemp += "selectAdults2=" + submitedForm.selectAdults2.value;
        }
    }
    
    if(submitedForm.selectAdults3) {
        if(urlTemp.length > 0) {
            urlTemp += "&selectAdults3=" + submitedForm.selectAdults3.value;
        } else {
            urlTemp += "selectAdults3=" + submitedForm.selectAdults3.value;
        }
    }
    
    if(submitedForm.selectChildren0) {
        if(urlTemp.length > 0) {
            urlTemp += "&selectChildren0=" + submitedForm.selectChildren0.value;
        } else {
            urlTemp += "selectChildren0=" + submitedForm.selectChildren0.value;
        }
    }
    
    if(submitedForm.selectChildren1) {
        if(urlTemp.length > 0) {
            urlTemp += "&selectChildren1=" + submitedForm.selectChildren1.value;
        } else {
            urlTemp += "selectChildren1=" + submitedForm.selectChildren1.value;
        }
    }
    
    if(submitedForm.selectChildren2) {
        if(urlTemp.length > 0) {
            urlTemp += "&selectChildren2=" + submitedForm.selectChildren2.value;
        } else {
            urlTemp += "selectChildren2=" + submitedForm.selectChildren2.value;
        }
    }
    
    if(submitedForm.selectChildren3) {
        if(urlTemp.length > 0) {
            urlTemp += "&selectChildren3=" + submitedForm.selectChildren3.value;
        } else {
            urlTemp += "selectChildren3=" + submitedForm.selectChildren3.value;
        }
    }
    
    url += urlTemp;
    window.location.href = url;
}

function alterRows(formular) {
    for(i = 0; i < 4; i++) {
        if(i < formular.selectRooms.value) {
            document.getElementById("roomRow" + i).style.display = "block";
        } else {
            document.getElementById("roomRow" + i).style.display = "none";
        }
    }
}

function showAges(row) {
    for(i = 1; i < 4; i++) {
        if(i <= document.getElementsByName("selectChildren" + row)[0].value) {
            document.getElementById("childAge" + row + "_" + i).style.display = "block";
        } else {
            document.getElementById("childAge" + row + "_" + i).style.display = "none";
        }
    }
}

function checkDate(formular) {
    var date           = new Date();
    var year           = date.getFullYear();
    var month          = date.getMonth() + 1;
    var day            = date.getDate();
    var message        = "";
    var invalid_date   = 0;
    var doc_date_input = document.getElementById(formular);

    if (doc_date_input.value.length == 0) {
        return false;
    }

    if (!gueltigesDatum(doc_date_input.value)) {
        invalid_date = 1;
        alert("Please enter date in format dd.mm.yyyy");
    }
    if(day.toString().length == 1) {
        newDay = "0" + day.toString();
    } else {
        newDay = day.toString();
    }

    if(month.toString().length == 1) {
        newMonth = "0" + month.toString();
    } else {
        newMonth = month.toString();
    }
    var datum = newDay + "." + newMonth + "." + year;
    if (invalid_date == 1) {
        doc_date_input.value = datum;
    }
    if(doc_date_input.value.length > 0) {
        var compareToday = year.toString() + newMonth + newDay;
        var splitInput   = doc_date_input.value.split(".");
        var compareInput = splitInput[2].toString() + splitInput[1].toString() + splitInput[0].toString();
    }

    if(parseInt(compareInput, "10") < parseInt(compareToday, "10")) {
        doc_date_input.value = datum;
    }

    if(document.getElementById("arrivalDate").value.length != 0 &&
       document.getElementById("departureDate").value.length != 0) {

        splitInput           = document.getElementById("arrivalDate").value.split(".");
        var compareArrival   = splitInput[2].toString() + splitInput[1].toString() + splitInput[0].toString();
        splitInput           = document.getElementById("departureDate").value.split(".");
        var compareDeparture = splitInput[2].toString() + splitInput[1].toString() + splitInput[0].toString();

        if(compareDeparture < compareArrival) {
            splitInput = document.getElementById("arrivalDate").value.split(".");
            splitInput[0].toString();
            splitInput[1].toString();
            splitInput[2].toString();

            var newdepartureDate = new Date(new Date(parseInt(splitInput[2], 10), (parseInt(splitInput[1], 10) - 1), parseInt(splitInput[0], 10)).getTime()+(2*24*60*60*1000));

            if(newdepartureDate.getDate() < 10) {
                day   = "0" + newdepartureDate.getDate();
            } else {
                day   = newdepartureDate.getDate();
            }

            if((newdepartureDate.getMonth() + 1) < 10) {
                month = "0" + (newdepartureDate.getMonth() + 1);
            } else {
                month = (newdepartureDate.getMonth() + 1);
            }

            year  = newdepartureDate.getFullYear();

            document.getElementById("departureDate").value = day + "." + month + "." + year;
        }

        if(message.length != 0) {
            alert(message);
        }

    }

}

function gueltigesDatum(datum) {
    if(!datum) {
        return false;
    }
    datum = datum.toString();

    datum = datum.split(".");
    if(datum[0].toString().length == 2 && datum[1].toString().length == 2 && datum[2].toString().length == 4) {
        return true; 
    } else {
        return false;
    }
}

function showSiteLoading() {
    var objImg, strBG = null;
    // +@ TP 2011/03/22 Preload the bg image due to the IE's causing problems
    if(jQuery.browser.msie && jQuery.browser.version == "9.0")
    {
        strBG = $("#loading_image").css("background-image");
        strBG = strBG.substr(5, strBG.length - 7);
        objImg = new Image();
        objImg.onload = function () {
            $("select").fadeOut();
            $("#loading_overlay").css("display", "block");
            $("#loading_image").css("display", "block");
            $("#loading").css("display", "block");
            $("#loading").html('<img src="fileadmin/images/global/loader.gif" />');
        };
        objImg.src = strBG;
    }
    else
    {
        $("select").fadeOut();
        $("#loading_overlay").css("display", "block");
        $("#loading_image").css("display", "block");
        $("#loading").css("display", "block");
        $("#loading").html('<img src="fileadmin/images/global/loader.gif" />');
    }
}

/*
function showSiteLoading() {
    $("select").fadeOut();
    $("#loading_overlay").css("display", "block");
    $("#loading_image").css("display", "block");
    $("#loading").css("display", "block");
    $("#loading").html('<img src="fileadmin/images/global/loader.gif" />');

}*/

function checkInputUserData(form, callbackOnSuccess) {
    var message = "";

    if (form == 'searchform') {
        //if($("input[name='destination']").val() == "") {
        if($("#destination").val() == "") {
            message = $("#formsearch_input_err_dest").val();
        }
    }
    
    if(form == 'RateForm') {
        if($("#RateForm input[name='agb']").is(':checked') == true) {
            if ($("#RateForm input[name='email']").val() == '' ||
                $("#RateForm input[name='zeitpunkt']").val() == '' ||
                $("#RateForm textarea[name='critic']").val() == '' ||
                !$("#RateForm input:radio[name='rating']:checked").val()) {
                errror  = false;
                message = $("#rate_form_input_err_email_critic").val();
            } else {
                error = true;
            }
        } else {
            message = $("#rate_form_input_err_agb_critic").val();
            error = false;
        }
    }
    
    if(message != "") {
        alert(message);
        return false;
    } else {
        if(form != "RateForm") {
            showSiteLoading();
        }
        if ($.isFunction(callbackOnSuccess)) {
            callbackOnSuccess.call();
        }
        return true;
    }
}

function count_amenities(formular, gruppe) {
    var anzahlMarkiert = 0.
    var maxErlaubt = 3;

    for (var i = 0; i < formular.elements[gruppe].length; i++) {
        if (formular.elements[gruppe][i].checked == true) {
            anzahlMarkiert++;
         } 
         if (anzahlMarkiert === maxErlaubt) {
            break;
         }
    }

    if(anzahlMarkiert === maxErlaubt) {
        for(var i = 0; i < formular.elements[gruppe].length; i++) {
            if(formular.elements[gruppe][i].checked == false) {
                formular.elements[gruppe][i].disabled = true;
            }
        }
    } else {
        for(var i = 0; i < formular.elements[gruppe].length; i++) {
            formular.elements[gruppe][i].disabled = false;
        }
    }
}


/**
 * This function is needed for the overlay search form.
 */
function showOverlaySearchform(destinationId, sortMethod, hotelId, formAction, propertyName) {
    
    if($('#checkDestinationId')) {
        $('#overlayDestinationId').val($('#checkDestinationId').val());
    }
    
    if(destinationId) {
        $("input[name='destinationId']").val($("input[name='" + destinationId + "']").val());
    }
    if(sortMethod) {
        $("input[name='sortMethod']").val(sortMethod);
    }
    if(hotelId) {
        $("input[name='hotelId']").val(hotelId);
    }
    if(propertyName) {
        $("input[name='propertyName']").val(propertyName);
    }
    if(document.getElementById("historyBack")) {
        $("input[name='historyBack']").val(document.getElementById("historyBack").value);
        $("input[name='returnHome']").val("1");
    }
    if(document.getElementById("destination")) {
        $("input[name='destination']").val(document.getElementById("destination").value);
    }
    if(document.getElementById("searchLandmark")) {
        $("input[name='searchLandmark']").val(document.getElementById("searchLandmark").value);
    }
    if(document.getElementById("propertyName")) {
        $("input[name='propertyName']").val(document.getElementById("propertyName").value);
    }
    if(formAction) {
        if(formAction == "detail") {
            action = document.getElementById("overlayFormSearch").action.replace(/results.html/g, "hotel_details.html");
            document.getElementById("overlayFormSearch").action = action;
        }
    }
    
    $("#loading_overlay, #form_overlay").show();
}


/**
 * Preloading images that are imbedded in css.
 */
jQuery.preloadCssImages = function(settings){
    var settings = jQuery.extend({
    	statusTextEl: null,
    	statusBarEl: null
    }, settings);

    var allImgs = [];
    var k = 0;
    var sheets = document.styleSheets;

    for(var i = 0; i<sheets.length; i++){
    	var cssPile = '';
    	var csshref = sheets[ i ].href ? sheets[ i ].href : 'window.location.href';
    	var baseURLarr = csshref.split('/');
    	baseURLarr.pop();
    	var baseURL = baseURLarr.join('/');
    	if(baseURL!==""){
    			baseURL+='/';
    	}
    	if(document.styleSheets[ i ].cssRules){
    		var thisSheetRules = document.styleSheets[ i ].cssRules;
    		for(var j = 0; j<thisSheetRules.length; j++){
    			cssPile+= thisSheetRules[j].cssText;
    		}
    	}
    	else {
    		cssPile+= document.styleSheets[ i ].cssText;
    	}

    	var imgUrls = cssPile.match(/[^\(]+\.(gif|jpg|jpeg|png)/g);
    	var loaded = 0;
    	if(imgUrls !== null && imgUrls.length>0 && imgUrls !== ''){
    		var arr = jQuery.makeArray(imgUrls);
    		jQuery(arr).each(function(){
    			allImgs[ k ] = new Image();
    			allImgs[ k ].src = (this.charAt(0) == '/' || this.match('http://')) ? this : baseURL + this;

    			$(allImgs[ k ]).load(function(){
    					loaded++;
    					if(settings.statusTextEl) {$(settings.statusTextEl).html('<span class="numLoaded">'+loaded+'</span> of <span class="numTotal">'+allImgs.length+'</span> loaded (<span class="percentLoaded">'+(loaded/allImgs.length*100).toFixed(0)+'%</span>) <span class="currentImg">Now Loading: <span>'+allImgs[loaded-1].src.split('/')[allImgs[loaded-1].src.split('/').length-1]+'</span></span>');
    				}
    				if(settings.statusBarEl) {
    					var barWidth = $(settings.statusBarEl).width();
    					$(settings.statusBarEl).css('background-position', -(barWidth-(barWidth*loaded/allImgs.length).toFixed(0))+'px 50%');
    				}
    			});
    			k++;
    		});
    	}
    }
    return allImgs;
};

function openWindowRateRules(params) {
    window.open("http://www.hotel.es/index.php?id=281" + params, '', "height=600, width=580, left=300, top=300, scrollbars=yes, resizeable=yes, toolbar=no, status=no");
}

function switchTab(tabId) {
    switch(tabId) {
        case 1:
            $("#tabs1").css('visibility', 'visible');
            $("#tabs1").removeClass('ui-tabs-hide');
            $("#showDescription").addClass('ui-state-active');
            
            $("#tabs2").css('visibility', 'hidden');
            $("#tabs2").addClass('ui-tabs-hide');
            $("#showMap").removeClass('ui-state-active');
            
            $("#tabs3").css('visibility', 'hidden');
            $("#tabs3").addClass('ui-tabs-hide');
            $("#showRooms").removeClass('ui-state-active');
            
            $("#tabs4").css('visibility', 'hidden');
            $("#tabs4").addClass('ui-tabs-hide');
            $("#showCritics").removeClass('ui-state-active');
            break;
            
        case 2:
            $("#tabs1").css('visibility', 'hidden');
            $("#tabs1").addClass('ui-tabs-hide');
            $("#showDescription").removeClass('ui-state-active');
            
            $("#tabs2").css('visibility', 'visible');
            $("#tabs2").removeClass('ui-tabs-hide');
            $("#showMap").addClass('ui-state-active');
            
            $("#tabs3").css('visibility', 'hidden');
            $("#tabs3").addClass('ui-tabs-hide');
            $("#showRooms").removeClass('ui-state-active');
            
            $("#tabs4").css('visibility', 'hidden');
            $("#tabs4").addClass('ui-tabs-hide');
            $("#showCritics").removeClass('ui-state-active');
            break;
            
        case 3:
            $("#tabs1").css('visibility', 'hidden');
            $("#tabs1").addClass('ui-tabs-hide');
            $("#showDescription").removeClass('ui-state-active');
            
            $("#tabs2").css('visibility', 'hidden');
            $("#tabs2").addClass('ui-tabs-hide');
            $("#showMap").removeClass('ui-state-active');
            
            $("#tabs3").css('visibility', 'visible');
            $("#tabs3").removeClass('ui-tabs-hide');
            $("#showRooms").addClass('ui-state-active');
            
            $("#tabs4").css('visibility', 'hidden');
            $("#tabs4").addClass('ui-tabs-hide');
            $("#showCritics").removeClass('ui-state-active');
            break;
            
        case 4:
            $("#tabs1").css('visibility', 'hidden');
            $("#tabs1").addClass('ui-tabs-hide');
            $("#showDescription").removeClass('ui-state-active');
            
            $("#tabs2").css('visibility', 'hidden');
            $("#tabs2").addClass('ui-tabs-hide');
            $("#showMap").removeClass('ui-state-active');
            
            $("#tabs3").css('visibility', 'hidden');
            $("#tabs3").addClass('ui-tabs-hide');
            $("#showRooms").removeClass('ui-state-active');
            
            $("#tabs4").css('visibility', 'visible');
            $("#tabs4").removeClass('ui-tabs-hide');
            $("#showCritics").addClass('ui-state-active');
            break;
    }
}
