/**
* @author ehandelsbureauet lavprishvidevarer
* this script is copyrighted and is not allowed to be used in any way without permission.
*
**/
image_url = new Array();
preLoadImgPrMenu();


function preLoadImgPrMenu() { //PRELOAD MENUGRAPHICS
    if (document.images) {
        preload_image_object = new Image();
        // set image url        
        image_url.push = "/images/design/construction/prmenu_niv_1.gif";
        image_url.push = "/images/design/construction/prmenu_niv_1_h.gif";
        image_url.push = "/images/design/construction/prmenu_niv_2.gif";
        image_url.push = "/images/design/construction/prmenu_niv_2_h.gif";
        image_url.push = "/images/design/construction/prmenu_niv_2_active.gif";
        var i = 0;

        for (i = 0; i <= image_url.length; i++)
            preload_image_object.src = image_url[i];
    }
}

function init() {
    fixPrMenuSpanTagMenu();
    systemCategories();
    tagHeadLinePrmenu();
    wipeClassIfnoContentCatPage();
    readMorePrCard();
    //performImgScript();
    //insertElementsByRegExp();

}


$(document).ready(function() {

    removeStyleOnPrBrands();
    attachFunctionAmountPrCard();
    categoryPictureList();
    setTimeout('produceImgSwap()', 100);
    setTimeout('insertElementsByRegExp()', 10);
    setTimeout('sortEngine()', 1000);
    moveBasketVars();
    removeEight();
    setTimeout('attachMostPopLists()', 250);


    var showText = 'Lï¿½s mere';
    var hideText = 'Luk';

    var is_visible = false;
    $('.toggle').prev().append('<a href="#" class="toggleLink">' + showText + '</a>');
    $('.toggle').hide();
    $('a.toggleLink').click(function() {
        is_visible = !is_visible;

        if ($(this).text() == showText) {
            $(this).text(hideText);
            $(this).parent().next('.toggle').slideDown('fast');
        }
        else {
            $(this).text(showText);
            $(this).parent().next('.toggle').slideUp('fast');
        }
        return false;
    });
});

function sortEngine() {
    if (document.getElementById('sortScriptInit')) {
        sorterEngineBegin();
    }
}

function attachFunctionAmountPrCard() {
    if (document.getElementById("amount")) {
        var amount = document.getElementById("amount");
        amount.onchange = moveAmountPrCardOrg;
    }
}

function moveAmountPrCardOrg() {
    var amount_1 = document.getElementById("amount_1");
    var amount = document.getElementById("amount");
    amount_1.value = amount.value;
}

function moveAmountPrCard() {
    var amount_1 = document.getElementById("amount_1");
    var amount = document.getElementById("amount");
    amount.value = amount_1.value;
}

function insertElementsByRegExp() {

    var findElm = ["Best Buy"]
    var graphicsElm = ["bestbuy.png"]

    var orgArr = [];
    var pictureArr = [];


    var findSPAN = document.getElementsByTagName('SPAN');
    var findDIV = document.getElementsByTagName('DIV');

    // REPLACE BY REGEXP
    var findSPANlength = findSPAN.length;
    for (var i = 0; i < findSPAN.length; i++) {
        if (findSPAN[i].className == "orgElement") {
            findSPAN[i].innerHTML = (findSPAN[i].innerHTML.replace("Best Buy", " "));
        }
    }


    /*
    var findElm = ["Best Buy"]
    var graphicsElm = ["bestbuy.png"]

    var orgArr = [];
    var pictureArr = [];


    var findSPAN = document.getElementsByTagName('SPAN');
    var findDIV = document.getElementsByTagName('DIV');

    // REPLACE BY REGEXP
    var findSPANlength = findSPAN.length;
    for (var i = 0; i < findSPAN.length; i++) {
    if (findSPAN[i].className == "orgElement") {
    findSPAN[i].innerHTML = (findSPAN[i].innerHTML.replace("Best Buy", "<div class='transferElm'><img src='/images/design/source/prlistbuybest.png'></div"));
    }
    }
    // FIND AND REPLACE
    var findDIVlength = findDIV.length;
    for (var i = 0; i < findDIV.length; i++) {
    if (findDIV[i].className == "productListBox") {
    var productDiv = findDIV[i].getElementsByTagName('DIV');

            var productDivlength = productDiv.length;
    for (var x = 0; x < productDiv.length; x++) {
    if (productDiv[x].className == "transferElm") {
    productDiv[x + 6].innerHTML = productDiv[x].innerHTML;
    productDiv[x + 6].style.display = "block";
    }
    }
    }
    }

    // IF PRODUCTCARD
    if (document.getElementById("prCardShortDescription")) {
    var prCardShortDescription = document.getElementById("prCardShortDescription");

        prCardShortDescription.innerHTML = prCardShortDescription.innerHTML.replace("Best Buy", "<div id='prCardBestBuyTransfered'><img src='/images/design/source/prlistbuybest.png'></div");
    if (document.getElementById("prCardBestBuyTransfered")) {
    var prCardBestBuyTransfered = document.getElementById("prCardBestBuyTransfered");
    var prCardBestBuy = document.getElementById("prCardBestBuy");
    prCardBestBuy.innerHTML = prCardBestBuyTransfered.innerHTML;
    prCardBestBuy.style.display = "block";

        }
    }
    */
}

