//*****************************************************************************
//CorpSite Config. 
var rolling_news_length_per_page=50;
var NewsRefreshInterval=2 * 60 * 1000; // News refresh every 2 mins = 120000
var rolling_rate = 5 * 1000; //Rolling speed of rolling news headline = 5sec/headline
//End of Config
//*****************************************************************************


var cmda_server_ip = "http://172.16.120.73:8080/";
var refreshRollingNews;
var refreshNews;
var refreshMarket;

function getMovie(movieName){
	if (navigator.appName.indexOf("Microsoft")!=-1){
		return window[movieName];
	}else{
		return document[movieName];
	}
}

function methodInvoker_param(regionCode,stockCode)
{
	getMovie('CmdaIntradayChartApp').getGraphData(cmda_server_ip, 'CMDA_SERVER', regionCode, stockCode);
}

function methodInvoker(){
	getMovie('CmdaIntradayChartApp').getGraphData(cmda_server_ip, 'CMDA_SERVER', 'HKG', 'HSI');
}





function handleMarket() {
	var json;
	if (refreshMarket)
    {
    	stopTimer(refreshMarket);
    }

	$('#hiddenStockCode').val( $('#stockCode').val() );
	
	
	$.post("GetMarketData", { stockcode: $('#stockCode').val() }, function(market_json){
			  $("#instruCode").text(market_json.instruCode);
			  $("#highPrice").text(market_json.highPrice);
			  $("#lowPrice").text(market_json.lowPrice);
			  $("#volume").text(market_json.volume);
			  $("#bidPrice").text(market_json.bidPrice);
			  $("#askPrice").text(market_json.askPrice);
			  $("#lastPrice").text(market_json.lastPrice);
			  $("#turnover").text(market_json.turnover);
			  $("#exchangeCode").text(market_json.exchangeCode);
			  $("#change").text(market_json.change);
			  $("#Lot").text(market_json.lotSize);
			  $("#stockName").text(market_json.stockName);
			  $("#PrvCls").text(market_json.closingPrice);
			  $("#percentage").text(market_json.percentage);
			  $("#stock_update_time").text(market_json.stock_update_time);
			  try
			  {
				  getMovie('CmdaIntradayChartApp').getGraphData(cmda_server_ip, 'CMDA_SERVER', market_json.exchangeCode, market_json.instruCode);
			  }
			catch(err)
			  {
			  }
				  
			},"json");
	
	

}


function flash(stockcode)
{
	var stock_array;
	var hiddenStock = document.getElementById("hiddenStockCode").value;
	
	    stock_array=hiddenStock.split(".");
		window.frames['stockFrame'].location.href = "http://172.16.120.192:8080/CMDA_SERVER/intradayChart/CmdaIntradayChartApp.jsp?exchCode="+stock_array[1]+"&instCode="+stock_array[0];
		//window.frames['stockFrame'].src = "http://172.16.120.203:8080/CMDA_SERVER/intradayChart/CmdaIntradayChartApp.jsp?exchCode=HKG&instCode=HSI";
}

function displayError(){
	try{
		$('#newspaging').html("");
	}catch(ex){}
	try{
		$('#news_header_text').html("NEWS");
	}catch(ex){}
	try{
		$('#dynamicNews').html("");
		var newsrow_html = "";
		newsrow_html = 
			"<span class=\"no-result\">"
	     	+"(Service Temporarily Unavailable)"
			+"</span>";
		$('#dynamicNews').append(newsrow_html);
	}catch(ex){}
}

