window.onload=init;

var containingDiv;
var toggleDivs;
var theObjects;
var googleSearchBox;
var hasFocusedOnGoogleSearchBefore = false;

function init() {
	//get the div that encases the items to be toggled.
	if (document.getElementById) {
		//browser can handle DHTML
	} else {
		//browser incompatible
		return;
	}
	
	//for google search box
	homeHTML = '<input type="hidden" name="site_flavored_name" value=' + document.location + " />";
	
	if (document.getElementById("site_flavored_name")) {
		document.getElementById("site_flavored_name").innerHTML = homeHTML;
	}
	
	googleSearchBox = document.getElementById("googler");
	if ( googleSearchBox ) {
		googleSearchBox.onclick = removeStartingText;
	}
	
	containingDiv = document.getElementById("toggleHidden");
	if (containingDiv) {
		toggleDivs = containingDiv.getElementsByTagName("div");
		
		for (var i=0; i < toggleDivs.length; i++) {
			toggleDivs.item(i).onclick = toggle;
			toggleDivs.item(i).setAttribute("index", i);
		}
		
		for (var i=0; i < toggleDivs.length; i+=2) {
			swap(i);
		}
	}

	// Handle the forms (show portions only when specific options are checked)
	// Each option's value need to be equivalent to the id of the corresponding 
	// div portions which are hidden/shown as necessary.
	
	if (document.body.getAttribute("id") == "ge_order") {
		var tprDiv = document.getElementById("GE_TPR");
		var tcbDiv = document.getElementById("GE_TCB");
		var tbsDiv = document.getElementById("GE_TBS");
		var pitDiv = document.getElementById("GE_PIT");
		var dtoiDiv = document.getElementById("GE_DTOI");


		if (!document.forms[0].TPR.checked) hideElements(tprDiv);
		if (!document.forms[0].TCB.checked) hideElements(tcbDiv);
		if (!document.forms[0].TBS.checked) hideElements(tbsDiv);
		if (!document.forms[0].PIT.checked) hideElements(pitDiv);
		if (!document.forms[0].DTOI.checked) hideElements(dtoiDiv);

		document.forms[0].TPR.onclick = switcher;
		document.forms[0].TCB.onclick = switcher;
		document.forms[0].TBS.onclick = switcher;
		document.forms[0].PIT.onclick = switcher;
		document.forms[0].DTOI.onclick = switcher;

		document.forms[0].onreset = hideGESections;
	}

	// Fix IE objects handling (activex objects needing activation)?
	/*theObjects = document.getElementsByTagName("object");
	if (theObjects) {
		for (var i = 0; i < theObjects.length; i++) 
			theObjects[i].outerHTML = theObjects[i].outerHTML;
	}
	*/
	//make the logo clickable
	var logoDiv = document.getElementById("logo");
	if (logoDiv) {
		logoDiv.onclick = goToHomepage;
	}
}	
	
function toggle(evt) {
	if (!evt) var evt = window.event;
	var e;
	if(evt.target) e = evt.target; // W3C DOM/Netscape
	else if(evt.srcElement) e = evt.srcElement; // IE

	if(e.nodeName == "A") {
		document.location=e.getAttribute("href");
	} else {
		elementIndex = e.parentNode.getAttribute("index");
		swap(elementIndex);
	}
	return false;
}

function swap(elementIndex) {
	if (elementIndex%2) {
		if (toggleDivs.item(elementIndex).className == "show") {
			toggleDivs.item(elementIndex).className="hide";
			toggleDivs.item(elementIndex-1).className="show";	
		} else {
			toggleDivs.item(elementIndex).className="show";
			toggleDivs.item(elementIndex-1).className="hide";	
		}			

	} else {
		if (toggleDivs.item(elementIndex*1+1).className == "hide") {
			toggleDivs.item(elementIndex*1+1).className="show";
			toggleDivs.item(elementIndex).className="hide";
		} else {
			toggleDivs.item(elementIndex*1+1).className="hide";
			toggleDivs.item(elementIndex).className="show";
		}
	}
}


function switcher(evt) {

	if (!evt) var evt = window.event;
	var e;
	if(evt.target) e = evt.target; // W3C DOM/Netscape
	else if(evt.srcElement) e = evt.srcElement; // IE

	div = document.getElementById(e.value);
	if (e.checked) {
		div.style.display="block";
	} else {
		div.style.display="none";
	}
}

function goToHomepage(evt) {
	document.location='index.html';
}

function removeStartingText(evt) {
	if (!evt) var evt = window.event;
	var e;
	if(evt.target) e = evt.target; // W3C DOM/Netscape
	else if(evt.srcElement) e = evt.srcElement; // IE
	
	if (!hasFocusedOnGoogleSearchBefore) {
		googleSearchBox.value = "";
	}
}

function hideElements() {
	for (var a = 0; a < arguments.length; a++) {
		arguments[a].style.display="none";
	}
}

function hideGESections(evt) {
	var tprDiv = document.getElementById("GE_TPR");
	var tcbDiv = document.getElementById("GE_TCB");
	var tbsDiv = document.getElementById("GE_TBS");
	var pitDiv = document.getElementById("GE_PIT");
	var dtoiDiv = document.getElementById("GE_DTOI");
	hideElements(tprDiv, tcbDiv, tbsDiv, pitDiv, dtoiDiv);
}