document.write('<script type="text/javascript" src="/_script/ajax/common.js"></script>');

var oSelectedCell = null;
function showPricing(iNumPCs, iSpaceRequired, bComplex, sFrequency, sDiscount)
{
	try
	{
		oXmlHttp = getHTTPObject();
		if(oXmlHttp == null){ return true; }
		var sURL = "";
		if(!bComplex)
		{
			sURL = "http://" + window.location.host + "/purchase/pricing.asp?output=y&pcs=" + escape(iNumPCs) + "&space=" + escape(iSpaceRequired);
			oXmlHttp.open("GET", sURL, true);
			oXmlHttp.onreadystatechange = handleSimplePricingResponse;
		}
		else
		{
			sURL = "http://" + window.location.host + "/purchase/pricing.asp?discount=" + escape(sDiscount) + "&freq=" + escape(sFrequency) + "&version=complex&output=y&pcs=" + escape(iNumPCs) + "&space=" + escape(iSpaceRequired);
//			alert(sURL);
			oXmlHttp.open("GET", sURL, true);
			oXmlHttp.onreadystatechange = handleComplexPricingResponse;
		}
		oXmlHttp.send(null);
		return false;
	}
	catch(e)
	{
		alert(e)
		return true;
	}
}
function findSelectedRadioValue(oForm, sName)
{
	if(!oForm){ return false; }
	if(!oForm.elements){ return false; }
	for(var i=0; i<oForm.elements.length; i++)
	{
		if((oForm.elements[i].name == sName) && (oForm.elements[i].checked))
		{
			return oForm.elements[i].value;
		}
	}
}
function selectRadioWithValue(oForm, sName, sValue)
{
	if(!oForm){ return false; }
	if(!oForm.elements){ return false; }
	for(var i=0; i<oForm.elements.length; i++)
	{
		if((oForm.elements[i].name == sName) && (oForm.elements[i].value == sValue))
		{
			oForm.elements[i].checked = true;
			return true;
		}
	}
	return false;
}
function handleComplexPricingResponse()
{
	if(!document.getElementById){ return false; }
	if(oXmlHttp.readyState != 4){ return false; }
	// DiskSpace | Computers | Frequency| Price | DiscountCode | DiscountPercentage
	var aReturn = oXmlHttp.responseText.split("\|");
	selectRadioWithValue(document.getElementById("complexCalculator"), "diskspace"  , aReturn[0]);
	selectRadioWithValue(document.getElementById("complexCalculator"), "paymentfreq", aReturn[2]);
	var oNumPCs = document.getElementById("computers");
	if(oNumPCs){ oNumPCs.value = aReturn[1]; }
	var oDiscount = document.getElementById("discount");
	if(oDiscount){ oDiscount.value = aReturn[4]; }
	var oCell = document.getElementById("price_" + aReturn[0] + "_" + aReturn[2]);
	if(oCell)
	{
		if(oSelectedCell){ oSelectedCell.className = "colPrice"; }
		oCell.className = "colPriceSelected";
		oSelectedCell = oCell;
	}
	setInnerHTML("total_numpcs", aReturn[1]);
	setInnerHTML("total_diskspace", (aReturn[0] / 1000) + "GB");
	setInnerHTML("total_frequency", EnglishFreq(aReturn[2]));
	setInnerHTML("total_discount", aReturn[5] + "%");
	setInnerHTML("total_price", aReturn[3]);
	blinkElements("summaryCost", 2);
}
function EnglishFreq(sChar)
{
	switch(sChar.toUpperCase())
	{
		case "M":
			return "Month";
		case "Q":
			return "Quarter"
		case "A":
			return "Annual";
		default:
			return "Unknown";
	}
}
function setInnerHTML(sID, sValue)
{
	var oElement = document.getElementById(sID);
	if(!oElement){ return; }
	oElement.innerHTML = sValue;
}
function blinkElements(sName, iTimes)
{
	var oRow = document.getElementById(sName);
	if(!oRow){ return false; }
	oRow.className = (oRow.className == "") ? "blink" : "";
	if(oRow.className != "blink"){ iTimes--; }
	if(iTimes > 0) { setTimeout("blinkElements('" + sName + "', " + iTimes + ")", 500); }
}
function handleSimplePricingResponse()
{
	if(oXmlHttp.readyState != 4){ return false; }
	var aReturn = oXmlHttp.responseText.split("\|");
	var sPrice = aReturn[0];
	var sFrequency = aReturn[1];
	document.getElementById("monthlyPrice").innerHTML = sPrice;
	document.getElementById("subType").innerHTML = sFrequency;
	blinkElements("priceRow", 2);
}
function handleFormChange(oPassedForm)
{
	var oForm = this.form;
	if(!oForm){ oForm = oPassedForm; }
	if(!oForm){ oForm = this; }
	var iNumPCs = parseInt(oForm.elements["noPCs"].value, 10);
	if(isNaN(iNumPCs)) { iNumPCs = 1; }
	if(iNumPCs <= 0){ iNumPCs = 1; }
	//oForm.elements["noPCs"].value = iNumPCs;
	var iSpaceRequired = oForm.elements["spaceReq"].options[oForm.elements["spaceReq"].selectedIndex].value;
	return showPricing(iNumPCs, iSpaceRequired, false, "", "");
}
function simpleSetup(oCC)
{
	if(!oCC){ return false; }
	//oCC.onsubmit = handleFormChange;
	var oCalc = document.getElementById("calc");
	if(oCalc){ oCalc.onclick = function(){ handleFormChange(this.form); return false; } }
	var oNoPCs = document.getElementById("noPCs");
	if(oNoPCs){ oNoPCs.onkeyup = handleFormChange; }
	var oSpaceReq = document.getElementById("spaceReq");
	if(oSpaceReq){ oSpaceReq.onchange = handleFormChange; }
	return true;
}
function handleFormChangeComplex(oPassedForm)
{
	var oForm = this.form;
	if(!oForm){ oForm = oPassedForm; }
	if(!oForm){ return; }
	var iDiskSpace = findSelectedRadioValue(oForm, "diskspace");
	var sFrequency = findSelectedRadioValue(oForm, "paymentfreq");
	var sComputers = oForm.elements["computers"].value;
	if(sComputers == ""){ return false; }
	var sDiscount  = oForm.elements["discount"].value;
	showPricing(sComputers, iDiskSpace, true, sFrequency, sDiscount);
}
/* Functions added to allow a user to click a cell and select it */
	function handleComplexCellClick(oPassedCell)
	{
		var oCell = this;
		if(!oCell){ oCell = oPassedCell; }
		if(!oCell){ return false; }
		var aReturn = oCell.id.split("_");
		var oForm = document.getElementById("complexCalculator");
		selectRadioWithValue(oForm, "diskspace"   , aReturn[1]);
		selectRadioWithValue(oForm, "paymentfreq" , aReturn[2]);
		handleFormChangeComplex(oForm);
	}
	function applyComplexCellHandlers(oForm)
	{
		var aTDs = oForm.getElementsByTagName("TD");
		for(var i=0; i<aTDs.length; i++)
		{
			var oTD = aTDs[i];
			if(oTD.className == "colPrice")
			{
				oTD.onclick = handleComplexCellClick;
				oTD.style.cursor = "pointer";
			}
		}
	}
/* Ends */
function complexSetup(oCC)
{
	if(!oCC){ return false; }
	oCC.onsubmit = function()
		{
			handleFormChangeComplex(this);
			return false;
		}
	applyComplexCellHandlers(oCC);
	handleFormChangeComplex(oCC);
	var aInputs = oCC.getElementsByTagName("INPUT");
	for(var i=0; i<aInputs.length; i++)
	{
		switch(aInputs[i].type.toUpperCase())
		{
			case "TEXT":
				aInputs[i].onkeyup = handleFormChangeComplex;
				break;
			case "RADIO":
				aInputs[i].onclick = handleFormChangeComplex;
				break;
		}
	}
	var oCalcCost = document.getElementById("reCalc");
	if(oCalcCost){ oCalcCost.style.display = "none"; }
	return true;
}
function setup()
{
	if(!document.getElementById){ return false; }
	var oCC = document.getElementById("costCalculator");
	if(oCC)
	{
		simpleSetup(oCC);
	}
	else
	{
		oCC = document.getElementById("complexCalculator");
		complexSetup(oCC);
	}
}
window.onload = setup;