var blnIsMac = false
var strPlatform = window.navigator.platform.toLowerCase()

if (strPlatform.indexOf("mac") > -1)
{ blnIsMac = true; }

var strLastMenu = "mnu_home"

// Normal Site Navigation Images, Preloaded
var aboutOn = new Image();
aboutOn.src = imageRoot + "/nav/on_about.gif";
var expOn = new Image();
expOn.src = imageRoot + "/nav/on_experience.gif";
var peopleOn = new Image();
peopleOn.src = imageRoot + "/nav/on_people.gif";
var officesOn = new Image();
officesOn.src = imageRoot + "/nav/on_offices.gif";
var newsOn = new Image();
newsOn.src = imageRoot + "/nav/on_news.gif";
var careersOn = new Image();
careersOn.src = imageRoot + "/nav/on_careers.gif";
var searchOn = new Image();
searchOn.src = imageRoot + "/nav/on_search.gif";
var greyLogo = new Image();
greyLogo.src = imageRoot + "/nav/gray_logo.gif";
var logo = new Image();
logo.src = imageRoot + "/logo.gif";
var graySpacer = new Image();
graySpacer.src = imageRoot + "/gray_spacer.gif";

// Language Site Navigation Images, Preloaded
//var firm_overviewOn = new Image();
//firm_overviewOn.src = imageRoot + "/nav/languages/lo_firm_overview.gif";
//var firm_overviewOff = new Image();
//firm_overviewOff.src = imageRoot + "/nav/languages/l_firm_overview.gif";
//var firm_officesOn = new Image();
//firm_officesOn.src = imageRoot + "/nav/languages/lo_offices.gif";
//var firm_officesOff = new Image();
//firm_officesOff.src = imageRoot + "/nav/languages/l_offices.gif";
//var firm_experienceOn = new Image();
//firm_experienceOn.src = imageRoot + "/nav/languages/lo_firm_experience.gif";
//var firm_experienceOff = new Image();
//firm_experienceOff.src = imageRoot + "/nav/languages/l_firm_experience.gif";
//var firm_practicesOn = new Image();
//firm_practicesOn.src = imageRoot + "/nav/languages/lo_firm_practices.gif";
//var firm_practicesOff = new Image();
//firm_practicesOff.src = imageRoot + "/nav/languages/l_firm_practices.gif";
//var jonesdayOn = new Image();
//jonesdayOn.src = imageRoot + "/nav/languages/lo_jonesday.gif";
//var jonesdayOff = new Image();
//jonesdayOff.src = imageRoot + "/nav/languages/l_jonesday.gif";

var dropShadowTopRightImg = new Image();
dropShadowTopRightImg.src = imageRoot + "/nav/experience/dropshadow_topright.png";
var dropShadowBottomImg = new Image();
dropShadowBottomImg.src = imageRoot + "/nav/experience/dropshadow_bottom.png";

// on mouse over
//javascript:about.src='$[ImageRoot]/sitev2/nav/on_about.gif';showMenu('menu_about');toggleGrayWash('about');
//javascript:about.src='$[ImageRoot]/sitev2/nav/on_about.gif';showMenu('menu_about');showMenu('menu_about');toggleGrayWash('about');
// on mouse out
//javascript:about.src='$[ImageRoot]/sitev2/nav/l_about.gif';//hideMenu('menu_about');//toggleGrayWash('about');

var suspendDropDown = true;
var dropdownnavLockOn = false;
var greyTestOn = false;

var exposeAPI = null;
var menuTotalWidth = null;

var navMenuImagesMaxWidth = 0;

function navMenuItem(menuName, leftPos, linkid) {
    this.MenuName = menuName;
    this.LeftPos = leftPos;
    this.LinkID = linkid;
}

