/*

mjk_ScriptDOM.js
Copyright (c) 2004 Matthew Knight, Reconstrukt for nerve.com.

*/

mjk_IE5M = mjk_IE && mjk_Mac;
mjk_NS6  = (navigator.vendor == ("Netscape6") || navigator.product == ("Gecko"));
mjk_IE6  = (navigator.userAgent.indexOf("MSIE 6.0")!=-1)
if(mjk_Konqueror) mjk_IE = false;
mjk_IE5W = mjk_IE && !mjk_Mac;
mjk_IEpos = mjk_IE || mjk_Konqueror || (mjk_NS6 && parseInt(navigator.productSub)>=20010710);

mjk_IECSS = (mjk_IE && document.compatMode) ? document.compatMode ==  "CSS1Compat" : false;
mjk_IEDTD = (mjk_IE && document.doctype) ? document.doctype.name.indexOf(".dtd")!=-1 : mjk_IECSS;
mjk_IEnoDTD = mjk_IE && !mjk_IEDTD;

mjk_a_Parameters = [
	["MenuWidth",          150,		"number"],
	["FontFamily",         "Arial,sans-serif"],
	["FontSize",           10,		"number"],
	["FontBold",           false,	"boolean"],
	["FontItalic",         false,	"boolean"],
	["FontColor",          "black"],
	["FontColorOver",      "white"],
	["BGColor",            "white"],
	["BGColorOver",        "black"],
	["ItemPadding",        3,		"number"],
	["BorderWidth",        2,		"number"],
	["BorderColor",        "red"],
	["BorderStyle",        "solid"],
	["SeparatorSize",      1,		"number"],
	["SeparatorColor",     "yellow"],
	["ImageSrc",           "mjk_More_black_right.gif"],
	["ImageSrcOver",       null],
	["ImageSrcLeft",       "mjk_More_black_left.gif"],
	["ImageSrcLeftOver",   null],
	["ImageSize",          5,		"number"],
	["ImageHorizSpace",    0,		"number"],
	["ImageVertSpace",     0,		"number"],
	["KeepHilite",         false,	"boolean"],
	["ClickStart",         false,	"boolean"],
	["ClickKill",          true,	"boolean"],
	["ChildOverlap",       20,		"number"],
	["ChildOffset",        10,		"number"],
	["ChildPerCentOver",   null,	"number"],
	["TopSecondsVisible",  .5,		"number"],
	["ChildSecondsVisible",.3,		"number"],
	["StatusDisplayBuild", 0,		"boolean"],
	["StatusDisplayLink",  1,		"boolean"],
	["UponDisplay",        null,	"delayed"],
	["UponHide",           null,	"delayed"],
	["RightToLeft",        false,	"boolean"],
	["CreateTopOnly",      0,		"boolean"],
	["ShowLinkCursor",     false,	"boolean"],
	["ScrollEnabled",      false,	"boolean"],
	["ScrollBarHeight",    14,      "number"],
	["ScrollBarColor",     "lightgrey"],
	["ScrollImgSrcTop",    "mjk_More_black_top.gif"],
	["ScrollImgSrcBot",    "mjk_More_black_bot.gif"],
	["ScrollImgWidth",     9,       "number"],
	["ScrollImgHeight",    5,       "number"],
	["ScrollBothBars",     false,   "boolean"],
	["HoverTimeTop",       0,       "number"],
	["HoverTimeTree",      0,       "number"]
]

mjk_ItemIDPrefix = "mjk_Item";
mjk_ArrayIDPrefix = "mjk_Array";

Function.prototype.isFunction = true;
Function.prototype.isString = false;
String.prototype.isFunction = false;
String.prototype.isString = true;
String.prototype.isBoolean = false;
String.prototype.isNumber = false;
Number.prototype.isString = false;
Number.prototype.isFunction = false;
Number.prototype.isBoolean = false;
Number.prototype.isNumber = true;
Boolean.prototype.isString = false;
Boolean.prototype.isFunction = false;
Boolean.prototype.isBoolean = true;
Boolean.prototype.isNumber = false;
Array.prototype.itemValidation = false;
Array.prototype.isArray = true;

if(mjk_IE) {
	mjk_a_ElementsCreated = [];

	function mjk_f_StoreElement(el){
		mjk_a_ElementsCreated[mjk_a_ElementsCreated.length] = el;
	}
}

function mjk_f_AssignParameters(paramarray){
	var ParamName = paramarray[0];
	var DefaultValue = paramarray[1];
	var FullParamName = "mjk_" + ParamName;
	
	if (typeof eval("window.mjk_PG_" + ParamName) == "undefined") {
		if (typeof eval("window.mjk_GL_" + ParamName) == "undefined") {
			eval(FullParamName + "= DefaultValue");
		}
		else {
			eval(FullParamName + "= mjk_GL_" + ParamName);
		}
	}
	else {
		eval(FullParamName + "= mjk_PG_" + ParamName);
	}

	paramarray[0] = FullParamName;
	paramarray[1] = eval(FullParamName);
}

function mjk_f_EvalParameters(valuenew,valueold,valuetype){
	var TestString, ParPosition;

	if(typeof valuenew == "undefined" || valuenew == null || (valuenew.isString && valuenew.length == 0)){
		return valueold;
	}

	if(valuetype != "delayed"){
		while(valuenew.isString) {
			ParPosition = valuenew.indexOf("(");
			if(ParPosition !=-1) {
				TestString = "window." + valuenew.substr(0,ParPosition);
				if (typeof eval(TestString) != "undefined" && eval(TestString).isFunction) {
					valuenew = eval(valuenew);
				}
			}
			else break
		}
	}

	while(valuenew.isFunction) {valuenew = valuenew()}

	switch(valuetype){	
		case "number":
			while (valuenew.isString) {valuenew = eval(valuenew)}
			break;
		case "boolean":
			while (!valuenew.isBoolean) {
				valuenew = (valuenew.isNumber) ? valuenew ? true : false : eval(valuenew);
			}
			break;
	}

	return valuenew;
}

for (i=0;i<mjk_a_Parameters.length;i++) {
	mjk_f_AssignParameters(mjk_a_Parameters[i]);
	eval(mjk_a_Parameters[i][0] + "= mjk_f_EvalParameters("+ mjk_a_Parameters[i][0] +",null,mjk_a_Parameters[i][2])")
}

mjk_ChildPerCentOver = (isNaN(parseFloat(mjk_ChildPerCentOver))) ? null : parseFloat(mjk_ChildPerCentOver)/100;

mjk_ChildMilliSecondsVisible = mjk_ChildSecondsVisible * 1000;

function mjk_f_ValidateArray(arrayname){
	var MenuArrayIsValid = false;
	var MenuArrayIsObject = (typeof eval("window." + arrayname) == "object");
	if(MenuArrayIsObject) { 
		var TheMenuArray = eval(arrayname);
		if(TheMenuArray.isArray && TheMenuArray.length > 1) {
			MenuArrayIsValid = true;
			if(!TheMenuArray.itemValidation) {
				while((typeof TheMenuArray[TheMenuArray.length-1] != "object") || (!TheMenuArray[TheMenuArray.length-1].isArray)) {
					TheMenuArray.length--;
				}
				TheMenuArray.itemValidation = true;
			}
		}
	}
	return MenuArrayIsValid;
}

if(!window.mjk_a_TreesToBuild) {
	mjk_a_TreesToBuild = [];
	for(i=1; i<100; i++){
		if(mjk_f_ValidateArray(mjk_ArrayIDPrefix + i)) mjk_a_TreesToBuild[mjk_a_TreesToBuild.length] = i;
	}
}

