﻿/// <reference path="library/jquery-1.3.1.js" />

// ------------------------------
// Wrapper function for swfobject.embedSWF()
// ------------------------------
function embedSWF(swfUrl, id, width, height, flashvars, params, attributes)
{
    swfobject.embedSWF(swfUrl, id, width, height, '8.0.0', 'expressInstall.swf', flashvars, params, attributes);
}

// ------------------------------
// Global variabel för callback-funktion för den modala dialogen
// ------------------------------
var gDialogCallbackFunction;

function showDialogNoButtonsNoHeader(message) {
    var buttons = new Array();
    showDialog(message, null, null, buttons, null, false);
}

// ------------------------------
// Visar den modala dialogen
// ------------------------------
function showDialog(message, header, callbackFunction, buttonArray, fireCallback, showHeader) {

    var dialogIsAlreadyOpen = $("#TB_window").length > 0;

    var buttonAction = "closeDialog";
    if (fireCallback) {
        buttonAction = "fireCallback";
    }

    // Sätt meddelandet
    if(!dialogIsAlreadyOpen)
        $("#ThickboxModalDialog .DialogBody").html(message);
    else
        $("#TB_window #TB_ajaxContent .DialogBody").html(message);

    // Bygg html för knappar
    var buttonHtml = '';
    if (buttonArray)
    {
        for (var i = 0; i < buttonArray.length; i++)
        {
            buttonHtml += '<a onclick="' + buttonAction + '(' + i + ')" class="btn Arrow"><span>' + buttonArray[i] + '</span></a>';
        }
    }
    else
    {
        // Default -> en ok-knapp
        buttonHtml = '<a onclick="closeDialog(0)" class="btn Arrow"><span>Ok</span></a>';
    }
    
    if (!dialogIsAlreadyOpen)
        $("#ThickboxModalDialog .DialogButtons").html(buttonHtml);
    else
        $("#TB_window #TB_ajaxContent .DialogButtons").html(buttonHtml);

    // Spara undan callback-funktionen
    if (callbackFunction)
    {
        gDialogCallbackFunction = callbackFunction;
    }


    FixCheckBoxesAndRadioButtons();

    var dialogHeight;
    var dialogWidth;
    if (!dialogIsAlreadyOpen) {
        // Gör dialogen synlig för att hämta höjd och bredd
        $("#ThickboxModalDialog").show();
        dialogHeight = determineHeight("#ThickboxModalDialog") + 5;
        dialogWidth = $("#ThickboxModalDialog").width();
    } else {
        // Nollställ gammal höjd för att kunna räkna ut den nya
        $("#TB_window #TB_ajaxContent").css("height", "auto");
        dialogHeight = determineHeight("#TB_window #TB_ajaxContent") + 5;
        dialogWidth = $("#TB_ajaxContent .DialogBody").width();
    }

    if (showHeader == undefined) {
        showHeader = true;
    }
    
    // Visa dialogen
    var url = '#TB_inline?height=' + dialogHeight + '&width=' + dialogWidth + '&inlineId=ThickboxModalDialog&modal=true&header=' + showHeader;
    tb_show(header ? header : 'Cylinda', url, null);

}

// ------------------------------
// Stänger den modala dialogen
// ------------------------------
function closeDialog(buttonIndex)
{
    // Stäng dialogen
    tb_remove();
    $("#ThickboxModalDialog").hide();

    if (typeof closeProduktlistaPageECommercePanel == 'function') {
        closeProduktlistaPageECommercePanel();
    }

    // Anropa callback med index för knappen som klickades
    if (gDialogCallbackFunction)
    {
        gDialogCallbackFunction(buttonIndex);
        gDialogCallbackFunction = undefined;
    }
}

/// Avfyrar callbackfunktionen utan att stänga dialogrutan
function fireCallback(buttonIndex) {
    // Anropa callback med index för knappen som klickades
    if (gDialogCallbackFunction) {
        gDialogCallbackFunction(buttonIndex);
        gDialogCallbackFunction = undefined;
    }
}

