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 = "
";
}
});
}
});
}
//处理数据
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([" ",
"
",
"" + qt.matchTimeStr + " | " + showMatchState(qt.matchState, qt.startTime) + " | " + halfScore + " " + corner + " | |
",
" | " + homeYeCardStr + homeRedCardStr + "" + homeRank + "" + qt.homeTeam + " | " + score + " | " + qt.awayTeam + "" + awayRank + "" + awayRedCardStr + awayYeCardStr + " |
"].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(["| " + lLetgoal + "" + oddsShowArr[0].value + "",
"" + oddsShowArr[1].value + "",
"" + oddsShowArr[2].value + " | | ",
"" + oddsShowArr[3].value + "",
"" + oddsShowArr[4].value + "",
"" + oddsShowArr[5].value + " |
"].join(''));
arrHtml.push(explain + "
");
}
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();
}