mjk_CurrentArray = null;
mjk_CurrentTree  = null;
mjk_CurrentMenu  = null;
mjk_CurrentItem  = null;
mjk_a_TopMenus = [];
mjk_AreLoaded = false;
mjk_AreCreated = false;
mjk_BeingCreated = false;
mjk_UserOverMenu = false;
mjk_HideAllTimer = null;
mjk_TotalTrees = 0; 
mjk_ZIndex = 5000;
mjk_ScrollTimer = null;
mjk_UseMouseEnter = false;

mjk_Canvas = null;

function mjk_f_StartIt() {
	if(mjk_AreCreated) return;
	if((typeof(document.body) == "undefined") || (document.body == null)) return;
	mjk_UseMouseEnter = (typeof(document.body.onmouseenter) != "undefined")
	if(mjk_IE || mjk_Konqueror) mjk_Canvas = mjk_IECSS ? document.documentElement : document.body;
	mjk_AreLoaded = true;
	if (mjk_ClickKill) {
		mjk_f_OtherMouseDown = (document.onmousedown) ? document.onmousedown :  new Function;
    	document.onmousedown = function(){mjk_f_PageClick();mjk_f_OtherMouseDown()}
    }
	else {
		mjk_TopMilliSecondsVisible = mjk_TopSecondsVisible * 1000;
	}
    mjk_f_MakeTrees();
	mjk_f_OtherOnLoad();
}

function mjk_f_MakeTrees(){
    mjk_BeingCreated = true;
	var TreeParams = null;
	var TreeHasChildren = false;
	var ItemArray = null;

	for(var t=0; t<mjk_a_TreesToBuild.length; t++) {
		if(!mjk_f_ValidateArray(mjk_ArrayIDPrefix + mjk_a_TreesToBuild[t])) continue;
		mjk_CurrentArray = eval(mjk_ArrayIDPrefix + mjk_a_TreesToBuild[t]);

		TreeParams = mjk_CurrentArray[0];
		TreeHasChildren = false;

		for(var i=1; i<mjk_CurrentArray.length; i++) {
			ItemArray = mjk_CurrentArray[i];
			if(ItemArray[ItemArray.length-1]) {TreeHasChildren = true; break}
		}
		mjk_CurrentTree = {
			MenuWidth        : MenuWidth = mjk_f_EvalParameters(TreeParams[0],mjk_MenuWidth,"number"),
			MenuLeft         : MenuLeft = mjk_f_EvalParameters(TreeParams[1],null,"delayed"),
			MenuTop          : MenuTop = mjk_f_EvalParameters(TreeParams[2],null,"delayed"),
			ItemWidth        : MenuWidth - (mjk_BorderWidth*2),
			FontColor        : mjk_f_EvalParameters(TreeParams[3],mjk_FontColor),
			FontColorOver    : mjk_f_EvalParameters(TreeParams[4],mjk_FontColorOver),
			BGColor          : mjk_f_EvalParameters(TreeParams[5],mjk_BGColor),
			BGColorOver      : mjk_f_EvalParameters(TreeParams[6],mjk_BGColorOver),
			BorderColor      : mjk_f_EvalParameters(TreeParams[7],mjk_BorderColor),
			SeparatorColor   : mjk_f_EvalParameters(TreeParams[8],mjk_SeparatorColor),
			TopIsPermanent   : ((MenuLeft == null) || (MenuTop == null)) ? false : mjk_f_EvalParameters(TreeParams[9],false,"boolean"),
			TopIsHorizontal  : TopIsHorizontal = mjk_f_EvalParameters(TreeParams[10],false,"boolean"),
			TreeIsHorizontal : TreeHasChildren ? mjk_f_EvalParameters(TreeParams[11],false,"boolean") : false,
			PositionUnder    : (!TopIsHorizontal || !TreeHasChildren) ? false : mjk_f_EvalParameters(TreeParams[12],false,"boolean"),
			TopImageShow     : TreeHasChildren ? mjk_f_EvalParameters(TreeParams[13],true,"boolean")  : false,
			TreeImageShow    : TreeHasChildren ? mjk_f_EvalParameters(TreeParams[14],true,"boolean")  : false,
			UponDisplay      : mjk_f_EvalParameters(TreeParams[15],mjk_UponDisplay,"delayed"),
			UponHide         : mjk_f_EvalParameters(TreeParams[16],mjk_UponHide,"delayed"),
			RightToLeft      : mjk_f_EvalParameters(TreeParams[17],mjk_RightToLeft,"boolean"),
			ClickStart		 : mjk_f_EvalParameters(TreeParams[18],mjk_ClickStart,"boolean"),
			TopIsVariableWidth  : mjk_f_EvalParameters(TreeParams[19],false,"boolean"),
			TreeIsVariableWidth  : mjk_f_EvalParameters(TreeParams[20],false,"boolean")
		}

		mjk_CurrentMenu = null;
		mjk_f_MakeMenu(mjk_a_TreesToBuild[t]);
		mjk_a_TopMenus[mjk_TotalTrees] = mjk_CurrentTree.treeParent;
		mjk_TotalTrees++;
		if(mjk_CurrentTree.TopIsPermanent){
			with(mjk_CurrentTree.treeParent) {
				mjk_CurrentTree.treeParent.xPos = eval(mjk_CurrentTree.MenuLeft);
				mjk_CurrentTree.treeParent.yPos = eval(mjk_CurrentTree.MenuTop);
				moveTo(mjk_CurrentTree.treeParent.xPos,mjk_CurrentTree.treeParent.yPos);
				style.zIndex = mjk_ZIndex;
			}
			if(mjk_IE5M) setTimeout(mjk_CurrentTree.treeParent.id + ".fixSize(true)",10);	
			else mjk_CurrentTree.treeParent.style.visibility = "visible";
		}
    }

	if(mjk_StatusDisplayBuild) status = mjk_TotalTrees + " Menu Trees Built";
    mjk_AreCreated = true;
    mjk_BeingCreated = false;
}

function mjk_f_SetItemProperties(itemidsuffix) {
	this.tree        = mjk_CurrentTree;
	this.index       = mjk_CurrentMenu.itemCount - 1;
	this.isLastItem  = (mjk_CurrentMenu.itemCount == mjk_CurrentMenu.maxItems);
	this.array		 = mjk_CurrentMenu.array[mjk_CurrentMenu.itemCount];
	this.dispText    = this.array[0];
	this.linkText    = this.array[1];
	this.permHilite  = mjk_f_EvalParameters(this.array[3],false,"boolean");
	this.hasRollover = (!this.permHilite && mjk_f_EvalParameters(this.array[2],true,"boolean"));
	this.hasMore	 = mjk_f_EvalParameters(this.array[4],false,"boolean") && mjk_f_ValidateArray(mjk_ArrayIDPrefix + itemidsuffix);
	this.childID	 = this.hasMore ? (mjk_MenuIDPrefix + itemidsuffix) : null;
	this.child		 = null;

	if(mjk_UseMouseEnter){
	 	this.onmouseenter  = mjk_f_ItemOver;
		this.onmouseleave  = mjk_f_ItemOut;
	}
	else {
	 	this.onmouseover = mjk_f_ItemOver;
		this.onmouseout  = mjk_f_ItemOut;
	}

	this.setItemStyle = mjk_f_SetItemStyle;
	this.hoverChild   = mjk_f_HoverChild;
	this.hoverTime = (this.menu == this.tree.startChild) ? mjk_HoverTimeTop : mjk_HoverTimeTree;

	this.showChild   = mjk_f_ShowChild;
	this.displayChild = mjk_f_DisplayChild;
	this.ClickStart = this.hasMore && this.tree.ClickStart && (this.tree.TopIsPermanent && (this.tree.treeParent==this.menu));
	if(this.ClickStart) {
		this.linkText = "";
		this.onclick = this.hoverChild;
	}
	this.ChildOverlap = null;
}

