02.lib-v1.js

   1 /*

   2  Date: 2014-07-29 4:06:07 [PM] 

   3  */

   4 function StringBuilder() {

   5     this.strings = new Array, this.length = 0

   6 }

   7 

   8 function jdThickBoxclose() {

   9     $(".thickclose").trigger("click")

  10 }

  11 

  12 function getparam() {

  13     var a = "",

  14         b = "";

  15     new Object;

  16     for (var c = location.search.substring(1), d = c.split("&"), e = 0; e < d.length; e++) {

  17         var f = d[e].indexOf("="); - 1 != f && (d[e].substring(0, f), "sid" == d[e].substring(0, f) && (a = unescape(d[e].substring(f + 1))), "t" == d[e].substring(0, f) && (b = unescape(d[e].substring(f + 1))))

  18     }

  19     return "" != a || "" != b ? "&sid=" + escape(a) + "&t=" + escape(b) : ""

  20 }

  21 

  22 function mlazyload(a) {

  23         var b = {

  24             defObj: null,

  25             defHeight: 0,

  26             fn: null

  27         };

  28         b = $.extend(b, a || {});

  29         var c = (b.defHeight, "object" == typeof b.defObj ? b.defObj : $(b.defObj));

  30         if (!(c.length < 1)) {

  31             var d = function() {

  32                     var a = document,

  33                         c = "ipad" == navigator.userAgent.toLowerCase().match(/iPad/i) ? window.pageYOffset : Math.max(a.documentElement.scrollTop, a.body.scrollTop);

  34                     return a.documentElement.clientHeight + c - b.defHeight

  35                 },

  36                 e = function() {

  37                     c.offset().top <= d() && !c.attr("load") && (c.attr("load", "true"), b.fn && b.fn())

  38                 };

  39             e(), $(window).bind("scroll", function() {

  40                 e()

  41             })

  42         }

  43     }! function() {

  44         var a = document.getElementById("nav-dapeigou");

  45         a && (a.innerHTML = '<a href="http://channel.jd.com/chaoshi.html">\u4eac\u4e1c\u8d85\u5e02</a>')

  46     }(), "undefined" == typeof pageConfig.FN_getDomain && (pageConfig.FN_getDomain = function() {

  47         var a = location.hostname;

  48         return /360buy.com/.test(a) ? "360buy.com" : "jd.com"

  49     }),

  50     function() {

  51         var a = $("#service-2013 a[href='http://en.360buy.com/']");

  52         a.length && a.attr("href", "http://help.en.360buy.com/help/question-2.html")

  53     }(),

  54     function() {

  55         var a = $("#footer-2013 a[href='http://about.58.com/fqz/index.html']");

  56         a.length && a.attr("href", "http://www.bj.cyberpolice.cn/index.do")

  57     }(), "object" != typeof JSON && (JSON = {}),

  58     function() {

  59         function f(a) {

  60             return 10 > a ? "0" + a : a

  61         }

  62 

  63         function quote(a) {

  64             return escapable.lastIndex = 0, escapable.test(a) ? '"' + a.replace(escapable, function(a) {

  65                 var b = meta[a];

  66                 return "string" == typeof b ? b : "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4)

  67             }) + '"' : '"' + a + '"'

  68         }

  69 

  70         function str(a, b) {

  71             var c, d, e, f, g, h = gap,

  72                 i = b[a];

  73             switch (i && "object" == typeof i && "function" == typeof i.toJSON && (i = i.toJSON(a)), "function" == typeof rep && (i = rep.call(b, a, i)), typeof i) {

  74                 case "string":

  75                     return quote(i);

  76                 case "number":

  77                     return isFinite(i) ? String(i) : "null";

  78                 case "boolean":

  79                 case "null":

  80                     return String(i);

  81                 case "object":

  82                     if (!i) return "null";

  83                     if (gap += indent, g = [], "[object Array]" === Object.prototype.toString.apply(i)) {

  84                         for (f = i.length, c = 0; f > c; c += 1) g[c] = str(c, i) || "null";

  85                         return e = 0 === g.length ? "[]" : gap ? "[\n" + gap + g.join(",\n" + gap) + "\n" + h + "]" : "[" + g.join(",") + "]", gap = h, e

  86                     }

  87                     if (rep && "object" == typeof rep)

  88                         for (f = rep.length, c = 0; f > c; c += 1) "string" == typeof rep[c] && (d = rep[c], e = str(d, i), e && g.push(quote(d) + (gap ? ": " : ":") + e));

  89                     else

  90                         for (d in i) Object.prototype.hasOwnProperty.call(i, d) && (e = str(d, i), e && g.push(quote(d) + (gap ? ": " : ":") + e));

  91                     return e = 0 === g.length ? "{}" : gap ? "{\n" + gap + g.join(",\n" + gap) + "\n" + h + "}" : "{" + g.join(",") + "}", gap = h, e

  92             }

  93         }

  94         "function" != typeof Date.prototype.toJSON && (Date.prototype.toJSON = function() {

  95             return isFinite(this.valueOf()) ? this.getUTCFullYear() + "-" + f(this.getUTCMonth() + 1) + "-" + f(this.getUTCDate()) + "T" + f(this.getUTCHours()) + ":" + f(this.getUTCMinutes()) + ":" + f(this.getUTCSeconds()) + "Z" : null

  96         }, String.prototype.toJSON = Number.prototype.toJSON = Boolean.prototype.toJSON = function() {

  97             return this.valueOf()

  98         });

  99         var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,

 100             escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,

 101             gap, indent, meta = {

 102                 "\b": "\\b",

 103                 "    ": "\\t",

 104                 "\n": "\\n",

 105                 "\f": "\\f",

 106                 "\r": "\\r",

 107                 '"': '\\"',

 108                 "\\": "\\\\"

 109             },

 110             rep;

 111         "function" != typeof JSON.stringify && (JSON.stringify = function(a, b, c) {

 112             var d;

 113             if (gap = "", indent = "", "number" == typeof c)

 114                 for (d = 0; c > d; d += 1) indent += " ";

 115             else "string" == typeof c && (indent = c); if (rep = b, b && "function" != typeof b && ("object" != typeof b || "number" != typeof b.length)) throw new Error("JSON.stringify");

 116             return str("", {

 117                 "": a

 118             })

 119         }), "function" != typeof JSON.parse && (JSON.parse = function(text, reviver) {

 120             function walk(a, b) {

 121                 var c, d, e = a[b];

 122                 if (e && "object" == typeof e)

 123                     for (c in e) Object.prototype.hasOwnProperty.call(e, c) && (d = walk(e, c), void 0 !== d ? e[c] = d : delete e[c]);

 124                 return reviver.call(a, b, e)

 125             }

 126             var j;

 127             if (text = String(text), cx.lastIndex = 0, cx.test(text) && (text = text.replace(cx, function(a) {

 128                 return "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4)

 129             })), /^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) return j = eval("(" + text + ")"), "function" == typeof reviver ? walk({

 130                 "": j

 131             }, "") : j;

 132             throw new SyntaxError("JSON.parse")

 133         })

 134     }(), eval(function(a, b, c, d, e, f) {

 135         if (e = function(a) {

 136             return (b > a ? "" : e(parseInt(a / b))) + ((a %= b) > 35 ? String.fromCharCode(a + 29) : a.toString(36))

 137         }, !"".replace(/^/, String)) {

 138             for (; c--;) f[e(c)] = d[c] || e(c);

 139             d = [

 140                 function(a) {

 141                     return f[a]

 142                 }

 143             ], e = function() {

 144                 return "\\w+"

 145             }, c = 1

 146         }

 147         for (; c--;) d[c] && (a = a.replace(new RegExp("\\b" + e(c) + "\\b", "g"), d[c]));

 148         return a

 149     }("(4($){$.R($.7,{3:4(c,b,d){9 e=2,q;5($.O(c))d=b,b=c,c=z;$.h($.3.j,4(i,a){5(e.8==a.8&&e.g==a.g&&c==a.m&&(!b||b.$6==a.7.$6)&&(!d||d.$6==a.o.$6))l(q=a)&&v});q=q||Y $.3(2.8,2.g,c,b,d);q.u=v;$.3.s(q.F);l 2},T:4(c,b,d){9 e=2;5($.O(c))d=b,b=c,c=z;$.h($.3.j,4(i,a){5(e.8==a.8&&e.g==a.g&&(!c||c==a.m)&&(!b||b.$6==a.7.$6)&&(!d||d.$6==a.o.$6)&&!2.u)$.3.y(a.F)});l 2}});$.3=4(e,c,a,b,d){2.8=e;2.g=c||S;2.m=a;2.7=b;2.o=d;2.t=[];2.u=v;2.F=$.3.j.K(2)-1;b.$6=b.$6||$.3.I++;5(d)d.$6=d.$6||$.3.I++;l 2};$.3.p={y:4(){9 b=2;5(2.m)2.t.16(2.m,2.7);E 5(2.o)2.t.h(4(i,a){b.o.x(a)});2.t=[];2.u=Q},s:4(){5(2.u)l;9 b=2;9 c=2.t,w=$(2.8,2.g),H=w.11(c);2.t=w;5(2.m){H.10(2.m,2.7);5(c.C>0)$.h(c,4(i,a){5($.B(a,w)<0)$.Z.P(a,b.m,b.7)})}E{H.h(4(){b.7.x(2)});5(2.o&&c.C>0)$.h(c,4(i,a){5($.B(a,w)<0)b.o.x(a)})}}};$.R($.3,{I:0,j:[],k:[],A:v,D:X,N:4(){5($.3.A&&$.3.k.C){9 a=$.3.k.C;W(a--)$.3.j[$.3.k.V()].s()}},U:4(){$.3.A=v},M:4(){$.3.A=Q;$.3.s()},L:4(){$.h(G,4(i,n){5(!$.7[n])l;9 a=$.7[n];$.7[n]=4(){9 r=a.x(2,G);$.3.s();l r}})},s:4(b){5(b!=z){5($.B(b,$.3.k)<0)$.3.k.K(b)}E $.h($.3.j,4(a){5($.B(a,$.3.k)<0)$.3.k.K(a)});5($.3.D)1j($.3.D);$.3.D=1i($.3.N,1h)},y:4(b){5(b!=z)$.3.j[b].y();E $.h($.3.j,4(a){$.3.j[a].y()})}});$.3.L('1g','1f','1e','1b','1a','19','18','17','1c','15','1d','P');$(4(){$.3.M()});9 f=$.p.J;$.p.J=4(a,c){9 r=f.x(2,G);5(a&&a.8)r.g=a.g,r.8=a.8;5(14 a=='13')r.g=c||S,r.8=a;l r};$.p.J.p=$.p})(12);", 62, 82, "||this|livequery|function|if|lqguid|fn|selector|var|||||||context|each||queries|queue|return|type||fn2|prototype|||run|elements|stopped|false|els|apply|stop|undefined|running|inArray|length|timeout|else|id|arguments|nEls|guid|init|push|registerPlugin|play|checkQueue|isFunction|remove|true|extend|document|expire|pause|shift|while|null|new|event|bind|not|jQuery|string|typeof|toggleClass|unbind|addClass|removeAttr|attr|wrap|before|removeClass|empty|after|prepend|append|20|setTimeout|clearTimeout".split("|"), 0, {})), new function(a) {

 150         var b = a.separator || "&",

 151             c = a.spaces === !1 ? !1 : !0;

 152         a.suffix === !1 ? "" : "[]";

 153         var d = a.prefix === !1 ? !1 : !0,

 154             e = d ? a.hash === !0 ? "#" : "?" : "",

 155             f = a.numbers === !1 ? !1 : !0;

 156         jQuery.query = new function() {

 157             var a = function(a, b) {

 158                     return void 0 != a && null !== a && (b ? a.constructor == b : !0)

 159                 },

 160                 d = function(a) {

 161                     for (var b, c = /\[([^[]*)\]/g, d = /^(\S+?)(\[\S*\])?$/.exec(a), e = d[1], f = []; b = c.exec(d[2]);) f.push(b[1]);

 162                     return [e, f]

 163                 },

 164                 g = function(b, c, d) {

 165                     var e = c.shift();

 166                     if ("object" != typeof b && (b = null), "" === e)

 167                         if (b || (b = []), a(b, Array)) b.push(0 == c.length ? d : g(null, c.slice(0), d));

 168                         else if (a(b, Object)) {

 169                         for (var f = 0; null != b[f++];);

 170                         b[--f] = 0 == c.length ? d : g(b[f], c.slice(0), d)

 171                     } else b = [], b.push(0 == c.length ? d : g(null, c.slice(0), d));

 172                     else if (e && e.match(/^\s*[0-9]+\s*$/)) {

 173                         var h = parseInt(e, 10);

 174                         b || (b = []), b[h] = 0 == c.length ? d : g(b[h], c.slice(0), d)

 175                     } else {

 176                         if (!e) return d;

 177                         var h = e.replace(/^\s*|\s*$/g, "");

 178                         if (b || (b = {}), a(b, Array)) {

 179                             for (var i = {}, f = 0; f < b.length; ++f) i[f] = b[f];

 180                             b = i

 181                         }

 182                         b[h] = 0 == c.length ? d : g(b[h], c.slice(0), d)

 183                     }

 184                     return b

 185                 },

 186                 h = function(a) {

 187                     var b = this;

 188                     return b.keys = {}, a.queryObject ? jQuery.each(a.get(), function(a, c) {

 189                         b.SET(a, c)

 190                     }) : jQuery.each(arguments, function() {

 191                         var a = "" + this;

 192                         a = a.replace(/^[?#]/, ""), a = a.replace(/[;&]$/, ""), c && (a = a.replace(/[+]/g, " ")), jQuery.each(a.split(/[&;]/), function() {

 193                             try {

 194                                 var a = decodeURIComponent(this.split("=")[0]),

 195                                     c = decodeURIComponent(encodeURIComponent(this.split("=")[1]))

 196                             } catch (d) {}

 197                             a && (f && (/^[+-]?[0-9]+\.[0-9]*$/.test(c) ? c = parseFloat(c) : /^[+-]?[0-9]+$/.test(c) && (c = parseInt(c, 10))), c = c || 0 === c ? c : !0, c !== !1 && c !== !0 && "number" != typeof c && (c = c), b.SET(a, c))

 198                         })

 199                     }), b

 200                 };

 201             return h.prototype = {

 202                 queryObject: !0,

 203                 has: function(b, c) {

 204                     var d = this.get(b);

 205                     return a(d, c)

 206                 },

 207                 GET: function(b) {

 208                     if (!a(b)) return this.keys;

 209                     for (var c = d(b), e = c[0], f = c[1], g = this.keys[e]; null != g && 0 != f.length;) g = g[f.shift()];

 210                     return "number" == typeof g ? g : g || ""

 211                 },

 212                 get: function(b) {

 213                     var c = this.GET(b);

 214                     return a(c, Object) ? jQuery.extend(!0, {}, c) : a(c, Array) ? c.slice(0) : c

 215                 },

 216                 SET: function(b, c) {

 217                     var e = a(c) ? c : null,

 218                         f = d(b),

 219                         h = f[0],

 220                         i = f[1],

 221                         j = this.keys[h];

 222                     return this.keys[h] = g(j, i.slice(0), e), this

 223                 },

 224                 set: function(a, b) {

 225                     return this.copy().SET(a, b)

 226                 },

 227                 REMOVE: function(a) {

 228                     return this.SET(a, null).COMPACT()

 229                 },

 230                 remove: function(a) {

 231                     return this.copy().REMOVE(a)

 232                 },

 233                 EMPTY: function() {

 234                     var a = this;

 235                     return jQuery.each(a.keys, function(b) {

 236                         delete a.keys[b]

 237                     }), a

 238                 },

 239                 load: function(a) {

 240                     var b = a.replace(/^.*?[#](.+?)(?:\?.+)?$/, "$1"),

 241                         c = a.replace(/^.*?[?](.+?)(?:#.+)?$/, "$1");

 242                     return new h(a.length == c.length ? "" : c, a.length == b.length ? "" : b)

 243                 },

 244                 empty: function() {

 245                     return this.copy().EMPTY()

 246                 },

 247                 copy: function() {

 248                     return new h(this)

 249                 },

 250                 COMPACT: function() {

 251                     function b(c) {

 252                         function d(b, c, d) {

 253                             a(b, Array) ? b.push(d) : b[c] = d

 254                         }

 255                         var e = "object" == typeof c ? a(c, Array) ? [] : {} : c;

 256                         return "object" == typeof c && jQuery.each(c, function(c, f) {

 257                             return a(f) ? (d(e, c, b(f)), void 0) : !0

 258                         }), e

 259                     }

 260                     return this.keys = b(this.keys), this

 261                 },

 262                 compact: function() {

 263                     return this.copy().COMPACT()

 264                 },

 265                 toString: function() {

 266                     var c = [],

 267                         d = [],

 268                         f = function(b, c, d) {

 269                             if (a(d) && d !== !1) {

 270                                 var e = [encodeURIComponent(c)];

 271                                 d !== !0 && (e.push("="), e.push(encodeURIComponent(d))), b.push(e.join(""))

 272                             }

 273                         },

 274                         g = function(a, b) {

 275                             var c = function(a) {

 276                                 return b && "" != b ? [b, "[", a, "]"].join("") : [a].join("")

 277                             };

 278                             jQuery.each(a, function(a, b) {

 279                                 "object" == typeof b ? g(b, c(a)) : f(d, c(a), b)

 280                             })

 281                         };

 282                     return g(this.keys), d.length > 0 && c.push(e), c.push(d.join(b)), c.join("")

 283                 }

 284             }, new h(location.search, location.hash)

 285         }

 286     }(jQuery.query || {}), eval(function(a, b, c, d, e, f) {

 287         if (e = function(a) {

 288             return (b > a ? "" : e(parseInt(a / b))) + ((a %= b) > 35 ? String.fromCharCode(a + 29) : a.toString(36))

 289         }, !"".replace(/^/, String)) {

 290             for (; c--;) f[e(c)] = d[c] || e(c);

 291             d = [

 292                 function(a) {

 293                     return f[a]

 294                 }

 295             ], e = function() {

 296                 return "\\w+"

 297             }, c = 1

 298         }

 299         for (; c--;) d[c] && (a = a.replace(new RegExp("\\b" + e(c) + "\\b", "g"), d[c]));

 300         return a

 301     }("n.5=v(a,b,c){4(7 b!='w'){c=c||{};4(b===o){b='';c.3=-1}2 d='';4(c.3&&(7 c.3=='p'||c.3.q)){2 e;4(7 c.3=='p'){e=x y();e.z(e.A()+(c.3*B*r*r*C))}s{e=c.3}d=';3='+e.q()}2 f=c.8?';8='+(c.8):'';2 g=c.9?';9='+(c.9):'';2 h=c.t?';t':'';6.5=[a,'=',D(b),d,f,g,h].E('')}s{2 j=o;4(6.5&&6.5!=''){2 k=6.5.F(';');G(2 i=0;i<k.m;i++){2 l=n.H(k[i]);4(l.u(0,a.m+1)==(a+'=')){j=I(l.u(a.m+1));J}}}K j}};", 47, 47, "||var|expires|if|cookie|document|typeof|path|domain|||||||||||||length|jQuery|null|number|toUTCString|60|else|secure|substring|function|undefined|new|Date|setTime|getTime|24|1000|encodeURIComponent|join|split|for|trim|decodeURIComponent|break|return".split("|"), 0, {})), Function.prototype.overwrite = function(a) {

 302         var b = a;

 303         return b.original || (b.original = this), b

 304     }, Date.prototype.toString = Date.prototype.toString.overwrite(function(a) {

 305         var b = new String;

 306         return "string" == typeof a && (b = a, b = b.replace(/yyyy|YYYY/, this.getFullYear()), b = b.replace(/yy|YY/, this.getFullYear().toString().substr(2, 2)), b = b.replace(/MM/, this.getMonth() >= 9 ? this.getMonth() + 1 : "0" + (this.getMonth() + 1)), b = b.replace(/M/, this.getMonth()), b = b.replace(/dd|DD/, this.getDate() > 9 ? this.getDate() : "0" + this.getDate()), b = b.replace(/d|D/, this.getDate()), b = b.replace(/hh|HH/, this.getHours() > 9 ? this.getHours() : "0" + this.getHours()), b = b.replace(/h|H/, this.getHours()), b = b.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes() : "0" + this.getMinutes()), b = b.replace(/m/, this.getMinutes()), b = b.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds() : "0" + this.getSeconds()), b = b.replace(/s|S/, this.getSeconds())), b

 307     }), String.prototype.format = function() {

 308         var a = this;

 309         return arguments.length > 0 && (parameters = $.makeArray(arguments), $.each(parameters, function(b, c) {

 310             a = a.replace(new RegExp("\\{" + b + "\\}", "g"), c)

 311         })), a

 312     }, StringBuilder.prototype.append = function(a) {

 313         this.strings.push(a), this.length += a.length

 314     }, StringBuilder.prototype.toString = function(a, b) {

 315         return this.strings.join("").substr(a, b)

 316     },

 317     function($) {

 318         $.jmsajax = function(a) {

 319             var b = {

 320                     type: "POST",

 321                     dataType: "msjson",

 322                     data: {},

 323                     beforeSend: function(a) {

 324                         a.setRequestHeader("Content-type", "application/json; charset=utf-8")

 325                     },

 326                     contentType: "application/json; charset=utf-8",

 327                     error: function(a) {

 328                         alert("Status: " + (a.statusText ? a.statusText : "Unknown") + "\nMessage: " + msJSON.parse(a.responseText ? a.responseText : "Unknown").Message)

 329                     }

 330                 },

 331                 a = $.extend(b, a);

 332             if (a.method && (a.url += "/" + a.method), a.data)

 333                 if ("GET" == a.type) {

 334                     var c = "";

 335                     for (var d in a.data) "" != c && (c += "&"), c += d + "=" + msJSON.stringify(a.data[d]);

 336                     a.url += "?" + c, c = null, a.data = "{}"

 337                 } else "POST" == a.type && (a.data = msJSON.stringify(a.data));

 338             if (a.success && a.dataType && "msjson" == a.dataType) {

 339                 var e = a.success;

 340                 a.success = function(b, c) {

 341                     var d = dateparse(b);

 342                     a.version ? a.version >= 3.5 && (d = d.d) : 0 == b.indexOf('{"d":') && (d = d.d), e(d, c)

 343                 }

 344             }

 345             return $.ajax(a)

 346         }, dateparse = function(a) {

 347             try {

 348                 return msJSON.parse(a, function(a, b) {

 349                     var c;

 350                     return "string" == typeof b && b.indexOf("Date") >= 0 && (c = /^\/Date\(([0-9]+)\)\/$/.exec(b)) ? new Date(parseInt(c[1], 10)) : b

 351                 })

 352             } catch (b) {

 353                 return null

 354             }

 355         }, msJSON = function() {

 356             function f(a) {

 357                 return 10 > a ? "0" + a : a

 358             }

 359 

 360             function quote(a) {

 361                 return escapeable.lastIndex = 0, escapeable.test(a) ? '"' + a.replace(escapeable, function(a) {

 362                     var b = meta[a];

 363                     return "string" == typeof b ? b : "\\u" + ("0000" + (+a.charCodeAt(0)).toString(16)).slice(-4)

 364                 }) + '"' : '"' + a + '"'

 365             }

 366 

 367             function str(a, b) {

 368                 var c, d, e, f, g, h = gap,

 369                     i = b[a];

 370                 switch (i && "object" == typeof i && "function" == typeof i.toJSON && (i = i.toJSON(a)), "function" == typeof rep && (i = rep.call(b, a, i)), typeof i) {

 371                     case "string":

 372                         return quote(i);

 373                     case "number":

 374                         return isFinite(i) ? String(i) : "null";

 375                     case "boolean":

 376                     case "null":

 377                         return String(i);

 378                     case "object":

 379                         if (!i) return "null";

 380                         if (i.toUTCString) return '"\\/Date(' + i.getTime() + ')\\/"';

 381                         if (gap += indent, g = [], "number" == typeof i.length && !i.propertyIsEnumerable("length")) {

 382                             for (f = i.length, c = 0; f > c; c += 1) g[c] = str(c, i) || "null";

 383                             return e = 0 === g.length ? "[]" : gap ? "[\n" + gap + g.join(",\n" + gap) + "\n" + h + "]" : "[" + g.join(",") + "]", gap = h, e

 384                         }

 385                         if (rep && "object" == typeof rep)

 386                             for (f = rep.length, c = 0; f > c; c += 1) d = rep[c], "string" == typeof d && (e = str(d, i, rep), e && g.push(quote(d) + (gap ? ": " : ":") + e));

 387                         else

 388                             for (d in i) Object.hasOwnProperty.call(i, d) && (e = str(d, i, rep), e && g.push(quote(d) + (gap ? ": " : ":") + e));

 389                         return e = 0 === g.length ? "{}" : gap ? "{\n" + gap + g.join(",\n" + gap) + "\n" + h + "}" : "{" + g.join(",") + "}", gap = h, e

 390                 }

 391             }

 392             var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,

 393                 escapeable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,

 394                 gap, indent, meta = {

 395                     "\b": "\\b",

 396                     "    ": "\\t",

 397                     "\n": "\\n",

 398                     "\f": "\\f",

 399                     "\r": "\\r",

 400                     '"': '\\"',

 401                     "\\": "\\\\"

 402                 },

 403                 rep;

 404             return {

 405                 stringify: function(a, b, c) {

 406                     var d;

 407                     if (gap = "", indent = "", "number" == typeof c)

 408                         for (d = 0; c > d; d += 1) indent += " ";

 409                     else "string" == typeof c && (indent = c); if (rep = b, b && "function" != typeof b && ("object" != typeof b || "number" != typeof b.length)) throw new Error("JSON.stringify");

 410                     return str("", {

 411                         "": a

 412                     })

 413                 },

 414                 parse: function(text, reviver) {

 415                     function walk(a, b) {

 416                         var c, d, e = a[b];

 417                         if (e && "object" == typeof e)

 418                             for (c in e) Object.hasOwnProperty.call(e, c) && (d = walk(e, c), void 0 !== d ? e[c] = d : delete e[c]);

 419                         return reviver.call(a, b, e)

 420                     }

 421                     var j;

 422                     if (cx.lastIndex = 0, cx.test(text) && (text = text.replace(cx, function(a) {

 423                         return "\\u" + ("0000" + (+a.charCodeAt(0)).toString(16)).slice(-4)

 424                     })), /^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) return j = eval("(" + text + ")"), "function" == typeof reviver ? walk({

 425                         "": j

 426                     }, "") : j;

 427                     throw new SyntaxError("JSON.parse")

 428                 }

 429             }

 430         }()

 431     }(jQuery);

 432 var TrimPath;

 433 ! function() {

 434     null == TrimPath && (TrimPath = new Object), null == TrimPath.evalEx && (TrimPath.evalEx = function(src) {

 435         return eval(src)

 436     });

 437     var UNDEFINED;

 438     null == Array.prototype.pop && (Array.prototype.pop = function() {

 439         return 0 === this.length ? UNDEFINED : this[--this.length]

 440     }), null == Array.prototype.push && (Array.prototype.push = function() {

 441         for (var a = 0; a < arguments.length; ++a) this[this.length] = arguments[a];

 442         return this.length

 443     }), TrimPath.parseTemplate = function(a, b, c) {

 444         null == c && (c = TrimPath.parseTemplate_etc);

 445         var d = parse(a, b, c),

 446             e = TrimPath.evalEx(d, b, 1);

 447         return null != e ? new c.Template(b, a, d, e, c) : null

 448     };

 449     try {

 450         String.prototype.process = function(a, b) {

 451             var c = TrimPath.parseTemplate(this, null);

 452             return null != c ? c.process(a, b) : this

 453         }

 454     } catch (e) {}

 455     TrimPath.parseTemplate_etc = {}, TrimPath.parseTemplate_etc.statementTag = "forelse|for|if|elseif|else|var|macro", TrimPath.parseTemplate_etc.statementDef = {

 456         "if": {

 457             delta: 1,

 458             prefix: "if (",

 459             suffix: ") {",

 460             paramMin: 1

 461         },

 462         "else": {

 463             delta: 0,

 464             prefix: "} else {"

 465         },

 466         elseif: {

 467             delta: 0,

 468             prefix: "} else if (",

 469             suffix: ") {",

 470             paramDefault: "true"

 471         },

 472         "/if": {

 473             delta: -1,

 474             prefix: "}"

 475         },

 476         "for": {

 477             delta: 1,

 478             paramMin: 3,

 479             prefixFunc: function(a, b, c, d) {

 480                 if ("in" != a[2]) throw new d.ParseError(c, b.line, "bad for loop statement: " + a.join(" "));

 481                 var e = a[1],

 482                     f = "__LIST__" + e;

 483                 return ["var ", f, " = ", a[3], ";", "var __LENGTH_STACK__;", "if (typeof(__LENGTH_STACK__) == 'undefined' || !__LENGTH_STACK__.length) __LENGTH_STACK__ = new Array();", "__LENGTH_STACK__[__LENGTH_STACK__.length] = 0;", "if ((", f, ") != null) { ", "var ", e, "_ct = 0;", "for (var ", e, "_index in ", f, ") { ", e, "_ct++;", "if (typeof(", f, "[", e, "_index]) == 'function') {continue;}", "__LENGTH_STACK__[__LENGTH_STACK__.length - 1]++;", "var ", e, " = ", f, "[", e, "_index];"].join("")

 484             }

 485         },

 486         forelse: {

 487             delta: 0,

 488             prefix: "} } if (__LENGTH_STACK__[__LENGTH_STACK__.length - 1] == 0) { if (",

 489             suffix: ") {",

 490             paramDefault: "true"

 491         },

 492         "/for": {

 493             delta: -1,

 494             prefix: "} }; delete __LENGTH_STACK__[__LENGTH_STACK__.length - 1];"

 495         },

 496         "var": {

 497             delta: 0,

 498             prefix: "var ",

 499             suffix: ";"

 500         },

 501         macro: {

 502             delta: 1,

 503             prefixFunc: function(a) {

 504                 var b = a[1].split("(")[0];

 505                 return ["var ", b, " = function", a.slice(1).join(" ").substring(b.length), "{ var _OUT_arr = []; var _OUT = { write: function(m) { if (m) _OUT_arr.push(m); } }; "].join("")

 506             }

 507         },

 508         "/macro": {

 509             delta: -1,

 510             prefix: " return _OUT_arr.join(''); };"

 511         }

 512     }, TrimPath.parseTemplate_etc.modifierDef = {

 513         eat: function() {

 514             return ""

 515         },

 516         escape: function(a) {

 517             return String(a).replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">")

 518         },

 519         capitalize: function(a) {

 520             return String(a).toUpperCase()

 521         },

 522         "default": function(a, b) {

 523             return null != a ? a : b

 524         }

 525     }, TrimPath.parseTemplate_etc.modifierDef.h = TrimPath.parseTemplate_etc.modifierDef.escape, TrimPath.parseTemplate_etc.Template = function(a, b, c, d, e) {

 526         this.process = function(a, b) {

 527             null == a && (a = {}), null == a._MODIFIERS && (a._MODIFIERS = {}), null == a.defined && (a.defined = function(b) {

 528                 return void 0 != a[b]

 529             });

 530             for (var c in e.modifierDef) null == a._MODIFIERS[c] && (a._MODIFIERS[c] = e.modifierDef[c]);

 531             null == b && (b = {});

 532             var f = [],

 533                 g = {

 534                     write: function(a) {

 535                         f.push(a)

 536                     }

 537                 };

 538             try {

 539                 d(g, a, b)

 540             } catch (h) {

 541                 if (1 == b.throwExceptions) throw h;

 542                 var i = new String(f.join("") + "[ERROR: " + h.toString() + (h.message ? "; " + h.message : "") + "]");

 543                 return i.exception = h, i

 544             }

 545             return f.join("")

 546         }, this.name = a, this.source = b, this.sourceFunc = c, this.toString = function() {

 547             return "TrimPath.Template [" + a + "]"

 548         }

 549     }, TrimPath.parseTemplate_etc.ParseError = function(a, b, c) {

 550         this.name = a, this.line = b, this.message = c

 551     }, TrimPath.parseTemplate_etc.ParseError.prototype.toString = function() {

 552         return "TrimPath template ParseError in " + this.name + ": line " + this.line + ", " + this.message

 553     };

 554     var parse = function(a, b, c) {

 555             a = cleanWhiteSpace(a);

 556             for (var d = ["var TrimPath_Template_TEMP = function(_OUT, _CONTEXT, _FLAGS) { with (_CONTEXT) {"], e = {

 557                 stack: [],

 558                 line: 1

 559             }, f = -1; f + 1 < a.length;) {

 560                 var g = f;

 561                 for (g = a.indexOf("{", g + 1); g >= 0;) {

 562                     var h = a.indexOf("}", g + 1),

 563                         i = a.substring(g, h),

 564                         j = i.match(/^\{(cdata|minify|eval)/);

 565                     if (j) {

 566                         var k = j[1],

 567                             l = g + k.length + 1,

 568                             m = a.indexOf("}", l);

 569                         if (m >= 0) {

 570                             var n;

 571                             n = 0 >= m - l ? "{/" + k + "}" : a.substring(l + 1, m);

 572                             var o = a.indexOf(n, m + 1);

 573                             if (o >= 0) {

 574                                 emitSectionText(a.substring(f + 1, g), d);

 575                                 var p = a.substring(m + 1, o);

 576                                 "cdata" == k ? emitText(p, d) : "minify" == k ? emitText(scrubWhiteSpace(p), d) : "eval" == k && null != p && p.length > 0 && d.push("_OUT.write( (function() { " + p + " })() );"), g = f = o + n.length - 1

 577                             }

 578                         }

 579                     } else if ("$" != a.charAt(g - 1) && "\\" != a.charAt(g - 1)) {

 580                         var q = "/" == a.charAt(g + 1) ? 2 : 1;

 581                         if (0 == a.substring(g + q, g + 10 + q).search(TrimPath.parseTemplate_etc.statementTag)) break

 582                     }

 583                     g = a.indexOf("{", g + 1)

 584                 }

 585                 if (0 > g) break;

 586                 var h = a.indexOf("}", g + 1);

 587                 if (0 > h) break;

 588                 emitSectionText(a.substring(f + 1, g), d), emitStatement(a.substring(g, h + 1), e, d, b, c), f = h

 589             }

 590             if (emitSectionText(a.substring(f + 1), d), 0 != e.stack.length) throw new c.ParseError(b, e.line, "unclosed, unmatched statement(s): " + e.stack.join(","));

 591             return d.push("}}; TrimPath_Template_TEMP"), d.join("")

 592         },

 593         emitStatement = function(a, b, c, d, e) {

 594             var f = a.slice(1, -1).split(" "),

 595                 g = e.statementDef[f[0]];

 596             if (null == g) return emitSectionText(a, c), void 0;

 597             if (g.delta < 0) {

 598                 if (b.stack.length <= 0) throw new e.ParseError(d, b.line, "close tag does not match any previous statement: " + a);

 599                 b.stack.pop()

 600             }

 601             if (g.delta > 0 && b.stack.push(a), null != g.paramMin && g.paramMin >= f.length) throw new e.ParseError(d, b.line, "statement needs more parameters: " + a);

 602             if (null != g.prefixFunc ? c.push(g.prefixFunc(f, b, d, e)) : c.push(g.prefix), null != g.suffix) {

 603                 if (f.length <= 1) null != g.paramDefault && c.push(g.paramDefault);

 604                 else

 605                     for (var h = 1; h < f.length; h++) h > 1 && c.push(" "), c.push(f[h]);

 606                 c.push(g.suffix)

 607             }

 608         },

 609         emitSectionText = function(a, b) {

 610             if (!(a.length <= 0)) {

 611                 for (var c = 0, d = a.length - 1; c < a.length && "\n" == a.charAt(c);) c++;

 612                 for (; d >= 0 && (" " == a.charAt(d) || "    " == a.charAt(d));) d--;

 613                 if (c > d && (d = c), c > 0) {

 614                     b.push('if (_FLAGS.keepWhitespace == true) _OUT.write("');

 615                     var e = a.substring(0, c).replace("\n", "\\n");

 616                     "\n" == e.charAt(e.length - 1) && (e = e.substring(0, e.length - 1)), b.push(e), b.push('");')

 617                 }

 618                 for (var f = a.substring(c, d + 1).split("\n"), g = 0; g < f.length; g++) emitSectionTextLine(f[g], b), g < f.length - 1 && b.push('_OUT.write("\\n");\n');

 619                 if (d + 1 < a.length) {

 620                     b.push('if (_FLAGS.keepWhitespace == true) _OUT.write("');

 621                     var e = a.substring(d + 1).replace("\n", "\\n");

 622                     "\n" == e.charAt(e.length - 1) && (e = e.substring(0, e.length - 1)), b.push(e), b.push('");')

 623                 }

 624             }

 625         },

 626         emitSectionTextLine = function(a, b) {

 627             for (var c = "}", d = -1; d + c.length < a.length;) {

 628                 var e = "${",

 629                     f = "}",

 630                     g = a.indexOf(e, d + c.length);

 631                 if (0 > g) break;

 632                 "%" == a.charAt(g + 2) && (e = "${%", f = "%}");

 633                 var h = a.indexOf(f, g + e.length);

 634                 if (0 > h) break;

 635                 emitText(a.substring(d + c.length, g), b);

 636                 var i = a.substring(g + e.length, h).replace(/\|\|/g, "#@@#").split("|");

 637                 for (var j in i) i[j].replace && (i[j] = i[j].replace(/#@@#/g, "||"));

 638                 b.push("_OUT.write("), emitExpression(i, i.length - 1, b), b.push(");"), d = h, c = f

 639             }

 640             emitText(a.substring(d + c.length), b)

 641         },

 642         emitText = function(a, b) {

 643             null == a || a.length <= 0 || (a = a.replace(/\\/g, "\\\\"), a = a.replace(/\n/g, "\\n"), a = a.replace(/"/g, '\\"'), b.push('_OUT.write("'), b.push(a), b.push('");'))

 644         },

 645         emitExpression = function(a, b, c) {

 646             var d = a[b];

 647             if (0 >= b) return c.push(d), void 0;

 648             var e = d.split(":");

 649             c.push('_MODIFIERS["'), c.push(e[0]), c.push('"]('), emitExpression(a, b - 1, c), e.length > 1 && (c.push(","), c.push(e[1])), c.push(")")

 650         },

 651         cleanWhiteSpace = function(a) {

 652             return a = a.replace(/\t/g, "    "), a = a.replace(/\r\n/g, "\n"), a = a.replace(/\r/g, "\n"), a = a.replace(/^(\s*\S*(\s+\S+)*)\s*$/, "$1")

 653         },

 654         scrubWhiteSpace = function(a) {

 655             return a = a.replace(/^\s+/g, ""), a = a.replace(/\s+$/g, ""), a = a.replace(/\s+/g, " "), a = a.replace(/^(\s*\S*(\s+\S+)*)\s*$/, "$1")

 656         };

 657     TrimPath.parseDOMTemplate = function(a, b, c) {

 658         null == b && (b = document);

 659         var d = b.getElementById(a),

 660             e = d.value;

 661         return null == e && (e = d.innerHTML), e = e.replace(/</g, "<").replace(/>/g, ">"), TrimPath.parseTemplate(e, a, c)

 662     }, TrimPath.processDOMTemplate = function(a, b, c, d, e) {

 663         return TrimPath.parseDOMTemplate(a, d, e).process(b, c)

 664     }

 665 }(),

 666 function($) {

 667     $.extend({

 668         _jsonp: {

 669             scripts: {},

 670             counter: 1,

 671             charset: "gb2312",

 672             head: document.getElementsByTagName("head")[0],

 673             name: function(callback) {

 674                 var name = "_jsonp_" + (new Date).getTime() + "_" + this.counter;

 675                 this.counter++;

 676                 var cb = function(json) {

 677                     eval("delete " + name), callback(json), $._jsonp.head.removeChild($._jsonp.scripts[name]), delete $._jsonp.scripts[name]

 678                 };

 679                 return eval(name + " = cb"), name

 680             },

 681             load: function(a, b) {

 682                 var c = document.createElement("script");

 683                 c.type = "text/javascript", c.charset = this.charset, c.src = a, this.head.appendChild(c), this.scripts[b] = c

 684             }

 685         },

 686         getJSONP: function(a, b) {

 687             var c = $._jsonp.name(b),

 688                 a = a.replace(/{callback};/, c);

 689             return $._jsonp.load(a, c), this

 690         }

 691     })

 692 }(jQuery),

 693 function(a) {

 694     a.fn.Jdropdown = function(b, c) {

 695         if (this.length) {

 696             "function" == typeof b && (c = b, b = {});

 697             var d = a.extend({

 698                     event: "mouseover",

 699                     current: "hover",

 700                     delay: 0

 701                 }, b || {}),

 702                 e = "mouseover" == d.event ? "mouseout" : "mouseleave";

 703             a.each(this, function() {

 704                 var b = null,

 705                     f = null,

 706                     g = !1;

 707                 a(this).bind(d.event, function() {

 708                     if (g) clearTimeout(f);

 709                     else {

 710                         var e = a(this);

 711                         b = setTimeout(function() {

 712                             e.addClass(d.current), g = !0, c && c(e)

 713                         }, d.delay)

 714                     }

 715                 }).bind(e, function() {

 716                     if (g) {

 717                         var c = a(this);

 718                         f = setTimeout(function() {

 719                             c.removeClass(d.current), g = !1

 720                         }, d.delay)

 721                     } else clearTimeout(b)

 722                 })

 723             })

 724         }

 725     }

 726 }(jQuery),

 727 function(a) {

 728     a.fn.dropdown = function(b, c) {

 729         var b = a.extend({

 730             className: "item",

 731             current: "hover",

 732             enterDelay: 10,

 733             leaveDelay: 300,

 734             onmouseleave: null

 735         }, b);

 736         a.each(this, function() {

 737             function d() {

 738                 function a(a, b) {

 739                     return (b.y - a.y) / (b.x - a.x)

 740                 }

 741                 var b = g.offset(),

 742                     c = {

 743                         x: b.left,

 744                         y: b.top

 745                     },

 746                     d = {

 747                         x: b.left + g.outerWidth(),

 748                         y: c.y

 749                     },

 750                     e = {

 751                         x: b.left,

 752                         y: b.top + g.outerHeight()

 753                     },

 754                     f = {

 755                         x: b.left + g.outerWidth(),

 756                         y: e.y

 757                     };

 758                 if (loc = i[i.length - 1], prevLoc = i[0], !loc) return 0;

 759                 if (prevLoc || (prevLoc = loc), prevLoc.x < b.left || prevLoc.x > f.x || prevLoc.y < b.top || prevLoc.y > f.y) return 0;

 760                 if (j && loc.x == j.x && loc.y == j.y) return 0;

 761                 var h = d,

 762                     k = f,

 763                     l = a(loc, h),

 764                     m = a(prevLoc, h),

 765                     n = a(loc, k),

 766                     o = a(prevLoc, k);

 767                 return m > l && n > o ? prevLoc.x - c.x < 25 ? 0 : (j = loc, 300) : (j = null, 0)

 768             }

 769             var e, f, g = a(this),

 770                 h = g.find("." + b.className),

 771                 i = [],

 772                 j = null,

 773                 k = 3,

 774                 l = !1;

 775             g.bind("mouseenter", function() {

 776                 clearTimeout(e)

 777             });

 778             var m = null,

 779                 n = null;

 780             g.bind("mouseleave", function() {

 781                 l && (e = setTimeout(function() {

 782                     h.removeClass(b.current)

 783                 }, b.leaveDelay)), b.onmouseleave && b.onmouseleave(), m = null

 784             }), h.bind("mouseenter", function() {

 785                 var e = a(this),

 786                     g = this,

 787                     i = function() {

 788                         m = jQuery.inArray(g, h), h.removeClass(b.current), e.addClass(b.current), l = !0, c && c(e)

 789                     };

 790                 f = setTimeout(function() {

 791                     0 == d(e) && (i(), clearTimeout(n))

 792                 }, b.enterDelay), n = setTimeout(function() {

 793                     m != jQuery.inArray(g, h) && i()

 794                 }, 700)

 795             }), h.bind("mouseleave", function() {

 796                 a(this), clearTimeout(f), clearTimeout(n)

 797             }), a(document).mousemove(function(a) {

 798                 i.push({

 799                     x: a.pageX,

 800                     y: a.pageY

 801                 }), i.length > k && i.shift()

 802             })

 803         })

 804     }

 805 }(jQuery),

 806 function(a) {

 807     a.fn.Jtab = function(b, c) {

 808         if (this.length) {

 809             "function" == typeof b && (c = b, b = {});

 810             var d = a.extend({

 811                     type: "static",

 812                     auto: !1,

 813                     event: "mouseover",

 814                     currClass: "curr",

 815                     source: "data-tag",

 816                     hookKey: "data-widget",

 817                     hookItemVal: "tab-item",

 818                     hookContentVal: "tab-content",

 819                     stay: 5e3,

 820                     delay: 100,

 821                     threshold: null,

 822                     mainTimer: null,

 823                     subTimer: null,

 824                     index: 0,

 825                     compatible: !1

 826                 }, b || {}),

 827                 e = a(this).find("*[" + d.hookKey + "=" + d.hookItemVal + "]"),

 828                 f = a(this).find("*[" + d.hookKey + "=" + d.hookContentVal + "]"),

 829                 g = d.source.toLowerCase().match(/http:\/\/|\d|\.aspx|\.ascx|\.asp|\.php|\.html\.htm|.shtml|.js/g);

 830             if (e.length != f.length) return !1;

 831             var h = function(a, b) {

 832                     d.subTimer = setTimeout(function() {

 833                         e.eq(d.index).removeClass(d.currClass), d.compatible && f.eq(d.index).hide(), b ? (d.index++, d.index == e.length && (d.index = 0)) : d.index = a, d.type = null != e.eq(d.index).attr(d.source) ? "dynamic" : "static", j()

 834                     }, d.delay)

 835                 },

 836                 i = function() {

 837                     d.mainTimer = setInterval(function() {

 838                         h(d.index, !0)

 839                     }, d.stay)

 840                 },

 841                 j = function() {

 842                     switch (e.eq(d.index).addClass(d.currClass), d.compatible && f.eq(d.index).show(), d.type) {

 843                         default:

 844                             case "static":

 845                             var a = "";

 846                         break;

 847                         case "dynamic":

 848                             var a = g ? d.source : e.eq(d.index).attr(d.source);

 849                             e.eq(d.index).removeAttr(d.source)

 850                     }

 851                     c && c(a, f.eq(d.index), d.index)

 852                 };

 853             e.each(function(b) {

 854                 a(this).bind(d.event, function() {

 855                     clearTimeout(d.subTimer), clearInterval(d.mainTimer), h(b, !1)

 856                 }).bind("mouseleave", function() {

 857                     d.auto && i()

 858                 })

 859             }), "dynamic" == d.type && h(d.index, !1), d.auto && i()

 860         }

 861     }

 862 }(jQuery),

 863 function(a) {

 864     a.fn.Jlazyload = function(b, c) {

 865         if (this.length) {

 866             var d, e, f = a.extend({

 867                     type: null,

 868                     offsetParent: null,

 869                     source: "data-lazyload",

 870                     placeholderImage: "http://misc.360buyimg.com/lib/img/e/blank.gif",

 871                     placeholderClass: "loading-style2",

 872                     threshold: 200

 873                 }, b || {}),

 874                 g = this,

 875                 h = function(a) {

 876                     for (var b = a.scrollLeft, c = a.scrollTop, d = a.offsetWidth, e = a.offsetHeight; a.offsetParent;) b += a.offsetLeft, c += a.offsetTop, a = a.offsetParent;

 877                     return {

 878                         left: b,

 879                         top: c,

 880                         width: d,

 881                         height: e

 882                     }

 883                 },

 884                 i = function() {

 885                     var a = document.documentElement,

 886                         b = document.body,

 887                         c = window.pageXOffset ? window.pageXOffset : a.scrollLeft || b.scrollLeft,

 888                         d = window.pageYOffset ? window.pageYOffset : a.scrollTop || b.scrollTop,

 889                         e = a.clientWidth,

 890                         f = a.clientHeight;

 891                     return {

 892                         left: c,

 893                         top: d,

 894                         width: e,

 895                         height: f

 896                     }

 897                 },

 898                 j = function(a, b) {

 899                     var c, d, e, g, h, i, j = f.threshold ? parseInt(f.threshold) : 0;

 900                     return c = a.left + a.width / 2, d = b.left + b.width / 2, e = a.top + a.height / 2, g = b.top + b.height / 2, h = (a.width + b.width) / 2, i = (a.height + b.height) / 2, Math.abs(c - d) < h + j && Math.abs(e - g) < i + j

 901                 },

 902                 k = function(a, b, d) {

 903                     f.placeholderImage && f.placeholderClass && d.attr("src", f.placeholderImage).addClass(f.placeholderClass), a && (d.attr("src", b).removeAttr(f.source), c && c(b, d))

 904                 },

 905                 l = function(b, d, e) {

 906                     if (b) {

 907                         var g = a("#" + d);

 908                         g.html(e.val()).removeAttr(f.source), e.remove(), c && c(d, e)

 909                     }

 910                 },

 911                 m = function(a, b, d) {

 912                     a && (d.removeAttr(f.source), c && c(b, d))

 913                 },

 914                 n = function() {

 915                     e = i(), g = g.filter(function() {

 916                         return a(this).attr(f.source)

 917                     }), a.each(g, function() {

 918                         var b = a(this).attr(f.source);

 919                         if (b) {

 920                             var c = f.offsetParent ? h(a(f.offsetParent).get(0)) : e,

 921                                 d = h(this),

 922                                 g = j(c, d);

 923                             switch (f.type) {

 924                                 case "image":

 925                                     k(g, b, a(this));

 926                                     break;

 927                                 case "textarea":

 928                                     l(g, b, a(this));

 929                                     break;

 930                                 case "module":

 931                                     m(g, b, a(this))

 932                             }

 933                         }

 934                     })

 935                 },

 936                 o = function() {

 937                     g.length > 0 && (clearTimeout(d), d = setTimeout(function() {

 938                         n()

 939                     }, 10))

 940                 };

 941             n(), f.offsetParent ? a(f.offsetParent).bind("scroll", function() {

 942                 o()

 943             }) : a(window).bind("scroll", function() {

 944                 o()

 945             }).bind("reset", function() {

 946                 o()

 947             })

 948         }

 949     }

 950 }(jQuery),

 951 function(a) {

 952     a.Jtimer = function(b, c) {

 953         var d = a.extend({

 954                 pids: null,

 955                 template: null,

 956                 reset: null,

 957                 mainPlaceholder: "timed",

 958                 subPlaceholder: "timer",

 959                 resetPlaceholder: "reset",

 960                 iconPlaceholder: "icon",

 961                 finishedClass: "",

 962                 timer: []

 963             }, b || {}),

 964             e = function(a) {

 965                 var b = a.split(" "),

 966                     c = b[0].split("-"),

 967                     d = b[1].split(":");

 968                 return new Date(c[0], c[1] - 1, c[2], d[0], d[1], d[2])

 969             },

 970             f = function(a) {

 971                 return String(a).length < 2 && (a = "0" + a), a

 972             },

 973             g = function(b, c) {

 974                 if (c != {} && c && c.start && c.end) {

 975                     var g, h, i, j = e(c.start),

 976                         k = e(c.server),

 977                         l = e(c.end),

 978                         m = (j - k) / 1e3,

 979                         n = (l - k) / 1e3,

 980                         o = "#" + d.mainPlaceholder + b,

 981                         p = "#" + d.subPlaceholder + c.qid,

 982                         q = "#" + d.resetPlaceholder + c.qid;

 983                     if (0 >= m) {

 984                         var r = d.template.process(c);

 985                         a(o).html(r)

 986                     }

 987                     d.timer[c.qid] = setInterval(function() {

 988                         return m > 0 ? (clearInterval(d.timer[c.qid]), void 0) : (n > 0 ? (g = Math.floor(n / 3600), h = Math.floor((n - 3600 * g) / 60), i = (n - 3600 * g) % 60, a(p).html("\u5269\u4f59<b>" + f(g) + "</b>\u5c0f\u65f6<b>" + f(h) + "</b>\u5206<b>" + f(i) + "</b>\u79d2"), n--) : (a(p).html("\u62a2\u8d2d\u7ed3\u675f\uff01"), d.iconPlaceholder && (iconElement = "#" + d.iconPlaceholder + c.qid, a(iconElement).attr("class", d.finishedClass).html("\u62a2\u5b8c")), d.reset && (a(p).append('<a href="javascript:void(0)" id="' + q.substring(1) + '">\u5237\u65b0</a>'), a(q).bind("click", function() {

 989                             a.each(d.timer, function() {

 990                                 clearInterval(this)

 991                             }), d.reset()

 992                         })), clearInterval(d.timer[c.qid])), void 0)

 993                     }, 1e3)

 994                 }

 995             },

 996             h = function(a, b) {

 997                 return e(a.end) - e(a.server) - (e(b.end) - e(b.server))

 998             };

 999         a.ajax({

1000             url: "http://qiang.jd.com/HomePageNewLimitBuy.ashx?callback=?",

1001             data: {

1002                 ids: d.pids

1003             },

1004             dataType: "jsonp",

1005             success: function(b) {

1006                 b && b.data && (b.data.sort(h), a.each(b.data, function(a) {

1007                     g(a + 1, b.data[a])

1008                 })), c && c()

1009             }

1010         })

1011     }

1012 }(jQuery),

1013 function(a) {

1014     a.fn.Jslider = function(b, c) {

1015         if (this.length) {

1016             "function" == typeof b && (c = b, b = {});

1017             var d = a.extend({

1018                     auto: !1,

1019                     reInit: !1,

1020                     data: [],

1021                     defaultIndex: 0,

1022                     slideWidth: 0,

1023                     slideHeight: 0,

1024                     slideDirection: 1,

1025                     speed: "normal",

1026                     stay: 5e3,

1027                     delay: 150,

1028                     maxAmount: null,

1029                     template: null,

1030                     showControls: !0

1031                 }, b || {}),

1032                 e = a(this),

1033                 f = null,

1034                 g = null,

1035                 h = null,

1036                 i = null,

1037                 j = null,

1038                 k = function() {

1039                     var a;

1040                     d.maxAmount && d.maxAmount < d.data.length && d.data.splice(d.maxAmount, d.data.length - d.maxAmount), "object" == typeof d.data && (d.data.length ? (a = {}, a.json = d.data) : a = d.data);

1041                     var b = d.template;

1042                     if (d.reInit) {

1043                         var i, j = b.controlsContent.process(a);

1044                         a.json = a.json.slice(1), i = b.itemsContent.process(a), e.find(".slide-items").eq(0).append(i), e.find(".slide-controls").eq(0).html(j)

1045                     } else {

1046                         var k = b.itemsWrap.replace("{innerHTML}", b.itemsContent) + b.controlsWrap.replace("{innerHTML}", b.controlsContent),

1047                             m = k.process(a);

1048                         e.html(m)

1049                     }

1050                     f = e.find(".slide-items"), g = e.find(".slide-controls"), h = g.find("span"), l(), n(), c && c(e)

1051                 },

1052                 l = function() {

1053                     h.bind("mouseover", function() {

1054                         var a = h.index(this);

1055                         a != d.defaultIndex && (clearTimeout(j), clearInterval(i), j = setTimeout(function() {

1056                             m(a)

1057                         }, d.delay))

1058                     }).bind("mouseleave", function() {

1059                         clearTimeout(j), clearInterval(i), n()

1060                     }), f.bind("mouseover", function() {

1061                         clearTimeout(j), clearInterval(i)

1062                     }).bind("mouseleave", function() {

1063                         n()

1064                     })

1065                 },

1066                 m = function(b) {

1067                     h.each(function(c) {

1068                         c == b ? a(this).addClass("curr") : a(this).removeClass("curr")

1069                     });

1070                     var c = 0,

1071                         e = 0;

1072                     if (3 == d.slideDirection) {

1073                         var g = f.children(),

1074                             i = g.eq(d.defaultIndex),

1075                             j = g.eq(b);

1076                         i.css({

1077                             zIndex: 0

1078                         }), j.css({

1079                             zIndex: 1

1080                         }), i.fadeOut("fast"), j.fadeIn("slow"), d.defaultIndex = b

1081                     } else 1 == d.slideDirection ? (f.css({

1082                         width: d.slideWidth * d.data.length

1083                     }), c = -d.slideWidth * b) : e = -d.slideHeight * b, f.animate({

1084                         top: e + "px",

1085                         left: c + "px"

1086                     }, d.speed, function() {

1087                         d.defaultIndex = b

1088                     })

1089                 },

1090                 n = function() {

1091                     d.auto && (i = setInterval(function() {

1092                         var a = d.defaultIndex;

1093                         a++, a == d.data.length && (a = 0), m(a)

1094                     }, d.stay))

1095                 };

1096             k()

1097         }

1098     }

1099 }(jQuery), jQuery.fn.pagination = function(a, b) {

1100         return b = jQuery.extend({

1101             items_per_page: 10,

1102             num_display_entries: 10,

1103             current_page: 0,

1104             num_edge_entries: 0,

1105             link_to: "#",

1106             prev_text: "Prev",

1107             next_text: "Next",

1108             ellipse_text: "...",

1109             prev_show_always: !0,

1110             next_show_always: !0,

1111             callback: function() {

1112                 return !1

1113             }

1114         }, b || {}), this.each(function() {

1115             function c() {

1116                 return Math.ceil(a / b.items_per_page)

1117             }

1118 

1119             function d() {

1120                 var a = Math.ceil(b.num_display_entries / 2),

1121                     d = c(),

1122                     e = d - b.num_display_entries,

1123                     f = g > a ? Math.max(Math.min(g - a, e), 0) : 0,

1124                     h = g > a ? Math.min(g + a, d) : Math.min(b.num_display_entries, d);

1125                 return [f, h]

1126             }

1127 

1128             function e(a, c) {

1129                 g = a, f();

1130                 var d = b.callback(a, h);

1131                 return d || (c.stopPropagation ? c.stopPropagation() : c.cancelBubble = !0), d

1132             }

1133 

1134             function f() {

1135                 h.empty();

1136                 var a = d(),

1137                     f = c();

1138                 1 == f && $(".Pagination").css({

1139                     display: "none"

1140                 });

1141                 var i = function(a) {

1142                         return function(b) {

1143                             return e(a, b)

1144                         }

1145                     },

1146                     j = function(a, c) {

1147                         if (a = 0 > a ? 0 : f > a ? a : f - 1, c = jQuery.extend({

1148                             text: a + 1,

1149                             classes: ""

1150                         }, c || {}), a == g) var d = $("<a href='javascript:void(0)' class='current'>" + c.text + "</a>");

1151                         else var d = $("<a>" + c.text + "</a>").bind("click", i(a)).attr("href", b.link_to.replace(/__id__/, a));

1152                         c.classes && d.addClass(c.classes), h.append(d)

1153                     };

1154                 if (b.prev_text && (g > 0 || b.prev_show_always) && j(g - 1, {

1155                     text: b.prev_text,

1156                     classes: "prev"

1157                 }), a[0] > 0 && b.num_edge_entries > 0) {

1158                     for (var k = Math.min(b.num_edge_entries, a[0]), l = 0; k > l; l++) j(l);

1159                     b.num_edge_entries < a[0] && b.ellipse_text && jQuery("<span>" + b.ellipse_text + "</span>").appendTo(h)

1160                 }

1161                 for (var l = a[0]; l < a[1]; l++) j(l);

1162                 if (a[1] < f && b.num_edge_entries > 0) {

1163                     f - b.num_edge_entries > a[1] && b.ellipse_text && jQuery("<span>" + b.ellipse_text + "</span>").appendTo(h);

1164                     for (var m = Math.max(f - b.num_edge_entries, a[1]), l = m; f > l; l++) j(l)

1165                 }

1166                 b.next_text && (f - 1 > g || b.next_show_always) && j(g + 1, {

1167                     text: b.next_text,

1168                     classes: "next"

1169                 })

1170             }

1171             var g = b.current_page;

1172             a = !a || 0 > a ? 1 : a, b.items_per_page = !b.items_per_page || b.items_per_page < 0 ? 1 : b.items_per_page;

1173             var h = jQuery(this);

1174             this.selectPage = function(a) {

1175                 e(a)

1176             }, this.prevPage = function() {

1177                 return g > 0 ? (e(g - 1), !0) : !1

1178             }, this.nextPage = function() {

1179                 return g < c() - 1 ? (e(g + 1), !0) : !1

1180             }, f()

1181         })

1182     },

1183     function(a) {

1184         a.extend(a.browser, {

1185             client: function() {

1186                 return {

1187                     width: document.documentElement.clientWidth,

1188                     height: document.documentElement.clientHeight,

1189                     bodyWidth: document.body.clientWidth,

1190                     bodyHeight: document.body.clientHeight

1191                 }

1192             },

1193             scroll: function() {

1194                 var a = document.documentElement.scrollTop,

1195                     b = document.body.scrollTop,

1196                     c = document.documentElement.scrollLeft,

1197                     d = document.body.scrollLeft,

1198                     e = a ? a : b,

1199                     f = c ? c : d;

1200                 return {

1201                     width: document.documentElement.scrollWidth,

1202                     height: document.documentElement.scrollHeight,

1203                     bodyWidth: document.body.scrollWidth,

1204                     bodyHeight: document.body.scrollHeight,

1205                     left: f,

1206                     top: e

1207                 }

1208             },

1209             screen: function() {

1210                 return {

1211                     width: window.screen.width,

1212                     height: window.screen.height

1213                 }

1214             },

1215             isIE6: a.browser.msie && 6 == a.browser.version,

1216             isMinW: function(b) {

1217                 return Math.min(a.browser.client().bodyWidth, a.browser.client().width) <= b

1218             },

1219             isMinH: function(b) {

1220                 return a.browser.client().height <= b

1221             }

1222         })

1223     }(jQuery),

1224     function(a) {

1225         a.fn.jdPosition = function(b) {

1226             var c = a.extend({

1227                 mode: null

1228             }, b || {});

1229             switch (c.mode) {

1230                 default:

1231                     case "center":

1232                     var d = a(this).outerWidth(),

1233                     e = a(this).outerHeight(),

1234                     f = (a.browser.isMinW(d), a.browser.isMinH(e));

1235                 a(this).css({

1236                     left: a.browser.scroll().left + Math.max((a.browser.client().width - d) / 2, 0) + "px",

1237                     top: a.browser.isIE6 ? a.browser.scroll().top <= a.browser.client().bodyHeight - e ? a.browser.scroll().top + Math.max((a.browser.client().height - e) / 2, 0) + "px" : (a.browser.client().height - e) / 2 + "px" : f ? a.browser.scroll().top : a.browser.scroll().top + Math.max((a.browser.client().height - e) / 2, 0) + "px"

1238                 });

1239                 break;

1240                 case "auto":

1241                     break;

1242                 case "fixed":

1243             }

1244         }

1245     }(jQuery),

1246     function(a) {

1247         a.fn.jdThickBox = function(b, c) {

1248             "function" == typeof b && (c = b, b = {});

1249             var d, e = a.extend({

1250                     type: "text",

1251                     source: null,

1252                     width: null,

1253                     height: null,

1254                     title: null,

1255                     _frame: "",

1256                     _div: "",

1257                     _box: "",

1258                     _con: "",

1259                     _loading: "thickloading",

1260                     close: !1,

1261                     _close: "",

1262                     _fastClose: !1,

1263                     _close_val: "\xd7",

1264                     _titleOn: !0,

1265                     _title: "",

1266                     _autoReposi: !1,

1267                     _countdown: !1,

1268                     _thickPadding: 10,

1269                     _wrapBorder: 1

1270                 }, b || {}),

1271                 f = "function" != typeof this ? a(this) : null,

1272                 g = function() {

1273                     clearInterval(d), a(".thickframe").add(".thickdiv").remove(), a(".thickbox").empty().remove(), e._autoReposi && a(window).unbind("resize.jdThickBox").unbind("scroll.jdThickBox")

1274                 };

1275             if (e.close) return g(), !1;

1276             var h = function(a) {

1277                     return "" != a ? a.match(/\w+/) : ""

1278                 },

1279                 i = function(b) {

1280                     0 == a(".thickframe").length || 0 == a(".thickdiv").length ? (a("<iframe class='thickframe' id='" + h(e._frame) + "' marginwidth='0' marginheight='0' frameborder='0' scrolling='no'></iframe>").appendTo(a(document.body)), a("<div class='thickdiv' id='" + h(e._div) + "'></div>").appendTo(a(document.body))) : a(".thickframe").add(".thickdiv").show(), a("<div class='thickbox' id='" + h(e._box) + "'><div class='thickwrap'></div></div>").appendTo(a(document.body)), a(".thickwrap") && (a(".thickwrap").css("width", e.width + 2 * e._thickPadding), e._wrapBorder = 1), e._titleOn && k(b), a("<div class='thickcon' id='" + h(e._con) + "' style='width:" + e.width + "px;height:" + e.height + "px;'></div>").appendTo(a(".thickwrap")), e._countdown && j(), a(".thickcon").addClass(e._loading), n(), l(), m(b), e._autoReposi && a(window).bind("resize.jdThickBox", n).bind("scroll.jdThickBox", n), e._fastClose && a(document.body).bind("click.jdThickBox", function(b) {

1281                         b = b ? b : window.event;

1282                         var c = b.srcElement ? b.srcElement : b.target;

1283                         "thickdiv" == c.className && (a(this).unbind("click.jdThickBox"), g())

1284                     })

1285                 },

1286                 j = function() {

1287                     var b = e._countdown;

1288                     a("<div class='thickcountdown' style='width:" + e.width + "'><span id='jd-countdown'>" + b + "</span>\u79d2\u540e\u81ea\u52a8\u5173\u95ed</div>").appendTo(a(".thickwrap")), d = setInterval(function() {

1289                         b--, a("#jd-countdown").html(b), 0 == b && (b = e._countdown, g())

1290                     }, 1e3)

1291                 },

1292                 k = function(b) {

1293                     e.title = null == e.title && b ? b.attr("title") : e.title, a("<div class='thicktitle' id='" + h(e._title) + "' style='width:" + e.width + "'><span>" + e.title + "</span></div>").appendTo(a(".thickwrap"))

1294                 },

1295                 l = function() {

1296                     null != e._close && (a("<a href='#' class='thickclose' id='" + h(e._close) + "'>" + e._close_val + "</a>").appendTo(a(".thickwrap")), a(".thickclose").one("click", function() {

1297                         return g(), !1

1298                     }))

1299                 },

1300                 m = function(b) {

1301                     switch (e.source = null == e.source ? b.attr("href") : e.source, e.type) {

1302                         default:

1303                             case "text":

1304                             a(".thickcon").html(e.source),

1305                         a(".thickcon").removeClass(e._loading),

1306                         c && c();

1307                         break;

1308                         case "html":

1309                             a(e.source).clone().appendTo(a(".thickcon")).show(), a(".thickcon").removeClass(e._loading), c && c();

1310                             break;

1311                         case "image":

1312                             e._index = null == e._index ? f.index(b) : e._index, a(".thickcon").append("<img src='" + e.source + "' width='" + e.width + "' height='" + e.height + "'>"), e.source = null, a(".thickcon").removeClass(e._loading), c && c();

1313                             break;

1314                         case "ajax":

1315                         case "json":

1316                             c && c(e.source, a(".thickcon"), function() {

1317                                 a(".thickcon").removeClass(e._loading)

1318                             });

1319                             break;

1320                         case "iframe":

1321                             a("<iframe src='" + e.source + "' marginwidth='0' marginheight='0' frameborder='0' scrolling='no' style='width:" + e.width + "px;height:" + e.height + "px;border:0;'></iframe>").appendTo(a(".thickcon")), a(".thickcon").removeClass(e._loading), c && c()

1322                     }

1323                 },

1324                 n = function() {

1325                     var b = 2 * e._thickPadding + parseInt(e.width);

1326                     if (a(".thickcon").css({

1327                         width: e.width,

1328                         height: e.height,

1329                         paddingLeft: e._thickPadding,

1330                         paddingRight: e._thickPadding

1331                     }), setTimeout(function() {

1332                         a(".thickbox").css({

1333                             width: b + 2 * e._wrapBorder,

1334                             height: parseInt(e._titleOn ? a(".thicktitle").outerHeight() : 0) + parseInt(a(".thickcon").outerHeight()) + 2 * e._wrapBorder

1335                         })

1336                     }, 100), a(".thickbox").jdPosition({

1337                         mode: "center"

1338                     }), a.browser.isIE6) {

1339                         var c = a(".thickbox").outerWidth(),

1340                             d = a(".thickbox").outerHeight(),

1341                             f = a.browser.isMinW(c);

1342                         a.browser.isMinH(d), a(".thickframe").add(".thickdiv").css({

1343                             width: f ? c : "100%",

1344                             height: Math.max(a.browser.client().height, a.browser.client().bodyHeight) + "px"

1345                         })

1346                     }

1347                 };

1348             null != f ? f.click(function() {

1349                 return i(a(this)), !1

1350             }) : i()

1351         }, a.jdThickBox = a.fn.jdThickBox

1352     }(jQuery),

1353     function(a) {

1354         a.fn.jdMarquee = function(b, c) {

1355             "function" == typeof b && (c = b, b = {});

1356             var d, e = a.extend({

1357                     deriction: "up",

1358                     speed: 10,

1359                     auto: !1,

1360                     width: null,

1361                     height: null,

1362                     step: 1,

1363                     control: !1,

1364                     _front: null,

1365                     _back: null,

1366                     _stop: null,

1367                     _continue: null,

1368                     wrapstyle: "",

1369                     stay: 5e3,

1370                     delay: 20,

1371                     dom: "div>ul>li".split(">"),

1372                     mainTimer: null,

1373                     subTimer: null,

1374                     tag: !1,

1375                     convert: !1,

1376                     btn: null,

1377                     disabled: "disabled",

1378                     pos: {

1379                         ojbect: null,

1380                         clone: null

1381                     }

1382                 }, b || {}),

1383                 f = this.find(e.dom[1]),

1384                 g = this.find(e.dom[2]);

1385             if ("up" == e.deriction || "down" == e.deriction) {

1386                 var h = f.eq(0).outerHeight(),

1387                     i = e.step * g.eq(0).outerHeight();

1388                 f.css({

1389                     width: e.width + "px",

1390                     overflow: "hidden"

1391                 })

1392             }

1393             if ("left" == e.deriction || "right" == e.deriction) {

1394                 var j = g.length * g.eq(0).outerWidth();

1395                 f.css({

1396                     width: j + "px",

1397                     overflow: "hidden"

1398                 });

1399                 var i = e.step * g.eq(0).outerWidth()

1400             }

1401             var k = function() {

1402                     var a = "<div style='position:relative;overflow:hidden;z-index:1;width:" + e.width + "px;height:" + e.height + "px;" + e.wrapstyle + "'></div>";

1403                     switch (f.css({

1404                         position: "absolute",

1405                         left: 0,

1406                         top: 0

1407                     }).wrap(a), e.pos.object = 0, d = f.clone(), f.after(d), e.deriction) {

1408                         default:

1409                             case "up":

1410                             f.css({

1411                             marginLeft: 0,

1412                             marginTop: 0

1413                         }),

1414                         d.css({

1415                             marginLeft: 0,

1416                             marginTop: h + "px"

1417                         }),

1418                         e.pos.clone = h;

1419                         break;

1420                         case "down":

1421                             f.css({

1422                                 marginLeft: 0,

1423                                 marginTop: 0

1424                             }), d.css({

1425                                 marginLeft: 0,

1426                                 marginTop: -h + "px"

1427                             }), e.pos.clone = -h;

1428                             break;

1429                         case "left":

1430                             f.css({

1431                                 marginTop: 0,

1432                                 marginLeft: 0

1433                             }), d.css({

1434                                 marginTop: 0,

1435                                 marginLeft: j + "px"

1436                             }), e.pos.clone = j;

1437                             break;

1438                         case "right":

1439                             f.css({

1440                                 marginTop: 0,

1441                                 marginLeft: 0

1442                             }), d.css({

1443                                 marginTop: 0,

1444                                 marginLeft: -j + "px"

1445                             }), e.pos.clone = -j

1446                     }

1447                     e.auto && (l(), f.hover(function() {

1448                         n(e.mainTimer)

1449                     }, function() {

1450                         l()

1451                     }), d.hover(function() {

1452                         n(e.mainTimer)

1453                     }, function() {

1454                         l()

1455                     })), c && c(), e.control && p()

1456                 },

1457                 l = function(a) {

1458                     n(e.mainTimer), e.stay = a ? a : e.stay, e.mainTimer = setInterval(function() {

1459                         m()

1460                     }, e.stay)

1461                 },

1462                 m = function() {

1463                     n(e.subTimer), e.subTimer = setInterval(function() {

1464                         s()

1465                     }, e.delay)

1466                 },

1467                 n = function(a) {

1468                     null != a && clearInterval(a)

1469                 },

1470                 o = function(b) {

1471                     b ? (a(e._front).unbind("click"), a(e._back).unbind("click"), a(e._stop).unbind("click"), a(e._continue).unbind("click")) : p()

1472                 },

1473                 p = function() {

1474                     null != e._front && a(e._front).click(function() {

1475                         a(e._front).addClass(e.disabled), o(!0), n(e.mainTimer), e.convert = !0, e.btn = "front", m(), e.auto || (e.tag = !0), q()

1476                     }), null != e._back && a(e._back).click(function() {

1477                         a(e._back).addClass(e.disabled), o(!0), n(e.mainTimer), e.convert = !0, e.btn = "back", m(), e.auto || (e.tag = !0), q()

1478                     }), null != e._stop && a(e._stop).click(function() {

1479                         n(e.mainTimer)

1480                     }), null != e._continue && a(e._continue).click(function() {

1481                         l()

1482                     })

1483                 },

1484                 q = function() {

1485                     e.tag && e.convert && (e.convert = !1, "front" == e.btn && ("down" == e.deriction && (e.deriction = "up"), "right" == e.deriction && (e.deriction = "left")), "back" == e.btn && ("up" == e.deriction && (e.deriction = "down"), "left" == e.deriction && (e.deriction = "right")), e.auto ? l() : l(4 * e.delay))

1486                 },

1487                 r = function(a, b, c) {

1488                     c ? (n(e.subTimer), e.pos.object = a, e.pos.clone = b, e.tag = !0) : e.tag = !1, e.tag && (e.convert ? q() : e.auto || n(e.mainTimer)), ("up" == e.deriction || "down" == e.deriction) && (f.css({

1489                         marginTop: a + "px"

1490                     }), d.css({

1491                         marginTop: b + "px"

1492                     })), ("left" == e.deriction || "right" == e.deriction) && (f.css({

1493                         marginLeft: a + "px"

1494                     }), d.css({

1495                         marginLeft: b + "px"

1496                     }))

1497                 },

1498                 s = function() {

1499                     var b = "up" == e.deriction || "down" == e.deriction ? parseInt(f.get(0).style.marginTop) : parseInt(f.get(0).style.marginLeft),

1500                         c = "up" == e.deriction || "down" == e.deriction ? parseInt(d.get(0).style.marginTop) : parseInt(d.get(0).style.marginLeft),

1501                         g = Math.max(Math.abs(b - e.pos.object), Math.abs(c - e.pos.clone)),

1502                         k = Math.ceil((i - g) / e.speed);

1503                     switch (e.deriction) {

1504                         case "up":

1505                             g == i ? (r(b, c, !0), a(e._front).removeClass(e.disabled), o(!1)) : (-h >= b && (b = c + h, e.pos.object = b), -h >= c && (c = b + h, e.pos.clone = c), r(b - k, c - k));

1506                             break;

1507                         case "down":

1508                             g == i ? (r(b, c, !0), a(e._back).removeClass(e.disabled), o(!1)) : (b >= h && (b = c - h, e.pos.object = b), c >= h && (c = b - h, e.pos.clone = c), r(b + k, c + k));

1509                             break;

1510                         case "left":

1511                             g == i ? (r(b, c, !0), a(e._front).removeClass(e.disabled), o(!1)) : (-j >= b && (b = c + j, e.pos.object = b), -j >= c && (c = b + j, e.pos.clone = c), r(b - k, c - k));

1512                             break;

1513                         case "right":

1514                             g == i ? (r(b, c, !0), a(e._back).removeClass(e.disabled), o(!1)) : (b >= j && (b = c - j, e.pos.object = b), c >= j && (c = b - j, e.pos.clone = c), r(b + k, c + k))

1515                     }

1516                 };

1517             ("up" == e.deriction || "down" == e.deriction) && h >= e.height && h >= e.step && k(), ("left" == e.deriction || "right" == e.deriction) && j >= e.width && j >= e.step && k()

1518         }

1519     }(jQuery), $.login = function(a) {

1520         a = $.extend({

1521             loginService: "http://passport." + pageConfig.FN_getDomain() + "/loginservice.aspx?callback=?",

1522             loginMethod: "Login",

1523             loginUrl: "https://passport." + pageConfig.FN_getDomain() + "/new/login.aspx",

1524             returnUrl: location.href,

1525             automatic: !0,

1526             complete: null,

1527             modal: !1

1528         }, a || {}), "" != a.loginService && "" != a.loginMethod && $.getJSON(a.loginService, {

1529             method: a.loginMethod

1530         }, function(b) {

1531             null != b && (null != a.complete && a.complete(b.Identity), !b.Identity.IsAuthenticated && a.automatic && "" != a.loginUrl && (a.modal ? jdModelCallCenter.login() : location.href = a.loginUrl + "?ReturnUrl=" + escape(a.returnUrl)))

1532         })

1533     },

1534     function(a) {

1535         a.jdCalcul = function(b) {

1536             var c = null,

1537                 b = b.join(","),

1538                 d = "http://qiang.jd.com/HomePageNewLimitBuy.ashx?callback=?&ids=" + b,

1539                 e = "http://item.jd.com/",

1540                 f = function(b) {

1541                     var c = a.extend({

1542                         contentid: "#limit",

1543                         clockid: "#clock",

1544                         rankid: "#rank",

1545                         limitid: "#limitbuy"

1546                     }, b || {});

1547                     if (!(b == {} || "" == b || null == c.start || "" == c.start || null == c.end || "" == c.end || c.pros.length < 1)) {

1548                         c.start = g(c.start), c.start = a.browser.mozzia ? Date.parse(c.start) : c.start, c.server = g(c.server), c.server = a.browser.mozzia ? Date.parse(c.server) : c.server, c.end = g(c.end), c.end = a.browser.mozzia ? Date.parse(c.end) : c.end, c.contentid = a(c.contentid + c.qid), c.clockid = a(c.clockid + c.qid), c.rankid = a(c.rankid + c.qid), c.limitid = a(c.limitid + c.qid);

1549                         var d, f, h, i, j = (c.start - c.server) / 1e3,

1550                             k = (c.end - c.server) / 1e3,

1551                             l = function() {

1552                                 var b = '<li><div class="p-img"><a href="{6}{0}.html" target="_blank"><img src="{1}" width="100" height="100" /></a>{2}</div><div class="p-name"><a href="{6}{0}.html" target="_blank">{3}</a></div><div class="p-price">\u62a2\u8d2d\u4ef7\uff1a<strong>{4}</strong>{5}</div></li>',

1553                                     d = "<ul>";

1554                                 a.each(c.pros, function(a) {

1555                                     var f = c.pros[a].id,

1556                                         g = c.pros[a].tp,

1557                                         h = "<div class='pi9'></div>",

1558                                         i = unescape(c.pros[a].mc),

1559                                         j = c.pros[a].qg,

1560                                         k = "(" + c.pros[a].zk + "\u6298)";

1561                                     d += b.replace(/\{0\}/g, f).replace("{1}", g).replace("{2}", h).replace("{3}", i).replace("{4}", j).replace("{5}", k).replace(/\{6\}/g, e)

1562                                 }), d += "</ul>", c.contentid.html(d)

1563                             },

1564                             m = function() {

1565                                 j > 0 || (k > 0 ? (d = Math.floor(k / 3600), f = Math.floor((k - 3600 * d) / 60), h = (k - 3600 * d) % 60, c.clockid.html("\u5269\u4f59<b>" + d + "</b>\u5c0f\u65f6<b>" + f + "</b>\u5206<b>" + h + "</b>\u79d2"), k--) : (c.clockid.html("\u62a2\u8d2d\u7ed3\u675f"), clearInterval(i), c.limitid.hide(), c.rankid.length > 0 && c.rankid.show()))

1566                             };

1567                         0 >= j && k > 0 && (l(), c.rankid.length > 0 && c.rankid.hide(), c.limitid.show()), m(), i = setInterval(function() {

1568                             m()

1569                         }, 1e3)

1570                     }

1571                 },

1572                 g = function(a) {

1573                     var b = a.split(" "),

1574                         c = b[0].split("-"),

1575                         d = b[1].split(":");

1576                     return new Date(c[0], c[1] - 1, c[2], d[0], d[1], d[2])

1577                 };

1578             a.ajax({

1579                 url: d,

1580                 dataType: "jsonp",

1581                 success: function(b) {

1582                     b && (c = b.data, a.each(c, function(a) {

1583                         f(c[a])

1584                     }))

1585                 }

1586             })

1587         }

1588     }(jQuery);

1589 var jdRecent = {

1590     element: $("#recent ul"),

1591     jsurl: "http://www.jd.com/lishiset.aspx?callback=jdRecent.setData&id=",

1592     cookiename: "_recent",

1593     list: $.cookie("_recent"),

1594     url: location.href,

1595     init: function() {

1596         var a = this.url.match(/\/(\d{6}).html/),

1597             b = null != a && -1 != a[0].indexOf("html") ? a[1] : "";

1598         if (this.list && null != this.list && "" != this.list) "" == b || -1 != this.list.indexOf(b) ? this.list = this.list : (this.list.split(".").length >= 10 && (this.list = this.list.replace(/.\d+$/, "")), this.list = b + "." + this.list);

1599         else {

1600             if ("" == b) return this.getData(0);

1601             this.list = b

1602         }

1603         $.cookie(this.cookiename, this.list, {

1604             expires: 7,

1605             path: "/",

1606             domain: "jd.com",

1607             secure: !1

1608         }), this.getData(this.list)

1609     },

1610     clear: function() {

1611         $.cookie(this.cookiename, "", {

1612             expires: 7,

1613             path: "/",

1614             domain: "jd.com",

1615             secure: !1

1616         })

1617     },

1618     getData: function(a) {

1619         if (0 == a) return this.element.html("<li><div class='norecode'>\u6682\u65e0\u8bb0\u5f55!</div></li>"), void 0;

1620         var b = a.split(".");

1621         for (i in b) 0 == i && this.element.empty(), $.getJSONP(this.jsurl + b[i], this.setData)

1622     },

1623     setData: function(a) {

1624         this.element.append("<li><div class='p-img'><a href='" + a.url + "'><img src='" + a.img + "' /></a></div><div class='p-name'><a href='" + a.url + "'>" + decodeURIComponent(a.name) + "</a></div></li>")

1625     }

1626 };

1627 $("#clearRec").click(function() {

1628     jdRecent.clear(), jdRecent.getData(0)

1629 }), mlazyload({

1630     defObj: "#recent",

1631     defHeight: 50,

1632     fn: function() {

1633         1 == jdRecent.element.length && jdRecent.init()

1634     }

1635 });

1636 var jdModelCallCenter = {

1637     settings: {

1638         clstag1: 0,

1639         clstag2: 0

1640     },

1641     tbClose: function() {

1642         0 != $(".thickbox").length && jdThickBoxclose()

1643     },

1644     login: function() {

1645         this.tbClose();

1646         var a = this,

1647             b = navigator.userAgent.toLowerCase(),

1648             c = "ucweb" == b.match(/ucweb/i) || "rv:1.2.3.4" == b.match(/rv:1.2.3.4/i);

1649         return c ? (location.href = "https://passport." + pageConfig.FN_getDomain() + "/new/login.aspx?ReturnUrl=" + escape(location.href), void 0) : (setTimeout(function() {

1650             $.jdThickBox({

1651                 type: "iframe",

1652                 title: "\u60a8\u5c1a\u672a\u767b\u5f55",

1653                 source: "http://passport.jd.com/uc/popupLogin2013?clstag1=" + a.settings.clstag1 + "&clstag2=" + a.settings.clstag2 + "&r=" + Math.random(),

1654                 width: 390,

1655                 height: 450,

1656                 _title: "thicktitler",

1657                 _close: "thickcloser",

1658                 _con: "thickconr"

1659             })

1660         }, 20), void 0)

1661     },

1662     regist: function() {

1663         var a = this;

1664         this.tbClose(), setTimeout(function() {

1665             $.jdThickBox({

1666                 type: "iframe",

1667                 title: "\u60a8\u5c1a\u672a\u767b\u5f55",

1668                 source: "http://reg.jd.com/reg/popupPerson?clstag1=" + a.settings.clstag1 + "&clstag2=" + a.settings.clstag2 + "&r=" + Math.random(),

1669                 width: 390,

1670                 height: 450,

1671                 _title: "thicktitler",

1672                 _close: "thickcloser",

1673                 _con: "thickconr"

1674             })

1675         }, 20)

1676     },

1677     init: function() {

1678         var a = this;

1679         $.ajax({

1680             url: ("https:" == document.location.protocol ? "https://" : "http://") + "passport." + pageConfig.FN_getDomain() + "/new/helloService.ashx?m=ls&sso=0",

1681             dataType: "jsonp",

1682             success: function(b) {

1683                 a.tbClose(), b && b.info && $("#loginbar").html(b.info), a.settings.fn()

1684             }

1685         })

1686     }

1687 };

1688 $.extend(jdModelCallCenter, {

1689     autoLocation: function(a) {

1690         $.login({

1691             modal: !0,

1692             complete: function(b) {

1693                 null != b && null != b.IsAuthenticated && b.IsAuthenticated && (window.location = a)

1694             }

1695         })

1696     }

1697 }), $.extend(jdModelCallCenter, {

1698     doAttention: function(a) {

1699         var b = "http://t.jd.com/product/followProduct.action?productId=" + a;

1700         $.login({

1701             modal: !0,

1702             complete: function(c) {

1703                 if (null != c && null != c.IsAuthenticated && c.IsAuthenticated) {

1704                     var d = 510,

1705                         e = 440;

1706                     $.jdThickBox({

1707                         type: "iframe",

1708                         source: b + "&t=" + Math.random(),

1709                         width: d,

1710                         height: e,

1711                         title: "\u63d0\u793a",

1712                         _box: "attboxr",

1713                         _con: "attconr",

1714                         _countdown: !1

1715                     }, function() {

1716                         var b = window._mvq = window._mvq || [];

1717                         b.push(["$setGeneral", "concern", "", "", ""]), b.push(["$addItem", "", a, "", "", ""]), b.push(["$logData"])

1718                     })

1719                 }

1720             }

1721         })

1722     }

1723 }), $(".btn-coll").livequery("click", function() {

1724     var a = $(this),

1725         b = parseInt(a.attr("id").replace("coll", ""));

1726     $.extend(jdModelCallCenter.settings, {

1727         clstag1: "login|keycount|5|3",

1728         clstag2: "login|keycount|5|4",

1729         id: b,

1730         fn: function() {

1731             jdModelCallCenter.doAttention(this.id)

1732         }

1733     }), jdModelCallCenter.settings.fn()

1734 }), "undefined" != typeof pageConfig && (pageConfig.isHome = function() {

1735     return pageConfig.navId && "home" == pageConfig.navId && location.href.indexOf("www.jd.com") >= 0

1736 }()), $.bigiframe = function(a, b, c) {

1737     if (a && $.browser.msie && 6 == $.browser.version) {

1738         if ("undefined" == typeof b) var b = a.outerWidth();

1739         if ("undefined" == typeof c) var c = a.outerHeight();

1740         var d = '<iframe src="javascript:false;" frameBorder="0" style="width:' + b + "px;height:" + c + 'px;position:absolute;z-index:-1;opacity:0;filter:alpha(opacity=0);top:0;left:0;" id="bigiframe">';

1741         a.append(d), a.bind("mouseenter", function() {

1742             a.find("#bigiframe").show()

1743         }).bind("mouseleave", function() {

1744             a.find("#bigiframe").hide()

1745         })

1746     }

1747 };

1748 var category = {

1749         OBJ: $("#_JD_ALLSORT"),

1750         URL_Serv: "http://d.360buy.com/configs/get?type=JSON",

1751         URL_BrandsServ: "http://d.360buy.com/brandVclist/get?callback=category.getBrandService&ids=a,915,925^b,916,926^c,917,927^d,918,928^e,919,929^f,920,930^g,921,931^h,922,932^i,923,933^j,924,934^k,2096,2097^l,3512,3513^m,5274,5275^p,6211,6212",

1752         FN_GetLink: function(a, b) {

1753             var c, d;

1754             switch (a) {

1755                 case 1:

1756                     c = b.u, d = b.n;

1757                     break;

1758                 case 2:

1759                     c = b.split("|")[0], d = b.split("|")[1]

1760             }

1761             return "" == c ? d : (/^http[s]?:\/\/([\w-]+\.)+[\w-]+([\w-.\/?%&=]*)?$/.test(c) || (c = c.replace(/-000$/, ""), c = c.match(/^\d*-\d*$/) ? "http://channel.jd.com/" + c + ".html" : "http://list.jd.com/" + c + ".html"), '<a href="' + c + '">' + d + "</a>")

1762         },

1763         FN_SetLink: function(a) {

1764             var b = "",

1765                 c = pageConfig.isHome ? 'clstag="homepage|keycount|home2013|0604e"' : "",

1766                 d = pageConfig.isHome ? 'clstag="homepage|keycount|home2013|0603e"' : "",

1767                 e = pageConfig.isHome ? 'clstag="homepage|keycount|home2013|0605e"' : "";

1768             switch (a) {

1769                 case "c":

1770                     b = '<div class="categorys-links" id="categorys-links-diy" ' + c + '><a href="http://diy.jd.com/" target="_blank">DIY\u88c5\u673a\u5927\u5e08</a></div>';

1771                     break;

1772                 case "b":

1773                     b = '<div class="categorys-links" id="categorys-links-cellphone" ' + d + '><a href="http://sale.jd.com/act/UaSsnjAKQNeyiY.html" target="_blank">JDPhone\u8ba1\u5212</a></div>';

1774                     break;

1775                 case "d":

1776                     b = '<div class="categorys-links" id="categorys-links-jzc" ' + e + '><a href="http://channel.jd.com/jiazhuang.html" target="_blank">\u5bb6\u88c5\u57ce</a></div>'

1777             }

1778             return b

1779         },

1780         DATA_Simple: {

1781             1: [{

1782                 l: "http://book.jd.com/",

1783                 n: "\u56fe\u4e66"

1784             }, {

1785                 l: "http://mvd.jd.com/",

1786                 n: "\u97f3\u50cf"

1787             }, {

1788                 l: "http://e.jd.com/",

1789                 n: "\u6570\u5b57\u5546\u54c1"

1790             }],

1791             2: [{

1792                 l: "http://channel.jd.com/electronic.html",

1793                 n: "\u5bb6\u7528\u7535\u5668"

1794             }],

1795             3: [{

1796                 l: "http://shouji.jd.com/",

1797                 n: "\u624b\u673a"

1798             }, {

1799                 l: "http://channel.jd.com/digital.html",

1800                 n: "\u6570\u7801"

1801             }, {

1802                 l: "http://mobile.jd.com/index.do",

1803                 n: "\u4eac\u4e1c\u901a\u4fe1"

1804             }],

1805             4: [{

1806                 l: "http://channel.jd.com/computer.html",

1807                 n: "\u7535\u8111\u3001\u529e\u516c"

1808             }],

1809             5: [{

1810                 l: "http://channel.jd.com/home.html",

1811                 n: "\u5bb6\u5c45"

1812             }, {

1813                 l: "http://channel.jd.com/furniture.html",

1814                 n: "\u5bb6\u5177"

1815             }, {

1816                 l: "http://channel.jd.com/decoration.html",

1817                 n: "\u5bb6\u88c5"

1818             }, {

1819                 l: "http://channel.jd.com/kitchenware.html",

1820                 n: "\u53a8\u5177"

1821             }],

1822             6: [{

1823                 l: "http://channel.jd.com/clothing.html",

1824                 n: "\u670d\u9970\u5185\u8863"

1825             }, {

1826                 l: "http://channel.jd.com/jewellery.html",

1827                 n: "\u73e0\u5b9d\u9996\u9970"

1828             }],

1829             7: [{

1830                 l: "http://channel.jd.com/beauty.html",

1831                 n: "\u4e2a\u62a4\u5316\u5986"

1832             }],

1833             8: [{

1834                 l: "http://channel.jd.com/shoes.html",

1835                 n: "\u978b\u9774"

1836             }, {

1837                 l: "http://channel.jd.com/bag.html",

1838                 n: "\u7bb1\u5305"

1839             }, {

1840                 l: "http://channel.jd.com/watch.html",

1841                 n: "\u949f\u8868"

1842             }, {

1843                 l: "http://channel.jd.com/1672-2615.html",

1844                 n: "\u5962\u4f88\u54c1"

1845             }],

1846             9: [{

1847                 l: "http://channel.jd.com/sports.html",

1848                 n: "\u8fd0\u52a8\u6237\u5916"

1849             }],

1850             10: [{

1851                 l: "http://channel.jd.com/auto.html",

1852                 n: "\u6c7d\u8f66\u7528\u54c1"

1853             }],

1854             11: [{

1855                 l: "http://channel.jd.com/baby.html",

1856                 n: "\u6bcd\u5a74"

1857             }, {

1858                 l: "http://channel.jd.com/toys.html",

1859                 n: "\u73a9\u5177\u4e50\u5668"

1860             }],

1861             12: [{

1862                 l: "http://channel.jd.com/food.html",

1863                 n: "\u98df\u54c1\u996e\u6599"

1864             }, {

1865                 l: "http://channel.jd.com/wine.html",

1866                 n: "\u9152\u7c7b"

1867             }, {

1868                 l: "http://channel.jd.com/freshfood.html",

1869                 n: "\u751f\u9c9c"

1870             }],

1871             13: [{

1872                 l: "http://channel.jd.com/health.html",

1873                 n: "\u8425\u517b\u4fdd\u5065"

1874             }],

1875             14: [{

1876                 l: "http://caipiao.jd.com/",

1877                 n: "\u5f69\u7968"

1878             }, {

1879                 l: "http://trip.jd.com/",

1880                 n: "\u65c5\u884c"

1881             }, {

1882                 l: "http://chongzhi.jd.com/",

1883                 n: "\u5145\u503c"

1884             }, {

1885                 l: "http://piao.jd.com/",

1886                 n: "\u7968\u52a1"

1887             }]

1888         },

1889         TPL_Simple: '{for item in data}<div class="item fore${parseInt(item_index)}">    <span data-split="1" {if pageConfig.isHome} clstag="homepage|keycount|home2013|06{if parseInt(item_index)+1>9}${parseInt(item_index)+1}{else}0${parseInt(item_index)+1}{/if}a"{/if}>        <h3>{for sItem in item}{if sItem_index!=0}\u3001{/if}<a href="${sItem.l}">${sItem.n}</a>{/for}</h3>        <s></s>    </span></div>{/for}<div class="extra"><a href="http://www.jd.com/allSort.aspx">\u5168\u90e8\u5546\u54c1\u5206\u7c7b</a></div>',

1890         FN_InitSimple: function() {

1891             var a, b = {},

1892                 c = $("#categorys-2013");

1893             b.data = this.DATA_Simple, c.addClass("categorys-2014"), a = this.TPL_Simple.process(b);

1894             var d = $("#_JD_ALLSORT");

1895             d.html(a), $.bigiframe(d)

1896         },

1897         FN_GetData: function() {

1898             $.getJSONP(this.URL_Serv, category.getDataService)

1899         },

1900         FN_GetBrands: function() {

1901             $.getJSONP(this.URL_BrandsServ, category.getBrandService)

1902         },

1903         FN_RefactorJSON: function(a, b) {

1904             for (var c = a.length / b, d = [], e = 0; c > e; e++) d.push({

1905                 tabs: [],

1906                 increment: null,

1907                 count: b,

1908                 skuids: []

1909             });

1910             for (var f = 0, g = 0; g < a.length; g++) 0 == g % b && f++, d[f - 1].tabs.push(a[g]), d[f - 1].increment = f, d[f - 1].skuids.push(a[g].wid);

1911             return d

1912         },

1913         renderItem: function(a) {

1914             var b = '<div class="item fore${index+1}">    <span data-split="1" {if pageConfig.isHome}clstag="homepage|keycount|home2013|0${601+parseInt(index)}a"{/if}><h3>${n}</h3><s></s></span>    <div class="i-mc">        <div onclick="$(this).parent().parent().removeClass(\'hover\')" class="close">\xd7</div>        <div class="subitem" {if pageConfig.isHome}clstag="homepage|keycount|home2013|0${601+parseInt(index)}b"{/if}>            {for subitem in i}            <dl class="fore${parseInt(subitem_index)+1}">                <dt>${category.FN_GetLink(1,subitem)}</dt>                <dd>{for link in subitem.i}<em>${category.FN_GetLink(2,link)}</em>{/for}</dd>            </dl>            {/for}        </div>        <div class="cat-right-con fr" id="JD_sort_${t}"><div class="loading-style1"><b></b>\u52a0\u8f7d\u4e2d\uff0c\u8bf7\u7a0d\u5019...</div></div>    </div></div>',

1915                 c = '<div class="item item-col2 fore${index+1}">    <span data-split="1" {if pageConfig.isHome}clstag="homepage|keycount|home2013|0${601+parseInt(index)}a"{/if}><h3>${n}</h3><s></s></span>    <div class="i-mc">        <ul class="title-list lh">            <li class="fore1"><a href="http://chongzhi.jd.com/">\u5145\u503c\u7f34\u8d39</a></li>            <li class="fore2"><a href="http://caipiao.jd.com/">\u4eac\u4e1c\u5f69\u7968</a></li>            <li class="fore3"><a href="http://channel.jd.com/4938-12316.html">\u57f9\u8bad\u6559\u80b2</a></li>            <li class="fore4"><a href="http://jipiao.jd.com/ticketquery/flightHotcity.action">\u4f18\u9009\u673a\u7968</a></li>            <li class="fore5"><a href="http://channel.jd.com/4938-12300.html">\u65c5\u884c\u7b7e\u8bc1</a></li>        </ul>        <div onclick="$(this).parent().parent().removeClass(\'hover\')" class="close">\xd7</div>        <div class="subitem" {if pageConfig.isHome}clstag="homepage|keycount|home2013|0${601+parseInt(index)}b"{/if}>            {for item in i}            <div class="sub-item-col sub-item-col${item_index} fl">                {for subitem in item.tabs}                <dl class="fore${parseInt(subitem_index)+1}">                    <dt>${category.FN_GetLink(1,subitem)}</dt>                    <dd>{for link in subitem.i}<em>${category.FN_GetLink(2,link)}</em>{/for}</dd>                </dl>                {/for}            </div>            {/for}        </div>    </div></div>';

1916             return "l" == a.t ? c.process(a) : b.process(a)

1917         },

1918         FN_GetBrands: function() {

1919             $.getJSONP(this.URL_BrandsServ, category.getBrandService)

1920         },

1921         getDataService: function(a) {

1922             var b = [],

1923                 c = this;

1924             $.each(a.data, function(a) {

1925                 this.index = a, "l" == this.t && (this.i = c.FN_RefactorJSON(this.i, 7)), b.push(c.renderItem(this, a))

1926             }), b.push('<div class="extra"><a {if pageConfig.isHome}clstag="homepage|keycount|home2013|0614a"{/if} href="http://www.jd.com/allSort.aspx">\u5168\u90e8\u5546\u54c1\u5206\u7c7b</a></div>'), this.OBJ.attr("load", "1").html(b.join("")), $.bigiframe(this.OBJ), this.FN_GetBrands();

1927             var d = this,

1928                 e = this.OBJ.outerWidth(),

1929                 f = this.OBJ.outerHeight();

1930             $("#_JD_ALLSORT").dropdown({

1931                 delay: 0,

1932                 onmouseleave: function() {

1933                     $("#_JD_ALLSORT .item").removeClass("hover")

1934                 }

1935             }, function(a) {

1936                 var b, c, g = document.documentElement.scrollTop + document.body.scrollTop,

1937                     h = $("#nav-2013").offset().top + 39;

1938                 h >= g ? (c = a.hasClass("fore13") ? 3 : 3, g = c) : (b = a.offset().top, g = g > b - 5 ? b - h - 10 : Math.max(3, g - h));

1939                 var i = a.find(".i-mc");

1940                 if (i.css({

1941                     top: g + "px"

1942                 }), d.OBJ.find("iframe")) {

1943                     var j = i.outerWidth() + e,

1944                         k = i.outerHeight() > f ? i.outerHeight() : f;

1945                     d.OBJ.find("iframe").css({

1946                         width: j,

1947                         height: k,

1948                         top: g

1949                     })

1950                 }

1951             })

1952         },

1953         getRightAreaTPL: function(a) {

1954             var b = "",

1955                 c = "",

1956                 d = "",

1957                 e = "";

1958             return b = this.FN_SetLink(a), c = '{if p.length!=0}<dl class="categorys-promotions">    <dd>        <ul>            {for item in p}            <li>                <a href="${item.u}" target="_blank">                {if item.i}                    <img src="${item.i}" width="194" height="70" title="${item.n}" />                {else}                    ${item.n}                {/if}                </a>            </li>            {/for}        </ul>    </dd></dl>{/if}', d = '{if b.length!=0}<dl class="categorys-brands">    {if id=="k"}        <dt>\u63a8\u8350\u54c1\u724c\u51fa\u7248\u5546/\u4e66\u5e97</dt>    {else}        {if id=="l"}        <dt>\u63a8\u8350\u4ea7\u54c1</dt>        {else}        <dt>\u63a8\u8350\u54c1\u724c</dt>        {/if}    {/if}    <dd>        <ul>            {for item in b} <li><a href="${item.u}" target="_blank">${item.n}</a></li> {/for}        </ul>    </dd></dl>{/if}', e = /c|b|d/.test(a) ? b + d + c : b + c + d

1959         },

1960         getBrandService: function(a) {

1961             var b = this,

1962                 c = a.data;

1963             this.OBJ.attr("load", "2"), $.each(c, function() {

1964                 var a = this.id,

1965                     c = b.getRightAreaTPL(a);

1966                 "l" !== a && $("#JD_sort_" + a).html(c.process(this))

1967             }), $(".cat-right-con").each(function(a) {

1968                 pageConfig.isHome && ($(this).find(".categorys-promotions").attr("clstag", "homepage|keycount|home2013|0" + (601 + a) + "c"), $(this).find(".categorys-brands").attr("clstag", "homepage|keycount|home2013|0" + (601 + a) + "d"))

1969             })

1970         },

1971         FN_Init: function() {

1972             if (this.OBJ.length) {

1973                 this.OBJ.attr("load") || (window.pageConfig && 0 != window.pageConfig.pageId && this.FN_InitSimple(), $("#categorys").length ? $("#categorys").Jdropdown({

1974                     delay: 200

1975                 }) : $("#categorys-2013").Jdropdown({

1976                     delay: 200

1977                 }));

1978                 var a = this;

1979                 this.OBJ.one("mouseover", function() {

1980                     var b = a.OBJ.attr("load");

1981                     if (b) {

1982                         if (1 != b) return;

1983                         a.FN_GetBrands()

1984                     } else a.FN_GetData()

1985                 })

1986             }

1987         }

1988     },

1989     UC = {

1990         DATA_Cookie: "aview",

1991         TPL_UnRegist: '<div class="prompt">            <span class="fl">\u60a8\u597d\uff0c\u8bf7<a href="javascript:login()" clstag="homepage|keycount|home2013|04a">\u767b\u5f55</a></span>            <span class="fr"></span>        </div>',

1992         TPL_Regist: '<div class="prompt">                <span class="fl"><strong>${Name}</strong></span>                <span class="fr"><a href="http://home.jd.com/">\u53bb\u6211\u7684\u4eac\u4e1c\u9996\u9875&nbsp;&gt;</a></span>            </div>',

1993         TPL_OList: {

1994             placeholder: '<div id="jduc-orderlist"></div>',

1995             fragment: '<div class="orderlist">                <div class="smt">                    <h4>\u6700\u65b0\u8ba2\u5355\u72b6\u6001\uff1a</h4>                    <div class="extra"><a href="http://order.jd.com/center/list.action" target="_blank">\u67e5\u770b\u6240\u6709\u8ba2\u5355&nbsp;&gt;</a></div>                </div>                <div class="smc">                    <ul>                        {for item in orderList}                        <li class="fore${parseInt(item_index)+1}">                            <div class="p-img fl">                                {for image in item.OrderDetail}                                    {if image_index<2}                                        <a href="http://www.jd.com/product/${image.ProductId}.html" target="_blank"><img src="${pageConfig.FN_GetImageDomain(image.ProductId)}n5/${image.ImgUrl}" width="50" height="50" alt="${image.ProductName}" /></a>                                    {/if}                                {/for}                                {if item.OrderDetail.length>2}                                    <a href="${item.passKeyUrl}" target="_blank" class="more">\u66f4\u591a</a>                                {/if}                            </div>                            <div class="p-detail fr">                                \u8ba2\u5355\u53f7\uff1a${item.OrderId}<br />                                \u72b6\u3000\u6001\uff1a<span>${UC.FN_SetState(item.OrderState)}</span><br />                                \u3000\u3000\u3000\u3000<a href="${item.passKeyUrl}">\u67e5\u770b\u8be6\u60c5</a>                            </div>                        </li>                        {/for}                    </ul>                </div>            </div>'

1996         },

1997         TPL_UList: '<div class="uclist">                <ul class="fore1 fl">                    <li><a target="_blank" clstag="homepage|keycount|home2013|04b" href="http://order.jd.com/center/list.action">\u5f85\u5904\u7406\u8ba2\u5355<span id="num-unfinishedorder"></span></a></li>                    <li><a target="_blank" clstag="homepage|keycount|home2013|04c" href="http://jd2008.jd.com/user_spzx.aspx">\u54a8\u8be2\u56de\u590d<span id="num-consultation"></span></a></li>                    <li><a target="_blank" clstag="homepage|keycount|home2013|04d" href="http://t.jd.com/product/followProductList.action?isReduce=true">\u964d\u4ef7\u5546\u54c1<span id="num-reduction"></span></a></li>                    <li><a target="_blank" clstag="homepage|keycount|home2013|shouhou" href="http://myjd.jd.com/repair/orderlist.action">\u8fd4\u4fee\u9000\u6362\u8d27</a></li>                    <li><a target="_blank" clstag="homepage|keycount|home2013|04e" href="http://quan.jd.com/user_quan.action">\u4f18\u60e0\u5238<span id="num-ticket"></span></a></li>                </ul>                <ul class="fore2 fl">                    <li><a target="_blank" clstag="homepage|keycount|home2013|04i" href="http://t.jd.com/home/follow">\u6211\u7684\u5173\u6ce8&nbsp;&gt;</a></li>                    <li><a target="_blank" clstag="homepage|keycount|home2013|04g" href="http://bean.jd.com/myJingBean/list">\u6211\u7684\u4eac\u8c46&nbsp;&gt;</a></li>                    <li><a target="_blank" clstag="homepage|keycount|home2013|licai" href="http://trade.jr.jd.com/centre/browse.action">\u6211\u7684\u7406\u8d22&nbsp;&gt;</a></li>                    <li><a target="_blank" clstag="homepage|keycount|home2013|baitiao" href="http://baitiao.jd.com/creditUser/list">\u6211\u7684\u767d\u6761&nbsp;&gt;</a></li>                </ul>            </div>',

1998         TPL_VList: {

1999             placeholder: '<div class="viewlist">                <div class="smt" clstag="homepage|keycount|home2013|04k">                    <h4>\u6700\u8fd1\u6d4f\u89c8\u7684\u5546\u54c1\uff1a</h4>                    <div style="float:right;padding-right:9px;"><a style="border:0;color:#005EA7" href="http://my.jd.com/history/list.html" target="_blank">\u67e5\u770b\u6d4f\u89c8\u5386\u53f2&nbsp;&gt;</a></div>                </div>                <div class="smc" id="jduc-viewlist" clstag="homepage|keycount|home2013|04j">                    <div class="loading-style1"><b></b>\u52a0\u8f7d\u4e2d\uff0c\u8bf7\u7a0d\u5019...</div>                    <ul class="lh hide"></ul>                </div>            </div>',

2000             fragment: '{for item in list}<li><a href="http://item.jd.com/${item.wid}.html" target="_blank" title="${item.wname}"><img src="${pageConfig.FN_GetImageDomain(item.wid)}n5/${item.imgUrl}" width="50" height="50" alt="${item.wname}" /></a></li>{/for}'

2001         },

2002         FN_SetState: function(a) {

2003             var a = a;

2004             return a.length > 4 && (a = "<span title=" + a + ">" + a.substr(0, 4) + "...</span>"), a

2005         },

2006         FN_InitNewVList: function(a) {

2007             for (var b, c = a ? a.split("|") : [], d = c.length, e = [], f = 0; d > f;) e.push(c[f].split(".")[1]), f++;

2008             b = e.join(","), $.getJSONP("http://my.jd.com/product/info.html?ids=" + b + "&jsoncallback=UC.FN_ShowVList")

2009         },

2010         FN_InitVList: function(a) {

2011             for (var b = JSON.parse(a), c = b.length, d = ",", e = 0; c > e; e++) new RegExp(b[e].s).test(d) || (d += b[e].s + ",");

2012             d = d.replace(/(^,*)|(,*$)/g, ""), $.getJSONP("http://my.jd.com/product/info.html?ids=" + d + "&jsoncallback=UC.FN_ShowVList")

2013         },

2014         FN_ShowVList: function(a) {

2015             if (a) {

2016                 var b = $("#jduc-viewlist").find(".loading-style1");

2017                 a.length = a.length > 5 ? 5 : a.length;

2018                 var c = {

2019                     list: a

2020                 };

2021                 b.length > 0 && b.hide();

2022                 var d = this.TPL_VList.fragment.process(c);

2023                 $("#jduc-viewlist").find("ul").eq(0).html(d).show()

2024             }

2025         },

2026         FN_setWords: function(a) {

2027             var b = '<font style="color:{0}">({1})</font>',

2028                 c = "";

2029             return c = 0 == a ? "#ccc" : "#c00", pageConfig.FN_StringFormat(b, c, a)

2030         },

2031         FN_InitOList: function() {

2032             $.ajax({

2033                 url: "http://minijd.360buy.com/getOrderList",

2034                 dataType: "jsonp",

2035                 success: function(a) {

2036                     if (a && 0 == a.error && a.orderList) {

2037                         var b = UC.TPL_OList.fragment.process(a);

2038                         $("#jduc-orderlist").html(b)

2039                     }

2040                 }

2041             }), $.ajax({

2042                 url: "http://minijd.360buy.com/getHomeCount",

2043                 dataType: "jsonp",

2044                 success: function(a) {

2045                     a && 0 == a.error && $("#num-unfinishedorder").html(UC.FN_setWords(a.orderCount))

2046                 }

2047             }), $.ajax({

2048                 url: "http://comm.360buy.com/index.php?mod=Consultation&action=havingReplyCount",

2049                 dataType: "jsonp",

2050                 success: function(a) {

2051                     a && $("#num-consultation").html(UC.FN_setWords(a.cnt))

2052                 }

2053             }), $.ajax({

2054                 url: "http://follow.soa.jd.com/product/queryForReduceProductCount.action?",

2055                 dataType: "jsonp",

2056                 success: function(a) {

2057                     a && a.data > 0 && $("#num-reduction").html(UC.FN_setWords(a.data))

2058                 }

2059             }), $.ajax({

2060                 url: "http://quan.jd.com/getcouponcount.action",

2061                 dataType: "jsonp",

2062                 success: function(a) {

2063                     a && $("#num-ticket").html(UC.FN_setWords(a.CouponCount))

2064                 }

2065             })

2066         }

2067     },

2068     MCART = {

2069         DATA_Cookie: "cn",

2070         DATA_Amount: readCookie("cn") || "0",

2071         URL_Serv: "http://cart.jd.com/cart/miniCartServiceNew.action",

2072         TPL_Iframe: '<iframe scrolling="no" frameborder="0" marginheight="0" marginwidth="0" id="settleup-iframe"></iframe>',

2073         TPL_NoGoods: '<div class="prompt"><div class="nogoods"><b></b>\u8d2d\u7269\u8f66\u4e2d\u8fd8\u6ca1\u6709\u5546\u54c1\uff0c\u8d76\u7d27\u9009\u8d2d\u5427\uff01</div></div>',

2074         TPL_List: {

2075             wrap: '<div id="settleup-content"><div class="smt"><h4 class="fl">\u6700\u65b0\u52a0\u5165\u7684\u5546\u54c1</h4></div><div class="smc"></div><div class="smb ar">\u5171<b>${Num}</b>\u4ef6\u5546\u54c1\u3000\u5171\u8ba1<strong>\uffe5 ${TotalPromotionPrice.toFixed(2)}</strong><br><a href="http://cart.jd.com/cart/cart.html?r=${+new Date}" title="\u53bb\u8d2d\u7269\u8f66\u7ed3\u7b97" id="btn-payforgoods">\u53bb\u8d2d\u7269\u8f66\u7ed3\u7b97</a></div></div>',

2076             sigle: '<ul id="mcart-sigle">{for list in TheSkus}  <li>      <div class="p-img fl"><a href="http://item.jd.com/${list.Id}.html" target="_blank"><img src="${pageConfig.FN_GetImageDomain(list.Id)}n5/${list.ImgUrl}" width="50" height="50" alt=""></a></div>      <div class="p-name fl"><a href="http://item.jd.com/${list.Id}.html" title="${list.Name}" target="_blank">${list.Name}</a></div>      <div class="p-detail fr ar">          <span class="p-price"><strong>\uffe5${list.PromotionPrice.toFixed(2)}</strong>\xd7${list.Num}</span>          <br>          {if parseInt(list.FanPrice)>0}          <span class="hl-green">\u8fd4\u73b0\uff1a\uffe5<em>${list.FanPrice}</em></span>          <br>          {/if}          {if parseInt(list.Score)>0}          <span class="hl-orange">\u9001\u4eac\u8c46\uff1a<em>${list.Score}</em></span>          <br>          {/if}          <a class="delete" data-id="${list.Id}" data-type="RemoveProduct" href="#delete">\u5220\u9664</a>      </div>      {for jq in list.CouponAD}      <div class="gift-jq">[\u8d60\u5238] \u8d60\u9001${jq.Jing}\u4eac\u5238 ${jq.LimitAd}</a></div>      {/for}  </li>{/for}</ul>',

2077             gift: '<ul id="mcart-gift">{for list in TheGifts}  <li>      <div class="p-img fl"><a href="http://item.jd.com/${list.MainSKU.Id}.html" target="_blank"><img src="${pageConfig.FN_GetImageDomain(list.MainSKU.Id)}n5/${list.MainSKU.ImgUrl}" width="50" height="50" alt=""></a></div>      <div class="p-name fl"><a href="http://item.jd.com/${list.MainSKU.Id}.html" title="${list.MainSKU.Name}" target="_blank">${list.MainSKU.Name}</a></div>      <div class="p-detail fr ar">          <span class="p-price"><strong>\uffe5${list.PromotionPrice.toFixed(2)}</strong>\xd7${list.Num}</span>          <br>          {if parseInt(list.FanPrice)>0}          <span class="hl-green">\u8fd4\u73b0\uff1a\uffe5<em>${list.FanPrice}</em></span>          <br>          {/if}          {if parseInt(list.Score)>0}          <span class="hl-orange">\u9001\u4eac\u8c46\uff1a<em>${list.Score}</em></span>          <br>          {/if}          <a class="delete" data-id="${list.MainSKU.Id}" data-type="RemoveProduct" href="#delete">\u5220\u9664</a>      </div>      {for gift in list.Skus}      <div class="gift"><a href="http://item.jd.com/${gift.Id}.html" target="_blank">[{if gift.Type==2}\u8d60\u54c1{/if}{if gift.Type==1}\u9644\u4ef6{/if}] ${gift.Name}</a></div>      {/for}      {for jq in list.CouponAD}      <div class="gift-jq">[\u8d60\u5238] \u8d60\u9001${jq.Jing}\u5143\u4eac\u5238 ${jq.LimitAd}</a></div>      {/for}  </li>  {/for}</ul>',

2078             suit: '{for suit in TheSuit}<ul id="mcart-suit">  <li class="dt">      <div class="fl"><span>[\u5957\u88c5]</span> ${suit.Name}</div>      <div class="fr"><em>\u5c0f\u8ba1\uff1a\uffe5${(suit.PromotionPrice*suit.Num).toFixed(2)}</em></div>      <div class="clr"></div>  </li>  {for list in suit.Skus}  <li>      <div class="p-img fl"><a href="http://item.jd.com/${list.Id}.html" target="_blank"><img src="${pageConfig.FN_GetImageDomain(list.Id)}n5/${list.ImgUrl}" width="50" height="50" alt=""></a></div>      <div class="p-name fl"><span></span><a href="http://item.jd.com/${list.Id}.html" title="${list.Name}" target="_blank">${list.Name}</a></div>      <div class="p-detail fr ar">          <span class="p-price"><strong>\uffe5${list.PromotionPrice.toFixed(2)}</strong>\xd7${list.Num}</span>          <br>          {if parseInt(list.FanPrice)>0}          <span class="hl-green">\u8fd4\u73b0\uff1a\uffe5<em>${list.FanPrice}</em></span>          <br>          {/if}          {if parseInt(list.Score)>0}          <span class="hl-orange">\u9001\u4eac\u8c46\uff1a<em>${list.Score}</em></span>          <br>          {/if}          <a class="delete" data-id="${list.Id}|${suit.Id}" data-type="RemoveSuit" href="#delete">\u5220\u9664</a>      </div>      {for gift in list.Gifts}      <div class="gift"><a href="http://item.jd.com/${gift.Id}.html" target="_blank">[{if gift.Type==2}\u8d60\u54c1{/if}{if gift.Type==1}\u9644\u4ef6{/if}] ${gift.Name}</a></div>      {/for}      {for jq in list.CouponAD}      <div class="gift-jq">[\u8d60\u5238] \u8d60\u9001${jq.Jing}\u5143\u4eac\u5238 ${jq.LimitAd}</a></div>      {/for}  </li>  {/for}</ul>{/for}',

2079             mj: '{for mj in ManJian}<ul id="mcart-mj">  <li class="dt">      <div class="fl"><span class="hl-green">\u6ee1\u51cf</span>{if mj.ManFlag} \u5df2\u8d2d\u6ee1{if mj.ManNum>0}${mj.ManNum}\u4ef6{else}${mj.ManPrice}\u5143{/if}\uff0c\u5df2\u51cf${mj.JianPrice}\u5143{else}\u8d2d\u6ee1{if mj.ManNum>0}${mj.ManNum}\u4ef6{else}${mj.ManPrice}\u5143{/if}\uff0c\u5373\u53ef\u4eab\u53d7\u6ee1\u51cf\u4f18\u60e0{/if}</div>      <div class="fr"><em>\u5c0f\u8ba1\uff1a\uffe5${(mj.PromotionPrice*mj.Num).toFixed(2)}</em></div>      <div class="clr"></div>  </li>  {for list in mj.Skus}  <li>      <div class="p-img fl"><a href="http://item.jd.com/${list.Id}.html" target="_blank"><img src="${pageConfig.FN_GetImageDomain(list.Id)}n5/${list.ImgUrl}" width="50" height="50" alt=""></a></div>      <div class="p-name fl"><span></span><a href="http://item.jd.com/${list.Id}.html" title="${list.Name}" target="_blank">${list.Name}</a></div>      <div class="p-detail fr ar">          <span class="p-price"><strong>\uffe5${list.PromotionPrice.toFixed(2)}</strong>\xd7${list.Num}</span>          <br>          {if parseInt(list.FanPrice)>0}          <span class="hl-green">\u8fd4\u73b0\uff1a\uffe5<em>${list.FanPrice}</em></span>          <br>          {/if}          {if parseInt(list.Score)>0}          <span class="hl-orange">\u9001\u4eac\u8c46\uff1a<em>${list.Score}</em></span>          <br>          {/if}          <a class="delete" data-id="${list.Id}|${mj.Id}" data-type="RemoveSuit" href="#delete">\u5220\u9664</a>      </div>      {for gift in list.Gifts}      <div class="gift"><a href="http://item.jd.com/${gift.Id}.html" target="_blank">[{if gift.Type==2}\u8d60\u54c1{/if}{if gift.Type==1}\u9644\u4ef6{/if}] ${gift.Name}</a></div>      {/for}      {for jq in list.CouponAD}      <div class="gift-jq">[\u8d60\u5238] \u8d60\u9001${jq.Jing}\u5143\u4eac\u5238 ${jq.LimitAd}</a></div>      {/for}  </li>  {/for}</ul>{/for}',

2080             mz: '{for mz in ManZeng}<ul id="mcart-mz">  <li class="dt">      <div class="fl"><span class="hl-orange">\u6ee1\u8d60</span>          {if mz.ManFlag}              \u5df2\u8d2d\u6ee1${mz.ManPrice}\u5143\uff0c\u60a8{if mz.ManGifts.length>0}\u5df2{else}\u53ef{/if}\u9886\u8d60\u54c1          {else}              \u8d2d\u6ee1${mz.ManPrice}\u5143\uff0c\u5373\u53ef\u9886\u53d6\u8d60\u54c1          {/if}      </div>      <div class="fr"><em>\u5c0f\u8ba1\uff1a\uffe5${(mz.PromotionPrice*mz.Num).toFixed(2)}</em></div>      <div class="clr"></div>  </li>  {for gift in mz.ManGifts}<li class="dt-mz"><a href="${gift.Id}" target="_blank">[\u8d60\u54c1]${gift.Name}</a>\xd7${gift.Num}</li>{/for}  {for list in mz.Skus}  <li>      <div class="p-img fl"><a href="http://item.jd.com/${list.Id}.html" target="_blank"><img src="${pageConfig.FN_GetImageDomain(list.Id)}n5/${list.ImgUrl}" width="50" height="50" alt=""></a></div>      <div class="p-name fl"><span></span><a href="http://item.jd.com/${list.Id}.html" title="${list.Name}" target="_blank">${list.Name}</a></div>      <div class="p-detail fr ar">          <span class="p-price"><strong>\uffe5${list.PromotionPrice.toFixed(2)}</strong>\xd7${list.Num}</span>          <br>          {if parseInt(list.FanPrice)>0}          <span class="hl-green">\u8fd4\u73b0\uff1a\uffe5<em>${list.FanPrice}</em></span>          <br>          {/if}          {if parseInt(list.Score)>0}          <span class="hl-orange">\u9001\u4eac\u8c46\uff1a<em>${list.Score}</em></span>          <br>          {/if}          <a class="delete" data-id="${list.Id}|${mz.Id}" data-type="RemoveSuit" href="#delete">\u5220\u9664</a>      </div>      {for gift in list.Gifts}      <div class="gift"><a href="http://item.jd.com/${gift.Id}.html" target="_blank">[{if gift.Type==2}\u8d60\u54c1{/if}{if gift.Type==1}\u9644\u4ef6{/if}] ${gift.Name}</a></div>      {/for}      {for jq in list.CouponAD}      <div class="gift-jq">[\u8d60\u5238] \u8d60\u9001${jq.Jing}\u5143\u4eac\u5238 ${jq.LimitAd}</a></div>      {/for}  </li>  {/for}</ul>{/for}'

2081         },

2082         FN_BindEvents: function() {

2083             var a = this;

2084             $("#settleup-content .delete").bind("click", function() {

2085                 var b = $(this).attr("data-id").split("|"),

2086                     c = $(this).attr("data-type"),

2087                     d = {

2088                         method: c,

2089                         cartId: b[0]

2090                     };

2091                 b && (b.length > 1 && b[1] && (d.targetId = b[1]), $.ajax({

2092                     url: MCART.URL_Serv,

2093                     data: d,

2094                     dataType: "jsonp",

2095                     success: function(b) {

2096                         b.Result && a.FN_Refresh()

2097                     }

2098                 }))

2099             })

2100         },

2101         FN_Refresh: function() {

2102             var a = document.getElementById("settleup") ? $("#settleup dl") : $("#settleup-2013 dl"),

2103                 b = a.find("dd").eq(0),

2104                 c = function(a) {

2105                     var c = a.Cart,

2106                         d = c.TheSkus.length + c.TheSuit.length + c.TheGifts.length + c.ManJian.length + c.ManZeng.length,

2107                         e = MCART.TPL_List.sigle.process(a.Cart),

2108                         f = MCART.TPL_List.gift.process(a.Cart),

2109                         g = MCART.TPL_List.suit.process(a.Cart),

2110                         h = MCART.TPL_List.mz.process(a.Cart),

2111                         i = MCART.TPL_List.mj.process(a.Cart);

2112                     if (d > 0 ? (b.html(MCART.TPL_List.wrap.process(a.Cart)), b.find("#settleup-content .smc").html(e + f + g + i + h), $("#settleup-url").attr("href", "http://cart.jd.com/cart/cart.html?r=" + +new Date)) : b.html(MCART.TPL_NoGoods), $.browser.msie && 6 == $.browser.version) {

2113                         var j = $("#settleup-content");

2114                         j.before(MCART.TPL_Iframe);

2115                         var k = $("#settleup-iframe");

2116                         k.height(j.height())

2117                     }

2118                     MCART.FN_BindEvents()

2119                 };

2120             $.ajax({

2121                 url: MCART.URL_Serv,

2122                 data: {

2123                     method: "GetCart"

2124                 },

2125                 dataType: "jsonp",

2126                 success: function(a) {

2127                     c(a)

2128                 }

2129             }), MCART.DATA_Amount = readCookie(MCART.DATA_Cookie), null != MCART.DATA_Amount && $("#shopping-amount").html(MCART.DATA_Amount).parent().show()

2130         }

2131     },

2132     NotifyPop = {

2133         _saleNotify: "http://skunotify." + pageConfig.FN_getDomain() + "/pricenotify.html?",

2134         _stockNotify: "http://skunotify." + pageConfig.FN_getDomain() + "/storenotify.html?",

2135         init: function(a) {

2136             var b, c = this,

2137                 d = this.serializeUrl(location.href),

2138                 e = /from=weibo/.test(location.href) ? location.search.replace(/\?/, "") : "";

2139             /from=weibo/.test(location.href) && (b = d.param.type, this.setThickBox(b, e)), a.livequery("click", function() {

2140                 var a = ($(this).attr("id"), $(this).attr("data-type") || 2);

2141                 return c.sku = $(this).attr("data-sku"), c.checkLogin(function(b) {

2142                     b.IsAuthenticated ? (c._userPin = b.Name, c.setThickBox(a, e)) : (jdModelCallCenter.settings.fn = function() {

2143                         c.checkLogin(function(b) {

2144                             b.IsAuthenticated && (c._userPin = b.Name, c.setThickBox(a, e))

2145                         })

2146                     }, jdModelCallCenter.login())

2147                 }), !1

2148             }).attr("href", "#none").removeAttr("target")

2149         },

2150         serializeUrl: function(a) {

2151             var b, c, d, e, f = a.indexOf("?"),

2152                 g = a.substr(0, f),

2153                 h = a.substr(f + 1),

2154                 i = h.split("&"),

2155                 j = i.length,

2156                 k = {};

2157             for (b = 0; j > b; b++) c = i[b].split("="), d = c[0], e = c[1], k[d] = e;

2158             return {

2159                 url: g,

2160                 param: k

2161             }

2162         },

2163         checkLogin: function(a) {

2164             "function" == typeof a && $.getJSON("http://passport." + pageConfig.FN_getDomain() + "/loginservice.aspx?method=Login&callback=?", function(b) {

2165                 b.Identity && a(b.Identity)

2166             })

2167         },

2168         setThickBox: function(a, b) {

2169             var c, d, e, f = {

2170                     skuId: this.sku,

2171                     pin: this._userPin,

2172                     webSite: 1,

2173                     origin: 1,

2174                     source: 1

2175                 },

2176                 g = this.serializeUrl(location.href);

2177             /blogPin/.test(location.href) && (f.blogPin = g.param.blogPin), 1 == a && (c = "\u964d\u4ef7\u901a\u77e5", d = this._saleNotify, e = 250), 2 == a && (c = "\u5230\u8d27\u901a\u77e5", d = this._stockNotify, e = 210, f.storeAddressId = readCookie("ipLoc-djd") || "0-0-0"), d += b ? b : $.param(f), $.jdThickBox({

2178                 type: "iframe",

2179                 source: decodeURIComponent(d) + "&nocache=" + +new Date,

2180                 width: 500,

2181                 height: e,

2182                 title: c,

2183                 _box: "notify_box",

2184                 _con: "notify_con",

2185                 _title: "notify_title"

2186             })

2187         }

2188     };

2189 ! function() {

2190     pageConfig.FN_ImgError(document), $("img[data-lazyload]").Jlazyload({

2191         type: "image",

2192         placeholderClass: "err-product"

2193     }), category.FN_Init(), document.getElementById("shortcut") ? $("#shortcut .menu").Jdropdown({

2194         delay: 50

2195     }) : ($("#biz-service").Jdropdown({

2196         delay: 50

2197     }, function() {

2198         $.ajax({

2199             url: "http://www.jd.com/hotwords.aspx?position=new-index-002",

2200             dataType: "script",

2201             scriptCharset: "gb2312",

2202             cache: !0

2203         })

2204     }), $("#site-nav").Jdropdown({

2205         delay: 50

2206     }, function() {

2207         $.ajax({

2208             url: "http://www.jd.com/hotwords.aspx?position=new-index-003",

2209             dataType: "script",

2210             scriptCharset: "gb2312",

2211             cache: !0

2212         })

2213     })), document.getElementById("navitems") ? $("#navitems li").Jdropdown() : $("#navitems-2013 li").Jdropdown(), $.ajax({

2214         url: ("https:" == document.location.protocol ? "https://" : "http://") + "passport." + pageConfig.FN_getDomain() + "/new/helloService.ashx?m=ls",

2215         dataType: "jsonp",

2216         scriptCharset: "gb2312",

2217         success: function(a) {

2218             a && a.info && $("#loginbar").html(a.info), a && a.sso && $.each(a.sso, function() {

2219                 $.getJSON(this)

2220             })

2221         }

2222     }), document.getElementById("settleup") ? (null != MCART.DATA_Amount && ($("#settleup s").eq(0).addClass("shopping"), $("#shopping-amount").html(MCART.DATA_Amount)), $("#settleup dl").Jdropdown({

2223         delay: 200

2224     }, function() {

2225         MCART.FN_Refresh(), $("#settleup-url").attr("href", "http://cart.jd.com/cart/cart.html?r=" + +new Date)

2226     })) : (null != MCART.DATA_Amount && $("#shopping-amount").html(MCART.DATA_Amount), $("#settleup-2013 dl").Jdropdown({

2227         delay: 200

2228     }, function() {

2229         MCART.FN_Refresh(), $("#settleup-url").attr("href", "http://cart.jd.com/cart/cart.html?r=" + +new Date)

2230     }));

2231     var a = document.getElementById("my360buy") ? $("#my360buy") : $("#my360buy-2013");

2232     a.find("dl").Jdropdown({

2233         delay: 100

2234     }, function(a) {

2235         a.attr("load") || $.login({

2236             automatic: !1,

2237             complete: function(b) {

2238                 if (b) {

2239                     var c = a.find("dd").eq(0),

2240                         d = "",

2241                         e = readCookie(UC.DATA_Cookie);

2242                     b.IsAuthenticated ? (d += UC.TPL_Regist.process(b), d += UC.TPL_OList.placeholder, d += UC.TPL_UList) : (d += UC.TPL_UnRegist, d += UC.TPL_UList), e && (d += UC.TPL_VList.placeholder), c.html(d), a.attr("load", "1"), setTimeout(function() {

2243                         a.removeAttr("load")

2244                     }, 6e4), /\[\{/.test(e) ? UC.FN_InitVList(e) : UC.FN_InitNewVList(e), UC.FN_InitOList()

2245                 }

2246             }

2247         })

2248     }), document.onkeyup = function(a) {

2249         var b = document.activeElement.tagName.toLowerCase();

2250         if ("input" != b && "textarea" != b) {

2251             var a = a ? a : window.event,

2252                 c = a.keyCode || a.which;

2253             switch (c) {

2254                 case 68:

2255                     window.pageConfig.clientViewTop || (window.pageConfig.clientViewTop = 0), window.pageConfig.clientViewTop += document.documentElement.clientHeight, window.scrollTo(0, pageConfig.clientViewTop);

2256                     break;

2257                 case 83:

2258                     window.scrollTo(0, 0), window.pageConfig.clientViewTop = 0, document.getElementById("key").focus();

2259                     break;

2260                 case 84:

2261                     window.scrollTo(0, 0), window.pageConfig.clientViewTop = 0

2262             }

2263         }

2264     }

2265 }();

2266 var $o = function() {

2267     function a() {

2268         this.length = 0, this.index = -1, this.iLastModified = 0, this.lastKeyword = !1

2269     }

2270     var b = {};

2271     b.replace = function(a, b) {

2272         return a.replace(/#{(.*?)}/g, function() {

2273             var a = arguments[1];

2274             return "undefined" != typeof b[a] ? b[a] : arguments[0]

2275         })

2276     }, String.prototype.isEmpty = function() {

2277         return 0 == this.length

2278     };

2279     var c = '<a style="color:#005AA0" onclick="$o.del(event)">\u5220\u9664</a>',

2280         d = "\u641c\u7d22\u5386\u53f2",

2281         e = '<li id="d_#{id}" suggest-pos="#{suggest_pos}" title="#{title}" onclick="$o.clickItem(this)" history="1"><div class="search-item" style="color:#005AA0">#{keyword}</div><div class="search-count">' + d + "</div></li>",

2282         f = '<li id="d_#{id}" suggest-pos="#{suggest_pos}" title="#{title}" onclick="$o.clickItem(this)"><div class="search-item">#{keyword}</div><div class="search-count">\u7ea6#{amount}\u4e2a\u5546\u54c1</div></li>',

2283         g = '<div id="d_#{id}" suggest-pos="#{suggest_pos}" class="#{className}" title="#{title}" cid="#{cid}" cLevel="#{cLevel}" onclick="$o.clickItem(this)"><div class="search-item">\u5728<strong>#{cname}</strong>\u5206\u7c7b\u4e2d\u641c\u7d22</div><div class="search-count">\u7ea6#{amount}\u4e2a\u5546\u54c1</div></div>#{categorys}',

2284         h = '<li class="fore1"><div id="d_#{id}" suggest-pos="#{suggest_pos}" class="fore1" title="#{title}" onclick="$o.clickItem(this)"><div class="search-item">#{keyword}</div><div class="search-count" #{style}>\u7ea6#{amount}\u4e2a\u5546\u54c1</div></div>#{categorys}</li>',

2285         i = "http://dd.search.jd.com/?key=#{keyword}",

2286         j = "#FFDFC6",

2287         k = "#FFF",

2288         l = $("#key"),

2289         m = $("#shelper");

2290     a.prototype.init = function() {

2291         this.length = 0, this.index = -1, this.click = !1

2292     }, a.prototype.hideTip = function() {

2293         this.init(), this.lastKeyword = !1, m.html("").hide()

2294     }, a.prototype.clickItem = function(a) {

2295         var b = a.getAttribute("cid");

2296         search.cid = null != b && "" != b ? b : null;

2297         var c = a.getAttribute("cLevel");

2298         search.cLevel = null != c && "" != c ? c : null;

2299         var d = a.getAttribute("ev_val");

2300         search.ev_val = null == d || $.trim(d).isEmpty() ? null : d;

2301         var e = a.getAttribute("title");

2302         null == e || $.trim(e).isEmpty() || l.val(e), search.additinal = "&suggest=" + a.getAttribute("suggest-pos"), this.click = a.id.substr(2) - m.find("li[history='1']").length, search("key")

2303     }, a.prototype.mouseenter = function(a) {

2304         var a = $(a);

2305         a.attr("history") && a.find(".search-count").html(c), a.css("background", j);

2306         var b = a.attr("id").split("_"),

2307             e = parseInt(b[1], 10);

2308         if (e != this.index) {

2309             if (this.index > -1) {

2310                 var f = $("#d_" + this.index);

2311                 f.css("background", k), f.attr("history") && f.find(".search-count").html(d)

2312             }

2313             this.index = e

2314         }

2315     }, a.prototype.mouseleave = function(a) {

2316         a.css("background", k), a.attr("history") && a.find(".search-count").html(d)

2317     }, a.prototype.selectItemNode = function(a) {

2318         var b = this,

2319             e = $("#d_" + b.index + ":visible");

2320         e.css("background-color", k), e.attr("history") && e.find(".search-count").html(d), -1 == b.index && -1 == a && (a = 0), b.index = (b.length + b.index + a) % b.length;

2321         var f = $("#d_" + b.index);

2322         if (f.length > 0) {

2323             f.attr("history") && f.find(".search-count").html(c), f.css("background-color", j);

2324             var g = f.attr("title");

2325             null == g || $.trim(g).isEmpty() || l.val(g);

2326             var h = f.attr("cid");

2327             search.cid = null != h && "" != h ? h : null;

2328             var i = f.attr("cLevel");

2329             search.cLevel = null != i && "" != i ? i : null, search.ev_val = null, search.additinal = "&suggest=" + f.attr("suggest-pos"), b.click = b.index - m.find("li[history='1']").length

2330         }

2331     }, a.prototype.input = function() {

2332         var a = this;

2333         a.timeoutId && clearTimeout(a.timeoutId), a.timeoutId = setTimeout(function() {

2334             var c = $.trim(l.val());

2335             if (c === a.lastKeyword || !(c || readCookie("pin") || readCookie("_tp"))) return !1;

2336             a.lastKeyword = c;

2337             var d = b.replace(i, {

2338                 keyword: encodeURIComponent(c)

2339             });

2340             $.ajax({

2341                 url: d,

2342                 dataType: "jsonp",

2343                 scriptCharset: "utf-8",

2344                 jsonp: "callback",

2345                 success: function(b) {

2346                     return function(c) {

2347                         a.iLastModified > b || (a.iLastModified = b, a.onloadItems(c))

2348                     }

2349                 }((new Date).getTime())

2350             })

2351         }, 150)

2352     }, a.prototype.keydown_up = function(a) {

2353         var b = this,

2354             c = a || window.event;

2355         0 == l.length && (l = $("#key")), 0 == m.length && (m = $("tie"));

2356         var d = c.keyCode;

2357         switch (d) {

2358             case 38:

2359                 b.selectItemNode(-1);

2360                 break;

2361             case 40:

2362                 b.selectItemNode(1);

2363                 break;

2364             case 27:

2365                 b.hideTip();

2366                 break;

2367             case 37:

2368                 break;

2369             case 39:

2370                 break;

2371             default:

2372                 $.browser.mozilla || b.input()

2373         }

2374     }, a.prototype.onloadItems = function(a) {

2375         if (0 == a.length) return this.hideTip(), void 0;

2376         var c = this;

2377         c.init();

2378         var d = "",

2379             i = 0;

2380         window.pageConfig && window.pageConfig.searchType && (i = window.pageConfig.searchType);

2381         for (var j = 0, k = "", n = !1, o = 0, p = $.trim(l.val()), q = 0, r = a.length; r > q; q++) {

2382             var s = a[q];

2383             if (s) {

2384                 var t = $.trim(s.keyword),

2385                     u = t.toLowerCase().indexOf(p.toLowerCase()),

2386                     v = t;

2387                 if (0 == u && (v = p + "<strong>" + t.substring(u + p.length) + "</strong>"), "string" != typeof s.cid || $.trim(s.cid).isEmpty()) {

2388                     var w = "";

2389                     k += 0 == s.amount ? b.replace(e, {

2390                         id: o,

2391                         title: s.keyword,

2392                         keyword: v,

2393                         amount: s.amount,

2394                         suggest_pos: j

2395                     }) : b.replace(f, {

2396                         id: o,

2397                         title: s.keyword,

2398                         keyword: v,

2399                         amount: s.amount,

2400                         suggest_pos: j,

2401                         style: w

2402                     }), o++, j++

2403                 } else {

2404                     if (0 == n) {

2405                         n = !0;

2406                         var w = 'style="visibility:hidden"',

2407                             x = 0;

2408                         s.oamount && s.oamount > 0 && (x = s.oamount, w = ""), k += b.replace(h, {

2409                             id: o,

2410                             title: s.keyword,

2411                             keyword: v,

2412                             amount: x,

2413                             suggest_pos: j,

2414                             style: w

2415                         }), o++, j++

2416                     }

2417                     if ("string" == typeof s.cname && $.trim(s.cname).isEmpty()) continue;

2418                     var y = s.level;

2419                     if (!y) continue;

2420                     if (0 == i) {

2421                         if ("string" == typeof y && /^[1-8]4$/.test(y)) continue

2422                     } else if (5 == i) {

2423                         if ("string" == typeof y && !/^[5-8]2$/.test(y)) continue

2424                     } else if (1 == i || 2 == i || 3 == i || 4 == i) continue;

2425                     var z = "item1",

2426                         A = b.replace(g, {

2427                             id: o,

2428                             title: s.keyword,

2429                             cid: s.cid,

2430                             cLevel: s.level,

2431                             className: z,

2432                             cname: s.cname,

2433                             amount: s.amount,

2434                             suggest_pos: j - 1

2435                         });

2436                     k = b.replace(k, {

2437                         categorys: A

2438                     }), o++

2439                 }

2440             }

2441         }

2442         c.length = o, d = b.replace(k, {

2443             categorys: ""

2444         }), "" != d ? (d += '<li class="close" onclick="$o.hideTip()">\u5173\u95ed</li>', m.html(d).show(), m.find('[id^="d_"]').bind("mouseleave", function() {

2445             c.mouseleave($(this))

2446         }).bind("mouseenter", function() {

2447             c.mouseenter($(this))

2448         })) : m.html("").hide()

2449     }, a.prototype.bind_input = function() {

2450         $.browser.mozilla ? (l.bind("keydown", function(a) {

2451             n.keydown_up(a)

2452         }), l.bind("input", function(a) {

2453             n.input(a)

2454         })) : l.bind("keyup", function(a) {

2455             n.keydown_up(a)

2456         }), l.focus(function() {

2457             setTimeout(function() {

2458                 n.input()

2459             }, 10)

2460         }), m.parent().bind("mouseenter", function() {

2461             n.e_position = !0, n.timeoutId && clearTimeout(n.timeoutId)

2462         }).bind("mouseleave", function() {

2463             n.e_position = !1, n.timeoutId = setTimeout(function() {

2464                 n.hideTip()

2465             }, 500)

2466         }), $(document).click(function() {

2467             n.e_position || n.hideTip()

2468         })

2469     }, a.prototype.del = function(a) {

2470         var b = this;

2471         a = a ? a : window.event, window.event ? (a.cancelBubble = !0, a.returnValue = !1) : (a.stopPropagation(), a.preventDefault());

2472         var c = $(a.srcElement ? a.srcElement : a.target),

2473             d = c.parent().parent().attr("title");

2474         $.ajax({

2475             url: "http://search.jd.com/suggest.php?op=del&callback=?&key=" + encodeURIComponent(d),

2476             dataType: "jsonp",

2477             scriptCharset: "utf-8",

2478             beforeSend: function() {

2479                 c.parent().parent().hide()

2480             },

2481             success: function() {

2482                 b.lastKeyword = !1, l.focus()

2483             }

2484         })

2485     };

2486     var n = new a;

2487     return n.bind_input(), n

2488 }();

2489 pageConfig.FN_InitSidebar = function() {

2490     $("#toppanel").length || $(document.body).prepend('<div class="w ld" id="toppanel"></div>'), $("#toppanel").append('<div id="sidepanel" class="hide"></div>');

2491     var a = $("#sidepanel");

2492     this.scroll = function() {

2493         var b = this;

2494         $(window).bind("scroll", function() {

2495             var b = document.body.scrollTop || document.documentElement.scrollTop;

2496             0 == b ? a.hide() : a.show()

2497         }), b.initCss(), $(window).bind("resize", function() {

2498             b.initCss()

2499         })

2500     }, this.initCss = function() {

2501         var b, c = pageConfig.compatible ? 1210 : 990;

2502         screen.width >= 1210 && (b = $.browser.msie && $.browser.version <= 6 ? {

2503             right: "-26px"

2504         } : {

2505             right: (document.documentElement.clientWidth - c) / 2 - 26 + "px"

2506         }, a.css(b))

2507     }, this.addCss = function(b) {

2508         a.css(b)

2509     }, this.addItem = function(b) {

2510         a.append(b)

2511     }, this.setTop = function() {

2512         this.addItem("<a href='#' class='gotop' title='\u4f7f\u7528\u5feb\u6377\u952eT\u4e5f\u53ef\u8fd4\u56de\u9876\u90e8\u54e6\uff01'><b></b>\u8fd4\u56de\u9876\u90e8</a>")

2513     }

2514 }, pageConfig.FN_InitContrast = function(a, b, c) {

2515     var a = a || "_contrast",

2516         c = c || "list",

2517         b = b || "http://misc.360buyimg.com/contrast/js/contrast.js?ver=" + +new Date,

2518         d = readCookie(a + "_status");

2519     return pageConfig.isInitContrast ? !1 : ("show" != d && "side" != d || 1 != !!readCookie(a) ? $(".btn-compare").bind("click", function() {

2520         var d = this.getAttribute("skuid");

2521         $.getScript(b, function() {

2522             Contrast && Contrast.init(c, a).showPopWin(d)

2523         })

2524     }) : $.getScript(b, function() {

2525         Contrast && Contrast.init(c, a)

2526     }), pageConfig.isInitContrast = 1, void 0)

2527 }, /debug=global/.test(location.href) || $.ajax({

2528     url: "http://fa.360buy.com/loadFa_toJson.js?aid=2_601_5095",

2529     dataType: "script",

2530     scriptCharset: "gbk",

2531     cache: !0

2532 });

 

你可能感兴趣的:(lib)