 var liveData={
            baseURL:"http://data.live.2008.163.com/",
            timeOut:5000,
            n_ID:"",	
            oldData:"",
            type:1,
			field:new Array(),
			datas:new Array(),
			liveStatus:0,
			flag:0,
            DS:new Spry.Data.JSONDataSet(null,{ useCache: false,loadInterval:10000,preparseFunc:this.fixData }),			
            getData:function(n_id)
            {
                if(!n_id)n_id=this.n_ID;
                var nowtime=new Date();    
                var now =""+nowtime.getHours()+nowtime.getMinutes()+nowtime.getSeconds();			
                var url=this.baseURL+now+"?"+this.n_ID;			
                var obj=document.getElementById('liveDataID');
                if(navigator.appName.indexOf("Microsoft")==-1)
                {
                    if(obj)									
                        obj.parentNode.removeChild(obj);				
                    var newscript=document.createElement("script");
                    newscript.type="text/javascript";
                    newscript.src=url;
                    newscript.id="liveDataID";	  
                    //document.body.appendChild(newscript);
                    document.getElementsByTagName("head")[0].appendChild(newscript)
                }else{
                    if(obj)				
                        obj.src=url;					
                    else{
                        var newscript=document.createElement("script");
                        newscript.type="text/javascript";
                        newscript.src=url;
                        newscript.id="liveDataID";                        
                        document.getElementsByTagName("head")[0].appendChild(newscript)
                    }
                }
            },
			setField:function(cid,field)
			{
				if(!field)
				{
					if(cid.indexOf("r")>-1)
					this.field=["c_Season", "c_Sport", "c_Gender", "c_Event","n_SportCode", "c_Phase1", "c_Phase2", "c_Phase3", "c_Position","c_Athlete","n_AgeYears", "c_Team", "c_TeamNatio", "c_Rank","n_RankSort", "n_RankMedal", "c_Result", "n_ResultType","c_ResultSuffix"];
					else
					this.field=["n_id", "c_Sport", "c_SportShort", "c_Season",
				"c_Event", "c_EventShort", "c_Gender", "c_Phase1", "c_Phase2",
				"c_Phase3", "d_StartDate", "d_EndDate", "c_Stadium", "c_City",
				"c_Country", "c_CountryShort", "c_Position", "c_Result",
				"c_ResultSuffix", "c_Athlete1", "c_Athlete1Sort",
				"c_Athlete1Short", "c_Athlete1Natio", "c_Team1", "c_Team1Short",
						"c_Team1Natio", "c_Result1", "c_Athlete2",
				"c_Athlete2Sort", "c_Athlete2Short", "c_Athlete2Natio", "c_Team2",
						"c_Team2Short", "c_Team2Natio", "c_Result2", "c_Athlete3",
						"c_Athlete3Sort", "c_Athlete3Short", "c_Athlete3Natio",
						"c_Team3", "c_Team3Short", "c_Team3Natio", "c_Result3",
						"c_Athlete4", "c_Athlete4Sort", "c_Athlete4Short",
						"c_Athlete4Natio", "c_Team4", "c_Team4Short",
						"c_Team4Natio", "c_Result4", "c_Score1", "c_Score2",
						"c_Score3", "c_LiveScore", "d_Timestamp","n_SportID","n_LiveStatusCodeR","display","n_Team1NatioGeoID","n_Team2NatioGeoID"];
				}else
					this.field=field;				
			},
            start:function(n_id,timeout)
            {
                
                if(!n_id)n_id=this.n_ID;
				this.n_ID=n_id;
                if(!timeout||timeout<this.timeOut)timeout=this.timeOut;
                this.getData(this.n_ID);
				this.flag=0
				if(this.liveStatus>=128) timeout=1000*60*60*24;
				//alert(timeout);
					window.setTimeout("liveData.start('"+this.n_ID+"')",timeout);                
            },
            getJSON:function(arg)
            {			
                var ids=this.n_ID.split(";");				
                var json="{";
                for(var k=0;k<ids.length;k++)
                {   var cid=ids[k];              
					this.setField(cid);
					var fLen=this.field.length;					
                	var data=eval("arg.d_"+cid);                	
                	if(data=="undefind"||!data)
					continue;
					if(k>0)json+=",";

					json+="'"+cid+"':[";					
	                for(i=0;i<data.length;i++)
	                {						
						if(data[i]=="undefind"||!data[i])
							continue;
	                    if(i>0)json+=",";                            
	                    var oneArray=data[i].split("|");
	                   /////alert(oneArray.length+":"+fLen);
	                    if(oneArray&&oneArray.length==fLen)
	                    {							
	                        var one="{";
	                        for(j=0;j<fLen;j++)
	                        {
	                            if(j>0)one+=",";
	                            if(oneArray[j]==""&&this.field[j]!="display")
								{	
									if(this.field[j]=='c_Position')
										oneArray[j]="0";
									else
										oneArray[j]="--";
								}
	                            one+=this.field[j]+":\""+oneArray[j]+"\"";								
	                        }
	                        one+=',half1:"-",half2:"-",half3:"-",half4:"-"}';
	                    	json+=one;
						}                  
	                }
	                json+="]";  	               
                }
                json+="}";
               //alert(json);
                this.DS.setDataFromDoc(json); 				
				//Spry.Data.updateAllRegions();				
                return this.DS;
            },
           fixData:function(rows)
			{		
					//ds=new Spry.Data.NestedJSONDataSet(this.DS,"788055")
					//var rows=ds.getData();
					//alert(rows.length);
					if(!rows)return;
					for (var i = 0; i < rows.length; i++)
					{
						var n_sportid=rows[i]["n_SportID"];
						var c_result=rows[i]["c_Result"];
						var c_score1="";
						if(rows[i]["c_Score1"]&&rows[i]["c_Score1"]!=undefined)
							c_score1=rows[i]["c_Score1"].replace(/,/g,"");
						var c_score2="";
						if(rows[i]["c_Score2"]&&rows[i]["c_Score2"]!=undefined)
							c_score2=rows[i]["c_Score2"].replace(/,/g,"");
						var c_score3="";
						if(rows[i]["c_Score3"]&&rows[i]["c_Score3"]!=undefined)
							c_score3=rows[i]["c_Score3"].replace(/,/g,"");
						var liveStatus=rows[i]["n_LiveStatusCodeR"];
						this.liveStatus=liveStatus;
						
						if(n_sportid==101||n_sportid==108||n_sportid==125)
						{							
							if(liveStatus<=4)
							{
								rows[i]["s1-1"]="";
								rows[i]["s2-1"]="";
								rows[i]["s1-2"]="";
								rows[i]["s2-2"]="";
								rows[i]["s1-3"]="";
								rows[i]["s2-3"]="";
								rows[i]["s1-4"]="";
								rows[i]["s2-4"]="";
							}else if(liveStatus<128)////////////////////
							{
								rows[i]=this.fixByLiveScore(rows[i]);
							}else
							{
								if(n_sportid==125)
									rows[i]=this.fix2(rows[i],c_result,c_score1,c_score2,c_score3);
								else
								{
									var tmpResult;
									if(c_score3!=""&&c_score3!="--")
									{
										tmpResult=c_score3.split("-");
										rows[i]["s1-5"]=tmpResult[0];
										rows[i]["s2-5"]=tmpResult[1];
									}
									if(c_score1==""||c_score1=="--")
									{
										rows[i]["half1"]=c_result;
										tmpResult=c_result.split("-");
										rows[i]["s1-1"]=tmpResult[0];
										rows[i]["s2-1"]=tmpResult[1];
									}else
									{
										var tmp=c_score1.split(" ");
										if(tmp.length==1)
										{
											rows[i]["half1"]=tmp[0];								
											rows[i]["half2"]=subScore(c_result,tmp[0]);
											tmpResult=tmp[0].split("-");
											rows[i]["s1-1"]=tmpResult[0];
											rows[i]["s2-1"]=tmpResult[1];
											tmpResult=rows[i]["half2"].split("-");
											rows[i]["s1-2"]=tmpResult[0];
											rows[i]["s2-2"]=tmpResult[1];
										}else
										{
											rows[i]["half1"]=tmp[0];
											rows[i]["half2"]=subScore(tmp[1],tmp[0]);
											
											tmpResult=tmp[0].split("-");
											rows[i]["s1-1"]=tmpResult[0];
											rows[i]["s2-1"]=tmpResult[1];
											tmpResult=rows[i]["half2"].split("-");
											rows[i]["s1-2"]=tmpResult[0];
											rows[i]["s2-2"]=tmpResult[1];
											
											if(c_score2==""||c_score2=="--")
											{
												if(liveStatus>0 && liveStatus<128)
													rows[i]["half3"]=subScore(c_result,tmp[1]);
													tmpResult=rows[i]["half3"].split("-");
													rows[i]["s1-3"]=tmpResult[0];
													rows[i]["s2-3"]=tmpResult[1];
											}
											else
											{
												var tmp2=c_score2.split(" ");									
												if(tmp2.length==1)
												{										
													rows[i]["half3"]=subScore(tmp[1],tmp2[0]);
													rows[i]["half4"]=subScore(c_result,tmp2[0]);										
													tmpResult=rows[i]["half3"].split("-");
													rows[i]["s1-3"]=tmpResult[0];
													rows[i]["s2-3"]=tmpResult[1];
													tmpResult=rows[i]["half4"].split("-");
													rows[i]["s1-4"]=tmpResult[0];
													rows[i]["s2-4"]=tmpResult[1];
												}
												else
												{
													rows[i]["half3"]=subScore(tmp[1],tmp2[0]);
													rows[i]["half4"]=subScore(tmp2[1],tmp2[0]);	
													tmpResult=rows[i]["half3"].split("-");
													rows[i]["s1-3"]=tmpResult[0];
													rows[i]["s2-3"]=tmpResult[1];
													tmpResult=rows[i]["half4"].split("-");
													rows[i]["s1-4"]=tmpResult[0];
													rows[i]["s2-4"]=tmpResult[1];
												}
											}
										}
									}
								}
							}				
						}/*ΌΣΚ±/΅γΗς*/
						else //if(n_sportid==118||n_sportid==107)
						{
							if(liveStatus>4&&liveStatus<128)//////////////////////////
								rows[i]=this.fixByLiveScore2(rows[i]);
							else
								rows[i]=this.fix2(rows[i],c_result,c_score1,c_score2,c_score3);
						}
					}
					return rows;
					//ds.setDataFromArray(rows);				
			},
			fix2:function(row,c_result,c_score1,c_score2,c_score3)
			{
				if(c_result && c_result.length>0)
				{
					var tmpResult;
					tmpResult=c_result.split("-");
					if(c_score1.length==0||c_score1=="--")
					{						
						row["s1-1"]=tmpResult[0];
						row["s2-1"]=tmpResult[1];
					}
					else
					{					
						var count=0;
						var tmpallscore="0-0";
						var tmp=c_score1.split(" ");					
						for(var i=0;i<tmp.length;i++)
						{							
							tmpallscore=addScore(tmpallscore,tmp[i]);						
							tmpResult=tmp[i].split("-");						
							row["s1-"+(i+1)]=tmpResult[0];							
							row["s2-"+(i+1)]=tmpResult[1];
							count=count+1;
						}
						if(c_score2.length>0&&c_score2!="--")
						{							
							tmp=c_score2.split(" ");
							for(var i=0;i<tmp.length;i++)
							{
								tmpallscore=addScore(tmpallscore,tmp[i]);
								tmpResult=tmp[i].split("-");
								row["s1-"+(count+1)]=tmpResult[0];
								row["s2-"+(count+1)]=tmpResult[1];
								count=count+1;
							}			
						}
						if(c_score3.length>0&&c_score3!="--")
						{							
							tmp=c_score3.split(" ");
							for(var i=0;i<tmp.length;i++)
							{
								tmpallscore=addScore(tmpallscore,tmp[i]);
								tmpResult=tmp[i].split("-");
								row["s1-"+(count+1)]=tmpResult[0];
								row["s2-"+(count+1)]=tmpResult[1];
								count=count+1;
							}							
						}
						if(subScore(tmpallscore,c_result)!="0-0")
						{							
							tmpResult=(subScore(c_result,tmpallscore)).split("-");
							if(new Number(tmpResult[0])>0&& new Number(tmpResult[1])>0)
							{
								row["s1-"+(count+1)]=tmpResult[0];
								row["s2-"+(count+1)]=tmpResult[1];
							}
						}
					}
					
				}
				
				return row;
			},
			fixByLiveScore:function(row)
			{
				var liveScore=row["c_LiveScore"].replace(/,/g,"");
				
				if(liveScore.length>0&&liveScore!="--")
				{
					var c_result='0-0';
					var scoreStart=liveScore.indexOf("(");
					var scoreEnd=liveScore.indexOf(")");
					var tmpResult;
					if(scoreStart==-1)
					{
						c_result=liveScore;
						tmpResult=c_result.split("-");
						row["s1-1"]=tmpResult[0];
						row["s2-1"]=tmpResult[1];
					}
					else
					{
						c_result=liveScore.substring(0,scoreStart);
						tmpResult=c_result.split("-");
						row["s1-1"]=tmpResult[0];
						row["s2-1"]=tmpResult[1];
						var sub_score=liveScore.substring(scoreStart+1,scoreEnd);
						var scores=sub_score.split(" ");
						var count=0;
						for(var i=0;i<scores.length;i++)
						{
							
							count++;
							var  tmpScore=scores[i];
							if(i>0)
								tmpScore=subScore(scores[i],scores[i-1])								
							tmpResult=tmpScore.split("-");
							row["s1-"+count]=tmpResult[0];
							row["s2-"+count]=tmpResult[1];
						}
						
						if(subScore(c_result,scores[count-1])!="0-0")
						{													
							var tmpScore=subScore(c_result,scores[count-1]);													
							tmpResult=tmpScore.split("-");
							if(new Number(tmpResult[0])>0|| new Number(tmpResult[1])>0)
							{								
								count++;								
								row["s1-"+count]=tmpResult[0];
								row["s2-"+count]=tmpResult[1];
							}
						}
						if(scoreEnd.length!=liveScore.length)
						{
							var psScode=liveScore.substring(scoreEnd+1);
							if(psScode.indexOf("PS:")>-1)//
							{
								count++;
								psScode=psScode.replace(/PS:/g,"")
								tmpResult=psScode.split("-");
								row["s1-"+count]=tmpResult[0];
								row["s2-"+count]=tmpResult[1];
							}
							
						}
					}
					row["c_Result"]=c_result;
				}
				//alert(row["s1-1"]);
				return row;
			},
			fixByLiveScore2:function(row)
			{
				var liveScore=row["c_LiveScore"].replace(/,/g,"");
				if(liveScore.length>0&&liveScore!="--")
				{
					var c_result='0-0';
					var scoreStart=liveScore.indexOf("(");
					var scoreEnd=liveScore.indexOf(")");
					var tmpResult;
					if(scoreStart==-1)
					{
						c_result=liveScore;						
					}
					else
					{
						c_result=liveScore.substring(0,scoreStart);						
						var sub_score=liveScore.substring(scoreStart+1,scoreEnd);
						var scores=sub_score.split(" ");
						var count=0;
						var tmpallscore="0-0";
						for(var i=0;i<scores.length;i++)
						{
							tmpallscore=addScore(tmpallscore,scores[i]);
							count++;
							var  tmpScore=scores[i];							
							tmpResult=tmpScore.split("-");
							row["s1-"+count]=tmpResult[0];
							row["s2-"+count]=tmpResult[1];
						}
						
						if(subScore(c_result,tmpallscore)!="0-0")
						{							
							var tmpScore=subScore(c_result,tmpallscore);
							tmpResult=tmpScore.split("-");
							if(new Number(tmpResult[0])>0&& new Number(tmpResult[1])>0)
							{
								count++;
								row["s1-"+count]=tmpResult[0];
								row["s2-"+count]=tmpResult[1];
							}
						}
						if(scoreEnd.length!=liveScore.length)
						{
							var psScode=liveScore.substring(scoreEnd+1);
							if(psScode.indexOf("PS:")>-1)//
							{
								count++;
								psScode=psScode.replace(/PS:/g,"")
								tmpResult=psScode.split("-");
								row["s1-"+count]=tmpResult[0];
								row["s2-"+count]=tmpResult[1];
							}
							
						}
					}
					row["c_Result"]=c_result;
				}
				return row;
			},
			getDS:function(id)
			{
				var ds=new Spry.Data.NestedJSONDataSet(this.DS, id);
				//alert(id);				
				if(id.indexOf("r")==-1)
				{
					ds.addObserver({ onDataChanged: function(dss, type)
					{		if(dss.getDataWasLoaded())
							{	
								var rows=dss.getData();								
								rows=liveData.fixData(rows);
								//document.getElementById('_data_').style.display='';
								
							}					
					} });
				}
				else
				{					
					ds.addObserver({ onDataChanged: function(dss, type)
					{						
						if(dss.getDataWasLoaded())
							{	
								var rows=dss.getData();									
								if(liveData.type==2)
								{
									rows=filterFunc(rows);	
								}
							}				
					}});					
				}
				return ds;				
			}
        };
		var myfilter=function(dataSet, row, rowNumber)
		{
			if(row["ishide"]==0)
			return null;
			return row;
		}
		//var observer = { onUpdate: function(notifier, data) {document.getElementById("_data_").style.display="";alert(aa) } };
	//	Spry.Data.Region.addObserver("_data_", observer);

		var filterFunc=function(rows)
		{			
			var tearm="";
			var athlete=""
			var  index=0;
			for (var i = 0; i < rows.length; i++)
			{				
				if(rows[i]["n_RankSort"]!=tearm||i==(rows.length-1))
				{						
					rows[i]["ishide"]=1;
					if(i>0)
						rows[index]["c_Athlete"]=athlete;
					index=i;
					if(rows[i]["c_Athlete"]!="--")
					athlete=rows[i]["c_Athlete"];
					else
					athlete="";
					tearm=rows[i]["n_RankSort"];
						
				}else
				{
					if(rows[i]["c_Athlete"]!="--")
					{	
						if(athlete!="")athlete+="/";
						athlete=athlete+rows[i]["c_Athlete"];
					}
					tearm=rows[i]["n_RankSort"];
					rows[i]["ishide"]=0;				
				}				
			}
		}
		function subScore(r2,r1){
			if(r1.indexOf(",")>0)r1=r1.substring(0,r1.length-1);
			if(r2.indexOf(",")>0)r2=r2.substring(0,r2.length-1);
			var ar2=r2.split("-");
			var ar1=r1.split("-");
			return (ar2[0]-ar1[0])+"-"+(ar2[1]-ar1[1]);
		}
		function addScore(r2,r1){
			if(r1.indexOf(",")>0)r1=r1.substring(0,r1.length-1);
			if(r2.indexOf(",")>0)r2=r2.substring(0,r2.length-1);
			var ar2=r2.split("-");
			var ar1=r1.split("-");
			return (new Number(ar2[0])+new Number(ar1[0]))+"-"+(new Number(ar2[1])+new Number(ar1[1]));
		}
		function SetCwinHeight()
		{
			var tech=document.getElementById("iframelive");
			if (document.getElementById)
			{
				if (tech && !window.opera)
			{
			if(tech.contentDocument && tech.contentDocument.body.offsetHeight)
				tech.height = tech.contentDocument.body.offsetHeight;
			else if(tech.Document && tech.Document.body.scrollHeight)
				tech.height = tech.Document.body.scrollHeight;
			alert(tech.height);
			}
			}
		}
		
