// Broswer detection - these must be consistent on every page.  make sure the old script file has the same variables.
var NS4 = (document.layers) ? 1 : 0;
var IE4 = ((document.all) && (!document.getElementById)) ? 1 : 0;
var IE5 = ((document.all) && (!document.fireEvent) && (!window.opera)) ? 1 : 0;
var DOM = (document.getElementById) ? 1 : 0;  // ns6+ and ie5+ and mozilla
var NS6 = ((!document.all) && (document.getElementById)) ? 1 : 0;  // ns6+ and mozilla, not ie6
var IE = (navigator.appName == "Microsoft Internet Explorer") ? 1 : 0;
var PC = (navigator.platform == "Win32") ? 1 : 0;
var MAC = ((navigator.appVersion.indexOf("PPC") >0) || (navigator.appVersion.indexOf("Mac") >0)) ? 1 : 0;

var isOver = false; var isOverChild = false;
var timer = null; var timerChild = null;
var ddTop = 0;
var ddLeft = 0;
var myObject;

//Layer switch functions using the display property
function layerSwitchDisplay(theDivs, divId) {
	// Layer switching functions
	for (var i = 0; i < theDivs.length; i++) {
		if (theDivs[i] == divId) {
			showLayerDisplay(theDivs[i]);
		}
		else {
			hideLayerDisplay(theDivs[i]);
		}
	}
}
function hideLayerDisplay(whichEl) {
	document.getElementById(whichEl).style.display = "none";
}
function showLayerDisplay(whichEl) {
	document.getElementById(whichEl).style.display = "";
}

function ToggleStyleDisplay(elId, state) {
    if (typeof(elId) != "object") {
        var el = document.getElementById(elId);
    }
    else {
        var el = elId;
    }

    if (!el) {
        return;
    }
    var displayValue = el.style.display;

    if (arguments.length > 1) {
        if (state) {
            displayValue = 'none';
        }
        else {
            displayValue = 'block';
        }
    }
    var block = 'block';
    if (NS6) {
        if (el.tagName == 'TR') block = 'table-row';
        if (el.tagName == 'TABLE') block = 'table';
        if (el.tagName == 'TD' || el.tagName == 'TH') block = 'table-cell';
    }
    if ((displayValue == '') || (displayValue == 'none')) {
        el.style.display = block;
    }
    else {
        el.style.display = 'none';
    }
}

function findX(el) {
	var x = 0;
	var obj = document.getElementById(el);
	while (obj.offsetParent) {
		x += obj.offsetLeft;
		obj = obj.offsetParent;
	}
	return x;
}
function findY(el) {
	var y = 0;
	var obj = document.getElementById(el);
	while (obj.offsetParent) {
		y += obj.offsetTop;
		obj = obj.offsetParent;
	}
	return y;
}

function Redirect(url) {
	location.replace(url);
}

function Initms() {
	for (i = 0; i < tt.length; i++) {  // set m properties
		var ff = eval("nav_" + tt[i][1]);
		w_m = "gn" + tt[i][1];
		w_m = document.getElementById(w_m);
		if (tt[i][0] == 1) { // parent ms
			w_m.isChildm = 0;
			w_m.onmouseover = Overm;
			w_m.onmouseout = Outm;
			w_m.categoryId = tt[i][1];
			for ( j = 0 ; j < ff.length ; j++ ) {
				w_mItem = "nav_" + tt[i][1] + "_" + j;
				w_mItem = document.getElementById(w_mItem);
				w_mItem.onmouseover = OvermEl;
				w_mItem.onmouseout = OutmEl;
				if (ff[j][2]) w_mItem.childm = ff[j][3];
				w_mItem.destination = ff[j][0];
				w_mItem.newWin = ff[j][4];
				w_mItem.w_Class = "dd";
				w_mItem.onclick = LinkingPage;
			}
		}
		else { //child ms
			w_m.isChildm = 1;
			w_m.onmouseover = OverChildm;
			w_m.onmouseout = OutChildm;
			for ( j = 0 ; j < ff.length ; j++ ) {
				w_mItem = "nav_" + tt[i][1] + "_" + j;
				w_mItem = document.getElementById(w_mItem);
				w_mItem.onmouseover = OverChildmEl;
				w_mItem.onmouseout = OutChildmEl;
				w_mItem.destination = ff[j][0];
				w_mItem.newWin = ff[j][4];
				w_mItem.w_Class = "dd";
				w_mItem.onclick = LinkingPage;
			}
		}
	}
}

