// Java roll-over menu program, rev.2001

browser=GetBrowserType();

menu_state=new InitializeMenu();

function InitializeMenu(){
	this.menuActive=false;
	this.submenuArray=new Array(30);
	this.mainmenuArray=new Array(5);
	this.mmcp=0;
	this.smcp=0;
	this.mmac=0;
	this.smac=0;
	};

function mainMenu(layout,spacing,nbgcolor,hbgcolor){
	this.itemArray=new Array(30);
	this.iac=0;
	menu_state.mainmenuArray[menu_state.mmac++]=this;
	this.count=1;
	this.name="jm"+menu_state.mmac;
	this.css="javamenu";
	this.item='';
	this.htmlBefore='';
	this.htmlAfter='';
	this.sp_item='';
	if(arguments.length>=1&&(arguments[0]=='horizontal'||arguments[0]=='vertical')){
		this.layout=layout;
		}
	else{
		this.layout='horizontal';
		}
	if(arguments.length>=2){
		this.spacing=spacing;
		}
	else{
		this.spacing=0;
		}
	if(arguments.length>=3){
		this.nbgcolor=nbgcolor;
		}
	else{
		this.nbgcolor="black";
		}
	if(arguments.length>=4){
		this.hbgcolor=hbgcolor;
		}
	else{
		this.hbgcolor="black";
		}
	this.pad_1=0;
	this.pad_2=0;
	this.cellpadding=1;
	this.target='';
	this.valign='middle';
	this.writeMenu=writeMainMenu;
	this.addItem=addMenuItem;
	this.addItems=addItems;
	this.addItemsWithTarget=addItemsWithTarget;
	};

function writeMainMenu(){
	if(browser=="NS4"){
		document.writeln('<table bgcolor="'+this.nbgcolor+'" border="0" cellpadding="'+this.cellpadding+'" cellspacing="0">');
		}
	if(browser=="IE"||browser=="NS6"){
		document.writeln('<table class="'+this.css+'" bgColor="'+this.nbgcolor+'" border="0" cellpadding="'+this.cellpadding+'" cellspacing="0" onmouseout="menu_state.menuActive=false;" onmouseover="menu_state.menuActive=true;">');
		}
	if(this.layout=='vertical'&&this.pad_1!=0){
		document.writeln('<tr><td height="'+this.pad_1+'">&nbsp;</td></tr>');
		}
	if(this.layout=='horizontal'){
		document.writeln('<tr>');
		if(this.pad_1!=0){
			document.writeln('<td width="'+this.pad_1+'">&nbsp;</td>');
			}
		}
	document.writeln(this.item);
	if(this.layout=='horizontal'){
		if(this.pad_2!=0){
			document.writeln('<td width="'+this.pad_2+'">&nbsp;</td>');
			}
		document.writeln('</tr>');
		}
	if(this.layout=='vertical'&&this.pad_2!=0){
		document.writeln('<tr><td height="'+this.pad_2+'">&nbsp;</td></tr>');
		}
	document.writeln('</table>');
	};

