function VballScoreHelper() { } VballScoreHelper.prototype.getNodeValue = function(xmlNode, tagName) { var a = xmlNode.getElementsByTagName(tagName)[0]; if (a.childNodes.length == 0) return ""; return xmlNode.getElementsByTagName(tagName)[0].firstChild.nodeValue; } //定义棒球类 function VballScoreChange(xmlNode) { var vballHelper = new VballScoreHelper(); this.MatchID = vballHelper.getNodeValue(xmlNode, "match_ID"); //赛事ID //比分 this.H_Score1 = vballHelper.getNodeValue(xmlNode, "A_S_1"); this.H_Score2 = vballHelper.getNodeValue(xmlNode, "A_S_2"); this.H_Score3 = vballHelper.getNodeValue(xmlNode, "A_S_3"); this.H_Score4 = vballHelper.getNodeValue(xmlNode, "A_S_4"); this.H_Score5 = vballHelper.getNodeValue(xmlNode, "A_S_5"); this.H_Score = vballHelper.getNodeValue(xmlNode, "A_Score"); this.G_Score1 = vballHelper.getNodeValue(xmlNode, "B_S_1"); this.G_Score2 = vballHelper.getNodeValue(xmlNode, "B_S_2"); this.G_Score3 = vballHelper.getNodeValue(xmlNode, "B_S_3"); this.G_Score4 = vballHelper.getNodeValue(xmlNode, "B_S_4"); this.G_Score5 = vballHelper.getNodeValue(xmlNode, "B_S_5"); this.G_Score = vballHelper.getNodeValue(xmlNode, "B_Score"); this.State = vballHelper.getNodeValue(xmlNode, "state"); //比赛状态 this.Technic = vballHelper.getNodeValue(xmlNode, "technic"); //是否有统计 this.Ex = vballHelper.getNodeValue(xmlNode, "Ex"); //注释 } function VballScore(xmlNode) { //继承 VballScoreChange.call(this, xmlNode); var vballHelper = new VballScoreHelper(); this.LeagueMatchID = vballHelper.getNodeValue(xmlNode, "league_match_ID"); //联赛ID this.MatchName = vballHelper.getNodeValue(xmlNode, "match_name"); this.MatchKind = vballHelper.getNodeValue(xmlNode, "match_kind"); this.MatchTime = vballHelper.getNodeValue(xmlNode, "date"); this.HomeTeamID = vballHelper.getNodeValue(xmlNode, "A_ID1"); this.GuestTeamID = vballHelper.getNodeValue(xmlNode, "B_ID1"); //主队名 var arrHomeTeam = vballHelper.getNodeValue(xmlNode, "A_Name1").split(","); this.HomeTeam_J = arrHomeTeam[0]; this.HomeTeam_E = arrHomeTeam[1]; this.HomeTeam_F = arrHomeTeam[2]; //客队名 var arrGuestTeam = vballHelper.getNodeValue(xmlNode, "B_Name1").split(","); this.GuestTeam_J = arrGuestTeam[0]; this.GuestTeam_E = arrGuestTeam[1]; this.GuestTeam_F = arrGuestTeam[2]; } //处理数据 //全局变量 var arrVballScore = null; var oldChangeXML = null; var soundCheck = true; var flashSound = ""; //第一次访问 function load_tennis_XML(lang) { language = lang; arrVballScore = new Array(); var oXmlHttp = bomHelper.ajaxObj(); oXmlHttp.open("get", "/sports/xmlData/Vollyball_scores.php?t=" + Date.parse(new Date()), false); oXmlHttp.send(null); var responseXML = oXmlHttp.responseXML; var arrI = responseXML.getElementsByTagName("i"); for (var i = 0; i < arrI.length; i++) { arrVballScore.push(new VballScore(arrI[i])); } //排好序 arrVballScore = sortByState(arrVballScore); var oldLeagueID = ""; var oldMatchKind = ""; var html = ""; var bgColor = "#EBFAFD"; //#F2F6FB var leaguehtml = ""; //赛事选择框的显示 var arrLeagueID = new Array(); for (var i = 0; i < arrVballScore.length; i++) { var vballScore = arrVballScore[i]; //联赛名 if (oldLeagueID != vballScore.LeagueMatchID || oldMatchKind != vballScore.MatchKind) { html += "
"; html += "
" + vballScore.MatchName + " - " + vballScore.MatchKind + "
"; oldLeagueID = vballScore.LeagueMatchID; oldMatchKind = vballScore.MatchKind var haveLeagueID = false; for (var k = 0; k < arrLeagueID.length; k++) { if (vballScore.LeagueMatchID == arrLeagueID[k]) { haveLeagueID = true; break; } } if (!haveLeagueID) { leaguehtml += " " + vballScore.MatchName + " - " + vballScore.MatchKind + ""; //赛事选择 arrLeagueID.push(vballScore.LeagueMatchID); } } //每一场赛事 html += ""; //头部行 html += ""; html += ""; //主队行 if (i % 2 == 0) bgColor = "#EBFAFD"; else bgColor = "#F7F7F7"; html += "" + ""//时间 + ""//状态 + ""//主队名 + ""//比分1 + ""//比分2 + ""//比分3 + ""//比分4 + ""//比分5 + ""//总分 + ""; //客队行 html += "" + ""//客队名 + ""//比分1 + ""//比分2 + ""//比分3 + ""//比分4 + ""//比分5 + ""//总分 + ""; //说明行 html += "
时间状态球队12345总分
" + vballScore.MatchTime + "" + select_match_state(vballScore.State) + "" + (language == 0 ? vballScore.HomeTeam_J : (language == 1 ? vballScore.HomeTeam_F : vballScore.HomeTeam_E)) + "" + vballScore.H_Score1 + "" + vballScore.H_Score2 + "" + vballScore.H_Score3 + "" + vballScore.H_Score4 + "" + vballScore.H_Score5 + "" + vballScore.H_Score + "
" + (language == 0 ? vballScore.GuestTeam_J : (language == 1 ? vballScore.GuestTeam_F : vballScore.GuestTeam_E)) + "" + vballScore.G_Score1 + "" + vballScore.G_Score2 + "" + vballScore.G_Score3 + "" + vballScore.G_Score4 + "" + vballScore.G_Score5 + "" + vballScore.G_Score + "
 " + vballScore.Ex + "