function attachMostPopLists() {
    if (document.getElementById('toplist')) {

        var targetA = document.getElementById('toplist').getElementsByTagName('A');

        var lastAdded = document.getElementById('lastAdded').getElementsByTagName('A');
        var mostSold = document.getElementById('mostSold').getElementsByTagName('A');

        for (var i = 0; i < 10; i++) {
            targetA[i * 2].innerHTML = lastAdded[i].innerHTML;
            targetA[i * 2].href = lastAdded[i].href;
        }
        for (var i = 0; i < 10; i++) {
            targetA[(i * 2) + 1].innerHTML = mostSold[i].innerHTML;
            targetA[(i * 2) + 1].href = mostSold[i].href;
        }

    }
}

function readMorePrCard() {
    if (document.getElementById('discPrc2')) {
        tempReadContent = document.getElementById('discPrc2').getElementsByTagName('DIV');
        if (tempReadContent[0].className == "Description_Productinfo") {
            if (tempReadContent[0].innerHTML != "") {
                document.getElementById('discPrc1').innerHTML += ("<div id='readBtnPrCard'><a onclick='return&nbsp;readMoreBtnPrCard()'><img src='/images/design/source/laes_mere_varekort.gif' id='readBtnImg'/></a></div>");
                document.getElementById('discPrc2').style.display = "none";
                document.getElementById('readBtnPrCard').style.margin = "25px 0px 8px 0px";
                document.getElementById('readBtnImg').style.cursor = "pointer";
            }
        }
    }
}

function readMoreBtnPrCard() {
    document.getElementById('discPrc2').style.display = "block";
    document.getElementById('readBtnPrCard').parentNode.removeChild(document.getElementById('readBtnPrCard'));
    document.getElementById('discPrc2').innerHTML += ("<div id='readBtnPrCard2'><a onclick='return&nbsp;readLessBtnPrCard()'><img src='/images/design/source/laes_mindre_varekort.gif' id='readBtnImg'/></a></div>");
    document.getElementById('readBtnPrCard2').style.margin = "25px 0px 8px 0px";
    document.getElementById('readBtnImg').style.cursor = "pointer";
}

function readLessBtnPrCard() {
    document.getElementById('readBtnPrCard2').parentNode.removeChild(document.getElementById('readBtnPrCard2'));
    document.getElementById('discPrc1').innerHTML += ("<div id='readBtnPrCard'><a onclick='return&nbsp;readMoreBtnPrCard()'><img src='/images/design/source/laes_mere_varekort.gif' id='readBtnImg'/></a></div>");
    document.getElementById('discPrc2').style.display = "none";
    document.getElementById('readBtnPrCard').style.margin = "25px 0px 8px 0px";
    document.getElementById('readBtnImg').style.cursor = "pointer";
}




function wipeClassIfnoContentCatPage() {
    if (document.getElementById("prListDescriptionCatPage")) {
        if (document.getElementById("prListDescriptionCatPage").innerHTML == "&nbsp;") {
            document.getElementById("prListDescriptionCatPage").style.backgroundImage = "url('')";
            document.getElementById("prListDescriptionCatPage").style.padding = "0px";
        }
    }
}

