//(c)S.A. Lowell - http://www.DarkStormWorld.com

window.onload = setupValues;

var loadingImageURL = "loading.gif";
var salowellHideGiveawayInfo = true;
var salowellHideMoreInfo = true;
var salowellBusy = false;

function setupValues()
{
	document.getElementById("displayMoreInfoForm").onclick = function()
								{
									window["formShowHide"]("moreInfoFormFormHolder", "getMoreFormArea");
								}

	document.getElementById("displayGiveawayForm").onclick = function()
								{
									window["formShowHide"]("giveawayFormFormHolder", "giveawayFormArea");
								}
}

function displayLoadingImage(idToCover)
{
	var currentElement = document.getElementById(idToCover);
	currentElement.style.opacity = 0.2;

	if("filters" in currentElement)
	{
		currentElement.filters.alpha.opacity = 20;
	}

	currentElement.style["-khtml-opacity"] = 0.2;
	currentElement.style["-moz-opacity"] = 0.2;

	if(idToCover === "getMoreFormArea")
	{
		document.getElementById("getMoreLoadingImage").style.bottom = (currentElement.offsetHeight + 200) / 2 + "px";
		document.getElementById("getMoreLoadingImage").innerHTML = "<img src=\"" + loadingImageURL + "\" />";
	}
	else
	{
		document.getElementById("giveawayLoadingImage").style.bottom = (currentElement.offsetHeight + 200) / 2 + "px";
		document.getElementById("giveawayLoadingImage").innerHTML = "<img src=\"" + loadingImageURL + "\" />";
	}
}

function removeLoadingImage(idToUncover)
{
	var currentElement = document.getElementById(idToUncover);
	currentElement.style.opacity = 1;

	if("filters" in currentElement)
	{
		currentElement.filters.alpha.opacity = 100;
	}

	currentElement.style["-khtml-opacity"] = 1;
	currentElement.style["-moz-opacity"] = 1;

	if(idToUncover === "getMoreFormArea")
	{
		document.getElementById("getMoreLoadingImage").innerHTML = "";
	}
	else
	{
		document.getElementById("giveawayLoadingImage").innerHTML = "";
	}
}

function overwriteGetMore()
{
	currentElement = document.getElementById("getMoreFormArea");
	currentElement.style.height = currentElement.offsetHeight + "px";
	document.getElementById("getMoreFormAreaText").innerHTML = "<p>Thank you for submitting your Zip Code. <br />Your Airgas representative will be contacting you via email within the next several days.</p>";
	document.getElementById("moreInfoFormFormHolder").innerHTML  = "";
	formShowHide("moreInfoFormFormHolder", "getMoreFormArea");
}

function overwriteGiveaway()
{
	currentElement = document.getElementById("giveawayFormArea")
	currentElement.style.height = currentElement.offsetHeight + "px";
	document.getElementById("giveawayFormAreaText").innerHTML = "<p>Thank you for entering your email address.  <br />You're now officially entered to WIN our drawing for one of two 32-inch flat screen HDTVs!</p>";
	document.getElementById("giveawayFormFormHolder").innerHTML  = "";
	formShowHide("giveawayFormFormHolder", "giveawayFormArea");
}

function sendFormXMLHTTP_Post(idToSend, whereToSend)
{
	var phpFormId   = new Array();
	var hiddenField = document.getElementById(idToSend + "_currentForm_hiddenField");
	phpFormId.name  = hiddenField.name;
	phpFormId.value = hiddenField.value;
	var nameArr     = sendXMLHTTP_Post(idToSend + "_name",     whereToSend);
	var companyArr  = sendXMLHTTP_Post(idToSend + "_company",  whereToSend);
	var cityArr     = sendXMLHTTP_Post(idToSend + "_city",     whereToSend);
	var stateArr    = sendXMLHTTP_Post(idToSend + "_state",    whereToSend);
	var zipArr      = sendXMLHTTP_Post(idToSend + "_zip",      whereToSend);
	var emailArr    = sendXMLHTTP_Post(idToSend + "_email",    whereToSend);
	var addressArr = sendXMLHTTP_Post(idToSend + "_address",   whereToSend);

	var formToSend = new XMLHTTP();

	if(phpFormId.value === "moreInfo")
	{
		var productArr  = sendXMLHTTP_Post(idToSend + "_product",  whereToSend);
		var commentsArr = sendXMLHTTP_Post(idToSend + "_comments", whereToSend);
		var arrayToSend = new Array(phpFormId, nameArr, companyArr, cityArr, stateArr, zipArr, emailArr, commentsArr, productArr, addressArr);

		formToSend.addCode("overwriteGetMore()", 4, 1);
		formToSend.addCode("displayLoadingImage('getMoreFormArea')", 0, false);
		formToSend.addCode("removeLoadingImage('getMoreFormArea')", 4, false);
	}
	else
	{
		var titleArr       = sendXMLHTTP_Post(idToSend + "_title",    whereToSend);
		var q1Arr       = sendXMLHTTP_Post(idToSend + "_q1",    whereToSend);
		var q2Arr       = sendXMLHTTP_Post(idToSend + "_q2",    whereToSend);
		var q3Arr       = sendXMLHTTP_Post(idToSend + "_q3",    whereToSend);
		var q4Arr       = sendXMLHTTP_Post(idToSend + "_q4",    whereToSend);
		var arrayToSend = new Array(phpFormId, nameArr, companyArr, cityArr, stateArr, zipArr, emailArr, q1Arr, q2Arr, q3Arr, q4Arr, addressArr, titleArr);

		formToSend.addCode("overwriteGiveaway()", 4, 1);
		formToSend.addCode("displayLoadingImage('giveawayFormArea')", 0, false);
		formToSend.addCode("removeLoadingImage('giveawayFormArea')", 4, false);
	}

	formToSend.setXMLHTTP_Post(whereToSend, idToSend + "_ErrorReporting", arrayToSend);
	formToSend.exeXMLHTTP_Post();
	
}

