﻿/* Global Variables */
var websService = "/_ws/ProductSelectorAPI.asmx";

/* Top Navigation */
var NaviLevel3LastMenuOpenedID = 0; //numeric ID of last Level 3 Menu, which has been opened

/* Header Images */
var ArrayHeaderImages = new Array();

/* END Global Variables */


/* Top-Navigation */

//shows Level3 Navi
//NaviID is the ID of the Parent-Node (Level 2), where the Level 3 Navi belongs to.
function showLevel3Navi(NaviID) {

    //is there a Level 3 Navi opened allready?
    if (NaviLevel3LastMenuOpenedID != 0) {
        $('#ssnav' + NaviLevel3LastMenuOpenedID).css('display', 'none').css('visibility', 'hidden'); //close Level 3 Navi
        NaviLevel3LastMenuOpenedID = 0;
    }

    $('#ssnav' + NaviID).css('display', 'block').css('visibility', 'visible');
    NaviLevel3LastMenuOpenedID = NaviID; //flag newly opened Level 3 Navi
}

//hides Level3 Navi
//NaviID is the ID of the Parent-Node (Level 2), where the Level 3 Navi belongs to.
function hideLevel3Navi(NaviID) {
    $('#ssnav' + NaviID).css('display', 'none').css('visibility', 'hidden');
    NaviLevel3LastMenuOpenedID = 0;
}

//sometimes, when User hovers very quickly over Navi, Navi of Level 3 may not be hidden. Therefore we try to hide last visible Level-3-Navi when hovering over Level-1-Navi.
function hideLevel3NaviLastOpened() {
    if(NaviLevel3LastMenuOpenedID != 0)
        $('#ssnav' + NaviLevel3LastMenuOpenedID).css('display', 'none').css('visibility', 'hidden');
}

//highlights Navigation
function highlightTopNavi(IDs) {

    var NumberOfIDs = IDs.length;
    var CurrentIndex = 0;
    
    //we have Maximum of 3 Navi-Levels
    while (CurrentIndex <= 3 && CurrentIndex < (NumberOfIDs)) {
        //alert('nav' + IDs[CurrentIndex]);
        $('#nav' + IDs[CurrentIndex]).addClass('active');
        CurrentIndex += 1;
    }
}

/* Tabs (Product Detail) */
var ProductDetailLastTabDisplayed = "TabContent1";
var ProductDetailLastTabNr = 1;

function switchTab(TabID, TabNr) {

    var URLParts = TabID.split('#');

    if (TabID != ProductDetailLastTabDisplayed) {
        $('#' + ProductDetailLastTabDisplayed).css('display', 'none').css('visibility', 'hidden');
        $('#Tab' + ProductDetailLastTabNr).removeClass('active');
        $('#' + URLParts[1]).css('display', 'block').css('visibility', 'visible');
        $('#Tab' + TabNr).addClass('active');
        ProductDetailLastTabNr = TabNr;
    }

    ProductDetailLastTabDisplayed = URLParts[1];
    URLParts = null;
}

/* Utilities */

//resizes Height of given Elements to the biggest one. Uses for Page of Type "SingleMarket.master" (e.g. Industrial, Education ...)
//supply IDs comma seperated without spaces (e.g. 'Box1,Box2,Box3')
function ElementResizer(CommaSeparatedElementIDs) {

    var ArrayIDs = CommaSeparatedElementIDs.split(',');
    var ArrayElements = new Array();
    var MaxHeight = 0;

    for (i = 0; i < ArrayIDs.length; i++) {
        
        var Element = $('#' + ArrayIDs[i]);
        var ElementHeigth = Element.height()

        if (Element.length != 0) {
            ArrayElements.push({
                id: ArrayIDs[i],
                obj: Element,
                height: ElementHeigth
            });

            if (ElementHeigth > MaxHeight)
                MaxHeight = ElementHeigth;
        }
    }

    for (i = 0; i < ArrayElements.length; i++) {
       
            ArrayElements[i].obj.height(MaxHeight);

            /* because IE7 messes up CSS after resizing we modify style for the formerly smaller Elements */
            if (jQuery.browser.msie && jQuery.browser.version == '7.0')
                ArrayElements[i].obj.css('margin-top', '20px');
    }
}
