﻿//Skript av Mathinic AB 2011 

//Globala inställningar (=gVariabel)
var gProductSlideshow = null;
var gSetProductImage = null; //Stätter pruduktbilder i rätt ordning. Skriptet finns i mallen productdetail.template i NB_Store
var gWidthProportion = null;
var gNavigationProportion = null;
var gBorder_Dynamic = 0; //anger om borders ska ta bort dynamiskt eller inte
var gBorder_OldWindowWidht = null; //Sparar bredd på fönster så att vi inte behöver sätta om border hela tiden
var gThisImageMove = 237; //Förflyttning i plixlar för populära produkter
var gClickStop = 0; //Förhindrar dubbel klickning vid populära produkter
var gListWidth = null;
var gNewHTML = "";
var gImageList = new Array();
var gFirstImage = 0;
var gImageListTimstamp = new Date().getTime();
var gImageListTimer = 4000;


function SetImageRotation() {

    tThisTime = new Date().getTime();
   
    if (gImageListTimstamp + gImageListTimer <= tThisTime) {
        gImageListTimstamp = new Date().getTime();

        if (!gClickStop) {
            gClickStop = 1;
            var List = $("#PageContainer .ContentAreaContainer .ContentArea");
            var tListPosition = List.position();
            var tNewLeft = tListPosition.left - gThisImageMove;

            List.animate({
                left: tNewLeft,
                "easing": "easein"
            }, 400, function () {
                // Animation complete.
                gFirstImage++;
                SetImagePosition(gFirstImage);

                gClickStop = 0;
            });
        }
        
    }
    setTimeout("SetImageRotation()", 60);
}




//Ställer in bilderna i bildspelet
function   SetImagePosition(Show){
            var List = $("#PageContainer .ContentAreaContainer .ContentArea"); 
            var ShowMax = gImageList.length - 1;

            var tInfo = "";
            gNewHTML = "";
            if (Show > ShowMax) {
                Show = 0;
                gFirstImage = 0;
            }
            if (Show < 0) {
                Show = ShowMax;
                gFirstImage = ShowMax;
            }
            var ShowThis = Show;
            tInfo += "Startar: " +ShowThis+"###<br/>";
            for (n = 0; n <= 5; n++) {
                
                if (ShowThis > ShowMax) {
                    ShowThis = 0;
                }

                if (ShowThis < 0) {
                    ShowThis = ShowMax;
                }


                tInfo += "ShowThis: " + ShowThis + "<br/>";

                gNewHTML += gImageList[ShowThis];
                ShowThis++

            }

            
            List.html(gNewHTML);
            List.css("left", -gThisImageMove + "px");
            //$(".Error").html(tInfo);
}

function SetImagePositionLeft(Show) {
    var List = $("#PageContainer .ContentAreaContainer .ContentArea");
    var ShowMax = gImageList.length - 1;

    var tInfo = "";
    gNewHTML = "";
    if (Show > ShowMax) {
        Show = 0;
        gFirstImage = 0;
    }
    if (Show < 0) {
        Show = ShowMax;
        gFirstImage = ShowMax;
    }
    var ShowThis = Show;
    tInfo += "Startar: " + ShowThis + "###<br/>";
    for (n = 0; n >= -5; n--) {

        if (ShowThis > ShowMax) {
            ShowThis = 0;
        }

        if (ShowThis < 0) {
            ShowThis = ShowMax;
        }

        tInfo += "ShowThis: " + ShowThis + "<br/>";

        gNewHTML += gImageList[ShowThis];
        ShowThis++

    }

    List.html(gNewHTML);
    List.css("left", -gThisImageMove + "px");
   // $(".Error").html(tInfo);
}


function SetProductBackgrund() {
    var GrayBackground = $("#GrayBackground");
    var DetailTopTable = $("#NBStore_DetailTopTable");
    var MoreInfoDetail = $("#PageContainer .MoreInfoDetail");
    var NewGrayHeight = DetailTopTable.height() + 20;
    if (MoreInfoDetail) {
        NewGrayHeight = NewGrayHeight + MoreInfoDetail.height()
    }
    GrayBackground.height(NewGrayHeight);

    var Offset = DetailTopTable.offset()
    GrayBackground.css("top", Offset.top);

    setTimeout("SetProductBackgrund()", 10);
}