function resetCallback() {
    gDialogCallbackFunction = null;
}

// ------------------------------
// Visar en valfri dialog. dialogId anger id:t på det element som skall visas i dialogen.
// ------------------------------
function showCustomDialog(dialogId, header, width, height, modal) {

    if (modal == undefined)
        modal = true;

    var url = '#TB_inline?height=' + height + '&width=' + width + '&inlineId=' + dialogId + '&modal=' + modal + '&header=true';
    tb_show(header ? header : 'Cylinda', url, null);
}

// ------------------------------
// Visar meddelande om att listan för jämförelse är full
// ------------------------------
function visaJamforListaFullMeddelande()
{
    showDialog('Maximalt 5 produkter kan jämföras samtidigt.');
}

// Bestämmer höjden på en dialog så att den inte blir högre än fönstret
function determineHeight(selector) {
    var winHeight = $(window).height();
    var objectHeight = $(selector).height();
    var displayHeight = objectHeight > (winHeight - 70) ? (winHeight - 70) : objectHeight;
    
    if (displayHeight < 35)
        displayHeight = 35;

    return displayHeight;
}

// ------------------------------
// Stänger den modala dialogen
// ------------------------------
function closeJamforelse(buttonIndex) {
    // Stäng dialogen
    tb_remove();
    $("#ThickboxCompare").hide();

    // Anropa callback med index för knappen som klickades
    if (gDialogCallbackFunction) {
        gDialogCallbackFunction(buttonIndex);
        gDialogCallbackFunction = undefined;
    }
}

function disableScrollbars(){
    $("html, body").css("overflow", "hidden");
}

function enableScrollbars(){
    $("html, body").css("overflow", "auto");
}

// ------------------------------------------------------------
// Skriver ut en produktjämförelse (Nånting liknande måste vi ha för PDF/Björn)
// ------------------------------------------------------------
function skrivUtJamforelse()
{
    if (!window.print)
    {
        window.status = 'No print';
        return;
    }

    // Hämta div:en som innehåller jämförelsen
    var $contentdiv = $('.ProductCompare');
    if ($contentdiv)
    {
        var contentHtml = '<div class="ProductCompare" style="padding: 0 10px 0 10px">' + $contentdiv.html() + '</div>';
        var beginHtml =
		      '<html>' +
			  '<head>' +
			  '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">' +
			  '<link rel="stylesheet" type="text/css" media="all" href="/Styles/obg-framework.css">' +
			  '<link rel="stylesheet" type="text/css" media="all" href="/Styles/cylinda-generell.css">' +
  			  '<link rel="stylesheet" type="text/css" media="all" href="/Styles/thickbox.css">' +
              '<!--[if lt IE 7]><link rel="Stylesheet" href="/Styles/ie6.css" type="text/css" media="screen" /><![endif]-->' +
	          '<!--[if IE 7]><link rel="Stylesheet" href="/Styles/ie7.css" type="text/css" media="screen" /><![endif]-->' +
	          '<style>.PrintExclude { visibility: hidden; }</style>' +
	          '<style>tr.Alternate td {background:#fef4df !important; }</style>' +
			  '<title>Cylinda - Produktjämförelse</title>' +
			  '</head>' +
			  '<body style="margin: 50px 0px 10px 0px">' +
			  '<img alt="Cylinda" src="/Images/cylinda-logo.png" STYLE="position:absolute; TOP:15px; LEFT:10px;" />';

        var footerHtml = '';
        var endHtml = '</body></html>';

        var printWin = window.open('about:blank', '', 'width=940,height=600,scrollbars=yes,toolbar=yes');
        printWin.document.open();
        printWin.document.write(beginHtml +
		                        contentHtml +
		                        footerHtml +
		                        endHtml);
        printWin.document.close();
//printWin.open();
        printWin.print();
//        printWin.close();
    }
}