function mjk_f_MakeElement(menuid) {
	var MenuObject;
	MenuObject = document.createElement("DIV");

	if(mjk_IE)mjk_f_StoreElement(MenuObject);

	var MenuWidth = (mjk_IEnoDTD ? mjk_CurrentTree.MenuWidth : mjk_CurrentTree.ItemWidth) + "px";

	with(MenuObject){
		id = menuid;
		with(style) {
			position = "absolute";
			visibility = "hidden";
			left = "-500px";
			top = "-2000px";
			width = MenuWidth;
		}
	}
	document.body.appendChild(MenuObject);

	if(mjk_ScrollEnabled){
		MenuObject.scrollParent = MenuObject.appendChild(document.createElement("DIV"));
		with(MenuObject.scrollParent.style) {
			position = "absolute";
			top = "0px";
			width = MenuWidth;
		}
		MenuObject.scrollParent.top = 0;
		if(typeof document.onmousewheel != "undefined") MenuObject.onmousewheel = mjk_f_DoWheelScroll;
	}
	else {
		MenuObject.scrollParent = MenuObject;
	}
	return MenuObject;
}

function mjk_f_MakeMenu(menucount) {
	if(!mjk_f_ValidateArray(mjk_ArrayIDPrefix + menucount)) return false;
	mjk_CurrentArray = eval(mjk_ArrayIDPrefix + menucount);

	NewMenu = document.getElementById(mjk_MenuIDPrefix + menucount);
	if(!NewMenu){
		NewMenu = mjk_f_MakeElement(mjk_MenuIDPrefix + menucount);
		if(mjk_CurrentMenu) {
			NewMenu.parentMenu = mjk_CurrentMenu;
			NewMenu.parentItem = mjk_CurrentMenu.itemElement;
			NewMenu.parentItem.child = NewMenu;
			NewMenu.hasParent = true;
			NewMenu.isHorizontal = mjk_CurrentTree.TreeIsHorizontal;
			NewMenu.showImage = mjk_CurrentTree.TreeImageShow;
		}
		else {
			NewMenu.isHorizontal = mjk_CurrentTree.TopIsHorizontal;
			NewMenu.showImage = mjk_CurrentTree.TopImageShow;
			mjk_CurrentTree.treeParent = mjk_CurrentTree.startChild = NewMenu;
		}

		mjk_CurrentMenu = NewMenu;
		mjk_CurrentMenu.array = mjk_CurrentArray;
		mjk_CurrentMenu.tree  = mjk_CurrentTree;
		mjk_CurrentMenu.itemCount = 0;
		mjk_CurrentMenu.maxItems = mjk_CurrentMenu.array.length - 1;
		mjk_CurrentMenu.IsVariableWidth = ((mjk_CurrentMenu.hasParent && mjk_CurrentTree.TreeIsVariableWidth) || (!mjk_CurrentMenu.hasParent && mjk_CurrentTree.TopIsVariableWidth));
		mjk_CurrentMenu.showIt = mjk_f_ShowIt;
		mjk_CurrentMenu.count = menucount;
		mjk_CurrentMenu.keepInWindow = mjk_f_KeepInWindow;

		if(mjk_UseMouseEnter){
		 	mjk_CurrentMenu.onmouseenter = mjk_f_MenuOver;
			mjk_CurrentMenu.onmouseleave = mjk_f_MenuOut;
		}
		else {
		 	mjk_CurrentMenu.onmouseover = mjk_f_MenuOver;
			mjk_CurrentMenu.onmouseout = mjk_f_MenuOut;
		}
    
	    mjk_CurrentMenu.hideTree = mjk_f_HideTree
	    mjk_CurrentMenu.hideParents = mjk_f_HideParents;
	    mjk_CurrentMenu.hideChildren = mjk_f_HideChildren;
	    mjk_CurrentMenu.hideTop = mjk_f_HideTop;
	    mjk_CurrentMenu.hideSelf = mjk_f_HideSelf;
	    mjk_CurrentMenu.hasChildVisible = false;
	    mjk_CurrentMenu.isOn = false;
	    mjk_CurrentMenu.hideTimer = null;
	    mjk_CurrentMenu.currentItem = null;
		mjk_CurrentMenu.setMenuStyle = mjk_f_SetMenuStyle;
		mjk_CurrentMenu.sizeFixed = false;
		mjk_CurrentMenu.fixSize = mjk_f_FixSize;
		mjk_CurrentMenu.scrollbarsCreated = false;
		mjk_CurrentMenu.enableScrolling = mjk_f_EnableScrolling;
		mjk_CurrentMenu.createScrollbars = mjk_f_CreateScrollbars;
		mjk_CurrentMenu.startScroll = mjk_f_StartScroll;
		mjk_CurrentMenu.checkScroll = mjk_f_CheckScroll;
		mjk_CurrentMenu.scrollbarsVisible = false;

		if(mjk_IE) mjk_CurrentMenu.onselectstart = mjk_f_CancelSelect;
	    mjk_CurrentMenu.moveTo = mjk_f_MoveTo;
		mjk_CurrentMenu.setMenuStyle();

		if(mjk_IE5M && mjk_ScrollEnabled && !mjk_CurrentMenu.isHorizontal && !(mjk_CurrentTree.PositionUnder && mjk_CurrentMenu.parentMenu == mjk_CurrentTree.treeParent) && !(mjk_CurrentTree.TopIsPermanent && mjk_CurrentMenu == mjk_CurrentTree.treeParent)) {
			mjk_CurrentMenu.createScrollbars();
		}
	}

	while (mjk_CurrentMenu.itemCount < mjk_CurrentMenu.maxItems) {
		mjk_CurrentMenu.itemCount++;
		mjk_CurrentMenu.itemElement = document.getElementById(mjk_ItemIDPrefix + menucount + "_" + mjk_CurrentMenu.itemCount);
		if(!mjk_CurrentMenu.itemElement){
			if(mjk_StatusDisplayBuild) status = "Creating Menus: " + menucount + " / " + mjk_CurrentMenu.itemCount;
			mjk_CurrentMenu.itemElement = mjk_f_MakeItemElement(menucount);
		}
		if(mjk_CurrentMenu.itemElement.hasMore && (!mjk_CreateTopOnly || mjk_AreCreated && mjk_CreateTopOnly)) {
		    MenuCreated = mjk_f_MakeMenu(menucount + "_" + mjk_CurrentMenu.itemCount);
    	    if(MenuCreated) {
				mjk_CurrentMenu = mjk_CurrentMenu.parentMenu;
			}
		}
    }
	if(!mjk_IE5M)mjk_CurrentMenu.fixSize();
	return mjk_CurrentMenu;
}

function mjk_f_SetMenuStyle(){
	with(this.style) {
		borderWidth = mjk_BorderWidth + "px";
		borderColor = mjk_CurrentTree.BorderColor;
		borderStyle = mjk_BorderStyle;
		overflow    = "hidden";
		cursor      = "default";
	}
	if ((mjk_GL_IE6Transform != null) && mjk_IE6) {
		this.style.filter = mjk_GL_IE6Transform;
	}
}