function SetContainerBackgrund() {
    //Container bakgrund
    var GrayBackground = $("#GrayBackground");
    var ContainerTitleBox = $("#dnn_ProductPane .ProductTitleBox");
    var NewGrayHeight = ContainerTitleBox.height() + 20;
    GrayBackground.height(NewGrayHeight);
    
    //Sätter offset
    var Offset = ContainerTitleBox.offset()
    GrayBackground.css("top", Offset.top);
    setTimeout("SetContainerBackgrund()", 10);
}



//Förflyttning av listning
function SetListOffset() {
    var Frame = $("#PageContainer .ContentAreaContainer");
    var List = Frame.find(".ContentArea");
    var Navigator = Frame.find(".ControllNavigator");
    var NavigatorLeft = Navigator.position().left;

    tInfo = "Navigation: " + NavigatorLeft;
    NewPossX = gNavigationProportion * (-NavigatorLeft)
    List.css("left", NewPossX + "px")

}

function CenterMenu() {
    var MenuHolder = $("#TopInfoTable") //Menyn
    var MenuWidth = MenuHolder.width() //Menyns bredd
    var MainFrameWidth = $("#Width").width(); //Innehållets bredd
    var tWindowWidth = $(window).width(); //Fönsterbredd
    var MinWindowWidth = MenuWidth;  //Minsta bredd
    
    var tNewLeft = 0;

    if (tWindowWidth <= MinWindowWidth) {
        //Centrera menyn utifrån vyn
        //GÖR INGET
    }
    if (tWindowWidth >= MinWindowWidth) {
        //Centrera menyn utifrån  innehåll
        tNewLeft = (tWindowWidth/2) - (MenuWidth / 2);
    }
    MenuHolder.css("left", tNewLeft + "px");
    //Centrera logga över menyn
    var Loggo = $("#Loggo"); //tNewLeft+
    var tNewLoggoLeft = ((MenuWidth / 2) - (Loggo.width() / 2));
    Loggo.css("left", tNewLoggoLeft + "px")
    MenuHolder.find(".MainMenuContainer").show();
    Loggo.show();

    setTimeout("CenterMenu()", 10);
}





