﻿//********************************
//** Skript av Mathinic AB 2011 **
//********************************
//** Globala inställningar (=gVariabel)
//**
//Färger i menyn. Används i CSS klasser
var gColorList = new Array("White");
var gColorCounter = 0;
var gMenuLockedWidth = 0; //Fast bredd på menyn. 1 = Fast, 0 = rörlig
var gLockWidthTo = "119px"//Fast bredd som menyn kan låsas till


$(function () {
    //**********************************************
    //** Markering av externa länkar i huvudmenyn **
    //**********************************************
    if ($("#MainMenuContainer").length) {
        //$("#MainMenuContainer a").css("border","dotted 1px #ccc");
        var tFindString = "\.aspx$";

        $("#MainMenuContainer a").each(function () {
            var tURL = "URL: " + $(this).attr("href");
            var tHide = tURL.search(tFindString);

            //om url:en inte länkar till en .aspx sida
            if (tHide == -1) {
                //$(this).prepend("<div class='ExternalLink Grafic'></div>")
                $(this).attr("target", "_blank");
            }

        });
    }
    //**********************************
    //** Aktivering av färger i menyn **
    //**********************************
    if ($("#MainMenuContainer .DropdownMenuItemContainer").length) {
        //Huvudmenyn
        var MainMenu = $("#MainMenuContainer .DropdownMenuItemContainer");

        MainMenu.hide();
        if (gMenuLockedWidth) {
            //Sätter en fast bredd
            MainMenu.find(".LockedWidth").css("width", gLockWidthTo);
        }

        MainMenu.each(function (index) {
            //Lägger till klasser på menyn med rätt färg
            var ThisColor = gColorList[gColorCounter];
            //$(this).addClass("MenuColor" + ThisColor + " Grafic");
            //$(this).parent("td").css("border", "solid 1px red");
            $(this).find(".MainMenuItemCornerLeft").addClass("MenuColor" + ThisColor + " Grafic");
            $(this).find(".MainMenuItemCornerRight").addClass("MenuColor" + ThisColor + " Grafic");
            $(this).find(".LockedWidth").addClass("MenuColor" + ThisColor + " Grafic");

            gColorCounter = gColorCounter + 1;
            if (gColorCounter >= gColorList.length) {
                //Nollställer räkningen av färger om listan är nådd till slutet
                gColorCounter = 0;
            }
        });
        MainMenu.show();

    }


    //*************************
    //*** Rullmeny styrning ***
    //*************************
    if ($("#MainMenuContainer .DropdownMenuItemContainer").length) {

        //Döljer alla undermenyer
        //$("#MainMenuContainer .DropdownSubMenuItem").hide();
        var DropDownMenu = $("#MainMenuContainer");


        //Styrning av första undermenyn som ska rullas ut
        DropDownMenu.find(".DropdownMenuItemContainer").each(function (index) {
            $(this).hover(
                      function () {
                          $(this).find(".MainMenuItemCornerLeft, .MainMenuItemCornerRight , .LockedWidth").addClass("Hover");

                          if ($(this).find(".DropdownSubMenuItem").length) {
                              var MainMenu = $(this).find(".DropdownMenuItem");
                              var PossX = MainMenu.position().left;
                              var PossY = MainMenu.position().top;

                              PossY = PossY + 16; //förskjutning av menyn i höjdled
                              PossX = PossX - 5; //förskjutning av meny i sidled
                              var SubMenu = MainMenu.next()
                              SubMenu.css("left", PossX + "px")
                              SubMenu.css("top", PossY + "px")
                              SubMenu.fadeIn();

                              SubMenu.find(".DropdownSubMenuItem").hover(
                                function () {
                                    var SubMenu = $(this);
                                    //Döljer alla övriga undermenyer
                                    SubMenu.parent().find(".DropdownSubMenuItem").next().hide();
                                    var PossX = SubMenu.position().left;
                                    var PossY = SubMenu.position().top;
                                    PossY = PossY - 16; //förskjutning av menyn i höjdled
                                    PossX = PossX + 160; //förskjutning av undermenyn  i sidled
                                    var SubSubMenu = SubMenu.next()
                                    SubSubMenu.css("left", PossX + "px")
                                    SubSubMenu.css("top", PossY + "px")
                                    if (SubSubMenu.text() != "") {

                                        SubSubMenu.css("height", "auto");
                                    }
                                    SubSubMenu.show();


                                },
                                function () {
                                    //hovrar av
                                    //$(this).css("border", "solid 0px Red");
                                    //$(this).next().hide()
                                }
                             );


                          }
                      },
                      function () {
                          //Döljer undermeny  
                          $(this).find('.DropdownMenuItem').next().hide()
                          $(this).find(".DropdownSubMenuItem").next().hide();
                          $(this).find(".MainMenuItemCornerLeft, .MainMenuItemCornerRight , .LockedWidth").removeClass("Hover");

                      }
                    );

        });

              }
    //Tar bort border
    if ($("#MainMenuHolder .MainMenuItemCornerLeft").length) {
        $("#MainMenuHolder .MainMenuItemCornerLeft:first").css("border", "solid 0px #fff")


    }
    //********************************************************************************
    //** Korrigerar bredd på boxarna så att tomma kolapsar och använd delar på den. ** 
    var MaxContainers = $("#BoxTable .Container").length - 1;
    if (MaxContainers) {
        var PaneBox = $("#BoxTable");
        var PaneList = new Array(".Box_A", ".Box_B", ".Box_C", ".Box_D", ".Box_E");
        var UsingSurfaces = 0;

        for (var n = 0; n <= PaneList.length - 1; n++) {
            if (PaneBox.find(PaneList[n] + " .Container").length) {
                UsingSurfaces++;
            }

        }
        var NewWith = (100 / UsingSurfaces);
        PaneBox.find(".BoxPane").css("width", NewWith + "%");


    }
    //**************************************************************
    //** Korrigering av höjder på boxar - Tobias Wiklund Mathinic **
    if ($("#BoxTable .SetHeight").length) {

        //Hittar aktiva boxar
        var MaxPane = 4; //Antal ytor
        var PaneList = new Array(".Box_A", ".Box_B", ".Box_C", ".Box_D", ".Box_E");
        var AktivBoxes = new Array();

        for (var n = 0; n <= MaxPane; n++) {
            if ($("#BoxTable " + PaneList[n] + " .SetHeight").length) {
                AktivBoxes.push(PaneList[n]); //Lägger till i listan
            }

        }

        //Korrigerar om det finns aktiva boxar
        if (AktivBoxes.length >= 1) {
            var BoxMaxHeight = 0;

            //Hittar högsta boxen
            for (var n = 0; n <= AktivBoxes.length - 1; n++) {
                var ThisBox = $("#BoxTable " + PaneList[n] + " .SetHeight");
                if (ThisBox.height() >= BoxMaxHeight) {   //Spara den högsta
                    BoxMaxHeight = ThisBox.height();
                }

            }

            //Ställer in ny höjd på alla boxar
            for (var e = 0; e <= AktivBoxes.length - 1; e++) {
                ThisBox = $("#BoxTable " + AktivBoxes[e] + " .SetHeight");
                ThisBox.height(BoxMaxHeight);

            }

        }
    }
    //********************************************************************
    //*** Ställer on höjd på containrar i ytorna som finns i #PageTable **
    if ($("#InnerContentTable .SetHeight").length) {

        var MaxHeight = 0;
        var Containers = $("#InnerContentTable .SetHeight");
        for (var n = 0; n <= Containers.length - 1; n++) {
            var ThisContainer = $("#InnerContentTable .SetHeight:eq(" + n + ")");
            if (ThisContainer.height() >= MaxHeight) {   //Spara den högsta
                MaxHeight = ThisContainer.height();
            }

        }

        Containers.css("height", MaxHeight + "px")
    }

    //Ökar marginalen på den sista länken i undermenyn. Det gåt inte att göra via css
    if ($("#RightContentCell .SubSubMenuItem").length) {
        $("#RightContentCell .SubSubMenuItem").last().css("margin-bottom", "10px");
    }

    

});