//-----------------------------------
// Skriver ut produktpresentation
//-----------------------------------
function skrivUtProduktPresentation(url) 
{
    if (!window.print) {
        window.status = 'No print';
        return;
    }

    var printWin = window.open(url, '', 'width=940,height=600,scrollbars=yes,toolbar=yes');
    printWin.print();
}

 // slut - skrivUtProduktPresentation
 

    function skrivUtOrder() {
        if (!window.print) {
            window.status = 'No print';
            return;
        }

        // Hämta div:en som innehåller texten för utskrift
        var $contentdiv = $('.OrderUtskrift');
        if ($contentdiv) {

            // Hämta rubriken
            var headlineText = $("div.OrderUtskrift h1 span.sIFR-alternate span").text();
            
            // Klona innehåller for utskrift så att vi kan manipulera det
            var contentCopy = $contentdiv.clone();

            // Ta bort SIFR
            contentCopy.find("h1.sIFR-replaced").remove();

            // Lägg till en vanlig h1 med rubriken
            contentCopy.find("div#Primary").prepend("<h1>" + headlineText + "</h1>");

            var contentHtml = '<div class="ProductCompare" style="padding: 0 10px 0 10px">' + contentCopy.html() + '</div>';
            var beginHtml =
	      '<html>' +
		  '<head>' +
		  '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">' +
		  '<link rel="stylesheet" type="text/css" href="/Styles/obg-framework.css">' +
		  '<link rel="stylesheet" type="text/css" href="/Styles/cylinda-generell.css">' +
          '<!--[if lt IE 7]><link rel="Stylesheet" href="/Styles/ie6.css" type="text/css" media="screen" /><![endif]-->' +
          '<!--[if IE 7]><link rel="Stylesheet" href="/Styles/ie7.css" type="text/css" media="screen" /><![endif]-->' +
          '<style>.PrintExclude { visibility: hidden; }</style>' +
		  '<title>Cylinda - Orderbekräftelse</title>' +
		  '</head>' +
		  '<body style="margin: 10px 0px 10px 0px">';

            var footerHtml = '';
            var endHtml = '</body></html>';

            var printWin = window.open('about:blank', '', 'width=940,height=600,scrollbars=yes,toolbar=yes');
            printWin.document.open();
            printWin.document.write(beginHtml +
	                        contentHtml +
	                        footerHtml +
	                        endHtml);
            printWin.document.close();
//            printWin.open();

            printWin.print();
            printWin.close();            
        }
    }





// ------------------------------------------------------------
// Skriver ut en produktjämförelse som PDF 
// ------------------------------------------------------------
function skrivUtJamforelsePDF() {

    //    hu = window.location.search.substring(0) + "&SkapaPDF=PDF";
    hu = window.location + "&SkapaPDF=PDF";
    window.open(hu);
//    __doPostBack('PDF', 'Ja');
    return;
}
// ------------------------------------------------------------
// Öppnar en dialog för att skicka produktinformation med e-post.
// ------------------------------------------------------------
function skickaProduktDokument(dokumentTyp)
{
    $('#EmailDocumentDialogContainer input[type="hidden"]').attr('value', dokumentTyp);
    var textboxNamn = $('#EmailDocumentDialogContainer input[type="text"]')[0];
    showCustomDialog('EmailDocumentDialogContainer', 'Skicka dokument med e-post', 270, 162);
    textboxNamn.focus();
}

// ------------------------------------------------------------
// Ändrar focus till element vid klick
// ------------------------------------------------------------
function ChangeFocusOnEnter(event, ref) {
    if (event.keyCode == 13) {
        var btn = document.getElementById(ref);
        if (btn) {
            btn.focus();
        }
    }
}

function hidePrintButtons() {
    $(".HeaderLinks").hide();
    $(".HeaderNav").hide();
    $(".Breadcrumb").hide();
    $(".PrintExclude").hide();
    $("#Intro").hide();
    $("#BreadcrumbSearchCompare").hide();
//    $("#Tillbaka").hide();
    $("#ctl00_ContentPlaceHolderMain_Tillbaka").hide(); 
    $("#SkrivPapper").hide();
    $("#SkrivPdf").hide();
    $("#footer").hide();                
    $(".ContainerTop").css("background", "none");
    $(".Container").css("background", "none");
    $(".HeaderLogo > a > img").attr('src', '/Images/cylinda-logo-1.jpg');
}

