
//var formFieldLayerIDs = new Array();
var timerID;

var navcolor='#0c2074';

function showLayer(id){
	if (document.all) document.all[id].style.visibility='visible';
	else if (browser.ns4) document.layers[id].visibility='show';
	else if (browser.ns5) document.getElementById(id).style.visibility='visible';
}

function hideLayer(id){
	if (document.all) document.all[id].style.visibility='hidden';
	else if (browser.ns4) document.layers[id].visibility='hide';
	else if (browser.ns5) document.getElementById(id).style.visibility='hidden';
}

function highlightColor(id){
	if (document.all) document.all[id].style.color=navcolor;
	else if (browser.ns5) document.getElementById(id).style.color=navcolor;
}

function resetColor(id){
	if (document.all) document.all[id].style.color='#0c2074';
	else if (browser.ns5) document.getElementById(id).style.color='#0c2074';
}

function timeup(id){
	var parentid = 'parent'+id; var childid = 'child'+id;
	restoreChildLayers();
	restoreParentLayers();
	if (window.formFieldLayerIDs){ for (var i=0; i<formFieldLayerIDs.length; i++){ showLayer(formFieldLayerIDs[i]); }}
}

function getRef(id){
	if (document.all) return document.all[id];
	else if (browser.ns4) return document.layers[id];
	else if (browser.ns5) return document.getElementById(id);
}

function restoreChildLayers(){
	var tempchildid="";
	for (var i=0; i<menus; i++){ 
		tempchildid='child'+i; 
		hideLayer(tempchildid);
	} 
}

function restoreParentLayers(){
	var parentlinkid="";
	for (var j=0; j<menus; j++){
		parentlinkid = 'parentlink'+j;
		resetColor(parentlinkid);
	}
}

function onParent(id,childexists){
	var parentid='parent'+id; var childid='child'+id; var parentlinkid='parentlink'+id;
	if (timerID) clearTimeout(timerID);
	if (!browser.ns4) restoreParentLayers();
	restoreChildLayers(); 
	if (window.formFieldLayerIDs && childexists){ for (var i=0; i<formFieldLayerIDs.length; i++){ hideLayer(formFieldLayerIDs[i]); }}
	if (!browser.ns4) highlightColor(parentlinkid);
	if (childexists) showLayer(childid);
}

function offParent(id,childexists){ 
	if (!childexists) restoreParentLayers(); 
	timerID = setTimeout('timeup("'+ id +'")',750);
}

function onChild(){ clearTimeout(timerID); }

function offChild(id){ timerID = setTimeout('timeup("'+ id +'")',750); } 

function cssStr(type,id,z){
	switch(type){
		case "start": return '<style type="text/css">\n';
		case "end": return '</style>';
		case "parent": if (!browser.ns4) return '#parent'+ id +' { position:relative; width:140; visibility:visible; }\n'; else return '\n';
/*		case "child": return (browser.ns4)? '\n' : '#child'+ id +' { position:absolute; visibility:hidden; left:160px; top:120px; z-index:'+ z +'}\n';*/
/*		case "child": return (browser.ns4)? '\n' : '#child'+ id +' { position:absolute; visibility:hidden; left:inherit; margin-left:160px; top:120px; z-index:'+ z +'}\n';*/
		case "child": return (browser.ns4)? '\n' : '#child'+ id +' { position:absolute; visibility:hidden; top:120px; z-index:'+ z +'}\n';
		
		default: return '\n';
	}
}

function writeCSS(str){
	str = cssStr('start')+str+cssStr('end');
	document.write(str);
}

function parentTableRow(parentlink,parenturl,i,childexists){
	if (childexists){ parentlink += '&nbsp;&gt;&gt;'; }
	if (browser.ns4) { return '<tr><td></td><td id="parentcell'+ i +'"><div class="leftnavwrap"><ilayer id="parent'+ i +'" visibility="hidden"><a class="leftnavparentoff" href="'+ parenturl +'" onmouseover="onParent('+ i +','+ childexists +');" onmouseout="offParent('+ i +','+ childexists +');">'+ parentlink +'</a></ilayer><div></td></tr>\n\n'; }
	else { return '<tr><td></td><td id="parentcell'+ i +'"><div id="parent'+ i +'"><div class="leftnavwrap"><a id="parentlink'+ i +'" class="leftnavparentoff" href="'+ parenturl +'" onmouseover="onParent('+ i +','+ childexists +');" onmouseout="offParent('+ i +','+ childexists +');">'+ parentlink +'</a><br></div></div></td></tr>\n\n'; }
}

