// browser sniffer
SAS_DOM 				= (document.getElementById) ? true : false;
SAS_NS4 				= (document.layers) ? true : false;
SAS_IE 					= (document.all) ? true : false;
SAS_IE4 				= SAS_IE && !SAS_DOM;
SAS_Mac 				= (navigator.appVersion.indexOf("Mac") != -1);
SAS_IE4M 				= SAS_IE4 && SAS_Mac;

SAS_Opera				= (navigator.userAgent.indexOf("Opera")!=-1);
SAS_Konqueror 			= (navigator.userAgent.indexOf("Konqueror")!=-1);
SAS_Firefox				= (navigator.userAgent.indexOf("Firefox")!=-1);
SAS_Gecko				= (navigator.userAgent.indexOf("Gecko")!=-1);
SAS_MOZILLA				= SAS_Firefox || SAS_Gecko;

SAS_IsMenu 				= SAS_DOM;

//global variables for dropdown menu object
var menuPrefix = "submenu_";
var menuOver = false;
var menuCount = 0;
var curItem = -1;

//CONSTANTS to offset dropdown menu position dynamically
OFFSETLEFT = 125;
OFFSETTOP = 125;
TOPNAV_WIDTH = 762;

//change offset settings per browser agent
offsetSettings();

// if browser is not IE, reset OFFSETLEFT and OFFSETTOP default values
function offsetSettings()
{
	var agt=navigator.userAgent.toLowerCase();

	//alert("browser agent is " + agt);

	if (SAS_NS4 || SAS_Konqueror || SAS_MOZILLA) {
		OFFSETLEFT = 125;
		OFFSETTOP = 125;
	}
}

function setCursor(elm)
{
	if (SAS_IE)
		elm.style.cursor = "hand";
	else
		elm.style.cursor = "pointer";
}

function swOn(elm, backgroundcolor)
{
	elm.className = backgroundcolor;
	setCursor(elm);
}

function swOff(elm, backgroundcolor)
{
	elm.className = backgroundcolor;
	elm.style.cursor = "default";
}

function linkItem(item)
{
	var elm = eval(item);
	var url = elm[1];
	if (url.indexOf("javascript:") > -1)
		eval(url);
    else
		location.href = url;
}

function show(item)
{
	curItem = item;
	//hideAll(item);
	setItemVisible(item, true);
}

function hide(item)
{
	curItem = -1;
	setTimeout("hideItem("+item+")", 70);
}

function hideItem(item)
{
	if (menuOver || curItem == item)
	{	return;
	}
	setItemVisible(item, false);
}

function hideAll()
{
	tempitem = arguments[0];
	for (i = 1; i <= menuCount; i++)
	{
		if (i == tempitem)
			continue;
		setItemVisible(i, false);
	}
}

function setItemVisible(item, bOn)
{
	elm = document.getElementById(menuPrefix+item);
	
	if (elm)
	{
		if (bOn)
		{
			elm.style.visibility = "visible";
			elm.style.display = "block";
		}
		else
		{
			elm.style.visibility = "hidden";
			elm.style.display = "none";
		}
	}
}

function getBrowserWidth() {
	var myWidth = 0;
		
	if( SAS_MOZILLA ) {
		//Firefox and any Mozilla browsers
		myWidth = window.innerWidth - 10;
	}  else if( SAS_IE4) {
		//IE 4 compatible
		myWidth = document.body.clientWidth;
	} else if( SAS_IE ) {
		//IE 4 compatible
		myWidth = document.body.clientWidth;
	}else if( SAS_IsMenu ) {
		//IE 6+ in 'standards compliant mode'
		myWidth = document.documentElement.clientWidth;
	}
	else {
		//Non-IE
		myWidth = window.innerWidth;
	}
	
	
	
	return myWidth;
}

function adjustpos(obj,item)
{
	var item_offsetLeft = 0;
	var item_offsetTop = 0;
	var winWidth = 0;
	var elm = null;
	
	var getLeft = findPosX(obj);
	var getTop  = findPosY(obj);

	if (SAS_IE)
		elm = document.all[menuPrefix+item];
	else if (SAS_NS4)
		elm = document.layers[menuPrefix+item];
	else if (SAS_IsMenu)
		elm = document.getElementById(menuPrefix+item);	
	if (elm) {
		//get the left position of top nav table
		winWidth = getBrowserWidth();

		item_offsetLeft = (winWidth - TOPNAV_WIDTH)/2;
		
		
		if (!elm)
		{
			// browser not supported or element not found
		}
		else if (elm.style)
		{
			// browser implements part of W3C DOM Style
			// Gecko, Internet Explorer 4+, Opera 5+

			if (typeof(elm.style.left) == 'number')
			{
			// Opera 5/6 do not implement the standard correctly
			// and assume that elm.style.left and similar properties
			// are numbers.
			elm.style.left = x;
			elm.style.top  = y;
			}
			else
			{
			// Gecko/Internet Explorer 4+
			// W3C DOM Style states that elm.style.left is a string
			// containing the length followed by the unit. e.g. 10px
			// Gecko will allow you to omit the unit only in Quirks 
			// mode. 
			// Gecko REQUIRES the unit when operating in Standards
			// mode.
			elm.style.left = getLeft + 'px';
				

			//elm.style.top  = OFFSETTOP + 'px';
			elm.style.top  = getTop + -35 + 'px';
			}
		}
		else if (typeof(elm.left) == 'number')
		{
			// Navigator 4
			elm.left = item_offsetLeft + OFFSETLEFT * (item-1);
			elm.top  = OFFSETTOP;
		}
	}
	
//	alert(item_offsetLeft);
	//alert(OFFSETLEFT);
	
	//alert(elm.style.left);
}

function vztab_ON(obj,item) {
for (var i=1; i<7; i++)
	setItemVisible(i, false);

	if (item < 6) {
			// toggle tab to "ON" status for redmenu
			obj.className = "menu_roll";
		} else {
			// toggle tab to "ON" status for grey menu
			obj.className = "menu_gry_roll";
		}
		
		
		//set cursor to be either hand or pointer
		setCursor(obj);
		
		//adjust dropdown menu position
		adjustpos(obj, item);
		
		//show dropdown menu
		show(item);
}

function vztab_OFF(obj,item) {
	
	//if (typeof(item) == 'number') {
		if (item < 6) {
			// toggle tab to "OFF" status for redmenu
			obj.className = "redmenu";
		} else {
			// toggle tab to "OFF" status for grey menu
			obj.className = "menu_gry";
		}
		
		//show dropdown menu
		hide(item);
	//}
}

function findPosX(obj) {
    var curleft = 0;
    if (obj.offsetParent) {
        while (1) {
            curleft+=obj.offsetLeft;
            if (!obj.offsetParent) {
                break;
            }
            obj=obj.offsetParent;
        }
    } else if (obj.x) {
        curleft+=obj.x;
    }
    //alert(obj.id);
    return curleft;
}
function findPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent) {
        while (1) {
            curtop+=obj.offsetTop;
            if (!obj.offsetParent) {
                break;
            }
            obj=obj.offsetParent;
        }
    } else if (obj.y) {
        curtop+=obj.y;
    }
    return curtop;
}


