function getTouristOnlineFormJQ() {
    var vTouristOnlineForm;

    if ($('#TouristOnlineForm')[0] == null) {
        vTouristOnlineForm = $('form:first');
    }
    else {
        vTouristOnlineForm = $('#TouristOnlineForm');
    }

    return vTouristOnlineForm;
}

function getTouristOnlineForm() {
    return getTouristOnlineFormJQ()[0];
}

function getFormAround(element) {
    return $(element).closest('form')[0];
}

function overrideForm(action, method, onsubmit, target) {
    var vForm = getTouristOnlineForm();

    if (action != undefined) {
        vForm.action = action;
    }

    if (method != undefined) {
        vForm.method = method;
    }

    if (onsubmit != undefined) {
        vForm.onsubmit = onsubmit;
    }
    else {
        vForm.onsubmit = null;
    }

    if (target == undefined && vForm.target != undefined) {
        vForm.target = "_top";
    }
    else if (target != undefined) {
        vForm.target = target;
    }


    $('*[name^="__"]', vForm).val('');
    /*
     var formElements = vForm.elements;
     for (var i = 0; i < formElements.length; i++) {
     if (formElements[i].name && formElements[i].name.startsWith('__')) {
     formElements[i].value = '';
     }
     }
     */
}

var disabled = false;
// Opdaterer submitted med value og disabler/enabler alle elementer med class="disableEnable"
function setDisabled(value) {
    $(".disableEnable").prop('disabled', value);
    disabled = value;
}

function newChangeRegion(field, regionId) {
    if (field.options[0].value == '' && regionId != '') {
        field.options[0] = null;
    }

    var locationPicture = document.images['locationPicture'];

    if (locationPicture && locationPicture.src != '') {
        var oldSrc = locationPicture.src;
        var newSrc;
        if (regionId != '' && regionId <= 11) {
            newSrc = oldSrc.substring(0, oldSrc.lastIndexOf('/') + 1) + "re_" + regionId + ".gif";
        }
        else if (regionId != '' && regionId == 23) {
            newSrc = oldSrc.substring(0, oldSrc.lastIndexOf('/') + 1) + "danmark.gif";
        }
        else if (regionId != '' && regionId > 11) {
            newSrc = oldSrc.substring(0, oldSrc.lastIndexOf('/') + 1) + "blank.gif";
        }
        else {
            newSrc = oldSrc.substring(0, oldSrc.lastIndexOf('/') + 1) + "danmark.gif";
        }

        field.value = regionId;
        locationPicture.src = newSrc;
    }
}

function disablesubmit(t, language) {
    if (disabled == true) {
        return false;
    }
    setTimeout(
              function() {
                  if (language == 'de') {
                      t.value = 'BITTE WARTEN';
                  }
                  else if (language == 'en') {
                      t.value = 'PLEASE WAIT';
                  }
                  else if (language == 'no') {
                      t.value = 'VENNLIGST VENT';
                  }
                  else if (language == 'sv') {
                      t.value = 'VAR VÄNLIG VÄNTA';
                  }
                  else /*if (language == 'da')*/ {
                      t.value = 'VENT VENLIGST';
                  }
              }, 1);

    setDisabled(true);
    return true;
}

function LZ(x) {
    return(x < 0 || x > 9 ? "" : "0") + x
}

function updateDays(dc, selectedDay, selectedMonth, selectedYear, diff, begraensDage, offset) {
    if (!dc) {
        return;
    }
    if (begraensDage == null) {
        diff = 1;
        begraensDage = true;
    }
    if (offset == null) {
        offset = 0;
    }


//		alert(dc.name);
    var prefix = dc.name.split("_")[0];
    var els = dc.form.elements;

//		alert("prefix: "+prefix);
    if (!els[prefix + "_day"].options) {
        return;
    }

//		alert('updateDays() begraensDage: '+begraensDage+' prefix: '+prefix+' selectedDay='+selectedDay+' selectedMonth='+selectedMonth+' selectedYear='+selectedYear+' diff='+diff+' offset='+offset);

    selectedDay = selectedDay * 1;
    selectedMonth = selectedMonth * 1;
    selectedYear = selectedYear * 1;

    var days = getDays(selectedYear);

    //var selectedDay = els[prefix+"_day"].options[els[prefix+"_day"].selectedIndex].value;
    //var selectedMonth = myc[0] * 1;

    var vMinDate = new Date();
    var vStart = 1;
//		alert("vIdag.getDay() ("+(vMinDate.getDay())+") == selectedDay ("+selectedDay+"): "+((vMinDate.getDay()) == selectedDay));
//		alert("vIdag.getMonth()+1 ("+(vMinDate.getMonth()+1)+") == selectedMonth ("+selectedMonth+"): "+((vMinDate.getMonth()+1) == selectedMonth));
//		alert("vIdag.getFullYear() ("+vIdag.getFullYear()+") == selectedYear ("+selectedYear+"): "+(vIdag.getFullYear() == selectedYear));
//    if (begraensDage != false && (vIdag.getMonth() + 1) == selectedMonth && vIdag.getFullYear() == selectedYear) {
    if (begraensDage != false) {
        var selectedDate = new Date(selectedYear, (selectedMonth - 1), selectedDay);

//			alert("month match");
        if (prefix.indexOf("til") > -1) {
            vMinDate.setDate(vMinDate.getDate() + diff);
        }

        vMinDate.setDate(vMinDate.getDate() + offset);
        if (vMinDate.getTime() > selectedDate.getTime()) {
            vStart = vMinDate.getDate();
        }
    }

    els[prefix + "_day"].options.length = 0;
//		alert("days["+selectedMonth+"]:"+ days[selectedMonth]);
    var index = 0;
    for (var i = vStart; i <= days[selectedMonth]; i++) {
        if (i == selectedDay) {
            //alert(i+"="+selectedDay);
            els[prefix + "_day"].options[index] = new Option(i, LZ(i));
            els[prefix + "_day"].selectedIndex = index++;
        }
        else {
            els[prefix + "_day"].options[index++] = new Option(i, LZ(i));
        }
    }
//		els[prefix+"_day"].value = selectedDay;
//		els[prefix+"_day"].selectedIndex = selectedDay - vStart;


//		alert(els[prefix+"_day"].options[els[prefix+"_day"].selectedIndex].value+"-"+els[prefix+"_month"].value);
//		els[prefix].value = els[prefix+"_day"].options[els[prefix+"_day"].selectedIndex].value+"-"+els[prefix+"_month"].value;
}

var mDays = [31,31,28,31,30,31,30,31,31,30,31,30,31];
function getDays(y) {
    mDays[2] = y % 4 == 0 && y % 100 != 0 || y % 400 == 0 ? 29 : 28;
    return mDays;
}

