﻿///<reference path="jquery.js" />
var closeTier2Interval;
var closeTier3Interval;
var currentTier1Item = null;
var currentTier2Item = null;

$(document).ready(document_Ready);

function document_Ready() {
    $(".tier1Item").mouseover(tier1Item_Over);
    $(".tier1Item").mouseout(tier1Item_Out);

    $(".tier2Holder").mouseover(tier2Holder_Over);
    $(".tier2Holder").mouseout(tier2Holder_Out);
    $(".tier2Item").mouseover(tier2Item_Over);
    $(".tier2Item").mouseout(tier2Item_Out);

    $(".tier3Holder").mouseover(tier3Holder_Over);
    $(".tier3Holder").mouseout(tier3Holder_Out);
    $("#tier1 a").each(function() {
        if ($(this).attr("href") == "javascript:;") {
            $(this).removeAttr("href");
            $(this).removeClass("tier2Active");
            $(this).css("text-decoration","none");
        }
    });
}

function bringToFront() {
    $("#workbookContainer").css("z-index", 4);
}
function sendToBack() {
    $("#workbookContainer").css("z-index", 12);
}

/**
 * Tier 1 Events
 */
function tier1Item_Over() {
    clearInterval(closeTier2Interval);

    $("#tier2").show();
    $("#tier3").show();
    //Close Previously Opened Tier 1 Menu
    if (currentTier1Item != null) {
        $("#tier2").empty();
        $(".tier1ItemLeft", currentTier1Item).removeClass("tier1ItemLeftOver");
        $(".tier1ItemCenter", currentTier1Item).removeClass("tier1ItemCenterOver");
        $(".tier1ItemRight", currentTier1Item).removeClass("tier1ItemRightOver");
    }

    //Set and Open Current Menu
    bringToFront();
    currentTier1Item = $(this);

    currentTier1Item.mouseover(tier1Item_Over);
    var child = $(".tier2Holder", currentTier1Item);
    var clone = child.clone(true);
    if (child.length > 0) {
        $(".tier1ItemLeft", currentTier1Item).addClass("tier1ItemLeftOver");
        $(".tier1ItemCenter", currentTier1Item).addClass("tier1ItemCenterOver");
        $(".tier1ItemRight", currentTier1Item).addClass("tier1ItemRightOver");

        $("#tier2").append(clone);

        var l = currentTier1Item.position().left - ((clone.width() - currentTier1Item.width()) / 2);
        clone.css("left", l);
        
        clone.show();
    }
}
function tier1Item_Out() {
    closeTier2Interval = setInterval(closeTier2, 100);
}

/**
 * Tier 2 Events
 */
function tier2Holder_Over() {
    clearInterval(closeTier2Interval);
}
function tier2Holder_Out() {
    closeTier2Interval = setInterval(closeTier2, 100);
}
function tier2Item_Over() {
    clearInterval(closeTier3Interval);
    $("a.tier2Active", currentTier2Item).removeClass("tier2LinkOver");
    $("a.tier2Active", this).addClass("tier2LinkOver");
    $("#tier3").show();
    //Close Previously Opened Tier 2 Menu
    if (currentTier2Item != null) {
        $("#tier3").empty();
        $(".tier2ItemBottom").removeClass("tier2ItemBottomOver");
    }

    //Set and Open Current Menu
    currentTier2Item = $(this);
    var child = $(".tier3Holder", this);
    var clone = child.clone(true);
    var columns = $(".tier3Column", clone);
    if (columns.length > 0) {
        var currentWidth = currentTier2Item.parent().width() - 2;
        $(".tier2ItemBottom", this).addClass("tier2ItemBottomOver");
//        clone.css("width", currentTier2Item.parent().width() - 2);
        if (columns.length <= 3) {
            clone.css("width", currentWidth);
            clone.css("padding-right", "0px");
            var perc = 100 / columns.length;
            columns.css("width", Math.floor(perc) + "%");
        }
        else {
            clone.css("width", (columns.length*140)+"px");
            clone.css("padding-right", "20px");
        }
        $("#tier3").append(clone);

        for (var i = 0; i < columns.length; i++) {
            if (i < columns.length - 1) {
                $(columns[i]).addClass("tier3ColumnSeparator");
            }
            //Prevent 2 50%
            if (i == columns.length - 1 && $(columns[i]).css("width") == "50%") {
                $(columns[i]).css("width", "49%");
            }
            else if (i == columns.length - 1 && $(columns[i]).css("width") == "25%") {
                $(columns[i]).css("width", "24%");
            }
        }
        if (columns.length > 3) {
            clone.css("margin-left",((currentWidth-clone.width()-20)/2)+"px");
            for (var i = 0; i < columns.length; i++) {
                $(columns[i]).css("width", "140px");
            }
        }
        columns.height(clone.height());
        clone.css("left", currentTier2Item.parent().css("left"));
        clone.show();
    }
}
function tier2Item_Out() {
    closeTier3Interval = setInterval(closeTier3, 100);
}

/**
 * Tier 3 Events
 */
function tier3Holder_Over() {
    clearInterval(closeTier2Interval);
    clearInterval(closeTier3Interval);
}
function tier3Holder_Out() {
    closeTier2Interval = setInterval(closeTier2, 100);
}

/**
 * Interval Handlers
 */
function closeTier2() {
    sendToBack();
    clearInterval(closeTier2Interval);
    clearInterval(closeTier3Interval);
    $(".tier1ItemLeft").removeClass("tier1ItemLeftOver");
    $(".tier1ItemCenter").removeClass("tier1ItemCenterOver");
    $(".tier1ItemRight").removeClass("tier1ItemRightOver");
    $("#tier2").empty();
    $("#tier2").hide();
    closeTier3();
}
function closeTier3() {
    clearInterval(closeTier3Interval);
    $("#tier3").empty();
    $("#tier3").hide();
}