var allNavATags = "";
var allNavMenus = "";
function navMenu(navTag, stateChange) {
    var menuName = $(navTag).attr("menuname");
    var imgName = menuName.substr(0, 1).toUpperCase() + menuName.substr(1);
    if (!suspendDropDown) {
        if (stateChange == "on") { dropdownnavLockOn = false; } // reset drop down nav lock since we have navigated off of the select.
        if (!dropdownnavLockOn) {
            greyTestOn = false;
            if ($("#objFlash:visible").length > 0) {
                $("#objFlash").hide();
                $("#imgFlash").show();
            }
            if ($(navTag).is("a") && stateChange == "on") {
                $(allNavATags).removeClass("active").css("z-index", "1"); 
                var navtagID = $(navTag).attr("id");
                var aTagID = "#" + $(navTag).attr("menuname") + "RollOver";
                var menuID = "#" + "menu_" + $(navTag).attr("menuname");
                $(menuID + " > div.dropshadow_body").show();
                //news, careers, search
                if (typeof ($("#mainnav").data("menuTotalWidth")) == "undefined") {
                    menuTotalWidth = $("#mainnav").position().left + $("#mainnav").width(); //$("body").width();
                    $("#mainnav").data("menuTotalWidth", menuTotalWidth);
                } else {
                    menuTotalWidth = $("#mainnav").data("menuTotalWidth");
                }
                var setPositions = false;
                var positionArray = new Array();
                var positionShift = 12;
                if ($.browser.msie) {
                    if ($.browser.version < 7.0) {
                        positionShift = 0;
                    }
                }
                if (typeof ($("#mainnav").data(menuName)) == "undefined") {
                    setPositions = true;
                } else {
                    positionArray = $("#mainnav").data(menuName);
                }
                var menuPosition = 0;
                var whiteOverlayWidth = 0;
                var menuWidth = 0;
                var imagePosition = 0;
                var totalWidth = menuTotalWidth;
                if (setPositions) {
                    menuPosition = $(aTagID).position().left;
                    whiteOverlayWidth = $(aTagID + " > img").width();
                    menuWidth = $(menuID).width();
                    imagePosition = menuPosition;
                    if ($.browser.mozilla) {
                        positionShift -= 1;
                    }
                    if ((menuPosition + menuWidth) > (totalWidth + positionShift)) {
                        var difference = (menuPosition + menuWidth) - totalWidth;
                        menuPosition -= difference;
                    } else {
                        menuPosition -= positionShift;
                    }
                    positionArray[0] = menuPosition;
                    positionArray[1] = whiteOverlayWidth;
                    positionArray[2] = menuWidth;
                    positionArray[3] = imagePosition;
                    $("#mainnav").data(menuName, positionArray);
                } else {
                    menuPosition = positionArray[0];
                    whiteOverlayWidth = positionArray[1];
                    menuWidth = positionArray[2];
                    imagePosition = positionArray[3];
                }

                hideDDLs();
                $(menuID).css("left", menuPosition);
                try {
                    $("#whiteOverlay").css("left", (imagePosition + 1)).css("width", whiteOverlayWidth);
                } catch (ex) {
                    alert(ex.description);
                }
                $(aTagID + ", " + menuID).css("visibility", "visible")
                //$("#menu_" + menuName).find("div.column").css("display", "block");
                //$("#navbar").children("a").css("z-index", "1");
                $(aTagID).addClass("active");
                var newImg = $(aTagID + " > img").attr("imgon");
                $(aTagID + " > img").attr("src", newImg);
                //if ($(aTagID).children("img").length > 0) {
                //    var newImg = $(aTagID).children("img").attr("imgon");
                //    $(aTagID).children("img").attr("src", newImg);
                //}
                $(aTagID + ", " + menuID).removeData("expose");
                //var currentHeight = $(document).height();
                var api = $(aTagID + ", " + menuID).expose({ api: true,
                    color: "#fff",
                    loadSpeed: 0,
                    closeSpeed: 0,
                    opacity: 0,
                    zIndex: 500,
                    maskId: "exposeMask"
                });
                api.onLoad(function() {
                    //$("#exposeMask").data("exposed", $(aTagID + ", " + menuID));
                    $("#exposeMask").data("menuname", menuName);
                    //var exposeHeight = $("#exposeMask").height();
                    //if (currentHeight != exposeHeight) { $("#exposeMask").css("height", currentHeight); }
                    $("#exposeMask").unbind("mouseover").bind("mouseover", function(e) {
                        if (!dropdownnavLockOn) {
                            api.close(e);
                        }
                    });
//                    $(document).unbind("mouseleave").bind("mouseleave", function(e) {
//                        if (!dropdownnavLockOn) {
//                            api.close(e);
//                        }
//                    });
                });
                api.onBeforeClose(function(e) {
                    showDDLs();
                    resetImageRollover();
//                    if (e.relatedTarget != null) {
//                        if (e.relatedTarget.nodeName.toLowerCase() == "img") {
//                            var changeMenu = FindNavMenuItemFromCurrentMousePosition(e.pageX, e.pageY);
//                            if (changeMenu >= 0) {
//                                $(navMenuImages[changeMenu].LinkID).mouseover();
//                                return false;
//                            }
//                        }
//                    }
                });
                api.onClose(function(e) {
                });
                api.load();
            }
        }
    }
}
function resetImageRollover() {
    var menuName = $("#exposeMask").data("menuname");
    var aTagID = "#" + menuName + "RollOver";
    var menuID = "#" + "menu_" + menuName;
//    $("#exposeMask").data("exposed").each(function(i, domelement) {
//        if ($(domelement).is("a")) {
//            $(domelement).removeClass("active");
//            if ($(domelement).children("img").length > 0) {
//                var newImg = $(domelement).children("img").attr("imgoff");
//                $(domelement).children("img").attr("src", newImg);
//            }
//        } else {
//            $(domelement).css("visibility", "hidden");
//            //$(domelement).find("div.column").css("display", "none");
//        }
    //    });
    $(aTagID).removeClass("active").css("z-index", "1");
    var newImg = $(aTagID + " > img").attr("imgoff");
    $(aTagID + " > img").attr("src", newImg);
//    if ($(aTagID).children("img").length > 0) {
//        var newImg = $(aTagID).children("img").attr("imgoff");
//        $(aTagID).children("img").attr("src", newImg);
//    }
    $(menuID).css("visibility", "hidden");
    //$("#mainnav").find("div[menuname]:visible").each(function(i, domelement) {
    //    $(domelement).css("visibility", "hidden");
    //});
    //$(allNavATags).removeClass("active").css("z-index", "1");
    //$(allNavMenus).css("visibility", "hidden");

//    $("#navbar").find("a[menuname]").each(function(i, domelement) {
//        $(domelement).removeClass("active").css("z-index", "1");
//    });
}
function debugmsg(message) {
    var datetime = new Date();
    var dateString = datetime.getMinutes() + ":";
    if (datetime.getSeconds() < 10) {
        dateString += "0";
    }
    dateString += datetime.getSeconds() + ".";
    if (datetime.getMilliseconds() < 100) {
        dateString += "0";
    }
    if (datetime.getMilliseconds() < 10) {
        dateString += "0";
    }
    dateString += datetime.getMilliseconds();
    //$("#leftNav").append("<div>" + dateString + " :" + " " + message + "</div>");
}
function hideDDLs() {
    // hide Select boxes on navigation rollover.
    var needToHide = false;
    if ($.browser.msie) {
        if ($.browser.version < 7.0) {
            needToHide = true;
        }
    }
    if (needToHide) {
        $("#teedee div.middle").find("select").css("visibility", "hidden");
    }
}
function showDDLs() {
    // hide Select boxes on navigation rollover.
    var needToHide = false;
    if ($.browser.msie) {
        if ($.browser.version < 7.0) {
            needToHide = true;
        }
    }
    if (needToHide) {
        $("#teedee div.middle").find("select").css("visibility", "visible");
    }
}