function sendXMLHTTP_Post(idToSend, whereToSend)
{
	var inputElement = document.getElementById(idToSend + "_textInput");
	var dataToSend = new Array();
	dataToSend[0] = new Array();

	//aborts a previous call to the same form error check.  This prevents messages from overlapping.
	if(idToSend in g_XMLHTTP_List)
	{
		g_XMLHTTP_List[idToSend].abort();
	}

	g_XMLHTTP_List[idToSend] = new XMLHTTP();

	dataToSend[0].name  = inputElement.name;
	dataToSend[0].value = inputElement.value;
	g_XMLHTTP_List[idToSend].setXMLHTTP_Post(whereToSend, idToSend + "_ErrorReporting", dataToSend);
	g_XMLHTTP_List[idToSend].exeXMLHTTP_Post();

	return dataToSend[0];
}

function formShowHide(formContainerId, dropdownId)
{
	if(salowellBusy === true)
	{
		return;
	}

	salowellBusy      = true;
	var thisIteration = true;

	if(formContainerId === "moreInfoFormFormHolder")
	{
		if(salowellHideMoreInfo === true)
		{
			salowellHideMoreInfo = false;
			thisIteration = false;
		}
		else
		{
			salowellHideMoreInfo = true;
		}
	}
	else
	{
		if(salowellHideGiveawayInfo === true)
		{
			salowellHideGiveawayInfo = false;
			thisIteration = false;
		}
		else
		{
			salowellHideGiveawayInfo = true;
		}
	}

	if(thisIteration === false)
	{
		expandMenu(dropdownId, formContainerId);
	}
	else
	{
		fadeOutElement(formContainerId, dropdownId);
	}
}

function expandMenu(elementId, formContainerId)
{
	var currentElement = document.getElementById(elementId);
	var height = currentElement.offsetHeight + 5;
	var newHeight = document.getElementById(formContainerId).offsetHeight + 70;

	if(height <= newHeight)
	{
//currentElement.offsetheight = height + "px";
		currentElement.style.height = height + "px";
		setTimeout("expandMenu(\"" + elementId + "\", \"" + formContainerId + "\")", 1);
	}
	else
	{
//currentElement.offsetheight = "auto";
		currentElement.style.height = "auto";
		fadeInElement(formContainerId);
	}
}

function shrinkMenu(elementId)
{
	var currentElement = document.getElementById(elementId);
	var height = currentElement.offsetHeight - 5;

	if(height >= 96)
	{
//currentElement.offsetheight = height + "px";
		currentElement.style.height = height + "px";
		setTimeout("shrinkMenu(\"" + elementId + "\")", 1);
	}
	else
	{
		salowellBusy = false;
	}
}

function fadeOutElement(elementId, dropdownId)
{
	var currentElement = document.getElementById(elementId);
	var opacity = Number(currentElement.style.opacity) * 10.0 - 1.0;

	if(isNaN(opacity))
	{
		opacity = Number(currentElement.filters.alpha.opacity) * 10.0 - 1.0;
	}

	var divided = opacity / 10.0;

	if(opacity >= 0)
	{
		currentElement.style.opacity = divided;

		if("filters" in currentElement)
		{
			currentElement.filters.alpha.opacity = opacity * 10;
		}

		currentElement.style["-khtml-opacity"] = divided;
		currentElement.style["-moz-opacity"] = divided;
		setTimeout("fadeOutElement(\"" + elementId + "\", \"" + dropdownId + "\")", 100);
	}

	if(opacity <= 0)
	{
		currentElement.style.visibility = "hidden";
		shrinkMenu(dropdownId);
	}
}

function fadeInElement(elementId)
{
	var currentElement = document.getElementById(elementId);
	var opacity = Number(currentElement.style.opacity) * 10.0 + 1.0;

	if(isNaN(opacity))
	{
		opacity = Number(currentElement.filters.alpha.opacity) * 10.0 + 1.0;
	}

	var divided = opacity / 10.0;
	currentElement.style.visibility = "visible";

	if(opacity <= 10)
	{
		currentElement.style.opacity = divided;

		if("filters" in currentElement)
		{
			currentElement.filters.alpha.opacity = opacity * 10;
		}

		currentElement.style["-khtml-opacity"] = divided;
		currentElement.style["-moz-opacity"] = divided;
		setTimeout("fadeInElement(\"" + elementId + "\")", 100);
	}
	else
	{
		salowellBusy = false;
	}
}

function toggleVisibility(elmID)
{
	elmObj = document.getElementById(elmID);

	if(elmObj.style.visibility == "hidden")
	{
		elmObj.style.visibility = "visible";
		elmObj.offsetHeight = "auto";
		elmObj.style.height = "auto";
	}
	else
	{
		elmObj.style.visibility = "hidden";
		elmObj.offsetHeight = "0px";
		elmObj.style.height = "0px";


	}
}
