<!--
// browser detection
var isNetscape = false;
if (navigator.appName == "Netscape") {
  var isNetscape = true;
}
// Netscape 6 or above
//var isNS=isNetscape&&parseInt(navigator.appVersion)>5;
var isNS=isNetscape&&parseInt(navigator.appVersion)>7;
// IE 5 or above
var isIE=document.all&&document.getElementById;

// state variables

// layers related
var currentSectionLayer=""
var prevLayer1 = "";
var prevLayer2 = "";
var prevLayer3 = "";		

var currLayer1 = "";
var currLayer2 = "";
var currLayer3 = "";		

// timers
var menuTimerRunning = false;
var mt1=1;
var mt2=1;
var mt3=1;
var mt4=1;					

// end state variables

// functions section
/* parameter description:
1. layerName:
 format: 
	leftBar, layerOne - s[a]
	layerTwo - s[a].[b]
	layerThree - s[a].[b].[c] 
	layerFour - s[a].[b].[c].[d]
	where a = item order of leftBar
		b = item order of layerOne
		c = item order of layerTwo
		d = item order of layerThree
2. type
	- possible values: "leftBar", "layerOne", "layerTwo" and "layerThree"
*/

/* structure for each menu item */
function cMenuItem (itemName, hasChild, itemUrl, code) {
	this.itemName = itemName
	this.hasChild = hasChild
	this.itemUrl = itemUrl
	this.code = code
}


/* get [a] from layerName */
function getParentId(layerName) {
	var id = "";
	if (layerName.indexOf(".") == -1)
		id = layerName.substring(1, layerName.length);
	else
		id = layerName.substring(1, layerName.indexOf("."));
	return id;	
}

/*	get [b] from layerName */
function getChildId(layerName) {
	var id ="";
	if (layerName.indexOf(".")==layerName.lastIndexOf(".")){ 
		id = layerName.substring(layerName.indexOf(".")+1, layerName.length);
	}else{
		id = layerName.substring(layerName.indexOf(".")+1, layerName.indexOf(".", layerName.indexOf(".") + 1));
	}
	return id;	 
}	

/*	get [c] from layerName	*/
function getLastId(layerName) {
	var id ="";
	if (layerName.indexOf(".", layerName.indexOf(".") + 1)==layerName.lastIndexOf(".")){ 
		id = layerName.substring(layerName.lastIndexOf(".")+1, layerName.length);
	}else{
		id = layerName.substring(layerName.indexOf(".", layerName.indexOf(".") + 1)+1, layerName.lastIndexOf("."));
	}
	return id;	
}

/*	get [d] from layerName	*/
function getVeryLastId(layerName) {
	var id = layerName.substring(layerName.lastIndexOf(".")+1, layerName.length);
	return id;	
}

// check for "leftBar"
function isLeftBar(layerName) {
	if (layerName.indexOf(".") == -1)
		return true;
	else
		return false;
}

// check for "layerOne"
function isLayerOne(layerName) {
	var count = 0;
	var pos = 0;
	while (layerName.indexOf(".", pos) != - 1) {
		pos = layerName.indexOf(".", pos) + 1;
		count++;
	}
	if (count==1)
		return true;
	else
		return false;
}

// check for "layerTwo"
function isLayerTwo(layerName) {
	var count = 0;
	var pos = 0;
	while (layerName.indexOf(".", pos) != - 1) {
		pos = layerName.indexOf(".", pos) + 1;
		count++;
	}
	if (count==2)
		return true;
	else
		return false;
}

// check for "layerThree"
function isLayerThree(layerName) {
	var count = 0;
	var pos = 0;
	while (layerName.indexOf(".", pos) != - 1) {
		pos = layerName.indexOf(".", pos) + 1;
		count++;
	}
	if (count==3)
		return true;
	else
		return false;
}



