Advertisement
Guest User

http://static1.firedoglake.com/common/js/jquery.js?ver=1.1.4

a guest
Feb 16th, 2014
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.  * jQuery 1.2 - New Wave Javascript
  3.  *
  4.  * Copyright (c) 2007 John Resig (jquery.com)
  5.  * Dual licensed under the MIT (MIT-LICENSE.txt)
  6.  * and GPL (GPL-LICENSE.txt) licenses.
  7.  *
  8.  * $Date: 2007-09-10 15:45:49 -0400 (Mon, 10 Sep 2007) $
  9.  * $Rev: 3219 $
  10.  */
  11. (function () {
  12.     if (typeof E != "undefined") var w = E;
  13.     var E = window.jQuery = function (a, c) {
  14.         if (window == this || !this.init) return new E(a, c);
  15.         return this.init(a, c)
  16.     };
  17.     if (typeof $ != "undefined") var D = $;
  18.     window.$ = E;
  19.     var u = /^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/;
  20.     E.fn = E.prototype = {
  21.         init: function (a, c) {
  22.             a = a || document;
  23.             if (typeof a == "string") {
  24.                 var m = u.exec(a);
  25.                 if (m && (m[1] || !c)) {
  26.                     if (m[1]) a = E.clean([m[1]], c);
  27.                     else {
  28.                         var b = document.getElementById(m[3]);
  29.                         if (b)
  30.                             if (b.id != m[3]) return E().find(a);
  31.                             else {
  32.                                 this[0] = b;
  33.                                 this.length = 1;
  34.                                 return this
  35.                             } else a = []
  36.                     }
  37.                 } else return new E(c).find(a)
  38.             } else if (E.isFunction(a)) return new E(document)[E.fn.ready ? "ready" : "load"](a);
  39.             return this.setArray(a.constructor == Array && a || (a.jquery || a.length && a != window && !a.nodeType && a[0] != undefined && a[0].nodeType) && E.makeArray(a) || [a])
  40.         },
  41.         jquery: "1.2",
  42.         size: function () {
  43.             return this.length
  44.         },
  45.         length: 0,
  46.         get: function (a) {
  47.             return a == undefined ? E.makeArray(this) : this[a]
  48.         },
  49.         pushStack: function (a) {
  50.             var b = E(a);
  51.             b.prevObject = this;
  52.             return b
  53.         },
  54.         setArray: function (a) {
  55.             this.length = 0;
  56.             Array.prototype.push.apply(this, a);
  57.             return this
  58.         },
  59.         each: function (a, b) {
  60.             return E.each(this, a, b)
  61.         },
  62.         index: function (a) {
  63.             var b = -1;
  64.             this.each(function (i) {
  65.                 if (this == a) b = i
  66.             });
  67.             return b
  68.         },
  69.         attr: function (f, d, e) {
  70.             var c = f;
  71.             if (f.constructor == String)
  72.                 if (d == undefined) return this.length && E[e || "attr"](this[0], f) || undefined;
  73.                 else {
  74.                     c = {};
  75.                     c[f] = d
  76.                 }
  77.             return this.each(function (a) {
  78.                 for (var b in c) E.attr(e ? this.style : this, b, E.prop(this, c[b], e, a, b))
  79.             })
  80.         },
  81.         css: function (b, a) {
  82.             return this.attr(b, a, "curCSS")
  83.         },
  84.         text: function (e) {
  85.             if (typeof e != "object" && e != null) return this.empty().append(document.createTextNode(e));
  86.             var t = "";
  87.             E.each(e || this, function () {
  88.                 E.each(this.childNodes, function () {
  89.                     if (this.nodeType != 8) t += this.nodeType != 1 ? this.nodeValue : E.fn.text([this])
  90.                 })
  91.             });
  92.             return t
  93.         },
  94.         wrapAll: function (b) {
  95.             if (this[0]) E(b, this[0].ownerDocument).clone().insertBefore(this[0]).map(function () {
  96.                 var a = this;
  97.                 while (a.firstChild) a = a.firstChild;
  98.                 return a
  99.             }).append(this);
  100.             return this
  101.         },
  102.         wrapInner: function (a) {
  103.             return this.each(function () {
  104.                 E(this).contents().wrapAll(a)
  105.             })
  106.         },
  107.         wrap: function (a) {
  108.             return this.each(function () {
  109.                 E(this).wrapAll(a)
  110.             })
  111.         },
  112.         append: function () {
  113.             return this.domManip(arguments, true, 1, function (a) {
  114.                 this.appendChild(a)
  115.             })
  116.         },
  117.         prepend: function () {
  118.             return this.domManip(arguments, true, -1, function (a) {
  119.                 this.insertBefore(a, this.firstChild)
  120.             })
  121.         },
  122.         before: function () {
  123.             return this.domManip(arguments, false, 1, function (a) {
  124.                 this.parentNode.insertBefore(a, this)
  125.             })
  126.         },
  127.         after: function () {
  128.             return this.domManip(arguments, false, -1, function (a) {
  129.                 this.parentNode.insertBefore(a, this.nextSibling)
  130.             })
  131.         },
  132.         end: function () {
  133.             return this.prevObject || E([])
  134.         },
  135.         find: function (t) {
  136.             var b = E.map(this, function (a) {
  137.                 return E.find(t, a)
  138.             });
  139.             return this.pushStack(/[^+>] [^+>]/.test(t) || t.indexOf("..") > -1 ? E.unique(b) : b)
  140.         },
  141.         clone: function (e) {
  142.             var f = this.map(function () {
  143.                 return this.outerHTML ? E(this.outerHTML)[0] : this.cloneNode(true)
  144.             });
  145.             if (e === true) {
  146.                 var d = f.find("*").andSelf();
  147.                 this.find("*").andSelf().each(function (i) {
  148.                     var c = E.data(this, "events");
  149.                     for (var a in c)
  150.                         for (var b in c[a]) E.event.add(d[i], a, c[a][b], c[a][b].data)
  151.                 })
  152.             }
  153.             return f
  154.         },
  155.         filter: function (t) {
  156.             return this.pushStack(E.isFunction(t) && E.grep(this, function (b, a) {
  157.                 return t.apply(b, [a])
  158.             }) || E.multiFilter(t, this))
  159.         },
  160.         not: function (t) {
  161.             return this.pushStack(t.constructor == String && E.multiFilter(t, this, true) || E.grep(this, function (a) {
  162.                 return (t.constructor == Array || t.jquery) ? E.inArray(a, t) < 0 : a != t
  163.             }))
  164.         },
  165.         add: function (t) {
  166.             return this.pushStack(E.merge(this.get(), t.constructor == String ? E(t).get() : t.length != undefined && (!t.nodeName || t.nodeName == "FORM") ? t : [t]))
  167.         },
  168.         is: function (a) {
  169.             return a ? E.multiFilter(a, this).length > 0 : false
  170.         },
  171.         hasClass: function (a) {
  172.             return this.is("." + a)
  173.         },
  174.         val: function (b) {
  175.             if (b == undefined) {
  176.                 if (this.length) {
  177.                     var c = this[0];
  178.                     if (E.nodeName(c, "select")) {
  179.                         var e = c.selectedIndex,
  180.                             a = [],
  181.                             options = c.options,
  182.                             one = c.type == "select-one";
  183.                         if (e < 0) return null;
  184.                         for (var i = one ? e : 0, max = one ? e + 1 : options.length; i < max; i++) {
  185.                             var d = options[i];
  186.                             if (d.selected) {
  187.                                 var b = E.browser.msie && !d.attributes["value"].specified ? d.text : d.value;
  188.                                 if (one) return b;
  189.                                 a.push(b)
  190.                             }
  191.                         }
  192.                         return a
  193.                     } else return this[0].value.replace(/\r/g, "")
  194.                 }
  195.             } else return this.each(function () {
  196.                 if (b.constructor == Array && /radio|checkbox/.test(this.type)) this.checked = (E.inArray(this.value, b) >= 0 || E.inArray(this.name, b) >= 0);
  197.                 else if (E.nodeName(this, "select")) {
  198.                     var a = b.constructor == Array ? b : [b];
  199.                     E("option", this).each(function () {
  200.                         this.selected = (E.inArray(this.value, a) >= 0 || E.inArray(this.text, a) >= 0)
  201.                     });
  202.                     if (!a.length) this.selectedIndex = -1
  203.                 } else this.value = b
  204.             })
  205.         },
  206.         html: function (a) {
  207.             return a == undefined ? (this.length ? this[0].innerHTML : null) : this.empty().append(a)
  208.         },
  209.         replaceWith: function (a) {
  210.             return this.after(a).remove()
  211.         },
  212.         slice: function () {
  213.             return this.pushStack(Array.prototype.slice.apply(this, arguments))
  214.         },
  215.         map: function (b) {
  216.             return this.pushStack(E.map(this, function (a, i) {
  217.                 return b.call(a, i, a)
  218.             }))
  219.         },
  220.         andSelf: function () {
  221.             return this.add(this.prevObject)
  222.         },
  223.         domManip: function (f, d, g, e) {
  224.             var c = this.length > 1,
  225.                 a;
  226.             return this.each(function () {
  227.                 if (!a) {
  228.                     a = E.clean(f, this.ownerDocument);
  229.                     if (g < 0) a.reverse()
  230.                 }
  231.                 var b = this;
  232.                 if (d && E.nodeName(this, "table") && E.nodeName(a[0], "tr")) b = this.getElementsByTagName("tbody")[0] || this.appendChild(document.createElement("tbody"));
  233.                 E.each(a, function () {
  234.                     if (E.nodeName(this, "script")) {
  235.                         if (this.src) E.ajax({
  236.                             url: this.src,
  237.                             async: false,
  238.                             dataType: "script"
  239.                         });
  240.                         else E.globalEval(this.text || this.textContent || this.innerHTML || "")
  241.                     } else e.apply(b, [c ? this.cloneNode(true) : this])
  242.                 })
  243.             })
  244.         }
  245.     };
  246.     E.extend = E.fn.extend = function () {
  247.         var c = arguments[0] || {}, a = 1,
  248.             al = arguments.length,
  249.             deep = false;
  250.         if (c.constructor == Boolean) {
  251.             deep = c;
  252.             c = arguments[1] || {}
  253.         }
  254.         if (al == 1) {
  255.             c = this;
  256.             a = 0
  257.         }
  258.         var b;
  259.         for (; a < al; a++)
  260.             if ((b = arguments[a]) != null)
  261.                 for (var i in b) {
  262.                     if (c == b[i]) continue;
  263.                     if (deep && typeof b[i] == 'object' && c[i]) E.extend(c[i], b[i]);
  264.                     else if (b[i] != undefined) c[i] = b[i]
  265.                 }
  266.             return c
  267.     };
  268.     var F = "jQuery" + (new Date()).getTime(),
  269.         uuid = 0,
  270.         win = {};
  271.     E.extend({
  272.         noConflict: function (a) {
  273.             window.$ = D;
  274.             if (a) window.jQuery = w;
  275.             return E
  276.         },
  277.         isFunction: function (a) {
  278.             return !!a && typeof a != "string" && !a.nodeName && a.constructor != Array && /function/i.test(a + "")
  279.         },
  280.         isXMLDoc: function (a) {
  281.             return a.documentElement && !a.body || a.tagName && a.ownerDocument && !a.ownerDocument.body
  282.         },
  283.         globalEval: function (a) {
  284.             a = E.trim(a);
  285.             if (a) {
  286.                 if (window.execScript) window.execScript(a);
  287.                 else if (E.browser.safari) window.setTimeout(a, 0);
  288.                 else eval.call(window, a)
  289.             }
  290.         },
  291.         nodeName: function (b, a) {
  292.             return b.nodeName && b.nodeName.toUpperCase() == a.toUpperCase()
  293.         },
  294.         cache: {},
  295.         data: function (c, d, b) {
  296.             c = c == window ? win : c;
  297.             var a = c[F];
  298.             if (!a) a = c[F] = ++uuid;
  299.             if (d && !E.cache[a]) E.cache[a] = {};
  300.             if (b != undefined) E.cache[a][d] = b;
  301.             return d ? E.cache[a][d] : a
  302.         },
  303.         removeData: function (c, b) {
  304.             c = c == window ? win : c;
  305.             var a = c[F];
  306.             if (b) {
  307.                 if (E.cache[a]) {
  308.                     delete E.cache[a][b];
  309.                     b = "";
  310.                     for (b in E.cache[a]) break;
  311.                     if (!b) E.removeData(c)
  312.                 }
  313.             } else {
  314.                 try {
  315.                     delete c[F]
  316.                 } catch (e) {
  317.                     if (c.removeAttribute) c.removeAttribute(F)
  318.                 }
  319.                 delete E.cache[a]
  320.             }
  321.         },
  322.         each: function (a, b, c) {
  323.             if (c) {
  324.                 if (a.length == undefined)
  325.                     for (var i in a) b.apply(a[i], c);
  326.                 else
  327.                     for (var i = 0, ol = a.length; i < ol; i++)
  328.                         if (b.apply(a[i], c) === false) break
  329.             } else {
  330.                 if (a.length == undefined)
  331.                     for (var i in a) b.call(a[i], i, a[i]);
  332.                 else
  333.                     for (var i = 0, ol = a.length, val = a[0]; i < ol && b.call(val, i, val) !== false; val = a[++i]) {}
  334.             }
  335.             return a
  336.         },
  337.         prop: function (c, b, d, e, a) {
  338.             if (E.isFunction(b)) b = b.call(c, [e]);
  339.             var f = /z-?index|font-?weight|opacity|zoom|line-?height/i;
  340.             return b && b.constructor == Number && d == "curCSS" && !f.test(a) ? b + "px" : b
  341.         },
  342.         className: {
  343.             add: function (b, c) {
  344.                 E.each((c || "").split(/\s+/), function (i, a) {
  345.                     if (!E.className.has(b.className, a)) b.className += (b.className ? " " : "") + a
  346.                 })
  347.             },
  348.             remove: function (b, c) {
  349.                 b.className = c != undefined ? E.grep(b.className.split(/\s+/), function (a) {
  350.                     return !E.className.has(c, a)
  351.                 }).join(" ") : ""
  352.             },
  353.             has: function (t, c) {
  354.                 return E.inArray(c, (t.className || t).toString().split(/\s+/)) > -1
  355.             }
  356.         },
  357.         swap: function (e, o, f) {
  358.             for (var i in o) {
  359.                 e.style["old" + i] = e.style[i];
  360.                 e.style[i] = o[i]
  361.             }
  362.             f.apply(e, []);
  363.             for (var i in o) e.style[i] = e.style["old" + i]
  364.         },
  365.         css: function (e, p) {
  366.             if (p == "height" || p == "width") {
  367.                 var b = {}, oHeight, oWidth, d = ["Top", "Bottom", "Right", "Left"];
  368.                 E.each(d, function () {
  369.                     b["padding" + this] = 0;
  370.                     b["border" + this + "Width"] = 0
  371.                 });
  372.                 E.swap(e, b, function () {
  373.                     if (E(e).is(':visible')) {
  374.                         oHeight = e.offsetHeight;
  375.                         oWidth = e.offsetWidth
  376.                     } else {
  377.                         e = E(e.cloneNode(true)).find(":radio").removeAttr("checked").end().css({
  378.                             visibility: "hidden",
  379.                             position: "absolute",
  380.                             display: "block",
  381.                             right: "0",
  382.                             left: "0"
  383.                         }).appendTo(e.parentNode)[0];
  384.                         var a = E.css(e.parentNode, "position") || "static";
  385.                         if (a == "static") e.parentNode.style.position = "relative";
  386.                         oHeight = e.clientHeight;
  387.                         oWidth = e.clientWidth;
  388.                         if (a == "static") e.parentNode.style.position = "static";
  389.                         e.parentNode.removeChild(e)
  390.                     }
  391.                 });
  392.                 return p == "height" ? oHeight : oWidth
  393.             }
  394.             return E.curCSS(e, p)
  395.         },
  396.         curCSS: function (h, j, i) {
  397.             var g, stack = [],
  398.                 swap = [];
  399.  
  400.             function color(a) {
  401.                 if (!E.browser.safari) return false;
  402.                 var b = document.defaultView.getComputedStyle(a, null);
  403.                 return !b || b.getPropertyValue("color") == ""
  404.             }
  405.             if (j == "opacity" && E.browser.msie) {
  406.                 g = E.attr(h.style, "opacity");
  407.                 return g == "" ? "1" : g
  408.             }
  409.             if (j.match(/float/i)) j = y;
  410.             if (!i && h.style[j]) g = h.style[j];
  411.             else if (document.defaultView && document.defaultView.getComputedStyle) {
  412.                 if (j.match(/float/i)) j = "float";
  413.                 j = j.replace(/([A-Z])/g, "-$1").toLowerCase();
  414.                 var d = document.defaultView.getComputedStyle(h, null);
  415.                 if (d && !color(h)) g = d.getPropertyValue(j);
  416.                 else {
  417.                     for (var a = h; a && color(a); a = a.parentNode) stack.unshift(a);
  418.                     for (a = 0; a < stack.length; a++)
  419.                         if (color(stack[a])) {
  420.                             swap[a] = stack[a].style.display;
  421.                             stack[a].style.display = "block"
  422.                         }
  423.                     g = j == "display" && swap[stack.length - 1] != null ? "none" : document.defaultView.getComputedStyle(h, null).getPropertyValue(j) || "";
  424.                     for (a = 0; a < swap.length; a++)
  425.                         if (swap[a] != null) stack[a].style.display = swap[a]
  426.                 } if (j == "opacity" && g == "") g = "1"
  427.             } else if (h.currentStyle) {
  428.                 var f = j.replace(/\-(\w)/g, function (m, c) {
  429.                     return c.toUpperCase()
  430.                 });
  431.                 g = h.currentStyle[j] || h.currentStyle[f];
  432.                 if (!/^\d+(px)?$/i.test(g) && /^\d/.test(g)) {
  433.                     var k = h.style.left;
  434.                     var e = h.runtimeStyle.left;
  435.                     h.runtimeStyle.left = h.currentStyle.left;
  436.                     h.style.left = g || 0;
  437.                     g = h.style.pixelLeft + "px";
  438.                     h.style.left = k;
  439.                     h.runtimeStyle.left = e
  440.                 }
  441.             }
  442.             return g
  443.         },
  444.         clean: function (a, e) {
  445.             var r = [];
  446.             e = e || document;
  447.             E.each(a, function (i, d) {
  448.                 if (!d) return;
  449.                 if (d.constructor == Number) d = d.toString();
  450.                 if (typeof d == "string") {
  451.                     d = d.replace(/(<(\w+)[^>]*?)\/>/g, function (m, a, b) {
  452.                         return b.match(/^(abbr|br|col|img|input|link|meta|param|hr|area)$/i) ? m : a + "></" + b + ">"
  453.                     });
  454.                     var s = E.trim(d).toLowerCase(),
  455.                         div = e.createElement("div"),
  456.                         tb = [];
  457.                     var c = !s.indexOf("<opt") && [1, "<select>", "</select>"] || !s.indexOf("<leg") && [1, "<fieldset>", "</fieldset>"] || s.match(/^<(thead|tbody|tfoot|colg|cap)/) && [1, "<table>", "</table>"] || !s.indexOf("<tr") && [2, "<table><tbody>", "</tbody></table>"] || (!s.indexOf("<td") || !s.indexOf("<th")) && [3, "<table><tbody><tr>", "</tr></tbody></table>"] || !s.indexOf("<col") && [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"] || E.browser.msie && [1, "div<div>", "</div>"] || [0, "", ""];
  458.                     div.innerHTML = c[1] + d + c[2];
  459.                     while (c[0]--) div = div.lastChild;
  460.                     if (E.browser.msie) {
  461.                         if (!s.indexOf("<table") && s.indexOf("<tbody") < 0) tb = div.firstChild && div.firstChild.childNodes;
  462.                         else if (c[1] == "<table>" && s.indexOf("<tbody") < 0) tb = div.childNodes;
  463.                         for (var n = tb.length - 1; n >= 0; --n)
  464.                             if (E.nodeName(tb[n], "tbody") && !tb[n].childNodes.length) tb[n].parentNode.removeChild(tb[n]);
  465.                         if (/^\s/.test(d)) div.insertBefore(e.createTextNode(d.match(/^\s*/)[0]), div.firstChild)
  466.                     }
  467.                     d = E.makeArray(div.childNodes)
  468.                 }
  469.                 if (0 === d.length && (!E.nodeName(d, "form") && !E.nodeName(d, "select"))) return;
  470.                 if (d[0] == undefined || E.nodeName(d, "form") || d.options) r.push(d);
  471.                 else r = E.merge(r, d)
  472.             });
  473.             return r
  474.         },
  475.         attr: function (c, d, a) {
  476.             var e = E.isXMLDoc(c) ? {} : E.props;
  477.             if (d == "selected" && E.browser.safari) c.parentNode.selectedIndex;
  478.             if (e[d]) {
  479.                 if (a != undefined) c[e[d]] = a;
  480.                 return c[e[d]]
  481.             } else if (E.browser.msie && d == "style") return E.attr(c.style, "cssText", a);
  482.             else if (a == undefined && E.browser.msie && E.nodeName(c, "form") && (d == "action" || d == "method")) return c.getAttributeNode(d).nodeValue;
  483.             else if (c.tagName) {
  484.                 if (a != undefined) {
  485.                     if (d == "type" && E.nodeName(c, "input") && c.parentNode) throw "type property can't be changed";
  486.                     c.setAttribute(d, a)
  487.                 }
  488.                 if (E.browser.msie && /href|src/.test(d) && !E.isXMLDoc(c)) return c.getAttribute(d, 2);
  489.                 return c.getAttribute(d)
  490.             } else {
  491.                 if (d == "opacity" && E.browser.msie) {
  492.                     if (a != undefined) {
  493.                         c.zoom = 1;
  494.                         c.filter = (c.filter || "").replace(/alpha\([^)]*\)/, "") + (parseFloat(a).toString() == "NaN" ? "" : "alpha(opacity=" + a * 100 + ")")
  495.                     }
  496.                     return c.filter ? (parseFloat(c.filter.match(/opacity=([^)]*)/)[1]) / 100).toString() : ""
  497.                 }
  498.                 d = d.replace(/-([a-z])/ig, function (z, b) {
  499.                     return b.toUpperCase()
  500.                 });
  501.                 if (a != undefined) c[d] = a;
  502.                 return c[d]
  503.             }
  504.         },
  505.         trim: function (t) {
  506.             return (t || "").replace(/^\s+|\s+$/g, "")
  507.         },
  508.         makeArray: function (a) {
  509.             var r = [];
  510.             if (typeof a != "array")
  511.                 for (var i = 0, al = a.length; i < al; i++) r.push(a[i]);
  512.             else r = a.slice(0);
  513.             return r
  514.         },
  515.         inArray: function (b, a) {
  516.             for (var i = 0, al = a.length; i < al; i++)
  517.                 if (a[i] == b) return i;
  518.             return -1
  519.         },
  520.         merge: function (a, b) {
  521.             if (E.browser.msie) {
  522.                 for (var i = 0; b[i]; i++)
  523.                     if (b[i].nodeType != 8) a.push(b[i])
  524.             } else
  525.                 for (var i = 0; b[i]; i++) a.push(b[i]);
  526.             return a
  527.         },
  528.         unique: function (b) {
  529.             var r = [],
  530.                 done = {};
  531.             try {
  532.                 for (var i = 0, fl = b.length; i < fl; i++) {
  533.                     var a = E.data(b[i]);
  534.                     if (!done[a]) {
  535.                         done[a] = true;
  536.                         r.push(b[i])
  537.                     }
  538.                 }
  539.             } catch (e) {
  540.                 r = b
  541.             }
  542.             return r
  543.         },
  544.         grep: function (b, a, c) {
  545.             if (typeof a == "string") a = eval("false||function(a,i){return " + a + "}");
  546.             var d = [];
  547.             for (var i = 0, el = b.length; i < el; i++)
  548.                 if (!c && a(b[i], i) || c && !a(b[i], i)) d.push(b[i]);
  549.             return d
  550.         },
  551.         map: function (c, b) {
  552.             if (typeof b == "string") b = eval("false||function(a){return " + b + "}");
  553.             var d = [];
  554.             for (var i = 0, el = c.length; i < el; i++) {
  555.                 var a = b(c[i], i);
  556.                 if (a !== null && a != undefined) {
  557.                     if (a.constructor != Array) a = [a];
  558.                     d = d.concat(a)
  559.                 }
  560.             }
  561.             return d
  562.         }
  563.     });
  564.     var v = navigator.userAgent.toLowerCase();
  565.     E.browser = {
  566.         version: (v.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1],
  567.         safari: /webkit/.test(v),
  568.         opera: /opera/.test(v),
  569.         msie: /msie/.test(v) && !/opera/.test(v),
  570.         mozilla: /mozilla/.test(v) && !/(compatible|webkit)/.test(v)
  571.     };
  572.     var y = E.browser.msie ? "styleFloat" : "cssFloat";
  573.     E.extend({
  574.         boxModel: !E.browser.msie || document.compatMode == "CSS1Compat",
  575.         styleFloat: E.browser.msie ? "styleFloat" : "cssFloat",
  576.         props: {
  577.             "for": "htmlFor",
  578.             "class": "className",
  579.             "float": y,
  580.             cssFloat: y,
  581.             styleFloat: y,
  582.             innerHTML: "innerHTML",
  583.             className: "className",
  584.             value: "value",
  585.             disabled: "disabled",
  586.             checked: "checked",
  587.             readonly: "readOnly",
  588.             selected: "selected",
  589.             maxlength: "maxLength"
  590.         }
  591.     });
  592.     E.each({
  593.         parent: "a.parentNode",
  594.         parents: "jQuery.dir(a,'parentNode')",
  595.         next: "jQuery.nth(a,2,'nextSibling')",
  596.         prev: "jQuery.nth(a,2,'previousSibling')",
  597.         nextAll: "jQuery.dir(a,'nextSibling')",
  598.         prevAll: "jQuery.dir(a,'previousSibling')",
  599.         siblings: "jQuery.sibling(a.parentNode.firstChild,a)",
  600.         children: "jQuery.sibling(a.firstChild)",
  601.         contents: "jQuery.nodeName(a,'iframe')?a.contentDocument||a.contentWindow.document:jQuery.makeArray(a.childNodes)"
  602.     }, function (i, n) {
  603.         E.fn[i] = function (a) {
  604.             var b = E.map(this, n);
  605.             if (a && typeof a == "string") b = E.multiFilter(a, b);
  606.             return this.pushStack(E.unique(b))
  607.         }
  608.     });
  609.     E.each({
  610.         appendTo: "append",
  611.         prependTo: "prepend",
  612.         insertBefore: "before",
  613.         insertAfter: "after",
  614.         replaceAll: "replaceWith"
  615.     }, function (i, n) {
  616.         E.fn[i] = function () {
  617.             var a = arguments;
  618.             return this.each(function () {
  619.                 for (var j = 0, al = a.length; j < al; j++) E(a[j])[n](this)
  620.             })
  621.         }
  622.     });
  623.     E.each({
  624.         removeAttr: function (a) {
  625.             E.attr(this, a, "");
  626.             this.removeAttribute(a)
  627.         },
  628.         addClass: function (c) {
  629.             E.className.add(this, c)
  630.         },
  631.         removeClass: function (c) {
  632.             E.className.remove(this, c)
  633.         },
  634.         toggleClass: function (c) {
  635.             E.className[E.className.has(this, c) ? "remove" : "add"](this, c)
  636.         },
  637.         remove: function (a) {
  638.             if (!a || E.filter(a, [this]).r.length) {
  639.                 E.removeData(this);
  640.                 this.parentNode.removeChild(this)
  641.             }
  642.         },
  643.         empty: function () {
  644.             E("*", this).each(function () {
  645.                 E.removeData(this)
  646.             });
  647.             while (this.firstChild) this.removeChild(this.firstChild)
  648.         }
  649.     }, function (i, n) {
  650.         E.fn[i] = function () {
  651.             return this.each(n, arguments)
  652.         }
  653.     });
  654.     E.each(["Height", "Width"], function (i, a) {
  655.         var n = a.toLowerCase();
  656.         E.fn[n] = function (h) {
  657.             return this[0] == window ? E.browser.safari && self["inner" + a] || E.boxModel && Math.max(document.documentElement["client" + a], document.body["client" + a]) || document.body["client" + a] : this[0] == document ? Math.max(document.body["scroll" + a], document.body["offset" + a]) : h == undefined ? (this.length ? E.css(this[0], n) : null) : this.css(n, h.constructor == String ? h : h + "px")
  658.         }
  659.     });
  660.     var C = E.browser.safari && parseInt(E.browser.version) < 417 ? "(?:[\\w*_-]|\\\\.)" : "(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",
  661.         quickChild = new RegExp("^>\\s*(" + C + "+)"),
  662.         quickID = new RegExp("^(" + C + "+)(#)(" + C + "+)"),
  663.         quickClass = new RegExp("^([#.]?)(" + C + "*)");
  664.     E.extend({
  665.         expr: {
  666.             "": "m[2]=='*'||jQuery.nodeName(a,m[2])",
  667.             "#": "a.getAttribute('id')==m[2]",
  668.             ":": {
  669.                 lt: "i<m[3]-0",
  670.                 gt: "i>m[3]-0",
  671.                 nth: "m[3]-0==i",
  672.                 eq: "m[3]-0==i",
  673.                 first: "i==0",
  674.                 last: "i==r.length-1",
  675.                 even: "i%2==0",
  676.                 odd: "i%2",
  677.                 "first-child": "a.parentNode.getElementsByTagName('*')[0]==a",
  678.                 "last-child": "jQuery.nth(a.parentNode.lastChild,1,'previousSibling')==a",
  679.                 "only-child": "!jQuery.nth(a.parentNode.lastChild,2,'previousSibling')",
  680.                 parent: "a.firstChild",
  681.                 empty: "!a.firstChild",
  682.                 contains: "(a.textContent||a.innerText||'').indexOf(m[3])>=0",
  683.                 visible: '"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden"',
  684.                 hidden: '"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden"',
  685.                 enabled: "!a.disabled",
  686.                 disabled: "a.disabled",
  687.                 checked: "a.checked",
  688.                 selected: "a.selected||jQuery.attr(a,'selected')",
  689.                 text: "'text'==a.type",
  690.                 radio: "'radio'==a.type",
  691.                 checkbox: "'checkbox'==a.type",
  692.                 file: "'file'==a.type",
  693.                 password: "'password'==a.type",
  694.                 submit: "'submit'==a.type",
  695.                 image: "'image'==a.type",
  696.                 reset: "'reset'==a.type",
  697.                 button: '"button"==a.type||jQuery.nodeName(a,"button")',
  698.                 input: "/input|select|textarea|button/i.test(a.nodeName)",
  699.                 has: "jQuery.find(m[3],a).length",
  700.                 header: "/h\\d/i.test(a.nodeName)",
  701.                 animated: "jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length"
  702.             }
  703.         },
  704.         parse: [/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/, /^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/, new RegExp("^([:.#]*)(" + C + "+)")],
  705.        multiFilter: function (a, c, b) {
  706.            var d, cur = [];
  707.            while (a && a != d) {
  708.                d = a;
  709.                var f = E.filter(a, c, b);
  710.                a = f.t.replace(/^\s*,\s*/, "");
  711.                cur = b ? c = f.r : E.merge(cur, f.r)
  712.            }
  713.            return cur
  714.        },
  715.        find: function (t, o) {
  716.            if (typeof t != "string") return [t];
  717.            if (o && !o.nodeType) o = null;
  718.            o = o || document;
  719.            var d = [o],
  720.                done = [],
  721.                last;
  722.            while (t && last != t) {
  723.                var r = [];
  724.                last = t;
  725.                t = E.trim(t);
  726.                var l = false;
  727.                var g = quickChild;
  728.                var m = g.exec(t);
  729.                if (m) {
  730.                    var p = m[1].toUpperCase();
  731.                    for (var i = 0; d[i]; i++)
  732.                        for (var c = d[i].firstChild; c; c = c.nextSibling)
  733.                            if (c.nodeType == 1 && (p == "*" || c.nodeName.toUpperCase() == p.toUpperCase())) r.push(c);
  734.                    d = r;
  735.                    t = t.replace(g, "");
  736.                    if (t.indexOf(" ") == 0) continue;
  737.                    l = true
  738.                } else {
  739.                    g = /^([>+~])\s*(\w*)/i;
  740.                    if ((m = g.exec(t)) != null) {
  741.                        r = [];
  742.                        var p = m[2],
  743.                            merge = {};
  744.                        m = m[1];
  745.                        for (var j = 0, rl = d.length; j < rl; j++) {
  746.                            var n = m == "~" || m == "+" ? d[j].nextSibling : d[j].firstChild;
  747.                            for (; n; n = n.nextSibling)
  748.                                if (n.nodeType == 1) {
  749.                                    var h = E.data(n);
  750.                                    if (m == "~" && merge[h]) break;
  751.                                    if (!p || n.nodeName.toUpperCase() == p.toUpperCase()) {
  752.                                        if (m == "~") merge[h] = true;
  753.                                        r.push(n)
  754.                                    }
  755.                                    if (m == "+") break
  756.                                }
  757.                        }
  758.                        d = r;
  759.                        t = E.trim(t.replace(g, ""));
  760.                        l = true
  761.                    }
  762.                } if (t && !l) {
  763.                    if (!t.indexOf(",")) {
  764.                        if (o == d[0]) d.shift();
  765.                        done = E.merge(done, d);
  766.                        r = d = [o];
  767.                        t = " " + t.substr(1, t.length)
  768.                    } else {
  769.                        var k = quickID;
  770.                        var m = k.exec(t);
  771.                        if (m) {
  772.                            m = [0, m[2], m[3], m[1]]
  773.                        } else {
  774.                            k = quickClass;
  775.                            m = k.exec(t)
  776.                        }
  777.                        m[2] = m[2].replace(/\\/g, "");
  778.                        var f = d[d.length - 1];
  779.                        if (m[1] == "#" && f && f.getElementById && !E.isXMLDoc(f)) {
  780.                            var q = f.getElementById(m[2]);
  781.                            if ((E.browser.msie || E.browser.opera) && q && typeof q.id == "string" && q.id != m[2]) q = E('[@id="' + m[2] + '"]', f)[0];
  782.                            d = r = q && (!m[3] || E.nodeName(q, m[3])) ? [q] : []
  783.                        } else {
  784.                            for (var i = 0; d[i]; i++) {
  785.                                var a = m[1] == "#" && m[3] ? m[3] : m[1] != "" || m[0] == "" ? "*" : m[2];
  786.                                if (a == "*" && d[i].nodeName.toLowerCase() == "object") a = "param";
  787.                                r = E.merge(r, d[i].getElementsByTagName(a))
  788.                            }
  789.                            if (m[1] == ".") r = E.classFilter(r, m[2]);
  790.                            if (m[1] == "#") {
  791.                                var e = [];
  792.                                for (var i = 0; r[i]; i++)
  793.                                    if (r[i].getAttribute("id") == m[2]) {
  794.                                        e = [r[i]];
  795.                                        break
  796.                                    }
  797.                                r = e
  798.                            }
  799.                            d = r
  800.                        }
  801.                        t = t.replace(k, "")
  802.                    }
  803.                }
  804.                if (t) {
  805.                    var b = E.filter(t, r);
  806.                    d = r = b.r;
  807.                    t = E.trim(b.t)
  808.                }
  809.            }
  810.            if (t) d = [];
  811.            if (d && o == d[0]) d.shift();
  812.            done = E.merge(done, d);
  813.            return done
  814.        },
  815.        classFilter: function (r, m, a) {
  816.            m = " " + m + " ";
  817.            var c = [];
  818.            for (var i = 0; r[i]; i++) {
  819.                var b = (" " + r[i].className + " ").indexOf(m) >= 0;
  820.                if (!a && b || a && !b) c.push(r[i])
  821.            }
  822.            return c
  823.        },
  824.        filter: function (t, r, h) {
  825.            var d;
  826.            while (t && t != d) {
  827.                d = t;
  828.                var p = E.parse,
  829.                    m;
  830.                for (var i = 0; p[i]; i++) {
  831.                    m = p[i].exec(t);
  832.                    if (m) {
  833.                        t = t.substring(m[0].length);
  834.                        m[2] = m[2].replace(/\\/g, "");
  835.                        break
  836.                    }
  837.                }
  838.                if (!m) break;
  839.                if (m[1] == ":" && m[2] == "not") r = E.filter(m[3], r, true).r;
  840.                else if (m[1] == ".") r = E.classFilter(r, m[2], h);
  841.                else if (m[1] == "[") {
  842.                    var g = [],
  843.                        type = m[3];
  844.                    for (var i = 0, rl = r.length; i < rl; i++) {
  845.                        var a = r[i],
  846.                            z = a[E.props[m[2]] || m[2]];
  847.                        if (z == null || /href|src|selected/.test(m[2])) z = E.attr(a, m[2]) || '';
  848.                        if ((type == "" && !! z || type == "=" && z == m[5] || type == "!=" && z != m[5] || type == "^=" && z && !z.indexOf(m[5]) || type == "$=" && z.substr(z.length - m[5].length) == m[5] || (type == "*=" || type == "~=") && z.indexOf(m[5]) >= 0) ^ h) g.push(a)
  849.                    }
  850.                    r = g
  851.                } else if (m[1] == ":" && m[2] == "nth-child") {
  852.                    var e = {}, g = [],
  853.                        test = /(\d*)n\+?(\d*)/.exec(m[3] == "even" && "2n" || m[3] == "odd" && "2n+1" || !/\D/.test(m[3]) && "n+" + m[3] || m[3]),
  854.                        first = (test[1] || 1) - 0,
  855.                        d = test[2] - 0;
  856.                    for (var i = 0, rl = r.length; i < rl; i++) {
  857.                        var j = r[i],
  858.                            parentNode = j.parentNode,
  859.                            id = E.data(parentNode);
  860.                        if (!e[id]) {
  861.                            var c = 1;
  862.                            for (var n = parentNode.firstChild; n; n = n.nextSibling)
  863.                                if (n.nodeType == 1) n.nodeIndex = c++;
  864.                            e[id] = true
  865.                        }
  866.                        var b = false;
  867.                        if (first == 1) {
  868.                            if (d == 0 || j.nodeIndex == d) b = true
  869.                        } else if ((j.nodeIndex + d) % first == 0) b = true;
  870.                        if (b ^ h) g.push(j)
  871.                    }
  872.                    r = g
  873.                } else {
  874.                    var f = E.expr[m[1]];
  875.                    if (typeof f != "string") f = E.expr[m[1]][m[2]];
  876.                    f = eval("false||function(a,i){return " + f + "}");
  877.                    r = E.grep(r, f, h)
  878.                }
  879.            }
  880.            return {
  881.                r: r,
  882.                t: t
  883.            }
  884.        },
  885.        dir: function (b, c) {
  886.            var d = [];
  887.            var a = b[c];
  888.            while (a && a != document) {
  889.                if (a.nodeType == 1) d.push(a);
  890.                a = a[c]
  891.            }
  892.            return d
  893.        },
  894.        nth: function (a, e, c, b) {
  895.            e = e || 1;
  896.            var d = 0;
  897.            for (; a; a = a[c])
  898.                if (a.nodeType == 1 && ++d == e) break;
  899.            return a
  900.        },
  901.        sibling: function (n, a) {
  902.            var r = [];
  903.            for (; n; n = n.nextSibling) {
  904.                if (n.nodeType == 1 && (!a || n != a)) r.push(n)
  905.            }
  906.            return r
  907.        }
  908.    });
  909.    E.event = {
  910.        add: function (g, e, c, h) {
  911.            if (E.browser.msie && g.setInterval != undefined) g = window;
  912.            if (!c.guid) c.guid = this.guid++;
  913.            if (h != undefined) {
  914.                var d = c;
  915.                c = function () {
  916.                    return d.apply(this, arguments)
  917.                };
  918.                c.data = h;
  919.                c.guid = d.guid
  920.            }
  921.            var i = e.split(".");
  922.            e = i[0];
  923.            c.type = i[1];
  924.            var b = E.data(g, "events") || E.data(g, "events", {});
  925.            var f = E.data(g, "handle", function () {
  926.                var a;
  927.                if (typeof E == "undefined" || E.event.triggered) return a;
  928.                a = E.event.handle.apply(g, arguments);
  929.                return a
  930.            });
  931.            var j = b[e];
  932.            if (!j) {
  933.                j = b[e] = {};
  934.                if (g.addEventListener) g.addEventListener(e, f, false);
  935.                else g.attachEvent("on" + e, f)
  936.            }
  937.            j[c.guid] = c;
  938.            this.global[e] = true
  939.        },
  940.        guid: 1,
  941.        global: {},
  942.        remove: function (d, c, b) {
  943.            var e = E.data(d, "events"),
  944.                ret, index;
  945.            if (typeof c == "string") {
  946.                var a = c.split(".");
  947.                c = a[0]
  948.            }
  949.            if (e) {
  950.                if (c && c.type) {
  951.                    b = c.handler;
  952.                    c = c.type
  953.                }
  954.                if (!c) {
  955.                    for (c in e) this.remove(d, c)
  956.                } else if (e[c]) {
  957.                    if (b) delete e[c][b.guid];
  958.                    else
  959.                        for (b in e[c])
  960.                            if (!a[1] || e[c][b].type == a[1]) delete e[c][b]; for (ret in e[c]) break;
  961.                    if (!ret) {
  962.                        if (d.removeEventListener) d.removeEventListener(c, E.data(d, "handle"), false);
  963.                        else d.detachEvent("on" + c, E.data(d, "handle"));
  964.                        ret = null;
  965.                        delete e[c]
  966.                    }
  967.                }
  968.                for (ret in e) break;
  969.                if (!ret) {
  970.                    E.removeData(d, "events");
  971.                    E.removeData(d, "handle")
  972.                }
  973.            }
  974.        },
  975.        trigger: function (d, b, e, c, f) {
  976.            b = E.makeArray(b || []);
  977.            if (!e) {
  978.                if (this.global[d]) E("*").add([window, document]).trigger(d, b)
  979.            } else {
  980.                var a, ret, fn = E.isFunction(e[d] || null),
  981.                    evt = !b[0] || !b[0].preventDefault;
  982.                if (evt) b.unshift(this.fix({
  983.                    type: d,
  984.                    target: e
  985.                }));
  986.                if (E.isFunction(E.data(e, "handle"))) a = E.data(e, "handle").apply(e, b);
  987.                if (!fn && e["on" + d] && e["on" + d].apply(e, b) === false) a = false;
  988.                if (evt) b.shift();
  989.                if (f && f.apply(e, b) === false) a = false;
  990.                if (fn && c !== false && a !== false && !(E.nodeName(e, 'a') && d == "click")) {
  991.                    this.triggered = true;
  992.                    e[d]()
  993.                }
  994.                this.triggered = false
  995.            }
  996.            return a
  997.        },
  998.        handle: function (d) {
  999.            var a;
  1000.            d = E.event.fix(d || window.event || {});
  1001.            var b = d.type.split(".");
  1002.            d.type = b[0];
  1003.            var c = E.data(this, "events") && E.data(this, "events")[d.type],
  1004.                args = Array.prototype.slice.call(arguments, 1);
  1005.            args.unshift(d);
  1006.            for (var j in c) {
  1007.                args[0].handler = c[j];
  1008.                args[0].data = c[j].data;
  1009.                if (!b[1] || c[j].type == b[1]) {
  1010.                    var e = c[j].apply(this, args);
  1011.                    if (a !== false) a = e;
  1012.                    if (e === false) {
  1013.                        d.preventDefault();
  1014.                        d.stopPropagation()
  1015.                    }
  1016.                }
  1017.            }
  1018.            if (E.browser.msie) d.target = d.preventDefault = d.stopPropagation = d.handler = d.data = null;
  1019.            return a
  1020.        },
  1021.        fix: function (c) {
  1022.            var a = c;
  1023.            c = E.extend({}, a);
  1024.            c.preventDefault = function () {
  1025.                if (a.preventDefault) a.preventDefault();
  1026.                a.returnValue = false
  1027.            };
  1028.            c.stopPropagation = function () {
  1029.                if (a.stopPropagation) a.stopPropagation();
  1030.                a.cancelBubble = true
  1031.            };
  1032.            if (!c.target && c.srcElement) c.target = c.srcElement;
  1033.            if (E.browser.safari && c.target.nodeType == 3) c.target = a.target.parentNode;
  1034.            if (!c.relatedTarget && c.fromElement) c.relatedTarget = c.fromElement == c.target ? c.toElement : c.fromElement;
  1035.            if (c.pageX == null && c.clientX != null) {
  1036.                var e = document.documentElement,
  1037.                    b = document.body;
  1038.                c.pageX = c.clientX + (e && e.scrollLeft || b.scrollLeft || 0);
  1039.                c.pageY = c.clientY + (e && e.scrollTop || b.scrollTop || 0)
  1040.            }
  1041.            if (!c.which && (c.charCode || c.keyCode)) c.which = c.charCode || c.keyCode;
  1042.            if (!c.metaKey && c.ctrlKey) c.metaKey = c.ctrlKey;
  1043.            if (!c.which && c.button) c.which = (c.button & 1 ? 1 : (c.button & 2 ? 3 : (c.button & 4 ? 2 : 0)));
  1044.            return c
  1045.        }
  1046.    };
  1047.    E.fn.extend({
  1048.        bind: function (c, a, b) {
  1049.            return c == "unload" ? this.one(c, a, b) : this.each(function () {
  1050.                E.event.add(this, c, b || a, b && a)
  1051.            })
  1052.        },
  1053.        one: function (d, b, c) {
  1054.            return this.each(function () {
  1055.                E.event.add(this, d, function (a) {
  1056.                    E(this).unbind(a);
  1057.                    return (c || b).apply(this, arguments)
  1058.                }, c && b)
  1059.            })
  1060.        },
  1061.        unbind: function (a, b) {
  1062.            return this.each(function () {
  1063.                E.event.remove(this, a, b)
  1064.            })
  1065.        },
  1066.        trigger: function (c, a, b) {
  1067.            return this.each(function () {
  1068.                E.event.trigger(c, a, this, true, b)
  1069.            })
  1070.        },
  1071.        triggerHandler: function (c, a, b) {
  1072.            if (this[0]) return E.event.trigger(c, a, this[0], false, b)
  1073.        },
  1074.        toggle: function () {
  1075.            var a = arguments;
  1076.            return this.click(function (e) {
  1077.                this.lastToggle = 0 == this.lastToggle ? 1 : 0;
  1078.                e.preventDefault();
  1079.                return a[this.lastToggle].apply(this, [e]) || false
  1080.            })
  1081.        },
  1082.        hover: function (f, g) {
  1083.            function handleHover(e) {
  1084.                var p = e.relatedTarget;
  1085.                while (p && p != this) try {
  1086.                    p = p.parentNode
  1087.                } catch (e) {
  1088.                    p = this
  1089.                };
  1090.                if (p == this) return false;
  1091.                return (e.type == "mouseover" ? f : g).apply(this, [e])
  1092.            }
  1093.            return this.mouseover(handleHover).mouseout(handleHover)
  1094.        },
  1095.        ready: function (f) {
  1096.            bindReady();
  1097.            if (E.isReady) f.apply(document, [E]);
  1098.            else E.readyList.push(function () {
  1099.                return f.apply(this, [E])
  1100.            });
  1101.            return this
  1102.        }
  1103.    });
  1104.    E.extend({
  1105.        isReady: false,
  1106.        readyList: [],
  1107.        ready: function () {
  1108.            if (!E.isReady) {
  1109.                E.isReady = true;
  1110.                if (E.readyList) {
  1111.                    E.each(E.readyList, function () {
  1112.                        this.apply(document)
  1113.                    });
  1114.                    E.readyList = null
  1115.                }
  1116.                if (E.browser.mozilla || E.browser.opera) document.removeEventListener("DOMContentLoaded", E.ready, false);
  1117.                if (!window.frames.length) E(window).load(function () {
  1118.                    E("#__ie_init").remove()
  1119.                })
  1120.            }
  1121.        }
  1122.    });
  1123.    E.each(("blur,focus,load,resize,scroll,unload,click,dblclick," + "mousedown,mouseup,mousemove,mouseover,mouseout,change,select," + "submit,keydown,keypress,keyup,error").split(","), function (i, o) {
  1124.        E.fn[o] = function (f) {
  1125.            return f ? this.bind(o, f) : this.trigger(o)
  1126.        }
  1127.    });
  1128.    var x = false;
  1129.  
  1130.    function bindReady() {
  1131.        if (x) return;
  1132.        x = true;
  1133.        if (E.browser.mozilla || E.browser.opera) document.addEventListener("DOMContentLoaded", E.ready, false);
  1134.        else if (E.browser.msie) {
  1135.            document.write("<scr" + "ipt id=__ie_init defer=true " + "src=//:><\/script>");
  1136.             var a = document.getElementById("__ie_init");
  1137.             if (a) a.onreadystatechange = function () {
  1138.                 if (this.readyState != "complete") return;
  1139.                 E.ready()
  1140.             };
  1141.             a = null
  1142.         } else if (E.browser.safari) E.safariTimer = setInterval(function () {
  1143.             if (document.readyState == "loaded" || document.readyState == "complete") {
  1144.                 clearInterval(E.safariTimer);
  1145.                 E.safariTimer = null;
  1146.                 E.ready()
  1147.             }
  1148.         }, 10);
  1149.         E.event.add(window, "load", E.ready)
  1150.     }
  1151.     E.fn.extend({
  1152.         load: function (g, d, c) {
  1153.             if (E.isFunction(g)) return this.bind("load", g);
  1154.             var e = g.indexOf(" ");
  1155.             if (e >= 0) {
  1156.                 var i = g.slice(e, g.length);
  1157.                 g = g.slice(0, e)
  1158.             }
  1159.             c = c || function () {};
  1160.             var f = "GET";
  1161.             if (d)
  1162.                 if (E.isFunction(d)) {
  1163.                     c = d;
  1164.                     d = null
  1165.                 } else {
  1166.                     d = E.param(d);
  1167.                     f = "POST"
  1168.                 }
  1169.             var h = this;
  1170.             E.ajax({
  1171.                 url: g,
  1172.                 type: f,
  1173.                 data: d,
  1174.                 complete: function (a, b) {
  1175.                     if (b == "success" || b == "notmodified") h.html(i ? E("<div/>").append(a.responseText.replace(/<script(.|\s)*?\/script>/g, "")).find(i) : a.responseText);
  1176.                     setTimeout(function () {
  1177.                         h.each(c, [a.responseText, b, a])
  1178.                     }, 13)
  1179.                 }
  1180.             });
  1181.             return this
  1182.         },
  1183.         serialize: function () {
  1184.             return E.param(this.serializeArray())
  1185.         },
  1186.         serializeArray: function () {
  1187.             return this.map(function () {
  1188.                 return E.nodeName(this, "form") ? E.makeArray(this.elements) : this
  1189.             }).filter(function () {
  1190.                 return this.name && !this.disabled && (this.checked || /select|textarea/i.test(this.nodeName) || /text|hidden|password/i.test(this.type))
  1191.             }).map(function (i, c) {
  1192.                 var b = E(this).val();
  1193.                 return b == null ? null : b.constructor == Array ? E.map(b, function (i, a) {
  1194.                     return {
  1195.                         name: c.name,
  1196.                         value: a
  1197.                     }
  1198.                 }) : {
  1199.                     name: c.name,
  1200.                     value: b
  1201.                 }
  1202.             }).get()
  1203.         }
  1204.     });
  1205.     E.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","), function (i, o) {
  1206.         E.fn[o] = function (f) {
  1207.             return this.bind(o, f)
  1208.         }
  1209.     });
  1210.     var B = (new Date).getTime();
  1211.     E.extend({
  1212.         get: function (d, b, a, c) {
  1213.             if (E.isFunction(b)) {
  1214.                 a = b;
  1215.                 b = null
  1216.             }
  1217.             return E.ajax({
  1218.                 type: "GET",
  1219.                 url: d,
  1220.                 data: b,
  1221.                 success: a,
  1222.                 dataType: c
  1223.             })
  1224.         },
  1225.         getScript: function (b, a) {
  1226.             return E.get(b, null, a, "script")
  1227.         },
  1228.         getJSON: function (c, b, a) {
  1229.             return E.get(c, b, a, "json")
  1230.         },
  1231.         post: function (d, b, a, c) {
  1232.             if (E.isFunction(b)) {
  1233.                 a = b;
  1234.                 b = {}
  1235.             }
  1236.             return E.ajax({
  1237.                 type: "POST",
  1238.                 url: d,
  1239.                 data: b,
  1240.                 success: a,
  1241.                 dataType: c
  1242.             })
  1243.         },
  1244.         ajaxSetup: function (a) {
  1245.             E.extend(E.ajaxSettings, a)
  1246.         },
  1247.         ajaxSettings: {
  1248.             global: true,
  1249.             type: "GET",
  1250.             timeout: 0,
  1251.             contentType: "application/x-www-form-urlencoded",
  1252.             processData: true,
  1253.             async: true,
  1254.             data: null
  1255.         },
  1256.         lastModified: {},
  1257.         ajax: function (s) {
  1258.             var f, jsre = /=(\?|%3F)/g,
  1259.                 status, data;
  1260.             s = E.extend(true, s, E.extend(true, {}, E.ajaxSettings, s));
  1261.             if (s.data && s.processData && typeof s.data != "string") s.data = E.param(s.data);
  1262.             var q = s.url.indexOf("?");
  1263.             if (q > -1) {
  1264.                 s.data = (s.data ? s.data + "&" : "") + s.url.slice(q + 1);
  1265.                 s.url = s.url.slice(0, q)
  1266.             }
  1267.             if (s.dataType == "jsonp") {
  1268.                 if (!s.data || !s.data.match(jsre)) s.data = (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + "=?";
  1269.                 s.dataType = "json"
  1270.             }
  1271.             if (s.dataType == "json" && s.data && s.data.match(jsre)) {
  1272.                 f = "jsonp" + B++;
  1273.                 s.data = s.data.replace(jsre, "=" + f);
  1274.                 s.dataType = "script";
  1275.                 window[f] = function (a) {
  1276.                     data = a;
  1277.                     success();
  1278.                     window[f] = undefined;
  1279.                     try {
  1280.                         delete window[f]
  1281.                     } catch (e) {}
  1282.                 }
  1283.             }
  1284.             if (s.dataType == "script" && s.cache == null) s.cache = false;
  1285.             if (s.cache === false && s.type.toLowerCase() == "get") s.data = (s.data ? s.data + "&" : "") + "_=" + (new Date()).getTime();
  1286.             if (s.data && s.type.toLowerCase() == "get") {
  1287.                 s.url += "?" + s.data;
  1288.                 s.data = null
  1289.             }
  1290.             if (s.global && !E.active++) E.event.trigger("ajaxStart");
  1291.             if (!s.url.indexOf("http") && s.dataType == "script") {
  1292.                 var h = document.getElementsByTagName("head")[0];
  1293.                 var g = document.createElement("script");
  1294.                 g.src = s.url;
  1295.                 if (!f && (s.success || s.complete)) {
  1296.                     var j = false;
  1297.                     g.onload = g.onreadystatechange = function () {
  1298.                         if (!j && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete")) {
  1299.                             j = true;
  1300.                             success();
  1301.                             complete();
  1302.                             h.removeChild(g)
  1303.                         }
  1304.                     }
  1305.                 }
  1306.                 h.appendChild(g);
  1307.                 return
  1308.             }
  1309.             var k = false;
  1310.             var i = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
  1311.             i.open(s.type, s.url, s.async);
  1312.             if (s.data) i.setRequestHeader("Content-Type", s.contentType);
  1313.             if (s.ifModified) i.setRequestHeader("If-Modified-Since", E.lastModified[s.url] || "Thu, 01 Jan 1970 00:00:00 GMT");
  1314.             i.setRequestHeader("X-Requested-With", "XMLHttpRequest");
  1315.             if (s.beforeSend) s.beforeSend(i);
  1316.             if (s.global) E.event.trigger("ajaxSend", [i, s]);
  1317.             var c = function (a) {
  1318.                 if (!k && i && (i.readyState == 4 || a == "timeout")) {
  1319.                     k = true;
  1320.                     if (d) {
  1321.                         clearInterval(d);
  1322.                         d = null
  1323.                     }
  1324.                     status = a == "timeout" && "timeout" || !E.httpSuccess(i) && "error" || s.ifModified && E.httpNotModified(i, s.url) && "notmodified" || "success";
  1325.                     if (status == "success") {
  1326.                         try {
  1327.                             data = E.httpData(i, s.dataType)
  1328.                         } catch (e) {
  1329.                             status = "parsererror"
  1330.                         }
  1331.                     }
  1332.                     if (status == "success") {
  1333.                         var b;
  1334.                         try {
  1335.                             b = i.getResponseHeader("Last-Modified")
  1336.                         } catch (e) {}
  1337.                         if (s.ifModified && b) E.lastModified[s.url] = b;
  1338.                         if (!f) success()
  1339.                     } else E.handleError(s, i, status);
  1340.                     complete();
  1341.                     if (s.async) i = null
  1342.                 }
  1343.             };
  1344.             if (s.async) {
  1345.                 var d = setInterval(c, 13);
  1346.                 if (s.timeout > 0) setTimeout(function () {
  1347.                     if (i) {
  1348.                         i.abort();
  1349.                         if (!k) c("timeout")
  1350.                     }
  1351.                 }, s.timeout)
  1352.             }
  1353.             try {
  1354.                 i.send(s.data)
  1355.             } catch (e) {
  1356.                 E.handleError(s, i, null, e)
  1357.             }
  1358.             if (!s.async) c();
  1359.             return i;
  1360.  
  1361.             function success() {
  1362.                 if (s.success) s.success(data, status);
  1363.                 if (s.global) E.event.trigger("ajaxSuccess", [i, s])
  1364.             }
  1365.  
  1366.             function complete() {
  1367.                 if (s.complete) s.complete(i, status);
  1368.                 if (s.global) E.event.trigger("ajaxComplete", [i, s]);
  1369.                 if (s.global && !--E.active) E.event.trigger("ajaxStop")
  1370.             }
  1371.         },
  1372.         handleError: function (s, a, b, e) {
  1373.             if (s.error) s.error(a, b, e);
  1374.             if (s.global) E.event.trigger("ajaxError", [a, s, e])
  1375.         },
  1376.         active: 0,
  1377.         httpSuccess: function (r) {
  1378.             try {
  1379.                 return !r.status && location.protocol == "file:" || (r.status >= 200 && r.status < 300) || r.status == 304 || E.browser.safari && r.status == undefined
  1380.             } catch (e) {}
  1381.             return false
  1382.         },
  1383.         httpNotModified: function (a, c) {
  1384.             try {
  1385.                 var b = a.getResponseHeader("Last-Modified");
  1386.                 return a.status == 304 || b == E.lastModified[c] || E.browser.safari && a.status == undefined
  1387.             } catch (e) {}
  1388.             return false
  1389.         },
  1390.         httpData: function (r, b) {
  1391.             var c = r.getResponseHeader("content-type");
  1392.             var d = b == "xml" || !b && c && c.indexOf("xml") >= 0;
  1393.             var a = d ? r.responseXML : r.responseText;
  1394.             if (d && a.documentElement.tagName == "parsererror") throw "parsererror";
  1395.             if (b == "script") E.globalEval(a);
  1396.             if (b == "json") a = eval("(" + a + ")");
  1397.             return a
  1398.         },
  1399.         param: function (a) {
  1400.             var s = [];
  1401.             if (a.constructor == Array || a.jquery) E.each(a, function () {
  1402.                 s.push(encodeURIComponent(this.name) + "=" + encodeURIComponent(this.value))
  1403.             });
  1404.             else
  1405.                 for (var j in a)
  1406.                     if (a[j] && a[j].constructor == Array) E.each(a[j], function () {
  1407.                         s.push(encodeURIComponent(j) + "=" + encodeURIComponent(this))
  1408.                     });
  1409.                     else s.push(encodeURIComponent(j) + "=" + encodeURIComponent(a[j])); return s.join("&").replace(/%20/g, "+")
  1410.         }
  1411.     });
  1412.     E.fn.extend({
  1413.         show: function (b, a) {
  1414.             return b ? this.animate({
  1415.                 height: "show",
  1416.                 width: "show",
  1417.                 opacity: "show"
  1418.             }, b, a) : this.filter(":hidden").each(function () {
  1419.                 this.style.display = this.oldblock ? this.oldblock : "";
  1420.                 if (E.css(this, "display") == "none") this.style.display = "block"
  1421.             }).end()
  1422.         },
  1423.         hide: function (b, a) {
  1424.             return b ? this.animate({
  1425.                 height: "hide",
  1426.                 width: "hide",
  1427.                 opacity: "hide"
  1428.             }, b, a) : this.filter(":visible").each(function () {
  1429.                 this.oldblock = this.oldblock || E.css(this, "display");
  1430.                 if (this.oldblock == "none") this.oldblock = "block";
  1431.                 this.style.display = "none"
  1432.             }).end()
  1433.         },
  1434.         _toggle: E.fn.toggle,
  1435.         toggle: function (a, b) {
  1436.             return E.isFunction(a) && E.isFunction(b) ? this._toggle(a, b) : a ? this.animate({
  1437.                 height: "toggle",
  1438.                 width: "toggle",
  1439.                 opacity: "toggle"
  1440.             }, a, b) : this.each(function () {
  1441.                 E(this)[E(this).is(":hidden") ? "show" : "hide"]()
  1442.             })
  1443.         },
  1444.         slideDown: function (b, a) {
  1445.             return this.animate({
  1446.                 height: "show"
  1447.             }, b, a)
  1448.         },
  1449.         slideUp: function (b, a) {
  1450.             return this.animate({
  1451.                 height: "hide"
  1452.             }, b, a)
  1453.         },
  1454.         slideToggle: function (b, a) {
  1455.             return this.animate({
  1456.                 height: "toggle"
  1457.             }, b, a)
  1458.         },
  1459.         fadeIn: function (b, a) {
  1460.             return this.animate({
  1461.                 opacity: "show"
  1462.             }, b, a)
  1463.         },
  1464.         fadeOut: function (b, a) {
  1465.             return this.animate({
  1466.                 opacity: "hide"
  1467.             }, b, a)
  1468.         },
  1469.         fadeTo: function (c, a, b) {
  1470.             return this.animate({
  1471.                 opacity: a
  1472.             }, c, b)
  1473.         },
  1474.         animate: function (j, h, g, f) {
  1475.             var i = E.speed(h, g, f);
  1476.             return this[i.queue === false ? "each" : "queue"](function () {
  1477.                 i = E.extend({}, i);
  1478.                 var d = E(this).is(":hidden"),
  1479.                     self = this;
  1480.                 for (var p in j) {
  1481.                     if (j[p] == "hide" && d || j[p] == "show" && !d) return E.isFunction(i.complete) && i.complete.apply(this);
  1482.                     if (p == "height" || p == "width") {
  1483.                         i.display = E.css(this, "display");
  1484.                         i.overflow = this.style.overflow
  1485.                     }
  1486.                 }
  1487.                 if (i.overflow != null) this.style.overflow = "hidden";
  1488.                 i.curAnim = E.extend({}, j);
  1489.                 E.each(j, function (c, a) {
  1490.                     var e = new E.fx(self, i, c);
  1491.                     if (/toggle|show|hide/.test(a)) e[a == "toggle" ? d ? "show" : "hide" : a](j);
  1492.                     else {
  1493.                         var b = a.toString().match(/^([+-]?)([\d.]+)(.*)$/),
  1494.                             start = e.cur(true) || 0;
  1495.                         if (b) {
  1496.                             end = parseFloat(b[2]), unit = b[3] || "px";
  1497.                             if (unit != "px") {
  1498.                                 self.style[c] = end + unit;
  1499.                                 start = (end / e.cur(true)) * start;
  1500.                                 self.style[c] = start + unit
  1501.                             }
  1502.                             if (b[1]) end = ((b[1] == "-" ? -1 : 1) * end) + start;
  1503.                             e.custom(start, end, unit)
  1504.                         } else e.custom(start, a, "")
  1505.                     }
  1506.                 });
  1507.                 return true
  1508.             })
  1509.         },
  1510.         queue: function (a, b) {
  1511.             if (!b) {
  1512.                 b = a;
  1513.                 a = "fx"
  1514.             }
  1515.             if (!arguments.length) return A(this[0], a);
  1516.             return this.each(function () {
  1517.                 if (b.constructor == Array) A(this, a, b);
  1518.                 else {
  1519.                     A(this, a).push(b);
  1520.                     if (A(this, a).length == 1) b.apply(this)
  1521.                 }
  1522.             })
  1523.         },
  1524.         stop: function () {
  1525.             var a = E.timers;
  1526.             return this.each(function () {
  1527.                 for (var i = 0; i < a.length; i++)
  1528.                     if (a[i].elem == this) a.splice(i--, 1)
  1529.             }).dequeue()
  1530.         }
  1531.     });
  1532.     var A = function (b, c, a) {
  1533.         if (!b) return;
  1534.         var q = E.data(b, c + "queue");
  1535.         if (!q || a) q = E.data(b, c + "queue", a ? E.makeArray(a) : []);
  1536.         return q
  1537.     };
  1538.     E.fn.dequeue = function (a) {
  1539.         a = a || "fx";
  1540.         return this.each(function () {
  1541.             var q = A(this, a);
  1542.             q.shift();
  1543.             if (q.length) q[0].apply(this)
  1544.         })
  1545.     };
  1546.     E.extend({
  1547.         speed: function (b, a, c) {
  1548.             var d = b && b.constructor == Object ? b : {
  1549.                 complete: c || !c && a || E.isFunction(b) && b,
  1550.                 duration: b,
  1551.                 easing: c && a || a && a.constructor != Function && a
  1552.             };
  1553.             d.duration = (d.duration && d.duration.constructor == Number ? d.duration : {
  1554.                 slow: 600,
  1555.                 fast: 200
  1556.             }[d.duration]) || 400;
  1557.             d.old = d.complete;
  1558.             d.complete = function () {
  1559.                 E(this).dequeue();
  1560.                 if (E.isFunction(d.old)) d.old.apply(this)
  1561.             };
  1562.             return d
  1563.         },
  1564.         easing: {
  1565.             linear: function (p, n, b, a) {
  1566.                 return b + a * p
  1567.             },
  1568.             swing: function (p, n, b, a) {
  1569.                 return ((-Math.cos(p * Math.PI) / 2) + 0.5) * a + b
  1570.             }
  1571.         },
  1572.         timers: [],
  1573.         fx: function (b, c, a) {
  1574.             this.options = c;
  1575.             this.elem = b;
  1576.             this.prop = a;
  1577.             if (!c.orig) c.orig = {}
  1578.         }
  1579.     });
  1580.     E.fx.prototype = {
  1581.         update: function () {
  1582.             if (this.options.step) this.options.step.apply(this.elem, [this.now, this]);
  1583.             (E.fx.step[this.prop] || E.fx.step._default)(this);
  1584.             if (this.prop == "height" || this.prop == "width") this.elem.style.display = "block"
  1585.         },
  1586.         cur: function (a) {
  1587.             if (this.elem[this.prop] != null && this.elem.style[this.prop] == null) return this.elem[this.prop];
  1588.             var r = parseFloat(E.curCSS(this.elem, this.prop, a));
  1589.             return r && r > -10000 ? r : parseFloat(E.css(this.elem, this.prop)) || 0
  1590.         },
  1591.         custom: function (c, b, e) {
  1592.             this.startTime = (new Date()).getTime();
  1593.             this.start = c;
  1594.             this.end = b;
  1595.             this.unit = e || this.unit || "px";
  1596.             this.now = this.start;
  1597.             this.pos = this.state = 0;
  1598.             this.update();
  1599.             var f = this;
  1600.  
  1601.             function t() {
  1602.                 return f.step()
  1603.             }
  1604.             t.elem = this.elem;
  1605.             E.timers.push(t);
  1606.             if (E.timers.length == 1) {
  1607.                 var d = setInterval(function () {
  1608.                     var a = E.timers;
  1609.                     for (var i = 0; i < a.length; i++)
  1610.                         if (!a[i]()) a.splice(i--, 1);
  1611.                     if (!a.length) clearInterval(d)
  1612.                 }, 13)
  1613.             }
  1614.         },
  1615.         show: function () {
  1616.             this.options.orig[this.prop] = E.attr(this.elem.style, this.prop);
  1617.             this.options.show = true;
  1618.             this.custom(0, this.cur());
  1619.             if (this.prop == "width" || this.prop == "height") this.elem.style[this.prop] = "1px";
  1620.             E(this.elem).show()
  1621.         },
  1622.         hide: function () {
  1623.             this.options.orig[this.prop] = E.attr(this.elem.style, this.prop);
  1624.             this.options.hide = true;
  1625.             this.custom(this.cur(), 0)
  1626.         },
  1627.         step: function () {
  1628.             var t = (new Date()).getTime();
  1629.             if (t > this.options.duration + this.startTime) {
  1630.                 this.now = this.end;
  1631.                 this.pos = this.state = 1;
  1632.                 this.update();
  1633.                 this.options.curAnim[this.prop] = true;
  1634.                 var a = true;
  1635.                 for (var i in this.options.curAnim)
  1636.                     if (this.options.curAnim[i] !== true) a = false;
  1637.                 if (a) {
  1638.                     if (this.options.display != null) {
  1639.                         this.elem.style.overflow = this.options.overflow;
  1640.                         this.elem.style.display = this.options.display;
  1641.                         if (E.css(this.elem, "display") == "none") this.elem.style.display = "block"
  1642.                     }
  1643.                     if (this.options.hide) this.elem.style.display = "none";
  1644.                     if (this.options.hide || this.options.show)
  1645.                         for (var p in this.options.curAnim) E.attr(this.elem.style, p, this.options.orig[p])
  1646.                 }
  1647.                 if (a && E.isFunction(this.options.complete)) this.options.complete.apply(this.elem);
  1648.                 return false
  1649.             } else {
  1650.                 var n = t - this.startTime;
  1651.                 this.state = n / this.options.duration;
  1652.                 this.pos = E.easing[this.options.easing || (E.easing.swing ? "swing" : "linear")](this.state, n, 0, 1, this.options.duration);
  1653.                 this.now = this.start + ((this.end - this.start) * this.pos);
  1654.                 this.update()
  1655.             }
  1656.             return true
  1657.         }
  1658.     };
  1659.     E.fx.step = {
  1660.         scrollLeft: function (a) {
  1661.             a.elem.scrollLeft = a.now
  1662.         },
  1663.         scrollTop: function (a) {
  1664.             a.elem.scrollTop = a.now
  1665.         },
  1666.         opacity: function (a) {
  1667.             E.attr(a.elem.style, "opacity", a.now)
  1668.         },
  1669.         _default: function (a) {
  1670.             a.elem.style[a.prop] = a.now + a.unit
  1671.         }
  1672.     };
  1673.     E.fn.offset = function () {
  1674.         var c = 0,
  1675.             top = 0,
  1676.             elem = this[0],
  1677.             results;
  1678.         if (elem) with(E.browser) {
  1679.             var b = E.css(elem, "position") == "absolute",
  1680.                 parent = elem.parentNode,
  1681.                 offsetParent = elem.offsetParent,
  1682.                 doc = elem.ownerDocument,
  1683.                 safari2 = safari && !b && parseInt(version) < 522;
  1684.             if (elem.getBoundingClientRect) {
  1685.                 box = elem.getBoundingClientRect();
  1686.                 add(box.left + Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft), box.top + Math.max(doc.documentElement.scrollTop, doc.body.scrollTop));
  1687.                 if (msie) {
  1688.                     var d = E("html").css("borderWidth");
  1689.                     d = (d == "medium" || E.boxModel && parseInt(version) >= 7) && 2 || d;
  1690.                     add(-d, -d)
  1691.                 }
  1692.             } else {
  1693.                 add(elem.offsetLeft, elem.offsetTop);
  1694.                 while (offsetParent) {
  1695.                     add(offsetParent.offsetLeft, offsetParent.offsetTop);
  1696.                     if (mozilla && /^t[d|h]$/i.test(parent.tagName) || !safari2) d(offsetParent);
  1697.                     if (safari2 && !b && E.css(offsetParent, "position") == "absolute") b = true;
  1698.                     offsetParent = offsetParent.offsetParent
  1699.                 }
  1700.                 while (parent.tagName && /^body|html$/i.test(parent.tagName)) {
  1701.                     if (/^inline|table-row.*$/i.test(E.css(parent, "display"))) add(-parent.scrollLeft, -parent.scrollTop);
  1702.                     if (mozilla && E.css(parent, "overflow") != "visible") d(parent);
  1703.                     parent = parent.parentNode
  1704.                 }
  1705.                 if (safari && b) add(-doc.body.offsetLeft, -doc.body.offsetTop)
  1706.             }
  1707.             results = {
  1708.                 top: top,
  1709.                 left: c
  1710.             }
  1711.         }
  1712.         return results;
  1713.  
  1714.         function d(a) {
  1715.             add(E.css(a, "borderLeftWidth"), E.css(a, "borderTopWidth"))
  1716.         }
  1717.  
  1718.         function add(l, t) {
  1719.             c += parseInt(l) || 0;
  1720.             top += parseInt(t) || 0
  1721.         }
  1722.     }
  1723. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement