var uMIB = 0; // use bullets on Menu Items
var uMLB = 0; // use bullets on Menu Labels

var sMASrc = "/images/shim.gif";
var sMAW = 16;
var sMAH = 16;
var MenuLabelHeight = 28;
var DropDownItemHeight = 20;

var browser_left_fix = 0;
var browser_top_fix = 0;
var browser_right_fix = 0;
var browser_center_fix = 0;

var mIBW = 0; //?

sMA= new Image(sMAW, sMAH);
sMA.src=sMASrc;

var agt = navigator.userAgent.toLowerCase();
var ns4 = document.layers;
var op5 = (agt.indexOf("Opera 5") != -1) || (agt.indexOf("Opera/5") != -1);
var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var is_safari = (agt.indexOf("safari") != -1);

if(is_ie){browser_right_fix = 0; browser_center_fix = 4; browser_left_fix = 5; browser_top_fix = 2;}
if(is_safari){browser_right_fix = 0; browser_center_fix = 1; browser_left_fix = 3; browser_top_fix = 1;}

var currentMenu = 0;
var currentMenuItem = 0;

var bC = '#999999';

var timeOn = null;
var numMenus = 4;
var numTiers = 0;
var tier = new Array(numMenus);
var offColours = new Array(numMenus);
var onColours = new Array(numMenus);
var menuActive = new Array(numMenus);
var imageMenu = new Array(numMenus);
for(counter = 1; counter <= numMenus; counter++) {
	menuActive[counter] = false;
	imageMenu[counter] = false;
}
var myStyle = new Array(numMenus);
var menuWidths = new Array(numMenus);

var targetType = 'self';
var targetFrame = '_self';

function openMe(newin) {
        flyout=window.open(newin,"flyout","")
}

function menuOver() {
	clearTimeout(timeOn);
}

function menuOut() {
	timeOn = setTimeout("hideAllMenus()", 500);
}

function showMenuBlank(m_No, eventObj) {
	hideAllMenus();
	if (imageMenu[m_No] == false) {
	    if(!ns4) {
			var menuBox = getStyleObject('labelBox'+m_No);
			menuBox.backgroundColor = onColours[m_No];	
	    } else  {
			myStyle[m_No].bgColor=onColours[m_No];	
	    } 
	}
	menuActive[m_No] = true;
}

function showMenu(m_No, eventObj, align) {
	hideAllMenus();
	
    if(!ns4) {
		var x = 10;		
		var menuTop = 100;
		var menu = getStyleObject('menu'+m_No);
		x = getElementLeft('menuLabel'+m_No);
		menuTop = getElementTop('menuLabel'+m_No) + 4;
		if (op5) {
			if (imageMenu[m_No] == true) menuTop = getElementTop('menuLabel'+m_No) + getElementHeight('menuLabel'+m_No);
			else menuTop = getElementTop('menuLabel'+m_No) + 14;
			menu.pixelTop=menuTop;
 			menu.pixelLeft=x;
		} 
		else {
			if (align == 'left') {
				menu.top=(2+browser_top_fix+menuTop+getElementHeight('menuLabel'+m_No)) +'px';
				menu.left=x + browser_right_fix +'px';
			}
			if (align == 'center') {
				menu.top=(2+browser_top_fix+menuTop+getElementHeight('menuLabel'+m_No)) +'px';
 				menu.left=((getElementWidth('menuLabel'+m_No)-getElementWidth('menu'+m_No))/2) + browser_center_fix + x +'px';
			}
			if (align == 'right') {
 				menu.left=(x + getElementWidth('menuLabel'+m_No)-getElementWidth('menu'+m_No)) + 1 + browser_left_fix +'px';
 				menu.top=(2+browser_top_fix+menuTop+getElementHeight('menuLabel'+m_No)) +'px';
			}
		}
		var menuBox = getStyleObject('labelBox'+m_No);
		menuBox.backgroundColor = onColours[m_No];	
    } 
    else  {//ns4
		var menu = getStyleObject('menu'+m_No);
		if (imageMenu[m_No]==true) {
			var img = getImage('menuLabel' + m_No);
			y = getImagePageTop(img) + getImagePageHeight(img);
		} else {
			var img = getImage('label' + m_No);
			myStyle[m_No].bgColor=onColours[m_No];	
			y = getImagePageTop(img) + 14;
		}
		x = getImagePageLeft(img);
		menu.top = y;
 		menu.left = x-1;
    } 
    var menuId = 'menu' + m_No;
	menuActive[m_No] = true;
    if(changeObjectVisibility(menuId, 'visible')) {
		return true;
    } else {
		return false;
    }
}