function mjk_f_MakeItemElement(menucount) {
	var ItemElement = document.createElement("DIV");

	if(mjk_IE)mjk_f_StoreElement(ItemElement);

	ItemElement.id = mjk_ItemIDPrefix + menucount + "_" + mjk_CurrentMenu.itemCount;
	ItemElement.style.position = "absolute";
	ItemElement.style.visibility = "inherit";
	mjk_CurrentMenu.scrollParent.appendChild(ItemElement);
	ItemElement.menu = mjk_CurrentMenu;
	ItemElement.setItemProperties = mjk_f_SetItemProperties;
	ItemElement.setItemProperties(menucount + "_" + mjk_CurrentMenu.itemCount);
	ItemElement.siblingBelow = ItemElement.previousSibling;
	if(ItemElement.linkText && !ItemElement.ClickStart) {
		ItemElement.onclick = mjk_f_LinkIt;
		if(mjk_ShowLinkCursor)ItemElement.style.cursor = mjk_NS6 || mjk_Konqueror ? "pointer" : "hand";
	}
	var FullPadding  = (mjk_ItemPadding*2) + mjk_ImageSize + mjk_ImageHorizSpace;

	ItemElement.hasImage = (ItemElement.hasMore && mjk_CurrentMenu.showImage);
    if(ItemElement.hasImage) {
		var ImageElement = document.createElement("IMG");

		if(mjk_IE)mjk_f_StoreElement(ImageElement);

		ItemElement.imageSrc = mjk_CurrentTree.RightToLeft ? mjk_ImageSrcLeft : mjk_ImageSrc;
		ItemElement.hasImageRollover = ((!mjk_CurrentTree.RightToLeft && mjk_ImageSrcOver) || (mjk_CurrentTree.RightToLeft && mjk_ImageSrcLeftOver));
		if(ItemElement.hasImageRollover) {
			ItemElement.imageSrcOver = mjk_CurrentTree.RightToLeft ? mjk_ImageSrcLeftOver : mjk_ImageSrcOver;
			if(ItemElement.permHilite) ItemElement.imageSrc = ItemElement.imageSrcOver;
		}

		with(ImageElement){
			src = ItemElement.imageSrc;
			removeAttribute("height");
			hspace = (!mjk_CurrentTree.RightToLeft && mjk_IE5W) ? mjk_ItemPadding : 0;
			vspace = 0;
			width = mjk_ImageSize;
			with(style) {
				position = "absolute";
				top = (mjk_ItemPadding + mjk_ImageVertSpace) + "px";

				if(mjk_CurrentTree.RightToLeft) {
					left = (mjk_ItemPadding + mjk_ImageHorizSpace) + "px";
				}
			}
		}
		ItemElement.imgLyr = ImageElement;
	}
	ItemElement.innerHTML = ItemElement.dispText;
	if(ImageElement) ItemElement.insertBefore(ImageElement,ItemElement.firstChild);
	ItemElement.setItemStyle();
	return ItemElement;
}

function mjk_f_SetItemStyle() {
	with(this.style){
		backgroundColor = (this.permHilite) ? mjk_CurrentTree.BGColorOver : mjk_CurrentTree.BGColor;
		color = (this.permHilite) ? mjk_CurrentTree.FontColorOver : mjk_CurrentTree.FontColor;
		padding = mjk_ItemPadding +"px";
		font = ((mjk_FontBold) ? "bold " : "normal ") + mjk_FontSize + "pt " + mjk_FontFamily;
		fontStyle = (mjk_FontItalic) ? "italic" : "normal";
		if(mjk_IE) overflow = "hidden";

		if((this.menu.showImage && (!this.menu.IsVariableWidth || (this.menu.IsVariableWidth && this.tree.RightToLeft && !this.menu.isHorizontal))) || (this.menu.IsVariableWidth && this.imgLyr)) {

			var FullPadding  = (mjk_ItemPadding*2) + mjk_ImageSize + mjk_ImageHorizSpace;
			if (mjk_CurrentTree.RightToLeft) paddingLeft = FullPadding + "px";
			else paddingRight = FullPadding + "px";
		}
		if(!this.isLastItem) {
			var SeparatorString = mjk_SeparatorSize + "px solid " + this.tree.SeparatorColor;
			if (this.menu.isHorizontal) borderRight = SeparatorString;
			else borderBottom = SeparatorString;
		}

		if(this.menu.isHorizontal){
			top = "0px";
			if(!this.menu.IsVariableWidth) {
				if(mjk_IEnoDTD){
					if(this.isLastItem) width = (mjk_CurrentTree.MenuWidth - mjk_BorderWidth - mjk_SeparatorSize) + "px";
					else width = (mjk_CurrentTree.MenuWidth - mjk_BorderWidth) + "px";
					left = (this.index * (mjk_CurrentTree.MenuWidth - mjk_BorderWidth)) + "px";
				}
				else {
					width = (mjk_CurrentTree.MenuWidth - mjk_BorderWidth - parseInt(paddingLeft) - parseInt(paddingRight) - mjk_SeparatorSize) + "px";
					left = ((this.index * parseInt(width)) + ((mjk_SeparatorSize * this.index)))  + ((parseInt(paddingLeft) + parseInt(paddingRight)) * this.index) + "px";
				}
				var LeftAndWidth = parseInt(left) + parseInt(width);
				this.menu.style.width = LeftAndWidth + (mjk_IEnoDTD ? (mjk_BorderWidth * 2) : (parseInt(paddingLeft) + parseInt(paddingRight))) + "px"
			}
		}
		else {
			left = "0px";
			if(!this.menu.IsVariableWidth) {
				if(mjk_IEnoDTD) width = mjk_CurrentTree.ItemWidth + "px";
				else width = (mjk_CurrentTree.ItemWidth - (parseInt(paddingLeft) + parseInt(paddingRight))) + "px";
			}

		}
	}
}

