/*******************************
* EC Scripts
*
*******************************/
var featureCount = 0;
var playerState;
var delay = 9000; //milliseconds
var currentFeature;
var featureRefObjs;
var featureImgObjs;
var featureStepObjs = new Array();

var pageLeftMargin = null;
var wWidth = document.documentElement.clientWidth; //tooltip reposition measure
var pageWidth = 970;
var correctX = 30; //pixel measure to reposition tooltip help

/*********************************
* function showHide
* IN: object ID (or an array of IDs)
*
* this function is used to toggle
* the visibility of a page element
**********************************/
function showHide(objIds,dispType) {
	if(isArray(objIds)){
		for(var i=0; i<objIds.length; i++){
			var objRef=document.getElementById(objIds[i]);
			if (objRef.style.display=='none') {
				objRef.style.display=dispType;
			} else {
				objRef.style.display='none';
			}
		}
	}
	else {	
		var objRef=document.getElementById(objIds);
		if (objRef.style.display=='none') {
			objRef.style.display=dispType;
		} else {
			objRef.style.display='none';
		}
	}
	
}

/****************************
* function isArray
* IN: any variable
* OUT: bool
*
* This function returns true if the variable
* that was passed in is an array 
*******************************/
function isArray(myVar) {	
	var tempType = typeof myVar;
	//alert(tempType);

	if (tempType == "string")
		return false;
	else
		return true;
}


function contactShow(blockRef) {
	blockRef.className = blockRef.className + " hover";
	var divs = blockRef.childNodes;
	for(i=0; i<divs.length; i++){
		if(divs[i].className == "contactInfo")
			divs[i].style.display = "block"; 
	}
}

function contactHide(blockRef) {
	var pieces = blockRef.className.split(" ");
	blockRef.className = pieces[0];
	var divs = blockRef.childNodes;
	for(i=0; i<divs.length; i++){
		if(divs[i].className == "contactInfo")
			divs[i].style.display = "none"; 
	}
}

/*********************
* nav state functions
*********************/
function setNav(navID) {
	var navRef = document.getElementById("nav_"+navID);
	highlightNav(navRef);
}
function unsetNav(navID) {
	var navRef = document.getElementById("nav_"+navID);
	unhighlightNav(navRef);
}
function setSubNav(navID) {
	var navRef = document.getElementById("subnav_"+navID);
	highlightNav(navRef);
}
function unsetSubNav(navID) {
	var navRef = document.getElementById("subnav_"+navID);
	unhighlightNav(navRef);
}

function highlightNav(navRef) {
	if(navRef.id.indexOf("subnav_") == -1)
		navRef.parentNode.className = navRef.parentNode.className + " selected";

	navRef.className = navRef.className + " selected";
}
function unhighlightNav(navRef) {
	currStyle = navRef.className;
	pieces = currStyle.split(" ");

	if(navRef.id.indexOf("subnav_") == -1)
		navRef.parentNode.className = "";
	navRef.className = pieces[0];
}


/************************
* init feature story controller
************************/
function initFeature() {
	featureRefObjs = document.getElementById("featureCopy").getElementsByTagName("DIV");
	featureImgObjs = document.getElementById("featureImage").getElementsByTagName("IMG");
	tempStepObjs = document.getElementById("featureController").getElementsByTagName("A");
	featureCount = featureRefObjs.length;
	currentFeature = 0;
	
	for(j=0; j<=(featureCount+2); j++){
		featureStepObjs.push(tempStepObjs[j]);
	}
	
	for(i=1; i<featureCount; i++){
		featureRefObjs[i].style.display = "none";
		featureImgObjs[i].style.display = "none";
	}
	
	playFeature();
}

function playFeature() {
	playerState	= setTimeout("showNext();playFeature()",delay);
}

function stopFeature() {
	clearTimeout(playerState);
}

function pause() {
	document.getElementById("playButton").style.display = "none";
	document.getElementById("pauseButton").style.display = "inline";
	stopFeature();
}

function play() {
	document.getElementById("pauseButton").style.display = "none";
	document.getElementById("playButton").style.display = "inline";
	playFeature();
}

function showNext() {
	newIndex = (currentFeature + 1) % featureCount;
	currentFeature = newIndex;
	showFeature(newIndex);
}

function showPrev() {
	newIndex = (currentFeature + featureCount - 1) % featureCount;
	currentFeature = newIndex;
	showFeature(newIndex);
}

function showFeature(targetID){
	//targetID = targetID;
	currentFeature = targetID;
	for(i=0; i<featureCount; i++){
		if(i == targetID) {
			featureRefObjs[i].style.display = "inline";
			featureImgObjs[i].style.display = "inline";
			featureStepObjs[i].className = "stepSelected";
		}
		else {
			featureRefObjs[i].style.display = "none";
			featureImgObjs[i].style.display = "none";
			featureStepObjs[i].className = "step";
		}
	}
}

/**************************
* function checkBounds
* IN: object reference
*
* This function checks to see if
* a popup object will appear beyond the 
* bounds of the page area and corrects
* the placement if necessary
***************************/
function checkBounds(objRef){
	
	if(pageLeftMargin == null)
		pageLeftMargin = document.getElementById("pageContainer").offsetLeft;
	
	//var positionX = objRef.parentNode.offsetWidth;
	var objWidth = objRef.offsetWidth;
	var objPos = objRef.offsetLeft;
	var navOffset = objRef.parentNode.offsetLeft;
	var objRight = objPos + objWidth + navOffset;

	if(objRight > pageWidth){
		newMargin = objRight - pageWidth;
		//alert("width: "+objWidth+"\n left pos: "+objPos+"\n right edge: "+objRight+"\n new margin: "+newMargin);
		//objRef.style.marginLeft = -(positionX + newMargin + correctX) + "px";
		objRef.style.marginLeft = -(newMargin + correctX) + "px";
	}
}


function toggleSnav(navRef) {
	
	currClassName = navRef.className;
	subNavRef = navRef.nextSibling;
	while(subNavRef.nodeType != 1)
		subNavRef = subNavRef.nextSibling;
	
	if(subNavRef.style.display == "none") {
		subNavRef.style.display = "inline";
		navRef.className = currClassName.replace("Col","Exp");
	}
	else {
		subNavRef.style.display = "none";
		navRef.className = currClassName.replace("Exp","Col");
	}
	
}

function OpenPopup(objRef) {
	window.open(objRef,
			'window',
			'width=480,height=480,scrollbars=yes,status=yes,resizable=yes,left=50,top=0');
	
}