function removeEight() {
    var spanResult = document.getElementsByTagName("SPAN");

    var spanResultlength = spanResult.length;
    for (var i = 0; i < spanResult.length; i++) {
        if (spanResult[i].className == "removeEight") {
            spanResult[i].innerHTML = spanResult[i].innerHTML.replace(new RegExp("</strike>8<strike>", "gi"), "");
        }
    }

    var divResult = document.getElementsByTagName("DIV");
    var divResultlength = divResult.length;
    for (var i = 0; i < divResult.length; i++) {
        if (divResult[i].className == "fl-content") {
            divResult[i].innerHTML = divResult[i].innerHTML.replace(new RegExp("</strike>8<strike>", "gi"), "");
        }
    }

}


function tagHeadLinePrmenu() {
    var prMenuSpan = document.getElementById("ProductMenu_Table").getElementsByTagName('SPAN');

    var prMenuSpanlength = prMenuSpan.length;
    for (var i = 0; i < prMenuSpan.length; i++) {
        if (prMenuSpan[i].className == "prMenuHead") {
            prMenuSpan[i].parentNode.parentNode.innerHTML = prMenuSpan[i].parentNode.innerHTML;
        }
    }

    for (var i = 0; i < prMenuSpan.length; i++) {
        if (prMenuSpan[i].className == "prBrandsHead") {
            prMenuSpan[i].parentNode.parentNode.innerHTML = prMenuSpan[i].parentNode.innerHTML;
        }
    }

}

function moveBasketVars() {
    document.getElementById("basketTopMenu").innerHTML = document.getElementById("orgBasketVars").innerHTML;
}

function fixPrMenuSpanTagMenu() { //FIXES PROBLEM WITH BOLD IN PRMENU
    var tempSpan = document.getElementById('ProductmenuContainer_DIV').getElementsByTagName('SPAN');

    for (var i = 0; i < tempSpan.length; i++) {
        if (tempSpan[i].className == "ProductMenu_MenuItemBold") {
            tempSpan[i].parentNode.innerHTML += tempSpan[i].innerHTML;
            tempSpan[i].style.display = "none";
            // tempSpan[i].innerHTML = "";
        }
    }
}

function systemCategories() { // MAKES HEADLINES IN SEARCH RESULT
    if (window.location.pathname.match(new RegExp('^/shop/news'))) {
        document.getElementById('prListHeader').innerHTML = "<h1 class='fontType7 fontColor6 upperCase'>Nyheder</h1>";
    }
    if (window.location.pathname.match(new RegExp('^/shop/specialoffer'))) {
        document.getElementById('prListHeader').innerHTML = "<h1 class='fontType7 fontColor6 upperCase'>Tilbud</h1>";
    }
    if (window.location.pathname.match(new RegExp('^/shop/search'))) {
        document.getElementById('prListHeader').innerHTML = "<h1 class='fontType7 fontColor6 upperCase'>Søgeresultat</h1>";
    }
}


// WOGWCLASSLIB
function performImgScript() { // READY FUNCTION FOR HOVER EFFECTS ON GIF

    eventImgArray = document.getElementsByTagName('A');
    eventImgArraylength = eventImgArray.length;
    for (var i = 0; i < eventImgArray.length; i++) {
        if (eventImgArray[i].className == 'eventClass') {
            addEvent(eventImgArray[i], "mouseover", processOver, false);
            addEvent(eventImgArray[i], "mouseout", processOut, false);
        }
    }
    //CLEANMEM
    eventImgArray = {};
}

function addEvent(elem, evtType, func, capture) {
    capture = (capture) ? capture : false;
    if (elem.addEventListener) {
        elem.addEventListener(evtType, func, capture);
    }
    else
        if (elem.attachEvent) {
        elem.attachEvent("on" + evtType, func);
    }
    else {
        elem["on" + evtType] = func;
    }
}

function processOver(evt) {
    evt = (evt) ? evt : window.event;
    var elem = (evt.target) ? evt.target : evt.srcElement;
    elem.src = elem.src.replace(/.gif/, "_h.gif")
}

function processOut(evt) {
    evt = (evt) ? evt : window.event;
    var elem = (evt.target) ? evt.target : evt.srcElement;
    elem.src = elem.src.replace(/_h.gif/, ".gif")
}

