var isShowRank = true; var isShowYellowCard = true; var isShowRedCard = true; var isTanScore = true; var isTanRed = true; var isSound = true; var isRedSound = true; var haveletGoal = true;//亚盘 var haveTotal = true;//大小 var haveEurope = false;//欧盘 var haveJcOdds = true; //是否显示竞彩不让球的指数 var haveJcLodds = true; //是否显示竞彩让球指数 var isShowJc = false;//是否显示竞彩 var isShowFocus = false; //是否只显示关注 var scoreType = "0";//0全部,1一级,2足彩,3竞彩,4单场 var language = ""; var sclassList = ""; var arrScheAll = new Array(); // 所有项 var arrSche = new Array(); //可见项 var arrSclass = new Array(); var arrOdds = new Array(); var arrJcOdds = new Array();//竞彩 var arrAds = new Array(); var arrVideo = []; var arrColor = ["#006666", "#518ed2", "#e8811a", "#949720", "#8f6dd6", "#53ac98", "#ff9966", "#a2e76f", "#8d8abd", "#996733", "#8c8a64", "#999012", "#ff6633", "#ca00ca", "#1ba570", "#990099"]; var GoalCn2 = ["0", "0/0.5", "0.5", "0.5/1", "1", "1/1.5", "1.5", "1.5/2", "2", "2/2.5", "2.5", "2.5/3", "3", "3/3.5", "3.5", "3.5/4", "4", "4/4.5", "4.5", "4.5/5", "5", "5/5.5", "5.5", "5.5/6", "6", "6/6.5", "6.5", "6.5/7", "7", "7/7.5", "7.5", "7.5/8", "8", "8/8.5", "8.5", "8.5/9", "9", "9/9.5", "9.5", "9.5/10", "10", "10/10.5", "10.5", "10.5/11", "11", "11/11.5", "11.5", "11.5/12", "12", "12/12.5", "12.5", "12.5/13", "13", "13/13.5", "13.5", "13.5/14", "14"]; var timeDiff = 0; var refreshTime = 3000; var oddsType = 3;//默认sb var ifBug = false; var focusObj = (function () { var n = "focusArr"; var strFocusStr = typeof $.cookie == "undefined" ? "" : $.cookie(n); return { cookieName: n, idArray: typeof (strFocusStr) == "undefined" ? [] : strFocusStr.split(",") } })(); $(document).ready(function () { var audio = document.getElementById("sound"); function readySound() { audio.load(); } var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端 var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 if (isAndroid) $(document).one('click', readySound); if (isiOS) $(document).one('touchstart', readySound); }); function letsgo() { //加载cookie isShowRank = (findCookie("isRankShow") == "1"); isShowYellowCard = (findCookie("isYellowShow") == "1" || findCookie("isYellowShow") == ""); isRedSound = (findCookie("isRedSound") == "1"); isTanScore = (findCookie("isScoreTan") == "1" || findCookie("isScoreTan") == ""); isTanRed = (findCookie("isRedTan") == "1"); isSound = (findCookie("isScoreSound") == "1" || findCookie("isScoreSound") == ""); language = findCookie("language"); scoreType = findCookie("scoreType"); oddsType = findCookie("indexOddsType"); if (oddsType == "") oddsType = 3; if (scoreType == "" || scoreType == "1") scoreType = "0"; if (language == "") language = "0"; haveletGoal = (findCookie("letGoal") == "1" || findCookie("letGoal") == ""); haveTotal = (findCookie("ou") == "1" || findCookie("ou") == ""); haveEurope = (findCookie("europe") == "1"); haveJcOdds = (findCookie("jcOdds") == "1" || findCookie("jcOdds") == ""); haveJcLodds = (findCookie("jcLodds") == "1" || findCookie("jcLodds") == ""); isShowJc = (findCookie("isShowJc") == "1" ); isShowFocus = (findCookie("isShowFocus") == "1"); var scoreTxt = "Schedule_" + language + "_" + scoreType + ".js"; //加载时间 bomHelper.ajaxGet("data/time.html", function (data) { var t = new Date(data.substr(0, 4), parseInt(data.substr(4, 2)) - 1, data.substr(6, 2), data.substr(8, 2), data.substr(10, 2), data.substr(10, 2)); timeDiff = parseInt(((new Date()).getTime() - t.getTime()) / 1000); }); bomHelper.ajaxGet("data/" + scoreTxt, function (data) { var arrData = data.split("$$"); if (oddsType != 0 && !isShowJc) { //fileUrl = oddsType == 3 ? "data/goal3.xml" : "data/goal.php?cid=" + oddsType; fileUrl = oddsType == 3 ? "data/goal3.js" : "data/goal.php?cid=" + oddsType; bomHelper.ajaxXml(fileUrl, true, function (oddsData) { try { if (scoreType < 2) dealWithData(arrData[0], arrData[1], oddsData); else dealWithData(arrData[1], arrData[2], oddsData); //countHidden(); setInterval("showStatePerMinute()", 60000); setInterval("dealwithScoreChange()", refreshTime); setInterval("dealwithChangeOdds()", refreshTime); } catch (e) { if (ifBug) alert(e); } }); } else { bomHelper.ajaxGet("/live/data/odds_jc.js", function (oddsData) { if (arrData[1].length > 0) { if (scoreType < 2 ) dealWithData(arrData[0], arrData[1], oddsData); else dealWithData(arrData[1], arrData[2], oddsData); setInterval("showStatePerMinute()", 60000); setInterval("dealwithScoreChange()", refreshTime); setInterval("dealwithChangeOdds()", refreshTime); } else { var str = "当天暂无赛事"; if (scoreType == 2) { str = "暂无足彩数据"; } else { if (scoreType == 3) { str = "暂无竞猜数据"; } else { if (scoreType == 4) { str = "暂无单场数据"; } } } document.getElementById("content").innerHTML = "
" + str + "
"; } }); } }); } //处理数据 function dealWithData(sclassData, data, oddsData) { if (typeof (sclassData) == "undefined") sclassData = ""; if (typeof (data) == "undefined") data = ""; if (oddsType != 0 && !isShowJc) { var arrM = oddsData.getElementsByTagName("m"); for (var i = 0; i < arrM.length; i++) { var m = arrM[i]; var xml; if (m.innerHTML) xml = m.innerHTML; else xml = m.textContent; arrOdds.push(new QtOdds(xml)); } } else { var arrM = oddsData.split("!"); arrJcOdds = new Array(); for (var i = 0; i < arrM.length; i++) { arrJcOdds.push(new QtJcOdds(arrM[i])); } } //处理联赛 var arrSclassDD = sclassData.split("!"); sclassList = findCookie("sclassList"); var arrSclassList; if (!sclassList || sclassList == "") arrSclassList = new Array(); else arrSclassList = sclassList.split(","); for (var i = 0; i < arrSclassDD.length; i++) { if (arrSclassDD[i] == "") continue; var qt = new QtSclass(arrSclassDD[i]); for (var m = 0; m < arrSclassList.length; m++) { if (qt.sclassID == arrSclassList[m]) { qt.isShow = false; qt.isTmpShow = false; } } arrSclass.push(qt); } var arr = data.split("!"); for (var i = 0; i < arr.length; i++) { if (arr[i] == "") continue; var qt = new Qtscore(arr[i]); for (var j = 0; j < arrSclass.length; j++) { var sclass = arrSclass[j]; if (qt.sclassid == sclass.sclassID) { qt.sclassColor = sclass.sclassColor; qt.sclassName = sclass.sclassName; qt.isShow = sclass.isShow; break; } } if (!!arrOdds && oddsType != 0 && !isShowJc) { for (var j = 0; j < arrOdds.length; j++) { var od = arrOdds[j]; if (qt.scheduleid == od.scheid) { qt.Odds = od; break; } } } else if (!!arrJcOdds) { for (var j = 0; j < arrJcOdds.length; j++) { var od = arrJcOdds[j]; if (qt.scheduleid == od.scheid) { qt.jcOdds = od; break; } } } arrScheAll.push(qt); } Refresh(); } function Refresh() { var isTopCookieStr = findCookie("isTop"); var arrNewCookie = new Array(); var arrNotTop = new Array(); arrSche = new Array(); for (var i = 0; i < arrScheAll.length; i++) { var qt = arrScheAll[i]; if (typeof (isTopCookieStr) != "undefined" && isTopCookieStr.indexOf(qt.scheduleid) != -1) { qt.isTop = true; qt.isShow = true; arrNewCookie.push(qt.scheduleid + ","); arrSche.push(qt); } else if (qt.isShow || qt.isFocus) { arrNotTop.push(qt); } } //更新现有cookie document.cookie = "isTop=" + arrNewCookie.join(""); for (var i = 0; i < arrNotTop.length; i++) arrSche.push(arrNotTop[i]); showData(); } var advHelper = new AdvertHelper(1); advHelper.init(function () { if (typeof (Advert.supple) === "function") Advert.supple(); }); function Advert() { var AdvertObj = this; this.topIndex = 0; var arrAd = advHelper.getItem("arrAd", null); var length = arrAd == null ? 7 : arrAd.length; if (arrAd == null) { Advert.supple = function () { advHelper.setArrEach("arrAd", function (obj) { return showCotent(obj); }); } } else Advert.supple = undefined; function showCotent(adObj) { var url = advHelper.link + adObj.id; if (adObj.imgPath == "") return "" + adObj.title + ""; else return ""; } function showAdvert(html, arrAd, index) { var reVal = ""; if (arrAd !== null) reVal = showCotent(arrAd[index]); html.push("
" + reVal + "
"); } this.Show = function (html, index) { if (index < 1 || (index - 2) % 2 != 0) return; if (this.topIndex < length) { showAdvert(html, arrAd, this.topIndex); this.topIndex++; } } this.ShowRemain = function (html) { for (var i = this.topIndex; i < length; i++) { showAdvert(html, arrAd, i); } } } function filterData() { } //显示数据 function showData() { var arrHtml = new Array(); var advertTool = new Advert(); for (var i = 0; i < arrSche.length; i++) { var qt = arrSche[i]; advertTool.Show(arrHtml, i); var stateColor = ""; if (qt.matchState == 0) stateColor = "weiKai"; else if (qt.matchState == 2) stateColor = "zBlue"; else stateColor = "red"; var score = ""; var scoreColor = "weiKai"; if (qt.matchState == 0) { score = "vs"; } else if (qt.matchState == 2) { score = qt.homeScore + "-" + qt.awayScore; scoreColor = "zBlue"; } else if (qt.matchState > 0) { score = qt.homeScore + "-" + qt.awayScore; scoreColor = "sLv"; } else if (qt.matchState == -1) { score = qt.homeScore + "-" + qt.awayScore; scoreColor = "red"; } else { score = "-"; } var homeRedCardStr = ""; var awayRedCardStr = ""; if (isShowRedCard && qt.homeRed != "") homeRedCardStr = ""; else homeRedCardStr = ""; if (isShowRedCard && qt.awayRed != "") awayRedCardStr = ""; else awayRedCardStr = ""; var homeYeCardStr = ""; var awayYeCardStr = ""; if (isShowYellowCard && qt.homeYellow != "") homeYeCardStr = ""; else homeYeCardStr = ""; if (isShowYellowCard && qt.awayYellow != "") awayYeCardStr = ""; else awayYeCardStr = ""; var homeRank = ""; var awayRank = ""; if (isShowRank) homeRank = qt.homeOrder; if (isShowRank) awayRank = qt.awayOrder; var halfScore = ""; if (qt.homeHalfScore != "") halfScore = qt.homeHalfScore + "-" + qt.awayHalfScore; var explain = "" + qt.cupExplain + ""; var corner = ""; if (qt.hasCorner && (qt.matchState > 0 || qt.matchState == -1)) { corner = qt.hCorner + "-" + qt.gCorner; } var infoBtn = qt.isActShow ? "broadcast" : "infoBtn"; var lLetgoal = ""; arrHtml.push(["
", " ", "", ""].join('')); var oddsShowArr = []; if (oddsType != 0 && !isShowJc) { if (haveletGoal) { oddsShowArr.push({ name: "homeOdds_" + qt.scheduleid, value: (qt.Odds == undefined ? "" : qt.Odds.homeOdds) }); oddsShowArr.push({ name: "letgoal_" + qt.scheduleid, value: ((qt.Odds == undefined) ? "" : Goal2GoalCn(qt.Odds.letgoal)) }); oddsShowArr.push({ name: "awayOdds_" + qt.scheduleid, value: (qt.Odds == undefined ? "" : qt.Odds.awayOdds) }); } if ((!haveletGoal && !haveTotal) || (!haveletGoal && !haveEurope)) { //如果没有让球,大小或者没有让球,欧赔,前面3个留空,把大小和欧赔放右边 oddsShowArr.push({ name: "homeOdds_" + qt.scheduleid, value: "" }); oddsShowArr.push({ name: "letgoal_" + qt.scheduleid, value: "" }); oddsShowArr.push({ name: "awayOdds_" + qt.scheduleid, value: "" }); } if (haveTotal) { oddsShowArr.push({ name: "over_" + qt.scheduleid, value: (qt.Odds == undefined ? "" : qt.Odds.over) }); oddsShowArr.push({ name: "oLetgoal_" + qt.scheduleid, value: ((qt.Odds == undefined) ? "" : Goal2GoalCn(qt.Odds.oLetgoal)) }); oddsShowArr.push({ name: "under_"+qt.scheduleid, value: (qt.Odds == undefined ? "" : qt.Odds.under) }); } if (!(haveletGoal && haveTotal) && haveEurope) { oddsShowArr.push({ name: "homeWin_" + qt.scheduleid, value: (qt.Odds == undefined ? "" : qt.Odds.homeWin) }); oddsShowArr.push({ name: "standOff_" + qt.scheduleid, value: (qt.Odds == undefined) ? "" : qt.Odds.standOff }); oddsShowArr.push({ name: "awayWin_" + qt.scheduleid, value: (qt.Odds == undefined ? "" : qt.Odds.awayWin) }); } } else { if (haveJcLodds) { oddsShowArr.push({ name: "lWin_" + qt.scheduleid, value: (qt.jcOdds == undefined ? "" : qt.jcOdds.lWin) }); oddsShowArr.push({ name: "lFlat_" + qt.scheduleid, value: (qt.jcOdds == undefined ? "" : qt.jcOdds.lFlat) }); oddsShowArr.push({ name: "lLose_" + qt.scheduleid, value: (qt.jcOdds == undefined ? "" : qt.jcOdds.lLose) }); if (qt.jcOdds != undefined) { lLetgoal = "(" + (parseInt(qt.jcOdds.letgoal) > 0 ? "+" : "") + qt.jcOdds.letgoal + ")"; } } else { oddsShowArr.push({ name: "lWin_" + qt.scheduleid, value: "" }); oddsShowArr.push({ name: "lFlat_" + qt.scheduleid, value: "" }); oddsShowArr.push({ name: "lLose_" + qt.scheduleid, value: "" }); } if (haveJcOdds) { oddsShowArr.push({ name: "win_" + qt.scheduleid, value: (qt.jcOdds == undefined ? "" : qt.jcOdds.win) }); oddsShowArr.push({ name: "flat_" + qt.scheduleid, value: (qt.jcOdds == undefined ? "" : qt.jcOdds.flat) }); oddsShowArr.push({ name: "lose_" + qt.scheduleid, value: (qt.jcOdds == undefined ? "" : qt.jcOdds.lose) }); } } if (oddsShowArr.length < 6) { oddsShowArr.push({ name: "", value: "" }); oddsShowArr.push({ name: "", value: "" }); oddsShowArr.push({ name: "", value: "" }); if (oddsShowArr.length < 6) { oddsShowArr.push({ name: "", value: "" }); oddsShowArr.push({ name: "", value: "" }); oddsShowArr.push({ name: "", value: "" }); } } arrHtml.push(["", ""].join('')); arrHtml.push(explain + "
" + qt.sclassName + "
" + qt.matchTimeStr + "
" + showMatchState(qt.matchState, qt.startTime) + "
" + halfScore + "
" + corner + "
" + homeYeCardStr + homeRedCardStr + "" + homeRank + "" + qt.homeTeam + " " + score + " " + qt.awayTeam + "" + awayRank + "" + awayRedCardStr + awayYeCardStr + "
" + lLetgoal + "" + oddsShowArr[0].value + "", "" + oddsShowArr[1].value + "", "" + oddsShowArr[2].value + "" + oddsShowArr[3].value + "", "" + oddsShowArr[4].value + "", "" + oddsShowArr[5].value + "
"); } advertTool.ShowRemain(arrHtml); document.getElementById("content").innerHTML = arrHtml.join(""); } //显示筛选框 function showFilter() { var filterObj = document.getElementById("filterDiv"); if (filterObj.style.display == "block") { filterObj.style.display = "none"; return; } var filterBox = document.getElementById("filterBox"); var arrHtml = new Array(); for (var i = 0; i < arrSclass.length; i++) { var sc = arrSclass[i]; arrHtml.push("" + sc.sclassName + ""); } filterBox.innerHTML = arrHtml.join(""); //显示选的是一级还是全部 var menu = document.getElementById("menu"); var arrMenu = new Array(); var arrwe = ["全部", "", "足彩", "竞彩", "单场"]; if (language == "1") { arrwe = ["全部", "", "足彩", "競彩", "單場"]; } for (var i = 0; i < arrwe.length; i++) { var one = arrwe[i]; if (one == "") continue; if (i.toString() == scoreType) { arrMenu.push("
  • " + one + "
  • "); } else arrMenu.push("
  • " + one + "
  • "); } menu.innerHTML = arrMenu.join(""); filterObj.style.display = "block"; } function setClass(dom, className) { if (typeof dom.setAttribute !== "undefined") dom.setAttribute("class", className); else dom.className = className; } //点击联赛筛选按钮 function clickFilter(sclassid, obj) { for (var i = 0; i < arrSclass.length; i++) { var sc = arrSclass[i]; if (sc.sclassID == sclassid) { sc.isTmpShow = !sc.isTmpShow; setClass(obj, (sc.isTmpShow ? "filterBtn2 on" : "filterBtn2")); break; } } countHidden(); } //联系筛选框,点击“确定” function clickSureFilter() { var arrsclass = new Array(); for (var i = 0; i < arrSclass.length; i++) { var sc = arrSclass[i]; sc.isShow = sc.isTmpShow; if (!sc.isShow) arrsclass.push(sc.sclassID); for (var j = 0; j < arrScheAll.length; j++) { var qt = arrScheAll[j]; if (qt.sclassid == sc.sclassID) { qt.isShow = sc.isShow; } } } document.cookie = "sclassList=" + arrsclass.join(","); Refresh(); //var con = document.getElementById("content"); //var len = con.childNodes.length; //for (var i = 0; i < len; i++) { // var node = con.childNodes[i]; // var qt = arrSche[i]; // if (node.style.display == "none" && qt.isShow) // node.style.display = "block"; // else if ((node.style.display = "block"||node.style.display == "") && !qt.isShow) // node.style.display = "none"; //} document.getElementById("filterDiv").style.display = "none"; } //联系筛选框,点击“取消” function clickCancelFilter() { for (var i = 0; i < arrSclass.length; i++) { var sc = arrSclass[i]; sc.isTmpShow = sc.isShow; } document.getElementById("filterDiv").style.display = "none"; countHidden(); } function explainList(exList, homeTeam, awayTeam) { if (exList == "") return ""; var exText = new Array(); //得分 var gex4 = exList.split(";"); if (gex4[0] != "") exText.push(gex4[0].replace(",", "分钟[") + "]"); if (gex4[1] != "") exText.push("二回合[" + gex4[1] + "]"); if (!!gex4[2]) exText.push(gex4[2].replace("1,", "120分钟[").replace("2,", "加时[").replace("3,", "加时中[") + "]"); if (!!gex4[3]) exText.push("点球[" + gex4[3] + "]"); if (gex4[4] == "1") exText.push(homeTeam + "赢"); else if (gex4[4] == "2") exText.push(awayTeam + "赢"); return exText.join(","); } //初始化比分对象 function Qtscore(data) { var arrTr = data.split("^"); this.scheduleid = arrTr[0]; this.sclassid = arrTr[1]; this.matchState = parseInt(arrTr[2]); this.matchTime = arrTr[3]; this.matchTimeStr = arrTr[3].substr(8, 2) + ":" + arrTr[3].substr(10, 2); this.matchTime2 = arrTr[4]; if (arrTr[4] != "") this.startTime = new Date(this.matchTime2.substr(0, 4), parseInt(this.matchTime2.substr(4, 2)) - 1, this.matchTime2.substr(6, 2), this.matchTime2.substr(8, 2), this.matchTime2.substr(10, 2), this.matchTime2.substr(10, 2)) else this.startTime = new Date(this.matchTime.substr(0, 4), parseInt(this.matchTime.substr(4, 2)) - 1, this.matchTime.substr(6, 2), this.matchTime.substr(8, 2), this.matchTime.substr(10, 2), this.matchTime.substr(10, 2)) this.homeTeam = arrTr[5]; this.awayTeam = arrTr[6]; this.homeScore = arrTr[7]; this.awayScore = arrTr[8]; this.homeHalfScore = arrTr[9]; this.awayHalfScore = arrTr[10]; this.homeRed = arrTr[11]; this.awayRed = arrTr[12]; this.homeYellow = arrTr[13]; this.awayYellow = arrTr[14]; this.caiPiaoHao = arrTr[16]; this.isZhenRong = (arrTr[18] == "1"); this.homeOrder = arrTr[19]; if (this.homeOrder != "") this.homeOrder = "[" + this.homeOrder + "]"; this.awayOrder = arrTr[20]; if (this.awayOrder != "") this.awayOrder = "[" + this.awayOrder + "]"; this.sclassName = ""; this.sclassColor = ""; this.cupExplain = explainList(arrTr[21], this.homeTeam, this.awayTeam); if (arrTr[28] !== "") { this.cupExplain += (this.cupExplain !== "" ? "
    " : "") + arrTr[28]; } this.hasCorner = arrTr[27] == "1"; this.hCorner = arrTr[25]; this.gCorner = arrTr[26]; this.firstLetgoal = arrTr[15]; //让球 this.firstOverUnder = arrTr[31]; //大小 this.countryId = arrTr[33]; this.countryName = ""; this.countrySort = 0; this.isActShow = (arrTr[34] == "1");//是否有动画直播 this.isHighTv = (arrTr[36] == "1");//是否有高清直播 this.isShow = true; this.Odds = undefined; this.jcOdds = undefined; this.isTop = false; this.isFocus = $.inArray(this.scheduleid, focusObj.idArray) > -1; this.adIndex = -1; } //初始化联赛对象 function QtSclass(data) { var arrTr = data.split("^"); this.sclassID = arrTr[1]; this.sclassName = arrTr[0]; this.isLevel1 = (arrTr[2] == "1"); this.sclassColor = arrColor[parseInt(this.sclassID) % 16]; this.isShow = true; this.isTmpShow = true; } //初始化赔率对象 function QtOdds(data) { var arrTr = data.split(","); this.scheid = arrTr[0]; this.letgoal = arrTr[2]; this.homeOdds = arrTr[3]; this.awayOdds = arrTr[4]; this.homeWin = arrTr[6]; this.standOff = arrTr[7]; this.awayWin = arrTr[8]; this.oLetgoal = arrTr[10]; this.over = arrTr[11]; this.under = arrTr[12]; } //初始化竞彩赔率对象 function QtJcOdds(data) { var arrTr = data.split("^"); this.scheid = arrTr[0]; this.win = arrTr[1]; this.flat = arrTr[2]; this.lose = arrTr[3]; this.letgoal = arrTr[4];//让球数 this.lWin = arrTr[5]; this.lFlat = arrTr[6]; this.lLose = arrTr[7]; } //显示状态 function showMatchState(mState, startTime) { var ms = ""; switch (mState) { case 5: ms = "点"; break; case 4: ms = "加"; break; case 3: ms = "下半场"; break; case 2: ms = "中"; break; case 1: ms = "上半场"; break; case 0: ms = "未"; break; case -1: ms = "完"; break; case -10: ms = "取消"; break; case -11: ms = "待定"; break; case -12: ms = "腰砍"; break; case -13: ms = "中断"; break; case -14: ms = "推迟"; break; // default:ms=[NSString stringWithFormat:@"%@:%@",self.homeScore,self.awayScore]; // break; } if (language == "1") { //本地化 switch (mState) { case 3: ms = "下半場"; break; case 1: ms = "上半場"; break; case 0: ms = "未"; break; case -14: ms = "推遲"; break; } } if (mState == 1) { var now = new Date(); var serverTime = now.getTime() / 1000 - timeDiff; var df = (serverTime - startTime.getTime() / 1000) / 60; df = parseInt(df); if (df <= 0) { ms = "1'"; } else if (df <= 45) { ms = df.toString() + "'"; } else { ms = "45+'"; } } else if (mState == 3) { var now = new Date(); var serverTime = now.getTime() / 1000 - timeDiff; var df = (serverTime - startTime.getTime() / 1000) / 60 + 46; //由于不确定它计算出来的数据一定准确,所以做多几个判断 df = parseInt(df); if (df <= 46) { ms = "46'"; } else if (df <= 90) { ms = df.toString() + "'"; } else { ms = "90+'"; } } return ms; } //每分钟刷新比赛时间 function showStatePerMinute() { for (var i = 0; i < arrSche.length; i++) { var qt = arrSche[i]; if (qt.matchState > 0) { var elem = document.getElementById("state_" + qt.scheduleid); if (elem) { elem.innerHTML = showMatchState(qt.matchState, qt.startTime); } } } } //处理数据变化文件 function dealwithScoreChange() { bomHelper.ajaxGet("data/livechange.txt", function (data) { var arrData = data.split("!"); var isTan = true; for (var i = 0; i < arrData.length; i++) { var live = new QtliveChange(arrData[i]); var isStateChange = false; var j = 0; for (; j < arrSche.length; j++) { var qt = arrSche[j]; if (live.scheduleid == qt.scheduleid) { qt.startTime = live.startTime; qt.homeHalfScore = live.homeHalfScore; qt.awayHalfScore = live.awayHalfScore; if (qt.homeHalfScore != "") { var elem = document.getElementById("halfscore_" + qt.scheduleid); if (elem) { elem.innerHTML = qt.homeHalfScore + "-" + qt.awayHalfScore; } } if (live.matchState != qt.matchState) { qt.matchState = live.matchState; var stateObj = document.getElementById("state_" + qt.scheduleid); stateObj.innerHTML = showMatchState(qt.matchState, qt.startTime); //置底 if (qt.matchState == 0) { setClass(stateObj, "state weiKai"); } else if (qt.matchState == 2) { setClass(stateObj, "state zBlue"); } else { setClass(stateObj, "state red"); } isStateChange = (qt.matchState <= -1); if (qt.matchState == 1 || qt.matchState == 3) { document.getElementById("sbox_" + qt.scheduleid).innerHTML = qt.homeScore + "-" + qt.awayScore; document.getElementById("sbox_" + qt.scheduleid).setAttribute("class", "scoreBox sLv"); } } var isRemind = true; if (isShowFocus && focusObj.idArray.indexOf(qt.scheduleid)==-1) isRemind = false; if (live.homeScore != qt.homeScore) { qt.homeScore = live.homeScore; document.getElementById("ht_" + qt.scheduleid + "").style.backgroundColor = "#669900"; document.getElementById("sbox_" + qt.scheduleid).innerHTML = qt.homeScore + "-" + qt.awayScore; if (isRemind) { if (isSound) playSound(); //弹窗 if (isTan && isTanScore && qt.isShow) { isTan = false; document.getElementById("ppDiv").style.display = "block"; document.getElementById("ppHomeTeam").innerHTML = qt.homeTeam; document.getElementById("ppScore").innerHTML = "" + qt.homeScore + ":" + qt.awayScore; document.getElementById("ppGuestTeam").innerHTML = qt.awayTeam; setTimeout("hideTan('ppDiv')", 8000); } } //恢复颜色 setTimeout("resetColor('ht_" + qt.scheduleid + "')", 10000); } if (live.awayScore != qt.awayScore) { qt.awayScore = live.awayScore; document.getElementById("at_" + qt.scheduleid + "").style.backgroundColor = "#669900"; document.getElementById("sbox_" + qt.scheduleid).innerHTML = qt.homeScore + "-" + qt.awayScore; if (isRemind) { if (isSound) playSound(); //弹窗 if (isTan && isTanScore && qt.isShow) { isTan = false; document.getElementById("ppDiv").style.display = "block"; document.getElementById("ppHomeTeam").innerHTML = qt.homeTeam; document.getElementById("ppScore").innerHTML = "" + qt.homeScore + ":" + qt.awayScore + ""; document.getElementById("ppGuestTeam").innerHTML = qt.awayTeam; setTimeout("hideTan('ppDiv')", 8000); } } //恢复颜色 setTimeout("resetColor('at_" + qt.scheduleid + "')", 10000); } if (live.homeRed != qt.homeRed) { if (isRemind && isRedSound) playRedSound(); qt.homeRed = live.homeRed; if (qt.homeRed > 0) { var hred = document.getElementById("hred_" + live.scheduleid); hred.style.display = "inline-block"; setClass(hred, "redcard" + qt.homeRed); if (isTan && isTanRed && qt.isShow && isRemind) { isTan = false; document.getElementById("ppRedDiv").style.display = "block"; document.getElementById("redTeam").innerHTML = "" + qt.homeTeam + ""; setTimeout("hideTan('ppRedDiv')", 8000); } } else document.getElementById("hred_" + live.scheduleid).style.display = "none"; } if (live.awayRed != qt.awayRed) { if (isRemind && isRedSound) playRedSound(); qt.awayRed = live.awayRed; if (qt.awayRed > 0) { var ared = document.getElementById("ared_" + live.scheduleid); ared.style.display = "inline-block"; setClass(ared, "redcard" + qt.awayRed); if (isTan && isTanRed && qt.isShow && isRemind) { isTan = false; document.getElementById("ppRedDiv").style.display = "block"; document.getElementById("redTeam").innerHTML = "" + qt.awayTeam + ""; setTimeout("hideTan('ppRedDiv')", 8000); } } else document.getElementById("ared_" + live.scheduleid).style.display = "none"; } if (live.hasCorner) { if (qt.hCorner != live.hCorner || qt.gCorner != live.gCorner) { qt.hCorner = live.hCorner; qt.gCorner = live.gCorner; document.getElementById("corner_" + live.scheduleid).innerHTML = live.hCorner + "-" + live.gCorner; } } if (live.homeYellow != qt.homeYellow) { qt.homeYellow = live.homeYellow; if (isShowYellowCard) { if (qt.homeYellow > 0) { var hyel = document.getElementById("hyel_" + live.scheduleid); hyel.style.display = "inline-block"; setClass(hyel, "yellowcard" + qt.homeYellow); } else { document.getElementById("hyel_" + live.scheduleid).style.display = "none"; } } } if (live.awayYellow != qt.awayYellow) { qt.awayYellow = live.awayYellow; if (isShowYellowCard) { if (qt.awayYellow > 0) { var hyel = document.getElementById("ayel_" + live.scheduleid); hyel.style.display = "inline-block"; setClass(hyel, "yellowcard" + qt.awayYellow); } else document.getElementById("ayel_" + live.scheduleid).style.display = "none"; } } if (live.explainText) { var explain = explainList(live.explainText, qt.homeTeam, qt.awayTeam); if (explain) { var elemEx = document.getElementById("exList_" + qt.scheduleid); if (elemEx) { elemEx.innerHTML = explain; elemEx.style.display = ""; } } } break; } } if (isStateChange) { //完场赛事置底 setTimeout("toBottom(" + j + ")", 8000); } } }); } function dealwithChangeOdds() { function checkOddsChanged(oItem, cItem, prop, plex, cellVal) { if (cItem[prop] != oItem[prop]) { elem = document.getElementById(plex + oItem.scheid); if (elem) { elem.innerHTML = cellVal; var nV = parseFloat(cItem[prop]); var oV = parseFloat(oItem[prop]); setClass(elem, (nV > oV ? "red" : "green")); setTimeout("resetOddsColor('" + plex + oItem.scheid + "')", 8000); oItem[prop] = cItem[prop]; } return true; } return false; } if (oddsType != 0 && !isShowJc) { //changeUrl = oddsType == 3 ? "data/ch_goal3.xml" : "data/ch_goal.php?cid=" + oddsType; changeUrl = oddsType == 3 ? "data/ch_goal3.js" : "data/ch_goal.php?cid=" + oddsType; bomHelper.ajaxXml(changeUrl, true, function (data) { var arrM = data.getElementsByTagName("m"); //var arrChOdds = new Array(); for (var i = 0; i < arrM.length; i++) { var m = arrM[i]; var xml; if (m.innerHTML) xml = m.innerHTML; else xml = m.textContent; var odds = new QtOdds(xml); var j = 0; for (; j < arrSche.length; j++) { var tOdds = arrSche[j].Odds; if (tOdds == undefined) continue; if (odds.scheid == tOdds.scheid) { if (haveletGoal) { checkOddsChanged(tOdds, odds, "letgoal", "letgoal_", Goal2GoalCn(odds.letgoal)); checkOddsChanged(tOdds, odds, "homeOdds", "homeOdds_", odds.homeOdds); checkOddsChanged(tOdds, odds, "awayOdds", "awayOdds_", odds.awayOdds); } if (haveTotal) { checkOddsChanged(tOdds, odds, "over", "over_", odds.over); checkOddsChanged(tOdds, odds, "oLetgoal", "oLetgoal_", Goal2GoalCn(odds.oLetgoal)); checkOddsChanged(tOdds, odds, "under", "under_", odds.under); } if (!(haveletGoal && haveTotal) && haveEurope) { checkOddsChanged(tOdds, odds, "homeWin", "homeWin_", odds.homeWin); checkOddsChanged(tOdds, odds, "standOff", "standOff_", odds.standOff); checkOddsChanged(tOdds, odds, "awayWin", "awayWin_", odds.awayWin); } } } } }); } else { bomHelper.ajaxGet("/live/data/oddsChange_jc.js", function (data) { if (data != "") { var arrM = data.split("!"); for (var i = 0; i < arrM.length; i++) { var odds = new QtJcOdds(arrM[i]); for (var j = 0; j < arrSche.length; j++) { var tOdds = arrSche[j].jcOdds; if (tOdds == undefined) continue; if (odds.scheid == tOdds.scheid) { if (haveJcLodds) { checkOddsChanged(tOdds, odds, "lWin", "lWin_", odds.lWin); checkOddsChanged(tOdds, odds, "lFlat", "lFlat_", odds.lFlat); checkOddsChanged(tOdds, odds, "lLose", "lLose_", odds.lLose); } if (haveJcOdds) { checkOddsChanged(tOdds, odds, "win", "win_", odds.win); checkOddsChanged(tOdds, odds, "flat", "flat_", odds.flat); checkOddsChanged(tOdds, odds, "lose", "lose_", odds.lose); } } } } } }); } } function QtliveChange(data) { if (data == "") return; var arrTr = data.split("^"); if (arrTr.length < 2) return; this.scheduleid = arrTr[0]; this.matchState = parseInt(arrTr[1]); if (arrTr[3] == "") this.startTime = new Date(); else this.startTime = new Date(arrTr[3].substr(0, 4), parseInt(arrTr[3].substr(4, 2)) - 1, arrTr[3].substr(6, 2), arrTr[3].substr(8, 2), arrTr[3].substr(10, 2), arrTr[3].substr(10, 2)); this.homeRed = arrTr[8]; this.awayRed = arrTr[9]; this.homeYellow = arrTr[10]; this.awayYellow = arrTr[11]; this.homeScore = arrTr[4]; this.awayScore = arrTr[5]; this.homeHalfScore = arrTr[6]; this.awayHalfScore = arrTr[7]; this.explainText = arrTr[13]; this.hCorner = arrTr[14]; this.gCorner = arrTr[15]; this.hasCorner = arrTr[16] == "1"; } //重置颜色 function resetColor(sid) { document.getElementById(sid).style.backgroundColor = ""; } function resetOddsColor(sid) { var oj = document.getElementById(sid); setClass(oj, "gray"); } //隐藏弹窗 function hideTan(sid) { document.getElementById(sid).style.display = "none"; } function Goal2GoalCn(goal) { //数字盘口转汉汉字 if (goal == null || goal + "" == "") return ""; else { if (goal > 10 || goal < -10) return goal + ""; if (goal >= 0) return GoalCn2[parseInt(goal * 4)]; else return "-" + GoalCn2[Math.abs(parseInt(goal * 4))]; } } //置顶 function zhiDing(scheid, aObj, evt) { var e = (evt) ? evt : window.event; //判断浏览器的类型,在基于ie内核的浏览器中的使用cancelBubble if (window.event) { e.cancelBubble = true; } else { //e.preventDefault(); //在基于firefox内核的浏览器中支持做法stopPropagation e.stopPropagation(); } var obj = undefined; var i = 0; var isFind = false; for (; i < arrSche.length; i++) { var qt = arrSche[i]; if (qt.scheduleid == scheid) { qt.isTop = !qt.isTop; obj = qt; isFind = true; var aClass = aObj.querySelector(".topOn,.topOff").classList; aClass.toggle("topOn"); aClass.toggle("topOff"); //处理cookie var isTopCookie = findCookie("isTop"); if (isTopCookie == "" || typeof (isTopCookie) == "undefined") { if (qt.isTop) document.cookie = "isTop=" + qt.scheduleid + ","; } else { if (qt.isTop && isTopCookie.indexOf(qt.scheduleid) == -1) document.cookie = "isTop=" + isTopCookie + qt.scheduleid + ","; else if (!qt.isTop && isTopCookie.indexOf(qt.scheduleid) != -1) { var rp = isTopCookie.replace("" + qt.scheduleid + ",", ""); document.cookie = "isTop=" + rp; } } break; } } if (isFind) { arrSche.splice(i, 1); var contentObj = document.getElementById("content"); var childNode = document.getElementById("match_" + scheid); contentObj.removeChild(childNode); positionObj(obj, childNode); } } function positionObj(qs, childNode) { var i = 0; var o; for (; i < arrSche.length; i++) { o = arrSche[i]; //假若为置顶 if (qs.isTop) { if (o.isTop)//判断置顶 { //判断状态 if (o.matchState > 0 && qs.matchState > 0) { if (o.matchTime.localeCompare(qs.matchTime) > 0)//时间大的排在后面 break; else continue;//否则下一个 } else if (o.matchState > 0 && qs.matchState <= 0) { continue; } else if (o.matchState == 0 && qs.matchState > 0) break; else if (o.matchState == 0 && qs.matchState == 0) { if (o.matchTime.localeCompare(qs.matchTime) > 0)//时间大的排在后面 break; else continue;//否则下一个 } else if (o.matchState == 0 && qs.matchState < 0) continue; else if (o.matchState < 0 && qs.matchState >= 0) break; else//大家都小于0 { if (o.matchTime.localeCompare(qs.matchTime) > 0)//时间大的排在后面 break; else continue;//否则下一个 } } else break;//置顶优先 } else { if (o.isTop) continue; else { //判断状态 if (o.matchState > 0 && qs.matchState > 0) { if (o.matchTime.localeCompare(qs.matchTime) > 0)//时间大的排在后面 break; else continue;//否则下一个 } else if (o.matchState > 0 && qs.matchState <= 0) { continue; } else if (o.matchState == 0 && qs.matchState > 0) break; else if (o.matchState == 0 && qs.matchState == 0) { if (o.matchTime.localeCompare(qs.matchTime) > 0)//时间大的排在后面 break; else continue;//否则下一个 } else if (o.matchState == 0 && qs.matchState < 0) continue; else if (o.matchState < 0 && qs.matchState >= 0) break; else//大家都小于0 { if (o.matchTime.localeCompare(qs.matchTime) > 0)//时间大的排在后面 break; else continue;//否则下一个 } } } } arrSche.splice(i, 0, qs); if (!o) return; var tempNode = document.getElementById("match_" + o.scheduleid); document.getElementById("content").insertBefore(childNode, tempNode); } //把完场节点移到底部 function toBottom(pos) { var qt = arrSche[pos]; arrSche.splice(pos, 1); var contentObj = document.getElementById("content"); var childNode = document.getElementById("match_" + qt.scheduleid); contentObj.removeChild(childNode); positionObj(qt, childNode); } function toFenXi(scheid) { for (var i = 0; i < arrSche.length; i++) { var qt = arrSche[i]; if (qt.scheduleid == scheid) { if (qt.matchState == 0) { window.location.href = "Analysis/index.html?id=" + scheid; } else { window.location.href = "Analysis/ShiJian.html?id=" + scheid; } break; } } } //点击“精简” function clickJingJian() { var filterBox = document.getElementById("filterBox"); for (var i = 0; i < arrSclass.length; i++) { var sc = arrSclass[i]; if (sc.isLevel1) { sc.isTmpShow = true; } else { sc.isTmpShow = false; } var obj = filterBox.childNodes[i]; setClass(obj, (sc.isTmpShow ? "filterBtn2 on" : "filterBtn2")); } countHidden(); } //点击“全选” function clickSelectAll() { var filterBox = document.getElementById("filterBox"); for (var i = 0; i < arrSclass.length; i++) { var sc = arrSclass[i]; sc.isTmpShow = true; var obj = filterBox.childNodes[i]; setClass(obj, (sc.isTmpShow ? "filterBtn2 on" : "filterBtn2")); } countHidden(); } //点击“全不选” function clickUnSelect() { var filterBox = document.getElementById("filterBox"); for (var i = 0; i < arrSclass.length; i++) { var sc = arrSclass[i]; sc.isTmpShow = false; var obj = filterBox.childNodes[i]; setClass(obj, (sc.isTmpShow ? "filterBtn2 on" : "filterBtn2")); } countHidden(); } //统计隐藏的场次数 function countHidden() { var count = 0; var obj = new Object(); for (var i = 0; i < arrSclass.length; i++) { var sc = arrSclass[i]; obj[sc.sclassID] = sc.isTmpShow; } for (var j = 0; j < arrScheAll.length; j++) { var qs = arrScheAll[j]; if (!obj[qs.sclassid]) { count++; } } document.getElementById("hiddenCount").innerHTML = count.toString(); } //声音相应,暂时只支持android function playSound() { if (isSound) { document.getElementById("sound").play(); } } function playRedSound() { if (isRedSound) { document.getElementById("soundRed").play(); } } function clickScoreType(st) { document.cookie = "scoreType=" + st; delCookie("sclassList"); window.location.reload(); }