function mjk_f_FixSize(makevis){
	var Items = this.scrollParent.childNodes;
	var ItemCount = Items.length;
	var TempItem;

	if(this.isHorizontal) {
		if(this.IsVariableWidth) {
		    for(i=0; i<ItemCount; i++) {
		        TempItem = Items[i];
				TempItem.realWidth = mjk_IE ? TempItem.scrollWidth : TempItem.offsetWidth;
				if(mjk_IE5M) TempItem.realWidth += (parseInt(TempItem.style.paddingLeft) + parseInt(TempItem.style.paddingRight))
				if(mjk_IEnoDTD){
					if(TempItem.isLastItem) TempItem.style.width = (TempItem.realWidth) + "px";
					else TempItem.style.width = (TempItem.realWidth + mjk_SeparatorSize) + "px";
					TempItem.style.left = (TempItem.index ? parseInt(TempItem.siblingBelow.style.left) + parseInt(TempItem.siblingBelow.style.width) : 0) + "px";
				}
				else { 
					if(TempItem.hasImage && !mjk_CurrentTree.RightToLeft) {
						if(!mjk_IECSS) TempItem.realWidth += mjk_ItemPadding;
					}
					TempItem.realWidth -= (parseInt(TempItem.style.paddingLeft) + parseInt(TempItem.style.paddingRight));
 					if(!mjk_IECSS && !mjk_IE5M && !TempItem.isLastItem)  TempItem.realWidth -= mjk_SeparatorSize;
					TempItem.allowableWidth = TempItem.tree.ItemWidth - (parseInt(TempItem.style.paddingLeft) + parseInt(TempItem.style.paddingRight));
					TempItem.style.width = Math.min(TempItem.allowableWidth,TempItem.realWidth) + "px";
					TempItem.style.left = (TempItem.index ? (parseInt(TempItem.siblingBelow.style.left) + TempItem.siblingBelow.offsetWidth) : 0) + "px";
				}
				if(TempItem.isLastItem) {
					LeftAndWidth = parseInt(TempItem.style.left) + parseInt(TempItem.style.width);
					this.style.width = this.scrollParent.style.width = LeftAndWidth + (mjk_IEnoDTD ? (mjk_BorderWidth * 2) : (parseInt(TempItem.style.paddingLeft) + parseInt(TempItem.style.paddingRight))) + "px";
				}
			}
		}

		var MaxItemHeight = 0;
	    for(i=0; i<ItemCount; i++) {
	        TempItem = Items[i];
		    if(TempItem.index) {
				var SiblingHeight = TempItem.siblingBelow.offsetHeight - (mjk_IEnoDTD ? 0 : (mjk_ItemPadding * 2));
				MaxItemHeight = Math.max(MaxItemHeight,SiblingHeight);
			}
	       	else {
				MaxItemHeight = TempItem.offsetHeight - (mjk_IEnoDTD ? 0 : (mjk_ItemPadding * 2));
			}
		}
	    for(i=0; i<ItemCount; i++) {
	        TempItem = Items[i];
			TempItem.style.height = MaxItemHeight +"px";
			if(TempItem.imgLyr) {
				if(this.tree.RightToLeft){
					TempItem.imgLyr.style.left = (mjk_ItemPadding + mjk_ImageHorizSpace) + "px";
				}
				else {
					TempItem.imgLyr.style.left = (TempItem.offsetWidth - ((TempItem.isLastItem ? 0 : mjk_SeparatorSize) + (mjk_IEnoDTD ? mjk_IE5M ? mjk_ItemPadding : mjk_ItemPadding * 2 : mjk_IECSS ? mjk_ItemPadding * 2 : mjk_ItemPadding) + mjk_ImageHorizSpace + mjk_ImageSize)) + "px";
				}
			}
		}
		this.style.height = this.scrollParent.style.height = MaxItemHeight + (mjk_IEnoDTD ? mjk_BorderWidth * 2 : (mjk_ItemPadding * 2)) + "px";
	}
	else {
		if(this.IsVariableWidth) {
			var MaxItemWidth = 0;
	    	for(i=0; i<ItemCount; i++) {
	        	TempItem = Items[i];
				TempItem.realWidth = mjk_IE ? TempItem.scrollWidth : TempItem.offsetWidth;
				if(mjk_IE5M) TempItem.realWidth += (parseInt(TempItem.style.paddingLeft) + parseInt(TempItem.style.paddingRight))
				if(!mjk_IEnoDTD)	{
					TempItem.realWidth -= ((parseInt(TempItem.style.paddingRight) + parseInt(TempItem.style.paddingLeft)))
				}
				MaxItemWidth = i ? Math.max(MaxItemWidth,TempItem.realWidth) : TempItem.realWidth;
				if(MaxItemWidth==TempItem.realWidth) TempWidest = TempItem;
			}
	    	for(i=0; i<ItemCount; i++) {
				Items[i].style.width = (TempWidest.realWidth + (mjk_IEnoDTD ? 0 : (0))) + "px";

				if(!mjk_IEnoDTD) {
					Items[i].style.paddingLeft = TempWidest.style.paddingLeft;
					Items[i].style.paddingRight = TempWidest.style.paddingRight;
				}
			}
			this.style.width = this.scrollParent.style.width = (Items[0].offsetWidth +  (mjk_IEnoDTD ? mjk_BorderWidth * 2 : 0)) + "px";
		}
	    for(i=0; i<ItemCount; i++) {
	        var TempItem = Items[i];
		    if (TempItem.index) {
				var SiblingHeight =(TempItem.siblingBelow.offsetHeight);
				TempItem.style.top = parseInt(TempItem.siblingBelow.style.top) + SiblingHeight + "px";
			}
			else TempItem.style.top = "0px";

			if(TempItem.imgLyr) {
				if(this.tree.RightToLeft){
					TempItem.imgLyr.style.left = (mjk_ItemPadding + mjk_ImageHorizSpace) + "px";
				}
				else {
					TempItem.imgLyr.style.left = (TempItem.offsetWidth - ((mjk_IEnoDTD ? mjk_IE5M ? mjk_ItemPadding : mjk_ItemPadding*2 :  mjk_IECSS ? mjk_ItemPadding * 2 : mjk_ItemPadding) + mjk_ImageHorizSpace + mjk_ImageSize)) + "px";
				}
			}
		}
		this.style.height = this.scrollParent.style.height = parseInt(TempItem.style.top) + (mjk_IE5W ? TempItem.scrollHeight : TempItem.offsetHeight) + (mjk_IEnoDTD ? (mjk_BorderWidth * 2) : 0) + "px";
	}
	this.origHeight = this.style.height;
	this.sizeFixed = true;
	if(makevis)this.style.visibility = "visible";
}

function mjk_f_PopUp(menuname,e){
	if(!mjk_NS6) e = event;
    if (!mjk_AreLoaded) return;
	menuname = menuname.replace("elMenu",mjk_MenuIDPrefix);
	var TempMenu = document.getElementById(menuname);
	if(!TempMenu)return;
	mjk_CurrentMenu = TempMenu;
	if (mjk_CurrentMenu.tree.ClickStart) {
		var ClickElement = (mjk_NS6) ? e.target : e.srcElement;
		if(mjk_NS6) {
			while(ClickElement.tagName==null){
				ClickElement = ClickElement.parentNode;
			}
		}
		ClickElement.onclick = mjk_f_PopMenu;
    }
	else mjk_f_PopMenu(e);
}

function mjk_f_PopMenu(e){
	if(mjk_IE) e = event;
    if (!mjk_AreLoaded || !mjk_AreCreated) return true;
    if (mjk_CurrentMenu.tree.ClickStart && e.type != "click") return true;
	var mouse_x_position, mouse_y_position;
    mjk_f_HideAll();
    mjk_CurrentMenu.hasParent = false;
	mjk_CurrentMenu.tree.startChild = mjk_CurrentMenu;
	mjk_CurrentMenu.mouseX = mouse_x_position = (mjk_NS6) ? e.pageX : (e.clientX + mjk_Canvas.scrollLeft);
	mjk_CurrentMenu.mouseY = mouse_y_position = (mjk_NS6) ? e.pageY : (e.clientY + mjk_Canvas.scrollTop);

	mjk_CurrentMenu.xIntended = mjk_CurrentMenu.xPos = (mjk_CurrentMenu.tree.MenuLeft!=null) ? eval(mjk_CurrentMenu.tree.MenuLeft) : mouse_x_position;
	mjk_CurrentMenu.yIntended = mjk_CurrentMenu.yPos = (mjk_CurrentMenu.tree.MenuTop!=null)  ? eval(mjk_CurrentMenu.tree.MenuTop)  : mouse_y_position;
	if(mjk_IE5M && !mjk_CurrentMenu.sizeFixed) mjk_CurrentMenu.fixSize(false);
	if(mjk_CurrentMenu.scrollbarsCreated) {
		mjk_CurrentMenu.style.height = mjk_CurrentMenu.origHeight;
		mjk_CurrentMenu.checkScroll();
	}

	mjk_CurrentMenu.keepInWindow();
    mjk_CurrentMenu.moveTo(mjk_CurrentMenu.xPos,mjk_CurrentMenu.yPos);
    mjk_CurrentMenu.isOn = true;
	if(mjk_IE5M) {
		setTimeout(mjk_CurrentMenu.id+".showIt(true)",10);
	}
	else {
		mjk_CurrentMenu.showIt(true);
	}

    return false;
}