function ShowLayer(el) {
	var showEl = "gn" + el;
	if (!DOM) return;
	clearTimeout(timer);
	HideAllLayers();
	isOver = true;
	var w_El = document.getElementById(showEl);
	w_Anchor = "nav_" + el;
	if (document.getElementById(w_Anchor)){
		myObject = document.getElementById(w_Anchor);
		//ddLeft = myObject.offsetLeft;
		while (myObject.offsetParent) {
			ddTop += myObject.offsetTop;
			ddLeft += myObject.offsetLeft;
			myObject = myObject.offsetParent;
		}
		ddTop += 30;
		ddLeft += 0;
	}
	if (w_El.className == "dd1") {var w_ElWidth = 150;}
	else if (w_El.className == "dd2") {var w_ElWidth = 150;}
	if ((ddLeft + w_ElWidth) > document.body.clientWidth) {
		ddLeft = document.body.clientWidth - w_ElWidth;
	}
	w_El.style.top = ddTop+"px";
	w_El.style.left = ddLeft+"px";
	ToggleSelect('hidden');
	for (i = 0; i < tt.length; i++) {
		w_nav = "nav_" + tt[i][1];
		if (document.getElementById(w_nav)) {
			w_nav = document.getElementById(w_nav);
			if (w_nav.className == "navElOn") w_nav.className = "navElOnOver";
		}
	}
	document.getElementById(w_Anchor).className = "navElOver";
	w_El.style.visibility = "visible";
	ddTop = 0; ddLeft = 0;
}

function ToggleSelect(visState) {
	if (!IE) return;
	for (i=0; i < document.all.tags('SELECT').length; i++){
		var obj = document.all.tags('SELECT')[i];
		if (!obj || !obj.offsetParent) continue;
		obj.style.visibility = visState;
	}
}

function ShowChildLayer(childm, mItem) {
	var childm = "gn" + childm;
	clearTimeout(timer);
	HideChildLayers();
	var w_El = document.getElementById(childm);
	if (document.getElementById(mItem)){
		var myObject = document.getElementById(mItem);
		while (myObject.offsetParent) {
			ddTop = ddTop + myObject.offsetTop;
			ddLeft = ddLeft + myObject.offsetLeft;
			myObject = myObject.offsetParent;
		}
	}
	if (w_El.className == "dd1") {var w_ElWidth = 150;}
	else if (w_El.className == "dd2") {var w_ElWidth = 150;}
	if ((ddLeft + (2*w_ElWidth)) > document.body.clientWidth) {
		w_El.style.top = (ddTop - 2)+"px";
		w_El.style.left = (ddLeft - 157)+"px";
	}
	else {
		w_El.style.top = (ddTop - 2)+"px";
		w_El.style.left = (ddLeft + 147)+"px";
	}
	w_El.style.visibility = "visible";
	ddTop = 0; ddLeft = 0;
}
function HideAllLayers() {
	if (isOver || isOverChild) return;
	for (i=0; i<tt.length; i++) {
		w_El = "gn" + tt[i][1];
		w_El = document.getElementById(w_El);
		w_El.style.visibility = "hidden";
		w_El.style.left = -1000;
		w_nav = "nav_" + tt[i][1];
		if (document.getElementById(w_nav)) {
			w_nav = document.getElementById(w_nav);
			if (tt[i][1] != navOn) {//restore to original state
				w_nav.className = "navEl";
			}else {
				w_nav.className = "navElOn";
			}
		}
	}
	ToggleSelect('visible');
}
function HideChildLayers() {
	if (isOverChild) return;
	for (i = 0; i < tt.length; i++) {
		if (tt[i][0] == 2) {
			w_El = "gn" + tt[i][1];
			w_El = document.getElementById(w_El);
			w_El.style.visibility = "hidden";
		}
	}
}
function Overm() {
	clearTimeout(timer);
	isOver = true;
}
function OverChildm() {
	clearTimeout(timerChild);
	isOverChild = true;
}
function OutChildm() {
	clearTimeout(timerChild);
	isOverChild = false;
	timerChild = setTimeout("HideAllLayers()",300);
}
function OvermEl() {
	this.className = 'ddHigh';
	this.style.cursor = 'hand';
	if (this.childm || isOverChild) {
		ShowChildLayer(this.childm, this.id);
	}
	if (!this.childm) {
		HideChildLayers();
	}
}
function OverChildmEl() {
	this.className = 'ddHigh';
	this.style.cursor = 'hand';
}
function OutmEl() {
	this.className = this.w_Class;
}
function Outm() {
	clearTimeout(timer);
	isOver = false;
	timer = setTimeout("HideAllLayers()", 300);
}
function OutChildmEl() {
	this.className = this.w_Class;
}
function LinkingPage() {
	var url = String(this.destination);
	if (!this.newWin) {window.location.href = url;}
	else {window.open(url);}
}
