// JavaScript Document
function removeFlashBorder () {
	theObjects = document.getElementsByTagName("object");
	for (var i = 0; i < theObjects.length; i++) {
		theObjects[i].outerHTML = theObjects[i].outerHTML;
	}
}
function showHide(element){
	for (f=0;f<element.childNodes.length;f++){
		if (element.childNodes[f].className=="FAQanswer") {
			thisContent = element.childNodes[f];
		}
	}
	if (thisContent.style.display=="none") {
		thisContent.style.display = "";
	} else {
		thisContent.style.display = "none";
	}
	rollFAQ(element, 'over');
}
function rollFAQ(element, overOrOut){
	for (f=0;f<element.childNodes.length;f++){
		if (element.childNodes[f].className=="FAQanswer") {
			thisContent = element.childNodes[f];
		}
	}
	if (thisContent.style.display=="none") {
		if (overOrOut=="over") {
			element.className="FAQopenOver";
		} else {
			element.className="FAQopenOut";
		}
	} else {
		if (overOrOut=="over") {
			element.className="FAQclosedOver";
		} else {
			element.className="FAQclosedOut";
		}
	}	
}

var interval = 20;
var moveProgressTotal = 10;	
var moveProgress = 0;
var menuStates = new Array();
var subMenuStates = new Array();
var rememberOpenMenu = new Array (-1, -1, -1);

function openSubMenu(whichGroup, whichMenu, whichSubMenu){
	//if (menuStates[whichMenu]==true&&subMenuStates[whichMenu][whichSubMenu]==false&&moveProgress==0) {
	if (subMenuStates[whichGroup][whichMenu][whichSubMenu]==false&&moveProgress==0) {	
		moveProgress++;
		var closeSubMenu = false;
		for (f=0; f<subMenuStates[whichGroup][whichMenu].length;f++) {
			if (subMenuStates[whichGroup][whichMenu][f]==true) {
				closeSubMenu = f;
			}
		}
		var animationEvent = window.setInterval (
			function () {
				var propor = ((Math.cos((moveProgress / moveProgressTotal)*Math.PI)) - 1)/-2;
				var height = parseInt (subHeights[1] - subHeights[0]) * propor;
				document.getElementById ("dynamicSubDiv"+whichGroup+"_"+whichMenu+"_"+whichSubMenu).style.height=(height + subHeights[0]) + "px";
				document.getElementById ("dynamicSubDiv"+whichGroup+"_"+whichMenu+"_"+closeSubMenu).style.height=(subHeights[1] - height) + "px";
				if (moveProgress>=moveProgressTotal) {
					window.clearInterval(animationEvent);
					moveProgress = 0;
					subMenuStates[whichGroup][whichMenu][whichSubMenu] = true;
					subMenuStates[whichGroup][whichMenu][closeSubMenu] = false;	
					if (rememberOpenMenu[0]!=-1) {
						openSubMenu(rememberOpenMenu[0], rememberOpenMenu[1], rememberOpenMenu[2]);
					}
				} else {
					moveProgress++;
				}
			}
			,interval);
	} else {
		rememberOpenMenu = new Array (whichGroup, whichMenu, whichSubMenu);
	}
}
function dontOpenSubMenu () {
	rememberOpenMenu = new Array (-1, -1);
}
function openMenu(whichGroup, whichMenu){
	if (menuStates[whichGroup][whichMenu]==false&&moveProgress==0) {
		moveProgress++;
		var closeMenu = false;
		for (f=0; f<menuStates[whichGroup].length;f++) {
			if (menuStates[whichGroup][f]==true) {closeMenu = f;}
		}
		var animationEvent = window.setInterval (
			function () {
				var propor = ((Math.cos((moveProgress / moveProgressTotal)*Math.PI)) - 1)/-2;		
			
				thisHeight = (((menuSpecs[whichGroup][whichMenu] - 1) * menuHeights[1]) + subHeights[1]);				
				height = parseInt (thisHeight * propor) + menuHeights[0];			
				document.getElementById ("dynamicDiv"+whichGroup+"_"+whichMenu).style.height=height + "px";
				
				thisHeight = (((menuSpecs[whichGroup][closeMenu] - 1) * menuHeights[1]) + subHeights[1]);
				height = parseInt (thisHeight * (1 - propor)) + menuHeights[0];
				document.getElementById ("dynamicDiv"+whichGroup+"_"+closeMenu).style.height=height + "px";
				
				if (moveProgress>=moveProgressTotal) {
					window.clearInterval(animationEvent);
					moveProgress = 0;
					menuStates[whichGroup][whichMenu] = true;
					menuStates[whichGroup][closeMenu] = false;	
					document.getElementById("navigationButton"+whichGroup+"_"+whichMenu).className="navigationButtonDown";
					document.getElementById("navigationButton"+whichGroup+"_"+closeMenu).className="navigationButton";			
				} else {
					moveProgress++;
				}
			}
			,interval);
	} 
}
function initMenus (){
	for (f=0;f<menuSpecs.length;f++) {
		thisMenuState = new Array();
		thisSubMenuGroup = new Array();
		for (g=0;g<menuSpecs[f].length;g++) {
			if (g==0) {
				thisMenuState.push(true);
			} else { 
				thisMenuState.push(false);
			}
			thisSubMenuState = new Array();
			for (h=0;h<menuSpecs[f][g];h++) {
				if (h==0) {
					thisSubMenuState.push(true);
				} else { 
					thisSubMenuState.push(false);				
				}				
			}
			thisSubMenuGroup.push(thisSubMenuState);
		}
		menuStates.push(thisMenuState);		
		subMenuStates.push(thisSubMenuGroup);		
	}
}