function ShowPopup(url, winname, features) {

    var fonster = null;
    var x = 0; var y = 0;

    if (parseInt(navigator.appVersion) > 3) {
        x = (screen.availWidth - 300) / 2; y = (screen.availHeight - 300) / 2;
    }

    if (parseInt(navigator.appVersion) > 3 || navigator.appName == "Netscape") {
        if (!fonster || fonster.closed) {
            fonster = window.open(url, winname, features);
            fonster.focus();
        } else {
            fonster.location.href = url;
            fonster.focus();
        }
    } else {
        window.parent.frames.base.location.href = url;
    }
}

function ScrollaMjuktTill(selector) {
    var targetOffset = $(selector).offset().top -10;
    $('html,body').animate({ scrollTop: targetOffset }, 1000);
}

function VisaLagersaldoKontrolleras() {
    var buttons = new Array();
    showDialog("<img src=\"/Images/indicator.gif\" valign=\"middle\" /> Lagersaldo kontrolleras. Var god vänta.", "Pris/Saldo", null, buttons);
}

function MakeThisGray(selector) {
    $label = $('label[for="' + $('#' + selector).attr('id') + '"]');
    $label.find('span.holder').addClass('holderDisabled');
    $label.addClass('grayed');
}

function MakeThisNormal(selector) {
    $label = $('label[for="' + $('#' + selector).attr('id') + '"]');
    $label.find('span.holder').removeClass('holderDisabled');
    $label.removeClass('grayed');
}

function CheckQuantity(quantity) {
    var IsNumber = /^-?\d+$/.test(quantity);
    if (!IsNumber) {
        showDialog("Du måste ange ett korrekt antal", "Information");
    }
    return IsNumber;
}

function RegisterDefaultButtonOnKeypressEnter(inputFieldsSelector, buttonSelector) {
    $(inputFieldsSelector).keypress(function(e) {
        if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
            var btnAction = $(buttonSelector).attr("href");
            eval(btnAction);
            return true;
        }
    });
}

function ShowPopupOnMouseEnter(baseSelector, popupTitle) {
    $(baseSelector + " p.h4x .Popup").mouseenter(function() {
        var DlTitle = popupTitle //$(this).text();
        var DlDesc = $(this).next().html();

        if ($(this).parent().hasClass('h4xwiz')) {
            //
        } else {
            $(baseSelector + " p.h4x div:visible").hide();
            $(baseSelector + " p.h4x").removeClass("h4xwiz");
            $(baseSelector + " #DlPopup").remove();

            var popup = $(this).parent().append("<div id='DlPopup' style='display:none' onmouseover='return HidePopupOnMouseLeave(\"" + baseSelector + "\");'><div class='Content'><strong>" + DlTitle + "</strong>" + DlDesc + "</div><div class='Shadow'>&#160;</div></div>").addClass('h4xwiz').find("#DlPopup");

            if ($(this).parent().offset().top + popup.height() > $(document).height()) {
                popup.css("top", (-popup.height() + 5));
            }

            popup.show();

        }
    });
}

function HidePopupOnMouseLeave(baseSelector) {
    $(baseSelector + " p.h4xwiz").mouseleave(function() {
        $(baseSelector + " #DlPopup").remove();
        $(baseSelector + " p.h4x").removeClass("h4xwiz");
    });
}

// Spåra händelsen i Google Analytics
function TrackEvent(category, action, label) {
    _gaq.push(['_trackEvent', category, action, label]);
}

function TrackSharingEvents(category) {
    $("div.SocialMediaContainer p.h4x #DlPopup a").live("click", function() {
        TrackEvent(category, 'Dela via ' + $(this).attr("title"), $(this).parent().parent().parent().parent().parent().attr("pagename"));
    });
}

//SLUT FIL

