	
	var XMLDOM = ["MSXML4.DOMDocument", "MSXML3.DOMDocument", "MSXML2.DOMDocument", "MSXML.DOMDocument", "Microsoft.XmlDom"];
	var JS_VAR_TITLE_01 = "标准盘";
	var JS_VAR_TITLE_02 = "让球盘(亚洲盘)";
	var JS_VAR_TITLE_03 = "大小盘";
	var TableDefaultWidth = 518;
	var EuropeDisplayFlag       = true;//是否显示标准盘
	var BigSmallDisplayFlag     = true;//是否显示大小盘
	var mTimeChangeOver         = 20000;
	var CompanyNum              = 5;
	var VarSysTableTitle        = "";
	var mVoiceFilePath          = "./js/";///immediate
	var mVoicePanKou            = mVoiceFilePath+"bianpankou.wav";
	var mVoiceShuiWei           = mVoiceFilePath+"bianshuiwei.wav";
	var mImageShuiWeiSheng      = "images/sheng.gif";
	var mImageShuiWeiJiang      = "images/down.gif";
	var mImageShuiWeiXian       = "images/dot_001.gif";
	
	var PublicObject            = new Array();//这个用来记录一些公共的
	var bFound = false;
	function CMatchInfo(name)
	{
		this.name                                   = name;
		this.VarGetData                             = null;//
		this.MatchData                              = new Array();//(下标同下面数组 LeagueTypeId )以比赛的id作为下标
		this.LeagueTypeId                           = new Array();//记录所有比赛的联赛id(排序用)(下标同上面数组 MatchData )
		this.XmlUrl_DataChange                      = null;
		this.CurrentXmlFileName                     = null;
		this.CurrentXmlFileNo                       = null;
		this.ServerFilePath                         = "../../ball365_web/immediate/xml/";///immediate
		this.TimeInteval                            = 5000;
		this.mThisXmlReadTimes = 0;
		this.mLastXmlReadTimes = 0;
		this.DataSort                               = "";//数据排序方式(默认按照时间排序)
		this.DataLastTime                           = "";//纪录本页面数据最新时间
		
		this.LoadXml                                = LoadXml;//调用后台及时更新的数据
		this.LoopReadData                           = LoopReadData;//循环读取后台及时更新的数据
		this.DeleteMatchData                        = DeleteMatchData;//删除
		this.SetupUpLeagueTypeId                    = SetupUpLeagueTypeId;//生成控制菜单中的....
		for(var i=0; i < XMLDOM.length && !bFound; i++)
		{
			try
			{
				this.VarGetData             = new ActiveXObject(XMLDOM[i]);
				this.VarGetData.async       = false;
				bFound                      = true;              
			} 
			catch(objException)
			{
				this.VarGetData = null;
			}
		}
		if (!bFound)
		{
			throw "No DOM DOcument found on your computer.";
		}
		if(PublicObject[this.name])
		{
			output("重复定义类变量 CMatchInfo---> "+ this.name);
		}
		else
		{
			PublicObject[this.name] = this;
		}
		
		
	}
	function ShowPersonSet()
	{
		if(seryFilterDiv1.style.display == "")
		{
			seryFilterDiv1.style.display = "none";
			mFlag = "none";
			//id_img_control_pane.src = mImagePath+"images/show.gif";
		}
		else
		{
			seryFilterDiv1.style.display = "";
			mFlag = "";
			//id_img_control_pane.src = mImagePath+"images/noshow.gif";
		}
		//seryFilterDiv1.style.display=mFlag;
		var mElement = document.getElementsByName("HiddenMatch");
		for(var i=0;i<mElement.length;i++)
		{
			mElement[i].style.display=mFlag;
		}
	}
	function ChangeVoicePic()
	{
		//javascrpt:mVoiceFlag=this.checked;voice_control1.checked=this.checked
		
		mVoiceFlag=!mVoiceFlag;
		voice_control.checked = mVoiceFlag;
		if(mVoiceFlag)
		{
			id_image_page.src = mImagePath+"images/musicon.gif";
			//id_image_js.src = "images/musicon.gif";
		}
		else
		{
			id_image_page.src = mImagePath+"images/musicoff.gif";
			//id_image_js.src = "images/musicoff.gif";
		}
	}
	function CheckData(mObject,mMatchTime)
	{
		
		if(this.df == "true")//表示删除
		{
			mObject.DeleteMatchData(this.mnid);
			SetupUpLeagueTypeId();
			return;
		}
		//表示新的数据
		if(!mObject.MatchData[this.mnid])
		{
			var ms = this.ShowData(mObject.DataSort,mMatchTime);
			id_div_matcht_maininfo.innerHTML = id_div_matcht_maininfo.innerHTML.substring(0,id_div_matcht_maininfo.innerHTML.length-16)+ms+"</TBODY></TABLE>";
			//id_div_matcht_maininfo.insertAdjacentHTML("beforeEnd", ms);
			mObject.MatchData[this.mnid]    = this;
			mObject.LeagueTypeId[this.mnid] = this.lsid;
			SetupUpLeagueTypeId();
			return true;
		}
		
		var mData = mObject.MatchData[this.mnid];
		this.ChangeOdds(mData);
		mObject.MatchData[this.mnid]    = this;
		mObject.LeagueTypeId[this.mnid] = this.lsid;
	}
	function ChangeOdds(mData)
	{
		var mDataChangeFlag = false;
		var mhelpflag = false;
		for(var mi=0;mi<mData.odds.length;mi++)//
		{
			if(typeof(msum_w) == "undefined")
			{
				var mnum_w = 0;
				var msum_w = 0;//用于记录
			}
			if(typeof(msum_d) == "undefined")
			{
				var mnum_d = 0;
				var msum_d = 0;//用于记录
			}
			if(typeof(msum_l) == "undefined")
			{
				var mnum_l = 0;
				var msum_l = 0;//用于记录
			}
			if(!isNaN(parseFloat(this.odds[mi].mw[0])))
			{
				msum_w += parseFloat(this.odds[mi].mw[0]);
				mnum_w++;
			}
			if(!isNaN(parseFloat(this.odds[mi].md[0])))
			{
				msum_d += parseFloat(this.odds[mi].md[0]);
				mnum_d++;
			}
			if(!isNaN(parseFloat(this.odds[mi].ml[0])))
			{
				msum_l += parseFloat(this.odds[mi].ml[0]);
				mnum_l++;
			}
			try
			{
				if(mData.odds[mi].CMid != this.odds[mi].CMid) continue;//不是同一家公司
				
				if(mData.odds[mi].mw[0] != this.odds[mi].mw[0])
				{
					var mTd = eval("id_td_"+this.mnid+"_1_"+mi);
					mhelpflag = ChangeTdContent(mTd,this.odds[mi].mw[0],mData.odds[mi].mw[0]);
					if(!mDataChangeFlag) mDataChangeFlag = mhelpflag;
					
				}
			}
			catch(e){}
			try
			{
				if(mData.odds[mi].md[0] != this.odds[mi].md[0])
				{
					var mTd = eval("id_td_"+this.mnid+"_2_"+mi);
					mhelpflag = ChangeTdContent(mTd,this.odds[mi].md[0],mData.odds[mi].md[0]);
					if(!mDataChangeFlag) mDataChangeFlag = mhelpflag;
				}
			}
			catch(e){}
			try
			{
				if(mData.odds[mi].ml[0] != this.odds[mi].ml[0])
				{
					var mTd = eval("id_td_"+this.mnid+"_3_"+mi);
					mhelpflag = ChangeTdContent(mTd,this.odds[mi].ml[0],mData.odds[mi].ml[0]);
					if(!mDataChangeFlag) mDataChangeFlag = mhelpflag;
				}
			}
			catch(e){}
		}
		try
		{
			if(mDataChangeFlag)
			{
				
				MusicPlay(mVoiceShuiWei);
				
				if(mnum_w > 0) msum_w = CutFloatData(msum_w/mnum_w);
				//eval("id_td_"+this.mnid+"_w.innerHTML = '"+msum_w+"';");
				var mtd = eval("id_td_"+this.mnid+"_w");
				ChangeTdContent(mtd,msum_w,mtd.innerHTML);
				if(mnum_d > 0) msum_d = CutFloatData(msum_d/mnum_d);
				//eval("id_td_"+this.mnid+"_d.innerHTML = '"+msum_d+"';");
				var mtd = eval("id_td_"+this.mnid+"_d");
				ChangeTdContent(mtd,msum_d,mtd.innerHTML);
				if(mnum_l > 0) msum_l = CutFloatData(msum_l/mnum_l);
				//eval("id_td_"+this.mnid+"_l.innerHTML = '"+msum_l+"';");
				var mtd = eval("id_td_"+this.mnid+"_l");
				ChangeTdContent(mtd,msum_l,mtd.innerHTML);
			}
		}catch(e){alert();}
	}
	var TdControlArray_System            = new Array();//记录要清除的td对象
	var TdHandleArray_System             = new Array();//记录调用清除的td对象的时钟handle(它的作用是当同一数据连续变化时,后一次变化要将前一次变化冲掉)
	var TdTimesArray_System              = new Array();//记录td变色的次数
	var TdSoucerColorArray_System        = new Array();//记录td最初的背景颜色
	var TdLastValueArray_System          = new Array();//记录上次变色的value
	function ChangeTdContent(mControl,mValue,mSourceValue)
	{
		if(isNaN(parseFloat(mValue))) return false;//这里表示新来的数据有问题
		mControl.innerHTML = mValue;
		TdControl = mControl;
		
		//while (TdControl.tagName != "TD") TdControl = TdControl.offsetParent;
		if(isNaN(parseFloat(mSourceValue)))//这里表示原来没有数据
		{
			TdControl.background = mImagePath+mImageShuiWeiXian;
		}
		else
		{
			if(parseFloat(mSourceValue) > parseFloat(mValue))
			{
				TdControl.background = mImagePath+mImageShuiWeiJiang;
			}
			else if(parseFloat(mSourceValue) < parseFloat(mValue))
			{
				TdControl.background = mImagePath+mImageShuiWeiSheng;
			}
			else
			{
				return false;
			}
		}
		if(TdControlArray_System[mControl.id])
		{
			clearTimeout(TdHandleArray_System[mControl.id]);
		}
		TdControlArray_System[mControl.id] = mControl;
		TdHandleArray_System[mControl.id]  = setTimeout("ResetTdChange('"+mControl.id+"')",mTimeChangeOver);
		return true;
	}
	function ResetTdChange(TdName)
	{
		if(!TdControlArray_System[TdName]) return;
		TdControl = TdControlArray_System[TdName];
		//while (TdControl.tagName != "TD") TdControl = TdControl.offsetParent;
		TdControl.background = "";
		//TdControlArray_System[TdName].innerHTML = CutHtmlTag(TdControlArray_System[TdName].innerHTML);
		delete TdControlArray_System[TdName];
	}
		var mLastLeagueTypeId = "";
	function LoadXml(XmlUrl)
	{
		
		//if(!this.VarGetData.loadXML(XmlUrl.substring(XmlUrl.indexOf("?>")+2))) return;
		if(!this.VarGetData.load(this.ServerFilePath+XmlUrl)) return;
		//alert(this.ServerFilePath+XmlUrl);
		
		var rs = this.VarGetData.documentElement.childNodes;
		var LastDataFlag = "";
		
		var msg = "";
		msg += '<table id="id_table_data_parent" width="'+TableDefaultWidth+'" height="30" border="0" cellpadding="0" cellspacing="1" bgcolor="#999999">';
		for(var i=0; i<rs.length; i++)
		{
			if(rs.item(i).nodeName == "flag")
			{
				this.CurrentXmlFileName   = getTagValue(rs.item(i),"flag");
				this.DataLastTime         = getTagValue(rs.item(i),"lt");
				this.CurrentXmlFileNo     = getTagValue(rs.item(i),"no");
				this.XmlUrl_DataChange    = this.CurrentXmlFileName + this.CurrentXmlFileNo + ".xml";
				
				//alert(this.CurrentXmlFile + i);
				continue;
			}
			var MatchData = ReadOneData(rs.item(i));
			msg += MatchData.ShowData(this.DataSort,LastDataFlag);
			LastDataFlag                         = MatchData.md;
			this.MatchData[MatchData.mnid]       = MatchData;
			this.LeagueTypeId[MatchData.mnid]    = MatchData.lsid;
			
			/**/
		}
		
		id_div_matcht_maininfo1.innerHTML = this.XmlUrl_DataChange;
		msg += "</table>";
		id_div_matcht_maininfo.innerHTML = msg;
		try{this.SetupUpLeagueTypeId();}catch(e){}
		this.VarGetData.load("");
		//output(id_div_matcht_maininfo.innerHTML);
	}
	function LoopReadData(name)
	{
		if(name && name != "")
		{
			var mObject = PublicObject[name];
		}
		else
		{
			if(!PublicObject[this.name])
			{
				PublicObject[this.name] = this;
			}
			var mObject = PublicObject[this.name];
			name = this.name;
		}
		var mFlagContinueGet = false;
		
		if(mObject.VarGetData.load(mObject.ServerFilePath+mObject.XmlUrl_DataChange))
		{
			if(mObject.mCurrentXmlFile == mObject.CurrentXmlFileNo) mObject.mCurrentXmlFile = -10;
			//alert(mObject.ServerFilePath+mObject.XmlUrl_DataChange);
			var rs = mObject.VarGetData.documentElement.childNodes;
			var mDataLastTime = "";
			var mLastTime = "";
			//
			for(var i=0; i<rs.length; i++)
			{
				if(rs.item(i).nodeName == "flag")
				{
					mDataLastTime = getTagValue(rs.item(i),"lt");
					if(mDataLastTime<mObject.DataLastTime)
					{
						mObject.mThisXmlReadTimes++;
						//如果长时间读取某xml及时数据都没有变化,尝试下一个看时间变化没有,
						//如果下一个变化了,证明这个xml文件被越过了
						if(mObject.mThisXmlReadTimes >= 3)
						{
							if(CheckNextXmlTime(mObject))//如果下一个xml时间已经变化,则读取下一个
							{
								break;
							}
							mObject.mThisXmlReadTimes = 0;
						}
						break;
					}
					mObject.DataLastTime = mDataLastTime;
					if(parseInt(mObject.CurrentXmlFileNo) >= 50) mObject.CurrentXmlFileNo = 1;
					else mObject.CurrentXmlFileNo = parseInt(mObject.CurrentXmlFileNo) + 1;
					mObject.XmlUrl_DataChange = mObject.CurrentXmlFileName + mObject.CurrentXmlFileNo + ".xml";
					
					//alert(mObject.mCurrentXmlFile);
					mFlagContinueGet = true;
					mObject.mThisXmlReadTimes = 0;
					mObject.mLastXmlReadTimes = 0;
					continue;
				}
				var MatchData = ReadOneData(rs.item(i));
				mLastLeagueTypeId = "";
				MatchData.CheckData(mObject,mLastTime);
				mLastTime = MatchData.md;
				mLastLeagueTypeId = MatchData.lsid;
				
			}
			mObject.VarGetData.load("");
		}
		//如果读取当前文件未果,而服务器刻度已经超过当前文件,则应当继续往下读
		//如果当前文件读取正常,前面已经移动刻度,不需要再移动
		if(!mFlagContinueGet && mObject.mCurrentXmlFile != mObject.CurrentXmlFileNo && mObject.mCurrentXmlFile > 0)
		{
			if(parseInt(mObject.CurrentXmlFileNo) >= 50) mObject.CurrentXmlFileNo = 1;
			else mObject.CurrentXmlFileNo = parseInt(mObject.CurrentXmlFileNo) + 1;
			mObject.XmlUrl_DataChange = mObject.CurrentXmlFileName + mObject.CurrentXmlFileNo + ".xml";
			setTimeout("LoopReadData('"+name+"');",1000);
			return;
			mFlagContinueGet = true;//不停顿接着读,
		}
		
		if(mFlagContinueGet)//这里表示本次请求数据是更新的,需要马上请求下一条数据(如果这条不是,定时接着请求)
		{
			mObject.mThisXmlReadTimes = 0;
			LoopReadData(name);
		}
		else
		{
			if(mObject.TimeInteval > 0)
			{
				setTimeout("LoopReadData('"+name+"');",mObject.TimeInteval);
			}	
		}
	}
	
	function CheckNextXmlTime(mObject)
	{
		var mCurrentXmlFileNo;
		var mXmlUrl_DataChange;
		if(mObject.VarGetData.load(mObject.ServerFilePath+"mCurrentEurope.xml"))
		{
			var rs = mObject.VarGetData.documentElement.childNodes;
			var mDataLastTime = "";
			for(var i=0; i<rs.length; i++)
			{
				if(rs.item(i).nodeName == "num")
				{
					if(getTagValue(rs.item(i),"n") != mObject.CurrentXmlFileNo)
					{
						mObject.mCurrentXmlFile = getTagValue(rs.item(i),"n");
						return true;
					}
					//alert(getTagValue(rs.item(i),"n") +"      "+mObject.CurrentXmlFileNo);
					return false;
				}
				/**/
			}
		}
		return false;
	}
	
	function DeleteDateTitle()
	{
		try
		{
			var mDeleteTitle = true;
			var trs = id_table_data_parent.getElementsByTagName("tr");
			for(var i=trs.length-1;i>=0;i--)
			{
				if(trs[i].mtag == "title")
				{
					if(mDeleteTitle)  id_table_data_parent.deleteRow(i);
				}
				else if(trs[i].mtag == "date")
				{
					mDeleteTitle = true;
				}
				else if(trs[i].mtag == "data")
				{
					mDeleteTitle = false;
				}
			}
			var mDeleteDate = true;
			var trs = id_table_data_parent.getElementsByTagName("tr");
			for(var i=trs.length-1;i>=0;i--)
			{
				if(trs[i].mtag == "date")
				{
					if(mDeleteDate)  id_table_data_parent.deleteRow(i);
					mDeleteDate = true;
				}
				else if(trs[i].mtag == "title")
				{
					mDeleteDate = false;
				}
				else if(trs[i].mtag == "data")
				{
					mDeleteDate = false;
				}
			}
		}
		catch(e){}
	}
	//执行删除页面数据功能
	function DeleteMatchData(MatchID)
	{
		try
		{
			var trs = document.all("id_table_data_parent").getElementsByTagName("tr");
			mlength = trs.length-1;
			for(i=mlength;i>=0;i--)
			{
				if(trs[i].id == "id_tr_match_"+MatchID+"_1")
				{
					id_table_data_parent.deleteRow(i+3);
					id_table_data_parent.deleteRow(i+2);
					id_table_data_parent.deleteRow(i+1);
					id_table_data_parent.deleteRow(i);
					break;
				}
			}
		}
		catch(e){}
		delete this.MatchData[MatchID];
		delete this.LeagueTypeId[MatchID];
		DeleteDateTitle();
	}
	function SetupUpLeagueTypeId()
	{
		
		if(!headLineSeryList) return;
		var ms = ",";
		var ms_html = "";
		var mi = 0;
		for(var prop in mdata.LeagueTypeId)
		{
			mi++;
			if(ms.indexOf(","+mdata.LeagueTypeId[prop]+",")>=0) continue;
			ms += mdata.LeagueTypeId[prop]+",";
			ms_html += "<div id='id_div_League_"+mdata.LeagueTypeId[prop]+"'><INPUT style='cursor:hand' name='HiddenOneTeam' TYPE='checkbox' onclick='HiddenTeamHelp("+mdata.LeagueTypeId[prop]+",this)' VALUE='"+mdata.LeagueTypeId[prop]+"' class=1_bg03 checked>&nbsp;<font style='cursor:hand' onclick='ShowThisLeague("+mdata.LeagueTypeId[prop]+")'>"+mdata.MatchData[prop].mn+"</font></div>";
		}
		ms_html += "<div>&nbsp;共&nbsp;<font color=red>"+mi+"</font>&nbsp;场赛事</div>";
		
		ms_html += "<div id='id_div_League_all'><INPUT  style='cursor:hand' TYPE='radio' onclick='ShowAllTeam()' class=1_bg03 checked>&nbsp;<font style='cursor:hand' onclick='ShowAllTeam()'>全显</font></div>";
		ms_html += "<hr size=1 width=100%>";
		//ms_html += "<input type='button' value='联赛' onclick='SorMatchByTimeHelp(this)'><br>";
		ms_html += "<input style='cursor:hand' name='sort_order_by' type='radio' value='时间' onclick='SorMatchByTimeHelp(this.value)' checked>按时间排序<br>";
		ms_html += "<input style='cursor:hand' name='sort_order_by' type='radio' value='联赛' onclick='SorMatchByTimeHelp(this.value)'>按联赛排序<br>";
		ms_html += "<hr size=1 width=100%>";
		ms_html += "<input style='cursor:hand' name='show_hidden_flag' type='radio' value='1' onclick='funcHiddenMatch(this.value)' checked>显示选中赛事<br>";
		ms_html += "<input style='cursor:hand' name='show_hidden_flag' type='radio' value='2' onclick='funcHiddenMatch(this.value)'>隐藏选中赛事<br>";
		ms_html += "<input style='cursor:hand' name='show_hidden_flag' type='radio' value='3' onclick='funcHiddenMatch(this.value)'>显示所有赛事<br>";
		//ms_html += "<input style='cursor:hand' type=checkbox onclick='' checked> 变盘提醒";
		ms_html += "<hr size=1 width=100%>";
		ms_html += "<INPUT style='cursor:hand' onclick='ChangeVoicePic()' id='voice_control' type=checkbox CHECKED>声音<br>";
		ms_html += "<hr size=1 width=100%>";
		
		headLineSeryList.innerHTML = ms_html;
		
		var mElement = document.getElementsByName("HiddenOneTeam");
		for(var i=0;i<mElement.length;i++)
		{
			m_num = 0;
			for(var prop in mdata.LeagueTypeId)
			{
				if(mdata.LeagueTypeId[prop] == mElement[i].value)m_num++;
			}
			mdiv = eval("id_div_League_"+mElement[i].value);
			mdiv.innerHTML += "("+m_num+")";
		}
		//output(ms_html);
	}
	function ShowAllTeam()
	{
		for(var prop in mdata.MatchData)
		{
			for(mj=1;mj<=4;mj++)
			{
				var mtable = eval("id_tr_match_"+mdata.MatchData[prop].mnid+"_"+mj);
				mtable.style.display = "";
			}
		}
		var mElement = document.getElementsByName("HiddenOneTeam");
		for(var i=0;i<mElement.length;i++)
		{
			mElement[i].checked = true;
		}
		HiddenMatchTitle();
	}
	function ShowThisLeague(LeagueId)
	{
		var mElement = document.getElementsByName("HiddenOneTeam");
		for(var i=0;i<mElement.length;i++)
		{
			if(LeagueId == mElement[i].value) mElement[i].checked = true;
			else mElement[i].checked = false;
		}
		for(var prop in mdata.MatchData)
		{
			if(mdata.MatchData[prop].lsid == LeagueId)
			{
				for(mj=1;mj<=4;mj++)
				{
					var mtable = eval("id_tr_match_"+mdata.MatchData[prop].mnid+"_"+mj);
					mtable.style.display = "";
				}
			}
			else
			{
				for(mj=1;mj<=4;mj++)
				{
					var mtable = eval("id_tr_match_"+mdata.MatchData[prop].mnid+"_"+mj);
					mtable.style.display = "none";
				}
			}
		}
		HiddenMatchTitle();
	}
	function SorMatchByTimeHelp(ButtonControl)
	{
		var mElement = document.getElementsByName("sort_order_by1");
		for(var i=0;i<mElement.length;i++)
		{
			if(mElement[i].value == ButtonControl)
			{
				mElement[i].checked = true;
				break;
			}
		}
		var mElement = document.getElementsByName("sort_order_by");
		for(var i=0;i<mElement.length;i++)
		{
			if(mElement[i].value == ButtonControl)
			{
				mElement[i].checked = true;
				break;
			}
		}
		if(ButtonControl == "时间")
		{
			//ButtonControl.value = "联赛";
			SorMatchByTime(true);
		}
		else
		{
			//ButtonControl.value = "时间";
			SorMatchByTime(false);
		}
	}
	function SorMatchByTime(Flag)
	{
		var msg = "";
		msg += '<table id="id_table_data_parent" width="'+TableDefaultWidth+'" height="30" border="0" cellpadding="0" cellspacing="1" bgcolor="#999999">';
		if(Flag)//按时间排序
		{
			if(this.DataSort == "") return;
			this.DataSort   = "";
			id_div_matcht_maininfo.innerHTML = "";
			LastDataFlag = "";
			mLastLeagueTypeId = "";
			for(var prop in mdata.MatchData)
			{
				msg += mdata.MatchData[prop].ShowData(this.DataSort,LastDataFlag);
				LastDataFlag = mdata.MatchData[prop].md;
				mLastLeagueTypeId = mdata.MatchData[prop].lsid;
			}
		}
		else//按联赛排序
		{
			if(this.DataSort == "LeagueTypeId") return;
			this.DataSort   = "LeagueTypeId";
			var marray = MSortArray(mdata.LeagueTypeId);
			id_div_matcht_maininfo.innerHTML = "";
			LastDataFlag = "";
			mLastLeagueTypeId = "";
			for(var prop in marray)
			{
				msg += mdata.MatchData[prop].ShowData(this.DataSort,mLastLeagueTypeId);
				mLastLeagueTypeId = mdata.MatchData[prop].lsid;
			}
		}
		msg += "</table>";
		id_div_matcht_maininfo.innerHTML = msg;
		//output(msg);
	}
	
	function COneMatchData()
	{
		this.mn         = "";//联赛名称
		this.md         = "";//比赛日期
		this.lsid       = "";//联赛的id
		this.mnid       = "";//比赛(应该带本次比赛的id)
		this.mz         = "";//主队名称
		this.mzid       = "";//主队id
		this.zmc        = "";//主队名次
		this.mk         = "";//客队名称
		this.mkid       = "";//客队id
		this.kmc        = "";//客队名次
		this.bgc        = "";
		this.neu        = "";
		this.ur1       = "";
		this.ur2       = "";
		this.ur3       = "";
		this.ur4       = "";
		this.ur5       = "";
		this.ur6       = "";
		this.ur7       = "";
		this.odds      = new Array();//保存的是 COneOddsData 对象
		
		
		this.df         = false;//删除标志
		this.ShowData   = ShowData;
		this.CheckData  = CheckData;
		this.ChangeOdds = ChangeOdds;
	}
	function COneOddsData()
	{
		this.CM        = "";//纪录博彩公司
		this.CMid      = "";//纪录博彩公司
		this.oid       = new Array();//纪录赔率id
		this.mw        = new Array();//纪录胜的赔率
		this.md        = new Array();//纪录平的赔率
		this.ml        = new Array();//纪录负的赔率
	}
	function ReadOneData(tmpRS)
	{
		var tmpdata               = new COneMatchData();
		tmpdata.mn                = getTagValue(tmpRS,"mn");//联赛名称
		tmpdata.md                = getTagValue(tmpRS,"md");//比赛日期
		tmpdata.lsid              = getTagValue(tmpRS,"lsid");//联赛的id
		tmpdata.mnid              = getTagValue(tmpRS,"mnid");//比赛(应该带本次比赛的id)
		tmpdata.mz                = getTagValue(tmpRS,"mz");//主队名称
		tmpdata.mzid              = getTagValue(tmpRS,"mzid");//主队id
		tmpdata.zmc               = getTagValue(tmpRS,"zmc");
		tmpdata.mk                = getTagValue(tmpRS,"mk");
		tmpdata.mkid              = getTagValue(tmpRS,"mkid");
		tmpdata.kmc               = getTagValue(tmpRS,"kmc");
		tmpdata.bgc               = getTagValue(tmpRS,"bgc");
		tmpdata.neu               = getTagValue(tmpRS,"neu");
		tmpdata.ur1              = getTagValue(tmpRS,"ur1");
		/*
		tmpdata.ur2              = getTagValue(tmpRS,"ur2");
		tmpdata.ur3              = getTagValue(tmpRS,"ur3");
		tmpdata.ur4              = getTagValue(tmpRS,"ur4");
		tmpdata.ur5              = getTagValue(tmpRS,"ur5");
		tmpdata.ur6              = getTagValue(tmpRS,"ur6");
		tmpdata.ur7              = getTagValue(tmpRS,"ur7");
		*/
		tmpdata.ur2 		 = "/analysis/"+tmpdata.mnid+".html";//赛前分析的URL
		tmpdata.ur3			 = "/match_event/"+tmpdata.mnid+".html";//比赛事件的URL
		tmpdata.ur4 		 = "/odds/all_odds/"+tmpdata.mnid+".html";//赔率全程图的URL
		tmpdata.ur5 		 = "/odds/today_odds/"+tmpdata.mnid+".html";//赔率当天图的URL
		tmpdata.ur6  		 = "/odds/minute90_odds/"+tmpdata.mnid+".html";//赔率临场90分钟图的URL
		tmpdata.ur7 		 = "/analysis/"+tmpdata.mnid+".html";//欧盘赔率图的URL
		
		mrs = tmpRS.getElementsByTagName("cn1");
		
		for(var j=0;j<mrs.length;j++)//循环读取博彩公司
		{
			var tmpodd               = new COneOddsData();//;
			var mtt = mrs.item(j);
			tmpodd.CM = getTagValue(mtt,"cn");
			tmpodd.CMid = getTagValue(mtt,"cid");
			tmrs = mtt.getElementsByTagName("oid1");
			
			for(var jj=0;jj<tmrs.length;jj++)//循环读取博彩公司的赔率
			{
				var mttta = tmrs.item(jj);
				tmpodd.oid[jj] = getTagValue(mttta,"oid");
				tmpodd.mw[jj]  = getTagValue(mttta,"mw");
				tmpodd.md[jj]  = getTagValue(mttta,"md");
				tmpodd.ml[jj]  = getTagValue(mttta,"ml");
			}
			//if(tmpodd.mw[0])alert(tmpodd.mw[0] +"  "+ j);
			tmpdata.odds[tmpdata.odds.length] = tmpodd;
		}
		tmpdata.df                = getTagValue(tmpRS,"df");
		return tmpdata;
	}
	
	//隐藏或者显示选择行的数据
	function funcHiddenMatch(mValue)
	{
		var mElement = document.getElementsByName("show_hidden_flag1");
		for(var i=0;i<mElement.length;i++)
		{
			if(mElement[i].value == mValue)
			{
				mElement[i].checked = true;
				break;
			}
		}
		var mElement = document.getElementsByName("show_hidden_flag");
		for(var i=0;i<mElement.length;i++)
		{
			if(mElement[i].value == mValue)
			{
				mElement[i].checked = true;
				break;
			}
		}
		var mElement = document.getElementsByName("HiddenMatch");
		if(mValue == 1)//只显示选中的赛事
		{
			for(var i=0;i<mElement.length;i++)
			{
				if(!mElement[i].checked)
				{
					try
					{
						//var mtable = eval(mElement[i].mtag);
						//mtable.style.display = "none";
						
						for(mj=1;mj<=4;mj++)
						{
							var mtable = eval(mElement[i].value+"_"+mj);
							mtable.style.display = "none";
						}
						/**/
					}catch(e){}
				}
			}
		}
		else if(mValue == 2)//只隐藏选中的赛事
		{
			for(var i=0;i<mElement.length;i++)
			{
				if(mElement[i].checked)
				{
					try
					{
						//var mtable = eval(mElement[i].mtag);
						//mtable.style.display = "none";
						for(mj=1;mj<=4;mj++)
						{
							var mtable = eval(mElement[i].value+"_"+mj);
							mtable.style.display = "none";
						}
					}catch(e){}
				}
			}
		}
		else//显示所有的赛事
		{
			for(var i=0;i<mElement.length;i++)
			{
				try
					{
						//var mtable = eval(mElement[i].mtag);
						//mtable.style.display = "";
						for(mj=1;mj<=4;mj++)
						{
							var mtable = eval(mElement[i].value+"_"+mj);
							mtable.style.display = "";
						}
					}catch(e){}
			}
		}
		HiddenMatchTitle();
	}
	//隐藏
	function HiddenMatchTitle()
	{
		var HiddenTrTitle = true;
		var trs = id_table_data_parent.getElementsByTagName("tr");
		for(var i=trs.length-1;i>=0;i--)
		{
			if(!trs[i].help_tag) continue;
			
			switch(trs[i].mtag)
			{
				case "title" :
					if(HiddenTrTitle) trs[i].style.display = "none";
					else trs[i].style.display = "";
					HiddenTrTitle = true;
					
					break;
				case "date" :
					HiddenTrTitle = true;
					break;
				case "data" :
					if(trs[i].style.display != "none") HiddenTrTitle = false;
					break;
				default :
			}
		}
		
		var HiddenTrDate = true;
		var trs = id_table_data_parent.getElementsByTagName("tr");
		for(var i=trs.length-1;i>=0;i--)
		{
			if(!trs[i].help_tag) continue;
			switch(trs[i].mtag)
			{
				case "date" :
					
					if(HiddenTrDate) trs[i].style.display = "none";
					else trs[i].style.display = "";
					HiddenTrDate = true;
					break;
				case "data" :
					if(trs[i].style.display == "") HiddenTrDate = false;
					//else HiddenTrDate = true;
					break;
				default :
			}
		}
	}
	
	//隐藏指定球队
	function HiddenTeamHelp(TeamId,mControl)
	{
		if(mControl.checked) HiddenTeam(TeamId,false);
		else HiddenTeam(TeamId,true);
	}
	//隐藏指定球队
	function HiddenTeam(TeamId,Flag)
	{
		
		try
		{
			if(Flag)
			{
				for(var prop in mdata.MatchData)
				{
					if(mdata.MatchData[prop].lsid == TeamId)
					{
						for(mj=1;mj<=4;mj++)
						{
							var mtable = eval("id_tr_match_"+mdata.MatchData[prop].mnid+"_"+mj);
							mtable.style.display = "none";
						}
					}
				}
			}
			else
			{
				for(var prop in mdata.MatchData)
				{
					if(mdata.MatchData[prop].lsid == TeamId)
					{
						for(mj=1;mj<=4;mj++)
						{
							var mtable = eval("id_tr_match_"+mdata.MatchData[prop].mnid+"_"+mj);
							mtable.style.display = "";
						}
					}
				}
			}
		}catch(e){}
		HiddenMatchTitle();
	}
	
	function ShowData(DataSort,LastDataFlag)
	{
		var msg = "";
		var mflag = this.md;
		if(DataSort == "LeagueTypeId") mflag = this.lsid;
		else
		{
			LastDataFlag = LastDataFlag.substring(0,10);
			mflag        = mflag.substring(0,10);//.substring(0,16);
		}
		if(LastDataFlag != mflag)
		{
			msg += "<tr mtag='date' help_tag='true'>";
			msg += "<td colspan='17' height='20' background='"+mImagePath+"images/line_bg.gif' align='center'><font color='#FFFFFF'><strong>";
			if(DataSort == "LeagueTypeId")
				msg += this.mn;
			else  
				msg += setChangeTime(this.md);
         
			msg += "</strong></font></td>";
			msg += "</tr>";
		}
		//第一行标题 FFF1BB CEE1FF
		msg += "<tr id='id_tr_match_"+this.mnid+"_1' mtag='data' bgcolor='CEE1FF' align='center' help_tag='true'>";
		msg += "<td width='135' height='18' bgcolor='"+this.bgc+"'>";
		msg += "<table width='124' border='0' cellspacing='0' cellpadding='0'>";
		msg += "<tr>";
		msg += "<td width='82' align='center'><strong><font color='#FFFFFF'>"+this.mn+"</font></strong></td>";
		msg += "<td width='42'><font color='#FFFFFF'>"+this.md.substring(10,16)+"</font></td>";
		msg += "</tr>";
		msg += "</table></td>";
		for(var mi=0;mi<this.odds.length;mi++)
		{
			msg += "<td width='53' height='18'>";
			try
			{
				if(this.odds[mi].CM) msg += "<a href=javascript:WinOpenSet('"+this.mnid+"','"+this.odds[mi].CMid+"','"+this.odds[mi].oid+"','','"+mi+"')>"+this.odds[mi].CM+"</a>";//.substring(0,2);
			}catch(e){};
			msg += "</td>";
		}
		msg += "<td width='48' height='18' align='center' bgcolor='#CEE1FF' title='五大博彩公司欧赔平均赔率'><font color='blue'><b>平均</b></font></td>";
		msg += "<td  align='center' bgcolor='#FFFFFF'><input type='checkbox' value='id_tr_match_"+this.mnid+"' style='display:none' name='HiddenMatch'></td>";
		//第二行(第一行数据)
		msg += "</tr>";
		msg += "<tr bgcolor='#FFFFFF' align='center' id='id_tr_match_"+this.mnid+"_2' mtag='data'>";
		msg += "<td width='135' height='18' align='center'><font color='"+this.bgc+"'>";
		var ZhuChang = "(<font color='red'>主</font>)";
		var KeChang = "(<font color='red'>主</font>)";
		if(this.neu == "master")
		{
			KeChang = "";
		}
		else if(this.neu == "neutral")
		{
			ZhuChang = "(<font color='red'>中</font>)";
			KeChang = "";
		}
		else
		{
			ZhuChang = "";
		}
		if(this.zmc != "") msg += "["+this.zmc+"]";
		msg += this.mz+ZhuChang+"</font></td>";
		var mnum = 0;
		var msum = 0;
		for(var mi=0;mi<this.odds.length;mi++)
		{
			msg += "<td width='53' height='18' id='id_td_"+this.mnid+"_1_"+mi+"'>";
			try
			{
				if(this.odds[mi].mw[0])
				{
					msg += this.odds[mi].mw[0];
					msum += parseFloat(this.odds[mi].mw[0]);
					mnum++;
				}
			}catch(e){};
			msg += "</td>";
		}
		if(mnum > 0) msum = CutFloatData(msum/mnum);
		
		msg += "<td width='48' height='18' bgcolor='#FFFFFF' id='id_td_"+this.mnid+"_w'>"+msum+"</td>";
		msg += "<td  align='center' bgcolor='#FFFFFF'>";
		//
		if(this.ur7 != "")
		{
			msg += "<a href='"+this.ur7+"' target='_blank'><img border=0 src='"+mImagePath+"images/jingxifenxi.gif' width='65' height='18'></a>";
		}
		else
		{
			msg += "<img src='"+mImagePath+"images/jingxifenxi.gif' width='65' height='18'>";
		}
		
		
		msg += "</td>";
		msg += "</tr>";
		//第三行(第二行数据)
		msg += "<tr align='center' bgcolor='#FFFFFF' id='id_tr_match_"+this.mnid+"_3' mtag='data'>";
		msg += "<td width='135' height='18' title='标准盘平手赔率'>和</td>";
		var mnum = 0;
		var msum = 0;
		for(var mi=0;mi<this.odds.length;mi++)
		{
			msg += "<td width='53' height='18' id='id_td_"+this.mnid+"_2_"+mi+"'>";
			try
			{
				if(this.odds[mi].md[0])
				{
					msg += this.odds[mi].md[0];
					msum += parseFloat(this.odds[mi].md[0]);
					mnum++;
				}
			}catch(e){};
			msg += "</td>";
		}
		if(mnum > 0) msum = CutFloatData(msum/mnum);
		msg += "<td width='48' height='18' align='center' bgcolor='#FFFFFF' id='id_td_"+this.mnid+"_d'>"+msum+"</td>";
		msg += "<td  align='center' bgcolor='#FFFFFF'><a href='odd-europe-detail.html?match_id="+this.mnid+"' target='_blank'><img border=0 src='"+mImagePath+"images/baijia.gif' width='65' height='18'></a></td>";
		msg += "</tr>";
		//第四行(第三行数据)
		msg += "<tr align='center' bgcolor='#FFFFFF' id='id_tr_match_"+this.mnid+"_4' mtag='data'>";
		msg += "<td width='135' height='18' bgcolor='#FFFFFF'><font color='"+this.bgc+"'>";
		if(this.kmc != "") msg += "["+this.kmc+"]";
		msg += this.mk+KeChang+"</font></td>";
		var mnum = 0;
		var msum = 0;
		for(var mi=0;mi<this.odds.length;mi++)
		{
			msg += "<td width='53' height='18' id='id_td_"+this.mnid+"_3_"+mi+"'>";
			try
			{
				if(this.odds[mi].ml[0])
				{
					msg += this.odds[mi].ml[0];
					msum += parseFloat(this.odds[mi].ml[0]);
					mnum++;
				}
			}catch(e){};
			msg += "</td>";
		}
		if(mnum > 0) msum = CutFloatData(msum/mnum);
		msg += "<td width='48' height='18' align='center' bgcolor='#FFFFFF' id='id_td_"+this.mnid+"_l'>"+msum+"</td>";
		msg += "<td  align='center' bgcolor='#FFFFFF'><font onclick='SetupEXmlData("+this.mnid+")' style='cursor:hand'>转化</font></td>";
		msg += "</tr>";
		return msg;
	}
	function SetupEXmlData(match_id)
	{
		window.open("./europe_odds/SetupEXmlData.php?match_id="+match_id);
		//window["immediate_update"].location.href = "./europe_odds/SetupEXmlData.php?match_id="+match_id;
		//window.open("./europe_odds/SetupEXmlData.php?match_id="+match_id);
	}
	function CutFloatData(ms_data)
	{
		ms_data += 0.00001;
		ms_data = ms_data + "";
		var mpos = ms_data.indexOf(".");
		if(mpos>=0)
		{
			tmp_ms = ms_data.substring(mpos+3,mpos+4);
			if(parseInt(tmp_ms)>=5) ms_data = parseFloat(ms_data) + 0.01 + "";
			ms_data = ms_data.substring(0,mpos+3);
			if(ms_data.substring(mpos+2,mpos+3) == "") ms_data = ms_data + "0";
		}
		return ms_data;
	}