function mjk_f_MenuOver() {
	if(!this.tree.startChild){this.tree.startChild = this}
	if(this.tree.startChild == this) mjk_f_HideAll(this)
    this.isOn = true;
    mjk_UserOverMenu = true;
    mjk_CurrentMenu = this;
    if (this.hideTimer) clearTimeout(this.hideTimer);
}

function mjk_f_MenuOut() {
	if(mjk_IE && event.srcElement.contains(event.toElement)) return;
    this.isOn = false;
    mjk_UserOverMenu = false;
    if(mjk_StatusDisplayLink) status = "";

	var Items = this.scrollParent.childNodes;
	var ItemCount = Items.length;
	var TempItem;
	for(var i=0;i<ItemCount;i++){
		TempItem = Items[i];
		clearTimeout(TempItem.childTimer);
		TempItem.childTimer = null;
	}
	if(!mjk_ClickKill) {
		clearTimeout(mjk_HideAllTimer);
		mjk_HideAllTimer = null;
		mjk_HideAllTimer = setTimeout("mjk_CurrentMenu.hideTree()",mjk_ChildMilliSecondsVisible); 
	}
}

function mjk_f_ShowChild(){
	if(!this.child) {
	   	mjk_CurrentTree = this.tree;
	   	mjk_CurrentMenu = this.menu;
	   	mjk_CurrentItem = this;
	   	mjk_CurrentMenu.itemElement = this;
	   	this.child = mjk_f_MakeMenu(this.menu.count + "_"+(this.index+1));
	   	this.tree.treeParent = this.menu;
	   	this.tree.startChild = this.menu;
	}
	
    if(mjk_IE5M && !this.child.sizeFixed) this.child.fixSize(false);
	if(this.menu.style.visibility == "hidden") return;
    if (this.tree.PositionUnder && (this.menu == this.tree.treeParent)) {
    	this.child.xPos = parseInt(this.menu.style.left) + parseInt(this.style.left);
    	this.child.yPos = parseInt(this.menu.style.top)  + this.menu.offsetHeight - (mjk_BorderWidth);
    }
    else {
    	if(this.ChildOverlap==null) {
    		this.DistanceToRightEdge = parseInt(this.style.width);
    		if(!mjk_IEnoDTD) this.DistanceToRightEdge += (parseInt(this.style.paddingLeft)+parseInt(this.style.paddingRight)) + ((this.menu.isHorizontal && !this.isLastItem) ? mjk_SeparatorSize : 0); 
    		if (!this.menu.isHorizontal || (this.menu.isHorizontal && this.isLastItem)) this.DistanceToRightEdge += mjk_BorderWidth;
    		this.DistanceToLeftEdge = (!this.menu.isHorizontal || (this.menu.isHorizontal && this.index==0)) ? mjk_BorderWidth : mjk_SeparatorSize;
    		this.ChildOverlap = (parseInt((mjk_ChildPerCentOver != null) ? (mjk_ChildPerCentOver  * this.DistanceToRightEdge) : mjk_ChildOverlap));
    	}
    	if(mjk_IE5M) {
    		this.oL = parseInt(this.menu.style.left) - mjk_ItemPadding;
    		this.oL += this.offsetLeft;
    		this.oT = parseInt(this.menu.style.top) - mjk_ItemPadding;
    		this.oT += this.offsetTop;
			if(mjk_ScrollEnabled) {
				this.oT += this.menu.scrollParent.top;
				if(mjk_ScrollBothBars && this.menu.scrollbarsVisible) this.oT += mjk_ScrollBarHeight;
			}
		}
    	else {
    		this.oL = (mjk_IEpos) ? parseInt(this.menu.style.left) + mjk_BorderWidth : 0;
    		this.oL += this.offsetLeft;
    		this.oT = (mjk_IEpos) ? parseInt(this.menu.style.top) : -mjk_BorderWidth;
    		this.oT += this.offsetTop;
			if(mjk_ScrollEnabled && mjk_IEpos) {
				this.oT += this.menu.scrollParent.top;
				if(mjk_ScrollBothBars && this.menu.scrollbarsVisible) this.oT += mjk_ScrollBarHeight;
			}

		}
    	if(this.tree.RightToLeft) {
    		this.child.xPos = ((this.oL - this.DistanceToLeftEdge) + this.ChildOverlap) - this.child.offsetWidth;
    	}
    	else {		
    		this.child.xPos = (this.oL + this.DistanceToRightEdge) - this.ChildOverlap;
    	}
    	this.child.yPos = this.oT + mjk_ChildOffset + mjk_BorderWidth;
    }

	if(!this.tree.PositionUnder || this.menu!=this.tree.treeParent) {
		if(this.child.scrollbarsCreated) {
			this.child.style.height = this.child.origHeight;
		}
		this.child.keepInWindow();
	}	
    this.child.moveTo(this.child.xPos,this.child.yPos);

	if(mjk_IE5M) {
		setTimeout(this.id+".displayChild()",10);
	}
	else {
		this.displayChild();
	}
}

function mjk_f_DisplayChild(){
	this.menu.hasChildVisible = true;
	this.menu.visibleChild = this.child;
	this.child.showIt(true);
}

function mjk_f_ItemOver(){
	var ItemMenu = this.menu;

    if (mjk_KeepHilite) {
        if (ItemMenu.currentItem && ItemMenu.currentItem != this && ItemMenu.currentItem.hasRollover) {
			with(ItemMenu.currentItem.style){
				backgroundColor = this.tree.BGColor;
            	color = this.tree.FontColor
			}
			if(ItemMenu.currentItem.hasImageRollover)ItemMenu.currentItem.imgLyr.src = ItemMenu.currentItem.imageSrc;
        }
		if(ItemMenu != this.tree.startChild){
			var ParentMenu = ItemMenu.parentMenu;
        	if (ParentMenu.currentItem && ParentMenu.currentItem.hasRollover) {
				with(ParentMenu.currentItem.style){
					backgroundColor = this.tree.BGColor;
	            	color = this.tree.FontColor
				}
				if(ParentMenu.currentItem.hasImageRollover)ParentMenu.currentItem.imgLyr.src = ParentMenu.currentItem.imageSrc;
			}
			var ParentItem = ItemMenu.parentItem;
			if(ParentItem.hasRollover) {
	    		ParentItem.style.backgroundColor = this.tree.BGColorOver;
	    		ParentItem.style.color = this.tree.FontColorOver;
				if(ParentItem.hasImageRollover)ParentItem.imgLyr.src = ParentItem.imageSrcOver;
			}
			ParentMenu.currentItem = ParentItem;
        }
	}
	if(this.hasRollover) {
	    this.style.backgroundColor = this.tree.BGColorOver;
	    this.style.color = this.tree.FontColorOver;
		if(this.hasImageRollover)this.imgLyr.src = this.imageSrcOver;
	}

    if(mjk_StatusDisplayLink) status = this.linkText;
    this.menu.currentItem = this;
	
	var Items = ItemMenu.scrollParent.childNodes;
	var ItemCount = Items.length;
	var TempItem;
	for(var i=0;i<ItemCount;i++){
		TempItem = Items[i];
		clearTimeout(TempItem.childTimer);
		TempItem.childTimer = null;
	}
	
	this.childTimer = setTimeout("document.getElementById('" + this.id + "').hoverChild(true)",this.hoverTime);
}

