﻿


//===============================
//定义namespace
var NBA = new Object();


//公共变量
NBA.SplitDomain="$";

NBA.SplitColumn="^";
NBA.SplitRecord="~";
NBA.DataMessage="live/data/index_live.js";

NBA.first=true;

//==============================
//数据定义



//比赛变化信息项类
NBA.MatchChg=function(infoStr,type){
	var infoArr=infoStr.split(NBA.SplitColumn);
	this.SeasonId=infoArr[0];
	this.LeagueId=infoArr[1];
	this.Turn=infoArr[2];


	this.Group=infoArr[3];
    this.T1English=infoArr[4];
	this.T1Tr=infoArr[5];
	this.T1Logo=infoArr[6];
	this.T1Range=infoArr[7];
	this.T2English=infoArr[8];
	this.T2Tr=infoArr[9];


	this.T2Logo=infoArr[10];
	this.T2Range=infoArr[11];

	this.Status=infoArr[12];



	  if(type==1){

	   this.matchTimeUTC = parseInt(infoArr[13], 10);
    this.matchTime = new Date(this.matchTimeUTC * 1000);

	 }
	

    else

   this.MatchTime=infoArr[13];


	

     if(type==1||type==2){


	this.Score=infoArr[14];



   if(type==1){


 this.HalfMatchTimeUTC = parseInt(infoArr[15], 10);
    this.HalfMatchTime = new Date(this.HalfMatchTimeUTC * 1000);
   
   }
    else

    this.HalfMatchTime=infoArr[15];



     this.getRunTime = function(thisTime) {


			   this.runTime = null;
			   if(this.Status=="上") {  //上
				 this.runTime = parseInt((thisTime - this.matchTimeUTC)/60);
				 if(this.runTime<0)
				   this.runTime = 0;
				 else if(this.runTime>45)
				   this.runTime = "45+";
			   } else if(this.Status=="下") {  //下
				 this.runTime = parseInt((thisTime - this.HalfMatchTimeUTC)/60) + 46;
				 if(this.runTime<46)
				   this.runTime = 46;
				 else if(this.runTime>90)
				   this.runTime = "90+";
			   }
			   return this.runTime!=null?(" "+this.runTime+"'"):"";
			 }
		        


   

  	this.HalfScore=infoArr[16];



     
          


   }




   if(type==1){



     this.Islive=infoArr[17];
   }



      if(type==2){

	 this.T4Time=parseInt(infoArr[17]/60)+"'"+infoArr[17]%60;

	 this.FullScore=infoArr[18];
	 this.T1Score=infoArr[19];
	 this.T2Score=infoArr[20];
	 this.T3Score=infoArr[21];
	 this.T4Score=infoArr[22];


           this.Islive=infoArr[23];

          }


	}



NBA.Botton=function(infoStr){
	var infoArr=infoStr.split(NBA.SplitColumn);
	this.MatchTime=parseInt(infoArr[0]/60)+"'";
	this.Sth=infoArr[1];
	this.PersonName=infoArr[2];
	this.TeamName=infoArr[3];


}
NBA.getRndStr = function(len) {
  var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
  var ret = "", n;
  for (var i=0; i<len; i++) {
    n = Math.round(Math.random()*(str.length-1));
    ret += str.substring(n, n+1);
  }
  return ret;
}
  
	
			
//通用列表类，类似hashtable
NBA.List=function(infoStr){
	this.Items=new Object();
	this.GetArray=function(){
		var iterArr=new Array();
		var i=0;

 		for(var k in this.Items){
			if(typeof(this.Items[k])!="undefined"){
				iterArr[i]=this.Items[k];
				i++;
			}
		}
		return iterArr;
	}
	this.Add = function(key,value){
		if(typeof(key)!="undefined"){
				this.Items[key]=typeof(value)=="undefined"?null:value;
		}
	}
	this.Count = function(){
		var i=0;
		for(var k in this.Items){
			if(typeof(this.Items[k])!="undefined")
				i++;
		}
		return i;
	}
	this.GetByIndex = function (itemIndex){
		var i=0;
		for(var k in this.Items){
			if(i==parseInt(itemIndex, 10)){
				return this.Items[k];
			}
			i++;
		}
	}
	this.Get = function(key){
		return this.Items[key];
	}
	this.Clear=function(){
		for(var k in this.Items){
			delete this.Items[k];
		}
		delete this.Items;
		this.Items=null;
		this.Items=new Object();
	}
}