function hideAllMenus() {
    for(counter = 1; counter <= numMenus; counter++) {
		if (menuActive[counter] == true) {
			changeObjectVisibility('menu' + counter, 'hidden');
			menuActive[counter] = false;
			if (imageMenu[counter] == false) {				
				if (ns4) {
					if (myStyle[counter]) myStyle[counter].bgColor=offColours[counter];
				} else {
					var menuBox = getStyleObject('labelBox'+counter);
					menuBox.backgroundColor = offColours[counter];	
				}
			} 
   		}
   }
}

function hideAllMenusTier(tierNum) {
    for(counter = 1; counter <= numMenus; counter++) {
		if (menuActive[counter] == true) {
			if (tier[counter] > tierNum) {
				changeObjectVisibility('menu' + counter, 'hidden');
				menuActive[counter] = false;
				if (imageMenu[counter] == false) {					
					if (ns4) {
						myStyle[counter].bgColor=offColours[counter];
					} else {
						var menuBox = getStyleObject('labelBox'+counter);
						menuBox.backgroundColor = offColours[counter];	
					}	
				}
			}
    	}
	}
}

function startMenuBar(width, numMenus) {
	currentMenuLabel = 0;
	if (ns4) {
		document.write('<table width="' + width + '" cellpadding="0" cellspacing="0" border="0">');
		if (bC != null)	{
			document.write('<tr><td bgColor="' + bC + '" colspan="' + ((numMenus*2) + 1) + '"><img src="/images/shim.gif" width="1" height="1" border="0"></td></tr>');
		}
		document.write('<tr>');
		if (bC != null)	{
			document.write('<td bgColor="' + bC + '"><img src="/images/shim.gif" width="1" height="1" border="0"></td>\n');	
		}
	} 
	else {
		document.write('<table width="' + width + '" cellpadding="0" cellspacing="0" border="0"><tr>');	
	}
}

function endMenuBar(numMenus) {
	document.write('</tr>');
	if (ns4) {
		if (bC != null)	{
			document.write('<tr><td bgColor="' + bC + '" colspan="' + ((numMenus*2) + 1) + '"><img src="/images/shim.gif" width="1" height="1" border="0"></td></tr>');
		}
	}
	document.write('</table>\n');
}


function startMenu(m_No, width) {
	currentMenu = m_No;
	menuWidths[m_No] = width;
	currentMenuItem = 0;
	
	if (ns4) {
		document.write('<div id="menu' + m_No + '" name="menu' + m_No + '" class="myMenu">');
		document.write('<table ');
		if (width != null) {
		 	document.write('width="' + width + '" ');
		}
		document.write('cellpadding="0" cellspacing="0" border="0">');

		if (bC != null) {
    		document.write('<tr>\n');
    		document.write('<td bgColor="' + bC + '"><img src="/images/shim.gif" width="1" height="1" border="0"></td>');
    		document.write('<td bgColor="' + bC + '"><img src="/images/shim.gif" width="1" height="1" border="0"></td>');
    		document.write('<td bgColor="' + bC + '"><img src="/images/shim.gif" width="1" height="1" border="0"></td>');
		}
		 document.write('</tr>\n');	
	} 
	else {
		document.write('<div id="menu' + m_No + '" name="menu' + m_No + '" class="myMenu">');
		document.write('<table ');
		if (width != null) {
		 	document.write('width="' + width + '" ');
		}
		document.write('cellpadding="0" cellspacing="0" border="0">');
	}	
}
	
function endMenu() {
	document.write('</table></div>');
}


