﻿
function submitHotelBookingForm(lcid, type) {
    switch (lcid) {
        case 1030:
            var errormessage = 'Privatværelser og lejligheder kan kun bookes\nonline 2 døgn inden ankomst!';
            break;
        case 1031:
            var errormessage = 'Private accommodation and apartments can only\nbe booked online 2 days prior to arrival';
            break;
        case 1033:
            var errormessage = 'Private accommodation and apartments can only\nbe booked online 2 days prior to arrival';
            break;
        case 1039:
            var errormessage = 'Private accommodation and apartments can only\nbe booked online 2 days prior to arrival';
            break;
        case 1044:
            var errormessage = 'Privatværelser og lejligheder kan kun bookes\nonline 2 døgn inden ankomst!';
            break;
        case 1053:
            var errormessage = 'Bed and breakfast och lägenheter kan endast bokas\nonline 2 dygn före ankomst!';
            break;
    }
    var dateV = document.getElementById('startDate').value;
    while (dateV.indexOf("-") != -1) dateV = dateV.replace("-", "/");
    var date = new Date(dateV);
    if (type == 'skyscraper') {
        if (document.getElementById('class').selectedIndex == 1 || document.getElementById('class').selectedIndex == 2) {
            var today = new Date();
            var oneDay = 1000 * 60 * 60 * 24
            var difference = Math.ceil((date.getTime() - today.getTime()) / (oneDay));

            if (difference == 0) {
                alert(errormessage); return false;
            } else if (difference == 1) {
                alert(errormessage); return false;
            } else if (difference == 2) {
                alert(errormessage); return false;
            }
        }
    } else {
        if (document.getElementById('class').value == '15' || document.getElementById('class').value == '14') {
            var today = new Date();
            var oneDay = 1000 * 60 * 60 * 24
            var difference = Math.ceil((date.getTime() - today.getTime()) / (oneDay));

            if (difference == 0) {
                alert(errormessage); return false;
            } else if (difference == 1) {
                alert(errormessage); return false;
            } else if (difference == 2) {
                alert(errormessage); return false;
            }
        }
    }
    $('#hotelBookingForm').submit();
    return true;
}


function moveEventResults(strDir) {
    var objForm = document.forms['Event'];
    switch (strDir) {
        case 'Previous':
            objForm.Startnr.value = objForm.StartPrevious.value;
            break;

        case 'Next':
            objForm.Startnr.value = objForm.StartNext.value;
            break;

    }
    objForm.submit();
}


function GetReadyForSearch() {
    if (document.GuideDKSearchForm.ChooserCopCardFree.checked || document.GuideDKSearchForm.ChooserCopCardDiscount.checked) {
        if (document.GuideDKSearchForm.ChooserCopCardFree.checked)
            document.GuideDKSearchForm.CopCardFree.value = '1';
        else
            document.GuideDKSearchForm.CopCardFree.value = '0';

        if (document.GuideDKSearchForm.ChooserCopCardDiscount.checked)
            document.GuideDKSearchForm.CopCardDiscount.value = '1';
        else
            document.GuideDKSearchForm.CopCardDiscount.value = '0';
    } else {
        // Empty values gives NULL in Stored procedure:
        document.GuideDKSearchForm.CopCardFree.value = '';
        document.GuideDKSearchForm.CopCardDiscount.value = '';
    }

    // Check wheelchair
    if (document.GuideDKSearchForm.ChooserWheelChair.checked)
        document.GuideDKSearchForm.WheelChair.value = '1';
    else
        document.GuideDKSearchForm.WheelChair.value = '';

    // If no category is choosen, make sure to choose all within attractions:
    var aStrCheckedIds = '';
    var aStrAllIds = '';
    for (var i = 0; i < document.getElementsByName('typeid').length; i++) {
        if (document.getElementsByName('typeid').item(i).type == 'checkbox') {
            aStrAllIds += document.getElementsByName('typeid').item(i).value + ',';
            if (document.getElementsByName('typeid').item(i).checked) {
                aStrCheckedIds += document.getElementsByName('typeid').item(i).value + ',';
                aBlnSomeChecked = true;
            };
        }
    }
    if (aStrCheckedIds.length == 0) {
        aStrAllIds = aStrAllIds.substring(0, aStrAllIds.length - 1);
        document.getElementById('cvsTypeId').value = aStrAllIds;
    } else {
        aStrCheckedIds = aStrCheckedIds.substring(0, aStrCheckedIds.length - 1);
        document.getElementById('cvsTypeId').value = aStrCheckedIds;
    }
    return true;
}