$(function () {
    CenterMenu();



    //Grå bakgrund för container (sidan designers, om oss mm)

    if ($("#dnn_ProductPane .ProductTitleBox").length) {
        SetContainerBackgrund();

    }


    //*****************************
    //**  Listning av produkter  **
    //Döljer produkt menyn vid visning av produkter
    if (($("#PageContainer .NBStore_ProductImage").length) || ($("#PageContainer .NBStore_Detail").length)) {

        $("#PageContainer .CategoryMenuWrapper").hide();
        $("#PageContainer .ProductTitleBox").hide();
        //Produktlistning
        if ($("#PageContainer .NBStore_ProductImage").length) {


        }

    } else if ($("#PageContainer .CategoryMenuWrapper table td a").length) {
        //***********************
        //** Visning av menyn  **
        var Wrapper = $("#PageContainer .CategoryMenuWrapper").eq(0);

        Wrapper.hide();
        var LinkList = "";
        var MaxLink = Wrapper.find("table td a").length - 1;
        var Tixer = 0;

        var Info = $(".BottomInfo")
        var tHTML = Info.html();

        for (n = 0; n <= MaxLink; n++) {
            Tixer++;
            LinkList += Wrapper.find("table td a").eq(n).parent().html();

        }

        //Funktion används inte
        //setTimeout("SetProductImageBorder()", 100);
        //Korrigerar border så att cellerna blir öppna

        Wrapper.html(LinkList);
        Wrapper.find("a").addClass("CategoryMenuLink");
       
        
        //Visa menyn
        Wrapper.fadeIn("slow");
        
        //Wrapper.show();


    }


    //*********************
    //** Produktvisning  **
    if ($("#NBStore_DetailTopTable").length) {

        //Sätter höjd på bakgrund
        SetProductBackgrund();

        $("#PageContainer .NBStore_RelatedOuter").first().css("border-left", "solid 0px #d0d0d0")
        $("#PageContainer .NBStore_RelatedOuter").eq(3).css("border-left", "solid 0px #d0d0d0")
        $("#PageContainer .NBStore_RelatedOuter").eq(4).css("border-right", "solid 1px #d0d0d0")
        $("#PageContainer .NBStore_RelatedOuter").eq(6).css("border-left", "solid 0px #d0d0d0")

        //****************************************
        //** Produktblad - Visa och dölj ikoner **
        var DocObject = $("#NBStore_DetailTopTable .NBStore_DetailInfoDocName")
        var DocNumber = DocObject.find("a").length;
        if (DocNumber) {
            //Döljer den andra ikonen om det bara finns ett produktblad
            if (DocNumber == 1) {
                DocObject.eq(1).hide();
            }
        } else {
            DocObject.hide(); //Döljer alla ikoner till produkbland om några sådana inte finns 
        }

        //*******************
        //** Produktbilder **

        var Image = $("#NBStore_DetailImagePanel .NBStore_DetailImageSlideshow")
        //Aktiverar scrollable
        if (!gProductSlideshow) {

            var ImageItems = $("#NBStore_DetailImageSlideshow .items div").length


            if (ImageItems >= 2) {
                gProductSlideshow = Image.scrollable({ circular: true, speed: 600 }).autoscroll({
                    interval: 4000 //Tiden i mellan bildväxlingarna
                });

            } else {
                $("#NBStore_DetailImagePanel .NavBar .left").fadeTo(0, 0.2);
                $("#NBStore_DetailImagePanel .NavBar .right").fadeTo(0, 0.2);
            }


        }


        //Koppla rätt bild på designer
        var DesignImage = $("#NBStore_ProductDesignerImage");
        var DesignName = $("#NBStore_ProductDesignerName").text();
        var DesignersList = new Array();
        var CountryList = new Array();



        DesignersList["Niels Gammelgaard"] = "NielsGammelgard";
        CountryList["Niels Gammelgaard"] = "Denmark";
        DesignersList["Niels Gammelgard"] = "NielsGammelgard";
        CountryList["Niels Gammelgard"] = "Denmark";
        DesignersList["Jan Ekström"] = "JanEkstrom";
        CountryList["Jan Ekström"] = "Sweden";
        DesignersList["Jahn Aamodt"] = "JahnAamodt";
        CountryList["Jahn Aamodt"] = "Norway";
        DesignersList["Lenka Teilmann"] = "LenkaTeilmann";
        CountryList["Lenka Teilmann"] = "Danmark";
        DesignersList["Lenka Tellmann"] = "LenkaTeilmann";
        CountryList["Lenka Tellmann"] = "Danmark";
        DesignersList["Conform"] = "Conform";
        CountryList["Conform"] = "Sweden";


        var NewClass = DesignersList[$.trim(DesignName)];
        DesignImage.addClass(NewClass); //Lägger till bilden som en CSS klass

        //Språk för designern
        var Country = CountryList[$.trim(DesignName)];
        //Hitta språk
        var tURL = "URL: " + window.location;
        var tFindString = "sv-SE";
        var tHitt = tURL.search(tFindString);
        if (tHitt >= 1) {
            switch (Country) {
                case "Denmark":
                    Country = "Danmark"
                    break;
                case "Sweden":
                    Country = "Sverige"
                    break;
                case "Norway":
                    Country = "Norge"
            }
        }
        $("#NBStore_ProductDesignerCountry").text(Country);
        //Klick funktion för att visa mer info om produkten
        var MoreInfo = $("#PageContainer .MoreProductInfo");
        MoreInfo.click(function () {
            $("#PageContainer .HideThis").slideToggle('slow', function () {
                // Animation complete.
            });
            var Icon = $("#PageContainer .MoreProductInfo .Icon").toggleClass("Show");

        });

        $("#HtmlProductInfo").fancybox();





    }
    //Knapp för sökning
    $("#PageSearchButton").click(function () {

        $("#SearchTop").slideToggle("slow")
    });

    //Hitta språk
    var tURL = "URL: " + window.location;
    var tFindString = "searchresults";
    var tHitt = tURL.search(tFindString);

    if (tHitt >= 1) {
        $("#SearchTop").show();
    }




    //Lägger till grå linjer runt boxarna
    if ($("#BoxTable .Container").length) {
        var BoxAria = $("#BoxTable");
        BoxAria.find(".BoxCell_A,.BoxCell_B").addClass("BoxBorderRight");
        BoxAria.find(".BoxCell_A,.BoxCell_B,.BoxCell_C").addClass("BoxBorderBottom");
    }






    //***************************************************************
    //** Scrollfunktion för container med mest populära produkter  **
    if ($("#PageContainer .ContentArea").length) {
        if ($("#PageContainer .PopulartList").length) {
            var Frame = $("#PageContainer .ContentAreaContainer"); //Ytterram
            var List = Frame.find(".ContentArea");                 //Listan som ska scrollas
            var ControllLeft = Frame.find(".PopulartListLeft");
            var ControllRight = Frame.find(".PopulartListRight");

            var tNumberOfImages = Frame.find(".NBStore_PopularItem").length + 1
            gListWidth = tNumberOfImages * gThisImageMove;
            gImageList = new Array();

            Frame.find(".NBStore_PopularItem").parent().each(function (index) {
                gImageList[index] = $(this).html();
            });

            SetImagePosition(gFirstImage);

            //Automatisk visning av produkterna
            setTimeout("SetImageRotation()", 60);


            ControllLeft.click(function () {
                if (!gClickStop) {
                    gClickStop = 1;


                    var List = $("#PageContainer .ContentAreaContainer .ContentArea");
                    var tListPosition = List.position();
                    var tNewLeft = tListPosition.left + gThisImageMove;

                    List.animate({
                        left: tNewLeft,
                        "easing": "easein"
                    }, 400, function () {
                        // Animation complete.
                        gFirstImage--;
                        SetImagePositionLeft(gFirstImage);

                        gClickStop = 0;
                    });
                }
            });


            ControllRight.click(function () {
                if (!gClickStop) {
                    gClickStop = 1;

                    var List = $("#PageContainer .ContentAreaContainer .ContentArea");

                    var tListPosition = List.position();
                    var tNewLeft = tListPosition.left - gThisImageMove;

                    List.animate({
                        left: tNewLeft,
                        "easing": "easein"
                    }, 400, function () {
                        // Animation complete.
                        gFirstImage++;
                        SetImagePosition(gFirstImage);

                        gClickStop = 0;
                    });
                }


            });


            //List.css("border", "dotted 1px Pink");




        }

    }

    var InactiveLanguage = $("#LanguageMenu .Language.selected");
    var tNewText = InactiveLanguage.attr("title");
    InactiveLanguage.text(tNewText);
    //Funktion för att visa och dölja språk
          $("#LanguageMenuButton").hover(
          function () {
              $(".LanguageMenu").slideDown('fast', function () {
                  // Animation complete.
              });
          },
          function () {
            //Gör inget
          });

          $(".LanguageMenu").mouseleave(function () {
              $(".LanguageMenu").slideUp('fast', function () {
                  // Animation complete.
              });
   
          });
       


});
//*********************************************************
//** Funktion för att ta bort ramar kring produktbilder  **
//** Fungerar både vid dynamisk bredd och fast           **
//** Funktionen beräknar hur många bilder som går att    **
//** rada upp på varje rad och tar bort linjer beroende  **
//** på det. Dvs inte vad som i praktiken visas          **
function SetProductImageBorder() {
    var WindowWidth = null;
    var MinWindowWidth = 1000 //Minsta bredden
    var Images = $("#PageContainer .ProductMenuImage"); //Bildobjekt
    var ImageNumber = $("#PageContainer .ProductMenuImage").length - 1; //Antal bilder
    var ImageWidth = Images.parent().width() +10; //Bredd på bild

    if (gBorder_Dynamic) { //Dynamisk bredd
        //Har fönstret förändrat sig?
        WindowWidth = $(window).width(); //Webbläsarens bredd

    } else { //Fast bredd
        WindowWidth = MinWindowWidth;
    }
    
    if (WindowWidth != gBorder_OldWindowWidht) {
        //** INSTÄLLNINGAR **
        //nollställer alla borderfärger
        Images.css("border-color", "#d0d0d0");

        var NoBorderNr = null; //Vilken kolumn som inte ska få någon linje mot höger
        var LastRow = null; //Vilken som är sista raden

        //Olika inställningar beroende på om sidan är bredare än normalt 
        if (WindowWidth >= MinWindowWidth) {
            
            NoBorderNr = Math.floor(WindowWidth / ImageWidth);
           
        } else {
            NoBorderNr = Math.floor(MinWindowWidth / ImageWidth);
            
        }
        LastRow = Math.floor(ImageNumber / NoBorderNr);
     

        var Counter = 0;  //Räknar kolumner
        var RowCounter = 0//Räknar rader
        for (n = 0; n <= ImageNumber; n++) {
            Counter++
            if (RowCounter >= LastRow) {//Ingen border åt höger
                $("#PageContainer .ProductMenuImage").eq(n).css("border-bottom", "solid 1px #fff");

            } 
        
            if (Counter == NoBorderNr || n == ImageNumber) {//Ingen border på sista raden
                $("#PageContainer .ProductMenuImage").eq(n).css("border-right","solid 1px #fff");
                Counter = 0;
                RowCounter++ 
            }
        }
        gBorder_OldWindowWidht = WindowWidth;






    }
    if (gBorder_Dynamic) {
        
        //Aktiverar funktionen igen
        setTimeout("SetProductImageBorder()", 40);
    }
}