"; } leaguehtml += ""; if (arrVballScore.length == 0) { //html = "
当日没有赛事
"; html = noMatchShow(); } document.getElementById("myleague").innerHTML = leaguehtml; //赛事选择里面的联赛显示 document.getElementById("TennisScore").innerHTML = html; } //改变的XML function load_change_XML() { var oXmlHttp = bomHelper.ajaxObj(); oXmlHttp.open("get", "/sports/xmlData/Vollyball_change.php?t=" + Date.parse(new Date()), false); oXmlHttp.send(null); var responseXML = oXmlHttp.responseXML; if (responseXML == oldChangeXML || responseXML == undefined) { return; } if (oldChangeXML == null) { oldChangeXML = responseXML; return; } else oldChangeXML = responseXML; var refleshVal = responseXML.getElementsByTagName("refresh")[0].firstChild.nodeValue; if (refleshVal == "1") { window.location.reload(); } var arrItems = responseXML.getElementsByTagName("items"); var arrChangeBball = new Array(); for (var i = 0; i < arrItems.length; i++) { arrChangeBball.push(new VballScoreChange(arrItems[i])); } for (i = 0; i < arrChangeBball.length; i++) { var isScoreChange = false; var matchid = arrChangeBball[i].MatchID; var tr = document.getElementById("table_" + matchid); if (tr == null) continue; var match_index = tr.attributes["index"].value; var vballScore = arrVballScore[match_index]; //state if (vballScore.State != arrChangeBball[i].State) { vballScore.State = arrChangeBball[i].State; document.getElementById("RState_" + matchid).innerHTML = select_match_state(arrChangeBball[i].State); if (arrChangeBball[i].State == -1) { document.getElementById("rbt_" + matchid).className = "td_scoreR"; document.getElementById("rbt_" + matchid).className = "td_scoreR"; //window.setTimeout("removeBottom(" + matchid + ")", 60000); } } //scoreA if (vballScore.H_Score != arrChangeBball[i].H_Score) { document.getElementById("rat_" + matchid).style.backgroundColor = "yellow"; document.getElementById("rat_" + matchid).innerHTML = arrChangeBball[i].H_Score; isScoreChange = true; } //scoreB if (vballScore.G_Score != arrChangeBball[i].G_Score) { document.getElementById("rbt_" + matchid).style.backgroundColor = "yellow"; document.getElementById("rbt_" + matchid).innerHTML = arrChangeBball[i].G_Score; isScoreChange = true; } if (isScoreChange) { if (soundCheck && tr.style.display == "") document.getElementById("Sound").innerHTML = flashSound; window.setTimeout("timecolors(" + matchid + ")", 15000); vballScore.H_Score = arrChangeBball[i].H_Score; vballScore.G_Score = arrChangeBball[i].G_Score; } //A_S_1 if (vballScore.H_Score1 != arrChangeBball[i].H_Score1) { scoreChange("ra1_" + matchid, arrChangeBball[i].H_Score1); vballScore.H_Score1 = arrChangeBball[i].H_Score1; //赋值,覆盖 } //A_S_2 if (vballScore.H_Score2 != arrChangeBball[i].H_Score2) { scoreChange("ra2_" + matchid, arrChangeBball[i].H_Score2); vballScore.H_Score2 = arrChangeBball[i].H_Score2; } //A_S_3 if (vballScore.H_Score3 != arrChangeBball[i].H_Score3) { scoreChange("ra3_" + matchid, arrChangeBball[i].H_Score3); vballScore.H_Score3 = arrChangeBball[i].H_Score3; } //A_S_4 if (vballScore.H_Score4 != arrChangeBball[i].H_Score4) { scoreChange("ra4_" + matchid, arrChangeBball[i].H_Score4); vballScore.H_Score4 = arrChangeBball[i].H_Score4; } //A_S_5 if (vballScore.H_Score5 != arrChangeBball[i].H_Score5) { scoreChange("ra5_" + matchid, arrChangeBball[i].H_Score5); vballScore.H_Score5 = arrChangeBball[i].H_Score5; } //B_S_1 if (vballScore.G_Score1 != arrChangeBball[i].G_Score1) { scoreChange("rb1_" + matchid, arrChangeBball[i].G_Score1); vballScore.G_Score1 = arrChangeBball[i].G_Score1; //赋值,覆盖 } //B_S_2 if (vballScore.G_Score2 != arrChangeBball[i].G_Score2) { scoreChange("rb2_" + matchid, arrChangeBball[i].G_Score2); vballScore.G_Score2 = arrChangeBball[i].G_Score2; //赋值,覆盖 } //B_S_3 if (vballScore.G_Score3 != arrChangeBball[i].G_Score3) { scoreChange("rb3_" + matchid, arrChangeBball[i].G_Score3); vballScore.G_Score3 = arrChangeBball[i].G_Score3; //赋值,覆盖 } //B_S_4 if (vballScore.G_Score4 != arrChangeBball[i].G_Score4) { scoreChange("rb4_" + matchid, arrChangeBball[i].G_Score4); vballScore.G_Score4 = arrChangeBball[i].G_Score4; //赋值,覆盖 } //B_S_5 if (vballScore.G_Score5 != arrChangeBball[i].G_Score5) { scoreChange("rb5_" + matchid, arrChangeBball[i].G_Score5); vballScore.G_Score5 = arrChangeBball[i].G_Score5; //赋值,覆盖 } //说明 if (vballScore.Ex != arrChangeBball[i].Ex) { document.getElementById("ex_" + matchid).innerHTML = " " + arrChangeBball[i].Ex; vballScore.Ex = arrChangeBball[i].Ex; } } } //比分改变,改变颜色 function scoreChange(tdId, Score) { var bfTd1 = document.getElementById(tdId); bfTd1.innerHTML = Score; //改变比分 bfTd1.style.color = "red"; //改变颜色 window.setTimeout("scorecolors('" + tdId + "')", 10000); } //总分颜色改变 function timecolors(matchid) { try { document.getElementById("rbt_" + matchid).style.backgroundColor = ""; document.getElementById("rat_" + matchid).style.backgroundColor = ""; } catch (e) { } } //局分颜色改变 function scorecolors(id) { var td = document.getElementById(id); td.style.color = "black"; } //排序,把完场的放回下面 function sortByState(arrTennis) { var finishArr = new Array(); //已完场 var tempArr = new Array(); var oldLeagueID = ""; var oldKind = ""; for (var i = 0; i < arrTennis.length; i++) { if (arrTennis[i].LeagueMatchID != oldLeagueID || arrTennis[i].MatchKind != oldKind) { for (var j = 0; j < finishArr.length; j++) { tempArr.push(finishArr[j]); } finishArr = new Array(); } if (arrTennis[i].State == "-1") { finishArr.push(arrTennis[i]); } else { tempArr.push(arrTennis[i]); } oldKind = arrTennis[i].MatchKind; oldLeagueID = arrTennis[i].LeagueMatchID; } for (var j = 0; j < finishArr.length; j++) { tempArr.push(finishArr[j]); } return tempArr; } ///获取比赛状态 function select_match_state(state) { var statestr = ""; switch (state) { case "-5": statestr = '推迟'; break; case "-4": statestr = '取消'; break; case "-3": statestr = '中断'; break; case "-2": statestr = '待定'; break; case "-1": statestr = ''; break; case "1": statestr = '1'; break; case "2": statestr = '2'; break; case "3": statestr = '3'; break; case "4": statestr = '4'; break; case "5": statestr = '5'; break; default: statestr = ''; break; } return (statestr); } //声效改变 function changeSound() { var s = document.getElementById("checkbox_sound"); if (s.checked) { soundCheck = true; } else { soundCheck = false; } } //显示隐藏的球队 function hidematch(MatchID) { document.getElementById("table_" + MatchID).style.display = "none"; document.getElementById("hiddencount").innerHTML = Math.floor(document.getElementById("hiddencount").innerHTML) + 1; } //全选,显示全部 function ShowAllMatch() { try { for (var i = 0; i < arrVballScore.length; i++) { document.getElementById("table_" + arrVballScore[i].MatchID).style.display = ""; } var arrLeagueBox = document.getElementsByName("checkLea"); for (var j = 0; j < arrLeagueBox.length; j++) { arrLeagueBox[j].checked = "checked"; } document.getElementById("hiddencount").innerHTML = 0; } catch (e) { } } //赛事选择 function showMatchSelect(divID) { var oDiv = document.getElementById(divID); if (oDiv.style.display == "none") { var li = document.getElementById("selectMatchLi"); var pos = getElementPos(li); oDiv.style.left = (pos.x - 700) + "px"; oDiv.style.top = (pos.y - 55) + "px"; oDiv.style.display = "block"; } else oDiv.style.display = "none"; } function getElementPos(_Obj) { var _Top = _Obj.offsetTop; var _Left = _Obj.offsetLeft; while (_Obj = _Obj.offsetParent) { _Top += _Obj.offsetTop; _Left += _Obj.offsetLeft; } return { 'x': _Left, 'y': _Top } } //根据赛事状态选择赛事 function ShowMatchByMatchState(n) { try { var hh = 0; if (n == 0) ShowAllMatch(); else { for (var i = 0; i < arrVballScore.length; i++) { if (n == 1 && parseInt(arrVballScore[i].State) > 0 || n == 2 && parseInt(arrVballScore[i].State) == -1 || n == 3 && parseInt(arrVballScore[i].State) == 0) { document.getElementById("table_" + arrVballScore[i].MatchID).style.display = ""; } else { document.getElementById("table_" + arrVballScore[i].MatchID).style.display = "none"; hh = hh + 1; } } } document.getElementById("hiddencount").innerHTML = hh; } catch (e) { } } //根据联赛选择来显示赛事 function CheckLeague(LeagueID) { try { var hh = parseInt(document.getElementById("hiddencount").innerHTML); if (document.getElementById("checkboxleague_" + LeagueID).checked) { for (var j = 0; j < arrVballScore.length; j++) { if (arrVballScore[j].LeagueMatchID == LeagueID && document.getElementById("table_" + arrVballScore[j].MatchID).style.display == "none") { document.getElementById("table_" + arrVballScore[j].MatchID).style.display = ""; hh = hh - 1; } } } else { for (var j = 0; j < arrVballScore.length; j++) { if (arrVballScore[j].LeagueMatchID == LeagueID && document.getElementById("table_" + arrVballScore[j].MatchID).style.display == "") { document.getElementById("table_" + arrVballScore[j].MatchID).style.display = "none"; hh = hh + 1; } } } document.getElementById("hiddencount").innerHTML = hh; } catch (e) { } } //全不选,全部不显示 function ShowNullMatch() { try { for (var i = 0; i < arrVballScore.length; i++) { document.getElementById("table_" + arrVballScore[i].MatchID).style.display = "none"; } var arrLeagueBox = document.getElementsByName("checkLea"); for (var j = 0; j < arrLeagueBox.length; j++) { arrLeagueBox[j].checked = ""; } document.getElementById("hiddencount").innerHTML = arrVballScore.length; } catch (e) { } } //显示类型,暂无用 function match_kindID(state) { var statestr = ""; switch (state) { case "1": statestr = "男排"; break; case "2": statestr = "女排"; break; } return (statestr); }