function updateStart(fraField, tilField, diff, begraensDage, offset) {
//		alert("updateStart() begraensDage="+begraensDage+" fraField:"+fraField.value+" tilField:"+tilField.value+" diff:"+diff);
    if (diff == null) {
        diff = 1;
    }

    var els = fraField.form.elements;
    var fraArray = els[fraField.name + '_month'].value.split('-');
    var tilArray = els[tilField.name + '_month'].value.split('-');
    var fraDate = new Date();
    fraDate.setFullYear(fraArray[1]);
    fraDate.setMonth(fraArray[0] - 1);
    fraDate.setDate(els[fraField.name + '_day'].value);
    if (fraDate.getMonth() == fraArray[0]) {
        fraDate.setMonth(fraDate.getMonth() - 1);
    }

    var tilDate = new Date();
    tilDate.setFullYear(tilArray[1]);
    tilDate.setMonth(tilArray[0] - 1);
    tilDate.setDate(els[tilField.name + '_day'].value);
    if (tilDate.getMonth() == tilArray[0]) {
        tilDate.setMonth(tilDate.getMonth() - 1);
    }

//		alert("til "+tilDate+" <= fra "+fraDate+" :"+(tilDate.getTime() <= fraDate.getTime()));
    var vTempDato = new Date(tilDate);
    vTempDato.setDate(vTempDato.getDate() - diff);
//		alert("til "+tilDate+" < tempDato "+vTempDato+" :"+(tilDate.getTime() < vTempDato.getTime()));
    if (fraDate.getTime() > vTempDato.getTime()) {
        els[fraField.name + "_day"].value = vTempDato.getDate();
        //els[fraField.name+"_month"].value = (vTempDato.getMonth()+1)+"-"+vTempDato.getFullYear();

        var _myc = LZ(vTempDato.getMonth() + 1) + '-' + vTempDato.getFullYear();
        for (var i = 0; i < els[fraField.name + "_month"].length; i++) {
            if (els[fraField.name + "_month"].options[i].value == _myc) {
                els[fraField.name + "_month"].options.selectedIndex = i;
            }
        }

        updateDays(fraField, vTempDato.getDate(), vTempDato.getMonth() + 1, vTempDato.getFullYear(), diff, begraensDage, offset);
    }
}

function updateEnd(fraField, tilField, diff, begraensDage, offset) {
//    if (!tilField) { // TilField findes ikke hvis der kun skal vælges startdato som provision
//        return;
//    }

//		alert("updateEnd() begraensDage="+begraensDage+" fraField:"+fraField.value+" tilField:"+tilField.value+" diff:"+diff);
    if (diff == null) {
        diff = 1;
    }

    var els = fraField.form.elements;
    var fraArray = els[fraField.name + '_month'].value.split('-');
    var tilArray = els[tilField.name + '_month'].value.split('-');

    var fraDate = new Date();
    fraDate.setFullYear(fraArray[1]);
    fraDate.setMonth(fraArray[0] - 1);
    fraDate.setDate(els[fraField.name + '_day'].value);
    if (fraDate.getMonth() == fraArray[0]) {
        fraDate.setMonth(fraDate.getMonth() - 1);
    }

    var tilDate = new Date();
    tilDate.setFullYear(tilArray[1]);
    tilDate.setMonth(tilArray[0] - 1);
    tilDate.setDate(els[tilField.name + '_day'].value);
    if (tilDate.getMonth() == tilArray[0]) {
        tilDate.setMonth(tilDate.getMonth() - 1);
    }

    var vTempDato = new Date(fraDate);
    vTempDato.setDate(vTempDato.getDate() + diff);
//		alert("til "+tilDate+" < tempDato "+vTempDato+" :"+(tilDate.getTime() < vTempDato.getTime()));
    if (tilDate.getTime() < vTempDato.getTime()) {
        //alert(tilField.value+" <= "+fraField.value);
        els[tilField.name + "_day"].value = vTempDato.getDate();
        //els[tilField.name+"_month"].value = (vTempDato.getMonth()+1)+"-"+vTempDato.getFullYear();

        var _myc = LZ(vTempDato.getMonth() + 1) + '-' + vTempDato.getFullYear();
        for (var i = 0; i < els[tilField.name + "_month"].length; i++) {
            if (els[tilField.name + "_month"].options[i].value == _myc) {
                els[tilField.name + "_month"].options.selectedIndex = i;
            }
        }

        updateDays(tilField, vTempDato.getDate(), vTempDato.getMonth() + 1, vTempDato.getFullYear(), diff, begraensDage, offset);
    }
}

function openMapWindowFeriehus(serverUrlnavn, x, y, title, header, maxZoom, language) {
    //HTTP://www.MapToWeb.dk/MAPlink/Kort.aspx?X=697967&Y=6188358&StreetName=Vestervej&HouseNo=11&PostalID=3650&PlaceName=Ølstykke&Phone=+45 38119271&Fax=+45 3698458&Header=Firmanavn&image=http://fff.gif

    title = replaceDanishCharacters(title);
    header = replaceDanishCharacters(header);

    var kortUrl = serverUrlnavn + '/googlemap.do?x=' + x + '&y=' + y + '&title=' + title + '&header=' + header + '&maxZoom=' + maxZoom + '&language=' + language;

    //(logoUrl!='' ? '&image='+logoUrl : '')
    window.open(kortUrl, '_blank', 'toolbar=no, directories=no, location=no, status=yes, menubar=no, resizable=no, scrollbars=no, width=500, height=450');
}

function replaceDanishCharacters(original) {
    original = replaceAll(original, 'æ', '%26aelig;');
    original = replaceAll(original, 'ø', '%26oslash;');
    original = replaceAll(original, 'å', '%26aring;');
    original = replaceAll(original, 'Æ', '%26AElig;');
    original = replaceAll(original, 'Ø', '%26Oslash;');
    original = replaceAll(original, 'Å', '%26Aring;');
    original = replaceAll(original, 'ü', '%26uuml;');
    original = replaceAll(original, 'Ü', '%26Uuml;');

    return original;
}

function replaceAll(OldString, FindString, ReplaceString) {
    var SearchIndex = 0;
    var NewString = "";
    while (OldString.indexOf(FindString, SearchIndex) != -1) {
        NewString += OldString.substring(SearchIndex, OldString.indexOf(FindString, SearchIndex));
        NewString += ReplaceString;
        SearchIndex = (OldString.indexOf(FindString, SearchIndex) + FindString.length);
    }
    NewString += OldString.substring(SearchIndex, OldString.length);
    return NewString;
}


function changeAction(form, link, newFunction, target) {
    if (newFunction !== undefined) {
        form.elements['function'].value = newFunction;
    }

    if (target !== undefined) {
        form.target = target;
    }

    //alert(form.action);
    form.action = link;
    form.submit();
}

function aabneLukkeTilkoeb(form, enhedId) {
    var field = form.elements['e(' + enhedId + ').aaben'];

    if (field.value == '' || field.value == 'false') {
        field.value = 'true';
    }
    else {
        field.value = 'false';
    }
    form.elements['function'].value = 'tilkoeb';
//    changeAction(form, form.action + '#' + enhedId);
    saveXYPosition();

    return true;
}