function childMenu(tablerows,childnumber){
	var childtable = '<table bgcolor="#ececec" cellpadding="0" cellspacing="0" border="0"><tr><td>\n<table width="163" cellpadding="2" cellspacing="1" border="0">'+ tablerows + '</table></td></tr></table>';
/*	var childlayerstart = (browser.ns4)? '<layer id="child'+ childnumber +'" z-index="'+ eval(7+childnumber) +'" left="160" top="120" visibility="hidden" onmouseover="onChild('+ childnumber +');" onmouseout="offChild('+ childnumber +');">' : '<div id="child'+ childnumber +'" onmouseover="onChild('+ childnumber +');" onmouseout="offChild('+ childnumber +');">';*/
	var childlayerstart = (browser.ns4)? '<layer id="child'+ childnumber +'" z-index="'+ eval(7+childnumber) +'" top="120" visibility="hidden" onmouseover="onChild('+ childnumber +');" onmouseout="offChild('+ childnumber +');">' : '<div id="child'+ childnumber +'" onmouseover="onChild('+ childnumber +');" onmouseout="offChild('+ childnumber +');">';
	var childlayerend = (browser.ns4)? '</layer>\n\n' : '</div>\n\n';
	return childlayerstart + childtable + childlayerend;
}

function childTableRow(link,url){
	return '<tr><td bgcolor="#ececec"><div class="leftnavchildindent"><a class="leftnavrollover" href="'+ url +'">'+ link + '</a></div></td></tr>\n';
}

var parent_htmlstring = "";
var parent_htmlstring2 = "";

var CSSstring = "";
var child_htmlstring = "";
var menus = 0;
var leftNav2;

function createLeftNavString(){
	var i = 0; var cur_child_tablerows = ""; var childexists;
	for (var parentlink in leftNav){
		CSSstring += eval('cssStr(\'parent\','+ i +')');
		for (var parenturl in leftNav[parentlink]){
			for (var childlink in leftNav[parentlink][parenturl]){
				cur_child_tablerows += childTableRow(childlink,leftNav[parentlink][parenturl][childlink]);
			}
			if (cur_child_tablerows!=''){ childexists=true; } else { childexists=false; }
			parent_htmlstring += parentTableRow(parentlink,parenturl,i,childexists);
			CSSstring += eval('cssStr(\'child\','+ i +','+ (7+i) +')');
			child_htmlstring += childMenu(cur_child_tablerows,i);
			cur_child_tablerows = "";
		}
		i++;
		menus++;
	}
	
	for (var parentlink in leftNav2){
		CSSstring += eval('cssStr(\'parent\','+ i +')');
		for (var parenturl in leftNav2[parentlink]){
			for (var childlink in leftNav2[parentlink][parenturl]){
				cur_child_tablerows += childTableRow(childlink,leftNav2[parentlink][parenturl][childlink]);
			}
			if (cur_child_tablerows!=''){ childexists=true; } else { childexists=false; }
			parent_htmlstring2 += parentTableRow(parentlink,parenturl,i,childexists);
			CSSstring += eval('cssStr(\'child\','+ i +','+ (7+i) +')');
			child_htmlstring += childMenu(cur_child_tablerows,i);
			cur_child_tablerows = "";
		}
		i++;
		menus++;
	}
}

function init(){
	var childid=""; var parentid="";
	if (browser.ns4){
		for (var i=0; i<menus; i++){
			parentid='parent'+i; childid='child'+i;
			window.document.layers[childid].pageY = window.document.layers[parentid].pageY-3;
			window.document.layers[parentid].visibility='show';
		}
	} else if (browser.ie5){
		for (var j=0; j<menus; j++){
			parentid='parent'+j; childid='child'+j;
			window.document.all[childid].style.pixelTop = window.document.all[parentid].offsetTop-3;
		}
	} else if (browser.ns5){
		for (var j=0; j<menus; j++){
			parentid='parent'+j; childid='child'+j;
			document.getElementById(childid).style.top = document.getElementById(parentid).offsetTop;
		}
	} else {
		for (var k=0; k<menus; k++){
			parentid='parentcell'+k; childid='child'+k;
			window.document.all[childid].style.pixelTop =  window.document.all[parentid].offsetTop+133;
		}
	}
}

createLeftNavString();
writeCSS(CSSstring);