function menuItem(label, m_No, width, onColour, offColour, url, myAlign) {	
	if (m_No != null) {	
		offColours[m_No] = offColour;
		onColours[m_No] = onColour;
		tier[m_No] = tier[currentMenu] + 1;
	}
	var tier2 = tier[currentMenu];
	currentMenuItem = currentMenuItem + 1;
	mI_No = 'mI' + currentMenu + currentMenuItem;

	if(ns4) {
		document.write('<tr>');
		if (bC != null) {
			document.write('<td bgColor="' + bC + '"><img src="/images/shim.gif" width="1" height="1" border="0"></td>');
		}
		
		document.write('<td ');
		
		if (width != null) {
		 	document.write('width="' + width + '" ');
		} 
		else {
		 	document.write('width="100%" ');
		}
		document.write('valign="middle" class="MenuItem">');
		document.write('<ilayer id="menuItemOuter' + mI_No + '" name="menuItemOuter' + mI_No + '">');
		document.write('<layer ');
		if (width != null) {
		 	document.write('width="' + width + '" ');
		} 
		else {
		 	document.write('width="100%" ');
		}

		document.write('onmouseover="bgColor=\'' + onColour + '\'; menuOver();  hideAllMenusTier(' + tier2 + ');" ');
		document.write('onmouseout="bgColor=\'' + offColour + '\'; menuOut();" ');	
		document.write('id="menuItem' + mI_No + '" name="menuItem' + mI_No + '" ');
		document.write('bgcolor="' + offColour + '">');
		
		if (m_No == null) document.write('<img src="/images/shim.gif" width="1" height="1" border="0" align="right">\n');
		
		document.write('<a class="MenuItemLink" href="' + url + '" target="' + targetFrame + '">\n');

		if (uMIB == 1) {
			if (m_No != null ) document.write('<img src="' + sMBOff.src + '" width="' + sMBW + '" height="' + sMBH + '" border="0" align="left" name="menuBullet' + mI_No + '" id="menuBullet' + mI_No + '">\n');
			else document.write('<img src="' + mIBOff.src + '" width="' + mIBW + '" height="' + mIBH + '" border="0" align="left" name="menuBullet' + mI_No + '" id="menuBullet' + mI_No + '">\n');
		}
		
		if (m_No != null) document.write('<img src="' + sMA.src + '" width="' + sMAW + '" height="' + sMAH + '" border="0" align="right">');

		document.write(label + '</a>');
		document.write('</layer></ilayer>');

		if (m_No != null) document.write('<img src="/images/shim.gif" width="1" height="1" border="0" align="' + myAlign + '" id="label' + m_No + '" name="label' + m_No + '">');

		document.write('</td>');

		if (bC != null) {
			document.write('<td bgColor="' + bC + '"><img src="/images/shim.gif" width="1" height="1" border="0"></td>');
		}

		document.write('</tr>');
		if (bC != null) {
			document.write('<tr><td bgColor="' + bC + '" colspan="3"><img src="/images/shim.gif" width="1" height="1" border="0"></td></tr>\n');
		}
		if (m_No != null) myStyle[m_No] = eval('document.menu' + currentMenu + '.document.menuItemOuter' + mI_No + '.document.menuItem' + mI_No);
	} 
	else {
		document.write('<tr><td ');
		
		if (width != null) {
		 	document.write('width="100%" ');
		}
		
		document.write('bgcolor="' + offColour + '" valign="middle" height="' + DropDownItemHeight + '" ');
		
		if (bC != null) {
			if (currentMenuItem == 1) {
				document.write('style="border: ' + bC + ' 1px solid;" ');
			} else {
				document.write('style="border-left: ' + bC + ' 1px solid;border-right: ' + bC + ' 1px solid;border-bottom: ' + bC + ' 1px solid;" ');
			}
		}
		
		document.write('id="labelBox' + m_No + '" name="labelBox' + m_No + '" ');
		
		if (m_No != null) {
			document.write('onmouseover="');
			document.write('menuOver();" ');
			document.write('onmouseout="menuOut(); ');
		} 
		else {
			document.write('onMouseover="this.style.backgroundColor = \'' + onColour + '\'; ');
			document.write('menuOver(); hideAllMenusTier(' + tier2 + ');" ');
			document.write('onMouseout = "this.style.backgroundColor = \'' + offColour + '\'; menuOut(); ');	
		}
		document.write('" ');
		if (targetType=='self') document.write('onClick="document.location.href=\'' + url + '\';" ');
		if (targetType=='new') document.write('onClick="openMe(\'' + url + '\'); return false;" ');
		if (targetType=='frame') document.write('onClick="parent.' + targetFrame + '.document.location.href=\'' + url + '\';" ');
		if (targetType=='iframe') document.write('onClick="' + targetFrame + '.location.href=\'' + url + '\';" ');
		document.write('<div id="menuItem' + mI_No + '" name="menuItem' + mI_No + '"');
		document.write('><a class="MenuItemLink" href="' + url + '" target="' + targetFrame + '">');

		if(m_No != null) {
			if(myAlign=='right') {
				document.write('<img src="' + sMA.src + '" width="' + sMAW + '" height="' + sMAH + '" border="0" align="right" id="label' + m_No + '" name="label' + m_No + '">');
			} 
			else {
				document.write('<img src="' + sMA.src + '" width="' + sMAW + '" height="' + sMAH + '" border="0" align="right">');
				document.write('<img src="/images/shim.gif" width="1" align="top" height="1" border="0"  id="label' + m_No + '" name="label' + m_No + '">');
			} 
		} 
		else {
			document.write('<img src="/images/shim.gif" width="1" align="top" height="1" border="0">');
		}
		document.write(label);
		document.write('</a></div></td></tr>');
	}		
}
	