NBA.scroll_mar=function(){
    var div = document.getElementById('div_mar');
    var tb = document.getElementById('tb_cc');
    if(div && tb && tb.rows[0].cells.length>1) {
      div.scrollLeft += 2;
      if(div.scrollLeft > tb.rows[0].cells[1].offsetLeft)
        div.scrollLeft -= tb.rows[0].cells[1].offsetLeft;
    }
    window.setTimeout(NBA.scroll_mar, 75);
  }
NBA.scroll_mar();

  NBA.start_mar=function() {
    var tb = document.getElementById('tb_cc');
    if(tb) {
      var td = tb.rows[0].insertCell(-1);
      td.noWrap = true;
	  td.style.paddingLeft = "200px";
      td.innerHTML = tb.rows[0].cells[0].innerHTML;
    }
  }



NBA.InitMessage=function(){

	$.ajax({
			type: "GET",
			url: NBA.DataMessage+"?"+NBA.getRndStr(10),
			dataType: "html",
		    success: NBA.DataMessageHandler
          });

   window.setTimeout(NBA.InitMessage,25000);

}



var datastr = "";
NBA.DataMessageHandler=function(data){
	//分隔大数据域
   if(!data) return;
   NBA.MatchStr= [];
	var domains=data.split(NBA.SplitDomain);
     NBA.MatchList = new NBA.List();



    var matchIdDomain=domains[0].split(NBA.SplitColumn);
        
		 
		
	var topdata=new NBA.MatchChg(domains[1],matchIdDomain[1]);


	var matchDomain=domains[2].split(NBA.SplitRecord);

	
	for(var i=0;i<matchDomain.length;i++){
        if(matchDomain[i].length>5) {
			var matchItem=new NBA.Botton(matchDomain[i]);
			NBA.MatchList.Add(i,matchItem);


         }
	}
  

	  if(matchIdDomain[1]==0){

 document.getElementById("fbGamesFo_7").style.display= "none";
	 

    if(NBA.first) {
	chgview(2);
	NBA.first=false;
	}
      

   }
	  else{

 document.getElementById("fbGamesFo_7").style.display= "";

if(!NBA.first) {
  NBA.first=true;
  chgzhibo();
}


	  }

     

  NBA.MatchListArray = NBA.MatchList.GetArray();


            if(matchIdDomain[1]==1){

  	NBA.MatchStr.push("<div  style=\"cursor:pointer;position:relative;\"   >");


	NBA.MatchStr.push("<b class=\"xtop\"><b class=\"xb1\"></b><b class=\"xb2\" style=\"background: #00294F;\"></b><b class=\"xb3\" style=\"background: #00294F; \"></b><b class=\"xb4\" style=\"background: #00294F;\"></b></b>");




    NBA.MatchStr.push("<div style=\"background: #00294F;  color: #fff;\"><center>"+topdata.SeasonId+" "+topdata.LeagueId+" "+topdata.Group+(topdata.Group?"组":"")+" "+(topdata.Turn?"第":"")+topdata.Turn+(topdata.Turn?"轮":"")+"</center>");


    if(topdata.Islive==1){

NBA.MatchStr.push(" <span> <a style=\"color:#fff; position:absolute; right:5px; top:5px;\" href=\"http://app.gooooal.com/video.do?method=showMatchLive&matchType=1&matchId="+matchIdDomain[2]+"\" target=\"_blank\">视频直播</a><span> ");
    }






NBA.MatchStr.push("</div><div onclick=\"window.open('http://app.gooooal.com/analysisEventsNew.do?med=doMain&language=tr&matchId="+matchIdDomain[2]+"')\" style=\"background: #004C96 url(http://pic.gooooal.com/userCenter/images/main_live_bg.gif) repeat-x; border-bottom: solid 1px #4079B0;\"><div style=\"background: url(http://pic.gooooal.com/userCenter/images/main_live_bg_smart.gif) no-repeat top left; padding: 1px 0 0 0;\"><table width=\"98%\" align=\"center\"><tr>");


  NBA.MatchStr.push("<td width=\"35%\" align=\"center\" valign=\"top\"><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><div class=\"teamLogo\"><img  src=\""+topdata.T1Logo+"\"/></div></td></tr></table>");
 NBA.MatchStr.push("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><div style=\"margin: 0 3px; color: #fff; line-height: 140%; color: #FFFFFF;\" align=\"center\"><span class=\"txt_14\"><strong>"+topdata.T1English+"</strong>"+(topdata.T1Range?"[":"")+topdata.T1Range+(topdata.T1Range?"]":"")+"</span><br />"+topdata.T1Tr+"</div></div></td></tr></table></td>");




  NBA.MatchStr.push("<td width=\"\" style=\"background: #0088D6 url(http://pic.gooooal.com/userCenter/images/main_live_bf_bg.gif) no-repeat top left; border-left: solid 1px #73C0EB; border-right: solid 1px #73C0EB; color: #E8F3FA;\"><center>"+topdata.Status+" "+(topdata.getRunTime(matchIdDomain[0])?"TIME:":"")+topdata.getRunTime(matchIdDomain[0])+"</center><div style=\"padding-top: 5px;\"></div><center><span style=\"font-size: 24px;color: orange;\"  ><strong>"+topdata.Score+"</strong></span></center><div style=\"padding-top: 5px;\"></div><center>HALF "+topdata.HalfScore+"</center></td>");






  NBA.MatchStr.push("<td width=\"35%\" align=\"center\" valign=\"top\"><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><div class=\"teamLogo\"><img  src=\""+topdata.T2Logo+"\"/></div></td></tr></table>");
 NBA.MatchStr.push("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><div style=\"margin: 0 3px; color: #fff; line-height: 140%; color: #FFFFFF;\" align=\"center\"><span class=\"txt_14\"><strong>"+topdata.T2English+"</strong>"+(topdata.T2Range?"[":"")+topdata.T2Range+(topdata.T2Range?"]":"")+"</span><br />"+topdata.T2Tr+"</div></div></td></tr></table></td>");
    NBA.MatchStr.push("</tr></table></div></div>");

 
  NBA.MatchStr.push(" <div style=\"background: #00294F; color: #fff;width:385; height:25px; overflow:hidden;\"  id=\"div_mar\"><table id=\"tb_cc\"><tr><td nowrap style='padding-left:200px;'>"  );

 
 
 ///  NBA.MatchStr.push("<marquee id=\"myMarquee_"+matchIdDomain[2]+"\" loop=\"-1\"   onMouseOut=\"this.start();\"  onMouseOver=\"this.stop();\"  scrollamount=\"2\"  style=\"background: #00294F; color: #fff;\">");
    

	var stime="";

	var steam="";
   for(var i=0;i<NBA.MatchListArray.length;i++){
		var MatchItem=NBA.MatchListArray[i];

     
   


if(i>0)




    NBA.MatchStr.push( "&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp; ");
	   

	 if(stime==MatchItem.MatchTime&&MatchItem.Sth.indexOf("场")!=-1&&steam==MatchItem.TeamName)




    NBA.MatchStr.push( " "+MatchItem.Sth+" "+ MatchItem.PersonName+" ("+MatchItem.TeamName+") ");


	 else{

	


    NBA.MatchStr.push(" "+MatchItem.MatchTime+" "+MatchItem.Sth+" "+ MatchItem.PersonName+" ("+MatchItem.TeamName+") ");

	 }

     stime = MatchItem.MatchTime;

	 steam=  MatchItem.TeamName;


   }

 ////  NBA.MatchStr.push("</marquee>");

   
 NBA.MatchStr.push(" </td></tr></table></div>");

      

	 
NBA.MatchStr.push("<b class=\"xbottom\"><b class=\"xb4\" style=\"background: #00294F;\"></b><b class=\"xb3\" style=\"background: #00294F;\"></b><b class=\"xb2\" style=\"background: #00294F;\"></b><b class=\"xb1\"></b></b></div>");



   }


        if(matchIdDomain[1]==2){

			
  	NBA.MatchStr.push("<div style=\"cursor:pointer;position:relative;\" >");
	NBA.MatchStr.push("<b class=\"xtop\"><b class=\"xb1\"></b><b class=\"xb2\" style=\"background: #00294F;\"></b><b class=\"xb3\" style=\"background: #00294F; \"></b><b class=\"xb4\" style=\"background: #00294F;\"></b></b>");




        NBA.MatchStr.push("<div style=\"background: #00294F;  color: #fff;\"><center>"+topdata.SeasonId+topdata.LeagueId+topdata.Turn+"</center>");

                  
       if(topdata.Islive==1){

   NBA.MatchStr.push(" <span> <a style=\"color:#fff; position:absolute; right:5px; top:5px;\" href=\"http://app.gooooal.com/video.do?method=showMatchLive&matchType=2&matchId="+matchIdDomain[2]+"\" target=\"_blank\">视频直播</a><span> ");
        }







     NBA.MatchStr.push("</div><div onclick=\"window.open('http://www.gooooal.com/live/bks_stat.html?m="+matchIdDomain[2]+"&l=cn')\" style=\"background: #004C96 url(http://pic.gooooal.com/userCenter/images/main_live_bg.gif) repeat-x; border-bottom: solid 1px #4079B0;\"><div style=\"background: url(http://pic.gooooal.com/userCenter/images/main_live_bg_smart.gif) no-repeat top left; padding: 1px 0 0 0;\"><table width=\"98%\" align=\"center\"><tr>");

  NBA.MatchStr.push("<td width=\"38%\" align=\"center\" valign=\"top\"><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><div class=\"teamLogo\"><img  src=\""+topdata.T1Tr+"\"  width=\"60\" height=\"60\"/></div></td></tr></table>");
 NBA.MatchStr.push("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><div style=\"margin: 0 3px; color: #fff; line-height: 140%; color: #FFFFFF;\"><span class=\"txt_14\"><strong>"+topdata.Group+"</strong>"+(topdata.T1Logo?"[":"")+topdata.T1Logo+(topdata.T1Logo?"]":"")+"</span><br /><center>"+topdata.T1English+"</center>"+(topdata.T2Range=="--"?"":"OT1 "+topdata.T2Range)+"<br />"+(topdata.MatchTime=="--"?"":"OT3 "+topdata.MatchTime)+"</div></td></tr></table></td>");




  NBA.MatchStr.push("<td width=\"\" style=\"background: #0088D6 url(http://pic.gooooal.com/userCenter/images/main_live_bf_bg.gif) no-repeat top left; border-left: solid 1px #73C0EB; border-right: solid 1px #73C0EB; color: #E8F3FA;\"><div style=\"font-family: Courier New;\"><center>"+topdata.HalfMatchTime+"&nbsp;&nbsp;"+topdata.T4Time+"</center><div style=\"padding-top:5px;\"></div><center><span style=\"font-size: 24px;color: orange;\"  ><strong>"+topdata.FullScore+"</strong></span></center><center style=\"line-height: 140%;\">1st "+topdata.T1Score+"<br />2nd "+topdata.T2Score+"<br />3rd "+topdata.T3Score+"<br />4th " +topdata.T4Score+"</center></div></td>");






  NBA.MatchStr.push("<td width=\"38%\" align=\"center\" valign=\"top\"><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><div class=\"teamLogo\"><img  src=\""+topdata.T2Tr+"\" width=\"60\" height=\"60\"/></div></td></tr></table>");
 NBA.MatchStr.push("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><div style=\"margin: 0 3px; color: #fff; line-height: 140%; color: #FFFFFF;\"><span class=\"txt_14\"><strong>"+topdata.T1Range+"</strong>"+(topdata.T2Logo?"[":"")+topdata.T2Logo+(topdata.T2Logo?"]":"")+"</span><br /><center>"+topdata.T2English+"</center>"+(topdata.Status=="--"?"":"OT2  "+topdata.Status)+"<br />"+(topdata.Score=="--"?"":"OT4 "+topdata.Score)+"</div></td></tr></table></td>");




    NBA.MatchStr.push("</tr></table></div></div>");

NBA.MatchStr.push("<b class=\"xbottom\"><b class=\"xb4\" style=\"background: #00294F;\"></b><b class=\"xb3\" style=\"background: #00294F;\"></b><b class=\"xb2\" style=\"background: #00294F;\"></b><b class=\"xb1\"></b></b></div>");





   }

      if(matchIdDomain[1]==4){

  	NBA.MatchStr.push("<div style=\"cursor:pointer;\" onclick=\"window.open('http://app.gooooal.com/snkMatch.do')\">");
		  
	NBA.MatchStr.push("<b class=\"xtop\"><b class=\"xb1\"></b><b class=\"xb2\" style=\"background: #00294F;\"></b><b class=\"xb3\" style=\"background: #00294F; \"></b><b class=\"xb4\" style=\"background: #00294F;\"></b></b>");




    NBA.MatchStr.push("<div style=\"background: #00294F; color: #fff;\"><center>"+topdata.SeasonId+topdata.LeagueId+topdata.Turn+"</center></div><div style=\"background: #004C96 url(http://pic.gooooal.com/userCenter/images/main_live_bg.gif) repeat-x; border-bottom: solid 1px #4079B0;\"><div style=\"background: url(http://pic.gooooal.com/userCenter/images/main_live_bg_smart.gif) no-repeat top left; padding: 1px 0 0 0;\"><table width=\"98%\" align=\"center\"><tr>");


  NBA.MatchStr.push("<td width=\"35%\" align=\"center\" valign=\"top\"><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><div style=\"margin: 5px;\"><img  src=\""+topdata.T1Logo+"\" width=\"90\" height=\"67\"/></div></td></tr></table>");
 NBA.MatchStr.push("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><div style=\"margin: 0 3px; color: #fff; line-height: 140%; color: #FFFFFF;\"><span class=\"txt_14\"><strong>"+topdata.T1English+"</strong></span><br /><center>"+topdata.T1Tr+"</center></div></td></tr></table></td>");




  NBA.MatchStr.push("<td width=\"\" style=\"background: #0088D6 url(http://pic.gooooal.com/userCenter/images/main_live_bf_bg.gif) no-repeat top left; border-left: solid 1px #73C0EB; border-right: solid 1px #73C0EB; color: #E8F3FA;\"><center>第"+topdata.T2Logo+"局</center><center><span style=\"font-size: 24px;color: orange;\"  ><strong>"+topdata.T2Range+" ("+topdata.Status+") "+topdata.MatchTime+"</strong></span></center></td>");






  NBA.MatchStr.push("<td width=\"35%\" align=\"center\" valign=\"top\"><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><div style=\"margin: 5px;\" ><img  src=\""+topdata.T2Tr+"\" width=\"90\" height=\"67\"/></div></td></tr></table>");
 NBA.MatchStr.push("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><div style=\"margin: 0 3px; color: #fff; line-height: 140%; color: #FFFFFF;\"><span class=\"txt_14\"><strong>"+topdata.T1Range+"</strong></span><br /><center>"+topdata.T2English+"</center></div></td></tr></table></td>");




    NBA.MatchStr.push("</tr></table></div></div>");

NBA.MatchStr.push("<b class=\"xbottom\"><b class=\"xb4\" style=\"background: #00294F;\"></b><b class=\"xb3\" style=\"background: #00294F;\"></b><b class=\"xb2\" style=\"background: #00294F;\"></b><b class=\"xb1\"></b></b></div>");







   }


		var str = NBA.MatchStr.join("");

	if(datastr!=str) {

			 var sss= document.getElementById("fbGamesFocu")  ;

			 if(sss)  sss.innerHTML=str;
			datastr = str;

		NBA.start_mar();
			

			

		}
 

}















