// This is the code for processing of the javascript menu --------

var ourMenuItemNames = new Array("subAboutUs","subOligos","subOtherProducts","subOrdering","subContactUs");

//Possible browsers are NS,NS6,IE

var ourBrowser = new String("IE");
var timers = new Array(50);
var timerId = new Array(50);
var timerCount = 50;

function init() {
	
	var isIE, isNS, isNS6, isDOM
	if (document.all) { isIE= true;}
	if (document.layers) { isNS = true;}
	if (document.getElementById && !isIE) { isDOM=true;}
	if (isDOM == true && navigator.appName =="Netscape") isNS6 = true;

	if(isNS6)
		ourBrowser = "NS6";
	else if(isNS)
		ourBrowser = "NS";
	else if(isIE) 
		ourBrowser = "IE";
	else {
		ourBrowser = "IE";
		alert("We are unable to determine your browser type for javascript. Settings for Internet Explorer will be used, but javascript menus may not function properly."); 
		}

	for(var i=0;i < 15;i++) {
		timers[i] = null;
		timerId[i] = null;
		}
	}

init();

function killTimer(itemId) {

	for(var i=0;i < timerCount;i++) {
		if(timerId[i] != null) {
			if(timerId[i] == itemId) {
				clearTimeout(timers[i]);
				timers[i] = null;
				timerId[i] = null;
				i = timerCount + 1;
				}
			}
		}		
	}


//Set a timer with an id for the item (the control name)
//Params: itemId - The item id
//        functionCall - function call.
function setTimer(itemId,functionCall) {

	for(var i=0;i < timerCount;i++) {
		if(timerId[i] == null) {
			timers[i] = setTimeout(functionCall,500);
			timerId[i] = itemId;
			i=timerCount + 1;
			}
		}		
	}

// ------------------------------------
// Set a slected property of a layer/span/or div.
// Params:
//  itemName: The string name of the layer
//
//  property    Value(s)     Type
//
//   visible   true,false    (string)   - In pixels
// ------------------------------------
function setLayerProperty(itemName,property,value) {
	var v;

	if(ourBrowser == "IE") {
		v = eval("document.all." + itemName + ".style")
		
		if(property == "visible") {
			if(value == "true")
				v.visibility = "visible";
			else
				v.visibility = "hidden";
			}
		}
	else if(ourBrowser == "NS6") {
		v = eval("document.getElementById('" + itemName + "').style")

		if(property == "visible") {
			if(value == "true")
				v.visibility = "visible";
			else
				v.visibility = "hidden";
			}
		}
	else if(ourBrowser == "NS") {
		v = eval("document.layers." + itemName);
		
		if(property == "visible") {
			if(value == "true")
				v.visibility = "show";
			else
				v.visibility = "hide";
			}
		}
	}

// --------------------------------------
// Retrieves the property value for the 
// named div/layer or span.
// Returns:
//   A corresponding value as if set with
//   a call to setLayerProperty (See above)
// --------------------------------------
function getLayerProperty(itemName,property) {
	var v;

	if(ourBrowser == "IE") {
		v = eval("document.all." + itemName + ".style")
		
		if(property == "visible") {
			if(v.visibility == "visible")
				return "true";
			else
				return "false";
			}
		}
	else if(ourBrowser == "NS6") {
		
		if(property == "visible") {
			if(v.visibility == "visible")
				return "true";
			else
				return "false";
			}
		}
	else if(ourBrowser == "NS") {
		v = eval("document.layers." + itemName);
	
		if(property == "visible") {
			if(v.visibility == "show")
				return "true";
			else
				return "false";
			}
		}
	}


function hide(itemName) {
	setLayerProperty(itemName,"visible","false");
	}

function show(itemName) {
	setLayerProperty(itemName,"visible","true");
	}


//Shows the given item but destroys all the other items.
//Shold only be called by the parent items
function showResetTimerAtParent(itemName) {
	show(itemName);
	killTimer(itemName);

	for(i=0;i < ourMenuItemNames.length;i++) {
		if(ourMenuItemNames[i] != itemName)
			hide(ourMenuItemNames[i]);
		}
	}

//Hides all the parents immeidate sub menus.
function hideAllAtParent() {
	for(i=0;i < ourMenuItemNames.length;i++) {
		hide(ourMenuItemNames[i]);
		}
	}

function showResetTimer(itemName) {
	killTimer(itemName);
	show(itemName);
	}

function hideLater(itemName) {
	setTimer(itemName,"hide('" + itemName + "')");
	}

function showResetTimerFamily(item1,item2) {
	showResetTimer(item1);
	showResetTimer(item2);
	}

function hideLaterFamily(item1,item2) {
	hideLater(item1);
	hideLater(item2);
	}

