///*
//    Javascript utility functions for tungt
// */
//function unfuzzy(desc, arr){
//    <!--
//    document.write("<a class=\"brandColor\" target=\"_blank\" href=\"mailto:");
//    for(var i = 0; i < arr.length; i++){
//        if(i < (arr.length -1)){
//            document.write(arr[i].toString().replace(/<hm>/, "@") + ".");
//        }else document.write(arr[i]);
//    }
//    document.write("\">" + desc + "</a>");
//    // -->
//}
//
//function unfuzzyBrand(desc, arr){
//    <!--
//    document.write("<a class=\"brandColor\" target=\"_blank\" href=\"mailto:");
//    for(var i = 0; i < arr.length; i++){
//        if(i < (arr.length -1)){
//            document.write(arr[i].toString().replace(/<hm>/, "@") + ".");
//        }else document.write(arr[i]);
//    }
//    document.write("\">" + desc + "</a>");
//    // -->
//}
//
//function unfuzzyMobile(desc, arr){
//    <!--
//    document.write("<a class=\"underline\" target=\"_blank\" href=\"mailto:");
//    for(var i = 0; i < arr.length; i++){
//        if(i < (arr.length -1)){
//            document.write(arr[i].toString().replace(/<hm>/, "@") + ".");
//        }else document.write(arr[i]);
//    }
//    document.write("\">" + desc + "</a>");
//    // -->
//}
//
//function isAdBooked(placement){
//    <!--
//    // Check if ad placement div contains either anchor or object tag implying an ad is booked:
//    if(document.getElementById(placement) == null){
//        return false;
//    }
//    var adContainerHtml = document.getElementById(placement).innerHTML.toLowerCase();
//    return adContainerHtml.indexOf('<a') > -1 || adContainerHtml.indexOf('<object') > -1;
//    // -->
//}


// *******************************************************************************************************
//*************************** Javascript utility functions for Klikk *************************************
// *******************************************************************************************************

var $jq = jQuery.noConflict();

// *******************************************************************************************************
// Code for fussing og email addresses
function unfuzzy(desc, arr){
    document.write("<a class=\"brandColor\" target=\"_blank\" href=\"mailto:");
    for(var i = 0; i < arr.length; i++){
        if(i < (arr.length -1)){
            document.write(arr[i].toString().replace(/<hm>/, "@") + ".");
        }else document.write(arr[i]);
    }
    document.write("\">" + desc + "</a>");
}

function unfuzzyBrand(desc, arr){
    document.write("<a class=\"brandColor\" target=\"_blank\" href=\"mailto:");
    for(var i = 0; i < arr.length; i++){
        if(i < (arr.length -1)){
            document.write(arr[i].toString().replace(/<hm>/, "@") + ".");
        }else document.write(arr[i]);
    }
    document.write("\">" + desc + "</a>");
}

function unfuzzyMobile(desc, arr){
    document.write("<a class=\"underline\" target=\"_blank\" href=\"mailto:");
    for(var i = 0; i < arr.length; i++){
        if(i < (arr.length -1)){
            document.write(arr[i].toString().replace(/<hm>/, "@") + ".");
        }else document.write(arr[i]);
    }
    document.write("\">" + desc + "</a>");
}

// *******************************************************************************************************
// Check if ad is booked
function isAdBooked(placement){
    if(document.getElementById(placement) == null){
        return false;
    }
    var adContainerHtml = document.getElementById(placement).innerHTML.toLowerCase();
    return adContainerHtml.indexOf('<a') > -1 || adContainerHtml.indexOf('<object') > -1;
}

// *******************************************************************************************************
// CS cookie functionality
/*
Functions for Escenic / Community Server integration
And functions to handle cookies

Cookies based on: http://www.quirksmode.org/js/cookies.html
Modified by Stian, HMI
 */

/*function createCookie(name, value, days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else var expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}*/

function createCookie(name, value, days, domain) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else var expires = "";
    document.cookie = name + "=" + value + expires + "; path=/;";
}


function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ')
            c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0)
            return c.substring(nameEQ.length, c.length);
    }
    return null;
}


function eraseCookie(name) {
    createCookie(name, "", -1);
}


function reloadPage() {
    location.reload();
}

// *******************************************************************************************************
// Ajax updater
function createAjaxUpdater(url, container, counter){
    ajaxCounter ++;
    $jq("#"+container).attr("id", container+counter).addClass("ajaxloadedContent");
    var jqxhr = $jq.get(url, function(data){
        $jq("#"+container+counter).append(data);
        $jq("#"+container+counter+" .ajaxLoader").hide();
    })
    .error(function(){ $jq("#"+container+counter+" .ajaxLoader").hide(); });
}

// *******************************************************************************************************
// jQuery UI dialog (lightbox)
$jq(document).ready(function() {
    $jq('.jq_dialog').click(function (){
        var id = $jq(this).attr('id').split("_")[1];
        displayIframeDialog(id);
    });
});
function displayIframeDialog(id){
    $jq('#'+id).dialog({
        autoOpen: true,
        modal: true,
        width: 400,
        position: 'center',
        title: "Snakk.klikk.no",
        zIndex: 10002
    });
}