function moveToEventLocation(lngLocationId, lngCompositePageId) {
    var objForm = document.forms['Event'];
    objForm.action = '/composite-' + lngCompositePageId + '.htm';
    objForm.LocationId.value = lngLocationId;
    objForm.submit();
}

function openMapWindow(lngId, strKrakStreetNameId, strKrakStreetNumberId, lngLcid) {
    var strMapFrameSetUrl = '';
   switch (lngLcid) {
        case 1030:
            strMapFrameSetUrl = '/composite-310.htm?MapId=' + lngId;
            break;

        case 1033:
            strMapFrameSetUrl = '/composite-313.htm?MapId=' + lngId;
            break;
    }

    var winMap = window.open(strMapFrameSetUrl, 'Map', 'width=745, height=630, toolbar=no, statusbar=no, scrolling=no');
    winMap.focus();
}

function openCurrencyConverterWindow(currency, amount) {
    var strCurrencyConverterFrameSetUrl = '';

    strCurrencyConverterFrameSetUrl = '/composite-320.htm?currency=' + currency + '&amount=' + amount;

    var winCurrencyConverter = window.open(strCurrencyConverterFrameSetUrl, 'CurrencyConverter', 'width=480, height=200, toolbar=no, statusbar=no, scrolling=no');
    winCurrencyConverter.focus();
}

function renderDaySelectBox(strFormName, strElementName, lngLcid, lngMove, lngRequest) {
    document.write('<select id="' + strElementName + '" name="' + strElementName + '" class="SelectBox">');
    var dtmToday = new Date()
    var lngThisDay;
    if (lngRequest == '') {
        lngThisDay = dtmToday.getDate();
    } else {
        lngThisDay = lngRequest;
    }
    var strSelected;
    for (i = 1; i <= 31; i++) {
        strSelected = '';
        if (i == lngThisDay) { strSelected = ' selected="selected" ' }
        document.write('<option value="' + i + '" ' + strSelected + '>' + i + '</option>');
    }
    document.write('</select>');
}


function renderMonthSelectBox(strFormName, strElementName, lngLcid, lngMove, lngRequest) {
    var aryMonth = new Array();
    var aryMonthValue = new Array();
    switch (lngLcid) {
        case '1030':
            aryMonth[0] = 'Januar';
            aryMonth[1] = 'Februar';
            aryMonth[2] = 'Marts';
            aryMonth[3] = 'April';
            aryMonth[4] = 'Maj';
            aryMonth[5] = 'Juni';
            aryMonth[6] = 'Juli';
            aryMonth[7] = 'August';
            aryMonth[8] = 'September';
            aryMonth[9] = 'Oktober';
            aryMonth[10] = 'November';
            aryMonth[11] = 'December';
            break;

        case '1033':
            aryMonth[0] = 'January';
            aryMonth[1] = 'February';
            aryMonth[2] = 'March';
            aryMonth[3] = 'April';
            aryMonth[4] = 'May';
            aryMonth[5] = 'June';
            aryMonth[6] = 'July';
            aryMonth[7] = 'August';
            aryMonth[8] = 'September';
            aryMonth[9] = 'October';
            aryMonth[10] = 'November';
            aryMonth[11] = 'December';
            break;
    }

    document.write('<select id="' + strElementName + '" name="' + strElementName + '" class="SelectBox">');
    var dtmToday = new Date()
    var lngThisMonth = dtmToday.getMonth();
    if (lngRequest == '') {
        if (lngThisMonth + lngMove <= 11) {
            lngThisMonth = dtmToday.getMonth() + lngMove;
        } else {
            lngThisMonth = 1;
        }
    } else {
        lngThisMonth = lngRequest - 1;
    }
    var strSelected;
    for (i = 0; i < aryMonth.length; i++) {
        strSelected = '';
        if (i == lngThisMonth) { strSelected = ' selected="selected" ' }
        document.write('<option value="' + (i + 1) + '" ' + strSelected + '>' + aryMonth[i] + '</option>');
    }
    document.write('</select>');
}

