$(document).ready(onLoad);

function onLoad() {
    initMultiImage();
    initColorBox();
}

function initColorBox() {
    $(".colorbox").colorbox({
        maxWidth: "700px", maxHeight: "700px",
        transition: "fade",   // can be set to "elastic", "fade", or "none"
        photo: true,   // if true, forces ColorBox to display a link as a photo
        current: "{current} av {total}",
        previous: "forrige",
        next: "neste",
        close: "lukk",
        iframe: false,   // if true specifies that content should be displayed in an iFrame
        overlayClose: true   // if true, enables closing ColorBox by clicking on the background overlay
    });

    $(".colorIframe").colorbox({ iframe: true, close: "lukk", overlayClose: false, title: false, innerWidth: 620, innerHeight: 400 });
    $(".colorIframeFeedback").colorbox({ iframe: true, close: "lukk", overlayClose: false, title: false, innerWidth: 620, innerHeight: 500 });
    $(".colorIframeLarge").colorbox({ iframe: true, close: "lukk", overlayClose: false, title: false, innerWidth: 764, innerHeight: 468 });

    // hide title in ColorBox when it is empty
    $().bind('cbox_complete', function() {
        if ($("#cboxTitle").html() == "")
            $("#cboxTitle").hide();
    });
}

function initMultiImage() {
    $('.multiImage').each(function() {
        var siteUrl = window.location.hostname;
        var theMultiImageDiv = $(this);

        if (theMultiImageDiv.text().length > 0) {
            var elements = $.trim(theMultiImageDiv.text()).split("#");

            var imageParameters = '&amp;hbox=76,54&amp;vbox=60,60';
            if (theMultiImageDiv.attr('params') != null)
                imageParameters = theMultiImageDiv.attr('params');

            var colorboxImageParameters = '';
            if (theMultiImageDiv.attr('colorboxParams') != null)
                colorboxImageParameters = theMultiImageDiv.attr('colorboxParams');

            $(elements).each(function(index, obj) {
                var e = obj.split(";");

                var imageLink = $("<a/>", {
                    id: 'IMG_' + e[0],
                    // href: 'http://' + siteUrl + '/admin/common/getImg.asp?FileID=' + e[0],
                    href: 'http://www.vb.no/admin/common/getImg.asp?FileID=' + e[0] + colorboxImageParameters,
                    title: e[1],
                    rel: 'produktbilder'
                }).addClass('colorbox');

                //var img = $("<img/>").attr("src", 'http://' + siteUrl + '/admin/common/GetImg.asp?FileID=' + e[0] + imageParameters);
                var img = $("<img/>").attr("src", 'http://www.vb.no/admin/common/GetImg.asp?FileID=' + e[0] + imageParameters);
                img.appendTo(imageLink);

                var imgSpan = $('<span />').addClass('img_' + index);
                imageLink.appendTo(imgSpan);

                $('<span />')
				.html(e[1])
				.addClass('imgText')
				.appendTo(imgSpan);

                imgSpan.insertBefore(theMultiImageDiv);
            });
        }
    });
}

function ShowImg(id) {
    window.open('/admin/common/ShowImage.asp?FileID=' + id + '&NoProps=True', 'Bilde' + id, 'height=150,width=150,resizable=no,menubar=no,location=no,scrollbars=no,status=no,toolbar=no');
}

function getURLParam(strParamName) {
    var strReturn = "";
    var strHref = window.location.href;
    if (strHref.indexOf("?") > -1) {
        var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
        var aQueryString = strQueryString.split("&");
        for (var iParam = 0; iParam < aQueryString.length; iParam++) {
            if (aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1) {
                var aParam = aQueryString[iParam].split("=");
                strReturn = aParam[1];
                break;
            }
        }
    }
    return unescape(strReturn);
}

function getPrint() {
    var strReturn = "";
    var strHref = window.location.href;
    if (strHref.indexOf("?") > -1) {
        var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
        strReturn = strQueryString;
    }
    return "pages/print.aspx" + strReturn;
}

