/* array of menu names as 'menu_' + array key value */
var ddmenus = Array ('1', '2', '3', '4', '5');
// var ddsubmenus = Array ('2a', '2b', '2c', '5a');
var ddsubmenus = Array ('2a');
/* page controls */
var timeon = null

/* hide menus when document is rolled over */
document.onmouseover = hideall;

/* init error */
window.onerror = null;

/* detect browser */
var browser = navigator.appName;
var b_version = navigator.appVersion;
var b_agent = navigator.userAgent;
var version = parseFloat(b_version);

function over (message) { 
	clearTimeout(timeon);
	if(document.layers) {
		timeon = setTimeout("hideall()", 400);
	}
	for(i=0; i<ddsubmenus.length; i++) {
		swapview('submenu_' + ddsubmenus[i], 'hidden');
	}
}

/* hides all menus */
function hideall() 
{
	for(i=0; i<ddmenus.length; i++) {
		swapview('menu_' + ddmenus[i], 'hidden'); 
		
	} 
	hideallsubs();
	MM_swapImgRestore();
}

function hideallsubs () {
	for(i=0; i<ddsubmenus.length; i++) {
		swapview('submenu_' + ddsubmenus[i], 'hidden');
		underline('submenu_underline_' + ddsubmenus[i],'#FFFFFF');
	}
}

// roll out of object
function out () {
	if(document.layers) {
		timeon = setTimeout("hideall()", 400);
	}
	for(i=0; i<ddsubmenus.length; i++) {
		swapview('submenu_' + ddsubmenus[i], 'hidden');
		underline('submenu_underline_' + ddsubmenus[i],'#FFFFFF');
	}
}


/* show a menu */
function show(id,obj) 
{

	if (obj) {
		hideall();
		obj.cancelBubble=true;
		var menuID = "menu_" + id;
		if (browser=="Microsoft Internet Explorer"||b_agent.indexOf('Safari')!=-1) {
			move (menuID,"nav_"+id,0);
		} else {
			move (menuID,"nav_"+id,1);
		}
		if (swapview(menuID,'visible')) {
			return true;
		} else {
			return false;
		}
	} else {
		return false;
	}
} // show

/* show a menu */
function showsub(id,obj,leftRight) 
{
	if (obj) {
		hideallsubs();
		obj.cancelBubble=true;
		var underlineID = "submenu_underline_"+id;
		underline(underlineID,'#000000');
		var menuID = "submenu_" + id;
		if (leftRight == null) {
			if (movesub (menuID, "sub_" + id, x_Pos)) {
				if (swapview(menuID,'visible')) {
					return true;
				} else {
					return false;
				}
			} else {
				return false;	
			}
		} else {
			if (movesub (menuID, "sub_" + id, -64-x_Pos)) {
				if (swapview(menuID,'visible')) {
					return true;
				} else {
					return false;
				}
			} else {
				return false;	
			}
		}
	} else {
		return false;
	}
} // show

/* find specifed objects left offset */
function getleft(ele,xo) 
{ 
	var elem = MM_findObj(ele);
	xPos     = elem.offsetLeft; 
	tempEl   = elem.offsetParent; 
	while (tempEl != null) { 
		xPos  += tempEl.offsetLeft; 
		tempEl = tempEl.offsetParent; 
	} 
	return xPos+xo;
} // getleft

/* find specifed objects top offset */
function gettop(ele) 
{
	var elem = MM_findObj(ele);
	var y_Pos = elem.offsetTop;
	tempEl = elem.offsetParent;
	while (tempEl != null) {
		y_Pos  += tempEl.offsetTop;
		tempEl = tempEl.offsetParent;
	}
	return y_Pos;
} // gettop

/* cross-browser function to get an object's style object given its id */
function getStyleObject(obj) 
{
	if(document.getElementById && document.getElementById(obj)) {
		// W3C DOM
		return document.getElementById(obj).style;
	} else if (document.all && document.all(obj)) {
		// MSIE 4 DOM
		return document.all(obj).style;
	} else if (document.layers && document.layers[obj]) {
		// NN 4 DOM.. note: this won't find nested layers
		return document.layers[obj];
	} else {
		return false;
	}
} // getStyleObject

/* move a menu  */
function move(obj,offset,xo) 
{
  var styleObject = getStyleObject(obj);
  if(styleObject) {
	  	// find object's height
		var menuObj = MM_findObj(obj);
		var menuHeight = menuObj.offsetHeight;
		// move object to relative position
		styleObject.left = getleft(offset,xo);
		styleObject.top  = y_Pos - 100;
		return true;
  } else {
		// we couldn't find the object, so we can't very well move it
		return false;
  }
} // move



function movesub(obj,offset,xo) 
{
  var styleObject = getStyleObject(obj);
  if(styleObject) {
	  	var menuObj = MM_findObj(obj);
		var menuHeight = menuObj.offsetHeight;
		styleObject.left = getleft(offset,xo);
		styleObject.top  = gettop (offset)-menuHeight/2+10;

		return true;
  } else {
		// we couldn't find the object, so we can't very well move it
		return false;
  }
} // movesub



/* sets a found object's visibilty */
function swapview(obj,val) 
{
	var styleObject = getStyleObject(obj);
	if (styleObject) {
		styleObject.visibility = val;
		return true;
	} else {
		return false;
	}
} // swapview


/* change the underline on/off */
function underline(obj,val) 
{
    var styleObject = document.getElementById(obj).style;
    if (styleObject) {
		styleObject.color = val;
		return true;
	} else {
		return false;
	}
} // underline