// force navigation drop down open when navigating a select box in the navigation
function lockDropDownNav() { dropdownnavLockOn = true; }

// force navigation to no rollovers when Ajax Is Inactive
function suspendDropDownNav() { suspendDropDown = true; }

// set page to grey for testing
function toggleGrey()
{
    if (greyTestOn){
        $("#imgLogo").attr("src",  logo.src); 
        $("#body").css("backgroundColor", "c6c6c6"); 
        $("#wrapper").removeClass("transON");
        if ($("#objFlash").length > 0)  
        {
            $("#objFlash").show();
            $("#imgFlash").hide();
        }  
    } else {
        $("#imgLogo").attr("src",  greyLogo.src);
        $("#body").css("backgroundColor", "808080");
        $("#wrapper").addClass("transON");  
        if ($("#objFlash").length > 0)  
        {
            $("#objFlash").hide();
            $("#imgFlash").show();
        }  
    }
    greyTestOn = ! (greyTestOn); 
    return false; 
}
 
function showMenu(strMenu) {
		var objLayer;
		hideMenu(strLastMenu);
		objLayer = document.getElementById(strMenu);
		objLayer.style.visibility = "visible";
		strLastMenu = strMenu;
}

function hideMenu(strMenu) {
		var objLayer;
		var isIn = false;
		var i = 0;
		var blnIsFromFlash = false;
		if (strMenu == "") {
			strMenu = strLastMenu;
		}
		objLayer = document.getElementById(strMenu);
		// hide
		objLayer.style.visibility = "hidden";
}