function addMenuItem(desc,URL,target){
	var mname=this.name+'mi'+this.count;
	if(arguments.length<3){target=this.target;}
	if(desc.charAt(0)=='<'){
		var strPad='';				// no padding around images
		}
	else{
		strPad='&nbsp;&nbsp;';		// insert blank 2 spaces around text
		}
	desc=this.htmlBefore+desc+this.htmlAfter;
	this.item+=this.sp_item;
	if(this.layout=='vertical'){this.item+='<tr>';}
	if(browser=="NS4"){
		this.item+='<td nowrap valign="'+this.valign+'">';
		this.item+='<ilayer id="'+mname+'clip" z-index="28">';
		this.item+=strPad+'<a class="'+this.css+'">'+desc+'</a>'+strPad+'</ilayer>';
		this.item+='<layer id="'+mname+'" z-index="29" width="250" visibility="hide" bgColor="'+this.nbgcolor+'" ';
		this.item+='onmouseover="mainMenuMouseOver(\''+this.name+'\',\''+this.count+'\',\''+this.layout+'\',\''+this.hbgcolor+'\')" ';
		this.item+='onmouseout="mainMenuMouseOut(\''+this.name+'\',\''+this.count+'\',\''+this.nbgcolor+'\')">';
		this.item+=strPad+'<a class="'+this.css+'" href="'+URL+'"';
		if(target!=''){this.item+=' target="'+target+'"';}
		if(URL==''){this.item+=' onclick="return false;"';}
		this.item+='>'+desc+'</a>'+strPad+'</layer></td>';
		this.itemArray[this.iac++]=mname;
		}
	if(browser=="IE"||browser=="NS6"){
		this.item+='<td nowrap valign="'+this.valign+'"><div id="'+mname+'clip" style="position:absolute;width:0;height:0"></div>';
		this.item+='<div id="'+mname+'" style="padding:1px" ';
		this.item+='onmouseover="mainMenuMouseOver(\''+this.name+'\',\''+this.count+'\',\''+this.layout+'\', \''+this.hbgcolor+'\')" ';
		this.item+='onmouseout="mainMenuMouseOut(\''+this.name+'\',\''+this.count+'\', \''+this.nbgcolor+'\')">';
		this.item+=strPad+'<a href="'+URL+'" class="'+this.css+'"';
		if(target!=''){this.item+=' target="'+target+'"';}
		if(URL==''){this.item+=' onclick="return false;"';}
		this.item+='>'+desc+'</a>'+strPad+'</div></td>';
		}
	if(this.spacing!=0){
		if(this.layout=='vertical'){
			this.sp_item='<tr><td height="'+this.spacing+'">&nbsp;</td></tr>';
			}
		if(this.layout=='horizontal'){
			this.sp_item='<td width="'+this.spacing+'">&nbsp;</td>';
			}
		}
	if(this.layout=='vertical'){
		this.item+='</tr>';
		}
	this.count++;
	};

function loadMenu(){
	if(browser=="NS4"){
		for(var i=0;i<menu_state.mmac;i++){
			var menu=menu_state.mainmenuArray[i];
			var width=0;
			var height=0;
			if(menu.layout=='vertical'){
				for(var j=0;j<menu.iac;j++){
					if(GetStyleWidth(menu.itemArray[j]+'clip')>width){
						width=GetStyleWidth(menu.itemArray[j]+'clip');
						}
					}
				}
			for(var j=0;j<menu.iac;j++){
				if(menu.layout=='horizontal'){
					width=GetStyleWidth(menu.itemArray[j]+'clip');
					}
				SetStyleWidth(menu.itemArray[j],width);
				SetLeftOfBlock(menu.itemArray[j],GetAbsLeftOffset(menu.itemArray[j]+'clip'));
				SetTopOfBlock(menu.itemArray[j],GetAbsTopOffset(menu.itemArray[j]+'clip'));
				SetVisibilityState(menu.itemArray[j],true);
				}
			}
		for(var i=0;i<menu_state.smac;i++){
			var menu=menu_state.submenuArray[i];
			var width=0;
			for(var j=0;j<menu.iac;j++){
				if(GetStyleWidth(menu.itemArray[j]+'clip',menu.name)>width){
					width=GetStyleWidth(menu.itemArray[j]+'clip',menu.name);
					}
				}
			SetStyleWidth(menu.name,width+2);
			for(var j=0;j<menu.iac;j++){
				SetStyleWidth(menu.itemArray[j],width,menu.name);
				SetLeftOfBlock(menu.itemArray[j],1,menu.name);
				SetTopOfBlock(menu.itemArray[j],GetAbsTopOffset(menu.itemArray[j]+'clip',menu.name)-GetAbsTopOffset(menu.name),menu.name);
				}
			}
		}
	};

