var symbols = new Array();
var showAsk = "";
var showSpread = "";
var showHeader = "";
function startQuotesFeed()
{
	var symbolsParam = getQueryVariable("sym");
	showAsk = getQueryVariable("ask");
	showSpread = getQueryVariable("spread");
	showHeader = getQueryVariable("header");

	//supported symbols: EURUSD,EURGBP,EURJPY,EURCHF,EURAUD,USDCAD,USDCHF,USDJPY,GBPUSD,GBPJPY,GBPCAD,GBPCHF,AUDUSD,AUDJPY,AUDCAD,CADJPY,NZDUSD,NZDJPY,NZDCHF,CHFJPY
	if (symbolsParam == null)
		symbolsParam = "EURUSD,EURGBP,EURJPY,GBPUSD,GBPJPY,AUDUSD,USDCAD,USDCHF,NZDUSD,USDJPY";

	if (showAsk == null)
		showAsk = "0";

	if (showSpread == null)
		showSpread = "0";
		
	if (showHeader == null)
		showHeader = "0";

	arr = symbolsParam.split(",");
	for (i = 0; i < arr.length; i++)
	{
		symbols[arr[i]] = "1";
	}
	loadQuotes();
	setInterval("loadQuotes()", 5000);
}

function loadQuotes()
{
	var request    = new Ajax.Request(Ajax.RequestMethod.Post, "/DesktopModules/QuotesTicker/xmlfeed.aspx", onLoadFeed, true);
	var requests   = new Ajax.PageRequests(request);
	var connection = new Ajax.Connection(requests);
	connection.Open();        
}

function onLoadFeed(src)
{
	if (src.ReadyState == 4)
	{
		if (src.Status == 200)
		{  
			xmlXslWriter = new XMLXSLWriter();
			xmlXslWriter.xmlStr = src.ResponseText;
			xmlXslWriter.loadXMLString();
			var quotesHtml = "<table class='quote_table' cellpadding='1' cellspacing='0'>";
			
			var colspan = 5;
			var header = "<tr><td colspan='4'></td><td class='header'>Bid</td>";
			if (showAsk == "1")
			{
				colspan++;
				header = header + "<td class='header'>Ask</td>";
			}
			
			if (showSpread == "1")
			{
				colspan++;
				header = header + "<td class='header'>Spread</td>";
			}
			
			if (colspan < 7)
				header = header + "<td colspan='" + (colspan - 5) + "'></td>";
				
			header = header + "</tr>";
			
			if (showHeader == "1")
				quotesHtml = quotesHtml + "<tr><td colspan='" + colspan + "'>" + header + "</td></tr>";
					
			for (i = 0; i < xmlXslWriter.countElements("pair"); i++)
			{
				var pairSymbol = xmlXslWriter.getTagAttributeValue("pair", i, "symbol");
				if (symbols[pairSymbol] != "1")
					continue;

				var lastTickDirection = xmlXslWriter.getTagAttributeValue("pair", i, "direction");
				var lastBid = xmlXslWriter.getTagAttributeValue("pair", i, "bid");
				var lastAsk = xmlXslWriter.getTagAttributeValue("pair", i, "ask");
				var digits = 4;
				if (pairSymbol.indexOf("JPY") > -1)
					digits = 2;
					
				var lastSpread = Number(Math.pow(10, digits) * (Number(eval(lastAsk) - eval(lastBid)).toPrecision(digits))).toPrecision(1);
				
				var flagImage1 = "/DesktopModules/QuotesTicker/flags/" + pairSymbol.substring(0, 3) + ".gif";
				var flagImage2 = "/DesktopModules/QuotesTicker/flags/" + pairSymbol.substring(3) + ".gif";
				
				var tickImage = "";
				var priceClass = "";
				switch(lastTickDirection)
				{
					case "1":
						tickImage = "/DesktopModules/QuotesTicker/img/up.gif";
						priceClass = "quote_font_up";
						break;
					case "-1":
						tickImage = "/DesktopModules/QuotesTicker/img/down.gif";
						priceClass = "quote_font_down";
						break;
					default:
						tickImage = "/DesktopModules/QuotesTicker/img/same.gif";
						priceClass = "quote_font_same";
						break;
				}

				var askCell = "";
				var spreadCell = "";
				if (showAsk == "1")
					askCell = "<td class='quote_font'><font class='" + priceClass + "'>" + lastAsk + "</font></td>";
				
				if (showSpread == "1")
					spreadCell = "<td class='quote_font'><font class='" + priceClass + "'>" + lastSpread + " pips</font></td>";

				quotesHtml += "<tr><td><img src='" + flagImage1 + "' width='20' height='20' /></td><td><img src='" + flagImage2 + "' width='20' height='20' /></td><td class='quote_font'>" + pairSymbol.substring(0, 3) + "/" + pairSymbol.substring(3) + "</td><td class='quote_font'><img src='" + tickImage + "' width='12' height='12' /></td><td class='quote_font'><font class='" + priceClass + "'>" + lastBid + "</font></td>" + askCell + spreadCell + "</tr>";
			}
			quotesHtml += "</table>";
			$("quotesTable").innerHTML = quotesHtml;
		}
	}    
}
