var Request = new function()
{
	this.pool = new Array();
	this.getXMLHttp = function(chunnel)
	{
		 if(chunnel != null)
		 {
			  for(var a = 0; a < this.pool.length; a++)
			  {
				   if(this.pool[a]["chunnel"] == chunnel)
				   {
					    if(this.pool[a]["obj"].readyState == 0 || this.pool[a]["obj"].readyState == 4)
					    {
							return this.pool[a]["obj"];
					    }
					    else 
					    {
							return "busy";
					    }
				   }
			  }
			  
			  this.pool[this.pool.length] = new Array();
			  this.pool[this.pool.length - 1]["obj"] = this.createXMLHttp();
			  this.pool[this.pool.length - 1]["chunnel"] = chunnel;
			  return this.pool[this.pool.length - 1]["obj"];
		 }
		    
		 for(var i = 0; i < this.pool.length; i++)
		 {
			  if(this.pool[i]["obj"].readyState == 0 || this.pool[i]["obj"].readyState == 4)
			  {
			  		return this.pool[i]["obj"];
			  }
		 }
		 
		 this.pool[this.pool.length] = new Array();
		 this.pool[this.pool.length - 1]["obj"] = this.createXMLHttp();
		 this.pool[this.pool.length - 1]["chunnel"] = "";
		 return this.pool[this.pool.length - 1]["obj"];
	
	}
	
	this.createXMLHttp = function()
	{
		 if(window.XMLHttpRequest)
		 {
		 	var xmlObj = new XMLHttpRequest();
		 } 
		 else 
		 {
			  var MSXML = ['Msxml2.XMLHTTP','Microsoft.XMLHTTP'];
			  for(var n = 0; n < MSXML.length; n++)
			  {
				   try
				   {
						var xmlObj = new ActiveXObject(MSXML[n]);
						break;
				   }
				   catch(e)
				   {
				   }
			  }
		 }
		 return xmlObj;
	}
	
	this.reSend = function(url,data,callback,chunnel)
	{
		 var objXMLHttp = this.getXMLHttp(chunnel)
		 
		 if(typeof(objXMLHttp) != "object")
		 {
			return;
		 }
		 
		 url += (url.indexOf("?") >= 0) ? "&nowtime=" + new Date().getTime() : "?nowtime=" + new Date().getTime();
		
		 if(data == "")
		 {
			  objXMLHttp.open('GET',url,true);
			  objXMLHttp.send('');
		 }
		 else 
		 { 
			  objXMLHttp.open('POST',url,true);
			  objXMLHttp.setRequestHeader("Content-Length",data.length); 
			  objXMLHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
			  objXMLHttp.send(data);
		 }
		 
		 if(typeof(callback) == "function")
		 {
			  objXMLHttp.onreadystatechange = function()
			  {
				   if(objXMLHttp.readyState == 4)
				   {
					    if(objXMLHttp.status == 200 || objXMLHttp.status == 304)
					    {
					    	if(objXMLHttp.responseText != '')
					    	{
					    		callback(objXMLHttp.responseXML);
					    	}
					    }
				   }
			  }
		 }
	}
}
function getCookie(n)
{
	var me = document;
	var s = n + '=';
	var r = '';
	if(me.cookie.length > 0)
	{ 
		o = me.cookie.indexOf(s);
		if(o != -1)
		{
			o += s.length;
			_e = me.cookie.indexOf(";",o);
			if(_e == -1)
				_e = me.cookie.length;
			r = unescape(me.cookie.substring(o,_e));
		}
	}
	return r;
}
function updatelive(nodes,counts)
{
	try
	{
		var rows = document.getElementById("scorelive").rows;
		
		for(var i = 0; i < counts; i ++)
		{
			var datas = nodes[i].firstChild.data.split("|");
			var hrow = rows["h" + datas[0]];
			var crow = rows["c" + datas[0]];
			
			if(!hrow || !crow)
			{
				continue;
			}
			
			hrow.setAttribute("s",datas[2]);
			hrow.setAttribute("t",datas[1]);
			
			
			hrow.cells[1].innerHTML = getTime(datas[1]) + "<br/>" + getCState(datas[2]);
			//update
			//0:matchid,1:starttime,2:state,
			//3:a_s_1,  4:a_s_2, 5:a_s_3, 6:a_s_4, 7:a_o_1, 8:a_o_2, 9:a_o_3,10:total_h,
			//11:b_s_1,12:b_s_2,13:b_s_3,14:b_s_4,15:b_o_1,16:b_o_2,17:b_o_3,18:total_c
			//15:winer
			
			hrow.cells[3].innerHTML = datas[10];
			hrow.cells[4].innerHTML = datas[3]; 
			hrow.cells[5].innerHTML = datas[5]; 
			hrow.cells[6].innerHTML = datas[7]; 
			hrow.cells[7].innerHTML = datas[8]; 
			hrow.cells[8].innerHTML = datas[9]; 
			                          
			crow.cells[1].innerHTML = datas[18]; 
			crow.cells[2].innerHTML = datas[11];
			crow.cells[3].innerHTML = datas[13];
			crow.cells[4].innerHTML = datas[15];
			crow.cells[5].innerHTML = datas[16];
			crow.cells[6].innerHTML = datas[17];
		}
		
	}
	catch(e)
	{
		//alert("updatelive:" + e.message);//test
	}
}
var utctime = 8;
function initZone()
{
	var me = document;
	var sz = me.getElementById('SelectZone');

	if(!sz)
		return;

	sz.style.left = (me.body.scrollWidth - (me.body.scrollWidth - 992) / 2 - 410) + 'px';
	var szl = sz.getElementsByTagName('ul');
	if(szl)
		for(var i = 0;i < szl.length; i++)
		{
			szl[i].onclick = function()
			{
				sz.style.display = 'none';
				var showtxt;
				var eli = this.getElementsByTagName('li');
				if(eli)
				{
					for(var i = 0; i < eli.length; i ++)
					if(eli[i].innerHTML.indexOf('GMT') != -1)
					{
						showtxt = eli[i].innerHTML;
						break;
					}
				}
				
				var exp = new Date();
				exp.setTime(exp.getTime() + 2592000000);		
				me.cookie = "CurGMT=" + escape(this.id) + ";path=/;expires=" + exp.toGMTString();
				me.cookie = "CurGMTStr=" + escape(showtxt) + ";path=/;expires=" + exp.toGMTString();

				document.getElementById("mytimezone").innerHTML = showtxt;
				if(utctime != this.id)
				{
					utctime = this.id;
					changeToMyTime();
					showZoneTip();
				}
			}
		
			szl[i].onmouseover = function()
			{
				this.style.backgroundColor = '#fff';
			}
			szl[i].onmouseout = function()
			{
				this.style.backgroundColor = 'Transparent';
			}
		}
}

