// Rate Calculations 13 jan 09
var currencies = new Spry.Data.XMLDataSet("currencies2.xml", "currencies/currency");
var RoomRates = new Spry.Data.XMLDataSet("room-rates.xml", "rooms/room", { subPaths: "rates" });
var RoomRatesSS = new Spry.Data.XMLDataSet("room-rates.xml", "rooms/room[description='Superior Studio']", { subPaths: "rates" });
var RoomRatesDS = new Spry.Data.XMLDataSet("room-rates.xml", "rooms/room[description='Deluxe Studio']", { subPaths: "rates" });
var RoomRatesGDS = new Spry.Data.XMLDataSet("room-rates.xml", "rooms/room[description='Grand Deluxe Studio']", { subPaths: "rates" });
var RoomRatesPV1 = new Spry.Data.XMLDataSet("room-rates.xml", "rooms/room[description='Pool Villa - 1 Bedroom']", { subPaths: "rates" });

function FormattedPrice(region, lookupFunc)
	{ 
	  return "$" + parseInt(lookupFunc("{rate}")).toFixed(2);
	}
function FXrate2(region, lookupFunc)
	{ 
		var FX_rate = lookupFunc("{description}");
		switch(FX_rate)
		{
			case "Superior Studio" : FX_rate = (lookupFunc("{RoomRatesSS::rates/rate2}") / lookupFunc("{currencies::rate}")); break;
			case "Deluxe Studio" : FX_rate = (lookupFunc("{RoomRatesDS::rates/rate2}") / lookupFunc("{currencies::rate}")); break;
			case "Grand Deluxe Studio" : FX_rate = (lookupFunc("{RoomRatesGDS::rates/rate2}") / lookupFunc("{currencies::rate}")); break;
			default : FX_rate = (lookupFunc("{RoomRatesPV1::rates/rate2}") / lookupFunc("{currencies::rate}"));	
		}
		FX_rate = addCommas(FX_rate);
   		return FX_rate;
	}	
function FXrate3(region, lookupFunc)
	{
		var FX_rate = lookupFunc("{description}");
		switch(FX_rate)
		{
			case "Superior Studio" : FX_rate = (lookupFunc("{RoomRatesSS::rates/rate3}") / lookupFunc("{currencies::rate}")); break;
			case "Deluxe Studio" : FX_rate = (lookupFunc("{RoomRatesDS::rates/rate3}") / lookupFunc("{currencies::rate}")); break;
			case "Grand Deluxe Studio" : FX_rate = (lookupFunc("{RoomRatesGDS::rates/rate3}") / lookupFunc("{currencies::rate}")); break;
			default : FX_rate = (lookupFunc("{RoomRatesPV1::rates/rate3}") / lookupFunc("{currencies::rate}"));	
		}
		FX_rate = addCommas(FX_rate);
   		return FX_rate;
	}
function addCommas(nStr)
	{
 		nStr = nStr.toFixed(0);
		nStr += '';
 		x = nStr.split('.');
		x1 = x[0];
 		x2 = x.length > 1 ? '.' + x[1] : '';
 		var rgx = /(\d+)(\d{3})/;
 		while (rgx.test(x1)) {
  			x1 = x1.replace(rgx, '$1' + ',' + '$2');
 		}
 		return x1 + x2;
	}