// *******************************************************************************************************
// Sticky add
$jq(document).ready(function() {
    // Get position values
    var scrollPos = 0;
    var stickLeft = false;
    var stickRight = false;
    var useRightSticky = false;
    var readRightStickyStartpos = true; // Used for IE bugfix
    var useLeftSticky = false;
    var readLeftStickyStartpos = true; // Used for IE bugfix
    var paddingTop = 0;
    var googletopBar = 0; // Add spacing on top if googleBar exist
//        var facebookCommentsHeight = 0;

    if($jq(".googleTopBarFullwidth").length){
        googletopBar = 70;
        paddingTop += googletopBar;

    }
    if($jq(".leftSticky").length ){
        var leftStickyStartpos = $jq(".leftSticky").offset().top-googletopBar;
        useLeftSticky = true;
    }
    if($jq("#rightSticky").length){
        var rightStickyStartpos = $jq("#rightSticky").offset().top-googletopBar;
        var rightStickyStopBottom = ($jq(".box608Art").offset().top+$jq(".box608Art").height())-$jq("#rightSticky").height()+googletopBar;
        var rightStickyBottompos = (($jq(".box608Art").offset().top+$jq(".box608Art").height())-$jq("#rightSticky").height())-rightStickyStartpos-googletopBar;
        // If room for right sticky
        if(($jq("#moveOuterRightAdCol").offset().top+$jq("#moveOuterRightAdCol").height())-$jq("#rightSticky").height() < rightStickyStopBottom) useRightSticky = true;
    }

    $jq(window).scroll(function(e){

        if($jq(".googleTopBarFullwidth").css('display') == "none" && paddingTop > 5){
            leftStickyStartpos += googletopBar;
            rightStickyStartpos += googletopBar;
            rightStickyStopBottom += googletopBar;
            googletopBar = 0;
            paddingTop = 0;
            stickLeft = false;
            stickRight = false;
        }

        scrollPos = $jq(window).scrollTop();
        // Left sticky positioning
        if(useLeftSticky){
            if(readLeftStickyStartpos) leftStickyStartpos = $jq(".leftSticky").offset().top-googletopBar;

            if(leftStickyStartpos-scrollPos < 0 && !stickLeft){
                $jq(".leftSticky").css({"position":"fixed", "top":paddingTop});
                stickLeft = true;
                readLeftStickyStartpos = false;
            }
            else if(leftStickyStartpos-scrollPos > 0 && stickLeft){
                $jq(".leftSticky").css({"position":"relative", "top":"0px"});
                stickLeft = false;
            }
        }

        // Right sticky positioning
        if(useRightSticky){
            if(readRightStickyStartpos){
                rightStickyStartpos = $jq("#rightSticky").offset().top-googletopBar;
                rightStickyBottompos = (($jq(".box608Art").offset().top+$jq(".box608Art").height())-$jq("#rightSticky").height())-rightStickyStartpos-googletopBar;
            }
//                if($jq("#facebookCommentsHeight").length) facebookCommentsHeight = $jq("#facebookCommentsHeight").height();

            var bottomPos = (($jq(".box608Art").offset().top+$jq(".box608Art").height())-scrollPos)-$jq("#rightSticky").height()-googletopBar;
            if(rightStickyStartpos-scrollPos > 0 && stickRight){
                $jq("#rightSticky").css({"position":"static", "padding-left":"0", "margin-top":"0px"});
                stickRight = false;
            }
            else if(rightStickyStartpos-scrollPos < 0 && bottomPos > 0 && !stickRight){
                $jq("#rightSticky").css({"position":"fixed", "top":paddingTop+5, "padding-left":"0px", "margin-top":"0", "width":"180px"});
                stickRight = true;
                readRightStickyStartpos = false;
            }
            else if(bottomPos < 0 && stickRight){
                $jq("#rightSticky").css({"position":"static", "margin-top":rightStickyBottompos, "padding-left":"0px"});
                stickRight = false;
            }
        }
    });
});

// *******************************************************************************************************
// Code for multipage navigation
/*
    Forutsetter at vi har en array 'pages' som inneholder
    elementer 'hiddenPageX' for hver side

    Og for bilder - en array "images" som ineholder
    elementer "image_bodyX" for hver side/hvert bilde

    EKSEMPEL:
    pages = new Array();
    pages[0] = "hiddenPage1";
*/

current = 'hiddenPage1';

function switchPage(next, number) {
    // number = parameter...
    // hide all pages:
    for (var x = 0; x < pages.length; x++) {
        // alert(pages[x] + " " + thePage);
        hide(pages[x]);
    }

    // show the next page:
    show(next);
    // update the 'current' marker:
    current = next;
}

function switchToNextPage() {
    // switch for: current (and number can be 10: 2 digits:)
    if (current.length < 12)
        number = current.substring(current.length, current.length -1);
    else
        number = current.substring(current.length, current.length -2);
    last = pages.length;
    // check that the current page is not the last page:
    if(number != last){
        // it's good - exec00te!
        for (var x = 0; x < pages.length; x++) {
            hide(pages[x]);
        }
        show(pages[number]);
        current = pages[number]; // update the 'current' marker
    }
}

function switchToPreviousPage() {
    // switch for: current (and number can be 10: 2 digits:)
    if (current.length < 12)
        number = current.substring(current.length, current.length -1);
    else
        number = current.substring(current.length, current.length -2);

    // check that the current page is not the first page:
    if(number != 1){
        // it's good - exec00te!
        for (var x = 0; x < pages.length; x++) {
            hide(pages[x]);
        }
        show(pages[number -2]);
        current = pages[number -2]; // update the 'current' marker
    }
}

// function hide gjør 3 ting - gjemmer text div, setter markering for side nummeret og gjemmer bildet knyttet til siden.
function hide(theid) { // ta med id til <li> med bg image - endre class til "page notselected".
    if (document.getElementById) {
        var hide_id = document.getElementById(theid);
        hide_id.className = 'mparticle hide';
    }
}

// function show gjør 3 ting, samme som "hide", bare motsatt.
function show(theid) { // ta med id til <li> med bg image - endre class til "page selected"
    if (document.getElementById) {
        var show_id = document.getElementById(theid);
        show_id.className = 'mparticle show';
    }
}

// *******************************************************************************************************
