var pushPage = new PushPage();

$(document).ready(function(){
	initLS();
	initLSIndexTable();
  initTopBanners();
	checkYahooStatus();
  initControls();
});

function initLS()
{
	pushPage.context.setDomain("bmsc.com.vn");
	pushPage.context.setDebugAlertsOnClientError(false);
	pushPage.onEngineCreation = function(engine)
	{
		if (engine != null)
		{
			engine.context.setDebugAlertsOnClientError(false);
			engine.connection.setLSHost("push1.bmsc.com.vn");
			engine.connection.setLSPort(80);
			engine.connection.setAdapterName("PRICE_ONLINE_ADAPTER");
			engine.changeStatus("STREAMING");
		}
	};
	pushPage.bind();
	pushPage.createEngine("BMSCOnline", "/js/ls/", "SHARE_SESSION");
}

function initLSIndexTable()
{
	var table = new OverwriteTable(null, null, "MERGE");
	table.setDataAdapter("DEFAULT");
	table.setSnapshotRequired(true);
	table.setPushedHtmlEnabled(true);
	table.onChangingValues = formatHeaderValues;
	pushPage.addTable(table, "i");
}

function initTopBanners()
{
  $("#topBanner").jshowoff({
		speed: 5000,
		controls: false
	});
}

function formatHeaderValues(itemPos, visualUpdateInfo, itemName)
{
	if (visualUpdateInfo != null)
	{
		var hot = "#FF6", cold = "#FFF";
		visualUpdateInfo.setRowAttribute(hot, cold, "backgroundColor");
		visualUpdateInfo.setAttribute("MTCH_CHNG", hot, null, "backgroundColor");
		visualUpdateInfo.setAttribute("MTCH_PERCENT", hot, null, "backgroundColor");
		visualUpdateInfo.setAttribute("MTCHPRICE", hot, null, "backgroundColor");
		visualUpdateInfo.setAttribute("HPRICE", hot, "#F5F5F5", "backgroundColor");
		visualUpdateInfo.setAttribute("LPRICE", hot, "#F5F5F5", "backgroundColor");
		visualUpdateInfo.setHotTime(1000);

		if (itemName == "iHNX")
		{
			var indexValue = visualUpdateInfo.getFormattedValue("MKINDEX");
			var indexCSS = "";
			var change = visualUpdateInfo.getFormattedValue("MKCHNG");
			var totalValue = visualUpdateInfo.getFormattedValue("TVALUE");
			var indexChange = change;
			if (indexChange != null)
			{
				indexChange = parseFloat(indexChange);
				if (indexChange > 0)
					indexCSS = "up";
				else if (indexChange < 0)
					indexCSS = "dn";
				var percentChange = visualUpdateInfo.getFormattedValue("MKPCENT");
				if (!isNaN(indexChange))
					visualUpdateInfo.setFormattedValue("MKCHNG", "<span class='" + indexCSS + "'>" + change + "</span>");
				if (percentChange != null)
					visualUpdateInfo.setFormattedValue("MKPCENT", "<span class='" + indexCSS + "'>" + percentChange + "</span>");
				if (indexChange > 0)
					visualUpdateInfo.setFormattedValue("MKINDEX", "<span class='i-number blue'>" + indexValue + "</span>");
				else if (indexChange < 0)
					visualUpdateInfo.setFormattedValue("MKINDEX", "<span class='i-number red'>" + indexValue + "</span>");
				else
					visualUpdateInfo.setFormattedValue("MKINDEX", "<span class='i-number yellow'>" + indexValue + "</span>");
			}
			if (totalValue != null){
				totalValue = totalValue.replace(/,/g, "");
				totalValue = parseInt(totalValue) / 1000000000;
				totalValue = Math.round(totalValue * 100) / 100;
				if (!isNaN(totalValue))
					visualUpdateInfo.setFormattedValue("TVALUE", totalValue + " tỷ");
				else
					visualUpdateInfo.setFormattedValue("TVALUE", "&nbsp;");
			}
		}
		else if (itemName == "iHSX")
		{
			var indexValue = visualUpdateInfo.getFormattedValue("MKINDEX");
			var indexCSS = "";
			var change = visualUpdateInfo.getFormattedValue("MKCHNG");
			var totalValue = visualUpdateInfo.getFormattedValue("TVALUE");
			var indexChange = change;
			if (indexChange != null)
			{
				indexChange = parseFloat(indexChange);
				if (indexChange > 0)
					indexCSS = "up";
				else if (indexChange < 0)
					indexCSS = "dn";
				var percentChange = visualUpdateInfo.getFormattedValue("MKPCENT");
				if (!isNaN(indexChange))
					visualUpdateInfo.setFormattedValue("MKCHNG", "<span class='" + indexCSS + "'>" + change + "</span>");
				if (percentChange != null)
					visualUpdateInfo.setFormattedValue("MKPCENT", "<span class='" + indexCSS + "'>" + percentChange + "</span>");
				if (indexChange > 0)
					visualUpdateInfo.setFormattedValue("MKINDEX", "<span class='i-number blue'>" + indexValue + "</span>");
				else if (indexChange < 0)
					visualUpdateInfo.setFormattedValue("MKINDEX", "<span class='i-number red'>" + indexValue + "</span>");
				else
					visualUpdateInfo.setFormattedValue("MKINDEX", "<span class='i-number yellow'>" + indexValue + "</span>");
			}

			if (totalValue != null){
				totalValue = totalValue.replace(/,/g, "");
				totalValue = parseInt(totalValue) / 1000000000;
				totalValue = Math.round(totalValue * 100) / 100;
				if (!isNaN(totalValue))
					visualUpdateInfo.setFormattedValue("TVALUE", totalValue + " tỷ");
				else
					visualUpdateInfo.setFormattedValue("TVALUE", "&nbsp;");
			}

			var currentStatus = visualUpdateInfo.getFormattedValue("MK_STAT");
			if (currentStatus != null)
			{
				if ((currentStatus == "P") || (currentStatus == "A"))
				{
					$("#isHSXTempCalculate").css("display", "");
					$("#isHSXTempCalculate").html("<span style='font-size: 9px;'><span style='font-weight: bold; color: #F00;'>BMSC</span> TẠM TÍNH</span>");
				}
				else
				{
					$("#isHSXTempCalculate").css("display", "none");
					$("#isHSXTempCalculate").html("&nbsp;");
				}
			}
		}
	}
}

function checkYahooStatus()
{
	$.get("/json/getyahoostatus", {}, function(data){
		var jsonData = $.parseJSON(data);
		if (jsonData.code == 0)
		{
			for (var i = 0; i < jsonData.data.length; i++)
			{
				var html = "";
				if (jsonData.data[i].STATUS == 1)
					html = "<img border='0' src='/images/yahoo_online.gif'>";
				else
					html = "<img border='0' src='/images/yahoo_offline.gif'>";
				$("#yahoo_" + jsonData.data[i].NICKNAME).html(html);
			}
		}
	});
}

function initControls()
{
  $("#listedSearchBox").autocomplete({
		minLength: 2,
		source: "/json/symbolauto"
	});

  $("#listedSearchBox2").autocomplete({
		minLength: 2,
		source: "/json/symbolauto"
	});
}