function mainMenuMouseOver(name,count,layout,color){
	SetBackColor(name+'mi'+count,color);
	ResetMenuState();
	if(browser=="NS4"){
		if(IsLayerDefined(name+'sm'+count)){
			if(layout=="horizontal"){
				SetLeftOfBlock(name+'sm'+count,GetAbsLeftOffset(name+'mi'+count)-1);  // '-1' = adjust for NS4 oddity
				SetTopOfBlock(name+'sm'+count,GetAbsTopOffset(name+'mi'+count)+GetStyleHeight(name+'mi'+count));
				}
			if(layout=="vertical"){
				SetLeftOfBlock(name+'sm'+count,GetAbsLeftOffset(name+'mi'+count)+GetStyleWidth(name+'mi'+count));
				SetTopOfBlock(name+'sm'+count,GetAbsTopOffset(name+'mi'+count));
				}
			SetVisibilityState(name+'sm'+count,true);
			}
		}
	if(browser=="IE"||browser=="NS6"){
		if(IsLayerDefined(name+'sm'+count)){
			if(layout=="horizontal"){
				SetLeftOfBlock(name+'sm'+count,GetAbsLeftOffset(name+'mi'+count+'clip'));
				SetTopOfBlock(name+'sm'+count,GetAbsTopOffset(name+'mi'+count+'clip')+GetStyleHeight(name+'mi'+count));
				}
			if(layout=="vertical"){
				SetLeftOfBlock(name+'sm'+count,GetAbsLeftOffset(name+'mi'+count+'clip')+GetStyleWidth(name+'mi'+count));
				SetTopOfBlock(name+'sm'+count,GetAbsTopOffset(name+'mi'+count+'clip'));
				}
			SetVisibilityState(name+'sm'+count,true);
			}
		}
		menu_state.menuActive=true;
	};

function mainMenuMouseOut(name,count,color){
	SetBackColor(name+'mi'+count,color);
	menu_state.menuActive=false;
	};

function subMenu(menuName,nbgcolor,hbgcolor){
	menu_state.submenuArray[menu_state.smac++]=this;
	this.itemArray=new Array(30);
	this.iac=0;
	if(arguments.length>=2){
		this.nbgcolor=nbgcolor;
		}
	else{
		this.nbgcolor="black";
		}
	if(arguments.length>=3){
		this.hbgcolor=hbgcolor;
		}
	else{
		this.hbgcolor="black";
		}
	this.css="javasubmenu";
	this.name="jm"+menu_state.mmac+"sm"+menuName;
	this.count=1;
	this.item='';
	this.htmlBefore='';
	this.htmlAfter='';
	this.cellpadding=0;
	this.target='';
	this.writeMenu=writeSubMenu;
	this.addItem=addSubMenuItem;
	this.addItems=addItems;
	this.addItemsWithTarget=addItemsWithTarget;
	};

function writeSubMenu(){
	if(browser=="NS4"){
		document.writeln('<layer id="'+this.name+'" class="'+this.css+'" bgColor="'+this.nbgcolor+'" visibility="hide" z-index="30" onmouseout="menu_state.menuActive=false;" onmouseover="menu_state.menuActive=true;"><layer></layer><table border="0" cellspacing="0" cellpadding="'+this.cellpadding+'">');
		document.writeln(this.item);
		document.writeln('</table></layer>');
		}
	if(browser=="IE"||browser=="NS6"){
		document.writeln('<div id="'+this.name+'" class="'+this.css+'" style="position:absolute;visibility:hidden;background-color:'+this.nbgcolor+';z-index:30" onmouseout="menu_state.menuActive=false;" onmouseover="menu_state.menuActive=true;"><table border="0" cellspacing="0" cellpadding="'+this.cellpadding+'" id="'+this.name+'table" class="'+this.css+'">'+this.item+'</table></div>');
		}
	if(browser=="NS6"||(browser=="IE"&&version==4)){
		SetStyleWidth(this.name,GetStyleWidth(this.name+'table'));
		}
	};

