
function calculateInUSD(oDivToUpdate) 
{
	if (oDivToUpdate)
	{
		try
		{
			var oRequest = new XMLHttpRequest();
			
			if (oRequest)
			{

				oRequest.onreadystatechange = function() { processReqChange(oRequest, oDivToUpdate); };
				oRequest.open("GET", "/data.php", true);
				oRequest.send(null);
			}
		}
		catch(e)
		{}
	}
}

function processReqChange(oRequest, oDivToUpdate) 
{
    if (oRequest.readyState == 4) 
    {
        if (oRequest.status == 200) 
        {
			try
			{

				var oXmlDoc = oRequest.responseXML;
				var dExchangeRate = getCurrencyRate(oXmlDoc);

				if (oDivToUpdate.length && oDivToUpdate.length > 0)
				{
					for (var i = 0; i < oDivToUpdate.length; i++)
					{
						var vResult = getRoundedValue(oDivToUpdate[i].innerText.valueOf(), dExchangeRate);

						oDivToUpdate[i].innerText = "($" + vResult.toString() + ")";
						oDivToUpdate[i].style.display = "block";
					}
				}
				else
				{
					var vResult = getRoundedValue(oDivToUpdate.innerText.valueOf(), dExchangeRate);

					// update provided DIV with new value
					oDivToUpdate.innerText = "($" + vResult.toString() + ")";
					oDivToUpdate.style.display = "block";
				}
			}
			catch(e)
			{
			}
        } 
	}
}

function getRoundedValue(oOriginalValue, oRate)
{
	var dValue = oOriginalValue * oRate + 5;
	var dDivided = dValue / 10;

	return Math.ceil(dDivided) * 10;
}


function getCurrencyRate(oXmlDoc)
{
	try
	{
		var oUSDNode = oXmlDoc.selectSingleNode("//Cube[@currency='USD']");
		var oUSD = oUSDNode.getAttribute("rate");

		return oUSD.valueOf();
	}
	catch(e)
	{
	}

	return 0;
}

var arrPrices = new Array();

function updatePrices()
{
	calculateInUSD(arrPrices);
}