function getUtc()
{
	document.getElementById('SelectZone').style.display = '';
}
function CloseUtc()
{
	document.getElementById('SelectZone').style.display = 'none';
}
function jtime()
{
	document.getElementById('livetime').innerHTML = (new Date()).toLocaleString();
}
function getRnum()
{	
	var date = new Date();
	return(date.getTime());
	
}
function getTime(str)
{
	var da = new Date(str);
	da.setMinutes(da.getMinutes() + (parseFloat(utctime) * 60));
				
	var mon = (da.getUTCMonth() + 1);
	var day = da.getUTCDate();
	var hours = da.getUTCHours();
	var min = da.getUTCMinutes();
	
	if(mon < 10)
		mon = "0" + mon;
	if(day < 10)
		day = "0" + day;
	if(hours < 10)
		hours = "0" + hours;
	if(min < 10)
		min = "0" + min;
	return mon + "-" + day + " " + hours + ":" + min;
}
function changeToMyTime()
{
	try
	{
		var rows = document.getElementById("scorelive").rows;
		for(i = 0; i < rows.length; i ++)
		{
			var s = rows[i].getAttribute("s");
			var t = rows[i].getAttribute("t");
			if(s && t)
			{	
				rows[i].cells[1].innerHTML = getTime(t) + "<br>" + getCState(s);
			}
		}
	}
	catch(e)
	{
		//alert("changeToMyTime" + e.message);
	}
}
var oldflag = '';
var updateFlag;
var updatecallback = function ReadXml(response) 
{	
	try
    {
		var flag = response.getElementsByTagName("Ft")[0].firstChild.data;
		if(flag == oldflag)
			return;
		else
			oldflag = flag;
		
		
		if(response.getElementsByTagName("Rst")[0].firstChild.data == "Y")
		{
			clearTimeout(updateFlag);
			createTable();
			return;
		}

		var nodes = response.getElementsByTagName("C");
		updatelive(nodes,nodes.length);
		
	}
	catch(e)
	{
		//alert("ReadXml:" + e.message);//test
	}
}