//WOGWCLASSLIB END





function categoryPictureList() {

    var imgs = {}; // Map img tag from url to img object
    // Find all images in menu, swap their a hrefs title into the place of the image
    var productMenu = document.getElementById("ProductMenu_Table");

    var img = productMenu.getElementsByTagName("IMG");
    var imglength = img.length;
    for (var i = 0; i < img.length; i++) {
        var parent = img[i].parentNode; // The a tag
        var title = (parent.tagName == "B" ? parent.parentNode.title : parent.title); // title of a tag, which becomes link text
        var href = (parent.tagName == "B" ? parent.parentNode.href : parent.href)

        if (title) {
            imgs[href] = img[i];
            parent.innerHTML += title;
        }

    }

    // Find product list and move the image into that position
    var a = document.getElementsByTagName("A");

    var alength = a.length;

    for (var i = 0; i < a.length; i++) {

        if ((a[i].className == "SubCats_Prodlink")) {

            var a = document.getElementsByTagName("A");

            for (var i = 0; i < a.length; i++) {
                if ((a[i].className == "SubCats_Prodlink")) {

                    var img = imgs[a[i].href];
                    if (img) {
                        var innerHTML = a[i].innerHTML;
                        a[i].appendChild(img);
                    }
                }
            }
        }
    }

    a = "";
    imgs = "";

    redesignCatPage();

}

function redesignCatPage() {
    htmlIns = "";

    //REDESIGN

    if (document.getElementById("category-picture-list")) {
        var findTags = document.getElementById("category-picture-list").getElementsByTagName("A");

        var findLink = [];
        var findImg = [];
        var findTxt = [];

        var findTagslength = findTags.length;
        for (var i = 0; i < findTags.length; i++) {
            findImg.push(findTags[i].lastChild.src);
            findLink.push(findTags[i].href);
            findTxt.push(findTags[i].firstChild.nodeValue);
        }

        document.getElementById("category-picture-list").innerHTML = "";

        var findImglength = findImg.length;
        for (var i = 0; i < findImg.length; i++) {
            document.getElementById("category-picture-list").innerHTML += "<div class='catListBox'><h2><a href='" +
            findLink[i] +
            "'>" +
            findTxt[i] +
            "</h2><div><img src='/images/design/construction/strokeinfocard.gif'></div><div class='catListImgBox'><a href='" +
            findLink[i] +
            "'><img src='" +
            findImg[i] +
            "'>" +
            "</a></div><div><img src='/images/design/construction/strokeinfocard.gif'></div></div>";

        }

    }

}


function removeStyleOnPrBrands() {

    var html;
    var tempA;
    var tempH2;

    if (document.getElementById("ProductMenu_Table")) {

        var findSpanTag = document.getElementById("ProductMenu_Table").getElementsByTagName("SPAN");
        var findSpanTaglength = findSpanTag.length;
        for (var i = 0; i < findSpanTag.length; i++) {
            if (findSpanTag[i].className == "prBrands") {
                if (findSpanTag[i].parentNode.className == "ProductMenu_MenuItemBold") {
                    findSpanTag[i].parentNode.parentNode.className = "prBrands";
                } else {
                    findSpanTag[i].parentNode.className = "prBrands";
                }
            }
            if (findSpanTag[i].className == "prBrandsAll") {
                findSpanTag[i].parentNode.parentNode.style.display = "none";
                findSpanTag[i].parentNode.style.display = "none";
                findSpanTag[i].style.display = "none";
            }

        }

        var findAopera = document.getElementById("ProductMenu_Table").getElementsByTagName("A");
        var findAoperalength = findAopera.length;
        for (var i = 0; i < findAopera.length; i++) {
            if (findAopera[i].title == "Alle mï¿½rker") {
                findAopera[i].style.display = "none";
            }
        }

        // STYLE BRANDSCATEGORY
        var findTR = document.getElementById("ProductMenu_Table").getElementsByTagName("TR");
        var findTRlength = findTR.length;
        for (var i = 0; i < findTR.length; i++) {
            if (findTR[i].id == "61") {
                findTR[i].style.display = "none";
            }
        }

    }


}