function renderMonthNameSelectBox(strFormName, strElementName, lngLcid, lngMove, lngRequest) {
    var aryMonth = new Array();
    var aryMonthValue = new Array();
    switch (lngLcid) {
        case '1030':
            aryMonth[0] = 'Januar';
            aryMonth[1] = 'Februar';
            aryMonth[2] = 'Marts';
            aryMonth[3] = 'April';
            aryMonth[4] = 'Maj';
            aryMonth[5] = 'Juni';
            aryMonth[6] = 'Juli';
            aryMonth[7] = 'August';
            aryMonth[8] = 'September';
            aryMonth[9] = 'Oktober';
            aryMonth[10] = 'November';
            aryMonth[11] = 'December';
            aryMonthValue[0] = 'Januar';
            aryMonthValue[1] = 'Februar';
            aryMonthValue[2] = 'Marts';
            aryMonthValue[3] = 'April';
            aryMonthValue[4] = 'Maj';
            aryMonthValue[5] = 'Juni';
            aryMonthValue[6] = 'Juli';
            aryMonthValue[7] = 'August';
            aryMonthValue[8] = 'September';
            aryMonthValue[9] = 'Oktober';
            aryMonthValue[10] = 'November';
            aryMonthValue[11] = 'December';
            break;

        case '1033':
            aryMonth[0] = 'January';
            aryMonth[1] = 'February';
            aryMonth[2] = 'March';
            aryMonth[3] = 'April';
            aryMonth[4] = 'May';
            aryMonth[5] = 'June';
            aryMonth[6] = 'July';
            aryMonth[7] = 'August';
            aryMonth[8] = 'September';
            aryMonth[9] = 'October';
            aryMonth[10] = 'November';
            aryMonth[11] = 'December';
            aryMonthValue[0] = 'Januar';
            aryMonthValue[1] = 'Februar';
            aryMonthValue[2] = 'Marts';
            aryMonthValue[3] = 'April';
            aryMonthValue[4] = 'Maj';
            aryMonthValue[5] = 'Juni';
            aryMonthValue[6] = 'Juli';
            aryMonthValue[7] = 'August';
            aryMonthValue[8] = 'September';
            aryMonthValue[9] = 'Oktober';
            aryMonthValue[10] = 'November';
            aryMonthValue[11] = 'December';

            break;
    }

    document.write('<select id="' + strElementName + '" name="' + strElementName + '" class="SelectBox">');
    var dtmToday = new Date()
    var lngThisMonth = dtmToday.getMonth();
    if (lngRequest == '') {
        if (lngThisMonth + lngMove <= 11) {
            lngThisMonth = dtmToday.getMonth() + lngMove;
        } else {
            lngThisMonth = 1;
        }
    } else {
        lngThisMonth = lngRequest - 1;
    }
    var strSelected;
    for (i = 0; i < aryMonth.length; i++) {
        strSelected = '';
        if (i == lngThisMonth) { strSelected = ' selected="selected" ' }
        document.write('<option value="' + aryMonthValue[i] + '" ' + strSelected + '>' + aryMonth[i] + '</option>');
    }
    document.write('</select>');
}