function menuLabel(label, m_No, width, onColour, offColour, url, align) {
	tier[m_No] = 0;
	offColours[m_No] = offColour;
	onColours[m_No] = onColour;
	currentMenuLabel = currentMenuLabel + 1;
	
	if(ns4) {
		document.write('<td width="' + width + '" valign="middle" height="2" align="left"><ilayer id="menuLabelOuter' + m_No + '" name="menuLabelOuter' + m_No + '"><layer width="' + width + '" onmouseover="menuOver(); ');
		if (align != null) document.write('return !showMenu(' + m_No + ', event, \'' + align + '\'); ');
		else document.write('return !showMenuBlank(' + m_No + ', event, \'' + align + '\'); ');
		
		document.write('return false;" onmouseout="menuOut();" id="menuLabel' + m_No + '" name="menuLabel' + m_No + '" bgcolor="' + offColour + '"><a class="MenuItemLink" href="' + url + '" target="' + targetFrame + '">');
		if (uMLB == 1) {
			document.write('<img src="' + mLBOff.src + '" width="' + mLBW + '" height="' + mLBH + '" border="0" align="left" name="menuBullet' + m_No + '" id="menuBullet' + m_No + '">');
		}
		document.write(label + '</a></layer></ilayer><img src="/images/shim.gif" width="1" height="1" border="0" align="left" id="label' + m_No + '" name="label' + m_No + '"></td>');
		if (bC != null) {
			document.write('<td bgColor="' + bC + '"><img src="/images/shim.gif" width="1" height="1" border="0"></td>\n');
		}
		myStyle[m_No] = eval('document.menuLabelOuter' + m_No + '.document.menuLabel' + m_No);
	} 
	else {
		document.write('<td width="' + width + '" bgcolor="' + offColour + '" valign="middle" height="' + MenuLabelHeight + '" ');
		if (bC != null) {
			if (currentMenuLabel == 1) {
				document.write('style="border: ' + bC + ' 1px solid;" ');
			} else {
				document.write('style="border-top: ' + bC + ' 1px solid; border-bottom: ' + bC + ' 1px solid; border-right: ' + bC + ' 1px solid;" ');
			}
		}
		document.write('id="labelBox' + m_No + '" name="labelBox' + m_No + '" align="left"><div id="menuLabel' + m_No + '" name="menuLabel' + m_No + '" onmouseover="');
		if (uMLB == 1) {
			document.write('label' + m_No + '.src=mLBOn.src; ');
		}
		if (align != null) document.write('menuOver(); return !showMenu(' + m_No + ', event,  \'' + align + '\');"  onmouseout="');
		else document.write('menuOver(); return !showMenuBlank(' + m_No + ', event,  \'' + align + '\');"  onmouseout="');
		if (uMLB == 1) {
			document.write('label' + m_No + '.src=mLBOff.src; ');
		}
		document.write('menuOut();" ');
		if (targetType=='self') document.write('onClick="document.location.href=\'' + url + '\';" ');
		if (targetType=='new') document.write('onClick="openMe(\'' + url + '\'); return false;" ');
		if (targetType=='frame') document.write('onClick="parent.' + targetFrame + '.document.location.href=\'' + url + '\';" ');
		if (targetType=='iframe') document.write('onClick="' + targetFrame + '.location.href=\'' + url + '\';" ');
		document.write('><a class="MenuLabelLink" href="' + url + '" target="' + targetFrame + '">');
		if (uMLB == 1) {
			document.write('<img src="' + mLBOff.src + '" width="' + mLBW + '" height="' + mLBH + '" border="0" align="left" id="label' + m_No + '" name="label' + m_No + '">');
		} else {
			if (op5) {
				document.write('<img src="/images/shim.gif" width="1" height="1" border="0" align="left" id="label' + m_No + '" name="label' + m_No + '">');
			}
			document.write('<img src="/images/shim.gif" width="1" height="1" border="0" align="left" id="label' + m_No + '" name="label' + m_No + '">');
		}
		document.write(label + '</a></div></td>\n');
	}		
}