function aabenKort(anchor, focusMarker, regionId, lokalOmraadeId, onlyFocusMarker) {
    var gmDialog = $('div#googleMapsDiv');

    gmDialog.dialog( {
        width: '710px',
        open: function(event, ui) {
            initializeMap(focusMarker, regionId, lokalOmraadeId, onlyFocusMarker);
            wrapDiv(gmDialog);
        },
        zIndex: 2000
    });

    gmDialog.dialog('option', 'resizable', false);
    gmDialog.dialog('option', 'position', 'center');
//    gmDialog.dialog('option', 'dialogClass', 'TOnC');
    gmDialog.dialog('open');

    ajaxTracking(location.pathname.substring(0, location.pathname.lastIndexOf('/')) + '/googlemap.do');

    var height = gmDialog.css('height');
    height = parseInt(height.substring(0, height.indexOf('px'))) + 25;
    gmDialog.css('height', height + 'px');
}

function blockSoegeresultatFaneblad() {
    var processing;

    if (language == 'de') {
        processing = 'Drücken Sie Suche um Suchergebnis zu aktualisieren';
    }
    else if (language == 'en') {
        processing = 'Click search to see updated search result';
    }
    else if (language == 'no') {
        processing = 'VENNLIGST VENT';
    }
    else if (language == 'sv') {
        processing = 'VAR VÄNLIG VÄNTA';
    }
    else /*if (language == 'da')*/ {
        processing = ' Når du er færdig med at ændre dine søgekriterier, skal du huske at trykke på søg';
    }

    if ($('.skal_blockes').size() > 0) {
        $('.skal_blockes').block({
    //        theme: true,
    //        title: 'Søgekriterier ændret',
            message: '<div class="font_main_big">'+processing+'</div>',
            centerY: false,
            overlayCSS:  {
                backgroundColor: '#000',
                opacity: 0.4
            },
            css: { border: '3px solid #a00', width: '300px', top: '50px',  left: '10px',  padding: '10px ', backgroundColor: '#eaeaea'}
    //        themedCSS: { width: '50%', top: '50px' }
        });
    }
}

function changeShowHidden(toBeShown) {
    getTouristOnlineForm().elements['faneblad'].value = toBeShown;

    $('#soegeresultat_fb_bg').toggleClass('bg_menu_active', toBeShown == 'soegeresultat').toggleClass('bg_menu', toBeShown != 'soegeresultat');
    $('#soegeresultat_fb_lnk').toggleClass('link_menu_big_active', toBeShown == 'soegeresultat').toggleClass('link_menu_big', toBeShown != 'soegeresultat');
    $('#soegeresultat_fb_bot').toggleClass('bg_menu_active', toBeShown == 'soegeresultat').toggleClass('border_menu', toBeShown != 'soegeresultat');

    if ($('#soegeresultat1')) {
        $('#soegeresultat1').css('display', (toBeShown == 'soegeresultat' ? 'block' : 'none'));
    }

    if ($('#soegeresultat2')) {
        $('#soegeresultat2').css('display', (toBeShown == 'soegeresultat' ? 'block' : 'none'));
    }

    $('#soegeresultat3').css('display', (toBeShown == 'soegeresultat' ? 'block' : 'none'));

    if ($('#soegeresultat4')) {
        $('#soegeresultat4').css('display', (toBeShown == 'soegeresultat' ? 'block' : 'none'));
    }

    if ($('#beskrivelse1')) {
        $('#beskrivelse1').css('display', (toBeShown == 'beskrivelse' ? 'block' : 'none'));
        $('#beskrivelse_fb_bg').toggleClass('bg_menu_active', toBeShown == 'beskrivelse').toggleClass('bg_menu', toBeShown != 'beskrivelse');
        $('#beskrivelse_fb_lnk').toggleClass('link_menu_big_active', toBeShown == 'beskrivelse').toggleClass('link_menu_big', toBeShown != 'beskrivelse');
        $('#beskrivelse_fb_bot').toggleClass('bg_menu_active', toBeShown == 'beskrivelse').toggleClass('border_menu', toBeShown != 'beskrivelse');
    }

    if ($('#customerreview')) {
        $('#customerreview').css('display', (toBeShown == 'customerreview' ? 'block' : 'none'));
        $('#customerreview2').css('display', (toBeShown == 'customerreview' ? 'block' : 'none'));
        $('#customerreview_fb_bg').toggleClass('bg_menu_active', toBeShown == 'customerreview').toggleClass('bg_menu', toBeShown != 'customerreview');
        $('#customerreview_fb_lnk').toggleClass('link_menu_big_active', toBeShown == 'customerreview').toggleClass('link_menu_big', toBeShown != 'customerreview');
        $('#customerreview_fb_bot').toggleClass('bg_menu_active', toBeShown == 'customerreview').toggleClass('border_menu', toBeShown != 'customerreview');
    }

    if ($('#billeder')) {
        $('#billeder').css('display', (toBeShown == 'billeder' ? 'block' : 'none'));
        $('#billeder_fb_bg').toggleClass('bg_menu_active', toBeShown == 'billeder').toggleClass('bg_menu', toBeShown != 'billeder');
        $('#billeder_fb_lnk').toggleClass('link_menu_big_active', toBeShown == 'billeder').toggleClass('link_menu_big', toBeShown != 'billeder');
        $('#billeder_fb_bot').toggleClass('bg_menu_active', toBeShown == 'billeder').toggleClass('border_menu', toBeShown != 'billeder');
    }

    $('.dynamisk_bredde_efter_tablewidth2').each(function () {
        var width = $(".tablewidth2").css('width');

        if (width != 'auto') {
            width = parseInt(width.substring(0, width.indexOf('px')));
            width = width - 8;
            $(this).css('width', width + "px");
        }
    });
}

function checkboxShiftValue(checkboxField, uncheckedValue, checkedValue, valueField) {
    if (checkboxField.checked) {
        valueField.value = checkedValue;
    }
    else {
        valueField.value = uncheckedValue;
    }
}


function saveXYPosition() {
    scrollTop = document.body.scrollTop;
    scrollLeft = document.body.scrollLeft;
    if (scrollTop == 0) {
        if (window.pageYOffset)
            scrollTop = window.pageYOffset;
        else
            scrollTop = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;
    }
    if (scrollLeft == 0) {
        if (window.pageXOffset)
            scrollTop = window.pageXOffset;
        else
            scrollLeft = (document.body.parentElement) ? document.body.parentElement.scrollLeft : 0;
    }

    if (getTouristOnlineForm().elements['scrolly']) {
        getTouristOnlineForm().elements['scrolly'].value = scrollTop;
        getTouristOnlineForm().elements['scrollx'].value = scrollLeft;
    }
}

function setXYPosition(x, y) {
    setTimeout('window.scrollTo(' + x + ', ' + y + ')', 500);
}