function addSubMenuItem(desc,URL,target){
	if(arguments.length<3){
		target=this.target;
		}	
	if(desc.charAt(0)=='<'){
		var strPad='';
		}
	else{
		strPad='&nbsp;&nbsp;';
		}
	desc=this.htmlBefore+desc+this.htmlAfter;
	var mname=this.name+'itm'+this.count;
	if(browser=="NS4"){
		this.item+='<tr><td valign="middle" nowrap>';
		this.item+='<ilayer z-index="29" id="'+mname+'clip">';
		this.item+=strPad+'<a class="'+this.css+'">'+desc+'</a>'+strPad+'</ilayer>';
		this.item+='<layer z-index="30" id="'+mname+'" bgColor="'+this.nbgcolor+'" width="350" ';
		this.item+='onmouseover="subMenuMouseOver(\''+this.name+'\',\''+this.count+'\',\''+this.hbgcolor+'\')" ';
		this.item+='onmouseout="subMenuMouseOut(\''+this.name+'\',\''+this.count+'\',\''+this.nbgcolor+'\')">';
		this.item+=strPad+'<a href="'+URL+'" class="'+this.css+'"';
		if(target!=''){
			this.item+=' target="'+target+'"';
			}
		if(URL==''){
			this.item+=' onclick="return false;"';
			}
		this.item+='>'+desc+'</a>'+strPad+'</layer>';
		this.item+='</td></tr>';
		this.itemArray[this.iac++]=mname;
		}
	if(browser=="IE"||browser=="NS6"){
		this.item+='<tr><td valign="middle" nowrap>';
		this.item+='<div id="'+mname+'clip" style="position:absolute;width:0;height:0"></div>';
		this.item+='<div id="'+mname+'" style="padding:1px" ';
		this.item+='onmouseover="subMenuMouseOver(\''+this.name+'\', \''+this.count+'\',\''+this.hbgcolor+'\')" ';
		this.item+='onmouseout="subMenuMouseOut(\''+this.name+'\', \''+this.count+'\',\''+this.nbgcolor+'\')">';
		this.item+=strPad+'<a href="'+URL+'" class="'+this.css+'"';
		if(target!=''){
			this.item+=' target="'+target+'"';
			}
		if(URL==''){
			this.item+=' onclick="return false;"';
			}
		this.item+='>'+desc+'</a>'+strPad+'</div></td></tr>';
		}
	this.count++;
	};

function subMenuMouseOver(name,count,color){
	for(var i=0;i<menu_state.smac;i++){
		if(menu_state.submenuArray[i].name!=name){
			var tmp_name=name+'i'+count;
			if(tmp_name.indexOf(menu_state.submenuArray[i].name)==-1){
				SetVisibilityState(menu_state.submenuArray[i].name,false);
				}
			}
		}
	SetBackColor(name+'itm'+count,color,name);
	if(browser=="NS4"){
		if(IsLayerDefined(name+'i'+count)){
			SetLeftOfBlock(name+'i'+count,GetAbsLeftOffset(name)+GetStyleWidth(name));
			SetTopOfBlock(name+'i'+count,GetAbsTopOffset(name+'itm'+count,name));
			}
		}
	if(browser=="IE"||browser=="NS6"){
		if(IsLayerDefined(name+'i'+count)){
			SetLeftOfBlock(name+'i'+count,GetElementLeftOffset(name)+GetStyleWidth(name));
			if(browser=="IE"){
				SetTopOfBlock(name+'i'+count,GetAbsTopOffset(name)+GetAbsTopOffset(name+'itm'+count+'clip'));
				}
			if(browser=="NS6"){
				// original code didn't add offset for parent menu name - odd!
				// SetTopOfBlock(name+'i'+count,GetAbsTopOffset(name+'itm'+count+'clip'));
				SetTopOfBlock(name+'i'+count,GetAbsTopOffset(name)+GetAbsTopOffset(name+'itm'+count+'clip'));
				}
			}
		}
	SetVisibilityState(name+'i'+count,true);
	menu_state.menuActive=true;
	};

function subMenuMouseOut(name,count,color){
	SetBackColor(name+'itm'+count,color,name);
	};

function addItems(){
	for(var i=0;i<arguments.length;i+=2){
		this.addItem(arguments[i],arguments[i+1]);
		}
	};

function addItemsWithTarget(){
	for(var i=0;i<arguments.length;i+=3){
		this.addItem(arguments[i],arguments[i+1],arguments[i+2]);
		}
	};

function ResetMenuState(){
	if(!menu_state.menuActive){
		for(var i=0;i<menu_state.smac;i++){
			SetVisibilityState(menu_state.submenuArray[i].name,false);
			}
		}
	};

function displayMenu(){
	for(var i=menu_state.mmcp;i<menu_state.mmac;i++){
		menu_state.mainmenuArray[i].writeMenu();
		}
	menu_state.mmcp=menu_state.mmac;
	for(var i=menu_state.smcp;i<menu_state.smac;i++){
		menu_state.submenuArray[i].writeMenu();
		}
	menu_state.smcp=menu_state.smac;
	setInterval("ResetMenuState()",200);
	};

window.onresize=CheckWindow;
origWidth=window.innerWidth;
origHeight=window.innerHeight;

function CheckWindow(){
	if(browser=='NS4'&&origWidth==window.innerWidth&&origHeight==window.innerHeight){
		return;
		}
	// displayMenu;
	};