function mjk_f_HoverChild(onover){
	if (this.menu.hasChildVisible) {
		if(this.menu.visibleChild == this.child && this.menu.visibleChild.hasChildVisible) this.menu.visibleChild.hideChildren(this);
		else this.menu.hideChildren(this);
    }

	if ((this.ClickStart && (onover!=true)) || (this.hasMore && !this.ClickStart)) this.showChild();
}

function mjk_f_ItemOut() {
	if(this.hasRollover){
		with(this.style) {
			backgroundColor = this.tree.BGColor;
        	color = this.tree.FontColor
		}
		if(this.hasImageRollover)this.imgLyr.src = this.imageSrc;
    }
}

function mjk_f_MoveTo(xPos,yPos) {
	this.style.left = xPos + "px";
	this.style.top = yPos + "px";
}

function mjk_f_ShowIt(on) {
	if (!(this.tree.TopIsPermanent && (this.tree.treeParent==this))) {
		if(!this.hasParent || (this.hasParent && this.tree.TopIsPermanent && (this.tree.treeParent==this.parentMenu))) {
			var IsVisible = (this.style.visibility == "visible");
			if ((on && !IsVisible) || (!on && IsVisible))
				eval(on ? this.tree.UponDisplay : this.tree.UponHide)
		}
		if (on) this.style.zIndex = ++mjk_ZIndex;
		this.style.visibility = (on) ? "visible" : "hidden";
	}
    if (mjk_KeepHilite && this.currentItem && this.currentItem.hasRollover) {
		with(this.currentItem.style){
			backgroundColor = this.tree.BGColor;
			color = this.tree.FontColor;
		}
		if(this.currentItem.hasImageRollover)this.currentItem.imgLyr.src = this.currentItem.imageSrc;
    }
    this.currentItem = null;
}

function mjk_f_KeepInWindow() {
    var ExtraSpace     = 10;
	var WindowLeftEdge = (mjk_IE) ? mjk_Canvas.scrollLeft   : window.pageXOffset;
	var WindowTopEdge  = (mjk_IE) ? mjk_Canvas.scrollTop    : window.pageYOffset;
	var WindowWidth    = (mjk_IE) ? mjk_Canvas.clientWidth  : window.innerWidth;
	var WindowHeight   = (mjk_IE) ? mjk_Canvas.clientHeight : window.innerHeight;

	var WindowRightEdge  = (WindowLeftEdge + WindowWidth) - ExtraSpace;
	var WindowBottomEdge = (WindowTopEdge + WindowHeight) - ExtraSpace;
	var MenuLeftEdge = this.xPos;
	var MenuRightEdge = MenuLeftEdge + this.offsetWidth;
	var MenuBottomEdge = this.yPos + parseInt(this.origHeight);
	if (this.hasParent) {
		var ParentLeftEdge = this.parentItem.oL;
	}
	if (MenuRightEdge > WindowRightEdge) {
		if (this.hasParent) {
			this.xPos = ((ParentLeftEdge - this.parentItem.DistanceToLeftEdge) + this.parentItem.ChildOverlap) - this.offsetWidth;
		}
		else {
			dif = MenuRightEdge - WindowRightEdge;
			this.xPos -= dif;
		}
		this.xPos = Math.max(5,this.xPos);
	}

	if (MenuBottomEdge > WindowBottomEdge) {
		dif = MenuBottomEdge - WindowBottomEdge;
		this.yPos -= dif;
	}

	if (MenuLeftEdge < WindowLeftEdge) {
		if (this.hasParent) {
			this.xPos = (ParentLeftEdge + this.parentItem.DistanceToRightEdge) - this.parentItem.ChildOverlap;
			MenuRightEdge = this.xPos + this.offsetWidth;
			if(MenuRightEdge > WindowRightEdge) this.xPos -= (MenuRightEdge - WindowRightEdge);
		}
		else {this.xPos = 5}
	}
	if(mjk_ScrollEnabled) {
		if(this.yPos < WindowTopEdge) {
			this.enableScrolling(WindowTopEdge);
		}
		else if(this.scrollbarsCreated){
			if(!mjk_IE5W){
				if(parseInt(this.origHeight) < WindowHeight)this.style.height = this.origHeight
			}
			this.checkScroll();
		}
	}
}

function mjk_f_LinkIt() {
    if (this.linkText.indexOf("javascript:")!=-1) eval(this.linkText)
    else {
		mjk_f_HideAll();
		location.href = this.linkText;
	}
}

function mjk_f_PopDown(menuname){
    if (!mjk_AreLoaded || !mjk_AreCreated) return;
	menuname = menuname.replace("elMenu",mjk_MenuIDPrefix);
    var MenuToHide = document.getElementById(menuname);
	if(!MenuToHide)return;
    MenuToHide.isOn = false;
    if (!mjk_ClickKill) MenuToHide.hideTop();
}

function mjk_f_HideAll(callingmenu) {
	for(var i=0; i<mjk_TotalTrees; i++) {
        var TopMenu = mjk_a_TopMenus[i].tree.startChild;
		if(TopMenu == callingmenu)continue;
        TopMenu.isOn = false;
        if (TopMenu.hasChildVisible) TopMenu.hideChildren();
        TopMenu.showIt(false);
    }    
}

function mjk_f_HideTree() { 
    mjk_HideAllTimer = null;
    if (mjk_UserOverMenu) return;
    if (this.hasChildVisible) this.hideChildren();
    this.hideParents();
}

function mjk_f_HideTop() {
	TopMenuToHide = this;
    (mjk_ClickKill) ? TopMenuToHide.hideSelf() : (this.hideTimer = setTimeout("TopMenuToHide.hideSelf()",mjk_TopMilliSecondsVisible));
}

function mjk_f_HideSelf() {
    this.hideTimer = null;
    if (!this.isOn && !mjk_UserOverMenu) this.showIt(false);
}

function mjk_f_HideParents() {
    var TempMenu = this;
    while(TempMenu.hasParent) {
        TempMenu.showIt(false);
        TempMenu.parentMenu.isOn = false;        
        TempMenu = TempMenu.parentMenu;
    }
    TempMenu.hideTop();
}

function mjk_f_HideChildren(callingitem,forced) {
    var TempMenu = this.visibleChild;
    while(TempMenu.hasChildVisible) {
        TempMenu.visibleChild.showIt(false);
        TempMenu.hasChildVisible = false;
        TempMenu = TempMenu.visibleChild;
    }
	if(forced || ((callingitem && (!callingitem.hasMore || this.visibleChild != callingitem.child)) || (!callingitem && !this.isOn))) {
        this.visibleChild.showIt(false);
        this.hasChildVisible = false;
    }
}

function mjk_f_CancelSelect(){return false}

function mjk_f_PageClick() {
    if (!mjk_UserOverMenu && mjk_CurrentMenu!=null && !mjk_CurrentMenu.isOn) mjk_f_HideAll();
}

popUp = mjk_f_PopUp;
popDown = mjk_f_PopDown;