// show layerOne, layerTwo or layerThree if layer exists
// close previous visible layers
function showLayer(type, hasChild, layerName) {
	var vTop = headerHeight; 
	var parentId = getParentId(layerName);
	var childId = getChildId(layerName);
	var veryLastId =  getVeryLastId(layerName);
	var tempLayerName = "";
	var layernumber="";
	var vLeft=layer1X;
	clearMenuTimer();
	
	layernumber=parseInt(layerName.substring(1, layerName.length))
	if(layernumber<=menu1_end){
		vTop=headerHeight;
	}else if(layernumber<=menu2_end){
		vTop=headerHeight1;
	}else{
		vTop=headerHeight2;
	}

	if (isIE) {
		switch(type){	
			case 'leftBar':
				/* set top position of layerOne */
				currLayer1=layerName;
				vTop += document.all["mi"+ parseInt(layerName.substring(1, layerName.length))].offsetTop;
				break;

			case 'layerOne':
				/* set top position of layerTwo */
				if (hasChild == "Y"){
					//eval("document.images."+layerName.replace(".", "_")+".src=arrowOn.src");
					currLayer2=layerName;
					vTop += document.all["mi"+ parseInt(layerName.substring(1, layerName.length))].offsetTop;
					vTop += document.all["si"+parentId+"."+childId].offsetTop;	
				} else {
					currLayer2="";
				}
				currLayer1=prevLayer1;
				break;

			case 'layerTwo':
				if (hasChild == "Y"){
					tempLayerName = layerName.replace(".", "_");
					tempLayerName = tempLayerName.replace(".", "_");
					//eval("document.images."+tempLayerName+".src=arrowOn.src");
					currLayer3=layerName;
					vTop += document.all["mi"+ parseInt(getParentId(layerName))].offsetTop;
					vTop += document.all["si"+parentId+"."+childId].offsetTop - 1;	
					vTop += document.all["si"+ parentId + "." + childId + "." + veryLastId].offsetTop - 1;
				} else {
					currLayer3="";
				}
				currLayer2=prevLayer2;
				break;		       

			case 'layerThree':
				currLayer3=prevLayer3;
				break;
        }
		/* show menu layer */
		if (document.all[layerName] != null ){
			document.all[layerName].style.top = vTop;
			document.all[layerName].style.visibility = "visible";
		}
		
	} else if (isNS) {
		switch(type){
			case 'leftBar':
				/* set top position of layerOne */
				currLayer1=layerName;
				if (parseInt(layerName.substring(1, layerName.length)) > 1) {
					vTop = document.getElementById("mi"+( parseInt(layerName.substring(1, layerName.length)) )).offsetTop;											
				}
				break;		       

			case 'layerOne':
				/* set top position of layerTwo */
				if (hasChild == "Y") {
					//eval("document.images."+layerName.replace(".", "_")+".src=arrowOn.src");
					currLayer2=layerName;
					vTop = document.getElementById("si"+parentId+"."+childId).offsetTop;
					vTop += document.getElementById("mi"+(parseInt(parentId))).offsetTop - 1;	
				} else {
					currLayer2="";
				}
				currLayer1=prevLayer1;
				break;

			case 'layerTwo':
				currLayer2=prevLayer2;
				break;		       
		}
			
		/* show menu layer */
		if (document.getElementById(layerName) != null) {
			document.getElementById(layerName).style.top = vTop;
			document.getElementById(layerName).style.visibility = "visible";	
		}
	}

	/* hide irrelevant layers */
	switch(type)
    {
  	   	case 'leftBar': 
			if (prevLayer1 != currLayer1){
				hideLayer("layerOne", "", prevLayer1);
			}
			if (prevLayer2 != "") {
				hideLayer("layerTwo", "", prevLayer2);	
			}
			if (prevLayer3 != "") {
				hideLayer("layerThree", "", prevLayer3);	
			}
			break;
  	   	case 'layerOne': 
			if (prevLayer2!=currLayer2 && prevLayer2!="") {
				hideLayer("layerOne", "", prevLayer2);
			}
			if (prevLayer3 != "") {
				hideLayer("layerTwo", "", prevLayer3);	
			}
			break;		
		case 'layerTwo':
			if (prevLayer3!=currLayer3 && prevLayer3!="") {
				hideLayer("layerTwo", "", prevLayer3);
			}
			break;
		default:
	}
}