function PlaceMarkerGoogle(geoX, geoY) {

    // Extent of Map
    var ExtentMinX = 7.91664608;
    var ExtentMaxX = 15.81583304;
    var ExtentMinY = 54.54583358;
    var ExtentMaxY = 57.78145459;

    // Map Pixel Size
    var MapPixelWidth = 125;
    var MapPixelHeight = 100;

    // Marker Image size
    var MarkerWidth = 5;
    var MarkerHeight = 5;

    var PixelPosLeft;
    var PixelPosTop;

    // Calculate Pixel Position
    PixelPosLeft = parseInt(((geoX - ExtentMinX) / (ExtentMaxX - ExtentMinX)) * MapPixelWidth);
    PixelPosTop = parseInt(((ExtentMaxY - geoY) / (ExtentMaxY - ExtentMinY)) * MapPixelHeight);

    // Move Position To Upper Left corner of Marker image
    PixelPosLeft = parseInt(PixelPosLeft - MarkerWidth / 2);
    PixelPosTop = parseInt(PixelPosTop - MarkerHeight / 2);

    // Move Marker
    document.getElementById("marker").style.top = PixelPosTop + "px";
    document.getElementById("marker").style.left = PixelPosLeft + "px";
    document.getElementById("marker").style.visibility = "visible";

}

function PlaceMarkerGoogleLille(id, geoX, geoY) {

    // Extent of Map
    var ExtentMinX = 7.91664608;
    var ExtentMaxX = 15.81583304;
    var ExtentMinY = 54.54583358;
    var ExtentMaxY = 57.78145459;

    // Map Pixel Size
    var MapPixelWidth = 62;
    var MapPixelHeight = 50;

    // Marker Image size
    var MarkerWidth = 2;
    var MarkerHeight = 2;

    var PixelPosLeft;
    var PixelPosTop;

    // Calculate Pixel Position
    PixelPosLeft = parseInt(((geoX - ExtentMinX) / (ExtentMaxX - ExtentMinX)) * MapPixelWidth);
    PixelPosTop = parseInt(((ExtentMaxY - geoY) / (ExtentMaxY - ExtentMinY)) * MapPixelHeight);

    // Move Position To Upper Left corner of Marker image
    PixelPosLeft = parseInt(PixelPosLeft - MarkerWidth / 2);
    PixelPosTop = parseInt(PixelPosTop - MarkerHeight / 2);

    // Move Marker
    document.getElementById("marker" + id).style.top = PixelPosTop + "px";
    document.getElementById("marker" + id).style.left = PixelPosLeft + "px";
    document.getElementById("marker" + id).style.visibility = "visible";
}


function addMonthNy(field) {
    var monthField = getTouristOnlineForm().elements[field.name + '_month'];
    monthField.selectedIndex = monthField.selectedIndex + 1;
    if (monthField.selectedIndex >= monthField.options.length) {
        monthField.selectedIndex = monthField.options.length - 1;
    }
    var dayField = getTouristOnlineForm().elements[field.name + '_day'];

    field.value = dayField.options[dayField.selectedIndex].value + '-' + monthField.options[monthField.selectedIndex].value;
}

function subMonthNy(field) {
    var monthField = getTouristOnlineForm().elements[field.name + '_month'];
    monthField.selectedIndex = monthField.selectedIndex - 1;
    if (monthField.selectedIndex < 0) {
        monthField.selectedIndex = 0;
    }
    var dayField = getTouristOnlineForm().elements[field.name + '_day'];

    field.value = dayField.options[dayField.selectedIndex].value + '-' + monthField.options[monthField.selectedIndex].value;
}

function addWeekNy(field) {
    var dayField = getTouristOnlineForm().elements[field.name + '_day'];
    var monthField = getTouristOnlineForm().elements[field.name + '_month'];

    var dateArray = monthField.value.split('-');
    var date = new Date();
    date.setFullYear(dateArray[1]);
    date.setMonth(dateArray[0] - 1);
    date.setDate(dayField.value * 1.0 + 7);

    updateDays(field, date.getDate(), (date.getMonth() + 1), date.getFullYear(), 0, false);
    var _myc = LZ(date.getMonth() + 1) + '-' + date.getFullYear();

    for (var i = 0; i < monthField.length; i++) {
        if (monthField.options[i].value == _myc) {
            monthField.options.selectedIndex = i;
        }
    }
}

function subWeekNy(field) {
    var dayField = getTouristOnlineForm().elements[field.name + '_day'];
    var monthField = getTouristOnlineForm().elements[field.name + '_month'];

    var dateArray = monthField.value.split('-');
    var date = new Date();
    date.setFullYear(dateArray[1]);
    date.setMonth(dateArray[0] - 1);
    date.setDate(dayField.value * 1.0 - 7);

    updateDays(field, date.getDate(), (date.getMonth() + 1), date.getFullYear(), 0, false);
    var _myc = LZ(date.getMonth() + 1) + '-' + date.getFullYear();

    for (var i = 0; i < monthField.length; i++) {
        if (monthField.options[i].value == _myc) {
            monthField.options.selectedIndex = i;
        }
    }
}

function addWeekTime(weekField) {
    weekField.selectedIndex = weekField.selectedIndex + 1;
    if (weekField.selectedIndex >= weekField.options.length) {
        weekField.selectedIndex = weekField.options.length - 1;
    }
}

function subWeekTime(weekField) {
    weekField.selectedIndex = weekField.selectedIndex - 1;
    if (weekField.selectedIndex < 0) {
        weekField.selectedIndex = 0;
    }
}

// FormatNr, afrunder til et bestemt antal kommaer
function formatNr(expr, decplaces, language) {
    if (expr == "0") {
        return (language == 'en' ? "0.00" : "0,00");
    }
    if (expr != "" && expr != null) {
        var str = "" + Math.round(eval(expr) * Math.pow(10, decplaces));
        while (str.length <= decplaces)
            str = "0" + str;

        var decpoint = str.length - decplaces;
        if (language == 'en') {
            str = str.substring(0, decpoint) + "." + str.substring(decpoint, str.length);
            if (str.length > decplaces + 4) {
                return str.substring(0, decpoint - 3) + "," + str.substring(decpoint - 3, str.length);
            }
            else {
                return str;
            }
        } else {
            str = str.substring(0, decpoint) + "," + str.substring(decpoint, str.length);
            if (str.length > decplaces + 4) {
                return str.substring(0, decpoint - 3) + "." + str.substring(decpoint - 3, str.length);
            }
            else {
                return str;
            }
        }
    } else {
        return "";
    }
}

// ParseNr, afrunder til et bestemt antal kommaer
function parseNr(expr, language) {
    if (expr == "0") {
        return 0;
    }

    if (language == 'en') {
        expr = expr.replace(',', '');
    }
    else {
        expr = expr.replace('.', '');
        expr = expr.replace(',', '.');
    }

    return parseFloat(expr) + 0.0;
}

// Sammenlægger fra dropdowns til en sum
function updatesumStruts(fast, sumfield, language) {

    var sum = fast;
    var intCountArgs = 3;

    while (intCountArgs < updatesumStruts.arguments.length) {
        var obj = updatesumStruts.arguments[intCountArgs++];
        var prisObj = document.getElementById(obj.name.substring(0, obj.name.lastIndexOf('.')) + '.stkPris');

        if (obj.type == "select-one") {
            var antal = obj.options[obj.selectedIndex].value;
        }
        else {
            var antal = obj.value;
        }
        sum += antal * prisObj.innerHTML;
    }

    sumfield.innerHTML = formatNr(sum, 2, language);
}