function getTpf() {
    var strReturn = "";
    var strHref = window.location.href;
    if (strHref.indexOf("?") > -1) {
        var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
        strReturn = strQueryString;
    }
    return "pages/tipafriend.aspx" + strReturn;
}


/* My List functions */

var MyListCookieName = "VBMyList";
var MyListCookieValidInDays = 30;

function addToMyList(type, identifier, query) {
    var singleValue = type + "@" + identifier + "@" + query;
    var myListArray = getMyListCookieValueAsArray();

    if (!myListArray.Contains(singleValue)) {
        myListArray.Append(singleValue);
        setMyListCookie(convertMyListArrayToString(myListArray));
        updateMyListMenuItem();
    }
}

function getMyListCookieValueAsArray() {
    var cookieValue = GetCookie(MyListCookieName);
    if (cookieValue == null || cookieValue == "undefined" || cookieValue == "")   // cookie not found or empty
        return [];
    else
        return cookieValue.split("*");
}

function convertMyListArrayToString(myListArray) {
    return myListArray.join("*");
}

function setMyListCookie(cookieValue) {
    SetPermanentCookie(MyListCookieName, cookieValue, MyListCookieValidInDays);
}

function removeFromMyList(singleValue, htmlId) {
    singleValue = unescape(singleValue);
    var myListArray = getMyListCookieValueAsArray();
    myListArray.Remove(singleValue);
    setMyListCookie(convertMyListArrayToString(myListArray));

    updateMyListMenuItem();
    $("#" + htmlId).slideUp();
}


Array.prototype.IndexOf = function(item) {
    for (var i = 0; i < this.length; i++) {
        if (item === this[i]) {
            return i;
        }
    }
    return -1;
};

Array.prototype.Contains = function(item) {
    return (this.IndexOf(item) != -1) ? true : false;
};

Array.prototype.IsEmpty = function() {
    return this.length === 0;
};

Array.prototype.Append = function(item) {
    this.push(item);
};

Array.prototype.Remove = function(item) {
    var itemIndex = this.indexOf(item);
    if (itemIndex != -1)
        this.RemoveAt(itemIndex);
};

Array.prototype.RemoveAt = function(position) {
    if (position >= 0)
        this.splice(position, 1);
};

$(document).ready(modifyMyListMenuItem);

function modifyMyListMenuItem() {
    var myListArray = getMyListCookieValueAsArray();
    if (myListArray.IsEmpty())
        return;

    var selector = getCurrentMyListMenuItemSelector();
    appendMyListCount(selector, myListArray.length);
    $(selector).addClass("invertedMenuItem");
}

function getCurrentMyListMenuItemSelector() {
    var publicNormalMenuItem = "#FxPMenu3 #FxPMenuRootLevel6914";
    var publicCurrentMenuItem = "#FxPMenu3 #FxPMenuRootLevelCurrent6914";
    var publicBranchStartMenuItem = "#FxPMenu3 #FxPMenuBranchStart6914";
    
    var memberNormalMenuItem = "#FxPMenuMemberCommon #FxPMenuRootLevel7020";
    var memberCurrentMenuItem = "#FxPMenuMemberCommon #FxPMenuRootLevelCurrent7020";
    var memberBranchStartMenuItem = "#FxPMenuMemberCommon #FxPMenuBranchStart7020";

    var selector = "";
    if ($(publicNormalMenuItem).length > 0)
        selector = publicNormalMenuItem;
    else if ($(publicCurrentMenuItem).length > 0)
        selector = publicCurrentMenuItem;
    else if ($(publicBranchStartMenuItem).length > 0)
        selector = publicBranchStartMenuItem;
    else if ($(memberNormalMenuItem).length > 0)
        selector = memberNormalMenuItem;
    else if ($(memberCurrentMenuItem).length > 0)
        selector = memberCurrentMenuItem;
    else // if ($(memberBranchStartMenuItem).length > 0)
        selector = memberBranchStartMenuItem;
       
    return selector;
}