function doLive()
{
	try
	{
		Request.reSend("../sports/rugby/data/change.xml",'',updatecallback,'basketupdate');
		updateFlag = setTimeout("doLive()",4000);
	}
	catch(e)
	{
		//alert("doLive:" + e.message);
	}
}

function makeTable()
{
	try
	{
		var index = 0;
		var trvalue = 1;
		var len = sdata.length;
		var mtypeid = 0;
		var html = '<table ID="scorelive" ID="scorelive" cellpadding="0" cellspacing="0">';
		html += tablelable;
		
		if(len == 0)
		{
			html += '<tr style="background-color:#FFFFFF;"><td style="height:24px !important;height:25px;" colspan="11">' + nodatatip + '</td></tr>';
		}
		else
		{
			for(i = 0; i < len; i ++)
			{
				if(mtypeid != sdata[i][19])
				{
					html += '<tr mid="' + sdata[i][19] + '"><td class="MTS" onclick="dohidem(this,' + sdata[i][19] + ')">' + xx + '</td><td class="MT" colspan="8">' + sdata[i][22] + '</td></tr>';
					mtypeid = sdata[i][19];
					index = 0;
				}
				
				trvalue = index % 2 + 1;
				//sdata[0] = new Array(0:match_id,1:starttime,2:state,
				// 3:a_s_1, 4:a_s_2, 5:a_s_3, 6:a_s_4, 7:a_o_1, 8:a_o_2, 9:a_o_3,10:total_h,
				//11:b_s_1,12:b_s_2,13:b_s_3,14:b_s_4,15:b_o_1,16:b_o_2,17:b_o_3,18:total_c,
				//19:MatchTypeid,20:player1,21:player2,22:MatchType,23:winer);
				
				html += '<tr id="h' + sdata[i][0] + '" s="' + sdata[i][2] + '" t="' + sdata[i][1] + '" mid="' + sdata[i][19] + '" class="tr' + trvalue + '">';
				html += '<td class="td0" rowspan="2" onclick="dohide(this,' + sdata[i][0] + ')">' + xx + '</td>';
				html += '<td class="td1" rowspan="2"></td>';
				html += '<td class="td2">' + sdata[i][20] + '</td>';
				html += '<td class="td8">' + sdata[i][10] + '</td>';//Total
				html += '<td class="td3">' + sdata[i][3] + '</td>';//1T
				html += '<td class="td4">' + sdata[i][5] + '</td>';//3T
				html += '<td class="td5">' + sdata[i][7] + '</td>';//1o
				html += '<td class="td6">' + sdata[i][8] + '</td>';//2o
				html += '<td class="td7">' + sdata[i][9] + '</td>';//3o
				html += '</tr>';
				
				html += '<tr id="c' + sdata[i][0] + '" mid="' + sdata[i][19] + '" class="tr' + trvalue + '">';
				html += '<td class="td2">' + sdata[i][21] + '</td>';
				html += '<td class="td8">' + sdata[i][18] + '</td>';//Total
				html += '<td class="td3">' + sdata[i][11] + '</td>';//1T
				html += '<td class="td4">' + sdata[i][13] + '</td>';//3T
				html += '<td class="td5">' + sdata[i][15] + '</td>';//1o
				html += '<td class="td6">' + sdata[i][16] + '</td>';//2o
				html += '<td class="td7">' + sdata[i][17] + '</td>';//3o
				html += '</tr>';
				
				index ++;
			}
		}
		html += '</table>';
		
		document.getElementById("MatchsBody").innerHTML = html;
		
		tohide();
	}
	catch(e)
	{
		//alert("makeTable:" + e.message);//test
	}
}
function createTable()
{
	try
	{
		loadData();
	}
	catch(e)
	{
		//alert("createTable:" + e.message);
	}
}
var hidearray = new Array();
function dohide(obj,mid)
{
	var hrow = document.getElementById("h" + mid);
	var crow = document.getElementById("c" + mid);
	hrow.style.display = 'none';
	crow.style.display = 'none';
	hidearray.push("h" + mid);
	hidearray.push("c" + mid);
	document.getElementById("mhc").innerHTML = hidearray.length / 2;
	
	checkSH();
}
function dohidem(obj,mtid)
{
	var rows = document.getElementById("scorelive").rows;
	for(i = 0; i < rows.length; i ++)
	{
		var mid = rows[i].getAttribute("mid");
		if(rows[i].style.display == '' && mid && mid == mtid)
		{
			if(rows[i].id && rows[i].style.display == '')
			{
				hidearray.push(rows[i].id);
			}
			rows[i].style.display = "none";
		}
	}
	document.getElementById("mhc").innerHTML = hidearray.length / 2;
	
	checkSH();
}
function sh()
{
	var rows = document.getElementById("scorelive").rows;
	for(i = 0; i < rows.length; i ++)
	{
		rows[i].style.display = "";
	}
	document.getElementById("mhc").innerHTML = "0";
	hidearray = new Array();
}
function tohide()
{
	if(hidearray.length != 0)
	{
		var rows = document.getElementById("scorelive").rows;
		var rowcount = rows.length;
		var count = hidearray.length;
		for(j = 0; j < count; j ++)
		{
			try
			{
				rows[hidearray[j]].style.display = 'none';
			}
			catch(e)
			{
			}
		}
		
		checkSH();
	}
	document.getElementById("mhc").innerHTML = hidearray.length / 2;
}
function checkSH()
{
	var matchrow;
	var hasselect = false;
	var rows = document.getElementById("scorelive").rows;
	var rowcount = rows.length;
		
	for(i = 1; i < rowcount; i ++)
	{
		if(rows[i].id)
		{
			if(rows[i].style.display == '')
				hasselect = true;
		}
		else
		{
			if(hasselect && matchrow)
			{
				matchrow.style.display = "";
			}
			hasselect = false;
			matchrow = rows[i];
			matchrow.style.display = "none";
		}
		
	}
	
	if(hasselect && matchrow)
		matchrow.style.display = "";
}

window.onload = function()
{
	if(document.cookie.indexOf("CurGMT=") != -1)
	{
		utctime = getCookie('CurGMT');
		document.getElementById("mytimezone").innerHTML = getCookie('CurGMTStr');
	}
	
	createTable();
	
	initZone();
	
	showZoneTip();
	
	Adv_8322();
	LoadCurrentNetWork();
if(document.getElementById("iframe1") != null)
{
document.getElementById("iframe1").src="/Adv8322/iframeAdv/1.html";
}
if(document.getElementById("iframe2") != null)
{
document.getElementById("iframe2").src="/Adv8322/iframeAdv/2.html";
}
}