var isIE, isNN, dom, isMac, isN6;
var clear_timer='';
if (document.all)
{
	isIE = true;
	dom = document.all;
}
else if (document.layers)
{
	isNN = true;
	dom = document.layers;
	document.captureEvents(Event.RESIZE);
    window.onresize = handleNNResize;
} 
else if ((navigator.appName == "Netscape") && (document.getElementById))
{
	isN6 = true;
    dom = document.getElementsByTagName;
}

var agent = navigator.userAgent.toLowerCase();
if (agent.lastIndexOf('mac') < 0)
{
	isMac = false;
}
else
{
	isMac = true;
}
	
var is_major = parseInt(navigator.appVersion);
var is_ie     = ((agent.indexOf("msie") != -1) && (agent.indexOf("opera") == -1));
var is_ie3    = (is_ie && (is_major < 4));
var is_ie4    = (is_ie && (is_major == 4) && (agent.indexOf("msie 4")!=-1) );
var is_ie4up  = (is_ie && (is_major >= 4));
var is_ie5    = (is_ie && (is_major == 4) && (agent.indexOf("msie 5.0")!=-1) );
var is_ie5_5  = (is_ie && (is_major == 4) && (agent.indexOf("msie 5.5") !=-1));
var is_ie5up  = (is_ie && !is_ie3 && !is_ie4);
var is_ie5_5up =(is_ie && !is_ie3 && !is_ie4 && !is_ie5);
var is_ie6    = (is_ie && (is_major == 4) && (agent.indexOf("msie 6.")!=-1) );
var is_ie6up  = (is_ie && !is_ie3 && !is_ie4 && !is_ie5 && !is_ie5_5);

// handle netscape resize bug
var ws, hs;
if (isNN)
{
	ws = window.innerWidth;
	hs = window.innerHeight;
}

//about=new Image(22,72);
//about.src="/images/about_over.gif";

//products=new Image(22,71);
//about.src="/images/products_over.gif";

//talk=new Image(22,72);
//about.src="/images/talk_over.gif";

//press=new Image(22,53);
//about.src="/images/press_over.gif";

//employment=new Image(22,91);
//about.src="/images/employment_over.gif";

//HomeSpread=new Image(731,399);
//HomeSpread.src="/images/spread_home.jpg";

function handleNNResize()
{
	if (isNN)
	{
		if (window.innerWidth != ws || window.innerHeight != hs)
		{
			window.location.href = window.location.href;
		}
	}
}

function writeLayer(n,x,y,w,h,z,vis,cnt,exn,exe)
{
	document.write(returnLayer(n,x,y,w,h,z,vis,cnt,exn,exe));
}


function returnLayer(n,x,y,w,h,z,vis,cnt,exn,exe)
{
	if (isNN)
	{
		vis == 1 ? vis='show' : vis='hide';
		return '<layer width='+w+' left='+x+' top='+y+' name="'+n+'" z-index='+z+' visibility="'+vis+'" '+exn+'>'+cnt+'</layer>';
	}
	else if (isIE)
	{
		vis == 1 ? vis='visible' : vis='hidden';
		return '<div id="'+n+'" style="position:absolute;width:'+w+';left:'+x+';top:'+y+';z-index:'+z+';visibility:'+vis+';'+exe+'" >'+cnt+'</div>';
	}
	else if (isN6)
	{
		vis == 1 ? vis='visible' : vis='hidden';
		return '<div id="'+n+'" style="position:absolute;width:'+w+';left:'+x+';top:'+y+';z-index:'+z+';visibility:'+vis+';'+exe+'" >'+cnt+'</div>';
	}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

active_layer='subnav';

function showLayer(this_layer_id,state)
{
	var my_vis;
		
	if(state == 1)
	{
		active_layer = this_layer_id;
	}
	if (isIE) {
		state ? my_vis = "visible" : my_vis = "hidden";
		dom[this_layer_id].style.visibility = my_vis;	
	} else if (isNN) {
		state ? my_vis = "show" : my_vis = "hide";
		dom[this_layer_id].visibility = my_vis;
	
	} else if (isN6) {
		state ? my_vis = "visible" : my_vis = "hidden";
		document.getElementById(this_layer_id).style.visibility = my_vis;
	
	}
}

var move_to_x;
var move_to_y;
function moveLayer(this_layer_id,newX,newY)
{	
	if (isIE)
	{
		dom[this_layer_id].style.pixelTop = newY;
		dom[this_layer_id].style.pixelLeft = newX;
		//dom[this_layer_id].scrollHeight
	}
	else if (isNN)
	{
		dom[this_layer_id].top = newY;
		dom[this_layer_id].left = newX;
		// this is the height dom[this_layer_id].document.height;
	} 
	else if (isN6)
	{
		document.getElementById(this_layer_id).style.top = newY+"px";
		document.getElementById(this_layer_id).style.left = newX+"px";
		
		//document.getElementById(this_layer_id).scrollHeight
	}
}
if (!isIE) 
	document.captureEvents(Event.MOUSEMOVE)
document.onmouseover = getMouseXY;
function getMouseXY(e)
{
	var top_y;
	var bot_y;
	if (isIE)
	{
	    	tempX = window.event.clientX;
	    	tempX +=(document.body)?document.body.scrollLeft:0;
	    	tempY = window.event.clientY;
	    	tempY += (document.body)?document.body.scrollTop:0;
	}
	else
	{
		tempX = e.pageX
		tempY = e.pageY
	}
	if(tempX < 0)
	{
		tempX = 0
	}
	if(tempY < 0)
	{
		tempY = 0
	}
	MouseX = tempX;
	MouseY = tempY;
	
	if(active_layer != '')
	{
		if (isIE)
		{
			if(dom[active_layer]){
				top_y = dom[active_layer].style.pixelTop;
				bot_y = top_y + dom[active_layer].scrollHeight;
				left_x = dom[active_layer].style.pixelLeft;
				right_x = left_x + dom[active_layer].scrollWidth;
			}else{
				top_y=0;
				bot_y=0;
				left_x=0;
				right_x=0;
			}
		}
		else if (isNN)
		{
			top_y = dom[active_layer].top;
			bot_y = top_y + dom[active_layer].document.height;
			left_x = dom[active_layer].left;
			right_x = left_x + dom[active_layer].document.width; 
		}
		else if (isN6)
		{
			top_y = parseInt(document.getElementById(active_layer).style.top);
			bot_y = top_y + 23;
			left_x = parseInt(document.getElementById(active_layer).style.left);
			right_x = left_x + 250;
		
			//alert("MouseX "+MouseX+" MouseY:"+MouseY+" top_y:"+top_y+" bot_y:"+bot_y+" left_x:"+left_x+" right_x:"+right_x);
		}
		
		if(MouseX > right_x || MouseX < (left_x) || MouseY < (top_y) || MouseY > (bot_y))
		{
			if(clear_timer == '')
			{
				clear_timer = setTimeout("clearLayers();",1000);
			}
		}	
		else
		{
			if(clear_timer != '')
			{
				clearTimeout(clear_timer);
				clear_timer = '';
			}
		}		
	}
	return true;
}

function getImageLocation(nvn)
{
var elm = document.images[nvn];
if ( document.layers ) return elm;
var rd = { x:0 ,y:0 };
do { rd.x += parseInt( elm.offsetLeft );
rd.y += parseInt( elm.offsetTop );
elm = elm.offsetParent;
} while ( elm );
return rd
};