// change layer from visible to hidden
function hideLayer(type, hasChild, layerName){
	var parentId = getParentId(layerName);
	var childId = getChildId(layerName);
	var lastId = getLastId(layerName);
	var veryLastId = getLastId(layerName);
	var tempLayerName = "";

	if (isIE) { 
		if (document.all[layerName] != null) {
			document.all[layerName].style.visibility = "hidden";
			if (isLayerOne(layerName)){
				/* if layerOne has child layer, change arrow color */
				if (eval("s" + parentId +"Array"+"\133"+(childId-1)+"\135").hasChild > 0){
					//eval("document.images."+layerName.replace(".", "_")+".src=arrowOff.src");
				}
			}
			else if (isLayerTwo(layerName))	{
				if (eval("s" + parentId + '_' + childId + "Array" + "\133"+ (lastId-1)+"\135").hasChild > 0){
					tempLayerName = layerName.replace(".", "_");
					tempLayerName = tempLayerName.replace(".", "_");
					//eval("document.images."+tempLayerName+".src=arrowOff.src");
				}
			}
			else if (isLayerThree(layerName)) {
				if (eval("s" + parentId + '_' + childId + "_" + lastId + "Array" + "\133"+ (veryLastId-1)+"\135").hasChild > 0){
					tempLayerName = layerName.replace(".", "_");
					tempLayerName = tempLayerName.replace(".", "_");
					//eval("document.images."+tempLayerName+".src=arrowOff.src");
				}
			}
		}
	} else if (isNS) {
		if (document.getElementById(layerName) != null) {
			document.getElementById(layerName).style.visibility = "hidden";
			if (isLayerOne(layerName)){
				/* if layerOne has child layer, change arrow color */
				if (eval("s" + parentId +"Array"+"\133"+(childId-1)+"\135").hasChild > 0){
					//eval("document.images."+layerName.replace(".", "_")+".src=arrowOff.src");
				}
			}
		}
	}
}

// set a timer for hiding dhtml layers
function menuTimer(type, hasChild, layerName){

	var parentId = getParentId(layerName);
	var childId = getChildId(layerName);
	var lastId = getLastId(layerName);
	var veryLastId = getVeryLastId(layerName);

	clearMenuTimer();
	
	switch(type){
		case 'leftBar':
			mt1 = setTimeout("hideLayer(\"" + type + "\"," + "\"" + hasChild + "\"," + "\""+layerName+"\")", mtimeout);	
			mt2 = 1;
			mt3 = 1;
			mt4 = setTimeout("resetStates()", mtimeout);	
			prevLayer1 = currLayer1;
			currLayer1 = "";
			break;
	
		case 'layerOne': 
			mt1 = setTimeout("hideLayer(\"" + type + "\"," + "\"" + hasChild + "\"," + "\"s" + parentId + "\")", mtimeout);
			if (hasChild == "N") {
				mt2 = 1;
			} else {				
				mt2 = setTimeout("hideLayer(\"" + type + "\"," + "\"" + hasChild + "\"," + "\"s" + parentId + "." + childId + "\")", mtimeout);	
			}	
			mt3 = 1;
			mt4 = setTimeout("resetStates()", mtimeout);	
			prevLayer2 = currLayer2;
			currLayer2 = "";
			break;
			
		case 'layerTwo':
			mt1 = setTimeout("hideLayer(\"" + type + "\"," + "\"" + hasChild + "\"," + "\"s" + parentId + "\")", mtimeout);
			mt2 = setTimeout("hideLayer(\"" + type + "\"," + "\"" + hasChild + "\"," + "\"s" + parentId + "." + childId + "\")", mtimeout);
			if (hasChild == "N"){ 
				mt3 = 1;
			}
			else{
				mt3 = setTimeout("hideLayer(\"" + type + "\"," + "\"" + hasChild + "\"," + "\"s" + parentId + "." + childId + "." + lastId +"\")", mtimeout);	 
			}
			mt4 = setTimeout("resetStates()", mtimeout);	
			prevLayer3 = currLayer3;
			currLayer3 = "";
			break;

		case 'layerThree':
			mt1 = setTimeout("hideLayer(\"" + type + "\"," + "\"" + hasChild + "\"," + "\"s" + parentId + "\")", mtimeout);
			mt2 = setTimeout("hideLayer(\"" + type + "\"," + "\"" + hasChild + "\"," + "\"s" + parentId + "." + childId + "\")", mtimeout);
			mt3 = setTimeout("hideLayer(\"" + type + "\"," + "\"" + hasChild + "\"," + "\"s" + parentId + "." + childId + "." + lastId +"\")", mtimeout);	 
			mt4 = setTimeout("resetStates()", mtimeout);	
			break;
	}
	menuTimerRunning = true;	
	
}

// clear menu timer
function clearMenuTimer(){
	if (menuTimerRunning){
		clearTimeout(mt1);
		clearTimeout(mt2);
		clearTimeout(mt3);
		clearTimeout(mt4);
		menuTimerRunning = false;
	}
}

// reset state variables
function resetStates() {
	prevLayer1 = "";
	prevLayer2 = "";
	prevLayer3 = "";
	currLayer1 = "";
	currLayer2 = "";
	currLayer3 = "";
	menuTimerRunning = false;
}

// end functions section

//-->