//Javascript code
   (function () {
      function b(a, d) {
          d.src ? c.ajax({
              url: d.src,
              async: false,
              dataType: "script"
          }) : c.globalEval(d.text || d.textContent || d.innerHTML || "");
          d.parentNode && d.parentNode.removeChild(d)
      }
      function h() {
          return +new Date
      }
      function e(a, d) {
          return a[0] && parseInt(c.curCSS(a[0], d, true), 10) || 0
      }
      function f() {
          return false
      }
      function m() {
          return true
      }
      function n(a) {
          var d = RegExp("(^|\\.)" + a.type + "(\\.|$)"),
              g = true,
              l = [];
          c.each(c.data(this, "events").live || [], function (r, v) {
              if (d.test(v.type))(r = c(a.target).closest(v.data)[0]) && l.push({
                  elem: r,
                  fn: v
              })
          });
          l.sort(function (r, v) {
              return c.data(r.elem, "closest") - c.data(v.elem, "closest")
          });
          c.each(l, function () {
              if (this.fn.call(this.elem, a, this.fn.data) === false) return g = false
          });
          return g
      }
      function k(a, d) {
          return ["live", a, d.replace(/\./g, "`").replace(/ /g, "|")].join(".")
      }
      function s() {
          if (!aa) {
              aa = true;
              if (document.addEventListener) document.addEventListener("DOMContentLoaded", function () {
                  document.removeEventListener("DOMContentLoaded", arguments.callee, false);
                  c.ready()
              }, false);
              else if (document.attachEvent) {
                  document.attachEvent("onreadystatechange", function () {
                      if (document.readyState === "complete") {
                          document.detachEvent("onreadystatechange", arguments.callee);
                          c.ready()
                      }
                  });
                  document.documentElement.doScroll && o == o.top &&
                  function () {
                      if (!c.isReady) {
                          try {
                              document.documentElement.doScroll("left")
                          } catch (a) {
                              setTimeout(arguments.callee, 0);
                              return
                          }
                          c.ready()
                      }
                  }()
              }
              c.event.add(o, "load", c.ready)
          }
      }
      function q(a, d) {
          var g = {};
          c.each(fa.concat.apply([], fa.slice(0, d)), function () {
              g[this] = a
          });
          return g
      }
      var o = this,
          w = o.jQuery,
          B = o.$,
          c = o.jQuery = o.$ = function (a, d) {
              return new c.fn.init(a, d)
          },
          t = /^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,
          z = /^.[^:#\[\.,]*$/;
      c.fn = c.prototype = {
          init: function (a, d) {
              a = a || document;
              if (a.nodeType) {
                  this[0] = a;
                  this.length = 1;
                  this.context = a;
                  return this
              }
              if (typeof a === "string") {
                  var g = t.exec(a);
                  if (g && (g[1] || !d)) if (g[1]) a = c.clean([g[1]], d);
                  else {
                      if ((d = document.getElementById(g[3])) && d.id != g[3]) return c().find(a);
                      g = c(d || []);
                      g.context = document;
                      g.selector = a;
                      return g
                  } else return c(d).find(a)
              } else if (c.isFunction(a)) return c(document).ready(a);
              if (a.selector && a.context) {
                  this.selector = a.selector;
                  this.context = a.context
              }
              return this.setArray(c.isArray(a) ? a : c.makeArray(a))
          },
          selector: "",
          jquery: "1.3.2",
          size: function () {
              return this.length
          },
          get: function (a) {
              return a === void 0 ? Array.prototype.slice.call(this) : this[a]
          },
          pushStack: function (a, d, g) {
              a = c(a);
              a.prevObject = this;
              a.context = this.context;
              if (d === "find") a.selector = this.selector + (this.selector ? " " : "") + g;
              else if (d) a.selector = this.selector + "." + d + "(" + g + ")";
              return a
          },
          setArray: function (a) {
              this.length = 0;
              Array.prototype.push.apply(this, a);
              return this
          },
          each: function (a, d) {
              return c.each(this, a, d)
          },
          index: function (a) {
              return c.inArray(a && a.jquery ? a[0] : a, this)
          },
          attr: function (a, d, g) {
              var l = a;
              if (typeof a === "string") if (d === void 0) return this[0] && c[g || "attr"](this[0], a);
              else {
                  l = {};
                  l[a] = d
              }
              return this.each(function (r) {
                  for (a in l) c.attr(g ? this.style : this, a, c.prop(this, l[a], g, r, a))
              })
          },
          css: function (a, d) {
              if ((a == "width" || a == "height") && parseFloat(d) < 0) d = void 0;
              return this.attr(a, d, "curCSS")
          },
          text: function (a) {
              if (typeof a !== "object" && a != null) return this.empty().append((this[0] && this[0].ownerDocument || document).createTextNode(a));
              var d = "";
              c.each(a || this, function () {
                  c.each(this.childNodes, function () {
                      if (this.nodeType != 8) d += this.nodeType != 1 ? this.nodeValue : c.fn.text([this])
                  })
              });
              return d
          },
          wrapAll: function (a) {
              if (this[0]) {
                  a = c(a, this[0].ownerDocument).clone();
                  this[0].parentNode && a.insertBefore(this[0]);
                  a.map(function () {
                      for (var d = this; d.firstChild;) d = d.firstChild;
                      return d
                  }).append(this)
              }
              return this
          },
          wrapInner: function (a) {
              return this.each(function () {
                  c(this).contents().wrapAll(a)
              })
          },
          wrap: function (a) {
              return this.each(function () {
                  c(this).wrapAll(a)
              })
          },
          append: function () {
              return this.domManip(arguments, true, function (a) {
                  this.nodeType == 1 && this.appendChild(a)
              })
          },
          prepend: function () {
              return this.domManip(arguments, true, function (a) {
                  this.nodeType == 1 && this.insertBefore(a, this.firstChild)
              })
          },
          before: function () {
              return this.domManip(arguments, false, function (a) {
                  this.parentNode.insertBefore(a, this)
              })
          },
          after: function () {
              return this.domManip(arguments, false, function (a) {
                  this.parentNode.insertBefore(a, this.nextSibling)
              })
          },
          end: function () {
              return this.prevObject || c([])
          },
          push: [].push,
          sort: [].sort,
          splice: [].splice,
          find: function (a) {
              if (this.length === 1) {
                  var d = this.pushStack([], "find", a);
                  d.length = 0;
                  c.find(a, this[0], d);
                  return d
              } else return this.pushStack(c.unique(c.map(this, function (g) {
                  return c.find(a, g)
              })), "find", a)
          },
          clone: function (a) {
              var d = this.map(function () {
                  if (!c.support.noCloneEvent && !c.isXMLDoc(this)) {
                      var r = this.outerHTML;
                      if (!r) {
                          r = this.ownerDocument.createElement("div");
                          r.appendChild(this.cloneNode(true));
                          r = r.innerHTML
                      }
                      return c.clean([r.replace(/ jQuery\d+="(?:\d+|null)"/g, "").replace(/^\s*/, "")])[0]
                  } else return this.cloneNode(true)
              });
              if (a === true) {
                  var g = this.find("*").andSelf(),
                      l = 0;
                  d.find("*").andSelf().each(function () {
                      if (this.nodeName === g[l].nodeName) {
                          var r = c.data(g[l], "events");
                          for (var v in r) for (var y in r[v]) c.event.add(this, v, r[v][y], r[v][y].data);
                          l++
                      }
                  })
              }
              return d
          },
          filter: function (a) {
              return this.pushStack(c.isFunction(a) && c.grep(this, function (d, g) {
                  return a.call(d, g)
              }) || c.multiFilter(a, c.grep(this, function (d) {
                  return d.nodeType === 1
              })), "filter", a)
          },
          closest: function (a) {
              var d = c.expr.match.POS.test(a) ? c(a) : null,
                  g = 0;
              return this.map(function () {
                  for (var l = this; l && l.ownerDocument;) {
                      if (d ? d.index(l) > -1 : c(l).is(a)) {
                          c.data(l, "closest", g);
                          return l
                      }
                      l = l.parentNode;
                      g++
                  }
              })
          },
          not: function (a) {
              if (typeof a === "string") if (z.test(a)) return this.pushStack(c.multiFilter(a, this, true), "not", a);
              else a = c.multiFilter(a, this);
              var d = a.length && a[a.length - 1] !== void 0 && !a.nodeType;
              return this.filter(function () {
                  return d ? c.inArray(this, a) < 0 : this != a
              })
          },
          add: function (a) {
              return this.pushStack(c.unique(c.merge(this.get(), typeof a === "string" ? c(a) : c.makeArray(a))))
          },
          is: function (a) {
              return !!a && c.multiFilter(a, this).length > 0
          },
          hasClass: function (a) {
              return !!a && this.is("." + a)
          },
          val: function (a) {
              if (a === void 0) {
                  var d = this[0];
                  if (d) {
                      if (c.nodeName(d, "option")) return (d.attributes.value || {}).specified ? d.value : d.text;
                      if (c.nodeName(d, "select")) {
                          var g = d.selectedIndex,
                              l = [],
                              r = d.options;
                          d = d.type == "select-one";
                          if (g < 0) return null;
                          var v = d ? g : 0;
                          for (g = d ? g + 1 : r.length; v < g; v++) {
                              var y = r[v];
                              if (y.selected) {
                                  a = c(y).val();
                                  if (d) return a;
                                  l.push(a)
                              }
                          }
                          return l
                      }
                      return (d.value || "").replace(/\r/g, "")
                  }
              } else {
                  if (typeof a === "number") a += "";
                  return this.each(function () {
                      if (this.nodeType == 1) if (c.isArray(a) && /radio|checkbox/.test(this.type)) this.checked = c.inArray(this.value, a) >= 0 || c.inArray(this.name, a) >= 0;
                      else if (c.nodeName(this, "select")) {
                          var A = c.makeArray(a);
                          c("option", this).each(function () {
                              this.selected = c.inArray(this.value, A) >= 0 || c.inArray(this.text, A) >= 0
                          });
                          if (!A.length) this.selectedIndex = -1
                      } else this.value = a
                  })
              }
          },
          html: function (a) {
              return a === void 0 ? this[0] ? this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g, "") : null : this.empty().append(a)
          },
          replaceWith: function (a) {
              return this.after(a).remove()
          },
          eq: function (a) {
              return this.slice(a, +a + 1)
          },
          slice: function () {
              return this.pushStack(Array.prototype.slice.apply(this, arguments), "slice", Array.prototype.slice.call(arguments).join(","))
          },
          map: function (a) {
              return this.pushStack(c.map(this, function (d, g) {
                  return a.call(d, g, d)
              }))
          },
          andSelf: function () {
              return this.add(this.prevObject)
          },
          domManip: function (a, d, g) {
              function l(L, N) {
                  return d && c.nodeName(L, "table") && c.nodeName(N, "tr") ? L.getElementsByTagName("tbody")[0] || L.appendChild(L.ownerDocument.createElement("tbody")) : L
              }
              if (this[0]) {
                  var r = (this[0].ownerDocument || this[0]).createDocumentFragment();
                  a = c.clean(a, this[0].ownerDocument || this[0], r);
                  var v = r.firstChild;
                  if (v) for (var y = 0, A = this.length; y < A; y++) g.call(l(this[y], v), this.length > 1 || y > 0 ? r.cloneNode(true) : r);
                  a && c.each(a, b)
              }
              return this
          }
      };
      c.fn.init.prototype = c.fn;
      c.extend = c.fn.extend = function () {
          var a = arguments[0] || {},
              d = 1,
              g = arguments.length,
              l = false,
              r;
          if (typeof a === "boolean") {
              l = a;
              a = arguments[1] || {};
              d = 2
          }
          if (typeof a !== "object" && !c.isFunction(a)) a = {};
          if (g == d) {
              a = this;
              --d
          }
          for (; d < g; d++) if ((r = arguments[d]) != null) for (var v in r) {
              var y = a[v],
                  A = r[v];
              if (a !== A) if (l && A && typeof A === "object" && !A.nodeType) a[v] = c.extend(l, y || (A.length != null ? [] : {}), A);
              else if (A !== void 0) a[v] = A
          }
          return a
      };
      var F = /z-?index|font-?weight|opacity|zoom|line-?height/i,
          E = document.defaultView || {},
          G = Object.prototype.toString;
      c.extend({
          noConflict: function (a) {
              o.$ = B;
              if (a) o.jQuery = w;
              return c
          },
          isFunction: function (a) {
              return G.call(a) === "[object Function]"
          },
          isArray: function (a) {
              return G.call(a) === "[object Array]"
          },
          isXMLDoc: function (a) {
              return a.nodeType === 9 && a.documentElement.nodeName !== "HTML" || !! a.ownerDocument && c.isXMLDoc(a.ownerDocument)
          },
          globalEval: function (a) {
              if (a && /\S/.test(a)) {
                  var d = document.getElementsByTagName("head")[0] || document.documentElement,
                      g = document.createElement("script");
                  g.type = "text/javascript";
                  if (c.support.scriptEval) g.appendChild(document.createTextNode(a));
                  else g.text = a;
                  d.insertBefore(g, d.firstChild);
                  d.removeChild(g)
              }
          },
          nodeName: function (a, d) {
              return a.nodeName && a.nodeName.toUpperCase() == d.toUpperCase()
          },
          each: function (a, d, g) {
              var l, r = 0,
                  v = a.length;
              if (g) if (v === void 0) for (l in a) {
                  if (d.apply(a[l], g) === false) break
              } else for (; r < v;) {
                  if (d.apply(a[r++], g) === false) break
              } else if (v === void 0) for (l in a) {
                  if (d.call(a[l], l, a[l]) === false) break
              } else for (g = a[0]; r < v && d.call(g, r, g) !== false; g = a[++r]);
              return a
          },
          prop: function (a, d, g, l, r) {
              if (c.isFunction(d)) d = d.call(a, l);
              return typeof d === "number" && g == "curCSS" && !F.test(r) ? d + "px" : d
          },
          className: {
              add: function (a, d) {
                  c.each((d || "").split(/\s+/), function (g, l) {
                      if (a.nodeType == 1 && !c.className.has(a.className, l)) a.className += (a.className ? " " : "") + l
                  })
              },
              remove: function (a, d) {
                  if (a.nodeType == 1) a.className = d !== void 0 ? c.grep(a.className.split(/\s+/), function (g) {
                      return !c.className.has(d, g)
                  }).join(" ") : ""
              },
              has: function (a, d) {
                  return a && c.inArray(d, (a.className || a).toString().split(/\s+/)) > -1
              }
          },
          swap: function (a, d, g) {
              var l = {};
              for (var r in d) {
                  l[r] = a.style[r];
                  a.style[r] = d[r]
              }
              g.call(a);
              for (r in d) a.style[r] = l[r]
          },
          css: function (a, d, g, l) {
              if (d == "width" || d == "height") {
                  var r;
                  g = {
                      position: "absolute",
                      visibility: "hidden",
                      display: "block"
                  };
                  var v = d == "width" ? ["Left", "Right"] : ["Top", "Bottom"],
                      y = function () {
                          r = d == "width" ? a.offsetWidth : a.offsetHeight;
                          l !== "border" && c.each(v, function () {
                              l || (r -= parseFloat(c.curCSS(a, "padding" + this, true)) || 0);
                              if (l === "margin") r += parseFloat(c.curCSS(a, "margin" + this, true)) || 0;
                              else r -= parseFloat(c.curCSS(a, "border" + this + "Width", true)) || 0
                          })
                      };
                  a.offsetWidth !== 0 ? y() : c.swap(a, g, y);
                  return Math.max(0, Math.round(r))
              }
              return c.curCSS(a, d, g)
          },
          curCSS: function (a, d, g) {
              var l, r = a.style;
              if (d == "opacity" && !c.support.opacity) {
                  l = c.attr(r, "opacity");
                  return l == "" ? "1" : l
              }
              if (d.match(/float/i)) d = W;
              if (!g && r && r[d]) l = r[d];
              else if (E.getComputedStyle) {
                  if (d.match(/float/i)) d = "float";
                  d = d.replace(/([A-Z])/g, "-$1").toLowerCase();
                  if (a = E.getComputedStyle(a, null)) l = a.getPropertyValue(d);
                  if (d == "opacity" && l == "") l = "1"
              } else if (a.currentStyle) {
                  l = d.replace(/\-(\w)/g, function (v, y) {
                      return y.toUpperCase()
                  });
                  l = a.currentStyle[d] || a.currentStyle[l];
                  if (!/^\d+(px)?$/i.test(l) && /^\d/.test(l)) {
                      d = r.left;
                      g = a.runtimeStyle.left;
                      a.runtimeStyle.left = a.currentStyle.left;
                      r.left = l || 0;
                      l = r.pixelLeft + "px";
                      r.left = d;
                      a.runtimeStyle.left = g
                  }
              }
              return l
          },
          clean: function (a, d, g) {
              d = d || document;
              if (typeof d.createElement === "undefined") d = d.ownerDocument || d[0] && d[0].ownerDocument || document;
              if (!g && a.length === 1 && typeof a[0] === "string") {
                  var l = /^<(\w+)\s*\/?>$/.exec(a[0]);
                  if (l) return [d.createElement(l[1])]
              }
              var r = [];
              l = [];
              var v = d.createElement("div");
              c.each(a, function (y, A) {
                  if (typeof A === "number") A += "";
                  if (A) {
                      if (typeof A === "string") {
                          A = A.replace(/(<(\w+)[^>]*?)\/>/g, function (M, Q, S) {
                              return S.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ? M : Q + "></" + S + ">"
                          });
                          y = A.replace(/^\s+/, "").substring(0, 10).toLowerCase();
                          var L = !y.indexOf("<opt") && [1, "<select multiple='multiple'>", "</select>"] || !y.indexOf("<leg") && [1, "<fieldset>", "</fieldset>"] || y.match(/^<(thead|tbody|tfoot|colg|cap)/) && [1, "<table>", "</table>"] || !y.indexOf("<tr") && [2, "<table><tbody>", "</tbody></table>"] || (!y.indexOf("<td") || !y.indexOf("<th")) && [3, "<table><tbody><tr>", "</tr></tbody></table>"] || !y.indexOf("<col") && [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"] || !c.support.htmlSerialize && [1, "div<div>", "</div>"] || [0, "", ""];
                          for (v.innerHTML = L[1] + A + L[2]; L[0]--;) v = v.lastChild;
                          if (!c.support.tbody) {
                              var N = /<tbody/i.test(A);
                              y = !y.indexOf("<table") && !N ? v.firstChild && v.firstChild.childNodes : L[1] == "<table>" && !N ? v.childNodes : [];
                              for (L = y.length - 1; L >= 0; --L) c.nodeName(y[L], "tbody") && !y[L].childNodes.length && y[L].parentNode.removeChild(y[L])
                          }!c.support.leadingWhitespace && /^\s/.test(A) && v.insertBefore(d.createTextNode(A.match(/^\s*/)[0]), v.firstChild);
                          A = c.makeArray(v.childNodes)
                      }
                      if (A.nodeType) r.push(A);
                      else r = c.merge(r, A)
                  }
              });
              if (g) {
                  for (a = 0; r[a]; a++) if (c.nodeName(r[a], "script") && (!r[a].type || r[a].type.toLowerCase() === "text/javascript")) l.push(r[a].parentNode ? r[a].parentNode.removeChild(r[a]) : r[a]);
                  else {
                      r[a].nodeType === 1 && r.splice.apply(r, [a + 1, 0].concat(c.makeArray(r[a].getElementsByTagName("script"))));
                      g.appendChild(r[a])
                  }
                  return l
              }
              return r
          },
          attr: function (a, d, g) {
              if (!(!a || a.nodeType == 3 || a.nodeType == 8)) {
                  var l = !c.isXMLDoc(a),
                      r = g !== void 0;
                  d = l && c.props[d] || d;
                  if (a.tagName) {
                      var v = /href|src|style/.test(d);
                      if (d in a && l && !v) {
                          if (r) {
                              if (d == "type" && c.nodeName(a, "input") && a.parentNode) throw "type property can't be changed";
                              a[d] = g
                          }
                          if (c.nodeName(a, "form") && a.getAttributeNode(d)) return a.getAttributeNode(d).nodeValue;
                          if (d == "tabIndex") return (d = a.getAttributeNode("tabIndex")) && d.specified ? d.value : a.nodeName.match(/(button|input|object|select|textarea)/i) ? 0 : a.nodeName.match(/^(a|area)$/i) && a.href ? 0 : void 0;
                          return a[d]
                      }
                      if (!c.support.style && l && d == "style") return c.attr(a.style, "cssText", g);
                      r && a.setAttribute(d, "" + g);
                      a = !c.support.hrefNormalized && l && v ? a.getAttribute(d, 2) : a.getAttribute(d);
                      return a === null ? void 0 : a
                  }
                  if (!c.support.opacity && d == "opacity") {
                      if (r) {
                          a.zoom = 1;
                          a.filter = (a.filter || "").replace(/alpha\([^)]*\)/, "") + (parseInt(g) + "" == "NaN" ? "" : "alpha(opacity=" + g * 100 + ")")
                      }
                      return a.filter && a.filter.indexOf("opacity=") >= 0 ? parseFloat(a.filter.match(/opacity=([^)]*)/)[1]) / 100 + "" : ""
                  }
                  d = d.replace(/-([a-z])/ig, function (y, A) {
                      return A.toUpperCase()
                  });
                  if (r) a[d] = g;
                  return a[d]
              }
          },
          trim: function (a) {
              return (a || "").replace(/^\s+|\s+$/g, "")
          },
          makeArray: function (a) {
              var d = [];
              if (a != null) {
                  var g = a.length;
                  if (g == null || typeof a === "string" || c.isFunction(a) || a.setInterval) d[0] = a;
                  else for (; g;) d[--g] = a[g]
              }
              return d
          },
          inArray: function (a, d) {
              for (var g = 0, l = d.length; g < l; g++) if (d[g] === a) return g;
              return -1
          },
          merge: function (a, d) {
              var g = 0,
                  l, r = a.length;
              if (c.support.getAll) for (;
              (l = d[g++]) != null;) a[r++] = l;
              else for (;
              (l = d[g++]) != null;) if (l.nodeType != 8) a[r++] = l;
              return a
          },
          unique: function (a) {
              var d = [],
                  g = {};
              try {
                  for (var l = 0, r = a.length; l < r; l++) {
                      var v = c.data(a[l]);
                      if (!g[v]) {
                          g[v] = true;
                          d.push(a[l])
                      }
                  }
              } catch (y) {
                  d = a
              }
              return d
          },
          grep: function (a, d, g) {
              for (var l = [], r = 0, v = a.length; r < v; r++)!g != !d(a[r], r) && l.push(a[r]);
              return l
          },
          map: function (a, d) {
              for (var g = [], l = 0, r = a.length; l < r; l++) {
                  var v = d(a[l], l);
                  if (v != null) g[g.length] = v
              }
              return g.concat.apply([], g)
          }
      });
      var K = navigator.userAgent.toLowerCase();
      c.browser = {
          version: (K.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [0, "0"])[1],
          safari: /webkit/.test(K),
          opera: /opera/.test(K),
          msie: /msie/.test(K) && !/opera/.test(K),
          mozilla: /mozilla/.test(K) && !/(compatible|webkit)/.test(K)
      };
      c.each({
          parent: function (a) {
              return a.parentNode
          },
          parents: function (a) {
              return c.dir(a, "parentNode")
          },
          next: function (a) {
              return c.nth(a, 2, "nextSibling")
          },
          prev: function (a) {
              return c.nth(a, 2, "previousSibling")
          },
          nextAll: function (a) {
              return c.dir(a, "nextSibling")
          },
          prevAll: function (a) {
              return c.dir(a, "previousSibling")
          },
          siblings: function (a) {
              return c.sibling(a.parentNode.firstChild, a)
          },
          children: function (a) {
              return c.sibling(a.firstChild)
          },
          contents: function (a) {
              return c.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : c.makeArray(a.childNodes)
          }
      }, function (a, d) {
          c.fn[a] = function (g) {
              var l = c.map(this, d);
              if (g && typeof g == "string") l = c.multiFilter(g, l);
              return this.pushStack(c.unique(l), a, g)
          }
      });
      c.each({
          appendTo: "append",
          prependTo: "prepend",
          insertBefore: "before",
          insertAfter: "after",
          replaceAll: "replaceWith"
      }, function (a, d) {
          c.fn[a] = function (g) {
              for (var l = [], r = c(g), v = 0, y = r.length; v < y; v++) {
                  var A = (v > 0 ? this.clone(true) : this).get();
                  c.fn[d].apply(c(r[v]), A);
                  l = l.concat(A)
              }
              return this.pushStack(l, a, g)
          }
      });
      c.each({
          removeAttr: function (a) {
              c.attr(this, a, "");
              this.nodeType == 1 && this.removeAttribute(a)
          },
          addClass: function (a) {
              c.className.add(this, a)
          },
          removeClass: function (a) {
              c.className.remove(this, a)
          },
          toggleClass: function (a, d) {
              if (typeof d !== "boolean") d = !c.className.has(this, a);
              c.className[d ? "add" : "remove"](this, a)
          },
          remove: function (a) {
              if (!a || c.filter(a, [this]).length) {
                  c("*", this).add([this]).each(function () {
                      c.event.remove(this);
                      c.removeData(this)
                  });
                  this.parentNode && this.parentNode.removeChild(this)
              }
          },
          empty: function () {
              for (c(this).children().remove(); this.firstChild;) this.removeChild(this.firstChild)
          }
      }, function (a, d) {
          c.fn[a] = function () {
              return this.each(d, arguments)
          }
      });
      var O = "jQuery" + h(),
          ba = 0,
          X = {};
      c.extend({
          cache: {},
          data: function (a, d, g) {
              a = a == o ? X : a;
              var l = a[O];
              l || (l = a[O] = ++ba);
              if (d && !c.cache[l]) c.cache[l] = {};
              if (g !== void 0) c.cache[l][d] = g;
              return d ? c.cache[l][d] : l
          },
         
          dequeue: function (a, d) {
              var g = c.queue(a, d),
                  l = g.shift();
              if (!d || d === "fx") l = g[0];
              l !== void 0 && l.call(a)
          }
      });
      c.fn.extend({
          data: function (a, d) {
              var g = a.split(".");
              g[1] = g[1] ? "." + g[1] : "";
              if (d === void 0) {
                  var l = this.triggerHandler("getData" + g[1] + "!", [g[0]]);
                  if (l === void 0 && this.length) l = c.data(this[0], a);
                  return l === void 0 && g[1] ? this.data(g[0]) : l
              } else return this.trigger("setData" + g[1] + "!", [g[0], d]).each(function () {
                  c.data(this, a, d)
              })
          },
          removeData: function (a) {
              return this.each(function () {
                  c.removeData(this, a)
              })
          },
          queue: function (a, d) {
              if (typeof a !== "string") {
                  d = a;
                  a = "fx"
              }
              if (d === void 0) return c.queue(this[0], a);
              return this.each(function () {
                  var g = c.queue(this, a, d);
                  a == "fx" && g.length == 1 && g[0].call(this)
              })
          },
          dequeue: function (a) {
              return this.each(function () {
                  c.dequeue(this, a)
              })
          }
      });
      (function () {
          function a(j, p, u, x, C, D) {
              C = j == "previousSibling" && !D;
              for (var H = 0, P = x.length; H < P; H++) {
                  var I = x[H];
                  if (I) {
                      if (C && I.nodeType === 1) {
                          I.sizcache = u;
                          I.sizset = H
                      }
                      I = I[j];
                      for (var R = false; I;) {
                          if (I.sizcache === u) {
                              R = x[I.sizset];
                              break
                          }
                          if (I.nodeType === 1 && !D) {
                              I.sizcache = u;
                              I.sizset = H
                          }
                          if (I.nodeName === p) {
                              R = I;
                              break
                          }
                          I = I[j]
                      }
                      x[H] = R
                  }
              }
          }
          function d(j, p, u, x, C, D) {
              C = j == "previousSibling" && !D;
              for (var H = 0, P = x.length; H < P; H++) {
                  var I = x[H];
                  if (I) {
                      if (C && I.nodeType === 1) {
                          I.sizcache = u;
                          I.sizset = H
                      }
                      I = I[j];
                      for (var R = false; I;) {
                          if (I.sizcache === u) {
                              R = x[I.sizset];
                              break
                          }
                          if (I.nodeType === 1) {
                              if (!D) {
                                  I.sizcache = u;
                                  I.sizset = H
                              }
                              if (typeof p !== "string") {
                                  if (I === p) {
                                      R = true;
                                      break
                                  }
                              } else if (v.filter(p, [I]).length > 0) {
                                  R = I;
                                  break
                              }
                          }
                          I = I[j]
                      }
                      x[H] = R
                  }
              }
          }
          var g = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,
              l = 0,
              r = Object.prototype.toString,
              v = function (j, p, u, x) {
                  u = u || [];
                  p = p || document;
                  if (p.nodeType !== 1 && p.nodeType !== 9) return [];
                  if (!j || typeof j !== "string") return u;
                  var C = [],
                      D, H, P, I = true;
                  for (g.lastIndex = 0;
                  (D = g.exec(j)) !== null;) {
                      C.push(D[1]);
                      if (D[2]) {
                          P = RegExp.rightContext;
                          break
                      }
                  }
                  if (C.length > 1 && A.exec(j)) if (C.length === 2 && y.relative[C[0]]) D = U(C[0] + C[1], p);
                  else for (D = y.relative[C[0]] ? [p] : v(C.shift(), p); C.length;) {
                      j = C.shift();
                      if (y.relative[j]) j += C.shift();
                      D = U(j, D)
                  } else {
                      D = x ? {
                          expr: C.pop(),
                          set: N(x)
                      } : v.find(C.pop(), C.length === 1 && p.parentNode ? p.parentNode : p, J(p));
                      D = v.filter(D.expr, D.set);
                      if (C.length > 0) H = N(D);
                      else I = false;
                      for (; C.length;) {
                          var R = C.pop(),
                              T = R;
                          if (y.relative[R]) T = C.pop();
                          else R = "";
                          if (T == null) T = p;
                          y.relative[R](H, T, J(p))
                      }
                  }
                  H || (H = D);
                  if (!H) throw "Syntax error, unrecognized expression: " + (R || j);
                  if (r.call(H) === "[object Array]") if (I) if (p.nodeType === 1) for (j = 0; H[j] != null; j++) {
                      if (H[j] && (H[j] === true || H[j].nodeType === 1 && S(p, H[j]))) u.push(D[j])
                  } else for (j = 0; H[j] != null; j++) H[j] && H[j].nodeType === 1 && u.push(D[j]);
                  else u.push.apply(u, H);
                  else N(H, u);
                  if (P) {
                      v(P, p, u, x);
                      if (Q) {
                          hasDuplicate = false;
                          u.sort(Q);
                          if (hasDuplicate) for (j = 1; j < u.length; j++) u[j] === u[j - 1] && u.splice(j--, 1)
                      }
                  }
                  return u
              };
          v.matches = function (j, p) {
              return v(j, null, null, p)
          };
          v.find = function (j, p, u) {
              var x, C;
              if (!j) return [];
              for (var D = 0, H = y.order.length; D < H; D++) {
                  var P = y.order[D];
                  if (C = y.match[P].exec(j)) {
                      var I = RegExp.leftContext;
                      if (I.substr(I.length - 1) !== "\\") {
                          C[1] = (C[1] || "").replace(/\\/g, "");
                          x = y.find[P](C, p, u);
                          if (x != null) {
                              j = j.replace(y.match[P], "");
                              break
                          }
                      }
                  }
              }
              x || (x = p.getElementsByTagName("*"));
              return {
                  set: x,
                  expr: j
              }
          };
          v.filter = function (j, p, u, x) {
              for (var C = j, D = [], H = p, P, I, R = p && p[0] && J(p[0]); j && p.length;) {
                  for (var T in y.filter) if ((P = y.match[T].exec(j)) != null) {
                      var ha = y.filter[T],
                          ca, da;
                      I = false;
                      if (H == D) D = [];
                      if (y.preFilter[T]) if (P = y.preFilter[T](P, H, u, D, x, R)) {
                          if (P === true) continue
                      } else I = ca = true;
                      if (P) for (var ea = 0;
                      (da = H[ea]) != null; ea++) if (da) {
                          ca = ha(da, P, ea, H);
                          var ga = x ^ !! ca;
                          if (u && ca != null) if (ga) I = true;
                          else H[ea] = false;
                          else if (ga) {
                              D.push(da);
                              I = true
                          }
                      }
                      if (ca !== void 0) {
                          u || (H = D);
                          j = j.replace(y.match[T], "");
                          if (!I) return [];
                          break
                      }
                  }
                  if (j == C) if (I == null) throw "Syntax error, unrecognized expression: " + j;
                  else break;
                  C = j
              }
              return H
          };
          var y = v.selectors = {
              order: ["ID", "NAME", "TAG"],
              match: {
                  ID: /#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,
                  CLASS: /\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,
                  NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,
                  ATTR: /\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
                  TAG: /^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,
                  CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,
                  POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,
                  PSEUDO: /:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/
              },
              attrMap: {
                  "class": "className",
                  "for": "htmlFor"
              },
              attrHandle: {
                  href: function (j) {
                      return j.getAttribute("href")
                  }
              },
              relative: {
                  "+": function (j, p, u) {
                      var x = typeof p === "string",
                          C = x && !/\W/.test(p);
                      x = x && !C;
                      if (C && !u) p = p.toUpperCase();
                      u = 0;
                      C = j.length;
                      for (var D; u < C; u++) if (D = j[u]) {
                          for (;
                          (D = D.previousSibling) && D.nodeType !== 1;);
                          j[u] = x || D && D.nodeName === p ? D || false : D === p
                      }
                      x && v.filter(p, j, true)
                  },
                  ">": function (j, p, u) {
                      var x = typeof p === "string";
                      if (x && !/\W/.test(p)) {
                          p = u ? p : p.toUpperCase();
                          u = 0;
                          for (var C = j.length; u < C; u++) {
                              var D = j[u];
                              if (D) {
                                  x = D.parentNode;
                                  j[u] = x.nodeName === p ? x : false
                              }
                          }
                      } else {
                          u = 0;
                          for (C = j.length; u < C; u++) if (D = j[u]) j[u] = x ? D.parentNode : D.parentNode === p;
                          x && v.filter(p, j, true)
                      }
                  },
                  "": function (j, p, u) {
                      var x = l++,
                          C = d;
                      if (!p.match(/\W/)) {
                          var D = p = u ? p : p.toUpperCase();
                          C = a
                      }
                      C("parentNode", p, x, j, D, u)
                  },
                  "~": function (j, p, u) {
                      var x = l++,
                          C = d;
                      if (typeof p === "string" && !p.match(/\W/)) {
                          var D = p = u ? p : p.toUpperCase();
                          C = a
                      }
                      C("previousSibling", p, x, j, D, u)
                  }
              },
              find: {
                  ID: function (j, p, u) {
                      if (typeof p.getElementById !== "undefined" && !u) return (j = p.getElementById(j[1])) ? [j] : []
                  },
                  NAME: function (j, p) {
                      if (typeof p.getElementsByName !== "undefined") {
                          var u = [];
                          p = p.getElementsByName(j[1]);
                          for (var x = 0, C = p.length; x < C; x++) p[x].getAttribute("name") === j[1] && u.push(p[x]);
                          return u.length === 0 ? null : u
                      }
                  },
                  TAG: function (j, p) {
                      return p.getElementsByTagName(j[1])
                  }
              },
              preFilter: {
                  CLASS: function (j, p, u, x, C, D) {
                      j = " " + j[1].replace(/\\/g, "") + " ";
                      if (D) return j;
                      D = 0;
                      for (var H;
                      (H = p[D]) != null; D++) if (H) if (C ^ (H.className && (" " + H.className + " ").indexOf(j) >= 0)) u || x.push(H);
                      else if (u) p[D] = false;
                      return false
                  },
                  ID: function (j) {
                      return j[1].replace(/\\/g, "")
                  },
                  TAG: function (j, p) {
                      for (var u = 0; p[u] === false; u++);
                      return p[u] && J(p[u]) ? j[1] : j[1].toUpperCase()
                  },
                  CHILD: function (j) {
                      if (j[1] == "nth") {
                          var p = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(j[2] == "even" && "2n" || j[2] == "odd" && "2n+1" || !/\D/.test(j[2]) && "0n+" + j[2] || j[2]);
                          j[2] = p[1] + (p[2] || 1) - 0;
                          j[3] = p[3] - 0
                      }
                      j[0] = l++;
                      return j
                  },
                  ATTR: function (j, p, u, x, C, D) {
                      p = j[1].replace(/\\/g, "");
                      if (!D && y.attrMap[p]) j[1] = y.attrMap[p];
                      if (j[2] === "~=") j[4] = " " + j[4] + " ";
                      return j
                  },
                  PSEUDO: function (j, p, u, x, C) {
                      if (j[1] === "not") if (j[3].match(g).length > 1 || /^\w/.test(j[3])) j[3] = v(j[3], null, null, p);
                      else {
                          j = v.filter(j[3], p, u, true ^ C);
                          u || x.push.apply(x, j);
                          return false
                      } else if (y.match.POS.test(j[0]) || y.match.CHILD.test(j[0])) return true;
                      return j
                  },
                  POS: function (j) {
                      j.unshift(true);
                      return j
                  }
              },
              filters: {
                  enabled: function (j) {
                      return j.disabled === false && j.type !== "hidden"
                  },
                  disabled: function (j) {
                      return j.disabled === true
                  },
                  checked: function (j) {
                      return j.checked === true
                  },
                  selected: function (j) {
                      return j.selected === true
                  },
                  parent: function (j) {
                      return !!j.firstChild
                  },
                  empty: function (j) {
                      return !j.firstChild
                  },
                  has: function (j, p, u) {
                      return !!v(u[3], j).length
                  },
                  header: function (j) {
                      return /h\d/i.test(j.nodeName)
                  },
                  text: function (j) {
                      return "text" === j.type
                  },
                  radio: function (j) {
                      return "radio" === j.type
                  },
                  checkbox: function (j) {
                      return "checkbox" === j.type
                  },
                  file: function (j) {
                      return "file" === j.type
                  },
                  password: function (j) {
                      return "password" === j.type
                  },
                  submit: function (j) {
                      return "submit" === j.type
                  },
                  image: function (j) {
                      return "image" === j.type
                  },
                  reset: function (j) {
                      return "reset" === j.type
                  },
                  button: function (j) {
                      return "button" === j.type || j.nodeName.toUpperCase() === "BUTTON"
                  },
                  input: function (j) {
                      return /input|select|textarea|button/i.test(j.nodeName)
                  }
              },
              
              filter: {
                  PSEUDO: function (j, p, u, x) {
                      var C = p[1],
                          D = y.filters[C];
                      if (D) return D(j, u, p, x);
                      else if (C === "contains") return (j.textContent || j.innerText || "").indexOf(p[3]) >= 0;
                      else if (C === "not") {
                          p = p[3];
                          u = 0;
                          for (x = p.length; u < x; u++) if (p[u] === j) return false;
                          return true
                      }
                  },
                  CHILD: function (j, p) {
                      var u = p[1],
                          x = j;
                      switch (u) {
                      case "only":
                      case "first":
                          for (; x = x.previousSibling;) if (x.nodeType === 1) return false;
                          if (u == "first") return true;
                          x = j;
                      case "last":
                          for (; x = x.nextSibling;) if (x.nodeType === 1) return false;
                          return true;
                      case "nth":
                          u = p[2];
                          var C = p[3];
                          if (u == 1 && C == 0) return true;
                          p = p[0];
                          var D = j.parentNode;
                          if (D && (D.sizcache !== p || !j.nodeIndex)) {
                              var H = 0;
                              for (x = D.firstChild; x; x = x.nextSibling) if (x.nodeType === 1) x.nodeIndex = ++H;
                              D.sizcache = p
                          }
                          j = j.nodeIndex - C;
                          return u == 0 ? j == 0 : j % u == 0 && j / u >= 0
                      }
                  },
                  ID: function (j, p) {
                      return j.nodeType === 1 && j.getAttribute("id") === p
                  },
                  TAG: function (j, p) {
                      return p === "*" && j.nodeType === 1 || j.nodeName === p
                  },
                  CLASS: function (j, p) {
                      return (" " + (j.className || j.getAttribute("class")) + " ").indexOf(p) > -1
                  },
                  ATTR: function (j, p) {
                      var u = p[1];
                      j = y.attrHandle[u] ? y.attrHandle[u](j) : j[u] != null ? j[u] : j.getAttribute(u);
                      u = j + "";
                      var x = p[2];
                      p = p[4];
                      return j == null ? x === "!=" : x === "=" ? u === p : x === "*=" ? u.indexOf(p) >= 0 : x === "~=" ? (" " + u + " ").indexOf(p) >= 0 : !p ? u && j !== false : x === "!=" ? u != p : x === "^=" ? u.indexOf(p) === 0 : x === "$=" ? u.substr(u.length - p.length) === p : x === "|=" ? u === p || u.substr(0, p.length + 1) === p + "-" : false
                  },
                  POS: function (j, p, u, x) {
                      var C = y.setFilters[p[2]];
                      if (C) return C(j, u, p, x)
                  }
              }
          },
              A = y.match.POS;
          for (var L in y.match) y.match[L] = RegExp(y.match[L].source + /(?![^\[]*\])(?![^\(]*\))/.source);
          var N = function (j, p) {
                  j = Array.prototype.slice.call(j);
                  if (p) {
                      p.push.apply(p, j);
                      return p
                  }
                  return j
              };
          try {
              Array.prototype.slice.call(document.documentElement.childNodes)
          } catch (M) {
              N = function (j, p) {
                  p = p || [];
                  if (r.call(j) === "[object Array]") Array.prototype.push.apply(p, j);
                  else if (typeof j.length === "number") for (var u = 0, x = j.length; u < x; u++) p.push(j[u]);
                  else for (u = 0; j[u]; u++) p.push(j[u]);
                  return p
              }
          }
          var Q;
          if (document.documentElement.compareDocumentPosition) Q = function (j, p) {
              j = j.compareDocumentPosition(p) & 4 ? -1 : j === p ? 0 : 1;
              if (j === 0) hasDuplicate = true;
              return j
          };
          else if ("sourceIndex" in document.documentElement) Q = function (j, p) {
              j = j.sourceIndex - p.sourceIndex;
              if (j === 0) hasDuplicate = true;
              return j
          };
          else if (document.createRange) Q = function (j, p) {
              var u = j.ownerDocument.createRange(),
                  x = p.ownerDocument.createRange();
              u.selectNode(j);
              u.collapse(true);
              x.selectNode(p);
              x.collapse(true);
              j = u.compareBoundaryPoints(Range.START_TO_END, x);
              if (j === 0) hasDuplicate = true;
              return j
          };
          (function () {
              var j = document.createElement("form"),
                  p = "script" + (new Date).getTime();
              j.innerHTML = "<input name='" + p + "'/>";
              var u = document.documentElement;
              u.insertBefore(j, u.firstChild);
              if (document.getElementById(p)) {
                  y.find.ID = function (x, C, D) {
                      if (typeof C.getElementById !== "undefined" && !D) return (C = C.getElementById(x[1])) ? C.id === x[1] || typeof C.getAttributeNode !== "undefined" && C.getAttributeNode("id").nodeValue === x[1] ? [C] : void 0 : []
                  };
                  y.filter.ID = function (x, C) {
                      var D = typeof x.getAttributeNode !== "undefined" && x.getAttributeNode("id");
                      return x.nodeType === 1 && D && D.nodeValue === C
                  }
              }
              u.removeChild(j)
          })();
          (function () {
              var j = document.createElement("div");
              j.appendChild(document.createComment(""));
              if (j.getElementsByTagName("*").length > 0) y.find.TAG = function (p, u) {
                  u = u.getElementsByTagName(p[1]);
                  if (p[1] === "*") {
                      p = [];
                      for (var x = 0; u[x]; x++) u[x].nodeType === 1 && p.push(u[x]);
                      u = p
                  }
                  return u
              };
              j.innerHTML = "<a href='#'></a>";
              if (j.firstChild && typeof j.firstChild.getAttribute !== "undefined" && j.firstChild.getAttribute("href") !== "#") y.attrHandle.href = function (p) {
                  return p.getAttribute("href", 2)
              }
          })();
          document.querySelectorAll &&
          function () {
              var j = v,
                  p = document.createElement("div");
              p.innerHTML = "<p class='TEST'></p>";
              if (!(p.querySelectorAll && p.querySelectorAll(".TEST").length === 0)) {
                  v = function (u, x, C, D) {
                      x = x || document;
                      if (!D && x.nodeType === 9 && !J(x)) try {
                          return N(x.querySelectorAll(u), C)
                      } catch (H) {}
                      return j(u, x, C, D)
                  };
                  v.find = j.find;
                  v.filter = j.filter;
                  v.selectors = j.selectors;
                  v.matches = j.matches
              }
          }();
          document.getElementsByClassName && document.documentElement.getElementsByClassName &&
          function () {
              var j = document.createElement("div");
              j.innerHTML = "<div class='test e'></div><div class='test'></div>";
              if (j.getElementsByClassName("e").length !== 0) {
                  j.lastChild.className = "e";
                  if (j.getElementsByClassName("e").length !== 1) {
                      y.order.splice(1, 0, "CLASS");
                      y.find.CLASS = function (p, u, x) {
                          if (typeof u.getElementsByClassName !== "undefined" && !x) return u.getElementsByClassName(p[1])
                      }
                  }
              }
          }();
          var S = document.compareDocumentPosition ?
          function (j, p) {
              return j.compareDocumentPosition(p) & 16
          } : function (j, p) {
              return j !== p && (j.contains ? j.contains(p) : true)
          }, J = function (j) {
              return j.nodeType === 9 && j.documentElement.nodeName !== "HTML" || !! j.ownerDocument && J(j.ownerDocument)
          }, U = function (j, p) {
              var u = [],
                  x = "",
                  C;
              for (p = p.nodeType ? [p] : p; C = y.match.PSEUDO.exec(j);) {
                  x += C[0];
                  j = j.replace(y.match.PSEUDO, "")
              }
              j = y.relative[j] ? j + "*" : j;
              C = 0;
              for (var D = p.length; C < D; C++) v(j, p[C], u);
              return v.filter(x, u)
          };
          c.find = v;
          c.filter = v.filter;
          c.expr = v.selectors;
          c.expr[":"] = c.expr.filters;
          v.selectors.filters.hidden = function (j) {
              return j.offsetWidth === 0 || j.offsetHeight === 0
          };
          v.selectors.filters.visible = function (j) {
              return j.offsetWidth > 0 || j.offsetHeight > 0
          };
          v.selectors.filters.animated = function (j) {
              return c.grep(c.timers, function (p) {
                  return j === p.elem
              }).length
          };
          c.multiFilter = function (j, p, u) {
              if (u) j = ":not(" + j + ")";
              return v.matches(j, p)
          };
          c.dir = function (j, p) {
              var u = [];
              for (j = j[p]; j && j != document;) {
                  j.nodeType == 1 && u.push(j);
                  j = j[p]
              }
              return u
          };
          c.nth = function (j, p, u) {
              p = p || 1;
              for (var x = 0; j; j = j[u]) if (j.nodeType == 1 && ++x == p) break;
              return j
          };
          c.sibling = function (j, p) {
              for (var u = []; j; j = j.nextSibling) j.nodeType == 1 && j != p && u.push(j);
              return u
          }
      })();
      c.event = {
          add: function (a, d, g, l) {
              if (!(a.nodeType == 3 || a.nodeType == 8)) {
                  if (a.setInterval && a != o) a = o;
                  if (!g.guid) g.guid = this.guid++;
                  if (l !== void 0) {
                      g = this.proxy(g);
                      g.data = l
                  }
                  var r = c.data(a, "events") || c.data(a, "events", {}),
                      v = c.data(a, "handle") || c.data(a, "handle", function () {
                          return typeof c !== "undefined" && !c.event.triggered ? c.event.handle.apply(arguments.callee.elem, arguments) : void 0
                      });
                  v.elem = a;
                  c.each(d.split(/\s+/), function (y, A) {
                      y = A.split(".");
                      A = y.shift();
                      g.type = y.slice().sort().join(".");
                      var L = r[A];
                      c.event.specialAll[A] && c.event.specialAll[A].setup.call(a, l, y);
                      if (!L) {
                          L = r[A] = {};
                          if (!c.event.special[A] || c.event.special[A].setup.call(a, l, y) === false) if (a.addEventListener) a.addEventListener(A, v, false);
                          else a.attachEvent && a.attachEvent("on" + A, v)
                      }
                      L[g.guid] = g;
                      c.event.global[A] = true
                  });
                  a = null
              }
          },
          guid: 1,
          global: {},
          remove: function (a, d, g) {
              if (!(a.nodeType == 3 || a.nodeType == 8)) {
                  var l = c.data(a, "events"),
                      r;
                  if (l) {
                      if (d === void 0 || typeof d === "string" && d.charAt(0) == ".") for (var v in l) this.remove(a, v + (d || ""));
                      else {
                          if (d.type) {
                              g = d.handler;
                              d = d.type
                          }
                          c.each(d.split(/\s+/), function (y, A) {
                              y = A.split(".");
                              A = y.shift();
                              var L = RegExp("(^|\\.)" + y.slice().sort().join(".*\\.") + "(\\.|$)");
                              if (l[A]) {
                                  if (g) delete l[A][g.guid];
                                  else for (var N in l[A]) L.test(l[A][N].type) && delete l[A][N];
                                  c.event.specialAll[A] && c.event.specialAll[A].teardown.call(a, y);
                                  for (r in l[A]) break;
                                  if (!r) {
                                      if (!c.event.special[A] || c.event.special[A].teardown.call(a, y) === false) if (a.removeEventListener) a.removeEventListener(A, c.data(a, "handle"), false);
                                      else a.detachEvent && a.detachEvent("on" + A, c.data(a, "handle"));
                                      r = null;
                                      delete l[A]
                                  }
                              }
                          })
                      }
                      for (r in l) break;
                      if (!r) {
                          if (d = c.data(a, "handle")) d.elem = null;
                          c.removeData(a, "events");
                          c.removeData(a, "handle")
                      }
                  }
              }
          },
          trigger: function (a, d, g, l) {
              var r = a.type || a;
              if (!l) {
                  a = typeof a === "object" ? a[O] ? a : c.extend(c.Event(r), a) : c.Event(r);
                  if (r.indexOf("!") >= 0) {
                      a.type = r = r.slice(0, -1);
                      a.exclusive = true
                  }
                  if (!g) {
                      a.stopPropagation();
                      this.global[r] && c.each(c.cache, function () {
                          this.events && this.events[r] && c.event.trigger(a, d, this.handle.elem)
                      })
                  }
                  if (!g || g.nodeType == 3 || g.nodeType == 8) return;
                  a.result = void 0;
                  a.target = g;
                  d = c.makeArray(d);
                  d.unshift(a)
              }
              a.currentTarget = g;
              var v = c.data(g, "handle");
              v && v.apply(g, d);
              if ((!g[r] || c.nodeName(g, "a") && r == "click") && g["on" + r] && g["on" + r].apply(g, d) === false) a.result = false;
              if (!l && g[r] && !a.isDefaultPrevented() && !(c.nodeName(g, "a") && r == "click")) {
                  this.triggered = true;
                  try {
                      g[r]()
                  } catch (y) {}
              }
              this.triggered = false;
              if (!a.isPropagationStopped())(g = g.parentNode || g.ownerDocument) && c.event.trigger(a, d, g, true)
          },
          handle: function (a) {
              var d, g;
              a = arguments[0] = c.event.fix(a || o.event);
              a.currentTarget = this;
              g = a.type.split(".");
              a.type = g.shift();
              d = !g.length && !a.exclusive;
              var l = RegExp("(^|\\.)" + g.slice().sort().join(".*\\.") + "(\\.|$)");
              g = (c.data(this, "events") || {})[a.type];
              for (var r in g) {
                  var v = g[r];
                  if (d || l.test(v.type)) {
                      a.handler = v;
                      a.data = v.data;
                      v = v.apply(this, arguments);
                      if (v !== void 0) {
                          a.result = v;
                          if (v === false) {
                              a.preventDefault();
                              a.stopPropagation()
                          }
                      }
                      if (a.isImmediatePropagationStopped()) break
                  }
              }
          },
          props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
          fix: function (a) {
              if (a[O]) return a;
              var d = a;
              a = c.Event(d);
              for (var g = this.props.length, l; g;) {
                  l = this.props[--g];
                  a[l] = d[l]
              }
              if (!a.target) a.target = a.srcElement || document;
              if (a.target.nodeType == 3) a.target = a.target.parentNode;
              if (!a.relatedTarget && a.fromElement) a.relatedTarget = a.fromElement == a.target ? a.toElement : a.fromElement;
              if (a.pageX == null && a.clientX != null) {
                  d = document.documentElement;
                  g = document.body;
                  a.pageX = a.clientX + (d && d.scrollLeft || g && g.scrollLeft || 0) - (d.clientLeft || 0);
                  a.pageY = a.clientY + (d && d.scrollTop || g && g.scrollTop || 0) - (d.clientTop || 0)
              }
              if (!a.which && (a.charCode || a.charCode === 0 ? a.charCode : a.keyCode)) a.which = a.charCode || a.keyCode;
              if (!a.metaKey && a.ctrlKey) a.metaKey = a.ctrlKey;
              if (!a.which && a.button) a.which = a.button & 1 ? 1 : a.button & 2 ? 3 : a.button & 4 ? 2 : 0;
              return a
          },
          proxy: function (a, d) {
              d = d ||
              function () {
                  return a.apply(this, arguments)
              };
              d.guid = a.guid = a.guid || d.guid || this.guid++;
              return d
          },
          special: {
              ready: {
                  setup: s,
                  teardown: function () {}
              }
          },
          specialAll: {
              live: {
                  setup: function (a, d) {
                      c.event.add(this, d[0], n)
                  },
                  teardown: function (a) {
                      if (a.length) {
                          var d = 0,
                              g = RegExp("(^|\\.)" + a[0] + "(\\.|$)");
                          c.each(c.data(this, "events").live || {}, function () {
                              g.test(this.type) && d++
                          });
                          d < 1 && c.event.remove(this, a[0], n)
                      }
                  }
              }
          }
      };
      c.Event = function (a) {
          if (!this.preventDefault) return new c.Event(a);
          if (a && a.type) {
              this.originalEvent = a;
              this.type = a.type
          } else this.type = a;
          this.timeStamp = h();
          this[O] = true
      };
      c.Event.prototype = {
          preventDefault: function () {
              this.isDefaultPrevented = m;
              var a = this.originalEvent;
              if (a) {
                  a.preventDefault && a.preventDefault();
                  a.returnValue = false
              }
          },
          stopPropagation: function () {
              this.isPropagationStopped = m;
              var a = this.originalEvent;
              if (a) {
                  a.stopPropagation && a.stopPropagation();
                  a.cancelBubble = true
              }
          },
          stopImmediatePropagation: function () {
              this.isImmediatePropagationStopped = m;
              this.stopPropagation()
          },
          isDefaultPrevented: f,
          isPropagationStopped: f,
          isImmediatePropagationStopped: f
      };
      var Z = function (a) {
              for (var d = a.relatedTarget; d && d != this;) try {
                  d = d.parentNode
              } catch (g) {
                  d = this
              }
              if (d != this) {
                  a.type = a.data;
                  c.event.handle.apply(this, arguments)
              }
          };
      c.each({
          mouseover: "mouseenter",
          mouseout: "mouseleave"
      }, function (a, d) {
          c.event.special[d] = {
              setup: function () {
                  c.event.add(this, a, Z, d)
              },
              teardown: function () {
                  c.event.remove(this, a, Z)
              }
          }
      });
      c.fn.extend({
          bind: function (a, d, g) {
              return a == "unload" ? this.one(a, d, g) : this.each(function () {
                  c.event.add(this, a, g || d, g && d)
              })
          },
          one: function (a, d, g) {
              var l = c.event.proxy(g || d, function (r) {
                  c(this).unbind(r, l);
                  return (g || d).apply(this, arguments)
              });
              return this.each(function () {
                  c.event.add(this, a, l, g && d)
              })
          },
          unbind: function (a, d) {
              return this.each(function () {
                  c.event.remove(this, a, d)
              })
          },
          trigger: function (a, d) {
              return this.each(function () {
                  c.event.trigger(a, d, this)
              })
          },
          triggerHandler: function (a, d) {
              if (this[0]) {
                  a = c.Event(a);
                  a.preventDefault();
                  a.stopPropagation();
                  c.event.trigger(a, d, this[0]);
                  return a.result
              }
          },
          toggle: function (a) {
              for (var d = arguments, g = 1; g < d.length;) c.event.proxy(a, d[g++]);
              return this.click(c.event.proxy(a, function (l) {
                  this.lastToggle = (this.lastToggle || 0) % g;
                  l.preventDefault();
                  return d[this.lastToggle++].apply(this, arguments) || false
              }))
          },
          hover: function (a, d) {
              return this.mouseenter(a).mouseleave(d)
          },
          ready: function (a) {
              s();
              c.isReady ? a.call(document, c) : c.readyList.push(a);
              return this
          },
          live: function (a, d) {
              d = c.event.proxy(d);
              d.guid += this.selector + a;
              c(document).bind(k(a, this.selector), this.selector, d);
              return this
          },
          die: function (a, d) {
              c(document).unbind(k(a, this.selector), d ? {
                  guid: d.guid + this.selector + a
              } : null);
              return this
          }
      });
      c.extend({
          isReady: false,
          readyList: [],
          ready: function () {
              if (!c.isReady) {
                  c.isReady = true;
                  if (c.readyList) {
                      c.each(c.readyList, function () {
                          this.call(document, c)
                      });
                      c.readyList = null
                  }
                  c(document).triggerHandler("ready")
              }
          }
      });
      var aa = false;
      c.each("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error".split(","), function (a, d) {
          c.fn[d] = function (g) {
              return g ? this.bind(d, g) : this.trigger(d)
          }
      });
      c(o).bind("unload", function () {
          for (var a in c.cache) a != 1 && c.cache[a].handle && c.event.remove(c.cache[a].handle.elem)
      });
      (function () {
          c.support = {};
          var a = document.documentElement,
              d = document.createElement("script"),
              g = document.createElement("div"),
              l = "script" + (new Date).getTime();
          g.style.display = "none";
          g.innerHTML = '   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';
          var r = g.getElementsByTagName("*"),
              v = g.getElementsByTagName("a")[0];
          if (!(!r || !r.length || !v)) {
              c.support = {
                  leadingWhitespace: g.firstChild.nodeType == 3,
                  tbody: !g.getElementsByTagName("tbody").length,
                  objectAll: !! g.getElementsByTagName("object")[0].getElementsByTagName("*").length,
                  htmlSerialize: !! g.getElementsByTagName("link").length,
                  style: /red/.test(v.getAttribute("style")),
                  hrefNormalized: v.getAttribute("href") === "/a",
                  opacity: v.style.opacity === "0.5",
                  cssFloat: !! v.style.cssFloat,
                  scriptEval: false,
                  noCloneEvent: true,
                  boxModel: null
              };
              d.type = "text/javascript";
              try {
                  d.appendChild(document.createTextNode("window." + l + "=1;"))
              } catch (y) {}
              a.insertBefore(d, a.firstChild);
              if (o[l]) {
                  c.support.scriptEval = true;
                  delete o[l]
              }
              a.removeChild(d);
              if (g.attachEvent && g.fireEvent) {
                  g.attachEvent("onclick", function () {
                      c.support.noCloneEvent = false;
                      g.detachEvent("onclick", arguments.callee)
                  });
                  g.cloneNode(true).fireEvent("onclick")
              }
              c(function () {
                  var A = document.createElement("div");
                  A.style.width = A.style.paddingLeft = "1px";
                  document.body.appendChild(A);
                  c.boxModel = c.support.boxModel = A.offsetWidth === 2;
                  document.body.removeChild(A).style.display = "none"
              })
          }
      })();
      var W = c.support.cssFloat ? "cssFloat" : "styleFloat";
      c.props = {
          "for": "htmlFor",
          "class": "className",
          "float": W,
          cssFloat: W,
          styleFloat: W,
          readonly: "readOnly",
          maxlength: "maxLength",
          cellspacing: "cellSpacing",
          rowspan: "rowSpan",
          tabindex: "tabIndex"
      };
      c.fn.extend({
          _load: c.fn.load,
          load: function (a, d, g) {
              if (typeof a !== "string") return this._load(a);
              var l = a.indexOf(" ");
              if (l >= 0) {
                  var r = a.slice(l, a.length);
                  a = a.slice(0, l)
              }
              l = "GET";
              if (d) if (c.isFunction(d)) {
                  g = d;
                  d = null
              } else if (typeof d === "object") {
                  d = c.param(d);
                  l = "POST"
              }
              var v = this;
              c.ajax({
                  url: a,
                  type: l,
                  dataType: "html",
                  data: d,
                  complete: function (y, A) {
                      if (A == "success" || A == "notmodified") v.html(r ? c("<div/>").append(y.responseText.replace(/<script(.|\s)*?\/script>/g, "")).find(r) : y.responseText);
                      g && v.each(g, [y.responseText, A, y])
                  }
              });
              return this
          },
          serialize: function () {
              return c.param(this.serializeArray())
          },
          serializeArray: function () {
              return this.map(function () {
                  return this.elements ? c.makeArray(this.elements) : this
              }).filter(function () {
                  return this.name && !this.disabled && (this.checked || /select|textarea/i.test(this.nodeName) || /text|hidden|password|search/i.test(this.type))
              }).map(function (a, d) {
                  a = c(this).val();
                  return a == null ? null : c.isArray(a) ? c.map(a, function (g) {
                      return {
                          name: d.name,
                          value: g
                      }
                  }) : {
                      name: d.name,
                      value: a
                  }
              }).get()
          }
      });
      c.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","), function (a, d) {
          c.fn[d] = function (g) {
              return this.bind(d, g)
          }
      });
      var $ = h();
      c.extend({
          get: function (a, d, g, l) {
              if (c.isFunction(d)) {
                  g = d;
                  d = null
              }
              return c.ajax({
                  type: "GET",
                  url: a,
                  data: d,
                  success: g,
                  dataType: l
              })
          },
          getScript: function (a, d) {
              return c.get(a, null, d, "script")
          },
          getJSON: function (a, d, g) {
              return c.get(a, d, g, "json")
          },
          post: function (a, d, g, l) {
              if (c.isFunction(d)) {
                  g = d;
                  d = {}
              }
              return c.ajax({
                  type: "POST",
                  url: a,
                  data: d,
                  success: g,
                  dataType: l
              })
          },
          ajaxSetup: function (a) {
              c.extend(c.ajaxSettings, a)
          },
          ajaxSettings: {
              url: location.href,
              global: true,
              type: "GET",
              contentType: "application/x-www-form-urlencoded",
              processData: true,
              async: true,
              xhr: function () {
                  return o.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest
              },
              accepts: {
                  xml: "application/xml, text/xml",
                  html: "text/html",
                  script: "text/javascript, application/javascript",
                  json: "application/json, text/javascript",
                  text: "text/plain",
                  _default: "*/*"
              }
          },
          lastModified: {},
          ajax: function (a) {
              function d() {
                  a.success && a.success(y, v);
                  a.global && c.event.trigger("ajaxSuccess", [J, a])
              }
              function g() {
                  a.complete && a.complete(J, v);
                  a.global && c.event.trigger("ajaxComplete", [J, a]);
                  a.global && !--c.active && c.event.trigger("ajaxStop")
              }
              a = c.extend(true, a, c.extend(true, {}, c.ajaxSettings, a));
              var l, r = /=\?(&|$)/g,
                  v, y, A = a.type.toUpperCase();
              if (a.data && a.processData && typeof a.data !== "string") a.data = c.param(a.data);
              if (a.dataType == "jsonp") {
                  if (A == "GET") a.url.match(r) || (a.url += (a.url.match(/\?/) ? "&" : "?") + (a.jsonp || "callback") + "=?");
                  else if (!a.data || !a.data.match(r)) a.data = (a.data ? a.data + "&" : "") + (a.jsonp || "callback") + "=?";
                  a.dataType = "json"
              }
              if (a.dataType == "json" && (a.data && a.data.match(r) || a.url.match(r))) {
                  l = "jsonp" + $++;
                  if (a.data) a.data = (a.data + "").replace(r, "=" + l + "$1");
                  a.url = a.url.replace(r, "=" + l + "$1");
                  a.dataType = "script";
                  o[l] = function (x) {
                      y = x;
                      d();
                      g();
                      o[l] = void 0;
                      try {
                          delete o[l]
                      } catch (C) {}
                      N && N.removeChild(M)
                  }
              }
              if (a.dataType == "script" && a.cache == null) a.cache = false;
              if (a.cache === false && A == "GET") {
                  r = h();
                  var L = a.url.replace(/(\?|&)_=.*?(&|$)/, "$1_=" + r + "$2");
                  a.url = L + (L == a.url ? (a.url.match(/\?/) ? "&" : "?") + "_=" + r : "")
              }
              if (a.data && A == "GET") {
                  a.url += (a.url.match(/\?/) ? "&" : "?") + a.data;
                  a.data = null
              }
              a.global && !c.active++ && c.event.trigger("ajaxStart");
              r = /^(\w+:)?\/\/([^\/?#]+)/.exec(a.url);
              if (a.dataType == "script" && A == "GET" && r && (r[1] && r[1] != location.protocol || r[2] != location.host)) {
                  var N = document.getElementsByTagName("head")[0],
                      M = document.createElement("script");
                  M.src = a.url;
                  if (a.scriptCharset) M.charset = a.scriptCharset;
                  if (!l) {
                      var Q = false;
                      M.onload = M.onreadystatechange = function () {
                          if (!Q && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete")) {
                              Q = true;
                              d();
                              g();
                              M.onload = M.onreadystatechange = null;
                              N.removeChild(M)
                          }
                      }
                  }
                  N.appendChild(M)
              } else {
                  var S = false,
                      J = a.xhr();
                  a.username ? J.open(A, a.url, a.async, a.username, a.password) : J.open(A, a.url, a.async);
                  try {
                      a.data && J.setRequestHeader("Content-Type", a.contentType);
                      if (a.ifModified) J.setRequestHeader("If-Modified-Since", c.lastModified[a.url] || "Thu, 01 Jan 1970 00:00:00 GMT");
                      J.setRequestHeader("X-Requested-With", "XMLHttpRequest");
                      J.setRequestHeader("Accept", a.dataType && a.accepts[a.dataType] ? a.accepts[a.dataType] + ", */*" : a.accepts._default)
                  } catch (U) {}
                  if (a.beforeSend && a.beforeSend(J, a) === false) {
                      a.global && !--c.active && c.event.trigger("ajaxStop");
                      J.abort();
                      return false
                  }
                  a.global && c.event.trigger("ajaxSend", [J, a]);
                  var j = function (x) {
                          if (J.readyState == 0) {
                              if (p) {
                                  clearInterval(p);
                                  p = null;
                                  a.global && !--c.active && c.event.trigger("ajaxStop")
                              }
                          } else if (!S && J && (J.readyState == 4 || x == "timeout")) {
                              S = true;
                              if (p) {
                                  clearInterval(p);
                                  p = null
                              }
                              v = x == "timeout" ? "timeout" : !c.httpSuccess(J) ? "error" : a.ifModified && c.httpNotModified(J, a.url) ? "notmodified" : "success";
                              if (v == "success") try {
                                  y = c.httpData(J, a.dataType, a)
                              } catch (C) {
                                  v = "parsererror"
                              }
                              if (v == "success") {
                                  var D;
                                  try {
                                      D = J.getResponseHeader("Last-Modified")
                                  } catch (H) {}
                                  if (a.ifModified && D) c.lastModified[a.url] = D;
                                  l || d()
                              } else c.handleError(a, J, v);
                              g();
                              x && J.abort();
                              if (a.async) J = null
                          }
                      };
                  if (a.async) {
                      var p = setInterval(j, 13);
                      a.timeout > 0 && setTimeout(function () {
                          J && !S && j("timeout")
                      }, a.timeout)
                  }
                  try {
                      J.send(a.data)
                  } catch (u) {
                      c.handleError(a, J, null, u)
                  }
                  a.async || j();
                  return J
              }
          },
          handleError: function (a, d, g, l) {
              a.error && a.error(d, g, l);
              a.global && c.event.trigger("ajaxError", [d, a, l])
          },
          active: 0,
          httpSuccess: function (a) {
              try {
                  return !a.status && location.protocol == "file:" || a.status >= 200 && a.status < 300 || a.status == 304 || a.status == 1223
              } catch (d) {}
              return false
          },
          httpNotModified: function (a, d) {
              try {
                  var g = a.getResponseHeader("Last-Modified");
                  return a.status == 304 || g == c.lastModified[d]
              } catch (l) {}
              return false
          },
          httpData: function (a, d, g) {
              var l = a.getResponseHeader("content-type");
              a = (l = d == "xml" || !d && l && l.indexOf("xml") >= 0) ? a.responseXML : a.responseText;
              if (l && a.documentElement.tagName == "parsererror") throw "parsererror";
              if (g && g.dataFilter) a = g.dataFilter(a, d);
              if (typeof a === "string") {
                  d == "script" && c.globalEval(a);
                  if (d == "json") a = o.eval("(" + a + ")")
              }
              return a
          },
          param: function (a) {
              function d(r, v) {
                  g[g.length] = encodeURIComponent(r) + "=" + encodeURIComponent(v)
              }
              var g = [];
              if (c.isArray(a) || a.jquery) c.each(a, function () {
                  d(this.name, this.value)
              });
              else for (var l in a) c.isArray(a[l]) ? c.each(a[l], function () {
                  d(l, this)
              }) : d(l, c.isFunction(a[l]) ? a[l]() : a[l]);
              return g.join("&").replace(/%20/g, "+")
          }
      });
      var Y = {},
          V, fa = [
              ["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"],
              ["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"],
              ["opacity"]
          ];
      c.fn.extend({
          show: function (a, d) {
              if (a) return this.animate(q("show", 3), a, d);
              else {
                  a = 0;
                  for (d = this.length; a < d; a++) {
                      var g = c.data(this[a], "olddisplay");
                      this[a].style.display = g || "";
                      if (c.css(this[a], "display") === "none") {
                          g = this[a].tagName;
                          var l;
                          if (Y[g]) l = Y[g];
                          else {
                              var r = c("<" + g + " />").appendTo("body");
                              l = r.css("display");
                              if (l === "none") l = "block";
                              r.remove();
                              Y[g] = l
                          }
                          c.data(this[a], "olddisplay", l)
                      }
                  }
                  a = 0;
                  for (d = this.length; a < d; a++) this[a].style.display = c.data(this[a], "olddisplay") || "";
                  return this
              }
          },
          hide: function (a, d) {
              if (a) return this.animate(q("hide", 3), a, d);
              else {
                  a = 0;
                  for (d = this.length; a < d; a++) {
                      var g = c.data(this[a], "olddisplay");
                      !g && g !== "none" && c.data(this[a], "olddisplay", c.css(this[a], "display"))
                  }
                  a = 0;
                  for (d = this.length; a < d; a++) this[a].style.display = "none";
                  return this
              }
          },
          _toggle: c.fn.toggle,
          toggle: function (a, d) {
              var g = typeof a === "boolean";
              return c.isFunction(a) && c.isFunction(d) ? this._toggle.apply(this, arguments) : a == null || g ? this.each(function () {
                  var l = g ? a : c(this).is(":hidden");
                  c(this)[l ? "show" : "hide"]()
              }) : this.animate(q("toggle", 3), a, d)
          },
          fadeTo: function (a, d, g) {
              return this.animate({
                  opacity: d
              }, a, g)
          },
          animate: function (a, d, g, l) {
              var r = c.speed(d, g, l);
              return this[r.queue === false ? "each" : "queue"](function () {
                  var v = c.extend({}, r),
                      y, A = this.nodeType == 1 && c(this).is(":hidden"),
                      L = this;
                  for (y in a) {
                      if (a[y] == "hide" && A || a[y] == "show" && !A) return v.complete.call(this);
                      if ((y == "height" || y == "width") && this.style) {
                          v.display = c.css(this, "display");
                          v.overflow = this.style.overflow
                      }
                  }
                  if (v.overflow != null) this.style.overflow = "hidden";
                  v.curAnim = c.extend({}, a);
                  c.each(a, function (N, M) {
                      var Q = new c.fx(L, v, N);
                      if (/toggle|show|hide/.test(M)) Q[M == "toggle" ? A ? "show" : "hide" : M](a);
                      else {
                          var S = M.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),
                              J = Q.cur(true) || 0;
                          if (S) {
                              M = parseFloat(S[2]);
                              var U = S[3] || "px";
                              if (U != "px") {
                                  L.style[N] = (M || 1) + U;
                                  J = (M || 1) / Q.cur(true) * J;
                                  L.style[N] = J + U
                              }
                              if (S[1]) M = (S[1] == "-=" ? -1 : 1) * M + J;
                              Q.custom(J, M, U)
                          } else Q.custom(J, M, "")
                      }
                  });
                  return true
              })
          },
          stop: function (a, d) {
              var g = c.timers;
              a && this.queue([]);
              this.each(function () {
                  for (var l = g.length - 1; l >= 0; l--) if (g[l].elem == this) {
                      d && g[l](true);
                      g.splice(l, 1)
                  }
              });
              d || this.dequeue();
              return this
          }
      });
      c.each({
          slideDown: q("show", 1),
          slideUp: q("hide", 1),
          slideToggle: q("toggle", 1),
          fadeIn: {
              opacity: "show"
          },
          fadeOut: {
              opacity: "hide"
          }
      }, function (a, d) {
          c.fn[a] = function (g, l) {
              return this.animate(d, g, l)
          }
      });
      c.extend({
          speed: function (a, d, g) {
              var l = typeof a === "object" ? a : {
                  complete: g || !g && d || c.isFunction(a) && a,
                  duration: a,
                  easing: g && d || d && !c.isFunction(d) && d
              };
              l.duration = c.fx.off ? 0 : typeof l.duration === "number" ? l.duration : c.fx.speeds[l.duration] || c.fx.speeds._default;
              l.old = l.complete;
              l.complete = function () {
                  l.queue !== false && c(this).dequeue();
                  c.isFunction(l.old) && l.old.call(this)
              };
              return l
          },
          easing: {
              linear: function (a, d, g, l) {
                  return g + l * a
              },
              swing: function (a, d, g, l) {
                  return (-Math.cos(a * Math.PI) / 2 + 0.5) * l + g
              }
          },
          timers: [],
          fx: function (a, d, g) {
              this.options = d;
              this.elem = a;
              this.prop = g;
              if (!d.orig) d.orig = {}
          }
      });
      c.fx.prototype = {
          update: function () {
              this.options.step && this.options.step.call(this.elem, this.now, this);
              (c.fx.step[this.prop] || c.fx.step._default)(this);
              if ((this.prop == "height" || this.prop == "width") && this.elem.style) this.elem.style.display = "block"
          },
          cur: function (a) {
              if (this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null)) return this.elem[this.prop];
              return (a = parseFloat(c.css(this.elem, this.prop, a))) && a > -10000 ? a : parseFloat(c.curCSS(this.elem, this.prop)) || 0
          },
          custom: function (a, d, g) {
              function l(v) {
                  return r.step(v)
              }
              this.startTime = h();
              this.start = a;
              this.end = d;
              this.unit = g || this.unit || "px";
              this.now = this.start;
              this.pos = this.state = 0;
              var r = this;
              l.elem = this.elem;
              if (l() && c.timers.push(l) && !V) V = setInterval(function () {
                  for (var v = c.timers, y = 0; y < v.length; y++) v[y]() || v.splice(y--, 1);
                  if (!v.length) {
                      clearInterval(V);
                      V = void 0
                  }
              }, 13)
          },
          show: function () {
              this.options.orig[this.prop] = c.attr(this.elem.style, this.prop);
              this.options.show = true;
              this.custom(this.prop == "width" || this.prop == "height" ? 1 : 0, this.cur());
              c(this.elem).show()
          },
          hide: function () {
              this.options.orig[this.prop] = c.attr(this.elem.style, this.prop);
              this.options.hide = true;
              this.custom(this.cur(), 0)
          },
          step: function (a) {
              var d = h();
              if (a || d >= this.options.duration + this.startTime) {
                  this.now = this.end;
                  this.pos = this.state = 1;
                  this.update();
                  a = this.options.curAnim[this.prop] = true;
                  for (var g in this.options.curAnim) if (this.options.curAnim[g] !== true) a = false;
                  if (a) {
                      if (this.options.display != null) {
                          this.elem.style.overflow = this.options.overflow;
                          this.elem.style.display = this.options.display;
                          if (c.css(this.elem, "display") == "none") this.elem.style.display = "block"
                      }
                      this.options.hide && c(this.elem).hide();
                      if (this.options.hide || this.options.show) for (var l in this.options.curAnim) c.attr(this.elem.style, l, this.options.orig[l]);
                      this.options.complete.call(this.elem)
                  }
                  return false
              } else {
                  g = d - this.startTime;
                  this.state = g / this.options.duration;
                  this.pos = c.easing[this.options.easing || (c.easing.swing ? "swing" : "linear")](this.state, g, 0, 1, this.options.duration);
                  this.now = this.start + (this.end - this.start) * this.pos;
                  this.update()
              }
              return true
          }
      };
      c.extend(c.fx, {
          speeds: {
              slow: 600,
              fast: 200,
              _default: 400
          },
          step: {
              opacity: function (a) {
                  c.attr(a.elem.style, "opacity", a.now)
              },
              _default: function (a) {
                  if (a.elem.style && a.elem.style[a.prop] != null) a.elem.style[a.prop] = a.now + a.unit;
                  else a.elem[a.prop] = a.now
              }
          }
      });
      c.fn.offset = document.documentElement.getBoundingClientRect ?
      function () {
          if (!this[0]) return {
              top: 0,
              left: 0
          };
          if (this[0] === this[0].ownerDocument.body) return c.offset.bodyOffset(this[0]);
          var a = this[0].getBoundingClientRect(),
              d = this[0].ownerDocument,
              g = d.body;
          d = d.documentElement;
          return {
              top: a.top + (self.pageYOffset || c.boxModel && d.scrollTop || g.scrollTop) - (d.clientTop || g.clientTop || 0),
              left: a.left + (self.pageXOffset || c.boxModel && d.scrollLeft || g.scrollLeft) - (d.clientLeft || g.clientLeft || 0)
          }
      } : function () {
          if (!this[0]) return {
              top: 0,
              left: 0
          };
          if (this[0] === this[0].ownerDocument.body) return c.offset.bodyOffset(this[0]);
          c.offset.initialized || c.offset.initialize();
          var a = this[0],
              d = a.offsetParent,
              g = a.ownerDocument,
              l, r = g.documentElement,
              v = g.body;
          g = g.defaultView;
          l = g.getComputedStyle(a, null);
          for (var y = a.offsetTop, A = a.offsetLeft;
          (a = a.parentNode) && a !== v && a !== r;) {
              l = g.getComputedStyle(a, null);
              y -= a.scrollTop;
              A -= a.scrollLeft;
              if (a === d) {
                  y += a.offsetTop;
                  A += a.offsetLeft;
                  if (c.offset.doesNotAddBorder && !(c.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(a.tagName))) {
                      y += parseInt(l.borderTopWidth, 10) || 0;
                      A += parseInt(l.borderLeftWidth, 10) || 0
                  }
                  d = a.offsetParent
              }
              if (c.offset.subtractsBorderForOverflowNotVisible && l.overflow !== "visible") {
                  y += parseInt(l.borderTopWidth, 10) || 0;
                  A += parseInt(l.borderLeftWidth, 10) || 0
              }
              l = l
          }
          if (l.position === "relative" || l.position === "static") {
              y += v.offsetTop;
              A += v.offsetLeft
          }
          if (l.position === "fixed") {
              y += Math.max(r.scrollTop, v.scrollTop);
              A += Math.max(r.scrollLeft, v.scrollLeft)
          }
          return {
              top: y,
              left: A
          }
      };
      c.offset = {
          initialize: function () {
              if (!this.initialized) {
                  var a = document.body,
                      d = document.createElement("div"),
                      g, l, r, v = a.style.marginTop;
                  g = {
                      position: "absolute",
                      top: 0,
                      left: 0,
                      margin: 0,
                      border: 0,
                      width: "1px",
                      height: "1px",
                      visibility: "hidden"
                  };
                  for (l in g) d.style[l] = g[l];
                  d.innerHTML = '<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';
                  a.insertBefore(d, a.firstChild);
                  g = d.firstChild;
                  l = g.firstChild;
                  r = g.nextSibling.firstChild.firstChild;
                  this.doesNotAddBorder = l.offsetTop !== 5;
                  this.doesAddBorderForTableAndCells = r.offsetTop === 5;
                  g.style.overflow = "hidden";
                  g.style.position = "relative";
                  this.subtractsBorderForOverflowNotVisible = l.offsetTop === -5;
                  a.style.marginTop = "1px";
                  this.doesNotIncludeMarginInBodyOffset = a.offsetTop === 0;
                  a.style.marginTop = v;
                  a.removeChild(d);
                  this.initialized = true
              }
          },
          bodyOffset: function (a) {
              c.offset.initialized || c.offset.initialize();
              var d = a.offsetTop,
                  g = a.offsetLeft;
              if (c.offset.doesNotIncludeMarginInBodyOffset) {
                  d += parseInt(c.curCSS(a, "marginTop", true), 10) || 0;
                  g += parseInt(c.curCSS(a, "marginLeft", true), 10) || 0
              }
              return {
                  top: d,
                  left: g
              }
          }
      };
      c.fn.extend({
          position: function () {
              var a;
              if (this[0]) {
                  a = this.offsetParent();
                  var d = this.offset(),
                      g = /^body|html$/i.test(a[0].tagName) ? {
                          top: 0,
                          left: 0
                      } : a.offset();
                  d.top -= e(this, "marginTop");
                  d.left -= e(this, "marginLeft");
                  g.top += e(a, "borderTopWidth");
                  g.left += e(a, "borderLeftWidth");
                  a = {
                      top: d.top - g.top,
                      left: d.left - g.left
                  }
              }
              return a
          },
          offsetParent: function () {
              for (var a = this[0].offsetParent || document.body; a && !/^body|html$/i.test(a.tagName) && c.css(a, "position") == "static";) a = a.offsetParent;
              return c(a)
          }
      });
      c.each(["Left", "Top"], function (a, d) {
          var g = "scroll" + d;
          c.fn[g] = function (l) {
              if (!this[0]) return null;
              return l !== void 0 ? this.each(function () {
                  this == o || this == document ? o.scrollTo(!a ? l : c(o).scrollLeft(), a ? l : c(o).scrollTop()) : (this[g] = l)
              }) : this[0] == o || this[0] == document ? self[a ? "pageYOffset" : "pageXOffset"] || c.boxModel && document.documentElement[g] || document.body[g] : this[0][g]
          }
      });
      c.each(["Height", "Width"], function (a, d) {
          var g = d.toLowerCase();
          c.fn["inner" + d] = function () {
              return this[0] ? c.css(this[0], g, false, "padding") : null
          };
          c.fn["outer" + d] = function (r) {
              return this[0] ? c.css(this[0], g, false, r ? "margin" : "border") : null
          };
          var l = d.toLowerCase();
          c.fn[l] = function (r) {
              return this[0] == o ? document.compatMode == "CSS1Compat" && document.documentElement["client" + d] || document.body["client" + d] : this[0] == document ? Math.max(document.documentElement["client" + d], document.body["scroll" + d], document.documentElement["scroll" + d], document.body["offset" + d], document.documentElement["offset" + d]) : r === void 0 ? this.length ? c.css(this[0], l) : null : this.css(l, typeof r === "string" ? r : r + "px")
          }
      })
  })();
	  
  var Sprint20Language = "en",
      Sprint20Content = {
          modal: {
              closeButtonAltText: {
                  en: "Close Window",
                  es: "Cerrar Ventana"
              },
              loadingText: {
                  en: "Loading",
                  es: ""
              }
          },
          shade: {
              
          },
          carousel: {
              nextButtonText: {
                  en: "Next",
                  es: ""
              },
              prevButtonText: {
                  en: "Previous",
                  es: ""
              }
          },
          
          
          userLoginDisclosure: {
              
          },
          userLoggedInDisclosure: {
              
          },
          disabledButtonText: {
              en: "Working...",
              es: ""
          },
          formFieldErrors: {
              errorLabel: {
                  en: "Sorry! Before you can continue, you&rsquo;ll need to fix <$> things:",
                  es: ""
              },
             
     
              purchaseOrderNumberEmpty: {
                  en: "Please enter a purchase order number.",
                  es: ""
              }
          },
         
              
      community: {},
              
      };
  jQuery.noConflict();
  var Sprint = {
      content: Sprint20Content,
      currentLanguage: Sprint20Language,
      lastHttpRequest: null,
      pagination: {},
      nav: {},
      modal: {
          elem: {},
          dimensions: {}
      },
      ASmodal: {
          elem: {},
          dimensions: {}
      },
      tooltip: {
          elem: {}
      },
      shade: {},
      ieShims: {
          currentShims: 0
      },
      flashComm: {
          trackVideoPlay: function (b) {
              b = Sprint.fn.getVideoFileDetails(b);
              Analytics.Support.trackVideoPlay(b)
          },
          trackVideoProgress25: function (b) {
              b = Sprint.fn.getVideoFileDetails(b);
              Analytics.Support.trackVideoProgress25(b)
          },
          trackVideoProgressComplete: function (b) {
              b = Sprint.fn.getVideoFileDetails(b);
              Analytics.Support.trackVideoProgressComplete(b)
          },
          Type: function () {
              return !!arg && Object.prototype.toString.call(arg).match(/(\w+)\]/)[1]
          },
          Flash: function (b) {
              return navigator.appName.indexOf("Microsoft") != -1 ? window[b] : document[b]
          }
      },
      formFieldTypes: {
          username: function (b) {
              var h = true;
              b = b.val();
              if (/^[a-zA-Z0-9\.\-_]{1}[a-zA-Z0-9\.\-_]{4,31}[a-zA-Z0-9\.\-_]{1}$/.test(b) || Sprint.formFieldTypes.emailAddress.test(b)) for (var e = b.length, f = "", m = 0, n = 0; n < e; n++) {
                  var k = String(b.substr(n, 1)).toLowerCase();
                  if (k == f) {
                      m++;
                      if (m >= 2) {
                          h = false;
                          break
                      }
                  } else m = 0;
                  f = k
              } else h = false;
              return h
          },
          legacyUsername: function (b) {
              var h = true;
              b = b.val();
              if (/^[a-zA-Z0-9\.\-_]{1,33}$/.test(b) || Sprint.formFieldTypes.emailAddress.test(b)) for (var e = b.length, f = "", m = 0, n = 0; n < e; n++) {
                  var k = String(b.substr(n, 1)).toLowerCase();
                  if (k == f) {
                      m++;
                      if (m >= 2) {
                          h = false;
                          break
                      }
                  } else m = 0;
                  f = k
              } else h = false;
              return h
          },
          displayName: /^[a-zA-Z0-9_\.\-]{2,60}$|^[a-zA-Z0-9_\.\-]+\@([a-zA-Z0-9\-]+\.)+[A-Za-z]{2,6}$/,
          nickName: /^.{1}.{1,59}$|^[a-zA-Z0-9_\.\-]+\@([a-zA-Z0-9\-]+\.)+[A-Za-z]{2,6}$/,
          friendlyName: /^[a-zA-Z0-9_\.\-]{1}[a-zA-Z0-9_\.\-\s]{1,99}$|^[a-zA-Z0-9_\.\-]+\@([a-zA-Z0-9\-]+\.)+[A-Za-z]{2,6}$/,
          password: function (b) {
              var h = true;
              b = b.val();
              if (/^[a-zA-Z0-9\.\-_]{6,33}$/.test(b)) for (var e = b.length, f = "", m = 0, n = 0; n < e; n++) {
                  var k = b.substr(n, 1);
                  if (k == f) {
                      m++;
                      if (m >= 2) {
                          h = false;
                          break
                      }
                  } else m = 0;
                  f = k
              } else h = false;
              return h
          },
          emailAddress: /^[a-zA-Z0-9_\.\-]+\@([a-zA-Z0-9\-]+\.)+[A-Za-z]{2,6}$/,
          enterpriseEmailAddress: /^[a-zA-Z0-9_\-]+(?:\.[a-zA-Z0-9_\-]+)*\@([a-zA-Z0-9\-]+\.)+[A-Za-z]{2,6}$/,
          domainName: /^([a-zA-Z0-9\-]{3,63}\.)+(?:[coCO]{2}\.)?[A-Za-z]{2,6}$/,
          phoneNumber: /^\(?\d{3}\)?[\s|\-|\.]?\d{3}[\s|\-|\.]?\d{4}$/,
          checkbox: function (b) {
              if (b.is(":checked")) return true;
              return false
          },
          radioButton: function (b) {
              if (b.is(":checked")) return true;
              return false
          },
          select: function (b) {
              if (b.val() != "-") return true;
              return false
          },
          textArea: function (b) {
              if (b.val().length > 1) return true;
              return false
          },
          ESN: /^\d{11}$|^[a-fA-F0-9]{8}$/,
          MEID: /^\d{18}$|^[a-fA-F0-9]{14}$/,
          BAN: /^\d{9}$/,
          DAC: /^\d{9}\-\d{1,10}$/,
          PIN: /^\d{6,10}$/,
          SIM: /^\d{15}$/,
          MAC: /^[a-zA-Z0-9_\.\-]{12}$/,
          validationCode: /^[0-9bilosBILOS]{8}$/,
          passcode: /^.{1,20}$/,
          securityHintAnswer: /^[A-Za-z0-9\s]{2,30}$/,
          securityAnswer: /^[\w\s]{2,30}/,
          firstName: /^[a-zA-Z0-9_\.\-]{1}[a-zA-Z0-9_\.\-\s]{0,48}[a-zA-Z0-9_\.\-]{1}$/,
          initial: /^[a-zA-Z0-9_\.\-]{1,32}$/,
          lastName: /^[a-zA-Z0-9_\.\-]{1}[a-zA-Z0-9_\.\-\s]{0,58}[a-zA-Z0-9_\.\-]{1}$/,
          companyName: /^[A-Za-z0-9\s]{2,30}$/,
          phoneNumber3Digits: /^\d{3}$/,
          phoneNumber4Digits: /^\d{4}$/,
          phoneExtension: /^\d{1,4}$/,
          phoneShortCode: /^\d{4,8}$/,
          phoneNumberDuplicates: /^[2-9]\d{2}\d{3}\d{4}$/,
          addressOrderNumber: /^.{2,25}$/,
          streetAddress: /^.{2,66}$/,
          text: /^.{2,36}$/,
          apartment: /^.{1,10}$/,
          city: /^.{2,26}$/,
          city50: /^.{2,50}$/,
          zipCode: /^\d{5}$/,
          taxId: /^\d{2}[\s|\-|\.]?\d{4}$/,
          taxId9: /^\d{2}[\s|\-|\.]?\d{7}$/,
          voicemailPasscode: /^\d{4,10}$/,
          ssn: /^((?!000)(?!666)([0-6]\d{2}|7[0-2][0-9]|73[0-3]|7[5-6][0-9]|77[0-1]))((?!00)\d{2})((?!0000)\d{4})$/,
          cardnumber: /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,
          cvv: /(?!000)\d{3,4}$/,
          price: /^[0-9]+(\.[0-9]{2})?$/
      }     
  };
  (function (b) {
      b.fn.extend({
          openModal: function (h) {
              if (Sprint.modal.elem && Sprint.modal.elem.length > 0) return this;
              var e = b.extend({
                  width: 750,
                  isCommented: false,
                  ajaxContent: false,
                  ajaxPath: "",
                  overlayColor: "#000",
                  overlayOpacity: 0.4,
                  allowOverlayClick: false,
                  delay: 0,
                  closeButton: true,
                  openCallback: null,
                  closeCallback: null
              }, h);
              Sprint.modal.options = e;
              Sprint.modal.dimensions.documentWidth = docWidth = b(document).width();
              Sprint.modal.dimensions.documentHeight = docHeight = b(document).height();
              Sprint.modal.dimensions.windowWidth = winWidth = b(window).width();
              Sprint.modal.dimensions.windowHeight = winHeight = b(window).height();
              Sprint.modal.dimensions.bodyWidth = bodyWidth = b("body").width();
              Sprint.modal.dimensions.bodyHeight = bodyHeight = b("body").height();
              Sprint.modal.dimensions.overlayWidth = b.browser.msie && parseInt(b.browser.version) < 7 ? bodyWidth : docWidth;
              Sprint.modal.dimensions.overlayHeight = docHeight < winHeight ? winHeight : docHeight;
              Sprint.modal.dimensions.scrollLeft = b(document).scrollLeft();
              Sprint.modal.dimensions.scrollTop = b(document).scrollTop();
              var f = Sprint.modal.dimensions;
              Sprint.modal.content = this;
              var m = b(this);
              Sprint.modal.originalContent = b(this).clone(true);
              showModal = function () {
                  Sprint.modal.timer && clearTimeout(Sprint.modal.timer);
                  b('<div id="modalOverlay"></div>').css({
                      backgroundColor: e.overlayColor,
                      opacity: e.overlayOpacity,
                      width: f.overlayWidth,
                      height: f.overlayHeight
                  }).appendTo("body").addShim(749);
                  var n = modalCloseButton = "";
                  if (e.closeButton) modalCloseButton = '<a href="#" class="modalChromeCloseButton closeModal"><img src="/global/images/template/widgets/modal/ico_close.png" width="21" height="19" alt="' + Sprint.fn.getContentString("modal.closeButtonAltText") + '"></a>';
                  n += '<div class="modalChromeTopLeft"><div class="modalChromeTopRight">' + modalCloseButton + "</div></div>";
                  n += '<div class="modalChromeLeft"><div class="modalChromeRight"><div class="modalContent content"></div></div></div>';
                  n += '<div class="modalChromeBottomLeft"><div class="modalChromeBottomRight"></div></div>';
                  Sprint.modal.elem = b('<div id="modalHolder" class="sprint" />').append(n).appendTo("body");
                  e.isCommented && Sprint.modal.content.html(Sprint.modal.content.html().replace(/^\s*<!--\s*|\s*--\>\s*$/mg, ""));
                  Sprint.modal.content.parent().attr("id", Sprint.modal.content.attr("id") + "_holder");
                  Sprint.modal.content.appendTo(".modalContent");
                  Sprint.modal.elem.sizeModal(e).hide();
                  n = function () {
                      if (e.openCallback || e.ajaxContent) {
                          e.ajaxContent && Sprint.modal.elem.loadModalContent(e.ajaxPath, m);
                          e.openCallback && e.openCallback();
                          e.ajaxContent || Sprint.modal.elem.focusFirstElement({
                              focusableElements: "input[type!='hidden'], textarea, button",
                              containFocus: true
                          })
                      }
                      b(document).bind("keydown", function (k) {
                          if (k.keyCode == 27) {
                              Sprint.modal.elem && Sprint.modal.elem.closeModal();
                              e.closeCallback && e.closeCallback();
                              return false
                          }
                      });
                      e.allowOverlayClick && b("#modalOverlay").bind("click", function () {
                          Sprint.modal.elem.closeModal();
                          e.closeCallback && e.closeCallback();
                          return false
                      })
                  };
                  if (b.support.opacity) Sprint.modal.elem.fadeIn("fast", n);
                  else {
                      Sprint.modal.elem.show();
                      n()
                  }
                  Sprint.modal.elem.find(".closeModal").bind("click", function (k) {
                      typeof TeaLeaf != "undefined" && typeof TeaLeaf.Client != "undefined" && TeaLeaf.Client.tlAddEvent(k);
                      Sprint.modal.elem.closeModal();
                      e.closeCallback && e.closeCallback();
                      return false
                  });
                  b(window).bind("resize", function () {
                      Sprint.modal.dimensions.documentWidth = docWidth = b(document).width();
                      Sprint.modal.dimensions.documentHeight = docHeight = b(document).height();
                      Sprint.modal.dimensions.windowWidth = winWidth = b(window).width();
                      Sprint.modal.dimensions.windowHeight = winHeight = b(window).height();
                      Sprint.modal.dimensions.bodyWidth = bodyWidth = b("body").width();
                      Sprint.modal.dimensions.bodyHeight = bodyHeight = b("body").height();
                      Sprint.modal.dimensions.overlayWidth = b.browser.msie && parseInt(b.browser.version) < 7 ? bodyWidth : docWidth;
                      Sprint.modal.dimensions.overlayHeight = docHeight < winHeight ? winHeight : docHeight;
                      Sprint.modal.dimensions.scrollLeft = b(document).scrollLeft();
                      Sprint.modal.dimensions.scrollTop = b(document).scrollTop();
                      var k = Sprint.modal.dimensions;
                      b("#modalOverlay").css({
                          width: k.overlayWidth,
                          height: k.overlayHeight
                      }).removeShim().addShim(749);
                      Sprint.modal.elem.sizeModal(e)
                  })
              };
              if (e.delay > 0) Sprint.modal.timer = setTimeout("showModal()", e.delay);
              else showModal()
          }
          
      });
    
     
  })(jQuery);
  (function () {
      function b() {
          var f = "";
          for (var m in this) if (typeof this[m] != "function") f += m + '="' + this[m] + '" ';
          return f
      }
      function h() {
          var f = "";
          for (var m in this) if (typeof this[m] != "function") f += m + "=" + encodeURIComponent(this[m]) + "&";
          return f.replace(/&$/, "")
      }
      var e;
      e = jQuery.fn.flash = function (f, m, n, k) {
          var s = n || e.replace;
          m = e.copy(e.pluginOptions, m);
          if (!e.hasFlash(m.version)) if (m.expressInstall && e.hasFlash(6, 0, 65)) var q = {
              flashvars: {
                  MMredirectURL: location,
                  MMplayerType: "PlugIn",
                  MMdoctitle: jQuery("title").text()
              }
          };
          else if (m.update) s = k || e.update;
          else return this;
          f = e.copy(e.htmlOptions, q, f);
          return this.each(function () {
              s.call(this, e.copy(f))
          })
      };
    
  })();
 
  function execSetVideo() {
      flashChangeTools.runSetVideo && document.getElementById(flashChangeTools.storedObjectId).setVideo(flashChangeTools.storedVideoId)
  }(function (b) {
      b(function () {
          (function () {
              b().ajaxSuccess(function (h, e, f) {
                  f.dataType == "json" && h.data && Sprint.fn.validateSession({
                      sessionValidated: h.data.sessionValidated,
                      sessionErrorMessage: h.data.sessionErrorMessage,
                      sessionRedirectUrl: h.data.sessionRedirectUrl
                  })
              });
              b().ajaxError(function (h, e, f) {
                  f && f.error === undefined && Sprint.fn.ajaxError(h)
              })
          })();
          (function () {
              var h, e = b("#navGlobal"),
                  f = e.find("> li"),
                  m = e.find("> li.currentNavState"),
                  n = m.length > 0;
              f.bind("mouseover", function () {
                  n && e.find("> li.over").each(function () {
                      var z = b(this),
                          F = z.find("ul.subNav");
                      z.removeClass("over");
                      F.find("li.last").removeClass("lastJS");
                      F.css({
                          left: "",
                          width: ""
                      })
                  });
                  var s = b(this);
                  f.index(s);
                  var q = s.find("ul.subNav");
                  s.addClass("over");
                  var o = 0;
                  q.find("li").each(function () {
                      o += b(this).outerWidth(true)
                  });
                  b.browser.msie && b.browser.version < 7 && q.width(o);
                  o <= 829 && q.find("li.last").addClass("lastJS");
                  if (q.width() < 829) {
                      var w = 0,
                          B = 0;
                      f.each(function () {
                          var z = b(this);
                          if (f.index(z) < f.index(s)) w += z.outerWidth();
                          B += z.outerWidth()
                      });
                      var c = w + s.outerWidth(),
                          t = q.outerWidth();
                      t - c < w && t < B && q.css({
                          left: B - t
                      });
                      if (Math.round(q.offset().left) > Math.round(s.offset().left)) {
                          c = parseInt(q.css("left"));
                          q.css({
                              left: c - (Math.round(q.offset().left) - Math.round(s.offset().left))
                          })
                      }
                  }
              }).bind("mouseout", function () {
                  if (!b(this).hasClass("currentNavState")) {
                      var s = b(this),
                          q = s.find("ul.subNav");
                      s.removeClass("over");
                      q.find("li.last").removeClass("lastJS");
                      q.css({
                          left: "",
                          width: ""
                      });
                      n && m.trigger("mouseover")
                  }
              });

            
          })();
         
        
                    
     });
      
  })(jQuery);