function appendMyListCount(selector, count) {
    var text = $(selector + " a").html();
    text += " (" + count + ")";
    $(selector + " a").html(text);
}

function updateMyListMenuItem() {
    var selector = getCurrentMyListMenuItemSelector();
    var myListArray = getMyListCookieValueAsArray();
    if (myListArray.IsEmpty()) {
        //$(selector).hide();
        window.location.reload();
        return;
    }

    updateMyListCount(selector, myListArray.length);
    $(selector).show();
}

function updateMyListCount(selector, count) {
    var text = $(selector + " a").html();
    var lastStartParentheses = text.lastIndexOf("(");
    if (lastStartParentheses == -1) {
        appendMyListCount(selector, count);
        return;
    }

    text = text.substring(0, lastStartParentheses) + "(" + count + ")";
    $(selector + " a").html(text);
}


/* some general cookie functions */

function GetCookie(sName) {
    // cookies are separated by semicolons
    var aCookie = document.cookie.split("; ");
    for (var i = 0; i < aCookie.length; i++) {
        // a name/value pair (a crumb) is separated by an equal sign
        var aCrumb = aCookie[i].split("=");
        if (sName == aCrumb[0])
            return unescape(aCrumb[1]);
    }
    return null;   // a cookie with the requested name does not exist
}

function SetTempCookie(sName, sValue) {
    document.cookie = sName + "=" + escape(sValue) + "; path=/";
}

function SetPermanentCookie(sName, sValue, expireDays) {
    var expireDate = new Date();
    expireDate.setTime(expireDate.getTime() + (expireDays * 24 * 3600 * 1000));

    document.cookie = sName + "=" + escape(sValue) + "; path=/" + ((expireDays == null) ? "" : "; expires=" + expireDate.toGMTString());
}

function DeleteCookie(sName) {
    if (GetCookie(sName)) {
        document.cookie = sName + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}

function ToggleCookie(sName) {
    var currentValue = GetCookie(sName);
    if (currentValue == null)   // cookie not found, assume false
        currentValue = "false";

    // toggle and set the cookie
    var newValue = (currentValue == "true" ? "false" : "true");
    SetCookie(sName, newValue);
}


// number formatting function; http://javascript.about.com/library/blnumfmt.htm
// copyright Stephen Chapman 24th March 2006, 22nd August 2008
// permission to use this function is granted provided
// that this copyright notice is retained intact
function formatNumber(num, dec, thou, pnt, curr1, curr2, n1, n2) { var x = Math.round(num * Math.pow(10, dec)); if (x >= 0) n1 = n2 = ''; var y = ('' + Math.abs(x)).split(''); var z = y.length - dec; if (z < 0) z--; for (var i = z; i < 0; i++) y.unshift('0'); if (z < 0) z = 1; y.splice(z, 0, pnt); if (y[0] == pnt) y.unshift('0'); while (z > 3) { z -= 3; y.splice(z, 0, thou); } var r = curr1 + n1 + y.join('') + n2 + curr2; return r; }

function format(input, decimals) { return formatNumber(input, decimals, '&nbsp;', ',', 'kr ', '', '-', ''); }

function removeSpaces(string) {
    var tmp = escape(string).replace('%A0', '');
    return unescape(tmp);
}


// Alter elements on addToList click
$(document).ready(function() {
  //Alter look for "Legg til i huskeliste" button on click
  $('a.addToList').click(function() {
    $(this).addClass("addedToList");
    $(this).text("Lagt til i huskeliste");
    $('#FxPMenuRootLevel6914,FxPMenuRootLevelCurrent6914,#FxPMenuRootLevel7020,FxPMenuRootLevelCurrent7020').addClass('invertedMenuItem');
  });
});

