
/*
	This javascript is a fix for IE6s lack of support for CSS1's background-attachment: fixed
*/

function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function fnMouseOverBG() {
	
	var elContainingDiv = this.parentNode.parentNode.parentNode;
	
	var elContainingUL = this.parentNode.parentNode;
	var sRolloverType;
	var sBackGroundImg;

	
	
	if(elContainingUL.id == 'nav1') {
		sBackGroundImg = '/images/rightnavdark.gif';
	}
	
	if(elContainingUL.id == 'nav2') {
		sBackGroundImg = '/images/leftnavdark.gif';
	}
	
	var iPosY = findPosY(this);
	var iContainerPosY = findPosY(elContainingDiv); //IE must have position relative to container
	var iPosX = findPosX(this);
	
	var iContainerPosX = findPosX(elContainingDiv); //IE must have position relative to container
	var iIEPixelCorrection = 0;
	
	if( BrowserDetect.browser == 'Explorer' ) { // IE only
		var iIEPixelCorrection = 2; //IE displays backgrounds 2 pixels out of alignment
	}
	
	var iBackGroundPosX = iPosX - iContainerPosX;
	var iBackGroundPosY = iPosY - iContainerPosY + iIEPixelCorrection;
//	alert(iContainerPosX + ' ' + iBackGroundPosY);
	
		var sBackGround = 'transparent url(' + sBackGroundImg + ') -' + iBackGroundPosX + 'px -' + iBackGroundPosY + 'px no-repeat';
	
		this.style.background = sBackGround;			//this works for IE only
		
	//	alert(this.style.background);
}

function fnMouseOffBG() {
	this.style.background = 'transparent';
	
}

function fnSelectedBackGround(elAnchor) {
	
	var elContainingDiv = elAnchor.parentNode.parentNode.parentNode;
	var elContainingUL = elAnchor.parentNode.parentNode;
	
	if(elContainingUL.id == 'nav1') {
		sBackGroundImg = '/images/rightnavselected.gif';
	}
	
	if(elContainingUL.id == 'nav2') {
		sBackGroundImg = '/images/leftnavselected.gif';
	}
	
	var iPosY = findPosY(elAnchor);
	var iContainerPosY = findPosY(elContainingDiv); //IE must have position relative to container
	var iPosX = findPosX(elAnchor);

	var iContainerPosX = findPosX(elContainingDiv); //IE must have position relative to container
	var iIEPixelCorrection = 0;

	if( BrowserDetect.browser == 'Explorer' ) { // IE only
		var iIEPixelCorrection = 2; //IE displays backgrounds 2 pixels out of alignment
	}
	
	var iBackGroundPosX = iPosX - iContainerPosX;
	var iBackGroundPosY = iPosY - iContainerPosY + iIEPixelCorrection;
	
	var sBackGround = 'transparent url(' + sBackGroundImg + ') -' + iBackGroundPosX + 'px -' + iBackGroundPosY + 'px no-repeat';
	
	elAnchor.style.background = sBackGround;
//	alert(elAnchor.style.background);
}


function fnFixNav() {

	var aNavUlIds = Array();

	aNavUlIds[0] = 'nav1';
	aNavUlIds[1] = 'nav2';

	var elNav;
	var aAnchors;
	
	for(var i=0; i < aNavUlIds.length; i++) {
	
		if( elNav = document.getElementById(aNavUlIds[i]) ) {
		
			//alert(elNav.id);
			aAnchors = elNav.getElementsByTagName('a');

			for(var j=0; j<aAnchors.length; j++ ) {

				if(aAnchors[j].className.match('highlighted') ) {
				//	alert(aAnchors[j].href);
					fnSelectedBackGround(aAnchors[j]);
				}
				else {

					aAnchors[j].onmouseover = fnMouseOverBG;
					aAnchors[j].onmouseout = fnMouseOffBG;

				//	alert(aAnchors[j].onmouseover);
				}
				aAnchors[j].style.textDecoration = 'none';
			}
		}
	}
}

if(true) { 
	window.onload = fnFixNav;

}
else {
	alert('friendly browser...no javascript used (except this obviously)');
}