function clearRadioButtonGroup(gruppeforkortelse, form, language) {
    var inputs = document.getElementsByTagName("input");

    for (var i = 0; i < inputs.length; i++) {
        if (inputs[i].name == gruppeforkortelse) {
            form.elements['t(' + inputs[i].id + ').antal'].value = 0;
            updatesumStruts(0, document.getElementById('t(' + inputs[i].id + ').pris'), language, form.elements['t(' + inputs[i].id + ').antal']);
        }
    }
}

// Løber alle span elementer med id <prefix>?<postfixPris>, dividere med kurs og indsætter i <prefix>?<postFixCurrency>
function updateCurrency(prefix, postfixTotalPris, postfixCurrencyPris, postfixCurrency, kurs, currency, defaultValuta, language) {
    if (currency == defaultValuta) {
        $('div' + (prefix != '' ? '[id ^= "' + prefix + '"]' : '') + '[id $= "div"]').hide();
        $('div' + (prefix != '' ? '[id ^= "' + prefix + '"]' : '') + '[id $= "div2"]').hide();
    }
    else {
        $('div' + (prefix != '' ? '[id ^= "' + prefix + '"]' : '') + '[id $= "div"]').show();
        $('div' + (prefix != '' ? '[id ^= "' + prefix + '"]' : '') + '[id $= "div2"]').show();

        $('span' + (prefix != '' ? '[id ^= "' + prefix + '"]' : '') + '[id $= "' + postfixTotalPris + '"]').each(function (index, totalPrisField) {
            var currencyFieldName = totalPrisField.id.substring(0, totalPrisField.id.length - postfixTotalPris.length) + postfixCurrency;
            var currencyField = document.getElementById(currencyFieldName);

            var currencyPrisFieldName = totalPrisField.id.substring(0, totalPrisField.id.length - postfixTotalPris.length) + postfixCurrencyPris;
            var currencyPrisField = document.getElementById(currencyPrisFieldName);

            currencyPrisField.innerHTML = formatNr(parseNr(totalPrisField.innerHTML, language) * 100 / kurs, 2, language);
            currencyField.innerHTML = currency;
        });
    }

    $('a[href *= valuta]').each(function() {
        var a = $(this);
        var href = a.attr('href');
        a.attr('href', href.substring(0, href.indexOf('valuta=') + 7) + currency + href.substring(href.indexOf('valuta=') + 10));
    });

    return true;
}

function getImageUrl(path) {
    var hostnavn;
    if (location.protocol == 'https:') {
        hostnavn = location.hostname;
    }
    else if (location.hostname.substring(0, 4) == 'www.') {
        hostnavn = 'static.touristonline.dk';
    }
    else if (location.hostname.substring(0, 5) == 'test.') {
        hostnavn = 'teststatic.touristonline.dk';
    }
    else {
        hostnavn = location.hostname.substring(0, location.hostname.indexOf('.')) + '.touristonline.dk';
    }

    return location.protocol + '//' + hostnavn + path;
}

function translateByNavn(byNavn) {
    if (language == 'en') {
        return byNavn.replace('København', 'Copenhagen').replace('Helsingør', 'Elsinore');
    } else if (language == 'de') {
        return byNavn.replace('København', 'Kopenhagen').replace('Copenhagen', 'Kopenhagen');
/*
    } else if (language == 'no') {
        return byNavn.replace('København', 'Kopenhagen').replace('Copenhagen', 'Kopenhagen');
*/
    } else if (language == 'sv') {
        return byNavn.replace('København', 'Köpenhamn').replace('Copenhagen', 'Köpenhamn').replace('Helsingør', 'Helsingör')
    } else {
        return byNavn.replace('Copenhagen', 'København');
    }
}

enableDatoer = function(enable) {
    soegUdenDatoer = !enable;
    $('#soegUdenDatoer').prop('checked', !enable);
    $('select[name = "voksne"]').prop('disabled', !enable);
    showHide(".datoSoeg", enable);
};

enableOvernatning = function(enable) {
    soegUdenDatoer = enable;
    $('#overnatning').prop('checked', enable);
    $('input[name = "queryCondition(7475).key"]').prop('disabled', !enable); // Disable antal værelser konferencer
    showHide(".overnatning", enable);
};

showHide = function(styleClass, show) {
    if (show) {
        $(styleClass).show('fast');
    }
    else {
        $(styleClass).hide('fast');
    }
};

jQuery.fn.outerHTML = function(s) {
    return (s) ? this.before(s).remove() : jQuery("<p></p>").append(this.eq(0).clone()).html();
    /*
     if ($(this)[0].outerHTML !== undefined) // IE
     {
     return (s) ? $(this)[0].outerHTML = s : $(this)[0].outerHTML;
     }
     else {
     return (s) ? this.before(s).remove() : jQuery("<p></p>").append(this.eq(0).clone()).html();
     }
     */
};

/**
 * Midlertidigt hack indtil jQuery's $.inArray() virker i IE8. Rapporteret som bug #6769 http://dev.jquery.it/ticket/6769
 * @param array
 * @param key
 */
function inArray(array, elem) {
    if (array === undefined) {
        return -1;
    }

    for (var i = 0, length = array.length; i < length; i++) {
        if (array[ i ] === elem) {
            return i;
        }
    }

    return -1;
}

/**
 * IE hack som implementerer <string>.trim() i browsere som ikke har denne.
 */
if (typeof String.prototype.trim !== 'function') {
    String.prototype.trim = function() {
        return this.replace(/^\s+|\s+$/g, '');
    }
}

function createUrl(url, exclude) {
    var qs = $.deparam.querystring();
    var hash = $.deparam.fragment();

    if (exclude !== undefined) {
        $.each(qs, function(key, value) {
            if (key == 'tableset' || key == 'tilbageUrl' || key == 'netminersBreadcrumb' || key == 'faneblad' || key == 'language' || inArray(exclude, key) > -1) {
                delete qs[key];
            }
        });

        $.each(hash, function(key, value) {
            if (inArray(exclude, key) > -1) {
                delete hash[key];
            }
        });
    }
    else {
        // Hvis der ikke er nogen exclude fjern kun tableset, tilbageUrl og netminersBreadcrumb. Disse forventes allerede sat i url.
        $.each(qs, function(key, value) {
            if (key == 'tableset' || key == 'tilbageUrl' || key == 'netminersBreadcrumb' || key == 'faneblad' || key == 'language') {
                delete qs[key];
            }
        });
    }
    
    return url + ($.param(qs) != '' ? (url.indexOf('?') > -1 ? '&' : '?') + $.param(qs) : '') + ($.param(qs) != '' || url.indexOf('?') > -1 ? '&' : '?') + $.param(hash);
}