function mjk_f_ResizeHandler(){
	var mouse_x_position, mouse_y_position;
	for(var i=0; i<mjk_TotalTrees; i++) {
        var TopMenu = mjk_a_TopMenus[i].tree.startChild;
		if(TopMenu.style.visibility == "visible") {
			TopMenu.oldLeft = TopMenu.xPos;
			TopMenu.oldTop = TopMenu.yPos;
			mouse_x_position = TopMenu.mouseX;
			mouse_y_position = TopMenu.mouseY;
			TopMenu.xPos = eval(TopMenu.tree.MenuLeft);
			TopMenu.yPos = eval(TopMenu.tree.MenuTop);
			if(TopMenu.xPos == null) TopMenu.xPos = TopMenu.xIntended;
			if(TopMenu.yPos == null) TopMenu.yPos = TopMenu.yIntended;
			if(!TopMenu.tree.TopIsPermanent) {
				if(TopMenu.scrollbarsCreated)TopMenu.checkScroll();
				TopMenu.style.height = TopMenu.scrollParent.style.height;
				TopMenu.keepInWindow();
			}

			TopMenu.moveTo(TopMenu.xPos,TopMenu.yPos);
			var TempMenu = TopMenu;
		    while(TempMenu.hasChildVisible) {
				TempParent = TempMenu;
				TempMenu = TempMenu.visibleChild;
				TempItem = TempMenu.parentItem;
				TempItem.showChild();
		    }
		}
    }
	mjk_f_OtherResize();
}

mjk_f_OtherResize = (window.onresize) ? window.onresize :  new Function;
window.onresize = mjk_f_ResizeHandler;

mjk_f_OtherOnLoad = (window.onload) ? window.onload :  new Function;
window.onload = function(){setTimeout("mjk_f_StartIt()",10)};

if(mjk_IE) {
	mjk_f_OtherOnUnload = (window.onunload) ? window.onunload :  new Function;
	window.onunload = function(){
		mjk_CurrentMenu = null;
		mjk_CurrentItem = null;
		if(mjk_CurrentTree != null) {
			mjk_CurrentTree.treeParent = null;
			mjk_CurrentTree.startChild = null;
		}
		var Eclength = mjk_a_ElementsCreated.length;
		for(var i=Eclength-1; i>=0; i--){
			TempElement = mjk_a_ElementsCreated[i];
			TempElement.parentMenu = null;
			TempElement.parentItem = null;
			TempElement.itemElement = null;
			TempElement.currentItem = null;
			TempElement.child = null;
			TempElement.siblingBelow = null;
			TempElement.imgLyr = null;
			TempElement.scrollParent = null;
			TempElement.scrollbarTop = null;
			TempElement.scrollbarBot = null;
		}
		TempElement = null;
	
		for(var i=0; i<mjk_TotalTrees; i++) {
			mjk_a_TopMenus[i].tree.startChild = null;
			mjk_a_TopMenus[i].tree.treeParent = null;
		}

		mjk_f_OtherOnUnload();
	}
}

function mjk_f_EnableScrolling(topedge){
	this.yPos = (topedge + 10);
	var WindowHeight = (mjk_IE) ? mjk_Canvas.clientHeight : window.innerHeight;
	this.style.height = (Math.max(WindowHeight,30) - 20) + "px";
	if(!this.scrollbarsCreated) this.createScrollbars();
	this.checkScroll();
}

function mjk_f_CreateScrollbars(){
	var TopScrollElement = document.createElement("DIV");
	with(TopScrollElement.style){
		position = "absolute";
		top = "0px";
		width = (parseInt(this.style.width) - (mjk_IEnoDTD ? (mjk_BorderWidth * 2) : 0)) + "px";
		height = (mjk_ScrollBarHeight - (mjk_IEnoDTD ? 0 : mjk_BorderWidth)) + "px";
		visibility = "hidden";
		backgroundColor = mjk_ScrollBarColor;
		textAlign = "center";
		zIndex = 10000;
	}

	ImageElement = document.createElement("IMG");
	with(ImageElement.style){
		position = "absolute";
		top = (((mjk_ScrollBarHeight - (!mjk_IE5W ? mjk_BorderWidth : 0)) - mjk_ScrollImgHeight)/2) + "px";
		visibility = "inherit";
		left = ((parseInt(TopScrollElement.style.width) - mjk_ScrollImgWidth)/2)+"px";
	}
	TopScrollElement.appendChild(ImageElement);
	BottomScrollElement = TopScrollElement.cloneNode(true);
	BottomScrollElement.firstChild.src = mjk_ScrollImgSrcBot;
	TopScrollElement.firstChild.src = mjk_ScrollImgSrcTop;
	var BorderString = (mjk_BorderWidth + "px " + this.tree.BorderColor + " " + mjk_BorderStyle);
	TopScrollElement.style.borderBottom = BorderString;
	BottomScrollElement.style.borderTop = BorderString;
	this.appendChild(TopScrollElement);
	this.appendChild(BottomScrollElement);
	this.scrollbarTop = TopScrollElement;
	this.scrollbarTop.onmousedown = function(){mjk_CurrentMenu.startScroll(true)};
	this.scrollbarBot = BottomScrollElement;
	this.scrollbarBot.onmousedown = function(){mjk_CurrentMenu.startScroll(false)};
	this.scrollbarsCreated = true;
}

function mjk_f_StartScroll(up){
	mjk_f_StopScroll();
    if (this.hasChildVisible) this.hideChildren(false,true);
	mjk_ScrollTimer = setInterval("mjk_f_DoScroll(" + up + ",10)",20);
	document.onmouseup = mjk_f_StopScroll;
	return false;
}

function mjk_f_StopScroll(){
	clearInterval(mjk_ScrollTimer);
	mjk_ScrollTimer = null;
}

function mjk_f_DoScroll(up,incr){
	var ScrollEl = mjk_CurrentMenu.scrollParent;
	if(up){
		ScrollEl.top += incr;
	}
	else{
		ScrollEl.top -= incr;
	}
	mjk_CurrentMenu.checkScroll();
}

function mjk_f_CheckScroll(){
	var ScrollEl = this.scrollParent;
	var MenuHeight = parseInt(this.style.height);
	var ScrollHeight = parseInt(ScrollEl.style.height);
	var HeightDiff = MenuHeight - ScrollHeight;
	var ScrollTopOffset = mjk_ScrollBothBars ? mjk_ScrollBarHeight : 0;

	if(!HeightDiff){
		this.scrollbarBot.style.visibility = "hidden";
		this.scrollbarTop.style.visibility = "hidden";
		this.scrollbarsVisible = false;
		ScrollEl.top = 0;
		ScrollEl.style.top = ScrollEl.top +  "px";
		return;
	}
	if(mjk_ScrollBothBars) HeightDiff -= (ScrollTopOffset*2);
	if(ScrollEl.top <= (HeightDiff)) {
		ScrollEl.top = HeightDiff;
		mjk_f_StopScroll();
		if(!mjk_ScrollBothBars) this.scrollbarBot.style.visibility = "hidden";
	}
	else {
		this.scrollbarBot.style.visibility = "inherit";
		this.scrollbarBot.style.top = (MenuHeight - (mjk_IEnoDTD ? (mjk_BorderWidth * 2) : 0) - mjk_ScrollBarHeight) + "px";
		if(mjk_ScrollBothBars){
			this.scrollbarTop.style.visibility = "inherit";
			this.scrollbarsVisible = true;
		}
	}
	if(ScrollEl.top >= 0) {
		ScrollEl.top = 0;
		mjk_f_StopScroll();
		if(!mjk_ScrollBothBars)this.scrollbarTop.style.visibility = "hidden";
	}
	else {
		this.scrollbarTop.style.visibility = "inherit";
		if(mjk_ScrollBothBars){
			this.scrollbarBot.style.visibility = "inherit";
			this.scrollbarsVisible = true;
		}
	}
	ScrollEl.style.top = (ScrollEl.top + ScrollTopOffset) + "px";
}

function mjk_f_DoWheelScroll(){
	if(!this.scrollbarsCreated) return;
	var ScrollUp = (event.wheelDelta == 120);
	mjk_f_DoScroll(ScrollUp,this.currentItem.offsetHeight);
	return false;
}

//end