function renderYearSelectBox(strFormName, strElementName, lngLcid, lngMove, lngMonthMove, lngRequest) {
    var dtmToday = new Date()
    var lngThisYear = dtmToday.getYear();
    var lngThisMonth = dtmToday.getMonth();
    if (lngRequest == '') {
        if (lngThisMonth + lngMonthMove <= 11) {
            lngThisYear = dtmToday.getFullYear() + lngMove;
        } else {
            lngThisYear = lngThisYear + lngMonthMove;
        }
    } else {
        lngThisYear = lngRequest;
    }
    var strSelected;
    document.write('<select id="' + strElementName + '" name="' + strElementName + '" class="SelectBox">');
    for (i = 2009; i <= 2011; i++) {
        strSelected = '';
        if (i == lngThisYear) { strSelected = ' selected="selected" ' }
        document.write('<option value="' + i + '" ' + strSelected + '>' + i + '</option>');
    }
    document.write('</select>');
}

function EncodeQuery(objForm) {
    if (objForm.NavigationSearchKeyword.value == '') { objForm.NavigationSearchKeyword.value = ' '; }
    objForm.IndexKeyword.value = objForm.NavigationSearchKeyword.value;
    if (objForm.IndexKeyword.value.length == 1) {
        objForm.IndexKeyword.value = objForm.IndexKeyword.value + ' ' + objForm.IndexKeyword.value;
    }
    objForm.IndexKeyword.value = URLencode(objForm.IndexKeyword.value);
    return true;
}