function pushState(exclude) {
    $.bbq.pushState(
            $.grep(
                    getTouristOnlineFormJQ().serializeArray(), function(element) {
                // Hvis parameter skal excluderes
                if (inArray(exclude, element.name) > -1) {
                    return false;
                }

                switch (element.name) {
                    case 'language':
                    case 'tilbageUrl':
                    case 'tableset':
                    case 'netminersBreadcrumb':
                    case 'kundeAftaleLogin':
                    case 'kundeAftaleKontrolKode':
                    case 'debug':
                    case 'smalVersion':
                        return false;
                        break;
                    case 'qn':
                        element.value = parseInt(element.value) + 1;
                    default:
                        return (element.value != null);
                        break;
                }
            })
            , 2);
}

function ajaxFormSubmit(exclude) {
    if (exclude === undefined) {
        exclude = [];
    }

    if ($('#soegUdenDatoer:checked').val() != null && $('table#sortering :radio[name = "sortering"]:checked').attr('id') == 'sorteringP') {
        $('table#sortering #sorteringUS').prop('checked');
    }

    $('[name = "sideIndeling.side"]').val('1');

    pushState(exclude);
}

function aabenLukAdvancedSearch(aabenString) {
    if (aabenString === undefined) {
        aabenString = $('[name = "isAdvancedView"]').val() == 'true';
    }

    $('[name = "isAdvancedView"]').val(aabenString);

    if (aabenString == true) {
        $('tr.advancedView').show('fast');
        $('a.advancedView').show();
        $('a.simpleView').hide();
    } else {
        $('tr.advancedView').hide('fast');
        $('a.advancedView').hide();
        $('a.simpleView').show();
    }
}

function makeQueryStringIfAjaxReady() {
    var serverpath = location.protocol + "//" + location.hostname + location.pathname;

    var qs = $.deparam.querystring();
    var hash = $.deparam.fragment();
    var redirect = false;

    // Tjek om der er værdier som burde være i hash i querystring
    $.each(qs, function(key, value) {
        switch (key) {
            case 'language':
            case 'tilbageUrl':
            case 'tableset':
            case 'netminersBreadcrumb':
            case 'kundeAftaleLogin':
            case 'kundeAftaleKontrolKode':
            case 'debug':
            case 'smalVersion':
                break;
            default:
                redirect = true;
                delete qs[key];
                hash[key] = value;
                break;
        }
    });

    // redirect hvis querystring er blevet ændret
    if (redirect) {
        location.replace(serverpath + '?' + $.param(qs) + "#" + $.param(hash));
    }
}

function ajaxTracking(pathname) {
    if (pathname == undefined) {
        pathname = location.pathname;
    }

    var trackingUrl = pathname + location.search + location.hash.replace('#', '&');
    if (window.pageTracker != undefined) {
        pageTracker._trackPageview(trackingUrl);
    }
    if (window.pageTracker2 != undefined) {
        pageTracker2._trackPageview(trackingUrl);
    }
    if (window.pageTracker3 != undefined) {
        pageTracker3._trackPageview(trackingUrl);
    }
}

function log(text) {
    if (window.console.firebug !== undefined) {
        console.log(text);
    }
    else {
        alert(text);
    }
}

function configureDialogs() {
    $('img[class ^= "info-"],a[class ^= "info-"]').each(function() {
        var infoKnap = $(this);
        var infoClass = infoKnap.attr('class');
        var infoType = infoClass.substring(infoClass.indexOf('-') + 1, infoClass.lastIndexOf('-'));
        var infoId = infoClass.substring(infoClass.lastIndexOf('-') + 1, infoClass.indexOf(' ') > -1 ? infoClass.indexOf(' ') : infoClass.length).trim();
        var infoDialog = $("#info-note-" + infoId);
        if (infoDialog.size() == 0) {
            return true;
        }
        var width = infoDialog.width();
        var left = infoDialog.css('left');
        if (left != 'auto') {
            left = parseInt(left.substring(0, left.indexOf('px')));
        }
        var top = infoDialog.css('top');
        if (top != 'auto') {
            top = parseInt(top.substring(0, top.indexOf('px')));
        }

        if (infoType == 'hover') {
            infoKnap.mouseenter(function(event) {
                var x;
                if (left != 'auto') {
                    x = left;
                    infoDialog.css('left', '');
                }
                else {
                    x = jQuery(this).offset().left; // + jQuery(this).outerWidth();
                }

                var y;
                if (top != 'auto') {
                    y = top;
                    infoDialog.css('top', '');
                }
                else {
                    y = jQuery(this).offset().top - jQuery(document).scrollTop();
                }

                if (width != 'auto' && width > 0) {
                    if ($(':input', infoDialog).size() > 0) {
                        infoDialog.dialog({ width: width, open: function(event, ui) {
                                infoDialog.parent().appendTo(getTouristOnlineFormJQ());
                                wrapDiv(infoDialog);
                            }
                        });
                    } else {
                        infoDialog.dialog({ width: width, open: function(event, ui) {
                                wrapDiv(infoDialog);
                            }
                        });
                    }
                }
                else {
                    if ($(':input', infoDialog).size() > 0) {
                        infoDialog.dialog({open: function(event, ui) {
                                infoDialog.parent().appendTo(getTouristOnlineFormJQ());
                                wrapDiv(infoDialog);
                            }
                        });
                    } else {
                        infoDialog.dialog({ open: function(event, ui) {
                                wrapDiv(infoDialog);
                            }
                        });
                    }
                }

                var infoDialogParent = infoDialog.parent();
                var iframe = $('iframe', infoDialog);
                if (iframe.size() > 0) { // Hvis dialog indeholder iframe
                    if (iframe.attr('width') != '') {
                        infoDialogParent.css('width', (parseInt(iframe.attr('width')) + 20) + 'px');
                    }
                    else {
                        width = infoDialogParent.css('width');
                        iframe.attr('width', (parseInt(width.substring(0, width.indexOf('px'))) - 20));
                    }
                }

                saveXYPosition();

                infoDialog.dialog('option', 'bgiframe', true);
                infoDialog.dialog('option', 'resizable', false);
                infoDialog.dialog('option', 'position', [x, y]);
//                infoDialog.dialog('option', 'zIndex', 2000);
                infoDialog.dialog('open');

                // IE 7 + 8 fix Dialog boksen åbnes i bunden af siden og får browser til at hoppe.
                if ($.browser.msie && /msie 7\.0/i.test(navigator.userAgent) && location.href.indexOf('/admin') < 0) {
                    window.scrollTo(scrollLeft, screenTop);

                    setTimeout(function() {
                        infoDialog.dialog('option', 'position', [x, y]);
                    }, 5);
                }

                setTimeout(function() {
                    infoDialogParent.bind("mouseoveroutside", function(event) {
                        infoDialogParent.unbind("mouseoveroutside");
                        infoDialog.dialog('close');
                    });
                }, 1);


            });
        }
        else // if (infoType == 'click')
        {
            if (infoKnap.tagName = 'img') {
                infoKnap.css('cursor', 'pointer');
            }
//            else {
//                infoKnap.click(function(event) {
//                    return false;
//                });
//            }

            infoKnap.click(function(event) {
                var x;
                if (left != 'auto') {
                    x = left;
                    infoDialog.css('left', '');
                }
                else {
                    x = jQuery(this).offset().left; // + jQuery(this).outerWidth();
                }

                var y;
                if (top != 'auto') {
                    y = top;
                    infoDialog.css('top', '');
                }
                else {
                    y = jQuery(this).offset().top - jQuery(document).scrollTop();
                }

                if (width != 'auto' && width > 0) {
                    if ($(':input', infoDialog).size() > 0) {
                        infoDialog.dialog({ width: width, open: function(event, ui) {
                            infoDialog.parent().appendTo(getTouristOnlineFormJQ());
                            wrapDiv(infoDialog);
                        }
                        });
                    } else {
                        infoDialog.dialog({ width: width, open: function(event, ui) {
                            wrapDiv(infoDialog);
                        }
                        });
                    }
                }
                else {
                    if ($(':input', infoDialog).size() > 0) {
                        infoDialog.dialog({ open: function(event, ui) {
                            infoDialog.parent().appendTo(getTouristOnlineFormJQ());
                            wrapDiv(infoDialog);
                        }
                        });
                    } else {
                        infoDialog.dialog({ open: function(event, ui) {
                            wrapDiv(infoDialog);
                        }
                        });
                    }
                }

                var infoDialogParent = infoDialog.parent();
                var iframe = $('iframe', infoDialog);
                if (iframe.size() > 0) { // Hvis dialog indeholder iframe
                    if (iframe.attr('width') != undefined && iframe.attr('width') != '') {
                        infoDialogParent.css('width', (parseInt(iframe.attr('width')) + 20) + 'px');
                    }
                    else {
                        width = infoDialogParent.css('width');
                        iframe.attr('width', (parseInt(width.substring(0, width.indexOf('px'))) - 20));
                    }
                }

                saveXYPosition();

                infoDialog.dialog('option', 'bgiframe', true);
                infoDialog.dialog('option', 'resizable', false);
                infoDialog.dialog('option', 'position', [x, y]);
//                infoDialog.dialog('option', 'zIndex', 2000);
//                infoDialog.dialog('option', 'dialogClass', 'TOnC' );
                infoDialog.dialog('open');

                // IE 7 + 8 fix Dialog boksen åbnes i bunden af siden og får browser til at hoppe.
                if ($.browser.msie && location.href.indexOf('/admin') < 0) {
                    window.scrollTo(scrollLeft, screenTop);

                    setTimeout(function() {
                        infoDialog.dialog('option', 'position', [x, y]);
                    }, 5);
                }

                return false;
            });
        }
//        infoDialog.bgIframe();
    });

}

