if ( ! window.ActiveXObject ) {

	Element.prototype.selectSingleNode = function(sXPath) {
		var oEvaluator = new XPathEvaluator();
		var oResult = oEvaluator.evaluate(sXPath, this, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
		if (oResult != null && result.singleNodeValue != null) {
			result.singleNodeValue.nodeTypedValue = result.singleNodeValue.textContent;
			return result.singleNodeValue;
		} else {
			return null;
		}              
	}
}


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 (dExchangeRate > 0)
				{
					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.documentElement.selectSingleNode("//Cube[@currency='USD']");
		var oUSD = oUSDNode.getAttribute("rate");

		return oUSD.valueOf();
	}
	catch(e)
	{
	}

	return 0;
}

var arrPrices = new Array();

function updatePrices()
{
	calculateInUSD(arrPrices);
}