function handleNews(load_page, urlOfContext, urlOfNews) {
	
	if (refreshNews)
    {
    	stopTimer(refreshNews);
    }
	
	$.ajax({
		   type: "GET",
		   url: "GetNews?currentpage="+load_page,
		   dataType:"json",
		   cache:false,
		   success: function(msg)
		   {
		   		if (msg.result == 'error'){
					displayError();
				} else { //success
					//DISPLAY TOPSTORIES
					 var newsLink ={};
					 var curFontSize = getCookie("fontsize");
					 if (curFontSize == "") curFontSize = 1;
					 
					 $('#newspaging').html("");
					 $('#dynamicNews').html("");
					 $('#news_header_text').html("NEWS");
					 $.each(msg.result, function(i, val)
							 {
						 		newsLink[i] = urlOfNews;
						 		var newsrow_html = "<div class='newsrow' style='color: rgb(255, 255, 255);' "
									 +"onmouseover=\"this.style.cursor='pointer';\">"
									 +"<a style='color: rgb(255, 255, 255);' href=\""+newsLink[i]+"\">"
									 +"<span class='content11pink" + curFontSize + "'>"
									 + val.create_datetime +" "
									 + val.source +" </span>";
						 		if (val.isFlash == 'Y') {
						 			newsrow_html += "<span class='flash_newsrow_span" + curFontSize + "' style='color: rgb(255, 255, 255);'>";
						 		} else {
						 			newsrow_html += "<span class='newsrow_span" + curFontSize + "' style='color: rgb(255, 255, 255);'>";
						 		}
						 		newsrow_html += val.headline.replace("|", "<br>") +"</span></a></div>";
						 		$('#dynamicNews').append(newsrow_html);
							 });

			// Link to show thickbox (Set thickbox width & height here)
					 $('.newsrow').hover(
							  function () {
									 this.style.cursor='pointer';
								  }
								);
					 
			// NEWS PAGING BUTTON
					 if (msg.prev_page!= -1){
						 $('#newspaging').append("<a id='newspaging_prev' style='color: rgb(153, 153, 153);' "
								 + "href=\"index.html?page="+(msg.prev_page)+"\""
								 + "onmouseout='mouseOut_paging(this);' onmouseover='mouseOver_paging(this);'>"
			        			 + "&lt;&lt;&lt; Previous </a>");
					 	 $('#newspaging_prev').click(function ()
			        					 {
			        				 		$('#news_header_text').text('NEWS (LOADING...)');
			        				 		clear_newspaging();
			        					 });
					 }
			         if (msg.next_page!= -1)
			         {
			         	$('#newspaging').append("<a id='newspaging_next' style='color: rgb(153, 153, 153);' "
			         			 + "href=\"index.html?page="+(msg.next_page)+"\""
			        			 + "onmouseout='mouseOut_paging(this);' onmouseover='mouseOver_paging(this);'>"
			        			 + "Next &gt;&gt;&gt; </a>");
			        	 $('#newspaging_next').click(function ()
			        					 {
			        				 		$('#news_header_text').text('NEWS (LOADING...)');
			        				 		clear_newspaging();
			        					 });
			         }
			         
			//set refresh interval upon success
			         refreshNews = setTimeout(function(){
						   handleNews(msg.current_page, urlOfContext, urlOfNews);
					    }, NewsRefreshInterval);
			    }
		   },
		   error : function (XMLHttpRequest, textStatus, errorThrown)
		   {
			   //displayError();
		   }
		   
		 });

}

function stopTimer(variable) {
	  if ( !variable ) {
	    return;
	  }
	  clearTimeout(variable);
	  variable = null;
	}



function clear_newspaging()
{
	$('#newspaging').html("");
}


function handleRollingNews(urlOfContext, back_to_page, urlOfNews) {
	
	if (refreshRollingNews)
    {
    	stopTimer(refreshRollingNews);
    }
	
	$.ajax({
		   type: "GET",
		   url: "GetRollingNews?len_per_page="+rolling_news_length_per_page,
		   dataType:"json",
		   cache:false,
		   success: function(rollingNews_json)
		   {
			var newsLink ={};
			 
			 $('#scrollup').html("");
			 $('.rollingheadline').html("");
			 
			 
			 if (rollingNews_json.result=="error"){
				 refreshRollingNews = setTimeout(function(){
					   handleRollingNews(urlOfContext, back_to_page, urlOfNews);
				    }, NewsRefreshInterval);
				 return;
			 }
				 
			 
			 $.each(rollingNews_json.result, function(i, val)
					 {
				 		newsLink[i] = urlOfNews;
						 $('#scrollup').append("<div id='rolling_news_row"+i+"' class='rollingheadline'>"
								 +"<a href=\""+newsLink[i]+"\">"
								 +"<span class='title12white' id='rolling_news_row"+(i+1)+"'>"
								 	+ val.create_datetime +" "+ val.source+"  &#8226; "+ val.headline.replace("|", " ")
								 	+"</span>"
								 	+"</a>"
								 	+"</div>");
					 });
		   // Link to show thickbox (Set thickbox width & height here)
			 $('.rollingheadline')
			 		.hover(
					  function () {
							 this.style.cursor='pointer';
						  },
						  function () {
						  }
						)
					.each(
	       			function(i)
	       			{
		        			$(this).click(
			        			function()
			        			{
			        				window.scrollTo(0,0);
			        				var link = newsLink[i];
			        				var thickBoxHeight = $('body').height()-$('#footer').height()-$('#ma_up_outer_table').height()+$('#scrollup').height();
			        				//window.location = link;
			        			}
		        			);
	       			});
			 initial_rollingNews();
			 
			 refreshRollingNews = setTimeout(function(){
				   handleRollingNews(urlOfContext, back_to_page, urlOfNews);
			    }, NewsRefreshInterval);
		   },
		   error : function (XMLHttpRequest, textStatus, errorThrown)
		   {
			   refreshRollingNews = setTimeout(function(){
				   handleRollingNews(urlOfContext, back_to_page, urlOfNews);
			    }, NewsRefreshInterval);
		   }
		   
		 });
}



function callThickBox(link, refHeight) {
    
	//var thickBoxHeight = $('body').height()-$('#footer').height()-$('#ma_up_outer_table').height()+$('#scrollup').height();
	var thickBoxHeight = refHeight -$('#footer').height()-$('#ma_up_outer_table').height()+$('#scrollup').height();
	tb_show('TopStories','GetNewsContent?height='+thickBoxHeight+'&width=910&modal=true&link='+link);
	return false;
    
}

function getCookie(name) {
	var rtn = "";
	if (document.cookie.match(new RegExp(name + "\\=([^\\;])[\\;]{0,1}", "gi")))
		rtn = unescape(RegExp.$1);
		
	return rtn;
}

