/*
* 变量
*/
var G = {
baseUrl: "",
debug: "debug", //调试logger组件
browser: {}, //浏览器
platform: {}, //操作系统
errors: { //错误提醒
"-1": "undefined error"
},
errorHandlers: {}, //colorbox_up start
analysis: true,
loadedScripts: {},
ajaxLoadReturn: {},
eventDepends: {},
eventDependsParams: {},
eventDependsTrigger: {},
eventDependsHandlerMapping: {},
eventDependsHandler: {}, //colorbox_up end
tmp: {}, //临时对象
userinfo: {}, //用户信息
leheButtons: {} //页面按钮
};
/*
* 常量
*/
var C = {
AJAX: {
SUCCESS: 0
},
WEEKDAY: ["星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"],
ERROR: {
UNLOGIN: "0x3000001", //内存问题(可能超频过了或者同步出错)
UNREGISTER: "0x3000002"
},
EVENT: {
LOGIN_INIT_NOT: "login_init_not",
LOGIN_INIT_COMPLETE: "login_init_complete",
LOGIN_SUCCESS: "login_success",
PHASE_CURRENT_LOAD: "phase_current_load",
BET_COMBO_SUCCESS: "bet_combo_success",
BET_NORMAL_SUCCESS: "bet_normal_success",
BET_SYNDICATE_SUCCESS: "bet_syndicate_success",
BET_FOLLOW_SUCCESS: "bet_follow_success",
BET_CHASE_SUCCESS: "bet_chase_success"
},
NAMESPACE: {
DEFAULT: "default",
CHATROOM: "chatroom",
LOTTERY_BET: "lottery_bet",
GAME: "game"
},
WALLET: {
"1": "现金账户",
"2": "彩金账户",
"30": "测试账户",
"50": "套餐账户",
"101": "足球单场账户",
"102": "竞彩篮球账户",
"104": "快乐十分账户",
"105": "竞技彩账户"
},
WALLET_ORDER: ["1", "2", "50", "101", "102", "104", "30"],
WALLET_DEFAULT: {
CASH: "1",
GIFT: "2"
},
COOKIE_USERINFO: "lehecai_request_control_userinfo",
COOKIE_USERSTATS: "lehecai_request_control_stats",
COOKIE_TWODIMENSIONAL: "lehecai_two_dimensional_closed",
FOOTBALL_DATA_TYPE: {
ANALYSIS: "analysis",
ODDS_ASIAN: "oddsAsian",
ODDS_EURO: "oddsEuro"
},
BASKETBALL_DATA_TYPE: {
ANALYSIS: "analysis",
LET_GOAL: "letGoal",
ODDS_EURO: "europeOdds"
},
CAPTCHA_LENGTH: 4
};
/*
* 获取客户端的浏览器信息
*/
(function() {
G.browser.version = jQuery.browser.version;
G.browser.msie = !!jQuery.browser.msie;
G.browser.mozilla = !!jQuery.browser.mozilla;
G.browser.opera = !!jQuery.browser.opera;
G.browser.webkit = !!jQuery.browser.webkit;
if (G.browser.msie && parseInt(G.browser.version, 10) == 6) {
try {
document.execCommand("BackgroundImageCache", false, true)
} catch(a) {}
}
})();
/*
* 获取客户端的操作系统
*/
(function() {
if (typeof(navigator.platform) == "undefined") {
G.platform.unknown = true
} else {
var c = [{
string: navigator.platform,
subString: "Win",
identity: "windows"
},
{
string: navigator.platform,
subString: "Mac",
identity: "mac"
},
{
string: navigator.platform,
subString: "Linux",
identity: "linux"
}];
for (var a = 0; a < c.length; a++) {
var b = c[a].string;
if (b) {
if (b.indexOf(c[a].subString) != -1) {
G.platform[c[a].identity] = true
}
}
}
}
G.platform.unkown = !!G.platform.unkown;
G.platform.windows = !!G.platform.windows;
G.platform.mac = !!G.platform.mac;
G.platform.linux = !!G.platform.linux
})();
/*
* logger类
* 1)、logger.info(msg)
* 2)、logger.debug(msg);
* 3)、logger.error(a, msg);
* js调试logger组件,使用如下:
* logger.error(a, "CountdownTimer callback error!");
*/
if (typeof(logger) == "undefined") {
var logger = {}
}
(function() {
logger._enable = typeof(console) != "undefined" && typeof(console.log) != "undefined";
if (logger._enable) {
if (typeof(console.log) == "function") {
logger._log = function() {
try {
console.log.apply(console, arguments)
} catch(d) {}
}
} else {
if (typeof(console.log) == "object") {
logger._log = function() {
try {
console.log(Array.prototype.slice.call(arguments))
} catch(d) {}
}
} else {
logger._log = function() {} ()
}
}
} else {
logger._log = function() {}
}
var b = {
none: 0,
debug: 1,
info: 2,
warn: 3,
error: 4
};
var c = b[G.debug];
if (typeof(c) == "undefined") {
c = 0
}
for (var a in b) {
if (c > 0) {
if (b[a] > 0) {
if (b[a] >= c) {
logger[a] = function() {
logger._log.apply(logger, arguments)
}
} else {
logger[a] = function() {}
}
}
} else {
logger[a] = function() {}
}
}
})();
/*
*数字扩展类
*/
(function() {
var b = window.parseInt;
window.parseInt = function() {
if (arguments.length == 1) {
return b(arguments[0], 10)
}
return b.apply(null, arguments)
};
var a = window.parseFloat;
window.parseFloat = function() {
if (arguments.length == 1) {
return a(arguments[0], 10)
}
return a.apply(null, arguments)
}
})();
/*
*字符扩展类
*使用示例如下
*var s = String.format("S{0}T{1}","n","e");//结果:SnTe
*/
String.format = function() {
var c = arguments[0];
for (var a = 0; a < arguments.length - 1; a++) {
var b = new RegExp("\\{" + a + "\\}", "gm");
c = c.replace(b, arguments[a + 1])
}
return c
};
/*
var osb = new StringBuffer("Sn");
var str = osb.append("Te");//结果:SnTe
*/
function StringBuffer(a) {
this._strings = new Array();
this.append(a)
}
StringBuffer.prototype.append = function(a) {
this._strings.push(a);
return this
};
StringBuffer.prototype.toString = function() {
var a = (arguments.length == 0) ? "": arguments[0];
return this._strings.join(a)
};
/*
*字符填充类(长度小于,字符填充)
*调用实例
*var s = "471812366";
*s.leftpad(10, '00'); //结果:00471812366
*s.rightpad(10, '00'); //结果:47181236600
*左填充
*/
String.prototype.leftpad = function(b, f) {
if (arguments.length == 1) {
f = "0"
}
var e = new StringBuffer();
for (var d = 0,
a = b - this.length; d < a; d++) {
e.append(f)
}
e.append(this);
return e.toString()
};
//右填充
String.prototype.rightpad = function(b, f) {
if (arguments.length == 1) {
f = "0"
}
var e = new StringBuffer();
e.append(this);
for (var d = 0,
a = b - this.length; d < a; d++) {
e.append(f)
}
return e.toString()
};
/*
* 事件监听类
*/
function ClickHandler(a) {
a = jQuery.extend({ //与jQuery事件合并
clickable: undefined,
click: function() {},
disable: true
},
a);
if (typeof(a.clickable) == "undefined" || typeof(a.click) != "function") {
return
}
this.clickable = a.clickable;
this.click = a.click;
this.disable = !!a.disable;
this.init()
}
//初始状态
ClickHandler.prototype.init = function() {
var a = this;
this.clickable.bind("click",
function() {
if (a.disable) {
a.clickable.unbind()
}
a.click(a)
})
};
//取消绑定
ClickHandler.prototype.disable = function() {
this.clickable.unbind()
};
//返回初始状态绑定
ClickHandler.prototype.reset = function() {
this.init()
};
/*
项目类,使用示例
var c = new LHC.URLParser(window.location.href);
var a = new LHC.QueryStringParser(c.getQueryString());
var b = a.get("default_float");
*/
var LHC = {};
LHC.getURLPlan;
LHC.Formatter = {
formatInt: function(b, c) {
if (typeof(c) == "undefined") {
c = 0
}
var a = parseInt(b, 10);
if (isNaN(a)) {
a = c
}
return a
}
};
(function() {
var a = function() {
var d, e = {},
b;
d = window.location.hash.replace(/^#/, "");
if (d == "") {
this.uhash = {}
} else {
d = d.split("|");
for (var c = 0; c < d.length; c++) {
b = d[c].split("=");
e[b[0]] = b[1]
}
this.uhash = e
}
};
a.prototype.set = function(e) {
var d = [];
if (arguments.length == 1 && /Object/.test(Object.prototype.toString.call(e))) {
for (var c in e) {
if (e.hasOwnProperty(c)) {
this.uhash[c] = e[c]
}
}
for (var b in this.uhash) {
d.push(b + "=" + this.uhash[b])
}
window.location.hash = d.join("|")
} else {
logger.info("设置hash的参数不正确")
}
};
a.prototype.get = function(b) {
if (arguments.length == 1) {
return this.uhash[b]
} else {
return this.uhash
}
};
LHC.URLHash = new a()
})();
LHC.URLParser = function(a) {
this._fields = {
Username: 4,
Password: 5,
Port: 7,
Protocol: 2,
Host: 6,
Path: 8,
URL: 0,
QueryString: 9,
Fragment: 10
};
this._values = {};
this._regex = null;
this.version = 0.1;
this._regex = /^((\w+):\/\/)?((\w+):?(\w+)?@)?([^\/\?:]+):?(\d+)?(\/?[^\?#]+)?\??([^#]+)?#?(\w*)/;
for (var b in this._fields) {
this["get" + b] = this._makeGetter(b)
}
if (typeof a != "undefined") {
this._parse(a)
}
};
LHC.URLParser.prototype.setURL = function(a) {
this._parse(a)
};
LHC.URLParser.prototype._initValues = function() {
for (var a in this._fields) {
this._values[a] = ""
}
};
LHC.URLParser.prototype._parse = function(a) {
this._initValues();
var b = this._regex.exec(a);
if (!b) {
throw "DPURLParser::_parse -> Invalid URL"
}
for (var c in this._fields) {
if (typeof b[this._fields[c]] != "undefined") {
this._values[c] = b[this._fields[c]]
}
}
};
LHC.URLParser.prototype._makeGetter = function(a) {
return function() {
return this._values[a]
}
};
LHC.QueryStringParser = function(d) {
var c = d.split("&");
this.params = {};
for (var b = 0,
a = c.length; b < a; b++) {
var e = c[b].split("=");
if (e.length != 2) {
continue
}
this.params[e[0]] = e[1]
}
};
LHC.QueryStringParser.prototype.get = function(a) {
return this.params[a]
};
//普通链接
LHC.LinkGenerator = {
footballData: function(a, b) {
a = parseInt(a);
if (a == 0 || isNaN(a)) {
return false
}
if (typeof(b) == "undefined") {
b = C.FOOTBALL_DATA_TYPE.ANALYSIS
}
return G.baseDataUrl + "/football/match/" + b + "/?id=" + a
},
basketballData: function(a, b) {
a = parseInt(a);
if (a == 0 || isNaN(a)) {
return false
}
if (typeof(b) == "undefined") {
b = C.BASKETBALL_DATA_TYPE.ANALYSIS
}
return G.baseDataUrl + "/basketball/schedule/" + b + "/?id=" + a
}
};
jQuery(document).ready(function() {
var c = new LHC.URLParser(window.location.href);
var a = new LHC.QueryStringParser(c.getQueryString());
var b = a.get("default_float");
if (typeof(b) == "string") {
if (b == "register") {
jQuery.executeErrorHandler(C.ERROR.UNREGISTER)
}
}
});
//倒计时功能的实现(CountDownTimer)
function CountdownTimer(b) {
var a = {
startTime: new Date(),
endTime: new Date(),
callback: undefined,
endCallback: undefined
};
this.settings = jQuery.extend(a, b);
this.startTime = this.settings.startTime;
this.endTime = this.settings.endTime;
this.callback = this.settings.callback;
this.endCallback = this.settings.endCallback;
this.running = false;
this.intervalTimer = undefined
}
CountdownTimer.prototype.run = function() {
this.running = true;
var e = e || this.endTime.getTime();
var d = d || this.startTime.getTime();
var a = this.callback;
var b = new Date();
if (e <= d) {
this.stop();
if (a) {
a({
d: 0,
h: 0,
m: 0,
s: 0
})
}
return {
d: 0,
h: 0,
m: 0,
s: 0
}
}
var c = this;
var f = e - d;
this.intervalTimer = setInterval(function() {
var l = e - d;
d += 1000;
var i = new Date().valueOf() - b.valueOf() - 1000;
var n = f - l;
if (Math.abs(i - n) > 1000) {
l = f - i
}
if (l <= 0) {
c.stop.apply(c);
if (a) {
a({
d: 0,
h: 0,
m: 0,
s: 0
})
}
return {
d: 0,
h: 0,
m: 0,
s: 0
}
}
var o = parseInt(l / 86400000, 10);
var k = parseInt(l % 86400000 / 3600000, 10);
var g = parseInt(l % 86400000 % 3600000 / 60000, 10);
var j = parseInt(l % 86400000 % 3600000 % 60000 / 1000, 10);
if (a) {
a({
d: o,
h: k,
m: g,
s: j
})
}
},
1000)
};
CountdownTimer.prototype.clear = function() {
if (this.intervalTimer) {
clearInterval(this.intervalTimer);
this.intervalTimer = undefined
}
this.running = false
};
CountdownTimer.prototype.stop = function() {
logger.debug("stop event fired");
this.clear();
if (this.endCallback) {
this.endCallback()
}
};
/*
* 为所有链接设置统一属性 'a[href*="redirect.lehecai.com"]'
*/
jQuery(function() {
jQuery('a[href*="redirect.lehecai.com"]').each(function(d, c) {
var c = jQuery(c),
f = c.attr("href"),
e = [];
e = f.match(/^(.+?)(#.+)$/);
var g = encodeURIComponent(location.href);
if (/\?/.test(f)) {
if (e === null) {
f += "&REF=" + g
} else {
f = e[1] + "&REF=" + g + e[2]
}
} else {
if (e === null) {
f += "?REF=" + g
} else {
f = e[1] + "?REF=" + g + e[2]
}
}
c.attr("href", f)
})
});
/*
* scroll事件
*/
function Scroll(w) {
var a = {
element: undefined,
style: "v",
width: 0,
height: 0,
scrollHeight: 0,
innerWidth: 0,
delay: 120,
speed: 1,
callback: undefined
};
var p = this;
var u = jQuery.extend(a, w);
if (!u.element) {
return false
}
var h = u.element;
var k = u.style;
var x = u.delay;
if (k == "h" && typeof(w.delay) == "undefined") {
x = 1
}
var t;
if (k == "h" && x == 1) {
t = 1200
} else {
t = u.startDelay || x * u.speed * 10
}
var i, n;
if (k == "h") {
if (u.width) {
i = u.width
} else {
i = h.offsetWidth
}
n = u.innerWidth || i
}
var s = u.scrollHeight || u.height;
var j = false;
var e = 0;
var b = undefined;
var f = 0;
var o = 0;
if (i) {
h.style.width = i + "px"
}
h.style.height = u.height + "px";
h.style.overflow = "hidden";
h.noWrap = true;
h.scrollLeft = 0;
h.scrollTop = 0;
var l, v, y, d;
l = h.getElementsByTagName("div");
if (l && l.length > 0) {
l = l[0]
} else {
return false
}
var r = function(z) {
if (z) {
return z.cloneNode(true)
}
return null
};
h.onmouseover = function() {
if (j) {
j = false
}
};
h.onmouseout = function() {
if (!j) {
j = true
}
};
var q = {
v: function() {
v = r(l);
h.appendChild(v)
},
h: function() {
var A = l.getElementsByTagName("span");
for (var z = 0; z < A.length; z++) {
var D = A[z];
D.style.width = n + "px";
D.style.height = s + "px"
}
d = n * (A.length);
if (A && A[0]) {
var B = A[0]
}
l.innerHTML += l.innerHTML
}
};
var g = {
v: function() {
f = 0;
e = 0;
h.scrollTop = 0;
j = false
},
h: function() {
o = 0;
e = 0;
h.scorllLeft = 0;
j = false
}
};
var c = {
v: function() {
if (!j) {
return false
}
f++;
if (f == s + 1) {
e++;
f--;
if (e == x) {
f = 0;
e = 0
}
} else {
if (v.offsetHeight - h.scrollTop <= 0) {
h.scrollTop -= l.offsetHeight;
h.scrollTop++
} else {
h.scrollTop++
}
}
},
h: function() {
if (!j) {
return false
}
o++;
if (o == n + 1) {
e++;
o--;
if (e == x) {
o = 0;
e = 0
}
} else {
if (d - h.scrollLeft <= 0) {
h.scrollLeft = 0 - i;
h.scrollLeft++
} else {
h.scrollLeft++
}
}
}
};
this.start = function() {
if (j) {
return false
}
if (k === "v" && jQuery(h).children(":first").height() < jQuery(h).height()) {
return false
}
if (k === "h") {
jQuery(l).find("span").css({
width: n,
display: "inline-block"
});
var z = n * l.getElementsByTagName("span").length;
if (z < jQuery(h).width()) {
return false
} else {
jQuery(l).css("width", 2 * z)
}
}
q[k]();
var B = u.speed * 10;
var A = function() {
if (b) {
clearTimeout(b)
}
c[k]();
b = setTimeout(A, B)
};
A();
j = true
};
this.isStarted = function() {
return j
};
this.restart = function() {
g[k]();
p.start()
}
}
/*
* js模拟php的shuffle函数,用来打乱一维数组并返回随机数
* 调用方式,如:$.shuffle({count:10,min:0,max:10})
*/
(function(a) {
a.shuffle = function(h) {
var g = a.extend({ //合并参数
pool: undefined,//设为空类型
min: 1, //最小数值
max: 10, //最大数值
count: 5, //返回随机数的个数
padding: 0, //填充数
sort: false //排序
},
h);
if (g.max < g.count) {
return []
}
var f;
if (g.pool) {
f = g.pool
} else {
f = [];
for (var e = g.min; e <= g.max; e++) {
f.push(e)
}
}
var b = [];
var e = 0;
while (e < g.count) {
var c = parseInt((f.length - e) * Math.random(), 10);
if (g.padding > 0) {
b.push(f[c].toString().leftpad(g.padding))
} else {
b.push(f[c])
}
e++;
var d = f[c];
f[c] = f[f.length - e];
f[f.length - e] = d
}
if (g.sort) {
b = b.sort(function(j, i) {
return parseInt(j, 10) - parseInt(i, 10)
})
}
return b
}
})(jQuery);
/*
* hoverIntent点击延时jquery插件
* http://cherne.net/brian/resources/jquery.hoverIntent.html
*/
(function(a) {
a.fn.hoverIntent = function(k, j) {
var l = {
sensitivity: 7,
interval: 100,
timeout: 0
};
l = a.extend(l, j ? {
over: k,
out: j
}: k);
var o, n, h, d;
var e = function(f) {
o = f.pageX;
n = f.pageY
};
var c = function(g, f) {
f.hoverIntent_t = clearTimeout(f.hoverIntent_t);
if ((Math.abs(h - o) + Math.abs(d - n)) < l.sensitivity) {
a(f).unbind("mousemove", e);
f.hoverIntent_s = 1;
return l.over.apply(f, [g])
} else {
h = o;
d = n;
f.hoverIntent_t = setTimeout(function() {
c(g, f)
},
l.interval)
}
};
var i = function(g, f) {
f.hoverIntent_t = clearTimeout(f.hoverIntent_t);
f.hoverIntent_s = 0;
return l.out.apply(f, [g])
};
var b = function(p) {
var g = a.extend({},
p);
var f = this;
if (f.hoverIntent_t) {
f.hoverIntent_t = clearTimeout(f.hoverIntent_t)
}
if (p.type == "mouseenter") {
h = g.pageX;
d = g.pageY;
a(f).bind("mousemove", e);
if (f.hoverIntent_s != 1) {
f.hoverIntent_t = setTimeout(function() {
c(g, f)
},
l.interval)
}
} else {
a(f).unbind("mousemove", e);
if (f.hoverIntent_s == 1) {
f.hoverIntent_t = setTimeout(function() {
i(g, f)
},
l.timeout)
}
}
};
return this.bind("mouseenter", b).bind("mouseleave", b)
}
})(jQuery);
/*
* jQuery.cookie
*/
jQuery.cookie = function(b, j, n) {
if (typeof j != "undefined") {
n = n || {};
if (j === null) {
j = "";
n.expires = -1
}
var e = "";
if (n.expires && (typeof n.expires == "number" || n.expires.toUTCString)) {
var f;
if (typeof n.expires == "number") {
f = new Date();
f.setTime(f.getTime() + (n.expires * 24 * 60 * 60 * 1000))
} else {
f = n.expires
}
e = "; expires=" + f.toUTCString()
}
var l = n.path ? "; path=" + (n.path) : "";
var g = n.domain ? "; domain=" + (n.domain) : "";
var a = n.secure ? "; secure": "";
document.cookie = [b, "=", encodeURIComponent(j), e, l, g, a].join("")
} else {
var d = null;
if (document.cookie && document.cookie != "") {
var k = document.cookie.split(";");
for (var h = 0; h < k.length; h++) {
var c = jQuery.trim(k[h]);
if (c.substring(0, b.length + 1) == (b + "=")) {
d = decodeURIComponent(c.substring(b.length + 1));
break
}
}
}
return d
}
};
/*
* 对象与数组的转换
* 使用示例如下
* var v = {
* a: "a",
* b: "b"
* }
* var ar = objectToArray(v);
* alert(ar[1]); //结果:b
*/
var objectToArray = function(b) {
if (!b) {
return []
}
var a = [];
for (m in b) {
if ( !! b[m]) {
a.push(b[m])
}
}
return a
};
/*
* 页面按钮
*/
var leheBtnIdGenertor = function() {
return objectToArray(G.leheButtons).length + 1
};
var LeheBtn = function(a) {
this.element = a.el;
this.id = a.id
};
LeheBtn.prototype.enable = function() {
this.element.removeProp("disabled");
this.element.removeClass("disabled").addClass("normal")
};
LeheBtn.prototype.disable = function() {
this.element.prop("disabled", true);
this.element.removeClass("normal").addClass("disabled")
};
jQuery.fn.getLeheBtn = function() {
var a = jQuery(this);
var c = a[0];
var b = jQuery.data(c, "id");
if (!b) {
return false
}
return G.leheButtons[b]
};
// 页面按钮-初始化
jQuery.fn.initLeheBtns = function() {
this.each(function() {
var c = jQuery(this);
var d = c[0];
var b = jQuery.data(d, "id");
if (b) {
return false
}
b = leheBtnIdGenertor();
jQuery.data(d, "id", b);
c.bindBtnEvent = function() {
var e = jQuery(this);
e.unbind("hover").unbind("mousedown").unbind("mouseup");
e.hover(function() {
e.removeClass("normal").removeClass("click").removeClass("disabled").addClass("hover")
},
function() {
e.removeClass("hover").removeClass("click").removeClass("disabled").addClass("normal")
}).mousedown(function() {
e.removeClass("hover").removeClass("normal").removeClass("disabled").addClass("click")
}).mouseup(function() {
e.removeClass("hover").removeClass("click").removeClass("disabled").addClass("normal")
})
};
c.bindBtnEvent();
if (d.disabled) {
if (!c.hasClass("disabled")) {
c.removeClass("normal").addClass("disabled")
}
}
var a = new LeheBtn({
id: b,
el: c
});
G.leheButtons[b] = a
})
};
/*
* js日期格式化
/* http://blog.youkuaiyun.com/vbangle/article/details/5643091
/* 使用方法:
/* (new Date()).format("yyyy-MM-dd hh:mm:ss.S");
*/
Date.prototype.format = function(e) {
var d = "";
var c = Date.replaceChars;
for (var b = 0; b < e.length; b++) {
var a = e.charAt(b);
if (b - 1 >= 0 && e.charAt(b - 1) == "\\") {
d += a
} else {
if (c[a]) {
d += c[a].call(this)
} else {
if (a != "\\") {
d += a
}
}
}
}
return d
};
Date.replaceChars = {
shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
longMonths: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
longDays: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
d: function() {
return (this.getDate() < 10 ? "0": "") + this.getDate()
},
D: function() {
return Date.replaceChars.shortDays[this.getDay()]
},
j: function() {
return this.getDate()
},
l: function() {
return Date.replaceChars.longDays[this.getDay()]
},
N: function() {
return this.getDay() + 1
},
S: function() {
return (this.getDate() % 10 == 1 && this.getDate() != 11 ? "st": (this.getDate() % 10 == 2 && this.getDate() != 12 ? "nd": (this.getDate() % 10 == 3 && this.getDate() != 13 ? "rd": "th")))
},
w: function() {
return this.getDay()
},
z: function() {
var a = new Date(this.getFullYear(), 0, 1);
return Math.ceil((this - a) / 86400000)
},
W: function() {
var a = new Date(this.getFullYear(), 0, 1);
return Math.ceil((((this - a) / 86400000) + a.getDay() + 1) / 7)
},
F: function() {
return Date.replaceChars.longMonths[this.getMonth()]
},
m: function() {
return (this.getMonth() < 9 ? "0": "") + (this.getMonth() + 1)
},
M: function() {
return Date.replaceChars.shortMonths[this.getMonth()]
},
n: function() {
return this.getMonth() + 1
},
t: function() {
var a = new Date();
return new Date(a.getFullYear(), a.getMonth(), 0).getDate()
},
L: function() {
var a = this.getFullYear();
return (a % 400 == 0 || (a % 100 != 0 && a % 4 == 0))
},
o: function() {
var a = new Date(this.valueOf());
a.setDate(a.getDate() - ((this.getDay() + 6) % 7) + 3);
return a.getFullYear()
},
Y: function() {
return this.getFullYear()
},
y: function() {
return ("" + this.getFullYear()).substr(2)
},
a: function() {
return this.getHours() < 12 ? "am": "pm"
},
A: function() {
return this.getHours() < 12 ? "AM": "PM"
},
B: function() {
return Math.floor((((this.getUTCHours() + 1) % 24) + this.getUTCMinutes() / 60 + this.getUTCSeconds() / 3600) * 1000 / 24)
},
g: function() {
return this.getHours() % 12 || 12
},
G: function() {
return this.getHours()
},
h: function() {
return ((this.getHours() % 12 || 12) < 10 ? "0": "") + (this.getHours() % 12 || 12)
},
H: function() {
return (this.getHours() < 10 ? "0": "") + this.getHours()
},
i: function() {
return (this.getMinutes() < 10 ? "0": "") + this.getMinutes()
},
s: function() {
return (this.getSeconds() < 10 ? "0": "") + this.getSeconds()
},
u: function() {
var a = this.getMilliseconds();
return (a < 10 ? "00": (a < 100 ? "0": "")) + a
},
e: function() {
return "Not Yet Supported"
},
I: function() {
return "Not Yet Supported"
},
O: function() {
return ( - this.getTimezoneOffset() < 0 ? "-": "+") + (Math.abs(this.getTimezoneOffset() / 60) < 10 ? "0": "") + (Math.abs(this.getTimezoneOffset() / 60)) + "00"
},
P: function() {
return ( - this.getTimezoneOffset() < 0 ? "-": "+") + (Math.abs(this.getTimezoneOffset() / 60) < 10 ? "0": "") + (Math.abs(this.getTimezoneOffset() / 60)) + ":00"
},
T: function() {
var b = this.getMonth();
this.setMonth(0);
var a = this.toTimeString().replace(/^.+ \(?([^\)]+)\)?$/, "$1");
this.setMonth(b);
return a
},
Z: function() {
return - this.getTimezoneOffset() * 60
},
c: function() {
return this.format("Y-m-d\\TH:i:sP")
},
r: function() {
return this.toString()
},
U: function() {
return this.getTime() / 1000
}
};
/*
* 日期转换
*/
function parseDate(b) {
if (typeof b == "string") {
var a = b.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) *$/);
if (a && a.length > 3) {
return new Date(parseInt(a[1], 10), parseInt(a[2], 10) - 1, parseInt(a[3], 10))
}
a = b.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2}) *$/);
if (a && a.length > 6) {
return new Date(parseInt(a[1], 10), parseInt(a[2], 10) - 1, parseInt(a[3], 10), parseInt(a[4], 10), parseInt(a[5], 10), parseInt(a[6], 10))
}
a = b.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2})\.(\d{1,9}) *$/);
if (a && a.length > 7) {
return new Date(parseInt(a[1], 10), parseInt(a[2], 10) - 1, parseInt(a[3], 10), parseInt(a[4], 10), parseInt(a[5], 10), parseInt(a[6], 10), parseInt(a[7], 10))
}
}
return null
}
function parseIdCard(a) {
if (typeof(a) == "undefined") {
return false
}
a = a.toLowerCase();
if (a.length == 0) {
return false
}
var f = /\d{15}/;
var c = /\d{17}([0-9]{1}|x|X)/;
var l = new Array("31", "28", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31");
var g = a.length == 15 ? f.test(a) : c.test(a);
if (!g) {
return false
}
var d = a.length == 15 ? "19" + a.substr(6, 6) : a.substr(6, 8);
var i = d.substr(0, 4);
var e, k;
if (d.substr(4, 1) == "0") {
e = d.substr(5, 1)
} else {
e = d.substr(4, 2)
}
if (d.substr(6, 1) == "0") {
k = d.substr(7, 1)
} else {
k = d.substr(6, 2)
}
var n = parseInt(k, 10);
var b = parseInt(e, 10);
var h = parseInt(i, 10);
if (b > 12 || b < 1 || n > 31 || n < 1) {
return false
}
var j = false;
if (i % 100 != 0) {
if (i % 4 == 0) {
j = true
}
} else {
if (i % 400 == 0) {
j = true
}
}
if (j) {
l[1] = 29
}
if (l[b - 1] < n) {
return false
}
return {
length: a.length,
year: h,
month: b,
date: n
}
}
//身份证验证
function validateIdCard(f) {
var a = parseIdCard(f);
if (a === false) {
return false
}
if (a.length == 18) {
var e = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
var b = 0;
var d;
for (var c = 0; c < 17; c++) {
b = b + f.substr(c, 1) * e[c]
}
b = b % 11;
switch (b) {
case 0:
d = "1";
break;
case 1:
d = "0";
break;
case 2:
d = "x";
break;
case 3:
d = "9";
break;
case 4:
d = "8";
break;
case 5:
d = "7";
break;
case 6:
d = "6";
break;
case 7:
d = "5";
break;
case 8:
d = "4";
break;
case 9:
d = "3";
break;
case 10:
d = "2";
break
}
if (f.substr(17, 1).toLowerCase() != d) {
return false
}
}
if (a.length > 18) {
return false
}
return true
}
//年龄验证
function validateAge(a, g, d) {
var i = parseIdCard(a);
if (i === false) {
return false
}
if (typeof(g) == "undefined") {
g = 18
} else {
g = parseInt(g, 10);
if (isNaN(g)) {
return false
}
}
if (typeof(d) == "undefined") {
d = new Date()
} else {
if (! (d instanceof Date)) {
return false
}
}
var c = d.getDate();
var b = d.getMonth();
var e = d.getFullYear() - g;
var h = new Date(e, b, c, 0, 0, 0);
var f = new Date(i.year, i.month - 1, i.date, 0, 0, 0);
if (h.getTime() < f.getTime()) {
return false
}
return true
}
//座机验证
function validateTelphone(a) {
if (!/^[0-9-]{12,20}$/.test(a)) {
return false
}
return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/.test(a))
}
//手机验证
function validateMobile(a) {
if (!/^[0-9]{11}$/.test(a)) {
return false
}
return (/^(?:1[3458]\d)-?\d{5}(\d{3}|\*{3})$/.test(a))
}
/*
* 返回字符串字节长度
* 如:'Sn' 字节为2
* '杨' 字节为2
*/
function getRealLength(c) {
var b = 0;
for (var a = 0; a < c.length; a++) {
if ((c.charCodeAt(a) >= 0) && (c.charCodeAt(a) <= 255)) {
b++
} else {
b += 2
}
}
return b
}
//所有 AJAX 请求设置默认
jQuery.ajaxSetup({
dataType: "json",
type: "POST"
});
//当 AJAX 请求开始时,显示“加载中”的指示
jQuery(document).ajaxStart(function() {
jQuery.colorbox({
html: '<div id="loader"><img src="' + G.baseImgUrl + '/loading.gif" alt="loading..." /><span>正在提交请求...</span></div>',
opacity: 0.3,
overlayClose: false,
escKey: false,
close: ""
})
});
/*
* 扩展Math对象
*/
jQuery.extend(Math, {
permute: function(d, a) {
var b = 1;
for (var c = 0; c < a; c++) {
b *= (d - c)
}
return parseInt(b, 10)
},
combine: function(c, a) {
var b = Math.permute(c, a);
b /= Math.permute(a, a);
return parseInt(b, 10)
},
fullCombination: function(j, b) {
var d = [];
var g = j.length;
var e = [];
for (var c = 0; c <= b; c++) {
e.push(c - 1)
}
var h = b;
var f = true;
while (e[0] == -1) {
if (f) {
var a = [];
for (var c = 1; c <= b; c++) {
a.push(j[e[c]])
}
d.push(a);
f = false
}
e[h]++;
if (e[h] == g) {
e[h] = 0;
h--;
continue
}
if (h < b) {
h++;
e[h] = e[h - 1];
continue
}
if (h == b) {
f = true
}
}
return d
},
fullCombinationDantuo: function(f, a, j) {
var d = 0;
if (a) {
d = a.length
}
var c = j.length;
if (d + c < f) {
return false
}
var b = f - d;
var h = Math.fullCombination(j, b);
for (var e = 0,
g = h.length; e < g; e++) {
h[e] = h[e].concat(a)
}
return h
},
countCombinationDantuo: function(c, a, b) {
a = (typeof(a) == "undefined") ? 0 : a;
var d = c - a;
return Math.combine(b, d)
},
arrayFullCombination: function(a) {
var d = function(g, e) {
var n = g;
var l = [];
while (e.length > 0) {
for (var j = 0; j < n.length; j++) {
var f = [e[0]];
for (var h = 0; h < n[j].length; h++) {
f.push(n[j][h])
}
l.push(f)
}
e = e.slice(1, e.length)
}
return l
};
var c = Math.fullCombination(a[0], 1);
for (var b = 1; b < a.length; b++) {
c = d(c, a[b])
}
return c
},
arrayIsNoRepeat: function(a) {
var b = 0,
c = {};
for (; b < a.length; b++) {
if (c[a[b]] !== undefined) {
return false
}
c[a[b]] = true
}
return true
},
arrayIsHasNoRepeat: function(e) {
var h = e.length;
var b = [];
var f = [];
var g = [];
var j = [];
var a = 1;
for (var d = 0; d < h; d++) {
b[d] = e[d].length;
a = a * b[d];
f[d] = 0
}
for (var d = 0; d < a; d++) {
g[d] = []
}
var c = 0;
while (true) {
for (var d = 0; d < h; d++) {
g[c][d] = (f[d] + 1);
j[d] = e[d][g[c][d] - 1]
}
if (Math.arrayIsNoRepeat(j)) {
return true
}
c++;
for (var d = h - 1; d >= 0; d--) {
if (f[d] == b[d] - 1) {
f[d] = 0
} else {
break
}
}
if (d < 0) {
break
}
f[d]++
}
return false
}
});
/*_______________colorbox弹出层_______________*/
//
function getPayPasswordInputText() {
return '<br/>支付密码:<input id="txtConfirmPayPwd" style="width:100px;" type="password" class="text" /><a href="http://redirect.lehecai.com/help/xinxi/#ChildMenu11" style="display: none" id="aForgetPayPwd" class="forget" target="_blank">忘记密码</a><br/><label id="lPayErrorTip" class="red"> </label>'
}
/*
* 返回倒计时的字符串,使用如下
* alert(defaultCountdownTimerCallback({ d: 1, h: 1, m: 1, s: 1 })); //结果:1天1小时1分1秒
*/
function defaultCountdownTimerCallback(a) {
if (typeof(a) != "object") {
logger.error(a, "CountdownTimer callback error!");
return
}
var b = new StringBuffer();
if (a.d > 0) {
b.append(a.d).append("天")
}
if (a.d > 0 || a.h > 0) {
b.append(a.h).append("小时")
}
if (a.d > 0 || a.h > 0 || a.m > 0) {
b.append(a.m).append("分")
}
b.append(a.s).append("秒");
return b.toString()
}
// 检测是否是数字键
function numberKeyOnly(a) {
var b = a.which;
if (a.shiftKey) {
if (b == 9) {
return true
}
return false
}
if ((b <= 57 && b >= 48) || b == 37 || b == 39 || b == 8 || b == 9 || b == 46 || (b <= 105 && b >= 96) || b == 229) {
return true
}
return false
}
function numberKeyAndDotOnly(a) {
var b = a.which;
if (numberKeyOnly(a)) {
return true
}
if (b == 110 || b == 190) {
return true
}
return false
}
//添加到收藏夹
function addFavorite(a, b) {
if (G.browser.msie) {
window.external.addFavorite(a, b);
return false
}
if (G.browser.mozilla || G.browser.opera) {
this.setAttribute("href", a);
this.setAttribute("title", b);
this.setAttribute("rel", "sidebar");
this.click();
return false
}
if (G.browser.webkit) {
if (G.platform.mac) {
jQuery.showAlert("按下<command+d>收藏本站");
return false
}
if (G.platform.windows) {
jQuery.showAlert("按下<Ctrl+d>收藏本站");
return false
}
}
return false
}
//更新页面头部的用户信息
function updateHeaderUserInfo(f) {
UID = f.uid;
USERNAME = f.username;
G.userinfo = f;
var k = jQuery("#header_simple");
if (k.length > 0) {
jQuery("#header_simple_username").html(f.username);
jQuery("#header_simple_not_login").hide();
jQuery("#header_simple_login").show();
jQuery.triggerGlobalEvent(C.EVENT.LOGIN_SUCCESS, f);
return
}
jQuery("#toptray_username").html(f.username);
jQuery("#toptray_not_login").hide();
jQuery("#toptray_login").show();
if (f.counter.autofollow_records != 0 && f.counter.autofollow_records != null) {
jQuery("#header_my_autofollow").attr("href", G.baseUrl + "/user/autofollow/message/")
} else {
jQuery("#header_my_autofollow").attr("href", G.baseUrl + "/user/autofollow/manage/")
}
jQuery("#header_notpaid_counter").html(f.counter.order_notpaid > 0 || f.counter.chase_notpaid > 0 ? '[<em class="red">' + (parseInt(f.counter.order_notpaid) + parseInt(f.counter.chase_notpaid)) + "</em>]": "");
jQuery("#header_notupload_counter").html(f.counter.plan_notupload ? f.counter.plan_notupload: "0");
jQuery("#header_sign").attr("class", f.counter.order_notpaid > 0 || f.counter.chase_notpaid > 0 ? "header_sign": "nosign");
var j = jQuery("#header_user_money_hidden");
var d = 0;
for (var l in f.wallet) {
var a = f.wallet[l];
d += parseFloat(a.balance, 10)
}
j.val(d.toFixed(2) + "");
var h = new StringBuffer();
for (var c = 0,
g = C.WALLET_ORDER.length; c < g; c++) {
var l = C.WALLET_ORDER[c];
var a = f.wallet[l];
if (typeof(a) == "undefined") {
continue
}
var b = parseFloat(a.balance, 10).toFixed(2);
if (typeof(a.status) == "undefined" || a.status != "1") {
continue
}
h.append("<p>").append(C.WALLET[l]).append(":").append('<strong class="red">¥').append(b).append("</strong>").append("</p>")
}
h.append('<p><a class="account_detail" href="' + G.baseUrl + '/user/account">账户明细>></a></p>');
h.append('<div class="clear nospace"> </div>');
var e = jQuery("#wallet_detail");
e.empty().append(h.toString());
jQuery("#header_autofollowunread_counter").text(f.counter.autofollow_records);
jQuery("#mylottery").unbind().hover(function() {
jQuery("#mylottery_dropdown").show()
},
function() {
jQuery("#mylottery_dropdown").hide()
});
jQuery.triggerGlobalEvent(C.EVENT.LOGIN_SUCCESS, f)
}
//用户登录
function initAjaxLogin(e) {
e = jQuery.extend({
lottery_type: undefined,
success: undefined,
error: undefined
},
e);
var d = [];
if (typeof(e.lottery_type) != "undefined") {
if (jQuery.isArray(e.lottery_type)) {
for (var c = 0,
a = e.lottery_type.length; c < a; c++) {
d.push("lottery_type[]=" + e.lottery_type[c])
}
} else {
d.push("lottery_type=" + e.lottery_type)
}
}
var b = jQuery.cookie(C.COOKIE_USERINFO);
if ( !! b && b == "1") {
jQuery.ajax({
url: G.baseUrl + "/user/ajax_userinfo.php",
type: "GET",
data: d.join("&"),
dataType: "json",
global: false,
success: function(h) {
var f = jQuery.ajaxResultHandler(h, {
successCloseOverlay: false,
errorCloseOverlay: false,
ignoreRedirect: true
});
if (typeof(f) != "object" || !f.success || f.data.uid == 0) {
if (typeof(e.error) == "function") {
e.error(f)
}
jQuery.triggerGlobalEvent(C.EVENT.LOGIN_INIT_NOT);
jQuery.triggerGlobalEvent(C.EVENT.LOGIN_INIT_COMPLETE);
return false
}
jQuery.extend(G.tmp, {
serverTime: f.datetime
});
updateHeaderUserInfo(f.data);
var g = 1000 * 60 * 60;
if (f.data.paypassword.status) {
g *= 24
}
jQuery.cookie(C.COOKIE_USERINFO, "1", {
expires: new Date(new Date().getTime() + g),
path: "/"
});
if (typeof(e.success) == "function") {
e.success(f)
}
jQuery.triggerGlobalEvent(C.EVENT.LOGIN_INIT_COMPLETE, f.data)
}
})
} else {
if (typeof(e.error) == "function") {
e.error()
}
jQuery.triggerGlobalEvent(C.EVENT.LOGIN_INIT_NOT);
jQuery.triggerGlobalEvent(C.EVENT.LOGIN_INIT_COMPLETE)
}
}
/*
* 返回正跳转地址
*/
function executeRedirect(a) {
a = jQuery.extend({
url: ""
},
a);
if (typeof(a.url) == "string" && jQuery.trim(a.url) != "") {
window.location.href = a.url;
return true
}
return false
}
//用户注册功能
jQuery.registerErrorTable({
"0x3000001": "user unlogin",
"0x3000002": "user unregister",
"0x7020004": "not enough balance",
"0x10010007": "login failed too many times",
"0x10010006": "error username or password"
},
{
"0x3000001": function(d) {
d = jQuery.extend({
lottery_type: undefined,
success: undefined,
error: undefined,
template_url: G.baseUrl + "/user/load_float_login.php"
},
d);
function c(e) {
if ( !! e) {
jQuery("#float_need_captcha").show();
jQuery.captcha("float_captcha")
} else {
jQuery("#float_need_captcha").hide()
}
}
var a = function(e) {
c(e.require_captcha)
};
var b = function(e) {
c(e)
};
jQuery.template(d.template_url, "float_login_tpl",
function(e) {
jQuery.colorbox({
inline: true,
href: "#" + e,
onComplete: function() {
try {
var f = 1;
var g = jQuery("#float_other_list");
var i = jQuery("#colorbox").get(0);
var h = jQuery("#float_other_list");
g = g.parent();
while (i !== g.get(0) && f < 30) {
h = h.add(g);
g = g.parent(); ++f
}
h.add(g).css("overflow", "visible")
} catch(j) {
logger.info(j)
}
},
onLoad: function() {
var h = G.browser.msie && (G.browser.version == 6);
var g;
jQuery(".float_other_box").unbind().hover(function() {
if (h) {
g = jQuery("select:visible").css("visibility", "hidden")
}
jQuery(".float_other_box").addClass("float_other_box_on");
jQuery(".float_other_text").addClass("float_other_text_on");
jQuery("#float_other_list").show()
},
function() {
jQuery(".float_other_box").removeClass("float_other_box_on");
jQuery(".float_other_text").removeClass("float_other_text_on");
jQuery("#float_other_list").hide();
if (h) {
g.css("visibility", "visible")
}
});
jQuery(".fl_right .fl_login_title_ul li").menus({
classes: {
on: "on",
off: ""
},
default_selected_index: 0,
hover_switch: false,
switch_success: function(i) {
var j = i.attr("login_name");
jQuery(".fl_right .login_box").hide();
jQuery("#fl_login_" + j).show()
}
});
prelogin({
callback: a,
no_need_to_request_callback: b,
successCloseOverlay: false
});
jQuery("#float_login_close_btn").unbind().click(function() {
jQuery.colorbox.close()
});
var f = jQuery("#float_login_form");
f.unbind().submit(function() {
var j = function() {
var n = [];
n.push("username=" + encodeURIComponent(jQuery("#float_username").val()));
n.push("passwd=" + encodeURIComponent(jQuery("#float_passwd").val()));
n.push("verify=" + encodeURIComponent(jQuery("#float_verify").val()));
if (typeof(d.lottery_type) != "undefined") {
if (jQuery.isArray(d.lottery_type)) {
for (var l = 0,
k = d.lottery_type.length; l < k; l++) {
n.push("lottery_type[]=" + d.lottery_type[l])
}
} else {
n.push("lottery_type=" + d.lottery_type)
}
}
jQuery.ajax({
url: G.baseUrl + "/user/ajax_login.php",
type: "POST",
data: n.join("&"),
global: false,
success: function(q) {
var p = jQuery.ajaxResultHandler(q, {
ignoreRedirect: true,
usingAlert: true,
error: d.error
});
if (typeof(p) == "object" && p.success) {
jQuery.extend(G.tmp, {
serverTime: p.datetime
});
updateHeaderUserInfo(p.data);
if (typeof(d.success) == "function") {
d.success(p.data)
}
if (typeof(ajax_login_params) == "object" && typeof(ajax_login_params.success) == "function") {
ajax_login_params.success(p)
}
var o = p.data.discuz;
if (o) {
o = encodeURIComponent(o);
jQuery("body").append('<iframe id="uc_login_frame" name="uc_login_frame" src="/user/uc_redirect.php?discuz=' + o + '" style="display:none;"></iframe>')
}
f.resetForm()
} else {
window.require_captcha = true;
c(window.require_captcha)
}
}
})
};
var i = window.require_captcha;
prelogin({
callback: function(k) {
if (k.require_captcha != i && k.require_captcha) {
c(k.require_captcha)
} else {
j();
if (k.require_captcha != i && !k.require_captcha) {
c(k.require_captcha)
}
}
},
no_need_to_request_callback: function() {
j()
},
successCloseOverlay: false
});
return false
})
},
opacity: 0.5,
close: ""
});
return false
});
jQuery.trackPageView(G.baseUrl + "/virtual/float/login")
},
"0x3000002": function(a) {
a = jQuery.extend({
validate: true,
success: undefined,
error: undefined,
ignoreRedirect: true,
successCloseOverlay: true,
submitClass: "float_register_submit",
loginLink: true,
templateUrl: G.baseUrl + "/user/load_float_register.php"
},
a);
jQuery.template(a.templateUrl, "float_register_tpl",
function(b) {
var c = function() {
jQuery("#" + b).find("input[type=submit]").addClass(a.submitClass).end();
jQuery("#float_register_verify").one("focus",
function() {
jQuery.captcha("float_register_captcha");
jQuery("#float_register_captcha_info").hide();
jQuery("#float_register_captcha_span").show()
});
if (a.loginLink) {
jQuery("#float_register_login").show()
} else {
jQuery("#float_register_login").hide()
}
var d = jQuery("#float_register_form").validate({
errorPlacement: function(e, f) {
e.appendTo(f.parent("td").find("p").empty())
},
errorClass: "error",
validClass: "valid",
highlight: function(g, e, f) {},
unhighlight: function(g, e, f) {},
onkeyup: function(e) {},
success: function(e) {
e.empty().removeClass(this.errorClass).addClass(this.validClass)
},
submitHandler: function(f) {
var e = jQuery(f);
var g = [];
g.push("username=" + encodeURIComponent(jQuery("#float_register_username").val()));
g.push("passwd=" + encodeURIComponent(jQuery("#float_register_passwd").val()));
g.push("conpasswd=" + encodeURIComponent(jQuery("#float_register_conpasswd").val()));
g.push("verify=" + encodeURIComponent(jQuery("#float_register_verify").val()));
jQuery.ajax({
url: G.baseUrl + "/user/ajax_register.php",
type: "POST",
data: g.join("&"),
global: false,
success: function(i) {
var h = jQuery.ajaxResultHandler(i, {
ignoreRedirect: a.ignoreRedirect,
successCloseOverlay: a.successCloseOverlay,
usingAlert: true,
error: a.error
});
if (typeof(h) == "object" && h.success) {
e.resetForm();
initAjaxLogin();
if (typeof(a.success) == "function") {
a.success(h)
}
} else {
if (typeof(a.error) == "function") {
a.error(h)
}
}
}
});
return false
},
rules: {
float_register_username: {
required: true,
validateUsername: true,
maxRealLength: 16,
minRealLength: 4,
remote: {
url: "/user/user_exist.php",
ignoreElement: true,
validFunction: function(f) {
var e = jQuery.ajaxResultHandler(f, {
successCloseOverlay: false
});
if (e && e.success) {
return ! (e.data.result === true)
}
return false
},
data: {
name: function() {
return jQuery.trim(jQuery("#float_register_username").val())
}
}
}
},
float_register_passwd: {
required: true,
validatePassword: true
},
float_register_conpasswd: {
required: true,
equalTo: "#float_register_passwd"
},
float_register_verify: {
required: true,
remote: {
url: "/captcha_verify.php",
validFunction: function(f) {
var e = jQuery.ajaxResultHandler(f, {
successCloseOverlay: false
});
if (e && e.success) {
return e.data.result === true
}
return false
}
}
}
},
messages: {
float_register_username: {
required: "请输入用户名",
remote: "该用户名已被使用"
},
float_register_passwd: {
required: "请输入密码"
},
float_register_conpasswd: {
equalTo: "密码不匹配"
},
float_register_verify: {
required: "请输入验证码",
remote: "验证码输入不正确"
}
}
});
jQuery.colorbox({
inline: true,
href: "#" + b,
opacity: 0.5,
close: "",
onComplete: function() {
if (jQuery("#float_register_captcha").is(":visible")) {
jQuery.captcha("float_register_captcha")
}
}
})
};
if (a.validate && typeof(jQuery.prototype.validate) != "function") {
jQuery.ajaxLoadScript({
url: G.baseJsUrl + "/jquery.validate.min.js",
global: false,
success: c
})
} else {
c()
}
return false
});
jQuery.trackPageView(G.baseUrl + "/virtual/float/register")
},
"0x10010007": function(a) {
$.showError("登录失败次数过多", {
detail: '<span class="red">' + a.message + "</span>"
})
},
"0x10010006": function(a) {
$.showError("您输入的密码不正确", {
detail: '<span class="red">' + a.message + "</span>"
})
}
});
//视频兼容
jQuery.fn.extend({
notebox: function(a) {
a = jQuery.extend({
opacity: 0.8,
notebox: ".notebox",
left: 0,
top: 15,
noteboxClass: "notebox"
},
a);
jQuery(this).each(function() {
var c = jQuery(this);
c.css("position", "relative");
var b = c.find(a.notebox);
b.css({
position: "absolute",
top: a.top,
left: a.left
}).addClass(a.noteboxClass).hide();
c.hover(function() {
jQuery(this).css("zIndex", 9999);
b.show()
},
function() {
jQuery(this).css("zIndex", 0);
b.hide()
})
});
return jQuery(this)
}
});
/*
* tooltip是当鼠标停止在某一个工具元件时,界面对用户的提示。为了做出更美观的tooltip,通常会用层模拟创建一个tooltip效果。
*/
jQuery.fn.extend({
tooltip: function(b) {
b = jQuery.extend({
opacity: 0.8,
selector: ".tooltip",
left: 15,
top: 15,
container: "",
containerId: "",
containerClass: "tooltip_box"
},
b);
if (!b.container || jQuery(b.container).length == 0) {
jQuery("body").append('<div id="' + (b.containerId ? b.containerId: "default_tooltip_box") + '" class="' + b.containerClass + '"></div>');
b.container = "#" + (b.containerId ? b.containerId: "default_tooltip_box")
}
var a = jQuery(b.container);
jQuery(this).each(function() {
var c = jQuery(this);
c.hover(function(e) {
var d = jQuery.mouseCoords(e);
a.css({
position: "absolute",
left: d.x + b.left + "px",
top: d.y + b.top + "px",
opacity: b.opacity
}).html(c.next(b.selector).html()).show()
},
function(d) {
a.hide().empty()
})
});
return jQuery(this)
}
});
// menus 下拉菜单
jQuery.fn.extend({
menus: function(c) {
var b = jQuery(this);
c = jQuery.extend({
default_selected_index: 0,
classes: {
on: "on",
off: "off"
},
hover_switch: false,
switch_success: undefined
},
c);
var a = function(d) {
if (d.hasClass(c.classes.on)) {
return false
}
b.removeClass(c.classes.on);
d.addClass(c.classes.on).removeClass(c.classes.off);
if (c.switch_success && typeof(c.switch_success) == "function") {
c.switch_success(d)
}
};
jQuery(this).each(function(d) {
var e = jQuery(this);
if (d == c.default_selected_index) {
a(e)
} else {}
if (c.hover_switch) {
e.hover(function() {
a(e)
})
} else {
e.click(function() {
a(e)
})
}
})
}
});
// 自定义媒体DOM类
function getFlashMovieObject(a) {
if (window.document[a]) {
return window.document[a]
}
if (document.embeds && document.embeds[a]) {
return document.embeds[a]
} else {
return document.getElementById(a)
}
}
/*
* 其它登录
*/
function prelogin(c) {
c = jQuery.extend({
callback: function(d) {},
no_need_to_request_callback: function(d) {},
successCloseOverlay: true
},
c);
var a = 60000;
if (!window._last_request_prelogin) {
window._last_request_prelogin = (new Date()).getTime()
} else {
var b = (new Date()).getTime();
if (b - window._last_request_prelogin < a) {
logger.info("no need to re-request prelogin in " + a + "ms");
if (c.no_need_to_request_callback && typeof(c.no_need_to_request_callback) == "function") {
c.no_need_to_request_callback(window.require_captcha)
}
return false
}
}
window._last_request_prelogin = (new Date()).getTime();
jQuery.ajax({
url: G.baseUrl + "/user/ajax_prelogin.php",
type: "GET",
dataType: "json",
global: false,
success: function(e) {
var d = jQuery.ajaxResultHandler(e, {
successCloseOverlay: c.successCloseOverlay
});
window.require_captcha = d.data.require_captcha;
if (c.callback && typeof(c.callback) == "function") {
c.callback(d.data)
}
}
})
}
// 获取代理的表单内容
function getAgentIdFromUrl() {
try {
var b = new LHC.URLParser(window.location.href);
var a = new LHC.QueryStringParser(b.getQueryString());
var d = parseInt(a.get("agentId"), 10);
if (isNaN(d)) {
return 0
}
return d
} catch(c) {
logger.error(c);
return 0
}
}
//调用百度广告代码。用来显示广告的。
function fillActivitySlot(c, a) {
if (a) {
return
}
try {
BAIDU_CLB_fillSlot(c.toString())
} catch(b) {}
}
/*
* Placeholder是HTML5新增的另一个属性,当input或者textarea设置了该属性后,该值的内容将作为灰字提示显示在文本框中,当文本框获得焦点时,提示文字消失。
* http://www.oschina.net/question/5189_22929
*/
jQuery.fn.extend({
funPlaceholder: function(a) {
a = jQuery.extend({
position: "absolute",
left: "10px",
top: "6px",
color: "#919191"
},
a);
jQuery(this).each(function(f) {
var c = jQuery(this);
var e = c.attr("id");
var d = e + "-lable";
var j = c.attr("placeholder");
var h = (function() {
var i = document.createElement("input");
return "placeholder" in i
})();
if (!h && j != "" && c.val() == "") {
var b = jQuery('<span class="' + d + '">' + j + "</span>").insertBefore(c);
var g = c.parent().find("." + d);
g.css({
position: a.position,
left: a.left,
top: a.top,
color: a.color
});
c.parent().append(b);
c.bind("click",
function() {
g.hide()
}).bind("blur",
function() {
if (jQuery(this).value === "") {
g.show()
}
});
g.bind("click",
function() {
jQuery(this).hide();
c.focus()
})
}
})
}
});
/*
*窗口初使化位置
*/
jQuery.extend({
initLazyLoad: function(a, c) {
c = c || 200;
var a = a || jQuery(".js-lazy").toArray();
if (!jQuery.isArray(a)) {
return
}
var e = function() {
return document.all ? document.getElementsByTagName("html")[0].offsetHeight: window.innerHeight
};
var d = function() {
if (a.length == 0) {
return
}
var g = Math.max(document.body.scrollTop, document.documentElement.scrollTop);
for (var l = 0; l < a.length; l++) {
var o = a[l];
if (!o) {
return
}
var k = jQuery(o).offset();
var h = k ? k.top: 0;
var j = jQuery(o).prop("showed");
var p = b + g + c;
if (p > h && !j) {
var n = null;
jQuery.each(o.childNodes,
function(i, q) {
if (q.nodeType == 8) {
n = q
}
});
if (n) {
var f = document.createElement("div");
f.innerHTML = n.data;
jQuery(o).append(jQuery(f).children()).prop("showed", true);
a.splice(l, 1);
l = -1;
continue
}
}
}
};
var b = e();
d();
jQuery(window).resize(function() {
b = e()
});
jQuery(window).scroll(function() {
d()
})
}
});