// JavaScript Document
/* **************************************************************/		
/* *** Scriptaculous controllers , 01.22.2007, CMO  *** */		
/* **************************************************************/

/* *** form highlighting using scriptaculous, 01.21.2007, CMO  *** */
var elementHighlighted = false;

function highlight(elementID) {
	/* determine if the element is highlighted and start or reset effect */
	if ( !elementHighlighted ) {
		startEffect(elementID);
		elementHighlighted = true;
	}
	else {
		resetEffect(elementID);
		elementHighlighted = false;
	}
}

/* Start the effect */
function startEffect(elementID) {
	new Effect.Highlight(elementID, {startcolor:'#f5f3f1', endcolor:'#ffe5b2', restorecolor:'#ffe5b2'});
}

/* Reset the effect */
function resetEffect(elementID) { 
	new Effect.Highlight(elementID, {startcolor:'#ffe5b2', endcolor:'#f5f3f1', restorecolor:'#f5f3f1'}); 
}
/* *** Appear using scriptaculous, 01.21.2007, CMO  *** */
var elementVisible = false;

function hideAndShow (elementID) {
	/* determine if the element is highlighted and start or reset effect */
	if ( !elementVisible ) {
		startAppear(elementID);
		elementVisible = true;
		$(elementID).style.zIndex = baseZ++;
	}
	else {
		startFade(elementID);
		elementVisible = false;
	}
}

/* Start Appear */
function startAppear (elementID) {
	new Effect.Appear(elementID, {to:.93, beforeStart: setDisplayToBlock, duration: 0.6 });
}

/* Start Fade */
function startFade (elementID) { 
	new Effect.Fade(elementID, {afterFinish: setDisplayToNone, duration: 0.6 }); 
}

/* set CSS Display Property */
function setDisplayToBlock () {
	document.getElementById('loginFormDiv').style.zIndex = 500;
	document.getElementById('loginButton').style.zIndex = 5000;
}
function setDisplayToNone () {
	document.getElementById('loginFormDiv').style.zIndex = 0;
	document.getElementById('loginButton').style.zIndex = 1;
}

/* *** main navigation using scriptaculous, 01.24.2007  JAC *** */

userAgent = window.navigator.userAgent;
browserVers = parseInt(userAgent.charAt(userAgent.indexOf("/")+1),10);
var baseZ = 1500;
var preloadFlag = false;
function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function findElement(n,ly) {
	if (browserVers < 4)		return document[n];
	var curDoc = ly ? ly.document : document;
	var elem = curDoc[n];
	if (!elem) {
		for (var i=0;i<curDoc.layers.length;i++) {
			elem = findElement(n,curDoc.layers[i]);
			if (elem) return elem;
		}
	}
	return elem;
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		var img;
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			img = null;
			if (document.layers) {
				img = findElement(changeImages.arguments[i],0);
			}
			else {
				img = document.images[changeImages.arguments[i]];
			}
			if (img) {
				img.src = changeImages.arguments[i+1];
			}
		}
	}
}
function preloadImages() {
	if (document.images) {
		IAnav_02_over = newImage("/images/navigation/IAnav_02-over.gif");
		IAnav_02_On = newImage("/images/navigation/IAnav_02-On.gif");
		IAnav_03_over = newImage("/images/navigation/IAnav_03-over.gif");
		IAnav_03_On = newImage("/images/navigation/IAnav_03-On.gif");
		IAnav_04_over = newImage("/images/navigation/IAnav_04-over.gif");
		IAnav_04_On = newImage("/images/navigation/IAnav_04-On.gif");
		IAnav_05_over = newImage("/images/navigation/IAnav_05-over.gif");
		IAnav_05_On = newImage("/images/navigation/IAnav_05-On.gif");
		IAnav_06_over = newImage("/images/navigation/IAnav_06-over.gif");
		IAnav_06_On = newImage("/images/navigation/IAnav_06-On.gif");
		IAnav_07_over = newImage("/images/navigation/IAnav_07-over.gif");
		IAnav_07_On = newImage("/images/navigation/IAnav_07-On.gif");
		IAnav_08_over = newImage("/images/navigation/IAnav_08-over.gif");
		IAnav_08_On = newImage("/images/navigation/IAnav_08-On.gif");
		preloadFlag = true;
	}
}
/* Fixes IE's broken :hover pseudoclass */
ieHover = function() {
	var ieEls = document.getElementById("topNav").getElementsByTagName("LI");
	for (var i=0; i<ieEls.length; i++) {
		ieEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		ieEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
/* Stops Event bubbling in all browsers */
function killBubbles(e){
		if (!e) var e = window.event;
		e.cancelBubble = true;
		if (e.stopPropagation) e.stopPropagation();   
		}
/* Safety net for topNav display */
function killOtherPopups(menu) {
	var menuList = new Array();
	menuList[0] = 'menu2';
	menuList[1] = 'menu3';
	menuList[2] = 'menu4';
	menuList[3] = 'menu5';
	menuList[4] = 'menu6';
	menuList[5] = 'menu7';
	for (var i=0;i<menuList.length;i++) {
		if (menu != menuList[i]) {
			var menuToFade = menuList[i];
			new Effect.Fade(menuToFade, {duration:.1, fps:40});
		}
	}
}
/* Object houses all controls for topNav */
var MenuAction = {
    timeout : null,	
    showPopup : function(e, menu, button){
	killBubbles(e);
	killOtherPopups(menu);
	changeImages(button, '/images/navigation/'+button+'-over.gif');
	/*if (menu == "menu6") return;*/
        clearTimeout(this.timeout);
        if($(menu).style.display == 'none'){
            this.timeout = setTimeout(function(){new Effect.Appear(menu, {duration:.3, fps:40})},.0);
			$(menu).style.zIndex = baseZ++;
			$(menu.toString() + 'Button').style.zIndex = baseZ++;
			$('loginFormDiv').style.zIndex = baseZ++;
        }
		 return true;
    },
    hidePopup : function(e, menu, button){
	changeImages(button, '/images/navigation/'+button+'.gif');
	/*if (menu == "menu6") return;*/
	killBubbles(e);
	    if($(menu).style.display == 'none'){
            clearTimeout(this.timeout);
        }else{
            this.timeout = setTimeout(function(){new Effect.Fade(menu, {duration:.3, fps:40})},0);
        }
		 return true;
    } 
	
}
/* Initializes ieHover */
if (window.attachEvent) window.attachEvent("onload", ieHover);