﻿    function Defuscate(strObfuscated, cssclass, subject)
    {
	    var strClass = (cssclass != '') ? ('class=' + cssclass) : ('');
	    var strSubject = (subject != '') ? ('?Subject=' + subject) : ('');
	    document.write('<a '+ strClass  +' href="mailto:' + DoDefuscate(strObfuscated) + strSubject + '">'+ DoDefuscate(strObfuscated) + '</a>');
    }

    function DoDefuscate(strObfuscated)
    {
	    var strReturn = '';
	    while (strObfuscated.length > 0)
	    { 
		    strReturn += String.fromCharCode((strObfuscated.substring(0,4) - 0) >> 3); 	
		    strObfuscated = strObfuscated.substring(4);
	    }
	    return strReturn;
    }
    
    function toTop() {
        self.scrollTo(0, 0)
    }
    
    function DoSearch(buttonID){
        $(buttonID).click();
    }
    
    //---------- Top Banner Start ----------
      
    var firstTime
    function startSlide(){
    
        firstTime = 1;
    
        jQuery('#Cycle').cycle({
            fx: 'fade',
            speed: 2000,
            timeout: 7000,
            cleartype:  1,
            pause: 1,
            before: onBefore,
            after: onAfter
        });
        
        divTopPicture = $("#Cycle").find('div.TopPicture')
        if (divTopPicture.length){
            if (divTopPicture.size() < 2){
               var strHtml = $(divTopPicture).find(".BannerText").html();
                if(strHtml.length > 0){
                  $(divTopPicture).find(".BannerText").show();
                }
                else{
                    $(divTopPicture).find(".BannerText").hide();
                } 
            }
        }
    }
    
    
    function onBefore(curr,next,opts,fwd) {
        if (firstTime){
        
//            // IE has problems with updating the DOM after a change on some elements. The BlockSmall div's at the bottom of the page does not render correctly.
//            setTimeout(function(){
//                if (jQuery.browser.msie) {
//                    var objBlockSmalls = jQuery("div.BlockSmall");
//                    if (objBlockSmalls.length){
//                            var divToManipulate = jQuery(objBlockSmalls[0]);
//                            var height = divToManipulate.css("height");
//                            divToManipulate.css("height", "10px");
//                            setTimeout(function() { divToManipulate.css("height", height); }, 1);
//                    }
//                }
//            }, 200);
        
            var strHtml = $(curr).find(".BannerText").html();
            if(strHtml.length > 0){
              $(curr).find(".BannerText").show();
            }
            else{
                $(curr).find(".BannerText").hide();
            }
        }
        else{
            var strHtml = $(curr).find(".BannerText").html();
            if(strHtml.length > 0){
                //$(curr).find(".BannerText").hide('slide', {direction: "down"}, 500);
                $(curr).find(".BannerText").slideUp(500);
            }
            else{
                $(curr).find(".BannerText").hide();
            }
        }
    }

    function onAfter(curr,next,opts,fwd) {
        if (firstTime){
            firstTime = 0;
        }
        else{
            var strHtml = $(next).find(".BannerText").html();
            if(strHtml.length > 0){
//                $(next).find(".BannerText").show('slide', {direction: "down"}, 500);
                $(next).find(".BannerText").slideDown(500);
            }
            else{
                $(curr).find(".BannerText").hide();
            }
        }
    }
    
    //---------- Top Banner End ----------
    
    //---------- Article Image Start ----------
    
    function InitArticleImageControl() {
	    // select one or more elements to be scrollable-enabled
		$("div.scrollable").scrollable({
			// one configuration property
			size: 3
			// ... rest of the configuration properties
		});
		
		$.metadata.setType("attr", "data")
		  
        //Select first file
        DisplayFile($("div.scrollable").find('li:first'));
        var api = $("div.scrollable").scrollable();
        api.click(0);

        if ($("div.scrollable").find('li').size() < 2){
            $("div.ThumbFrame").hide();
        }
	}
	
	function DisplayFile(currentItem) {
        var selectedImage = $(currentItem).find('img')[0];
        $("#imgLargeImage").attr('src', $(selectedImage).attr('src').replace("&ps=ArticleThumbImage", "&ps=ArticleImage"));
        $("#imgLargeImage").attr('alt', $(selectedImage).attr('alt'));
        $("#imgLargeImage").attr('title', $(selectedImage).attr('title'));
        var description = ''
        if ($("div.scrollable").find('li').size() > 1){
            description = $(selectedImage).metadata().num + " af " + $("div.scrollable").find('li').size() + " billeder: "
        }
        description += $(selectedImage).metadata().descr
        $("#pDescription").html(description);
    }
    
    //---------- Article Image End ----------
    
    //---------- Product Image Start ----------
    
    function InitProductImageControl() {
	    // select one or more elements to be scrollable-enabled
		$("div.scrollable").scrollable({
			// one configuration property
			size: 2
			// ... rest of the configuration properties
		});
		
		$.metadata.setType("attr", "data")
		  
        //Select first file
        DisplayProductFile($("div.scrollable").find('li:first'));
        var api = $("div.scrollable").scrollable();
        api.click(0);

        if ($("div.scrollable").find('li').size() < 2){
            $("div.ThumbFrame").hide();
        }
	}
	
	function DisplayProductFile(currentItem) {
        var selectedImage = $(currentItem).find('img')[0];
        $("#imgLargeImage").attr('src', $(selectedImage).attr('src').replace("&ps=ProductThumbImage", "&ps=ProductImage"));
        $("#imgLargeImage").attr('alt', $(selectedImage).attr('alt'));
        $("#imgLargeImage").attr('title', $(selectedImage).attr('title'));
        var description = ''
        if ($("div.scrollable").find('li').size() > 1){
            description = $(selectedImage).metadata().num + " af " + $("div.scrollable").find('li').size() + " billeder: "
        }
        description += $(selectedImage).metadata().descr
        $("#pDescription").html(description);
    }
    
    //---------- Product Image End ----------
    
    
    //---------- Tip a friend Start ----------
    
    var jqmTipAFriendModalWindow;
    
    function showTipAFriendModal(){
        jqmTipAFriendModalWindow = $('#TipFriendModal').jqm();
        jqmTipAFriendModalWindow.jqmShow();
    }
    
    function closeTipAFriendDialogModal() {
        jqmTipAFriendModalWindow.jqmHide();
        return false;
    }

    //---------- Tip a friend End ----------


    //---------- Login dialog Start ----------

    var jqmLoginModalWindow;
    
    function showLoginDialogModal() {
        jqmLoginModalWindow = $('#LoginModal').jqm();
        jqmLoginModalWindow.jqmShow();
    }

    function closeLoginDialogModal() {
        if (jqmLoginModalWindow != undefined) {
            jqmLoginModalWindow.jqmHide();
        }
        return false;
    }

    //---------- Login dialog End ----------
    
    //---------- AddToBasketDialog Start ----------

    var jqmAddToBasketModalWindow;
    
    function showAddToBasketDialogModal() {
        jqmAddToBasketModalWindow = $('#ShopModal').jqm();
        jqmAddToBasketModalWindow.jqmShow();
    }
    
    function closeAddToBasketDialogModal() {
        jqmAddToBasketModalWindow.jqmHide();
        return false;
    }

    //---------- AddToBasketDialog dialog End ----------
    

    //---------- Travellist Start ----------


    function initTravellist() {
        var q = $.parseQuery();
        if (q.Date != undefined) {
            var dateFilter = q.Date;
            var dateElements = dateFilter.split("-");
            $("#calendarYear").html(dateElements[0]);
        }
        else {
            var currentTime = new Date()
            $("#calendarYear").html(currentTime.getFullYear());
        }
    }

    function ToggleMonthPicker() {
        $(".CalenderPopUp").toggle();
    }

    function CloseMonthPicker() {
        $(".CalenderPopUp").hide();
    }

    function selectPriceSorting(id) {
        window.location = getListUrl("price", id);
    }

    function selectDateFilter(monthid) {
        var selectedDate
        if (monthid == 0) {
            selectedDate = ''
        }
        else {
            selectedDate = $("#calendarYear").html() + "-" + monthid
        }
        window.location = getListUrl("date", selectedDate);
    }

    function selectDestinationUrlFilter(destinationUrl) {
        window.location = getListUrl("destinationUrl", destinationUrl);
    }
    
    function selectDestinationIdFilter(id) {
        window.location = getListUrl("destinationID", id);
    }

    function selectConceptFilter(id) {
        window.location = getListUrl("concept", id);
    }

    function getListUrl(filtertype, id) {
        var url = window.location.href
        var q = $.parseQuery();

        var priceSort = q.PriceSort;
        var dateFilter = q.Date;
        var destinationFilter = q.DestinationID;
        var conceptFilter = q.ConceptID;

        if (filtertype == "destinationUrl")
        {
            if (id == undefined)
            {
                urlFirstHalf = url.split("?")[0]; 
            }
            else
            {
                urlFirstHalf = id;
            }
        }
        else
        {
             urlFirstHalf = url.split("?")[0];   
        }
        
        //var urlFirstHalf = url.split("?")[0];

        switch (filtertype) {
            case "price":
                if (id == 0) {
                    priceSort = undefined;
                }
                else {
                    priceSort = id;
                }
                break;
            case "date":
                if (id == '') {
                    dateFilter = undefined;
                }
                else {
                    dateFilter = id;
                }
                break;
            case "destinationID":
                if (id == 0) {
                    destinationFilter = undefined;
                }
                else {
                    destinationFilter = id;
                }
                break;
            case "concept":
                if (id == 0) {
                    conceptFilter = undefined;
                }
                else {
                    conceptFilter = id;
                }
                break;
        }

        var booFirstParameter = true;

        if (priceSort != undefined) {
            if (booFirstParameter) {
                urlFirstHalf = urlFirstHalf + "?";
            }
            else {
                urlFirstHalf = urlFirstHalf + "&";
            }
            urlFirstHalf = urlFirstHalf + "PriceSort=" + priceSort;
            booFirstParameter = false;
        }

        if (dateFilter != undefined) {
            if (booFirstParameter) {
                urlFirstHalf = urlFirstHalf + "?";
            }
            else {
                urlFirstHalf = urlFirstHalf + "&";
            }
            urlFirstHalf = urlFirstHalf + "Date=" + dateFilter;
            booFirstParameter = false;
        }

        if (destinationFilter != undefined) {
            if (booFirstParameter) {
                urlFirstHalf = urlFirstHalf + "?";
            }
            else {
                urlFirstHalf = urlFirstHalf + "&";
            }
            urlFirstHalf = urlFirstHalf + "DestinationID=" + destinationFilter;
            booFirstParameter = false;
        }
        if (conceptFilter != undefined) {
            if (booFirstParameter) {
                urlFirstHalf = urlFirstHalf + "?";
            }
            else {
                urlFirstHalf = urlFirstHalf + "&";
            }
            urlFirstHalf = urlFirstHalf + "ConceptID=" + conceptFilter;
            booFirstParameter = false;
        }

        return urlFirstHalf;
    }

    function countYearDown() {
        $("#calendarYear").html(parseInt($("#calendarYear").html()) - 1)
    }

    function countYearUp() {
        $("#calendarYear").html(parseInt($("#calendarYear").html()) + 1)
    }

    //---------- Travellist End ----------
    
    //---------- GalleryControl Start ----------
    
    var controlbarTimer;

    function InitGalleryControl() {
	    // select one or more elements to be scrollable-enabled
		$("div.scrollable").scrollable({
			// one configuration property
			size: 3
			// ... rest of the configuration properties
		});

		$f("videoPlayer", {src: FullWebsitePath + "FlowPlayer/flowplayer-3.1.0.swf", wmode: 'transparent'}, {
            // don't start automcatically         
            clip: {
                autoPlay: true,
                autoBuffering: false,
                onFinish: function(){
                    //this.pause();
                    this.stop();
                }
            },
            // disable default controls         
            plugins: { controls: null }
            // install HTML controls inside element whose id is "hulu"
        }).controls("videoControlbar");
		
		$.metadata.setType("attr", "data")
		  
		$("#videoPlayer").hide();
        $("#videoControlbar").hide();
        $("#imgLargeImage").hide();
		  
        //Select first file
        DisplayGalleryFile($("div.scrollable").find('li:first'), true);
        var api = $("div.scrollable").scrollable();
        api.click(0);
        
        

        if ($("div.scrollable").find('li').size() < 2){
            $("div.ThumbFrame").hide();
        }
        
        $("#videoControlbar").mouseover(function(){
             $(this).show();
             clearTimeout(controlbarTimer);
        });
        
        $("#videoControlbar").mouseleave(function(){
             controlbarTimer = setTimeout('$("#videoControlbar").slideUp();', 500);
        });
            
		$("#videoPlayer").mouseenter(function(){
		    clearTimeout(controlbarTimer);
		    if ($("#videoControlbar").is(':hidden')){
			    $("#videoControlbar").slideDown();
			}
		});
        
		$("#videoPlayer").mouseleave(function(){
		    controlbarTimer = setTimeout('$("#videoControlbar").slideUp();', 500);
		});
	}
	
	function DisplayGalleryFile(currentItem, isFirst) {
        var selectedImage = $(currentItem).find('img')[0];
        if ($(selectedImage).metadata().movie == 'True'){
            
            
            if (isFirst){
                $f("videoPlayer").stop();
                $f("videoPlayer").hide();
                $("#videoControlbar").hide();
                $("#imgLargeImage").show();
            
                var newSrc = $(selectedImage).attr('src').replace("&ps=GalleryThumbImage", "&ps=GalleryImage");
                $("#imgLargeImage").attr('src', newSrc.replace("?id=" + $(selectedImage).metadata().smallPlayIconFileID, "?id=" + $(selectedImage).metadata().largePlayIconFileID));
                
                $("#imgLargeImage").attr('alt', $(selectedImage).attr('alt'));
                $("#imgLargeImage").attr('title', $(selectedImage).attr('title'));
                $("#imgLargeImage").click( function(){
                    DisplayGalleryFile(currentItem, false);
                });
            }
            else{
                $("#videoPlayer").show();
                $f("videoPlayer").show();
                $("#imgLargeImage").hide();
                $f("videoPlayer").stop();
                $f("videoPlayer").play($(selectedImage).metadata().displayFileUrl);
            }
        }
        else {
            $("#imgLargeImage").unbind('click');
            $f("videoPlayer").stop();
            $f("videoPlayer").hide();
            $("#videoControlbar").hide();
            $("#imgLargeImage").show();
        
            $("#imgLargeImage").attr('src', $(selectedImage).attr('src').replace("&ps=GalleryThumbImage", "&ps=GalleryImage"));
            $("#imgLargeImage").attr('alt', $(selectedImage).attr('alt'));
            $("#imgLargeImage").attr('title', $(selectedImage).attr('title'));
            
        }
        
        //Correction is neaded because videoplayer has not been visible yet
        if ($("#imgLargeImage").is(':visble')){
            var imagePosition = $("#imgLargeImage").offset().top;
            var videoPosition = $("#video").offset().top;
            if(videoPosition + 1 == imagePosition){
                $("#imgLargeImage").css("top", 16 + "px");
            }
        }
        
        var description = ''
        if ($("div.scrollable").find('li').size() > 1){
            description = $(selectedImage).metadata().num + " af " + $("div.scrollable").find('li').size() + " billeder/videoer: "
        }
        description += $(selectedImage).metadata().descr
        $("#pDescription").html(description);
    }
    
    //---------- GalleryControl End ----------
    
    //---------- TravelRequest Start ---------
    
    function showMenuDestinationPopupModal(){
        $('.MenuDestinationModal1').jqmShow();
    }
    
    function showMenuDestinationPopupModal2(){
        $('.MenuDestinationModal2').jqmShow();
    }
    
     //---------- TravelRequest End ----------
     
     //---------- Basket Start ---------
     var basketTimer;
     
     function addProductVariantToBasket(variantID, quantity){
        $.ajaxSetup({
          cache: false
        });
        $.get(FullWebsitePath + "ajax/Basket/AddProductVariantToBasket.aspx?ID=" + variantID + "&Quantity=" + quantity, function(data){
            UpdateTopBasket(true);
        });
     }
     
     function showBasket(useTimer){
        if(useTimer){
            basketTimer = setTimeout('$("#TopBasketOpen").slideUp();', 2500);
        }
        else{
            clearTimeout(basketTimer);
        }
        if ($("#TopBasketOpen").is(':hidden')){
	        $("#TopBasketOpen").slideDown(800);
	    }
    }
    
    function UpdateTopBasket(booShowBasket){
        $.ajaxSetup({
          cache: false
        });
        $.get(FullWebsitePath + "ajax/Basket/GetTopBasketContent.aspx", function(data){
            jQuery("#TopBasketOpen").html(data);
            if(booShowBasket){
                toTop();
                showBasket(true);
            }
            var totalNumberOfItemsInBasket = jQuery("#TopBasketOpen").find("#totalNumberOfItemsInBasket").html()
            if (totalNumberOfItemsInBasket.length){
                UpdateNumberOfItemsInBasket(totalNumberOfItemsInBasket);
            }
            else{
                UpdateNumberOfItemsInBasket(0);
            }
        });
    }
    
    function UpdateNumberOfItemsInBasket(intNumberOfItems){
         jQuery("#showBasket").find("span").html("Antal varer i kurven (" + intNumberOfItems + ") - ");
    }
     
    function InitBasket(){
        $("#TopBasketOpen").mouseover(function(){
             $(this).show();
             clearTimeout(basketTimer);
        });
    
        $("#TopBasketOpen").mouseleave(function(){
             basketTimer = setTimeout('$("#TopBasketOpen").slideUp();', 500);
        });
            
	    $("#showBasket").mouseenter(function(){
	        showBasket(false);
	    });
        
	    $("#showBasket").mouseleave(function(){
	        basketTimer = setTimeout('$("#TopBasketOpen").slideUp();', 500);
	    });
	    
	    UpdateTopBasket(false);
     }


     //---------- Basket End ---------


     //---------- Print Payment Start ---------
     function openWin(url, h, w) {
         var leftPos = null, topPos = null;

         if (top.screen) {
             if (screen.width) {
                 leftPos = Math.round((screen.width - w - 4) / 2);
                 topPos = Math.round((screen.height - h - 10) / 2);
             }
             else {
                 leftPos = 50
                 topPos = 50
             }
         }
         popupwin = window.open(url, "popup", "width=" + w + ",height=" + h + ",top=" + topPos + ",left=" + leftPos + ",scrollbars=yes,status=1");
     }

     function submitpayment() {
         var orderid = document.getElementById("orderid");
         if (orderid != null) {
             var form = document.getElementById("Form1");
             form.submit();
         }
     }

     //---------- Print Payment End ---------