function wrapDiv(div) {
    if (div.parents('.TOnC').length == 0) {
        div.parent().wrap('<div class="TOnC"></div>');
    }
}

function getCustomerReviews(crUrl) {
    $.get(crUrl, function(data) {
        $('#flereCR').outerHTML(data);
    });
}

var _tmplCache = {};
function parseTemplate(str, data) {
    /// <summary>
    /// Client side template parser that uses &lt;#= #&gt; and &lt;# code #&gt; expressions.
    /// and # # code blocks for template expansion.
    /// NOTE: chokes on single quotes in the document in some situations
    ///       use &amp;rsquo; for literals in text and avoid any single quote
    ///       attribute delimiters.
    /// </summary>
    /// <param name="str" type="string">The text of the template to expand</param>
    /// <param name="data" type="var">
    /// Any data that is to be merged. Pass an object and
    /// that object's properties are visible as variables.
    /// </param>
    /// <returns type="string" />
    var err = "";
    try {
        var func = _tmplCache[str];
        if (!func) {
            var strFunc =
                    "var p=[],print=function(){p.push.apply(p,arguments);};" +
                            "with(obj){p.push('" +
                        //                        str
                        //                  .replace(/[\r\t\n]/g, " ")
                        //                  .split("<#").join("\t")
                        //                  .replace(/((^|#>)[^\t]*)'/g, "$1\r")
                        //                  .replace(/\t=(.*?)#>/g, "',$1,'")
                        //                  .split("\t").join("');")
                        //                  .split("#>").join("p.push('")
                        //                  .split("\r").join("\\'") + "');}return p.join('');";

                            str.replace(/[\r\t\n]/g, " ")
                                    .replace(/'(?=[^#]*#})/g, "\t")
                                    .split("'").join("\\'")
                                    .split("\t").join("'")
                                    .replace(/{#=(.+?)#}/g, "',$1,'")
                                    .replace(/£{(.+?)}/g, "',$1,'")
                                    .split("{#").join("');")
                                    .split("#}").join("p.push('")
                            + "');}return p.join('');";

            func = new Function("obj", strFunc);
            _tmplCache[str] = func;
        }
        return func(data);
    } catch (e) {
        err = e.message;
    }
    return "< # TEMPLATE ERROR: " + err + "  # >";
}

function skiftBillede(glbillede, nytBillede) {
    var hovedProduktBillede = document.getElementById(glbillede);
    hovedProduktBillede.src = nytBillede.src;
}

function configureDatePicker() {
    jQuery('select[name = fra_day],select[name = popupfra_day],select[name = editFra_day],select[name = fraDagligt_day],select[name = fraUgentligt_day],select[name = bookfra_day],select[name$="startDato_day"]')
            .each(function (index, element){
                jQuery(element).change(function() {
                    updateEnd(element.form.elements[element.name.replace('_day', '')], element.form.elements[element.name.replace('_day', '').replace('fra', 'til').replace('Fra', 'Til').replace('startDato', 'slutDato')], dateDiff, dateBegraensDage, dateOffset);
                });
            });
    jQuery('select[name = fra_month],select[name = popupfra_month],select[name = editFra_month],select[name = fraDagligt_month],select[name = fraUgentligt_month],select[name = bookfra_month],select[name$="startDato_month"]')
            .each(function (index, element){
                jQuery(element).change(function() {
                    var dayField = element.form.elements[element.name.replace('_month', '_day')];
                    var monthArray = element.options[element.selectedIndex].value.split('-');
                    updateDays(element, dayField.options[dayField.selectedIndex].value, monthArray[0], monthArray[1], dateDiff, dateBegraensDage, dateOffset + (element.name == 'bookfra_month' ? 1 : 0));
                    updateEnd(element.form.elements[element.name.replace('_month', '')], element.form.elements[element.name.replace('_month', '').replace('fra', 'til').replace('Fra', 'Til').replace('startDato', 'slutDato')], dateDiff, dateBegraensDage, dateOffset);
                });

                var monthArray = element.options[element.selectedIndex].value.split('-');
                updateDays(element, element.form.elements[element.name.replace('_month', '_day')].value, monthArray[0], monthArray[1], dateDiff, dateBegraensDage, dateOffset + (element.name == 'bookfra_month' ? 1 : 0));
            });

    jQuery('select[name = til_day],select[name = popuptil_day],select[name = editTil_day],select[name = tilDagligt_day],select[name = tilUgentligt_day],select[name = booktil_day],select[name$="slutDato_day"]')
            .each(function (index, element){
                jQuery(element).change(function() {
                    updateStart(element.form.elements[element.name.replace('_day', '').replace('til', 'fra').replace('Til', 'Fra').replace('slutDato', 'startDato')], element.form.elements[element.name.replace('_day', '')], dateDiff, dateBegraensDage, dateOffset);
                });
            });
    jQuery('select[name=til_month],select[name = popuptil_month],select[name = editTil_month],select[name = tilDagligt_month],select[name = tilUgentligt_month],select[name = booktil_month],select[name$="slutDato_month"]')
            .each(function (index, element){
                jQuery(element).change(function() {
                    var dayField = element.form.elements[element.name.replace('_month', '_day')];
                    var monthArray = element.options[element.selectedIndex].value.split('-');
                    updateDays(element, dayField.options[dayField.selectedIndex].value, monthArray[0], monthArray[1], dateDiff, dateBegraensDage, dateOffset + (element.name == 'booktil_month' ? 1 : 0));
                    updateStart(element.form.elements[element.name.replace('_month', '').replace('til', 'fra').replace('Til', 'Fra').replace('slutDato', 'startDato')], element.form.elements[element.name.replace('_month', '')], dateDiff, dateBegraensDage, dateOffset);
                });

                var monthArray = element.options[element.selectedIndex].value.split('-');
                updateDays(element, element.form.elements[element.name.replace('_month', '_day')].value, monthArray[0], monthArray[1], dateDiff, dateBegraensDage, dateOffset + (element.name == 'booktil_month' ? 1 : 0));
            });

    jQuery('input[name = fra],input[name = popupfra],input[name = editFra],input[name = fraDagligt],input[name = fraUgentligt],input[name = bookfra],select[name$="startDato_month"]:not(:disabled) ~ input[name$="startDato"]')
            .datepicker({
                    showOn: "button",
                    buttonImage: getImageUrl('/images/calendar_icon.gif'),
                    buttonImageOnly: true,
                    beforeShow: function(input, inst) {
                        if (inst.dpDiv.parents('.TOnC').length == 0) {
        //                if (!inst.dpDiv.parent().hasClass('TOnC')) {
//                            inst.dpDiv.appendTo(jQuery('.TOnC:first'));
                            inst.dpDiv.wrap('<div class="TOnC"></div>');
                        }
                        jQuery(this).val(jQuery('select[name = "'+input.name+'_day"]').val()+'-'+jQuery('select[name = "'+input.name+'_month"]').val());
                        return {
        //                    defaultDate: (input.name == 'booktil' ? 1 : null),
                            minDate: (!dateBegraensDage ? 'null' : dateOffset + (input.name == 'bookfra' ? 1 : 0))
                        };
                    },
                    onSelect: function(dateText, inst) {
                        var fieldname = jQuery(this).attr('name');
                        var dateArray = dateText.split('-');
                        updateDays(jQuery('select[name = "'+fieldname+'_month"]')[0], dateArray[0], dateArray[1], dateArray[2], dateDiff, dateBegraensDage, dateOffset + (fieldname == 'bookfra' -1 ? 1 : 0));
                        jQuery('select[name = "'+fieldname+'_month"]').val(dateArray[1]+'-'+dateArray[2]);
                        if (jQuery('select[name = "'+fieldname.replace('fra', 'til').replace('startDato', 'slutDato')+'_month"]:not(:disabled)').length > 0) {
                            updateEnd(jQuery(this)[0], jQuery('input[name = "'+fieldname.replace('fra', 'til').replace('startDato', 'slutDato')+'"]')[0]);
                        }
                        blockSoegeresultatFaneblad();
                    },
                    maxDate: '+2y',
                    showOtherMonths: true,
                    selectOtherMonths: true
        });

    jQuery('input[name $= til],input[name = popuptil],input[name = edittil],input[name = tilDagligt],input[name = tilUgentligt],input[name = booktil],select[name$="slutDato_month"]:not(:disabled) ~ input[name$=slutDato]')
        .datepicker({
            showOn: "button",
            buttonImage: getImageUrl('/images/calendar_icon.gif'),
            buttonImageOnly: true,
            beforeShow: function(input, inst) {
                if (inst.dpDiv.parents('.TOnC').length == 0) {
    //            if (!inst.dpDiv.parent().hasClass('TOnC')){
                    inst.dpDiv.wrap('<div class="TOnC"></div>');
//                    inst.dpDiv.appendTo(jQuery('.TOnC:first'));
                }
                jQuery(this).val(jQuery('select[name = "'+input.name+'_day"]').val()+'-'+jQuery('select[name = "'+input.name+'_month"]').val());
                return {
    //                defaultDate: (1 + (input.name == 'booktil' ? 1 : 0)),
                    minDate: (!dateBegraensDage ? 'null' : dateDiff + dateOffset + (input.name == 'booktil' ? 1 : 0))
                };
            },
            onSelect: function(dateText, inst) {
                var fieldname = jQuery(this).attr('name');
                var dateArray = dateText.split('-');
                updateDays(jQuery('select[name = "'+fieldname+'_month"]')[0], dateArray[0], dateArray[1], dateArray[2], dateDiff, dateBegraensDage, dateOffset + (fieldname == 'booktil' ? 1 : 0));
                jQuery('select[name = "'+fieldname+'_month"]').val(dateArray[1]+'-'+dateArray[2]);
                if (jQuery('select[name = "'+fieldname.replace('til', 'fra').replace('slutDato', 'startDato')+'_month"]:not(:disabled)').length > 0) {
                    updateStart(jQuery('input[name = "'+fieldname.replace('til', 'fra').replace('slutDato', 'startDato')+'"]')[0], jQuery(this)[0]);
                }
                blockSoegeresultatFaneblad();
            },
            maxDate: '+2y+1d',
            showOtherMonths: true,
            selectOtherMonths: true
        });
}

function onlyDigits(e)
{
    var keynum;
    var keychar;
    var numcheck;

    if(window.event) // IE
    {
        keynum = e.keyCode;
    }
    else if(e.which) // Netscape/Firefox/Opera
    {
        keynum = e.which;
    }
    if (e.ctrlKey || e.altKey || e.metaKey || keynum < 32 || keynum === undefined) {//Ignore
        return true;
    }
    keychar = String.fromCharCode(keynum);
    numcheck = /\D/;
    return !numcheck.test(keychar);
}

function changeRequiredGif(image, enabled) {
    if (enabled) {
        document.images[image].src = '/images/blank.gif';
    }
    else {
        document.images[image].src = '/images/star.gif';
    }
}

function createIframe(url, elementId, iframeId, iframeWidth, iframeHeight) {
    var iframe = document.createElement("iframe");
    iframe.frameBorder=0;
    iframe.scrolling="auto";
    iframe.marginHeight=0;
    iframe.marginWidth=0;
    iframe.width=iframeWidth;
    iframe.height=iframeHeight;
    iframe.name=iframeId;
    iframe.id=iframeId;
    iframe.src = url;
    var div = document.getElementById(elementId);
    div.innerHTML = '';
    div.appendChild(iframe);
}