function URLencode(sStr) {
    var strEncoded = escape(sStr).replace(/\+/g, '%2C').replace(/\"/g, '%22').replace(/\'/g, '%27');
    strEncoded = strEncoded.replace('%F8', 'ø');
    strEncoded = strEncoded.replace('%D8', 'Ø');
    strEncoded = strEncoded.replace('%E6', 'æ');
    strEncoded = strEncoded.replace('%C6', 'Æ');
    strEncoded = strEncoded.replace('%E5', 'å');
    strEncoded = strEncoded.replace('%C5', 'Å');
    strEncoded = strEncoded.replace('%E4', 'ä');
    strEncoded = strEncoded.replace('%C4', 'Ä');
    return strEncoded
}

function UrlEncodeForISO(str1, str2) {
    var str = "http://www.visitcopenhagen.dk/preview/composite-3438.htm?";
    str += "DistrictId=" + str1
    //str += "&OtherId="+ OtherId.value +"&"
    //TypeId=&
    str += "&Keyword=" + enc(str2);
    /*&ResultsStart=
    &Page=
    &Sort=
    &SortType=
    &ViewIndex=
    &ViewStart=
    &ViewEnd=*/
    return str;
}

function enc(str) {
    return escape(str).replace(/\+/g, '%2C').replace(/\"/g, '%22').replace(/\'/g, '%27');
}

function AreYouSure(lcid, strurl) {

    switch (lcid) {
        case '1030':
            if (confirm("Er du sikker?")) { window.location.href = strurl; }
            break;
        case '1033':
            if (confirm("Are you sure?")) { window.location.href = strurl; }
            break;
    }
}

function MainSearchPage(iID) {
    var MainFormNavigationSearchAgain = document.MainFormNavigationSearchAgain;
    MainFormNavigationSearchAgain.pageIndex.value = iID;

    if (MainFormNavigationSearchAgain.Keyword.value == '') { MainFormNavigationSearchAgain.Keyword.value = ' '; }
    MainFormNavigationSearchAgain.IndexKeyword.value = MainFormNavigationSearchAgain.Keyword.value;
    if (MainFormNavigationSearchAgain.IndexKeyword.value.length == 1) {
        MainFormNavigationSearchAgain.IndexKeyword.value = MainFormNavigationSearchAgain.IndexKeyword.value + ' ' + MainFormNavigationSearchAgain.IndexKeyword.value;
    }
    MainFormNavigationSearchAgain.IndexKeyword.value = URLencode(MainFormNavigationSearchAgain.IndexKeyword.value);
    MainFormNavigationSearchAgain.submit();
}



function openMovie(intDocId, strMovieFile, intLcid) {
    var strUrl = '';
    switch (intLcid) {
        case 1030:
            strUrl = 'http://www.inspiration.visitcopenhagen.com/composite-' + intDocId + '.htm?strMoviePath=' + strMovieFile;
            break;

        case 1033:
            strUrl = 'http://www.inspiration.visitcopenhagen.com/composite-' + intDocId + '.htm?strMoviePath=' + strMovieFile;
            break;
    }
    var objWindow = window.open(strUrl, 'Movie', 'width=700, height=620, scrollbars=yes');
    objWindow.focus();
}

function openMap(intDocId, intDocParentId, strMapId, intLcid) {
    strUrl = 'http://www.inspiration.visitcopenhagen.com/composite-' + intDocId + '.htm?strMapId=' + strMapId + '&parentDocId=' + intDocParentId;
    var objWindow = window.open(strUrl, 'Map', 'width=700, height=588, scrollbars=yes');
    objWindow.focus();
}

function openMapWindowGoogle(lat, lng) {

    var objWindow = window.open('/GuideDk_GoogleMap.htm?lat=' + lat + '&lng=' + lng, 'Map', 'width=500, height=300, scrollbars=yes');
    objWindow.focus();
}


function openPage(strUrl, intLcid) {
    var objWindow = window.open(strUrl, 'Page', 'width=700, height=588, scrollbars=yes, resizable=1');
    objWindow.focus();
}


function fncValidateForm(aryArgs, lngLCID) {
    // v3.0 browsers
    // This function validates forms
    // The input is an array of arguments with 3 arguments per form field
    // The array must have this syntax: 'Form field name', 'Text to alert in case of error', 'Type of validation'
    // Example: 'companyName', 'Company name', 'R', 'email', 'Email', 'RisEmail'
    // Requires the function fncFindObj()
    // Version 1.0, dec 2000, by Søren Larsen
    var objField; // The form field object matching the given field name
    var strFieldAlertText; // The given text that represent the form field in the alert box
    var strTypeOfValidation; // The given validation string
    // Possible values: 
    // - R - input is required
    // - RisEmail - input is required, must be an email address (one or more characters + @ + 3 or more characters and at least one dot after the first lette after the @)
    // - NisEmail - input is NOT required, but if input is given it must be an email address
    // - RisChecked2:3 - input is required, between 2 and 3 of the checkboxes must checked
    // - NisChecked0:3 - input is not required, no more that 3 of the checkboxes can be checked
    // - RisNum - input is required, must be a number
    // - NisNum - input is NOT required, but if input is given it must be a number
    // - RinRange10:400 - input is required, must be a number in this case in the range 10 to 400
    // - NinRange1:5 - input is NOT required, but if input is given it must be a number in this case in the range 1 to 5
    var i; // Counter for iterations
    var pAt; // Pointer for email '@'
    var pDot; // Pointer for email '.'
    var lngCheckedFields; // Count number of checked checkboxes
    var n; // Counter for array of checkboxes / radio buttons
    var pColon; // Pointer for ':' in numeric ranges
    var lngMin; // Minimum value for numeric ranges
    var lngMax; // Maximum value for numeric ranges
    var strErrors = ''; // Used to build string for alert box

    if (lngLCID == 1030) {
        var strMsgGeneral1 = 'Du mangler at udfylde nogle felter.';
        var strMsgGeneral2 = 'Udfyld venligst:';
        var strMsgGeneral3 = 'og send formularen igen.';
        var strMsgIsEmail = 'skal indeholde en gyldig email-adresse';
        var strMsgIsChecked1 = ' (du må ikke markere flere end ';
        var strMsgIsChecked2 = ' (du skal markere mindst ';
        var strMsgIsChecked3 = ' (du skal markere ';
        var strMsgIsChecked4 = ' (du skal markere mellem ';
        var strMsgIsChecked5 = ' af checkboksene';
        var strMsgIsNum = 'skal være et tal';
        var strMsgInRange1 = ' (skal være et tal mellem ';
        var strMsgAnd = ' og ';
    }
    else {
        var strMsgGeneral1 = 'You need to specify aditional information.';
        var strMsgGeneral2 = 'Please fill in:';
        var strMsgGeneral3 = 'and submit again.';
        var strMsgIsEmail = 'must contain a valid e-mail address';
        var strMsgIsChecked1 = ' (you must check no more than ';
        var strMsgIsChecked2 = ' (you must check at least ';
        var strMsgIsChecked3 = ' (you must check ';
        var strMsgIsChecked4 = ' (you must check between ';
        var strMsgIsChecked5 = ' of the checkboxes';
        var strMsgIsNum = 'must contain a number';
        var strMsgInRange1 = ' (must contain a number between ';
        var strMsgAnd = ' and ';
    }

    for (i = 0; i < (aryArgs.length - 2); i += 3) {
        objField = fncFindObj(aryArgs[i]);
        if (objField) {
            valField = objField.value;
            strFieldAlertText = aryArgs[i + 1];
            strTypeOfValidation = aryArgs[i + 2];

            // save status of array of checkboxes or radio buttons in variable.
            lngCheckedFields = 0
            if (objField.type == "checkbox" || objField.type == "radio" || (isArray(objField) && (objField[1].type == "checkbox" || objField[1].type == "radio")))
                if (objField.checked) // Mark if only one checkbox exists i.e. there is no array (possible in dynamic arrays)
                lngCheckedFields = 1;
            else
                for (n = 0; n < objField.length; n++)
                if (objField[n].checked)
                lngCheckedFields++;

            if ((valField == '') || (valField == null && lngCheckedFields == 0) || ((objField.type == "checkbox" || objField.type == "radio") && objField.checked == false)) { // If no input was given
                if (strTypeOfValidation.charAt(0) == 'R') { // and input is required
                    strErrors += '- ' + strFieldAlertText + '\n'; //build error string
                }
            }
            else { // Input was given
                if (strTypeOfValidation.indexOf('isEmail') != -1) {
                    pAt = valField.indexOf('@')
                    pDot = valField.indexOf('.', pAt)
                    if (pAt < 1 || pAt == (valField.length - 3) || pDot < 1 || pDot == (valField.length - 1))
                        strErrors += '- ' + strFieldAlertText + ' (' + strMsgIsEmail + ')\n';
                }
                else if (strTypeOfValidation.indexOf('isChecked') != -1) {
                    pColon = strTypeOfValidation.indexOf(':');
                    lngMin = strTypeOfValidation.substring(10, pColon);
                    lngMax = strTypeOfValidation.substring(pColon + 1);
                    if (lngCheckedFields < lngMin || lngMax < lngCheckedFields) {
                        if (lngMin == 0)
                            strErrors += '- ' + strFieldAlertText + strMsgIsChecked1 + lngMax + strMsgIsChecked5 + ')\n';
                        else if ((lngMax == 9999) && (lngCheckedFields > 9998)) //9999 means unlimited
                            strErrors += '- ' + strFieldAlertText + strMsgIsChecked2 + lngMin + strMsgIsChecked5 + ')\n';
                        else if (lngMin == lngMax)
                            strErrors += '- ' + strFieldAlertText + strMsgIsChecked3 + lngMin + strMsgIsChecked5 + ')\n';
                        else
                            strErrors += '- ' + strFieldAlertText + strMsgIsChecked4 + lngMin + strMsgAnd + lngMax + strMsgIsChecked5 + ')\n';
                    }
                }
                else if (strTypeOfValidation != 'R') { // The rest of the validation types are numeric
                    if (valField != '' + parseFloat(valField))
                        strErrors += '- ' + strFieldAlertText + ' (' + strMsgIsNum + ')\n';
                    else { // Value is a number
                        if (strTypeOfValidation.indexOf('inRange') != -1) {
                            pColon = strTypeOfValidation.indexOf(':');
                            lngMin = strTypeOfValidation.substring(8, pColon);
                            lngMax = strTypeOfValidation.substring(pColon + 1);
                            if (lngMin * 1 > valField * 1 || valField * 1 > lngMax * 1)
                                strErrors += '- ' + strFieldAlertText + strMsgInRange1 + lngMin + strMsgAnd + lngMax + ')\n';
                        }
                    }
                }
            }
        } // Field not found
    } // End of loop
    if (strErrors) {
        alert(strMsgGeneral1 + '\n\n' + strMsgGeneral2 + '\n' + strErrors + '\n' + strMsgGeneral3 + '\n\n');
    }
    document.blnReturnValue = (strErrors == '');
    return (strErrors == '');
}

function fncFindObj(strFormFieldName, d) { //v3.0
    var p, i, x;

    if (!d)
        d = document;
    if ((p = strFormFieldName.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[strFormFieldName.substring(p + 1)].document;
        strFormFieldName = strFormFieldName.substring(0, p);
    }
    if (!(x = d[strFormFieldName]) && d.all)
        x = d.all[strFormFieldName];
    for (i = 0; !x && i < d.forms.length; i++)
        x = d.forms[i][strFormFieldName];
    for (i = 0; !x && d.layers && i < d.layers.length; i++)
        x = fncFindObj(strFormFieldName, d.layers[i].document);
    return x;
}

function isArray(obj) {
    return (typeof (obj.length) == "undefined") ? false : true;
}

function fncGetRadioValue(aryName) {
    var aryFields;
    var objValue = '';
    aryFields = fncFindObj(aryName);
    if (aryFields) {
        if (aryFields.checked) // Mark if only one radiobutton exists i.e. there is no array (possible in dynamic arrays)
            objValue = aryFields.value;
        else
            for (n = 0; n < aryFields.length; n++)
            if (aryFields[n].checked)
            objValue = aryFields[n].value;
        return objValue;
    }
}

function SetCorrectDateOnBookingPanel(inDate, outDate) {
    var dateIn = document.getElementById(inDate).value;
    while (dateIn.indexOf("-") != -1) dateIn = dateIn.replace("-", "/");
    var Indate = new Date(dateIn);
    var dateOut = document.getElementById(outDate).value;
    while (dateOut.indexOf("-") != -1) dateOut = dateOut.replace("-", "/");
    var Outdate = new Date(dateOut);
    if (Indate > Outdate) {
        //fill corect values for out Date
        Outdate = Indate;
        Outdate.setDate(Indate.getDate() + 1);
        var newYear = Outdate.getFullYear();
        var newMonth = Outdate.getMonth() + 1;
        newMonth = newMonth < 10 ? '0' + newMonth : newMonth;
        var newDay = Outdate.getDate() < 10 ? '0' + Outdate.getDate() : Outdate.getDate();
        document.getElementById(outDate).value = newYear + '-' + newMonth + '-' + newDay;

        //fill corect values for in Date
        newYear = Indate.getFullYear();
        newMonth = Indate.getMonth() + 1;
        newMonth = newMonth < 10 ? '0' + newMonth : newMonth;
        newDay = Indate.getDate() - 1;
        newDay = newDay < 10 ? '0' + newDay : newDay;
        document.getElementById(inDate).value = newYear + '-' + newMonth + '-' + newDay;
    }
}

//correction top position on simplecalendar
function correctCalendarTopPosition() {
    var topStyle = $('div#calendarPlaceholder').css('top');
    topStyle = topStyle.substr(0, topStyle.length - 2);
    topStyle = parseInt(topStyle);
    if (!isNaN(topStyle)) {
        topStyle += 110;
        $('div#calendarPlaceholder').css('top', topStyle + 'px');
    }

    // hide dropdowns for IE6
    $("select").css("visibility", "hidden");
}