function initializeHacks() {
    if ((navigator.appVersion.indexOf('MSIE 5') != -1) 	&& (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) {
		window.onresize = explorerMacResizeFix;
    }
    resizeBlankDiv();
	createFakeEventObj();
}

function createFakeEventObj() {
    if (!window.event) {
	window.event = false;
    }
}

function resizeBlankDiv() {
    if ((navigator.appVersion.indexOf('MSIE 5') != -1) 
	&& (navigator.platform.indexOf('Mac') != -1)
	&& getStyleObject('blankDiv')) {
	getStyleObject('blankDiv').width = document.body.clientWidth - 20;
	getStyleObject('blankDiv').height = document.body.clientHeight - 20;
    }
}

function explorerMacResizeFix () {
    location.reload(false);
}

function getStyleObject(objectId, doc) {
    if(document.getElementById && document.getElementById(objectId)) {
	return document.getElementById(objectId).style;
    } else if (document.all && document.all(objectId)) {
	return document.all(objectId).style;
    } else if (document.layers && document.layers[objectId]) {
		return getObjNN4(document,objectId);
    } else {
	return false;
    }
} 

function changeObjectVisibility(objectId, newVisibility) {
    var styleObject = getStyleObject(objectId, document);
    if(styleObject) {
	styleObject.visibility = newVisibility;
	return true;
    } else {
	return false;
    }
} 

function getElementHeight(Elem) {
	var elem;
	if(document.getElementById) {
		var elem = document.getElementById(Elem);
	} else if (document.all){
		var elem = document.all[Elem];
	}
	if ((navigator.userAgent.indexOf("Opera 5")!=-1) ||(navigator.userAgent.indexOf("Opera/5")!=-1)) {
		xPos = elem.style.pixelHeight;
	} else {
		xPos = elem.offsetHeight;
	}
	return xPos;
}

function getElementWidth(Elem) {
	var elem;
	if(document.getElementById) {
		var elem = document.getElementById(Elem);
	} else if (document.all){
		var elem = document.all[Elem];
	}
	if ((navigator.userAgent.indexOf("Opera 5")!=-1) ||(navigator.userAgent.indexOf("Opera/5")!=-1)) {
		xPos = elem.style.pixelWidth;
	} else {
		xPos = elem.offsetWidth;
	}
	return xPos;
}

function getElementLeft(Elem) {
	var elem;
	if(document.getElementById) {
		var elem = document.getElementById(Elem);
	} else if (document.all){
		var elem = document.all[Elem];
	}
	xPos = elem.offsetLeft;
	tempEl = elem.offsetParent;
  	while (tempEl != null) {
  		xPos += tempEl.offsetLeft;
  		tempEl = tempEl.offsetParent;
  	}
	return xPos;
}

function getElementTop(Elem) {
	if(document.getElementById) {
	
		var elem = document.getElementById(Elem);
	} else if (document.all) {
		var elem = document.all[Elem];
	}
	yPos = elem.offsetTop;
	tempEl = elem.offsetParent;
	while (tempEl != null) {
  		yPos += tempEl.offsetTop;
  		tempEl = tempEl.offsetParent;
  	}
	return yPos;
}

function findImage(name, doc) {
	var i, img;
	for (i = 0; i < doc.images.length; i++) {
    	if (doc.images[i].name == name) {
			return doc.images[i];
		}
	}
	for (i = 0; i < doc.layers.length; i++) {
    	if ((img = findImage(name, doc.layers[i].document)) != null) {
			img.container = doc.layers[i];
			return img;
    	}
	}
	return null;
}

function getImage(name) {
	if (document.layers) {
    	return findImage(name, document);
	}
	return null;
}

function getImagePageLeft(img) {
	var x, obj;
	if (document.layers) {
    	if (img.container != null)
			return img.container.pageX + img.x;
		else
			return img.x;
  	}
	return -1;
}

function getImagePageTop(img) {
	var y, obj;
	if (document.layers) {
		if (img.container != null)
			return img.container.pageY + img.y;
		else
			return img.y;
	}
	return -1;
}

function getImagePageWidth(img) {
	var x, obj;
	if (document.layers) {
		return img.width;
	}
	return -1;
}

function getImagePageHeight(img) {
	var y, obj;
	if (document.layers) {
		return img.height;
	}
	return -1;
}

function getObjNN4(obj,name)
{
	var x = obj.layers;
	var foundLayer;
	for (var i=0;i<x.length;i++)
	{
		if (x[i].id == name)
		 	foundLayer = x[i];
		else if (x[i].layers.length)
			var tmp = getObjNN4(x[i],name);
		if (tmp) foundLayer = tmp;
	}
	return foundLayer;
}