// Determine browser.
var isMinNS4 = (navigator.appName.indexOf("Netscape") >= 0 &&
                parseFloat(navigator.appVersion) >= 4) ? 1 : 0;
var isMinIE4 = (document.all) ? 1 : 0;
var isMinIE5 = (isMinIE4 && navigator.appVersion.indexOf("5.") >= 0) ? 1 : 0;

//-----------------------------------------------------------------------------
// Layer utilities.
//-----------------------------------------------------------------------------

// The following function is for the people search results page - onrollover show div --->

var state = 'none'; 

function showhide(layer_ref) { 
    if (state == 'block') { 
        state = 'none'; 
    } else { 
        state = 'block'; 
    } 
    if (document.all) { //IS IE 4 or 5 (or 6 beta) 
        eval( "document.all." + layer_ref + ".style.display = state"); 
    } 
    if (document.layers) { //IS NETSCAPE 4 or below 
        document.layers[layer_ref].display = state; 
    } 
    if (document.getElementById &&!document.all) { 
        hza = document.getElementById(layer_ref); 
        hza.style.display = state; 
    } 
} 

function SubmitJSDetectionViaAjax()
{
    $.get(AjaxRoot + "/AjaxData.aspx?jsdetect=true");
}

// functions for side search boxes
function focusTextBox(clickitem)
{
    var init = ""; 
    if ($(clickitem).attr("initialvalue")){ init = $(clickitem).attr("initialvalue"); } 
    if (clickitem.value == init) { clickitem.value = "";} 
}
function blurTextBox(clickitem)
{
    var init = ""; 
    if ($(clickitem).attr("initialvalue")){ init = $(clickitem).attr("initialvalue"); } 
    if (clickitem.value == "") { clickitem.value = init;} 
}
function resetSearch(whichForm)
{ // whichForm = "Side" or "Main"
    $(".search" + whichForm + " .searchForm [criteria]:not(a)").each(function (i,domitem){
        var init = ""; 
        if ($(domitem).attr("initialvalue")){ init = $(domitem).attr("initialvalue"); } 
        domitem.value = init;
    });
}
function getSearchQueryString(criteriaJQSelector)
{
    var searchQString = "";
    $(criteriaJQSelector).each(function (i,domitem){
        var searchItem = false;
        var tagType = "text";
        var qValue = ""; 
        var criteriaName = $(domitem).attr("criteria");
        if ($(domitem).is("select")) { tagType = "select"; }  
        if ($(domitem).attr("controltype") == "radio") { tagType = "radio"; }
        if (tagType == "select") { 
            var dText = $(domitem).attr("defaultvalue");
            var cText = $(domitem).children(":selected").attr("text");
            var cValue = $(domitem).children(":selected").attr("value");
            var iValue = $(domitem).attr("initialvalue");
            if (dText != cText) {
                qValue = cValue;
                searchItem = true; 
            } 
        }
        if (tagType == "text") {
            var dText = $(domitem).attr("defaultvalue");
            var cText = $(domitem).attr("value");
            if (dText != cText) {
                qValue = cText;
                searchItem = true; 
            } 
        }
        if (tagType == "radio") {
            var childcontroltypestring = $(domitem).attr("controltype");
            $(domitem).find("input").each(function(i,elem){
                if ($(elem).attr("checked")) {
                    qValue = $(elem).attr("value");
                    searchItem = true; 
                }
            });
        }
        if (searchItem)
        {
            if (searchQString.length > 0) { searchQString += "&"; }
            searchQString += criteriaName + "=" + qValue;
        }
    }); 
    return searchQString; 
}
function getSearchDescription(criteriaJQSelector)
{
    var searchDescString = "";
    $(criteriaJQSelector).each(function (i,domitem){
        var searchItem = false;
        var init = ""; 
        if ($(domitem).attr("initialvalue")){ init = $(domitem).attr("initialvalue"); } 
        if (domitem.value != init && domitem.value != "") { searchItem = true;  }
        if ($(domitem).attr("checked")) { searchItem = true; }
        if (searchItem)
        {
            if (searchDescString.length > 0) { searchDescString += ", "; }
            searchDescString += $(domitem).attr("text");
        }
    }); 
    return searchDescString; 
}

