(function () {
	var W = this,
		ab, F = W.$,
		S = W.$,
		T = W.$ = W.$ = function (b, a) {
			return new T.fn.init(b, a)
		},
		M = /^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,
		ac = /^.[^:#\[\.,]*$/;
	T.fn = T.prototype = {
			init: function (f, b) {
				f = f || document;
				if (f.nodeType) {
					this[0] = f;
					this.length = 1;
					this.context = f;
					return this
				}
				if (typeof f === "string") {
					var c = M.exec(f);
					if (c && (c[1] || !b)) {
						if (c[1]) {
							f = T.clean([c[1]], b)
						} else {
							var a = document.getElementById(c[3]);
							if (a && a.id != c[3]) {
								return T().find(f)
							}
							var d = T(a || []);
							d.context = document;
							d.selector = f;
							return d
						}
					} else {
						return T(b).find(f)
					}
				} else {
					if (T.isFunction(f)) {
						return T(document).ready(f)
					}
				}
				if (f.selector && f.context) {
					this.selector = f.selector;
					this.context = f.context
				}
				return this.setArray(T.isArray(f) ? f : T.makeArray(f))
			},
			selector: "",
			$: "1.3.2",
			size: function () {
				return this.length
			},
			get: function (a) {
				return a === ab ? Array.prototype.slice.call(this) : this[a]
			},
			pushStack: function (c, a, d) {
				var b = T(c);
				b.prevObject = this;
				b.context = this.context;
				if (a === "find") {
					b.selector = this.selector + (this.selector ? " " : "") + d
				} else {
					if (a) {
						b.selector = this.selector + "." + a + "(" + d + ")"
					}
				}
				return b
			},
			setArray: function (a) {
				this.length = 0;
				Array.prototype.push.apply(this, a);
				return this
			},
			each: function (a, b) {
				return T.each(this, a, b)
			},
			index: function (a) {
				return T.inArray(a && a.$ ? a[0] : a, this)
			},
			attr: function (c, a, b) {
				var d = c;
				if (typeof c === "string") {
					if (a === ab) {
						return this[0] && T[b || "attr"](this[0], c)
					} else {
						d = {};
						d[c] = a
					}
				}
				return this.each(function (f) {
					for (c in d) {
						T.attr(b ? this.style : this, c, T.prop(this, d[c], b, f, c))
					}
				})
			},
			css: function (b, a) {
				if ((b == "width" || b == "height") && parseFloat(a) < 0) {
					a = ab
				}
				return this.attr(b, a, "curCSS")
			},
			text: function (a) {
				if (typeof a !== "object" && a != null) {
					return this.empty().append((this[0] && this[0].ownerDocument || document).createTextNode(a))
				}
				var b = "";
				T.each(a || this, function () {
					T.each(this.childNodes, function () {
						if (this.nodeType != 8) {
							b += this.nodeType != 1 ? this.nodeValue : T.fn.text([this])
						}
					})
				});
				return b
			},
			wrapAll: function (b) {
				if (this[0]) {
					var a = T(b, this[0].ownerDocument).clone();
					if (this[0].parentNode) {
						a.insertBefore(this[0])
					}
					a.map(function () {
						var c = this;
						while (c.firstChild) {
							c = c.firstChild
						}
						return c
					}).append(this)
				}
				return this
			},
			wrapInner: function (a) {
				return this.each(function () {
					T(this).contents().wrapAll(a)
				})
			},
			wrap: function (a) {
				return this.each(function () {
					T(this).wrapAll(a)
				})
			},
			append: function () {
				return this.domManip(arguments, true, function (a) {
					if (this.nodeType == 1) {
						this.appendChild(a)
					}
				})
			},
			prepend: function () {
				return this.domManip(arguments, true, function (a) {
					if (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 || T([])
			},
			push: [].push,
			sort: [].sort,
			splice: [].splice,
			find: function (b) {
				if (this.length === 1) {
					var a = this.pushStack([], "find", b);
					a.length = 0;
					T.find(b, this[0], a);
					return a
				} else {
					return this.pushStack(T.unique(T.map(this, function (c) {
						return T.find(b, c)
					})), "find", b)
				}
			},
			clone: function (b) {
				var d = this.map(function () {
					if (!T.support.noCloneEvent && !T.isXMLDoc(this)) {
						var g = this.outerHTML;
						if (!g) {
							var f = this.ownerDocument.createElement("div");
							f.appendChild(this.cloneNode(true));
							g = f.innerHTML
						}
						return T.clean([g.replace(/ $\d+="(?:\d+|null)"/g, "").replace(/^\s*/, "")])[0]
					} else {
						return this.cloneNode(true)
					}
				});
				if (b === true) {
					var a = this.find("*").andSelf(),
						c = 0;
					d.find("*").andSelf().each(function () {
							if (this.nodeName !== a[c].nodeName) {
								return
							}
							var h = T.data(a[c], "events");
							for (var f in h) {
								for (var g in h[f]) {
									T.event.add(this, f, h[f][g], h[f][g].data)
								}
							}
							c++
						})
				}
				return d
			},
			filter: function (a) {
				return this.pushStack(T.isFunction(a) && T.grep(this, function (b, c) {
					return a.call(b, c)
				}) || T.multiFilter(a, T.grep(this, function (b) {
					return b.nodeType === 1
				})), "filter", a)
			},
			closest: function (c) {
				var a = T.expr.match.POS.test(c) ? T(c) : null,
					b = 0;
				return this.map(function () {
						var d = this;
						while (d && d.ownerDocument) {
							if (a ? a.index(d) > -1 : T(d).is(c)) {
								T.data(d, "closest", b);
								return d
							}
							d = d.parentNode;
							b++
						}
					})
			},
			not: function (b) {
				if (typeof b === "string") {
					if (ac.test(b)) {
						return this.pushStack(T.multiFilter(b, this, true), "not", b)
					} else {
						b = T.multiFilter(b, this)
					}
				}
				var a = b.length && b[b.length - 1] !== ab && !b.nodeType;
				return this.filter(function () {
					return a ? T.inArray(this, b) < 0 : this != b
				})
			},
			add: function (a) {
				return this.pushStack(T.unique(T.merge(this.get(), typeof a === "string" ? T(a) : T.makeArray(a))))
			},
			is: function (a) {
				return !!a && T.multiFilter(a, this).length > 0
			},
			hasClass: function (a) {
				return !!a && this.is("." + a)
			},
			val: function (c) {
				if (c === ab) {
					var j = this[0];
					if (j) {
						if (T.nodeName(j, "option")) {
							return (j.attributes.value || {}).specified ? j.value : j.text
						}
						if (T.nodeName(j, "select")) {
							var f = j.selectedIndex,
								b = [],
								a = j.options,
								g = j.type == "select-one";
							if (f < 0) {
									return null
								}
							for (var i = g ? f : 0, d = g ? f + 1 : a.length; i < d; i++) {
									var h = a[i];
									if (h.selected) {
										c = T(h).val();
										if (g) {
											return c
										}
										b.push(c)
									}
								}
							return b
						}
						return (j.value || "").replace(/\r/g, "")
					}
					return ab
				}
				if (typeof c === "number") {
					c += ""
				}
				return this.each(function () {
					if (this.nodeType != 1) {
						return
					}
					if (T.isArray(c) && /radio|checkbox/.test(this.type)) {
						this.checked = (T.inArray(this.value, c) >= 0 || T.inArray(this.name, c) >= 0)
					} else {
						if (T.nodeName(this, "select")) {
							var k = T.makeArray(c);
							T("option", this).each(function () {
								this.selected = (T.inArray(this.value, k) >= 0 || T.inArray(this.text, k) >= 0)
							});
							if (!k.length) {
								this.selectedIndex = -1
							}
						} else {
							this.value = c
						}
					}
				})
			},
			html: function (a) {
				return a === ab ? (this[0] ? this[0].innerHTML.replace(/ $\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(T.map(this, function (b, c) {
					return a.call(b, c, b)
				}))
			},
			andSelf: function () {
				return this.add(this.prevObject)
			},
			domManip: function (d, a, b) {
				if (this[0]) {
					var f = (this[0].ownerDocument || this[0]).createDocumentFragment(),
						i = T.clean(d, (this[0].ownerDocument || this[0]), f),
						g = f.firstChild;
					if (g) {
							for (var h = 0, j = this.length; h < j; h++) {
								b.call(c(this[h], g), this.length > 1 || h > 0 ? f.cloneNode(true) : f)
							}
						}
					if (i) {
							T.each(i, E)
						}
				}
				return this;

				function c(l, k) {
					return a && T.nodeName(l, "table") && T.nodeName(k, "tr") ? (l.getElementsByTagName("tbody")[0] || l.appendChild(l.ownerDocument.createElement("tbody"))) : l
				}
			}
		};
	T.fn.init.prototype = T.fn;

	function E(b, a) {
			if (a.src) {
				T.ajax({
					url: a.src,
					async: false,
					dataType: "script"
				})
			} else {
				T.globalEval(a.text || a.textContent || a.innerHTML || "")
			}
			if (a.parentNode) {
				a.parentNode.removeChild(a)
			}
		}
	function ad() {
			return +new Date
		}
	T.extend = T.fn.extend = function () {
			var c = arguments[0] || {},
				f = 1,
				d = arguments.length,
				i = false,
				g;
			if (typeof c === "boolean") {
					i = c;
					c = arguments[1] || {};
					f = 2
				}
			if (typeof c !== "object" && !T.isFunction(c)) {
					c = {}
				}
			if (d == f) {
					c = this;
					--f
				}
			for (; f < d; f++) {
					if ((g = arguments[f]) != null) {
						for (var h in g) {
							var b = c[h],
								a = g[h];
							if (c === a) {
									continue
								}
							if (i && a && typeof a === "object" && !a.nodeType) {
									c[h] = T.extend(i, b || (a.length != null ? [] : {}), a)
								} else {
									if (a !== ab) {
										c[h] = a
									}
								}
						}
					}
				}
			return c
		};
	var ag = /z-?index|font-?weight|opacity|zoom|line-?height/i,
		Q = document.defaultView || {},
		L = Object.prototype.toString;
	T.extend({
			noConflict: function (a) {
				W.$ = S;
				if (a) {
					W.$ = F
				}
				return T
			},
			isFunction: function (a) {
				return L.call(a) === "[object Function]"
			},
			isArray: function (a) {
				return L.call(a) === "[object Array]"
			},
			isXMLDoc: function (a) {
				return a.nodeType === 9 && a.documentElement.nodeName !== "HTML" || !! a.ownerDocument && T.isXMLDoc(a.ownerDocument)
			},
			globalEval: function (a) {
				if (a && /\S/.test(a)) {
					var b = document.getElementsByTagName("head")[0] || document.documentElement,
						c = document.createElement("script");
					c.type = "text/javascript";
					if (T.support.scriptEval) {
							c.appendChild(document.createTextNode(a))
						} else {
							c.text = a
						}
					b.insertBefore(c, b.firstChild);
					b.removeChild(c)
				}
			},
			nodeName: function (a, b) {
				return a.nodeName && a.nodeName.toUpperCase() == b.toUpperCase()
			},
			each: function (f, a, g) {
				var h, d = 0,
					c = f.length;
				if (g) {
						if (c === ab) {
							for (h in f) {
								if (a.apply(f[h], g) === false) {
									break
								}
							}
						} else {
							for (; d < c;) {
								if (a.apply(f[d++], g) === false) {
									break
								}
							}
						}
					} else {
						if (c === ab) {
							for (h in f) {
								if (a.call(f[h], h, f[h]) === false) {
									break
								}
							}
						} else {
							for (var b = f[0]; d < c && a.call(b, d, b) !== false; b = f[++d]) {}
						}
					}
				return f
			},

			prop: function (b, a, c, d, f) {
				if (T.isFunction(a)) {
					a = a.call(b, d)
				}
				return typeof a === "number" && c == "curCSS" && !ag.test(f) ? a + "px" : a
			},
			className: {
				add: function (b, a) {
					T.each((a || "").split(/\s+/), function (d, c) {
						if (b.nodeType == 1 && !T.className.has(b.className, c)) {
							b.className += (b.className ? " " : "") + c
						}
					})
				},
				remove: function (b, a) {
					if (b.nodeType == 1) {
						b.className = a !== ab ? T.grep(b.className.split(/\s+/), function (c) {
							return !T.className.has(a, c)
						}).join(" ") : ""
					}
				},
				has: function (a, b) {
					return a && T.inArray(b, (a.className || a).toString().split(/\s+/)) > -1
				}
			},
			swap: function (b, c, a) {
				var f = {};
				for (var d in c) {
					f[d] = b.style[d];
					b.style[d] = c[d]
				}
				a.call(b);
				for (var d in c) {
					b.style[d] = f[d]
				}
			},
			css: function (f, h, c, i) {
				if (h == "width" || h == "height") {
					var a, g = {
						position: "absolute",
						visibility: "hidden",
						display: "block"
					},
						b = h == "width" ? ["Left", "Right"] : ["Top", "Bottom"];

					function d() {
							a = h == "width" ? f.offsetWidth : f.offsetHeight;
							if (i === "border") {
								return
							}
							T.each(b, function () {
								if (!i) {
									a -= parseFloat(T.curCSS(f, "padding" + this, true)) || 0
								}
								if (i === "margin") {
									a += parseFloat(T.curCSS(f, "margin" + this, true)) || 0
								} else {
									a -= parseFloat(T.curCSS(f, "border" + this + "Width", true)) || 0
								}
							})
						}
					if (f.offsetWidth !== 0) {
							d()
						} else {
							T.swap(f, g, d)
						}
					return Math.max(0, Math.round(a))
				}
				return T.curCSS(f, h, c)
			},
			curCSS: function (f, i, h) {
				var b, j = f.style;
				if (i == "opacity" && !T.support.opacity) {
					b = T.attr(j, "opacity");
					return b == "" ? "1" : b
				}
				if (i.match(/float/i)) {
					i = H
				}
				if (!h && j && j[i]) {
					b = j[i]
				} else {
					if (Q.getComputedStyle) {
						if (i.match(/float/i)) {
							i = "float"
						}
						i = i.replace(/([A-Z])/g, "-$1").toLowerCase();
						var a = Q.getComputedStyle(f, null);
						if (a) {
							b = a.getPropertyValue(i)
						}
						if (i == "opacity" && b == "") {
							b = "1"
						}
					} else {
						if (f.currentStyle) {
							var d = i.replace(/\-(\w)/g, function (l, k) {
								return k.toUpperCase()
							});
							b = f.currentStyle[i] || f.currentStyle[d];
							if (!/^\d+(px)?$/i.test(b) && /^\d/.test(b)) {
								var g = j.left,
									c = f.runtimeStyle.left;
								f.runtimeStyle.left = f.currentStyle.left;
								j.left = b || 0;
								b = j.pixelLeft + "px";
								j.left = g;
								f.runtimeStyle.left = c
							}
						}
					}
				}
				return b
			},
			clean: function (h, b, d) {
				b = b || document;
				if (typeof b.createElement === "undefined") {
					b = b.ownerDocument || b[0] && b[0].ownerDocument || document
				}
				if (!d && h.length === 1 && typeof h[0] === "string") {
					var f = /^<(\w+)\s*\/?>$/.exec(h[0]);
					if (f) {
						return [b.createElement(f[1])]
					}
				}
				var g = [],
					i = [],
					a = b.createElement("div");
				T.each(h, function (m, j) {
						if (typeof j === "number") {
							j += ""
						}
						if (!j) {
							return
						}
						if (typeof j === "string") {
							j = j.replace(/(<(\w+)[^>]*?)\/>/g, function (r, q, s) {
								return s.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ? r : q + "></" + s + ">"
							});
							var n = j.replace(/^\s+/, "").substring(0, 10).toLowerCase();
							var l = !n.indexOf("<opt") && [1, "<select multiple='multiple'>", "</select>"] || !n.indexOf("<leg") && [1, "<fieldset>", "</fieldset>"] || n.match(/^<(thead|tbody|tfoot|colg|cap)/) && [1, "<table>", "</table>"] || !n.indexOf("<tr") && [2, "<table><tbody>", "</tbody></table>"] || (!n.indexOf("<td") || !n.indexOf("<th")) && [3, "<table><tbody><tr>", "</tr></tbody></table>"] || !n.indexOf("<col") && [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"] || !T.support.htmlSerialize && [1, "div<div>", "</div>"] || [0, "", ""];
							a.innerHTML = l[1] + j + l[2];
							while (l[0]--) {
								a = a.lastChild
							}
							if (!T.support.tbody) {
								var k = /<tbody/i.test(j),
									o = !n.indexOf("<table") && !k ? a.firstChild && a.firstChild.childNodes : l[1] == "<table>" && !k ? a.childNodes : [];
								for (var p = o.length - 1; p >= 0; --p) {
										if (T.nodeName(o[p], "tbody") && !o[p].childNodes.length) {
											o[p].parentNode.removeChild(o[p])
										}
									}
							}
							if (!T.support.leadingWhitespace && /^\s/.test(j)) {
								a.insertBefore(b.createTextNode(j.match(/^\s*/)[0]), a.firstChild)
							}
							j = T.makeArray(a.childNodes)
						}
						if (j.nodeType) {
							g.push(j)
						} else {
							g = T.merge(g, j)
						}
					});
				if (d) {
						for (var c = 0; g[c]; c++) {
							if (T.nodeName(g[c], "script") && (!g[c].type || g[c].type.toLowerCase() === "text/javascript")) {
								i.push(g[c].parentNode ? g[c].parentNode.removeChild(g[c]) : g[c])
							} else {
								if (g[c].nodeType === 1) {
									g.splice.apply(g, [c + 1, 0].concat(T.makeArray(g[c].getElementsByTagName("script"))))
								}
								d.appendChild(g[c])
							}
						}
						return i
					}
				return g
			},
			attr: function (c, g, b) {
				if (!c || c.nodeType == 3 || c.nodeType == 8) {
					return ab
				}
				var f = !T.isXMLDoc(c),
					a = b !== ab;
				g = f && T.props[g] || g;
				if (c.tagName) {
						var h = /href|src|style/.test(g);
						if (g == "selected" && c.parentNode) {
							c.parentNode.selectedIndex
						}
						if (g in c && f && !h) {
							if (a) {
								if (g == "type" && T.nodeName(c, "input") && c.parentNode) {
									throw "type property can't be changed"
								}
								c[g] = b
							}
							if (T.nodeName(c, "form") && c.getAttributeNode(g)) {
								return c.getAttributeNode(g).nodeValue
							}
							if (g == "tabIndex") {
								var d = c.getAttributeNode("tabIndex");
								return d && d.specified ? d.value : c.nodeName.match(/(button|input|object|select|textarea)/i) ? 0 : c.nodeName.match(/^(a|area)$/i) && c.href ? 0 : ab
							}
							return c[g]
						}
						if (!T.support.style && f && g == "style") {
							return T.attr(c.style, "cssText", b)
						}
						if (a) {
							c.setAttribute(g, "" + b)
						}
						var i = !T.support.hrefNormalized && f && h ? c.getAttribute(g, 2) : c.getAttribute(g);
						return i === null ? ab : i
					}
				if (!T.support.opacity && g == "opacity") {
						if (a) {
							c.zoom = 1;
							c.filter = (c.filter || "").replace(/alpha\([^)]*\)/, "") + (parseInt(b) + "" == "NaN" ? "" : "alpha(opacity=" + b * 100 + ")")
						}
						return c.filter && c.filter.indexOf("opacity=") >= 0 ? (parseFloat(c.filter.match(/opacity=([^)]*)/)[1]) / 100) + "" : ""
					}
				g = g.replace(/-([a-z])/ig, function (k, j) {
						return j.toUpperCase()
					});
				if (a) {
						c[g] = b
					}
				return c[g]
			},
			trim: function (a) {
				return (a || "").replace(/^\s+|\s+$/g, "")
			},
			makeArray: function (a) {
				var c = [];
				if (a != null) {
					var b = a.length;
					if (b == null || typeof a === "string" || T.isFunction(a) || a.setInterval) {
						c[0] = a
					} else {
						while (b) {
							c[--b] = a[b]
						}
					}
				}
				return c
			},
			inArray: function (b, a) {
				for (var d = 0, c = a.length; d < c; d++) {
					if (a[d] === b) {
						return d
					}
				}
				return -1
			},
			merge: function (b, f) {
				var d = 0,
					c, a = b.length;
				if (!T.support.getAll) {
						while ((c = f[d++]) != null) {
							if (c.nodeType != 8) {
								b[a++] = c
							}
						}
					} else {
						while ((c = f[d++]) != null) {
							b[a++] = c
						}
					}
				return b
			},
			unique: function (a) {
				var g = [],
					h = {};
				try {
						for (var f = 0, d = a.length; f < d; f++) {
							var b = T.data(a[f]);
							if (!h[b]) {
								h[b] = true;
								g.push(a[f])
							}
						}
					} catch (c) {
						g = a
					}
				return g
			},
			grep: function (f, a, g) {
				var d = [];
				for (var c = 0, b = f.length; c < b; c++) {
					if (!g != !a(f[c], c)) {
						d.push(f[c])
					}
				}
				return d
			},
			map: function (g, a) {
				var f = [];
				for (var d = 0, c = g.length; d < c; d++) {
					var b = a(g[d], d);
					if (b != null) {
						f[f.length] = b
					}
				}
				return f.concat.apply([], f)
			}
		});
	var O = navigator.userAgent.toLowerCase();
	T.browser = {
			version: (O.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [0, "0"])[1],
			safari: /webkit/.test(O),
			opera: /opera/.test(O),
			msie: /msie/.test(O) && !/opera/.test(O),
			mozilla: /mozilla/.test(O) && !/(compatible|webkit)/.test(O)
		};
	T.each({
			parent: function (a) {
				return a.parentNode
			},
			parents: function (a) {
				return T.dir(a, "parentNode")
			},
			next: function (a) {
				return T.nth(a, 2, "nextSibling")
			},
			prev: function (a) {
				return T.nth(a, 2, "previousSibling")
			},
			nextAll: function (a) {
				return T.dir(a, "nextSibling")
			},
			prevAll: function (a) {
				return T.dir(a, "previousSibling")
			},
			siblings: function (a) {
				return T.sibling(a.parentNode.firstChild, a)
			},
			children: function (a) {
				return T.sibling(a.firstChild)
			},
			contents: function (a) {
				return T.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : T.makeArray(a.childNodes)
			}
		}, function (b, a) {
			T.fn[b] = function (d) {
				var c = T.map(this, a);
				if (d && typeof d == "string") {
					c = T.multiFilter(d, c)
				}
				return this.pushStack(T.unique(c), b, d)
			}
		});
	T.each({
			appendTo: "append",
			prependTo: "prepend",
			insertBefore: "before",
			insertAfter: "after",
			replaceAll: "replaceWith"
		}, function (b, a) {
			T.fn[b] = function (i) {
				var f = [],
					c = T(i);
				for (var d = 0, h = c.length; d < h; d++) {
						var g = (d > 0 ? this.clone(true) : this).get();
						T.fn[a].apply(T(c[d]), g);
						f = f.concat(g)
					}
				return this.pushStack(f, b, i)
			}
		});
	T.each({
			removeAttr: function (a) {
				T.attr(this, a, "");
				if (this.nodeType == 1) {
					this.removeAttribute(a)
				}
			},
			addClass: function (a) {
				T.className.add(this, a)
			},
			removeClass: function (a) {
				T.className.remove(this, a)
			},
			toggleClass: function (a, b) {
				if (typeof b !== "boolean") {
					b = !T.className.has(this, a)
				}
				T.className[b ? "add" : "remove"](this, a)
			},
			remove: function (a) {
				if (!a || T.filter(a, [this]).length) {
					T("*", this).add([this]).each(function () {
						T.event.remove(this);
						T.removeData(this)
					});
					if (this.parentNode) {
						this.parentNode.removeChild(this)
					}
				}
			},
			empty: function () {
				T(this).children().remove();
				while (this.firstChild) {
					this.removeChild(this.firstChild)
				}
			}
		}, function (b, a) {
			T.fn[b] = function () {
				return this.each(a, arguments)
			}
		});

	function Y(b, a) {
			return b[0] && parseInt(T.curCSS(b[0], a, true), 10) || 0
		}
	var aa = "$" + ad(),
		I = 0,
		R = {};
	T.extend({
			cache: {},
			data: function (c, d, b) {
				c = c == W ? R : c;
				var a = c[aa];
				if (!a) {
					a = c[aa] = ++I
				}
				if (d && !T.cache[a]) {
					T.cache[a] = {}
				}
				if (b !== ab) {
					T.cache[a][d] = b
				}
				return d ? T.cache[a][d] : a
			},
			removeData: function (c, d) {
				c = c == W ? R : c;
				var a = c[aa];
				if (d) {
					if (T.cache[a]) {
						delete T.cache[a][d];
						d = "";
						for (d in T.cache[a]) {
							break
						}
						if (!d) {
							T.removeData(c)
						}
					}
				} else {
					try {
						delete c[aa]
					} catch (b) {
						if (c.removeAttribute) {
							c.removeAttribute(aa)
						}
					}
					delete T.cache[a]
				}
			},
			queue: function (c, d, a) {
				if (c) {
					d = (d || "fx") + "queue";
					var b = T.data(c, d);
					if (!b || T.isArray(a)) {
						b = T.data(c, d, T.makeArray(a))
					} else {
						if (a) {
							b.push(a)
						}
					}
				}
				return b
			},
			dequeue: function (a, b) {
				var d = T.queue(a, b),
					c = d.shift();
				if (!b || b === "fx") {
						c = d[0]
					}
				if (c !== ab) {
						c.call(a)
					}
			}
		});
	T.fn.extend({
			data: function (d, b) {
				var a = d.split(".");
				a[1] = a[1] ? "." + a[1] : "";
				if (b === ab) {
					var c = this.triggerHandler("getData" + a[1] + "!", [a[0]]);
					if (c === ab && this.length) {
						c = T.data(this[0], d)
					}
					return c === ab && a[1] ? this.data(a[0]) : c
				} else {
					return this.trigger("setData" + a[1] + "!", [a[0], b]).each(function () {
						T.data(this, d, b)
					})
				}
			},
			removeData: function (a) {
				return this.each(function () {
					T.removeData(this, a)
				})
			},
			queue: function (b, a) {
				if (typeof b !== "string") {
					a = b;
					b = "fx"
				}
				if (a === ab) {
					return T.queue(this[0], b)
				}
				return this.each(function () {
					var c = T.queue(this, b, a);
					if (b == "fx" && c.length == 1) {
						c[0].call(this)
					}
				})
			},
			dequeue: function (a) {
				return this.each(function () {
					T.dequeue(this, a)
				})
			}
		});
		(function () {
			var b = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,
				i = 0,
				m = Object.prototype.toString;
			var o = function (s, w, ak, aj) {
					ak = ak || [];
					w = w || document;
					if (w.nodeType !== 1 && w.nodeType !== 9) {
						return []
					}
					if (!s || typeof s !== "string") {
						return ak
					}
					var r = [],
						u, C, z, y, ai, v, t = true;
					b.lastIndex = 0;
					while ((u = b.exec(s)) !== null) {
							r.push(u[1]);
							if (u[2]) {
								v = RegExp.rightContext;
								break
							}
						}
					if (r.length > 1 && h.exec(s)) {
							if (r.length === 2 && l.relative[r[0]]) {
								C = k(r[0] + r[1], w)
							} else {
								C = l.relative[r[0]] ? [w] : o(r.shift(), w);
								while (r.length) {
									s = r.shift();
									if (l.relative[s]) {
										s += r.shift()
									}
									C = k(s, C)
								}
							}
						} else {
							var D = aj ? {
								expr: r.pop(),
								set: p(aj)
							} : o.find(r.pop(), r.length === 1 && w.parentNode ? w.parentNode : w, c(w));
							C = o.filter(D.expr, D.set);
							if (r.length > 0) {
								z = p(C)
							} else {
								t = false
							}
							while (r.length) {
								var A = r.pop(),
									B = A;
								if (!l.relative[A]) {
										A = ""
									} else {
										B = r.pop()
									}
								if (B == null) {
										B = w
									}
								l.relative[A](z, B, c(w))
							}
						}
					if (!z) {
							z = C
						}
					if (!z) {
							throw "Syntax error, unrecognized expression: " + (A || s)
						}
					if (m.call(z) === "[object Array]") {
							if (!t) {
								ak.push.apply(ak, z)
							} else {
								if (w.nodeType === 1) {
									for (var q = 0; z[q] != null; q++) {
										if (z[q] && (z[q] === true || z[q].nodeType === 1 && j(w, z[q]))) {
											ak.push(C[q])
										}
									}
								} else {
									for (var q = 0; z[q] != null; q++) {
										if (z[q] && z[q].nodeType === 1) {
											ak.push(C[q])
										}
									}
								}
							}
						} else {
							p(z, ak)
						}
					if (v) {
							o(v, w, ak, aj);
							if (n) {
								hasDuplicate = false;
								ak.sort(n);
								if (hasDuplicate) {
									for (var q = 1; q < ak.length; q++) {
										if (ak[q] === ak[q - 1]) {
											ak.splice(q--, 1)
										}
									}
								}
							}
						}
					return ak
				};
			o.matches = function (r, q) {
					return o(r, null, null, q)
				};
			o.find = function (q, y, z) {
					var r, t;
					if (!q) {
						return []
					}
					for (var u = 0, v = l.order.length; u < v; u++) {
						var s = l.order[u],
							t;
						if ((t = l.match[s].exec(q))) {
								var w = RegExp.leftContext;
								if (w.substr(w.length - 1) !== "\\") {
									t[1] = (t[1] || "").replace(/\\/g, "");
									r = l.find[s](t, y, z);
									if (r != null) {
										q = q.replace(l.match[s], "");
										break
									}
								}
							}
					}
					if (!r) {
						r = y.getElementsByTagName("*")
					}
					return {
						set: r,
						expr: q
					}
				};
			o.filter = function (ai, aj, B, u) {
					var v = ai,
						z = [],
						q = aj,
						s, y, r = aj && aj[0] && c(aj[0]);
					while (ai && aj.length) {
							for (var ak in l.filter) {
								if ((s = l.match[ak].exec(ai)) != null) {
									var w = l.filter[ak],
										A, C;
									y = false;
									if (q == z) {
											z = []
										}
									if (l.preFilter[ak]) {
											s = l.preFilter[ak](s, q, B, z, u, r);
											if (!s) {
												y = A = true
											} else {
												if (s === true) {
													continue
												}
											}
										}
									if (s) {
											for (var t = 0;
											(C = q[t]) != null; t++) {
												if (C) {
													A = w(C, s, t, q);
													var D = u ^ !! A;
													if (B && A != null) {
														if (D) {
															y = true
														} else {
															q[t] = false
														}
													} else {
														if (D) {
															z.push(C);
															y = true
														}
													}
												}
											}
										}
									if (A !== ab) {
											if (!B) {
												q = z
											}
											ai = ai.replace(l.match[ak], "");
											if (!y) {
												return []
											}
											break
										}
								}
							}
							if (ai == v) {
								if (y == null) {
									throw "Syntax error, unrecognized expression: " + ai
								} else {
									break
								}
							}
							v = ai
						}
					return q
				};
			var l = o.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 (q) {
							return q.getAttribute("href")
						}
					},
					relative: {
						"+": function (q, y, r) {
							var t = typeof y === "string",
								z = t && !/\W/.test(y),
								s = t && !z;
							if (z && !r) {
									y = y.toUpperCase()
								}
							for (var u = 0, v = q.length, w; u < v; u++) {
									if ((w = q[u])) {
										while ((w = w.previousSibling) && w.nodeType !== 1) {}
										q[u] = s || w && w.nodeName === y ? w || false : w === y
									}
								}
							if (s) {
									o.filter(y, q, true)
								}
						},
						">": function (v, s, u) {
							var y = typeof s === "string";
							if (y && !/\W/.test(s)) {
								s = u ? s : s.toUpperCase();
								for (var r = 0, t = v.length; r < t; r++) {
									var w = v[r];
									if (w) {
										var q = w.parentNode;
										v[r] = q.nodeName === s ? q : false
									}
								}
							} else {
								for (var r = 0, t = v.length; r < t; r++) {
									var w = v[r];
									if (w) {
										v[r] = y ? w.parentNode : w.parentNode === s
									}
								}
								if (y) {
									o.filter(s, v, true)
								}
							}
						},
						"": function (q, s, u) {
							var r = i++,
								t = a;
							if (!s.match(/\W/)) {
									var v = s = u ? s : s.toUpperCase();
									t = d
								}
							t("parentNode", s, r, q, v, u)
						},
						"~": function (q, s, u) {
							var r = i++,
								t = a;
							if (typeof s === "string" && !s.match(/\W/)) {
									var v = s = u ? s : s.toUpperCase();
									t = d
								}
							t("previousSibling", s, r, q, v, u)
						}
					},
					find: {
						ID: function (s, r, q) {
							if (typeof r.getElementById !== "undefined" && !q) {
								var t = r.getElementById(s[1]);
								return t ? [t] : []
							}
						},
						NAME: function (r, v, u) {
							if (typeof v.getElementsByName !== "undefined") {
								var s = [],
									w = v.getElementsByName(r[1]);
								for (var q = 0, t = w.length; q < t; q++) {
										if (w[q].getAttribute("name") === r[1]) {
											s.push(w[q])
										}
									}
								return s.length === 0 ? null : s
							}
						},
						TAG: function (r, q) {
							return q.getElementsByTagName(r[1])
						}
					},
					preFilter: {
						CLASS: function (q, s, r, t, v, u) {
							q = " " + q[1].replace(/\\/g, "") + " ";
							if (u) {
								return q
							}
							for (var y = 0, w;
							(w = s[y]) != null; y++) {
								if (w) {
									if (v ^ (w.className && (" " + w.className + " ").indexOf(q) >= 0)) {
										if (!r) {
											t.push(w)
										}
									} else {
										if (r) {
											s[y] = false
										}
									}
								}
							}
							return false
						},
						ID: function (q) {
							return q[1].replace(/\\/g, "")
						},
						TAG: function (r, s) {
							for (var q = 0; s[q] === false; q++) {}
							return s[q] && c(s[q]) ? r[1] : r[1].toUpperCase()
						},
						CHILD: function (r) {
							if (r[1] == "nth") {
								var q = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(r[2] == "even" && "2n" || r[2] == "odd" && "2n+1" || !/\D/.test(r[2]) && "0n+" + r[2] || r[2]);
								r[2] = (q[1] + (q[2] || 1)) - 0;
								r[3] = q[3] - 0
							}
							r[0] = i++;
							return r
						},
						ATTR: function (w, s, r, t, v, u) {
							var q = w[1].replace(/\\/g, "");
							if (!u && l.attrMap[q]) {
								w[1] = l.attrMap[q]
							}
							if (w[2] === "~=") {
								w[4] = " " + w[4] + " "
							}
							return w
						},
						PSEUDO: function (v, s, r, t, u) {
							if (v[1] === "not") {
								if (v[3].match(b).length > 1 || /^\w/.test(v[3])) {
									v[3] = o(v[3], null, null, s)
								} else {
									var q = o.filter(v[3], s, r, true ^ u);
									if (!r) {
										t.push.apply(t, q)
									}
									return false
								}
							} else {
								if (l.match.POS.test(v[0]) || l.match.CHILD.test(v[0])) {
									return true
								}
							}
							return v
						},
						POS: function (q) {
							q.unshift(true);
							return q
						}
					},
					filters: {
						enabled: function (q) {
							return q.disabled === false && q.type !== "hidden"
						},
						disabled: function (q) {
							return q.disabled === true
						},
						checked: function (q) {
							return q.checked === true
						},
						selected: function (q) {
							q.parentNode.selectedIndex;
							return q.selected === true
						},
						parent: function (q) {
							return !!q.firstChild
						},
						empty: function (q) {
							return !q.firstChild
						},
						has: function (q, r, s) {
							return !!o(s[3], q).length
						},
						header: function (q) {
							return /h\d/i.test(q.nodeName)
						},
						text: function (q) {
							return "text" === q.type
						},
						radio: function (q) {
							return "radio" === q.type
						},
						checkbox: function (q) {
							return "checkbox" === q.type
						},
						file: function (q) {
							return "file" === q.type
						},
						password: function (q) {
							return "password" === q.type
						},
						submit: function (q) {
							return "submit" === q.type
						},
						image: function (q) {
							return "image" === q.type
						},
						reset: function (q) {
							return "reset" === q.type
						},
						button: function (q) {
							return "button" === q.type || q.nodeName.toUpperCase() === "BUTTON"
						},
						input: function (q) {
							return /input|select|textarea|button/i.test(q.nodeName)
						}
					},
					setFilters: {
						first: function (q, r) {
							return r === 0
						},
						last: function (r, s, t, q) {
							return s === q.length - 1
						},
						even: function (q, r) {
							return r % 2 === 0
						},
						odd: function (q, r) {
							return r % 2 === 1
						},
						lt: function (q, r, s) {
							return r < s[3] - 0
						},
						gt: function (q, r, s) {
							return r > s[3] - 0
						},
						nth: function (q, r, s) {
							return s[3] - 0 == r
						},
						eq: function (q, r, s) {
							return s[3] - 0 == r
						}
					},
					filter: {
						PSEUDO: function (v, r, q, u) {
							var s = r[1],
								y = l.filters[s];
							if (y) {
									return y(v, q, r, u)
								} else {
									if (s === "contains") {
										return (v.textContent || v.innerText || "").indexOf(r[3]) >= 0
									} else {
										if (s === "not") {
											var w = r[3];
											for (var q = 0, t = w.length; q < t; q++) {
												if (w[q] === v) {
													return false
												}
											}
											return true
										}
									}
								}
						},
						CHILD: function (y, u) {
							var r = u[1],
								w = y;
							switch (r) {
								case "only":
								case "first":
									while (w = w.previousSibling) {
										if (w.nodeType === 1) {
											return false
										}
									}
									if (r == "first") {
										return true
									}
									w = y;
								case "last":
									while (w = w.nextSibling) {
										if (w.nodeType === 1) {
											return false
										}
									}
									return true;
								case "nth":
									var v = u[2],
										z = u[3];
									if (v == 1 && z == 0) {
											return true
										}
									var s = u[0],
										A = y.parentNode;
									if (A && (A.sizcache !== s || !y.nodeIndex)) {
											var t = 0;
											for (w = A.firstChild; w; w = w.nextSibling) {
												if (w.nodeType === 1) {
													w.nodeIndex = ++t
												}
											}
											A.sizcache = s
										}
									var q = y.nodeIndex - z;
									if (v == 0) {
											return q == 0
										} else {
											return (q % v == 0 && q / v >= 0)
										}
								}
						},
						ID: function (q, r) {
							return q.nodeType === 1 && q.getAttribute("id") === r
						},
						TAG: function (q, r) {
							return (r === "*" && q.nodeType === 1) || q.nodeName === r
						},
						CLASS: function (q, r) {
							return (" " + (q.className || q.getAttribute("class")) + " ").indexOf(r) > -1
						},
						ATTR: function (v, q) {
							var r = q[1],
								t = l.attrHandle[r] ? l.attrHandle[r](v) : v[r] != null ? v[r] : v.getAttribute(r),
								u = t + "",
								w = q[2],
								s = q[4];
							return t == null ? w === "!=" : w === "=" ? u === s : w === "*=" ? u.indexOf(s) >= 0 : w === "~=" ? (" " + u + " ").indexOf(s) >= 0 : !s ? u && t !== false : w === "!=" ? u != s : w === "^=" ? u.indexOf(s) === 0 : w === "$=" ? u.substr(u.length - s.length) === s : w === "|=" ? u === s || u.substr(0, s.length + 1) === s + "-" : false
						},
						POS: function (v, s, r, u) {
							var t = s[2],
								q = l.setFilters[t];
							if (q) {
									return q(v, r, s, u)
								}
						}
					}
				};
			var h = l.match.POS;
			for (var f in l.match) {
					l.match[f] = RegExp(l.match[f].source + /(?![^\[]*\])(?![^\(]*\))/.source)
				}
			var p = function (q, r) {
					q = Array.prototype.slice.call(q);
					if (r) {
						r.push.apply(r, q);
						return r
					}
					return q
				};
			try {
					Array.prototype.slice.call(document.documentElement.childNodes)
				} catch (g) {
					p = function (u, q) {
						var s = q || [];
						if (m.call(u) === "[object Array]") {
							Array.prototype.push.apply(s, u)
						} else {
							if (typeof u.length === "number") {
								for (var r = 0, t = u.length; r < t; r++) {
									s.push(u[r])
								}
							} else {
								for (var r = 0; u[r]; r++) {
									s.push(u[r])
								}
							}
						}
						return s
					}
				}
			var n;
			if (document.documentElement.compareDocumentPosition) {
					n = function (r, s) {
						var q = r.compareDocumentPosition(s) & 4 ? -1 : r === s ? 0 : 1;
						if (q === 0) {
							hasDuplicate = true
						}
						return q
					}
				} else {
					if ("sourceIndex" in document.documentElement) {
						n = function (r, s) {
							var q = r.sourceIndex - s.sourceIndex;
							if (q === 0) {
								hasDuplicate = true
							}
							return q
						}
					} else {
						if (document.createRange) {
							n = function (q, s) {
								var r = q.ownerDocument.createRange(),
									t = s.ownerDocument.createRange();
								r.selectNode(q);
								r.collapse(true);
								t.selectNode(s);
								t.collapse(true);
								var u = r.compareBoundaryPoints(Range.START_TO_END, t);
								if (u === 0) {
										hasDuplicate = true
									}
								return u
							}
						}
					}
				}(function () {
					var r = document.createElement("form"),
						q = "script" + (new Date).getTime();
					r.innerHTML = "<input name='" + q + "'/>";
					var s = document.documentElement;
					s.insertBefore(r, s.firstChild);
					if ( !! document.getElementById(q)) {
							l.find.ID = function (w, v, u) {
								if (typeof v.getElementById !== "undefined" && !u) {
									var t = v.getElementById(w[1]);
									return t ? t.id === w[1] || typeof t.getAttributeNode !== "undefined" && t.getAttributeNode("id").nodeValue === w[1] ? [t] : ab : []
								}
							};
							l.filter.ID = function (u, t) {
								var v = typeof u.getAttributeNode !== "undefined" && u.getAttributeNode("id");
								return u.nodeType === 1 && v && v.nodeValue === t
							}
						}
					s.removeChild(r)
				})();
				(function () {
					var q = document.createElement("div");
					q.appendChild(document.createComment(""));
					if (q.getElementsByTagName("*").length > 0) {
						l.find.TAG = function (t, u) {
							var v = u.getElementsByTagName(t[1]);
							if (t[1] === "*") {
								var r = [];
								for (var s = 0; v[s]; s++) {
									if (v[s].nodeType === 1) {
										r.push(v[s])
									}
								}
								v = r
							}
							return v
						}
					}
					q.innerHTML = "<a href='#'></a>";
					if (q.firstChild && typeof q.firstChild.getAttribute !== "undefined" && q.firstChild.getAttribute("href") !== "#") {
						l.attrHandle.href = function (r) {
							return r.getAttribute("href", 2)
						}
					}
				})();
			if (document.querySelectorAll) {
					(function () {
						var r = o,
							q = document.createElement("div");
						q.innerHTML = "<p class='TEST'></p>";
						if (q.querySelectorAll && q.querySelectorAll(".TEST").length === 0) {
								return
							}
						o = function (v, w, t, s) {
								w = w || document;
								if (!s && w.nodeType === 9 && !c(w)) {
									try {
										return p(w.querySelectorAll(v), t)
									} catch (u) {}
								}
								return r(v, w, t, s)
							};
						o.find = r.find;
						o.filter = r.filter;
						o.selectors = r.selectors;
						o.matches = r.matches
					})()
				}
			if (document.getElementsByClassName && document.documentElement.getElementsByClassName) {
					(function () {
						var q = document.createElement("div");
						q.innerHTML = "<div class='test e'></div><div class='test'></div>";
						if (q.getElementsByClassName("e").length === 0) {
							return
						}
						q.lastChild.className = "e";
						if (q.getElementsByClassName("e").length === 1) {
							return
						}
						l.order.splice(1, 0, "CLASS");
						l.find.CLASS = function (t, s, r) {
							if (typeof s.getElementsByClassName !== "undefined" && !r) {
								return s.getElementsByClassName(t[1])
							}
						}
					})()
				}
			function d(w, r, s, z, q, A) {
					var B = w == "previousSibling" && !A;
					for (var u = 0, v = z.length; u < v; u++) {
						var y = z[u];
						if (y) {
							if (B && y.nodeType === 1) {
								y.sizcache = s;
								y.sizset = u
							}
							y = y[w];
							var t = false;
							while (y) {
								if (y.sizcache === s) {
									t = z[y.sizset];
									break
								}
								if (y.nodeType === 1 && !A) {
									y.sizcache = s;
									y.sizset = u
								}
								if (y.nodeName === r) {
									t = y;
									break
								}
								y = y[w]
							}
							z[u] = t
						}
					}
				}
			function a(w, r, s, z, q, A) {
					var B = w == "previousSibling" && !A;
					for (var u = 0, v = z.length; u < v; u++) {
						var y = z[u];
						if (y) {
							if (B && y.nodeType === 1) {
								y.sizcache = s;
								y.sizset = u
							}
							y = y[w];
							var t = false;
							while (y) {
								if (y.sizcache === s) {
									t = z[y.sizset];
									break
								}
								if (y.nodeType === 1) {
									if (!A) {
										y.sizcache = s;
										y.sizset = u
									}
									if (typeof r !== "string") {
										if (y === r) {
											t = true;
											break
										}
									} else {
										if (o.filter(r, [y]).length > 0) {
											t = y;
											break
										}
									}
								}
								y = y[w]
							}
							z[u] = t
						}
					}
				}
			var j = document.compareDocumentPosition ?
			function (q, r) {
					return q.compareDocumentPosition(r) & 16
				} : function (q, r) {
					return q !== r && (q.contains ? q.contains(r) : true)
				};
			var c = function (q) {
					return q.nodeType === 9 && q.documentElement.nodeName !== "HTML" || !! q.ownerDocument && c(q.ownerDocument)
				};
			var k = function (t, v) {
					var q = [],
						y = "",
						w, r = v.nodeType ? [v] : v;
					while ((w = l.match.PSEUDO.exec(t))) {
							y += w[0];
							t = t.replace(l.match.PSEUDO, "")
						}
					t = l.relative[t] ? t + "*" : t;
					for (var u = 0, s = r.length; u < s; u++) {
							o(t, r[u], q)
						}
					return o.filter(y, q)
				};
			T.find = o;
			T.filter = o.filter;
			T.expr = o.selectors;
			T.expr[":"] = T.expr.filters;
			o.selectors.filters.hidden = function (q) {
					return q.offsetWidth === 0 || q.offsetHeight === 0
				};
			o.selectors.filters.visible = function (q) {
					return q.offsetWidth > 0 || q.offsetHeight > 0
				};
			o.selectors.filters.animated = function (q) {
					return T.grep(T.timers, function (r) {
						return q === r.elem
					}).length
				};
			T.multiFilter = function (q, s, r) {
					if (r) {
						q = ":not(" + q + ")"
					}
					return o.matches(q, s)
				};
			T.dir = function (r, s) {
					var t = [],
						q = r[s];
					while (q && q != document) {
							if (q.nodeType == 1) {
								t.push(q)
							}
							q = q[s]
						}
					return t
				};
			T.nth = function (u, t, r, q) {
					t = t || 1;
					var s = 0;
					for (; u; u = u[r]) {
						if (u.nodeType == 1 && ++s == t) {
							break
						}
					}
					return u
				};
			T.sibling = function (q, r) {
					var s = [];
					for (; q; q = q.nextSibling) {
						if (q.nodeType == 1 && q != r) {
							s.push(q)
						}
					}
					return s
				};
			return;
			W.Sizzle = o
		})();
	T.event = {
			add: function (c, g, d, a) {
				if (c.nodeType == 3 || c.nodeType == 8) {
					return
				}
				if (c.setInterval && c != W) {
					c = W
				}
				if (!d.guid) {
					d.guid = this.guid++
				}
				if (a !== ab) {
					var f = d;
					d = this.proxy(f);
					d.data = a
				}
				var h = T.data(c, "events") || T.data(c, "events", {}),
					b = T.data(c, "handle") || T.data(c, "handle", function () {
						return typeof T !== "undefined" && !T.event.triggered ? T.event.handle.apply(arguments.callee.elem, arguments) : ab
					});
				b.elem = c;
				T.each(g.split(/\s+/), function (l, k) {
						var j = k.split(".");
						k = j.shift();
						d.type = j.slice().sort().join(".");
						var i = h[k];
						if (T.event.specialAll[k]) {
							T.event.specialAll[k].setup.call(c, a, j)
						}
						if (!i) {
							i = h[k] = {};
							if (!T.event.special[k] || T.event.special[k].setup.call(c, a, j) === false) {
								if (c.addEventListener) {
									c.addEventListener(k, b, false)
								} else {
									if (c.attachEvent) {
										c.attachEvent("on" + k, b)
									}
								}
							}
						}
						i[d.guid] = d;
						T.event.global[k] = true
					});
				c = null
			},
			guid: 1,
			global: {},
			remove: function (b, f, c) {
				if (b.nodeType == 3 || b.nodeType == 8) {
					return
				}
				var g = T.data(b, "events"),
					h, i;
				if (g) {
						if (f === ab || (typeof f === "string" && f.charAt(0) == ".")) {
							for (var d in g) {
								this.remove(b, d + (f || ""))
							}
						} else {
							if (f.type) {
								c = f.handler;
								f = f.type
							}
							T.each(f.split(/\s+/), function (n, l) {
								var j = l.split(".");
								l = j.shift();
								var m = RegExp("(^|\\.)" + j.slice().sort().join(".*\\.") + "(\\.|$)");
								if (g[l]) {
									if (c) {
										delete g[l][c.guid]
									} else {
										for (var k in g[l]) {
											if (m.test(g[l][k].type)) {
												delete g[l][k]
											}
										}
									}
									if (T.event.specialAll[l]) {
										T.event.specialAll[l].teardown.call(b, j)
									}
									for (h in g[l]) {
										break
									}
									if (!h) {
										if (!T.event.special[l] || T.event.special[l].teardown.call(b, j) === false) {
											if (b.removeEventListener) {
												b.removeEventListener(l, T.data(b, "handle"), false)
											} else {
												if (b.detachEvent) {
													b.detachEvent("on" + l, T.data(b, "handle"))
												}
											}
										}
										h = null;
										delete g[l]
									}
								}
							})
						}
						for (h in g) {
							break
						}
						if (!h) {
							var a = T.data(b, "handle");
							if (a) {
								a.elem = null
							}
							T.removeData(b, "events");
							T.removeData(b, "handle")
						}
					}
			},
			trigger: function (d, b, f, i) {
				var g = d.type || d;
				if (!i) {
					d = typeof d === "object" ? d[aa] ? d : T.extend(T.Event(g), d) : T.Event(g);
					if (g.indexOf("!") >= 0) {
						d.type = g = g.slice(0, -1);
						d.exclusive = true
					}
					if (!f) {
						d.stopPropagation();
						if (this.global[g]) {
							T.each(T.cache, function () {
								if (this.events && this.events[g]) {
									T.event.trigger(d, b, this.handle.elem)
								}
							})
						}
					}
					if (!f || f.nodeType == 3 || f.nodeType == 8) {
						return ab
					}
					d.result = ab;
					d.target = f;
					b = T.makeArray(b);
					b.unshift(d)
				}
				d.currentTarget = f;
				var c = T.data(f, "handle");
				if (c) {
					c.apply(f, b)
				}
				if ((!f[g] || (T.nodeName(f, "a") && g == "click")) && f["on" + g] && f["on" + g].apply(f, b) === false) {
					d.result = false
				}
				if (!i && f[g] && !d.isDefaultPrevented() && !(T.nodeName(f, "a") && g == "click")) {
					this.triggered = true;
					try {
						f[g]()
					} catch (a) {}
				}
				this.triggered = false;
				if (!d.isPropagationStopped()) {
					var h = f.parentNode || f.ownerDocument;
					if (h) {
						T.event.trigger(d, b, h, true)
					}
				}
			},
			handle: function (b) {
				var c, i;
				b = arguments[0] = T.event.fix(b || W.event);
				b.currentTarget = this;
				var a = b.type.split(".");
				b.type = a.shift();
				c = !a.length && !b.exclusive;
				var d = RegExp("(^|\\.)" + a.slice().sort().join(".*\\.") + "(\\.|$)");
				i = (T.data(this, "events") || {})[b.type];
				for (var g in i) {
					var f = i[g];
					if (c || d.test(f.type)) {
						b.handler = f;
						b.data = f.data;
						var h = f.apply(this, arguments);
						if (h !== ab) {
							b.result = h;
							if (h === false) {
								b.preventDefault();
								b.stopPropagation()
							}
						}
						if (b.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 (c) {
				if (c[aa]) {
					return c
				}
				var f = c;
				c = T.Event(f);
				for (var d = this.props.length, a; d;) {
					a = this.props[--d];
					c[a] = f[a]
				}
				if (!c.target) {
					c.target = c.srcElement || document
				}
				if (c.target.nodeType == 3) {
					c.target = c.target.parentNode
				}
				if (!c.relatedTarget && c.fromElement) {
					c.relatedTarget = c.fromElement == c.target ? c.toElement : c.fromElement
				}
				if (c.pageX == null && c.clientX != null) {
					var b = document.documentElement,
						g = document.body;
					c.pageX = c.clientX + (b && b.scrollLeft || g && g.scrollLeft || 0) - (b.clientLeft || 0);
					c.pageY = c.clientY + (b && b.scrollTop || g && g.scrollTop || 0) - (b.clientTop || 0)
				}
				if (!c.which && ((c.charCode || c.charCode === 0) ? c.charCode : c.keyCode)) {
					c.which = c.charCode || c.keyCode
				}
				if (!c.metaKey && c.ctrlKey) {
					c.metaKey = c.ctrlKey
				}
				if (!c.which && c.button) {
					c.which = (c.button & 1 ? 1 : (c.button & 2 ? 3 : (c.button & 4 ? 2 : 0)))
				}
				return c
			},
			proxy: function (a, b) {
				b = b ||
				function () {
					return a.apply(this, arguments)
				};
				b.guid = a.guid = a.guid || b.guid || this.guid++;
				return b
			},
			special: {
				ready: {
					setup: P,
					teardown: function () {}
				}
			},
			specialAll: {
				live: {
					setup: function (b, a) {
						T.event.add(this, a[0], af)
					},
					teardown: function (a) {
						if (a.length) {
							var c = 0,
								b = RegExp("(^|\\.)" + a[0] + "(\\.|$)");
							T.each((T.data(this, "events").live || {}), function () {
									if (b.test(this.type)) {
										c++
									}
								});
							if (c < 1) {
									T.event.remove(this, a[0], af)
								}
						}
					}
				}
			}
		};
	T.Event = function (a) {
			if (!this.preventDefault) {
				return new T.Event(a)
			}
			if (a && a.type) {
				this.originalEvent = a;
				this.type = a.type
			} else {
				this.type = a
			}
			this.timeStamp = ad();
			this[aa] = true
		};

	function X() {
			return false
		}
	function J() {
			return true
		}
	T.Event.prototype = {
			preventDefault: function () {
				this.isDefaultPrevented = J;
				var a = this.originalEvent;
				if (!a) {
					return
				}
				if (a.preventDefault) {
					a.preventDefault()
				}
				a.returnValue = false
			},
			stopPropagation: function () {
				this.isPropagationStopped = J;
				var a = this.originalEvent;
				if (!a) {
					return
				}
				if (a.stopPropagation) {
					a.stopPropagation()
				}
				a.cancelBubble = true
			},
			stopImmediatePropagation: function () {
				this.isImmediatePropagationStopped = J;
				this.stopPropagation()
			},
			isDefaultPrevented: X,
			isPropagationStopped: X,
			isImmediatePropagationStopped: X
		};
	var ah = function (b) {
			var c = b.relatedTarget;
			while (c && c != this) {
				try {
					c = c.parentNode
				} catch (a) {
					c = this
				}
			}
			if (c != this) {
				b.type = b.data;
				T.event.handle.apply(this, arguments)
			}
		};
	T.each({
			mouseover: "mouseenter",
			mouseout: "mouseleave"
		}, function (a, b) {
			T.event.special[b] = {
				setup: function () {
					T.event.add(this, a, ah, b)
				},
				teardown: function () {
					T.event.remove(this, a, ah)
				}
			}
		});
	T.fn.extend({
			bind: function (b, a, c) {
				return b == "unload" ? this.one(b, a, c) : this.each(function () {
					T.event.add(this, b, c || a, c && a)
				})
			},
			one: function (b, a, c) {
				var d = T.event.proxy(c || a, function (f) {
					T(this).unbind(f, d);
					return (c || a).apply(this, arguments)
				});
				return this.each(function () {
					T.event.add(this, b, d, c && a)
				})
			},
			unbind: function (a, b) {
				return this.each(function () {
					T.event.remove(this, a, b)
				})
			},
			trigger: function (b, a) {
				return this.each(function () {
					T.event.trigger(b, a, this)
				})
			},
			triggerHandler: function (c, a) {
				if (this[0]) {
					var b = T.Event(c);
					b.preventDefault();
					b.stopPropagation();
					T.event.trigger(b, a, this[0]);
					return b.result
				}
			},
			toggle: function (a) {
				var c = arguments,
					b = 1;
				while (b < c.length) {
						T.event.proxy(a, c[b++])
					}
				return this.click(T.event.proxy(a, function (d) {
						this.lastToggle = (this.lastToggle || 0) % b;
						d.preventDefault();
						return c[this.lastToggle++].apply(this, arguments) || false
					}))
			},
			hover: function (b, a) {
				return this.mouseenter(b).mouseleave(a)
			},
			ready: function (a) {
				P();
				if (T.isReady) {
					a.call(document, T)
				} else {
					T.readyList.push(a)
				}
				return this
			},
			live: function (a, b) {
				var c = T.event.proxy(b);
				c.guid += this.selector + a;
				T(document).bind(Z(a, this.selector), this.selector, c);
				return this
			},
			die: function (a, b) {
				T(document).unbind(Z(a, this.selector), b ? {
					guid: b.guid + this.selector + a
				} : null);
				return this
			}
		});

	function af(a) {
			var d = RegExp("(^|\\.)" + a.type + "(\\.|$)"),
				b = true,
				c = [];
			T.each(T.data(this, "events").live || [], function (h, g) {
					if (d.test(g.type)) {
						var f = T(a.target).closest(g.data)[0];
						if (f) {
							c.push({
								elem: f,
								fn: g
							})
						}
					}
				});
			c.sort(function (f, g) {
					return T.data(f.elem, "closest") - T.data(g.elem, "closest")
				});
			T.each(c, function () {
					if (this.fn.call(this.elem, a, this.fn.data) === false) {
						return (b = false)
					}
				});
			return b
		}
	function Z(a, b) {
			return ["live", a, b.replace(/\./g, "`").replace(/ /g, "|")].join(".")
		}
	T.extend({
			isReady: false,
			readyList: [],
			ready: function () {
				if (!T.isReady) {
					T.isReady = true;
					if (T.readyList) {
						T.each(T.readyList, function () {
							this.call(document, T)
						});
						T.readyList = null
					}
					T(document).triggerHandler("ready")
				}
			}
		});
	var G = false;

	function P() {
			if (G) {
				return
			}
			G = true;
			if (document.addEventListener) {
				document.addEventListener("DOMContentLoaded", function () {
					document.removeEventListener("DOMContentLoaded", arguments.callee, false);
					T.ready()
				}, false)
			} else {
				if (document.attachEvent) {
					document.attachEvent("onreadystatechange", function () {
						if (document.readyState === "complete") {
							document.detachEvent("onreadystatechange", arguments.callee);
							T.ready()
						}
					});
					if (document.documentElement.doScroll && W == W.top) {
						(function () {
							if (T.isReady) {
								return
							}
							try {
								document.documentElement.doScroll("left")
							} catch (a) {
								setTimeout(arguments.callee, 0);
								return
							}
							T.ready()
						})()
					}
				}
			}
			T.event.add(W, "load", T.ready)
		}
	T.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, b) {
			T.fn[b] = function (c) {
				return c ? this.bind(b, c) : this.trigger(b)
			}
		});
	T(W).bind("unload", function () {
			for (var a in T.cache) {
				if (a != 1 && T.cache[a].handle) {
					T.event.remove(T.cache[a].handle.elem)
				}
			}
		});
		(function () {
			T.support = {};
			var g = document.documentElement,
				f = document.createElement("script"),
				a = document.createElement("div"),
				b = "script" + (new Date).getTime();
			a.style.display = "none";
			a.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 d = a.getElementsByTagName("*"),
				h = a.getElementsByTagName("a")[0];
			if (!d || !d.length || !h) {
					return
				}
			T.support = {
					leadingWhitespace: a.firstChild.nodeType == 3,
					tbody: !a.getElementsByTagName("tbody").length,
					objectAll: !! a.getElementsByTagName("object")[0].getElementsByTagName("*").length,
					htmlSerialize: !! a.getElementsByTagName("link").length,
					style: /red/.test(h.getAttribute("style")),
					hrefNormalized: h.getAttribute("href") === "/a",
					opacity: h.style.opacity === "0.5",
					cssFloat: !! h.style.cssFloat,
					scriptEval: false,
					noCloneEvent: true,
					boxModel: null
				};
			f.type = "text/javascript";
			try {
					f.appendChild(document.createTextNode("window." + b + "=1;"))
				} catch (c) {}
			g.insertBefore(f, g.firstChild);
			if (W[b]) {
					T.support.scriptEval = true;
					delete W[b]
				}
			g.removeChild(f);
			if (a.attachEvent && a.fireEvent) {
					a.attachEvent("onclick", function () {
						T.support.noCloneEvent = false;
						a.detachEvent("onclick", arguments.callee)
					});
					a.cloneNode(true).fireEvent("onclick")
				}
			T(function () {
					var i = document.createElement("div");
					i.style.width = i.style.paddingLeft = "1px";
					document.body.appendChild(i);
					T.boxModel = T.support.boxModel = i.offsetWidth === 2;
					document.body.removeChild(i).style.display = "none"
				})
		})();
	var H = T.support.cssFloat ? "cssFloat" : "styleFloat";
	T.props = {
			"for": "htmlFor",
			"class": "className",
			"float": H,
			cssFloat: H,
			styleFloat: H,
			readonly: "readOnly",
			maxlength: "maxLength",
			cellspacing: "cellSpacing",
			rowspan: "rowSpan",
			tabindex: "tabIndex"
		};
	T.fn.extend({
			_load: T.fn.load,
			load: function (f, b, a) {
				if (typeof f !== "string") {
					return this._load(f)
				}
				var c = f.indexOf(" ");
				if (c >= 0) {
					var h = f.slice(c, f.length);
					f = f.slice(0, c)
				}
				var d = "GET";
				if (b) {
					if (T.isFunction(b)) {
						a = b;
						b = null
					} else {
						if (typeof b === "object") {
							b = T.param(b);
							d = "POST"
						}
					}
				}
				var g = this;
				T.ajax({
					url: f,
					type: d,
					dataType: "html",
					data: b,
					complete: function (j, i) {
						if (i == "success" || i == "notmodified") {
							g.html(h ? T("<div/>").append(j.responseText.replace(/<script(.|\s)*?\/script>/g, "")).find(h) : j.responseText)
						}
						if (a) {
							g.each(a, [j.responseText, i, j])
						}
					}
				});
				return this
			},
			serialize: function () {
				return T.param(this.serializeArray())
			},
			serializeArray: function () {
				return this.map(function () {
					return this.elements ? T.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 (c, b) {
					var a = T(this).val();
					return a == null ? null : T.isArray(a) ? T.map(a, function (d, f) {
						return {
							name: b.name,
							value: d
						}
					}) : {
						name: b.name,
						value: a
					}
				}).get()
			}
		});
	T.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","), function (b, a) {
			T.fn[a] = function (c) {
				return this.bind(a, c)
			}
		});
	var N = ad();
	T.extend({
			get: function (d, b, a, c) {
				if (T.isFunction(b)) {
					a = b;
					b = null
				}
				return T.ajax({
					type: "GET",
					url: d,
					data: b,
					success: a,
					dataType: c
				})
			},
			getScript: function (b, a) {
				return T.get(b, null, a, "script")
			},
			getJSON: function (c, b, a) {
				return T.get(c, b, a, "json")
			},
			post: function (d, b, a, c) {
				if (T.isFunction(b)) {
					a = b;
					b = {}
				}
				return T.ajax({
					type: "POST",
					url: d,
					data: b,
					success: a,
					dataType: c
				})
			},
			ajaxSetup: function (a) {
				T.extend(T.ajaxSettings, a)
			},
			ajaxSettings: {
				url: location.href,
				global: true,
				type: "GET",
				contentType: "application/x-www-form-urlencoded",
				processData: true,
				async: true,
				xhr: function () {
					return W.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 (l) {
				l = T.extend(true, l, T.extend(true, {}, T.ajaxSettings, l));
				var a, s = /=\?(&|$)/g,
					g, b, r = l.type.toUpperCase();
				if (l.data && l.processData && typeof l.data !== "string") {
						l.data = T.param(l.data)
					}
				if (l.dataType == "jsonp") {
						if (r == "GET") {
							if (!l.url.match(s)) {
								l.url += (l.url.match(/\?/) ? "&" : "?") + (l.jsonp || "callback") + "=?"
							}
						} else {
							if (!l.data || !l.data.match(s)) {
								l.data = (l.data ? l.data + "&" : "") + (l.jsonp || "callback") + "=?"
							}
						}
						l.dataType = "json"
					}
				if (l.dataType == "json" && (l.data && l.data.match(s) || l.url.match(s))) {
						a = "jsonp" + N++;
						if (l.data) {
							l.data = (l.data + "").replace(s, "=" + a + "$1")
						}
						l.url = l.url.replace(s, "=" + a + "$1");
						l.dataType = "script";
						W[a] = function (v) {
							b = v;
							p();
							m();
							W[a] = ab;
							try {
								delete W[a]
							} catch (u) {}
							if (q) {
								q.removeChild(d)
							}
						}
					}
				if (l.dataType == "script" && l.cache == null) {
						l.cache = false
					}
				if (l.cache === false && r == "GET") {
						var t = ad();
						var c = l.url.replace(/(\?|&)_=.*?(&|$)/, "$1_=" + t + "$2");
						l.url = c + ((c == l.url) ? (l.url.match(/\?/) ? "&" : "?") + "_=" + t : "")
					}
				if (l.data && r == "GET") {
						l.url += (l.url.match(/\?/) ? "&" : "?") + l.data;
						l.data = null
					}
				if (l.global && !T.active++) {
						T.event.trigger("ajaxStart")
					}
				var h = /^(\w+:)?\/\/([^\/?#]+)/.exec(l.url);
				if (l.dataType == "script" && r == "GET" && h && (h[1] && h[1] != location.protocol || h[2] != location.host)) {
						var q = document.getElementsByTagName("head")[0];
						var d = document.createElement("script");
						d.src = l.url;
						if (l.scriptCharset) {
							d.charset = l.scriptCharset
						}
						if (!a) {
							var j = false;
							d.onload = d.onreadystatechange = function () {
								if (!j && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete")) {
									j = true;
									p();
									m();
									d.onload = d.onreadystatechange = null;
									q.removeChild(d)
								}
							}
						}
						q.appendChild(d);
						return ab
					}
				var n = false;
				var o = l.xhr();
				if (l.username) {
						o.open(r, l.url, l.async, l.username, l.password)
					} else {
						o.open(r, l.url, l.async)
					}
				try {
						if (l.data) {
							o.setRequestHeader("Content-Type", l.contentType)
						}
						if (l.ifModified) {
							o.setRequestHeader("If-Modified-Since", T.lastModified[l.url] || "Thu, 01 Jan 1970 00:00:00 GMT")
						}
						o.setRequestHeader("X-Requested-With", "XMLHttpRequest");
						o.setRequestHeader("Accept", l.dataType && l.accepts[l.dataType] ? l.accepts[l.dataType] + ", */*" : l.accepts._default)
					} catch (f) {}
				if (l.beforeSend && l.beforeSend(o, l) === false) {
						if (l.global && !--T.active) {
							T.event.trigger("ajaxStop")
						}
						o.abort();
						return false
					}
				if (l.global) {
						T.event.trigger("ajaxSend", [o, l])
					}
				var k = function (w) {
						if (o.readyState == 0) {
							if (i) {
								clearInterval(i);
								i = null;
								if (l.global && !--T.active) {
									T.event.trigger("ajaxStop")
								}
							}
						} else {
							if (!n && o && (o.readyState == 4 || w == "timeout")) {
								n = true;
								if (i) {
									clearInterval(i);
									i = null
								}
								g = w == "timeout" ? "timeout" : !T.httpSuccess(o) ? "error" : l.ifModified && T.httpNotModified(o, l.url) ? "notmodified" : "success";
								if (g == "success") {
									try {
										b = T.httpData(o, l.dataType, l)
									} catch (u) {
										g = "parsererror"
									}
								}
								if (g == "success") {
									var v;
									try {
										v = o.getResponseHeader("Last-Modified")
									} catch (u) {}
									if (l.ifModified && v) {
										T.lastModified[l.url] = v
									}
									if (!a) {
										p()
									}
								} else {
									T.handleError(l, o, g)
								}
								m();
								if (w) {
									o.abort()
								}
								if (l.async) {
									o = null
								}
							}
						}
					};
				if (l.async) {
						var i = setInterval(k, 13);
						if (l.timeout > 0) {
							setTimeout(function () {
								if (o && !n) {
									k("timeout")
								}
							}, l.timeout)
						}
					}
				try {
						o.send(l.data)
					} catch (f) {
						T.handleError(l, o, null, f)
					}
				if (!l.async) {
						k()
					}
				function p() {
						if (l.success) {
							l.success(b, g)
						}
						if (l.global) {
							T.event.trigger("ajaxSuccess", [o, l])
						}
					}
				function m() {
						if (l.complete) {
							l.complete(o, g)
						}
						if (l.global) {
							T.event.trigger("ajaxComplete", [o, l])
						}
						if (l.global && !--T.active) {
							T.event.trigger("ajaxStop")
						}
					}
				return o
			},
			handleError: function (c, a, d, b) {
				if (c.error) {
					c.error(a, d, b)
				}
				if (c.global) {
					T.event.trigger("ajaxError", [a, c, b])
				}
			},
			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 (b) {}
				return false
			},
			httpNotModified: function (b, d) {
				try {
					var a = b.getResponseHeader("Last-Modified");
					return b.status == 304 || a == T.lastModified[d]
				} catch (c) {}
				return false
			},
			httpData: function (a, c, d) {
				var f = a.getResponseHeader("content-type"),
					g = c == "xml" || !c && f && f.indexOf("xml") >= 0,
					b = g ? a.responseXML : a.responseText;
				if (g && b.documentElement.tagName == "parsererror") {
						throw "parsererror"
					}
				if (d && d.dataFilter) {
						b = d.dataFilter(b, c)
					}
				if (typeof b === "string") {
						if (c == "script") {
							T.globalEval(b)
						}
						if (c == "json") {
							b = W["eval"]("(" + b + ")")
						}
					}
				return b
			},
			param: function (d) {
				var b = [];

				function a(g, f) {
					b[b.length] = encodeURIComponent(g) + "=" + encodeURIComponent(f)
				}
				if (T.isArray(d) || d.$) {
					T.each(d, function () {
						a(this.name, this.value)
					})
				} else {
					for (var c in d) {
						if (T.isArray(d[c])) {
							T.each(d[c], function () {
								a(c, this)
							})
						} else {
							a(c, T.isFunction(d[c]) ? d[c]() : d[c])
						}
					}
				}
				return b.join("&").replace(/%20/g, "+")
			}
		});
	var V = {},
		U, ae = [
			["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"],
			["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"],
			["opacity"]
	];

	function K(b, c) {
			var a = {};
			T.each(ae.concat.apply([], ae.slice(0, c)), function () {
				a[this] = b
			});
			return a
		}
	T.fn.extend({
			show: function (c, a) {
				if (c) {
					return this.animate(K("show", 3), c, a)
				} else {
					for (var f = 0, h = this.length; f < h; f++) {
						var i = T.data(this[f], "olddisplay");
						this[f].style.display = i || "";
						if (T.css(this[f], "display") === "none") {
							var g = this[f].tagName,
								b;
							if (V[g]) {
									b = V[g]
								} else {
									var d = T("<" + g + " />").appendTo("body");
									b = d.css("display");
									if (b === "none") {
										b = "block"
									}
									d.remove();
									V[g] = b
								}
							T.data(this[f], "olddisplay", b)
						}
					}
					for (var f = 0, h = this.length; f < h; f++) {
						this[f].style.display = T.data(this[f], "olddisplay") || ""
					}
					return this
				}
			},
			hide: function (b, a) {
				if (b) {
					return this.animate(K("hide", 3), b, a)
				} else {
					for (var c = 0, d = this.length; c < d; c++) {
						var f = T.data(this[c], "olddisplay");
						if (!f && f !== "none") {
							T.data(this[c], "olddisplay", T.css(this[c], "display"))
						}
					}
					for (var c = 0, d = this.length; c < d; c++) {
						this[c].style.display = "none"
					}
					return this
				}
			},
			_toggle: T.fn.toggle,
			toggle: function (a, b) {
				var c = typeof a === "boolean";
				return T.isFunction(a) && T.isFunction(b) ? this._toggle.apply(this, arguments) : a == null || c ? this.each(function () {
					var d = c ? a : T(this).is(":hidden");
					T(this)[d ? "show" : "hide"]()
				}) : this.animate(K("toggle", 3), a, b)
			},
			fadeTo: function (c, a, b) {
				return this.animate({
					opacity: a
				}, c, b)
			},
			animate: function (a, d, b, c) {
				var f = T.speed(d, b, c);
				return this[f.queue === false ? "each" : "queue"](function () {
					var h = T.extend({}, f),
						j, g = this.nodeType == 1 && T(this).is(":hidden"),
						i = this;
					for (j in a) {
							if (a[j] == "hide" && g || a[j] == "show" && !g) {
								return h.complete.call(this)
							}
							if ((j == "height" || j == "width") && this.style) {
								h.display = T.css(this, "display");
								h.overflow = this.style.overflow
							}
						}
					if (h.overflow != null) {
							this.style.overflow = "hidden"
						}
					h.curAnim = T.extend({}, a);
					T.each(a, function (p, l) {
							var m = new T.fx(i, h, p);
							if (/toggle|show|hide/.test(l)) {
								m[l == "toggle" ? g ? "show" : "hide" : l](a)
							} else {
								var n = l.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),
									k = m.cur(true) || 0;
								if (n) {
										var q = parseFloat(n[2]),
											o = n[3] || "px";
										if (o != "px") {
												i.style[p] = (q || 1) + o;
												k = ((q || 1) / m.cur(true)) * k;
												i.style[p] = k + o
											}
										if (n[1]) {
												q = ((n[1] == "-=" ? -1 : 1) * q) + k
											}
										m.custom(k, q, o)
									} else {
										m.custom(k, l, "")
									}
							}
						});
					return true
				})
			},
			stop: function (b, c) {
				var a = T.timers;
				if (b) {
					this.queue([])
				}
				this.each(function () {
					for (var d = a.length - 1; d >= 0; d--) {
						if (a[d].elem == this) {
							if (c) {
								a[d](true)
							}
							a.splice(d, 1)
						}
					}
				});
				if (!c) {
					this.dequeue()
				}
				return this
			}
		});
	T.each({
			slideDown: K("show", 1),
			slideUp: K("hide", 1),
			slideToggle: K("toggle", 1),
			fadeIn: {
				opacity: "show"
			},
			fadeOut: {
				opacity: "hide"
			}
		}, function (b, a) {
			T.fn[b] = function (d, c) {
				return this.animate(a, d, c)
			}
		});
	T.extend({
			speed: function (b, a, c) {
				var d = typeof b === "object" ? b : {
					complete: c || !c && a || T.isFunction(b) && b,
					duration: b,
					easing: c && a || a && !T.isFunction(a) && a
				};
				d.duration = T.fx.off ? 0 : typeof d.duration === "number" ? d.duration : T.fx.speeds[d.duration] || T.fx.speeds._default;
				d.old = d.complete;
				d.complete = function () {
					if (d.queue !== false) {
						T(this).dequeue()
					}
					if (T.isFunction(d.old)) {
						d.old.call(this)
					}
				};
				return d
			},
			easing: {
				linear: function (b, a, d, c) {
					return d + c * b
				},
				swing: function (b, a, d, c) {
					return ((-Math.cos(b * Math.PI) / 2) + 0.5) * c + d
				}
			},
			timers: [],
			fx: function (b, c, a) {
				this.options = c;
				this.elem = b;
				this.prop = a;
				if (!c.orig) {
					c.orig = {}
				}
			}
		});
	T.fx.prototype = {
			update: function () {
				if (this.options.step) {
					this.options.step.call(this.elem, this.now, this)
				}(T.fx.step[this.prop] || T.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]
				}
				var b = parseFloat(T.css(this.elem, this.prop, a));
				return b && b > -10000 ? b : parseFloat(T.curCSS(this.elem, this.prop)) || 0
			},
			custom: function (a, b, c) {
				this.startTime = ad();
				this.start = a;
				this.end = b;
				this.unit = c || this.unit || "px";
				this.now = this.start;
				this.pos = this.state = 0;
				var f = this;

				function d(g) {
					return f.step(g)
				}
				d.elem = this.elem;
				if (d() && T.timers.push(d) && !U) {
					U = setInterval(function () {
						var g = T.timers;
						for (var h = 0; h < g.length; h++) {
							if (!g[h]()) {
								g.splice(h--, 1)
							}
						}
						if (!g.length) {
							clearInterval(U);
							U = ab
						}
					}, 13)
				}
			},
			show: function () {
				this.options.orig[this.prop] = T.attr(this.elem.style, this.prop);
				this.options.show = true;
				this.custom(this.prop == "width" || this.prop == "height" ? 1 : 0, this.cur());
				T(this.elem).show()
			},
			hide: function () {
				this.options.orig[this.prop] = T.attr(this.elem.style, this.prop);
				this.options.hide = true;
				this.custom(this.cur(), 0)
			},
			step: function (c) {
				var d = ad();
				if (c || d >= this.options.duration + this.startTime) {
					this.now = this.end;
					this.pos = this.state = 1;
					this.update();
					this.options.curAnim[this.prop] = true;
					var g = true;
					for (var f in this.options.curAnim) {
						if (this.options.curAnim[f] !== true) {
							g = false
						}
					}
					if (g) {
						if (this.options.display != null) {
							this.elem.style.overflow = this.options.overflow;
							this.elem.style.display = this.options.display;
							if (T.css(this.elem, "display") == "none") {
								this.elem.style.display = "block"
							}
						}
						if (this.options.hide) {
							T(this.elem).hide()
						}
						if (this.options.hide || this.options.show) {
							for (var b in this.options.curAnim) {
								T.attr(this.elem.style, b, this.options.orig[b])
							}
						}
						this.options.complete.call(this.elem)
					}
					return false
				} else {
					var a = d - this.startTime;
					this.state = a / this.options.duration;
					this.pos = T.easing[this.options.easing || (T.easing.swing ? "swing" : "linear")](this.state, a, 0, 1, this.options.duration);
					this.now = this.start + ((this.end - this.start) * this.pos);
					this.update()
				}
				return true
			}
		};
	T.extend(T.fx, {
			speeds: {
				slow: 600,
				fast: 200,
				_default: 400
			},
			step: {
				opacity: function (a) {
					T.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
					}
				}
			}
		});
	if (document.documentElement.getBoundingClientRect) {
			T.fn.offset = function () {
				if (!this[0]) {
					return {
						top: 0,
						left: 0
					}
				}
				if (this[0] === this[0].ownerDocument.body) {
					return T.offset.bodyOffset(this[0])
				}
				var g = this[0].getBoundingClientRect(),
					c = this[0].ownerDocument,
					h = c.body,
					i = c.documentElement,
					a = i.clientTop || h.clientTop || 0,
					b = i.clientLeft || h.clientLeft || 0,
					d = g.top + (self.pageYOffset || T.boxModel && i.scrollTop || h.scrollTop) - a,
					f = g.left + (self.pageXOffset || T.boxModel && i.scrollLeft || h.scrollLeft) - b;
				return {
						top: d,
						left: f
					}
			}
		} else {
			T.fn.offset = function () {
				if (!this[0]) {
					return {
						top: 0,
						left: 0
					}
				}
				if (this[0] === this[0].ownerDocument.body) {
					return T.offset.bodyOffset(this[0])
				}
				T.offset.initialized || T.offset.initialize();
				var g = this[0],
					j = g.offsetParent,
					k = g,
					a = g.ownerDocument,
					c, i = a.documentElement,
					f = a.body,
					d = a.defaultView,
					l = d.getComputedStyle(g, null),
					b = g.offsetTop,
					h = g.offsetLeft;
				while ((g = g.parentNode) && g !== f && g !== i) {
						c = d.getComputedStyle(g, null);
						b -= g.scrollTop,
						h -= g.scrollLeft;
						if (g === j) {
							b += g.offsetTop,
							h += g.offsetLeft;
							if (T.offset.doesNotAddBorder && !(T.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(g.tagName))) {
								b += parseInt(c.borderTopWidth, 10) || 0,
								h += parseInt(c.borderLeftWidth, 10) || 0
							}
							k = j,
							j = g.offsetParent
						}
						if (T.offset.subtractsBorderForOverflowNotVisible && c.overflow !== "visible") {
							b += parseInt(c.borderTopWidth, 10) || 0,
							h += parseInt(c.borderLeftWidth, 10) || 0
						}
						l = c
					}
				if (l.position === "relative" || l.position === "static") {
						b += f.offsetTop,
						h += f.offsetLeft
					}
				if (l.position === "fixed") {
						b += Math.max(i.scrollTop, f.scrollTop),
						h += Math.max(i.scrollLeft, f.scrollLeft)
					}
				return {
						top: b,
						left: h
					}
			}
		}
	T.offset = {
			initialize: function () {
				if (this.initialized) {
					return
				}
				var c = document.body,
					j = document.createElement("div"),
					h, i, a, g, b, k, f = c.style.marginTop,
					d = '<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>';
				b = {
						position: "absolute",
						top: 0,
						left: 0,
						margin: 0,
						border: 0,
						width: "1px",
						height: "1px",
						visibility: "hidden"
					};
				for (k in b) {
						j.style[k] = b[k]
					}
				j.innerHTML = d;
				c.insertBefore(j, c.firstChild);
				h = j.firstChild,
				i = h.firstChild,
				g = h.nextSibling.firstChild.firstChild;
				this.doesNotAddBorder = (i.offsetTop !== 5);
				this.doesAddBorderForTableAndCells = (g.offsetTop === 5);
				h.style.overflow = "hidden",
				h.style.position = "relative";
				this.subtractsBorderForOverflowNotVisible = (i.offsetTop === -5);
				c.style.marginTop = "1px";
				this.doesNotIncludeMarginInBodyOffset = (c.offsetTop === 0);
				c.style.marginTop = f;
				c.removeChild(j);
				this.initialized = true
			},
			bodyOffset: function (c) {
				T.offset.initialized || T.offset.initialize();
				var a = c.offsetTop,
					b = c.offsetLeft;
				if (T.offset.doesNotIncludeMarginInBodyOffset) {
						a += parseInt(T.curCSS(c, "marginTop", true), 10) || 0,
						b += parseInt(T.curCSS(c, "marginLeft", true), 10) || 0
					}
				return {
						top: a,
						left: b
					}
			}
		};
	T.fn.extend({
			position: function () {
				var b = 0,
					c = 0,
					f;
				if (this[0]) {
						var d = this.offsetParent(),
							a = this.offset(),
							g = /^body|html$/i.test(d[0].tagName) ? {
								top: 0,
								left: 0
							} : d.offset();
						a.top -= Y(this, "marginTop");
						a.left -= Y(this, "marginLeft");
						g.top += Y(d, "borderTopWidth");
						g.left += Y(d, "borderLeftWidth");
						f = {
								top: a.top - g.top,
								left: a.left - g.left
							}
					}
				return f
			},
			offsetParent: function () {
				var a = this[0].offsetParent || document.body;
				while (a && (!/^body|html$/i.test(a.tagName) && T.css(a, "position") == "static")) {
					a = a.offsetParent
				}
				return T(a)
			}
		});
	T.each(["Left", "Top"], function (b, c) {
			var a = "scroll" + c;
			T.fn[a] = function (d) {
				if (!this[0]) {
					return null
				}
				return d !== ab ? this.each(function () {
					this == W || this == document ? W.scrollTo(!b ? d : T(W).scrollLeft(), b ? d : T(W).scrollTop()) : this[a] = d
				}) : this[0] == W || this[0] == document ? self[b ? "pageYOffset" : "pageXOffset"] || T.boxModel && document.documentElement[a] || document.body[a] : this[0][a]
			}
		});
	T.each(["Height", "Width"], function (b, d) {
			var g = b ? "Left" : "Top",
				c = b ? "Right" : "Bottom",
				f = d.toLowerCase();
			T.fn["inner" + d] = function () {
					return this[0] ? T.css(this[0], f, false, "padding") : null
				};
			T.fn["outer" + d] = function (h) {
					return this[0] ? T.css(this[0], f, false, h ? "margin" : "border") : null
				};
			var a = d.toLowerCase();
			T.fn[a] = function (h) {
					return this[0] == W ? 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]) : h === ab ? (this.length ? T.css(this[0], a) : null) : this.css(a, typeof h === "string" ? h : h + "px")
				}
		})
})();
try {
	document.execCommand("BackgroundImageCache", false, true)
} catch (e) {}
var TsDocRef = null;
var X_nameNavigateur = "FF";
var X_versionNavigateur = 0;
mon_navigateur(navigator.appVersion);

function mon_navigateur(d) {
	var c = d.split(";");
	for (var b = 0; b < c.length; b++) {
		if (c[b].indexOf("MSIE") > -1) {
			X_nameNavigateur = "IE";
			var a = c[b].replace("MSIE", "");
			X_versionNavigateur = a.replace(" ", "")
		}
	}
}
function $LoadPopupAlerte() {
	if ($("alerte_dispo_select")) {
		$("alerte_dispo_select").options.length = 0
	}
	if ($("TsMemoTaille") && $("alerte_dispo_select")) {
		var b = $c($("TsMemoTaille"), "option");
		for (var a = 0; a < b.length; a++) {
			$("alerte_dispo_select").options[a] = new Option($("TsMemoTaille").options[a].text, $("TsMemoTaille").options[a].value)
		}
		$("alerte_dispo_select").selectedIndex = parseInt($("TsMemoTaille").getAttribute("index"))
	}
	if ($("alerte_dispo_select").options.length == 0) {
		$("alerte_dispo_select").options[0] = new Option($("TsIdProduit").value, $("TsIdProduit").value);
		$("popup_alerte_produit").style.display = "none"
	}
	if ($("alerte_dispo_select").options.length == 0) {
		$("popup_alerte_produit").style.display = "none"
	}
	if ($("titre_page_produit") && $("alerte_dispo_titre")) {
		$("alerte_dispo_titre").innerHTML = $("titre_page_produit").innerHTML + " est en rupture de stock ! "
	}
	if ($("alerte_id_secteur")) {
		$("alerte_id_secteur").value = window.TsIdSecteur
	}
	if ($("alerte_fin_url")) {
		$("alerte_fin_url").value = $("TsFinUrl").value
	}
	if ($("alerte_lib_secteur")) {
		$("alerte_lib_secteur").value = $("TsLibSecteur").value
	}
	if ($("alerte_lib_famille")) {
		$("alerte_lib_famille").value = $("TsLibFamille").value
	}
	if ($("alerte_mail_utilisateur")) {
		$("alerte_mail_utilisateur").value = $("TsMailUtilisateur").value
	}
	if (document.getElementById("mail")) {
		document.getElementById("mail").value = $("alerte_mail_utilisateur").value
	}
}
var ongletTgCourant = "";

function changeOngletTg(a, b) {
	if (a == "0") {
		setInvisible("gondolas-products-1");
		setInvisible("gondolas-products-2");
		setVisible("gondolas-products-0");
		if ($n("header_gondolas_1") != null) {
			$n("header_gondolas_1").className = ""
		}
		if ($n("header_gondolas_2") != null) {
			$n("header_gondolas_2").className = ""
		}
	} else {
		if (a == "1") {
			setInvisible("gondolas-products-0");
			setInvisible("gondolas-products-2");
			setVisible("gondolas-products-1");
			if ($n("header_gondolas_0") != null) {
				$n("header_gondolas_0").className = ""
			}
			if ($n("header_gondolas_2") != null) {
				$n("header_gondolas_2").className = ""
			}
		} else {
			if (a == "2") {
				setInvisible("gondolas-products-0");
				setInvisible("gondolas-products-1");
				setVisible("gondolas-products-2");
				if ($n("header_gondolas_0") != null) {
					$n("header_gondolas_0").className = ""
				}
				if ($n("header_gondolas_1") != null) {
					$n("header_gondolas_1").className = ""
				}
			}
		}
	}
	$n("header_gondolas_" + a).className = "active"
}
var compteurSport;

function mouseOutSport(a, b) {
	compteurSport = setTimeout("mouseOut('" + a + "','" + b + "')", 100)
}
function mouseOver(a, b) {
	if ($n(a)) {
		$n(a).className = "sport2actif"
	}
	if ($n(b)) {
		$n(b).style.display = "block"
	}
	if ($n("iframe_" + b)) {
		$n("iframe_" + b).style.display = "block";
		$n("iframe_" + b).style.width = $n(b).offsetWidth + "px";
		$n("iframe_" + b).style.height = $n(b).offsetHeight + "px"
	}
	clearTimeout(compteurSport)
}
function mouseOut(a, b) {
	clearTimeout(compteurSport);
	if ($n(a)) {
		$n(a).className = "sport2"
	}
	if ($n(b)) {
		$n(b).style.display = "none"
	}
	if ($n("iframe_" + b)) {
		$n("iframe_" + b).style.display = "none"
	}
}
function categEffect(d, c, b, a) {
	if (c && (c.timer == undefined || c.timer == null)) {
		c.fromLine = b;
		c.toLine = a;
		c.timer = new Timer(c, tickOpen, stopTickOpen, 10, a - b);
		c.timer.start();
		setInvisible(d)
	}
}
function tickOpen(f, d, c) {
	var b = $c(f, "li");
	var a = f.fromLine + d - 1;
	setVisible(b[a])
}
function stopTickOpen(c, b, a) {}
function Timer(a, f, d, b, c) {
	this.owner = a;
	this.callback = f;
	this.stopCallback = d;
	this.ms = b;
	this.nbTicks = c;
	this.tickNumber = 0
}
Timer.prototype = {
	start: function () {
		var a = this;
		this.intervalId = setInterval(function () {
			a._tick(a.ms)
		}, this.ms)
	},
	stop: function () {
		this.owner.timer = null;
		clearInterval(this.intervalId);
		this.stopCallback(this.owner, this.tickNumber, this.nbTicks)
	},
	_tick: function () {
		++this.tickNumber;
		this.callback(this.owner, this.tickNumber, this.nbTicks);
		if (this.tickNumber == this.nbTicks) {
			this.stop()
		}
	}
};

function setClass(c, b) {
	var a = $n(b);
	if (!a) {
		return false
	}
	a.className = c
}
function setVisible(a) {
	if (!$n(a)) {
		return false
	}
	$n(a).style.display = "block";
	$n(a).style.visibility = "visible"
}
function setInvisible(a) {
	if (!$n(a)) {
		return false
	}
	$n(a).style.display = "none";
	$n(a).style.visibility = "hidden"
}
function makeVisibleFilters(a, g) {
	var c = document.getElementById(g);
	var f = c.getElementsByTagName("li");
	for (var b = 0; b < f.length; b++) {
		var d = f[b];
		setVisible(d)
	}
	setInvisible(a)
}
function $ClearPropagation(a) {
	if (!a) {
		a = window.event
	}
	a.preventDefault ? a.preventDefault() : a.returnValue = false;
	a.stopPropagation ? a.stopPropagation() : a.cancelBuble = true
}
function openPopPup(c, a, b) {
	window.open(c, a, b)
}
function Contains(c, a) {
	for (var b = 0; b < c.length; b++) {
		if (c[b] == a) {
			return true
		}
	}
	return false
}
function $n(a) {
	return (typeof a == "string") ? a = document.getElementById(a) : a
}
function $t(a) {
	return $n(a).tagName ? $n(a).tagName.toLowerCase() : ""
}
function $c(g, f) {
	var b = f ? f.toLowerCase().split("|") : null;
	var c = new Array;
	if (!$n(g).childNodes) {
		return null
	}
	for (var d = 0; d < $n(g).childNodes.length; d++) {
		if (!b) {
			if ($n(g).childNodes[d].tagName) {
				c[c.length] = $n(g).childNodes[d]
			}
		} else {
			if (Contains(b, $t($n(g).childNodes[d]))) {
				c[c.length] = $n(g).childNodes[d]
			}
		}
	}
	return c
}
function $p(c, b) {
	if (!c) {
		return null
	}
	var a = b ? b.toLowerCase().split("|") : null;
	return $t(c) == "body" ? null : (Contains(a, $t(c)) ? $n(c) : $p($n(c).parentNode, b))
}
function GetSrcElt(a) {
	a = a || window.event;
	if (a.srcElement) {
		return a.srcElement
	} else {
		if (a.target) {
			return a.target
		}
	}
	return null
}
function Contains(c, a) {
	for (var b = 0; b < c.length; b++) {
		if (c[b] == a) {
			return true
		}
	}
	return false
}
function $(a) {
	return (typeof a == "string") ? a = document.getElementById(a) : a
}
function $t(a) {
	return $(a).tagName ? $(a).tagName.toLowerCase() : ""
}
function $c(g, f) {
	var b = f ? f.toLowerCase().split("|") : null;
	var c = new Array;
	if (!$(g).childNodes) {
		return null
	}
	for (var d = 0; d < $(g).childNodes.length; d++) {
		if (!b) {
			if ($(g).childNodes[d].tagName) {
				c[c.length] = $(g).childNodes[d]
			}
		} else {
			if (Contains(b, $t($(g).childNodes[d]))) {
				c[c.length] = $(g).childNodes[d]
			}
		}
	}
	return c
}
function $p(c, b) {
	if (!c) {
		return null
	}
	var a = b ? b.toLowerCase().split("|") : null;
	return $t(c) == "body" ? null : (Contains(a, $t(c)) ? $(c) : $p($(c).parentNode, b))
}
function GetSrcElt(a) {
	if (!a) {
		a = window.e
	}
	if (a.srcElement) {
		return a.srcElement
	}
	if (a.target) {
		return a.target
	}
	return null
}
function isValidEmail(b) {
	var a = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	return a.test(b)
}
function checkPlatformOxylaneID(a) {
	var d = null;
	if (window.XMLHttpRequest) {
		d = new XMLHttpRequest()
	} else {
		if (window.ActiveXObject) {
			try {
				d = new ActiveXObject("Msxml2.XMLHTTP")
			} catch (b) {
				try {
					d = new ActiveXObject("Microsoft.XMLHTTP")
				} catch (c) {
					d = null
				}
			}
		} else {
			alert("Your browser does not support XMLHTTPRequest...")
		}
	}
	if (d) {
		d.open("GET", a, true);
		d.onreadystatechange = function () {
			if (d.readyState == 4 && d.responseText) {}
		};
		d.send(null)
	}
}
function showGrilleOver(a, b) {
	$("product_" + a).style.zIndex = 2;
	$("description_autres_" + a).style.display = "block"
}
function hideGrilleOver(a, b) {
	$("product_" + a).style.zIndex = 1;
	$("description_autres_" + a).style.display = "none"
}
function affiche_menu(a, b) {
	if (document.getElementById(a) != null) {
		document.getElementById(a).style.display = ""
	}
	document.getElementById(b).className = "actif"
}
function cache_menu(a, b) {
	if (document.getElementById(a) != null) {
		document.getElementById(a).style.display = "none"
	}
	document.getElementById(b).className = ""
}
function cache_fr() {
	if (document.getElementById("frame_1euro")) {
		document.getElementById("frame_1euro").style.display = "none"
	}
}
function CheckCustomerState(b, c) {
	document.getElementById("divResult4").innerHTML = "";
	document.getElementById("divResult5").style.display = "inline";
	var a = null;
	if (window.XMLHttpRequest) {
		a = new XMLHttpRequest();
		a.open("GET", b, false);
		a.send(null);
		dispatchResultCheckCustomerState(a, c)
	} else {
		if (window.ActiveXObject) {
			a = new ActiveXObject("Microsoft.XMLHTTP");
			a.open("GET", b, false);
			a.onreadystatechange = function () {
				dispatchResultCheckCustomerState(a, c)
			};
			a.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			a.send(null)
		} else {
			alert(_messageErrorAjax);
			return
		}
	}
	a.abort()
}
function dispatchResultCheckCustomerState(xhr_object, form) {
	if (xhr_object.readyState == 4) {
		var result = eval("(" + xhr_object.responseText + ")");
		document.getElementById("divResult5").style.display = "none";
		if (result.state == "success") {
			LanceConnexion(_urlSendConnect + "?USERNAME=" + result.USERNAME + "&PASSWORD=" + result.PASSWORD, form)
		} else {
			if (result.state == "blacklisted") {
				document.getElementById("divResult4").innerHTML = _messageErrorBlacklist
			} else {
				document.getElementById("divResult4").innerHTML = _messageErrorConnect
			}
		}
	}
}
function VerifyMail(b, c) {
	document.getElementById("emailValidate").innerHTML = "";
	document.getElementById("divResult5").style.display = "inline";
	var a = null;
	if (window.XMLHttpRequest) {
		a = new XMLHttpRequest();
		a.open("GET", b, false);
		a.send(null);
		return dispatchResultVerifyMail(a, c)
	} else {
		if (window.ActiveXObject) {
			a = new ActiveXObject("Microsoft.XMLHTTP");
			a.open("GET", b, false);
			a.onreadystatechange = function () {
				return dispatchResultVerifyMail(a, c)
			};
			a.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			a.send(null)
		} else {
			alert(_messageErrorAjax);
			return
		}
	}
	a.abort()
}
function dispatchResultVerifyMail(xhr_object, form) {
	if (xhr_object.readyState == 4) {
		var result = eval("(" + xhr_object.responseText + ")");
		document.getElementById("divResult5").style.display = "none";
		if (result.state == "-1") {
			form.submit()
		} else {
			if (result.state == "1" || result.state == "3") {
				document.getElementById("emailValidate").innerHTML = _messageErrorInvalidEmail
			} else {
				if (result.state == "duplicate") {
					document.getElementById("emailValidate").innerHTML = _messageErrorDuplicate
				} else {
					if (result.state == "error") {
						document.getElementById("emailValidate").innerHTML = _messageErrorDuplicate
					} else {
						document.getElementById("emailValidate").innerHTML = _messageErrorNotSameEmail
					}
				}
			}
		}
	}
}
function LanceConnexion(b, c) {
	document.getElementById("divResult4").innerHTML = "";
	document.getElementById("divResult5").style.display = "inline";
	var a = null;
	if (window.XMLHttpRequest) {
		a = new XMLHttpRequest();
		a.open("GET", b, false);
		a.send(null);
		dispatchResultConnexion(a, c)
	} else {
		if (window.ActiveXObject) {
			a = new ActiveXObject("Microsoft.XMLHTTP");
			a.open("GET", b, false);
			a.onreadystatechange = function () {
				dispatchResultConnexion(a, c)
			};
			a.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			return a.send(null)
		} else {
			alert(_messageErrorAjax);
			return
		}
	}
	a.abort()
}
function dispatchResultConnexion(a, b) {
	if (a.readyState == 4) {
		document.getElementById("divResult5").style.display = "none";
		if (a.responseText.indexOf("Not") == -1) {
			b.submit()
		} else {
			document.getElementById("divResult4").innerHTML = _messageErrorConnect
		}
	}
}
function checkMailForForgotPass(b) {
	document.getElementById("divResult4").innerHTML = "";
	if (document.getElementById("USERNAME_BUXY") != null && document.getElementById("USERNAME_BUXY").value != "") {
		document.getElementById("USERNAME").value = document.getElementById("USERNAME_BUXY").value;
		document.getElementById("divBuxyResult4").innerHTML = ""
	}
	if (document.getElementById("USERNAME") == null || document.getElementById("USERNAME").value == "") {
		document.getElementById("divResult4").innerHTML = _messageErrorInvalidMail;
		return
	}
	var a = null;
	if (window.XMLHttpRequest) {
		a = new XMLHttpRequest();
		a.open("GET", b, false);
		a.send(null);
		displayResultForgotPass(a)
	} else {
		if (window.ActiveXObject) {
			a = new ActiveXObject("Microsoft.XMLHTTP");
			a.open("GET", b, false);
			a.onreadystatechange = function () {
				displayResultForgotPass(a)
			};
			a.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			a.send(null)
		} else {
			alert(_messageErrorAjax);
			return
		}
	}
	a.abort()
}
function displayResultForgotPass(a) {
	if (a.readyState == 4) {
		if (document.getElementById("USERNAME_BUXY") != null && document.getElementById("USERNAME_BUXY").value != "") {
			document.getElementById("divBuxyResult5").style.display = "none";
			if (a.responseText.indexOf("Not") == -1) {
				document.getElementById("divBuxyResult4").innerHTML = _messagePasswordSend
			} else {
				document.getElementById("divBuxyResult4").innerHTML = _messageErrorPasswordSend
			}
			return
		}
		document.getElementById("divResult5").style.display = "none";
		if (a.responseText.indexOf("Not") == -1) {
			document.getElementById("divResult4").innerHTML = _messagePasswordSend
		} else {
			document.getElementById("divResult4").innerHTML = _messageErrorPasswordSend
		}
	}
}
function checkNewsletterMail() {
	email = document.getElementById("email").value;
	if (email == null || email == "") {
		document.getElementById("newsletterValidate").innerHTML = _messageErrorMissingEmail;
		return false
	} else {
		if (!isValidEmail(email)) {
			document.getElementById("newsletterValidate").innerHTML = _messageErrorInvalidEmail;
			return false
		}
	}
	return true
}
function notificationValidation(b, a) {
	if (b.productId != null) {
		a += (a.indexOf("?") < 0) ? "?" : "&";
		a += "productId=" + b.productId.value
	}
	if (b.productCategoryId != null) {
		a += (a.indexOf("?") < 0) ? "?" : "&";
		a += "productCategoryId=" + b.productCategoryId.value
	}
	if (b.email != null) {
		a += (a.indexOf("?") < 0) ? "?" : "&";
		a += "toString=" + b.email.value
	}
	if (b.subscribeNewsletter != null) {
		a += (a.indexOf("?") < 0) ? "?" : "&";
		a += "subscribeNewsletter=" + b.subscribeNewsletter[0].checked
	}
	if (checkNotificationMail(b, a)) {
		setTimeout("$HidePopup()", 5000)
	}
}
function checkNotificationMail(c, b) {
	email = document.getElementById("email").value;
	if (email == null || email == "") {
		document.getElementById("notificationValidate").innerHTML = _messageErrorMissingEmail;
		return false
	} else {
		if (!isValidEmail(email)) {
			document.getElementById("notificationValidate").innerHTML = _messageErrorInvalidMailIncorrect;
			return false
		}
	}
	if (c.subscribeNewsletter != null && c.subscribeNewsletter.length > 1) {
		if (!c.subscribeNewsletter[0].checked && !c.subscribeNewsletter[1].checked) {
			document.getElementById("notificationValidate").innerHTML = _messageErrorMissingNewsletter;
			return false
		}
	}
	var a = null;
	if (window.XMLHttpRequest) {
		a = new XMLHttpRequest();
		a.open("GET", b, false);
		a.send(null);
		displayResultNotificationMail(a)
	} else {
		if (window.ActiveXObject) {
			a = new ActiveXObject("Microsoft.XMLHTTP");
			a.open("GET", b, false);
			a.onreadystatechange = function () {
				displayResultNotificationMail(a)
			};
			a.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			a.send(null)
		} else {
			alert(_messageErrorAjax);
			return
		}
	}
	a.abort();
	return true
}
function displayResultNotificationMail(a) {
	if (a.readyState == 4) {
		document.getElementById("notificationValidate").innerHTML = "";
		if (a.responseText.indexOf("Not") == -1) {
			document.getElementById("notificationValidate").innerHTML = _messageNotificationProductOK;
			setTimeout("$HidePopup()", 5000)
		} else {
			document.getElementById("notificationValidate").innerHTML = _messageNotificationProductNOK
		}
	}
}
function hideCombos() {
	return
}
function showCombos() {
	return
}
function selectMdr() {
	var c = _URL_MDR_OSMOSE;
	var b = "post";
	if (document.getElementById("mdrCat")) {
		var a = document.getElementById("mdrCat").value;
		if (a == "2") {
			c = _URL_MDR_ITOOL;
			b = "get"
		}
	}
	launchSearch(c, b)
}
function launchSearch(d, f) {
	var b = document.getElementById("searchform");
	if (b) {
		b.action = d;
		b.method = f;
		var c = document.getElementById("language").value;
		var a = document.getElementById("searchedText").value;
		if (d == _URL_MDR_ITOOL) {
			var g = c.toUpperCase();
			document.getElementById("language").value = g;
			document.getElementById("text").value = a
		}
		b.submit()
	}
}
function $Load() {
	$Png()
}
var TsNameNavigateur = "FF";
var TSVersionNavigateur = 0;
var TsAfficheFiltre = false;
var TsDocRef = null;

function $Png(TsDocument) {
	TsDocument = TsDocument || null;
	if (!$("SitewebUrl")) {
		return false
	}
	var browser = navigator.appName;
	var b_version = navigator.appVersion;
	var version = parseFloat(b_version);
	if (browser == "Microsoft Internet Explorer" && version < 7) {
		if ($(TsDocument)) {
			TsDocument = document.getElementById(TsDocument)
		} else {
			TsDocument = document.getElementById("globale")
		}
		var TsTabElements = TsDocument.getElementsByTagName("img");
		for (var i = 0; i < TsTabElements.length; i++) {
			if (TsTabElements[i].src.match(/\.png/i) == null) {
				continue
			}
			with(TsTabElements[i]) {
				style.width = width + "px";
				style.height = height + "px";
				style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale')";
				src = "/skins/images/bg-blank-big.gif"
			}
		}
	}
}
function $Request() {
	var a;
	try {
		a = new ActiveXObject("Msxml2.XMLHTTP")
	} catch (b) {}
	try {
		a = new ActiveXObject("Microsoft.XMLHTTP")
	} catch (b) {}
	try {
		a = new XMLHttpRequest()
	} catch (b) {}
	return a
}
function $Document() {
	if (TsDocRef == null) {
		if (document.documentElement && document.documentElement.clientWidth) {
			TsDocRef = document.documentElement
		} else {
			TsDocRef = document.body
		}
	}
}
function $GestionFiltre() {
	if (!$("filter")) {
		return false
	}
	if (TsAfficheFiltre) {
		setTimeout("$ShowFilter()", 20);
		setTimeout("$PositionPopup()", 20)
	}
}
function $GestionWaitFiltre() {
	if (!$("waitfilter")) {
		return false
	}
	if (TsAfficheFiltre) {
		setTimeout("$ShowFilter()", 20);
		setTimeout("$PositionWaitMessage()", 20)
	}
}
function $ShowCommonFilter(a) {
	if (!TsAfficheFiltre) {
		$(a).style.visibility = "hidden";
		if (a == "filter") {
			window.addEventListener ? window.addEventListener("resize", $GestionFiltre, false) : window.attachEvent("onresize", $GestionFiltre);
			window.addEventListener ? window.addEventListener("DOMMouseScroll", $GestionFiltre, false) : window.attachEvent("DOMMouseScroll", $GestionFiltre);
			window.addEventListener ? window.addEventListener("scroll", $GestionFiltre, false) : window.attachEvent("onscroll", $GestionFiltre)
		} else {
			window.addEventListener ? window.addEventListener("resize", $GestionFiltre, false) : window.attachEvent("onresize", $GestionWaitFiltre);
			window.addEventListener ? window.addEventListener("DOMMouseScroll", $GestionFiltre, false) : window.attachEvent("DOMMouseScroll", $GestionWaitFiltre);
			window.addEventListener ? window.addEventListener("scroll", $GestionFiltre, false) : window.attachEvent("onscroll", $GestionWaitFiltre)
		}
	}
	if (TsAfficheFiltre) {
		$(a).style.display = "none"
	}
	if (!TsDocRef) {
		$Document()
	}
	TsLargeur = parseInt(TsDocRef.clientWidth) + parseInt(TsDocRef.scrollLeft);
	window.innerHeight ? TsClientHeight = window.innerHeight : TsClientHeight = TsDocRef.clientHeight;
	TsHauteur = parseInt(TsClientHeight) + parseInt(TsDocRef.scrollTop);
	if ($("globale")) {
		if ($("globale").offsetHeight > TsHauteur) {
			TsHauteur = parseInt($("globale").offsetHeight)
		}
		if ($("globale").offsetWidth > TsLargeur) {
			TsLargeur = parseInt($("globale").offsetWidth)
		}
	}
	$(a).style.width = TsLargeur + "px";
	$(a).style.height = TsHauteur + "px";
	if (!TsAfficheFiltre) {
		if (TsNameNavigateur == "IE" && TSVersionNavigateur < 7) {
			$GestionSelect("hidden")
		}
		$(a).style.visibility = "visible";
		TsAfficheFiltre = true
	}
	$(a).style.display = "block"
}
function $ShowFilter() {
	if (!$("filter")) {
		$CreateFilter();
		return false
	}
	$ShowCommonFilter("filter")
}
function $ShowWaitFilter() {
	if (!$("waitfilter")) {
		$CreateWaitFilter();
		return false
	}
	$ShowCommonFilter("waitfilter")
}
function $HideFilter() {
	if ($("filter")) {
		$("filter").style.display = "none"
	}
	if (TsNameNavigateur == "IE" && TSVersionNavigateur < 7) {
		$GestionSelect("visible")
	}
	TsAfficheFiltre = false
}
function $CreateFilter() {
	var b = document.getElementsByTagName("body");
	if (!b[0]) {
		return false
	}
	var d = document.createElement("div");
	var a = "position:absolute;top:0;left:0;width:0px;height:0px;z-index:999998;display:none;overflow:hidden;background:" + window.TsBackgroundColor;
	var c = "$HidePopup();return false;";
	d.setAttribute("id", "filter");
	d.setAttribute("style", a);
	d.style.cssText = a;
	b[0].appendChild(d);
	if ($("filter")) {
		$ChangeOpacity(70, "filter");
		$ShowFilter()
	}
}
function $CreateWaitFilter() {
	var b = document.getElementsByTagName("body");
	if (!b[0]) {
		return false
	}
	var d = document.createElement("div");
	var a = "position:absolute;top:0;left:0;width:0px;height:0px;z-index:999998;display:none;overflow:hidden;background:" + window.TsBackgroundColor;
	var c = "$HidePopup();return false;";
	d.setAttribute("id", "waitfilter");
	d.setAttribute("style", a);
	d.style.cssText = a;
	b[0].appendChild(d);
	if ($("waitfilter")) {
		$ChangeOpacity(90, "waitfilter");
		$ShowWaitFilter()
	}
}
function $OpenFilePopup(b, c) {
	var a = $Request();
	a.open("GET", b, true);
	a.onreadystatechange = function () {
		if (a.readyState == 4) {
			if (a.status == 200) {
				$ReadFilePopup(a, c);
				$ShowPopup1(0);
				$EvalScript()
			} else {
				$("popup").innerHTML = "Erreur de lecture du fichier " + b;
				setTimeout("$HidePopup()", 5000)
			}
		}
	};
	a.send(null)
}
function $ReadFilePopup(a, b) {
	if (!a) {
		return null
	}
	switch (b) {
	case "XML":
		var c = a.responseXML;
		break;
	case "HTML":
		$("popup").innerHTML = $GetContentPopup(a.responseText);
		break
	}
}
function $GetContentPopup(b) {
	var a = b.indexOf("<!-- Start popup --");
	a = b.indexOf(">", a);
	var c = b.lastIndexOf("<!-- End popup -->");
	return b.slice(a + 1, c)
}
function $ShowPopup(f, g, c) {
	if (!$("SitewebUrl")) {
		return false
	}
	g = g || "#fff";
	window.TsBackgroundColor = g;
	if (!$("popup")) {
		$CreatePopup(f, c);
		return false
	}
	var b = navigator.appName;
	var d = navigator.appVersion;
	var a = parseFloat(d);
	if (b == "Microsoft Internet Explorer" && a < 7) {
		$GestionSelect("hidden")
	}
	$OpenFilePopup(f + "?nocache=" + Math.random(), "HTML")
}
function $ShowPopup1(c) {
	$ShowFilter();
	if (window.$ !== undefined) {
		$("#popup").fadeIn(500, function () {
			return false
		})
	} else {
		$("popup").style.display = "block"
	}
	$Png("popup");
	var b = $("popup").childNodes;
	for (var a = 0; a < b.length; a++) {
		if (b[a].tagName) {
			$("popup").style.offsetWidth = parseInt(b[a].offsetWidth) + "px";
			$("popup").style.offsetHeight = parseInt(b[a].offsetHeight) + "px"
		}
		if (b[a].id && b[a].id == "popup_alerte") {
			$LoadPopupAlerte()
		}
	}
	if (document.getElementById("url_redirection") && document.getElementById("GoUrl")) {
		document.getElementById("GoUrl").value = document.getElementById("url_redirection").value
	}
	$PositionPopup()
}
function $EvalScript() {
	var lesExecutes = document.getElementsByName("popupexecute");
	var j = 0;
	for (j = 0; j < lesExecutes.length; j++) {
		var lesScripts = lesExecutes[j].getElementsByTagName("script");
		var i = 0;
		for (i = 0; i < lesScripts.length; i++) {
			if (!(lesScripts[i].innerHTML.indexOf("swfobject") > -1)) {
				eval(lesScripts[i].innerHTML)
			}
		}
	}
}
function $OpenFileResult(b, c) {
	$ShowPopup("/img/sporthome/Template/popups/loader.html", "#fff");
	var a = $Request();
	a.open("GET", b, true);
	a.onreadystatechange = function () {
		if (a.readyState == 4) {
			if (a.status == 200) {
				$ReadFileResult(a, c);
				$HidePopup();
				$ShowResult1()
			} else {
				$("popup").innerHTML = '<div style="position:relative;width:400px;height;200px;color:#f00;padding:10px;background:#fff;">Erreur de lecture du fichier ' + b + "</div>";
				setTimeout("$HidePopup()", 5000);
				return false
			}
		}
	};
	a.send(null)
}
function $ReadFileResult(a, b) {
	if (!a) {
		return null
	}
	switch (b) {
	case "XML":
		window.TsResponse50 = a.responseXML;
		break;
	case "HTML":
		window.TsResponse00 = $GetContentResult(a.responseText, '<div id="liste_produit_content" class="block_float">', '<div style="display:none;">Fin liste_produit</div>');
		window.TsResponse01 = $GetContentResult(a.responseText, '<div id="values_xml_content">', '<div style="display:none;">Fin values_xml_content</div>');
		window.TsResponse02 = $GetContentResult(a.responseText, '<div id="filters_xml_content">', '<div style="display:none;">Fin filters_xml_content</div>');
		break
	}
}
function $GetContentResult(c, f, b) {
	var a = c.indexOf(f);
	var d = c.lastIndexOf(b);
	return c.slice(a, d)
}
function $ShowResultTempo() {
	setTimeout("$ShowResult()", 50)
}
function $ShowResult() {
	var a = $InitParamsResult();
	if (a == "false") {
		return false
	}
	$OpenFileResult("/rayonbis.aspx?id_secteur=" + window.TsIdSecteur + "&id_famille=" + window.TsIdFamille + a + "&nocache=" + Math.random(), "HTML");
	return false
}
function $ShowResult1() {
	if (!$("liste_produit")) {
		return false
	}
	$("liste_produit").innerHTML = window.TsResponse00;
	if ($("values_xml")) {
		$("values_xml").innerHTML = window.TsResponse01
	}
	if ($("filters_xml")) {
		$("filters_xml").innerHTML = window.TsResponse02
	}
	return false
}
function $InitParamsResult() {
	var a = "";
	var b = "";
	if ($("TsNumPageActive").value == null || $("TsNumPageActive").value == "" || isNaN($("TsNumPageActive").value)) {
		$("TsNumPageActive").value = 1
	}
	a = $("TsNumPageActive").value + "-" + $("TsChoixtri").value + "-" + $("TsOrdretri").value;
	b += "&Parametre=" + a;
	if ($("filter_profils")) {
		a = $CheckFilter("filter_profils");
		b += "&Profils=" + a
	}
	if ($("filter_niveaux")) {
		a = $CheckFilter0("filter_niveaux");
		b += "&Niveaux=" + a
	}
	if ($("TsMemoBudgetSmin") && $("TsMemoBudgetSmax")) {
		b += "&PrixMinS=" + $("TsMemoBudgetSmin").value;
		b += "&PrixMaxS=" + $("TsMemoBudgetSmax").value
	}
	if ($("TsMemoPoidsSmin") && $("TsMemoPoidsSmax")) {
		b += "&PoidsMinS=" + $("TsMemoPoidsSmin").value;
		b += "&PoidsMaxS=" + $("TsMemoPoidsSmax").value
	}
	if ($("filter_marques")) {
		a = $CheckFilter("filter_marques");
		b += "&Marques=" + a
	}
	if ($("filter_types")) {
		a = $CheckFilter("filter_types");
		b += "&Types=" + a
	}
	if ($("filter_taille")) {
		a = $CheckFilter("filter_taille");
		b += "&Declinaisons=" + a
	}
	if ($("filter_dispos")) {
		a = $CheckFilter("filter_dispos");
		b += "&Dispos=" + a
	}
	if ($("filter_couleurs")) {
		a = $CheckFilter1("filter_couleurs");
		b += "&Familles=" + a
	}
	return b
}
function $CheckFilter(f) {
	if (!$(f)) {
		return null
	}
	var d = "";
	var c = $(f).getElementsByTagName("p");
	for (var b = 0; b < c.length; b++) {
		var a = c[b].className;
		if (a.indexOf("checkbox_on") != -1) {
			if (d == "") {
				d = c[b].getAttribute("paramnum")
			} else {
				d = d + "_" + c[b].getAttribute("paramnum")
			}
		}
	}
	return d
}
function $CheckFilter0(f) {
	if (!$(f)) {
		return null
	}
	var d = "";
	var c = $(f).getElementsByTagName("a");
	for (var b = 0; b < c.length; b++) {
		var a = c[b].className;
		if (a.toLowerCase().indexOf("niveau_") != -1) {
			if (a.toLowerCase().indexOf("_actif") != -1) {
				if (d == "") {
					d = c[b].getAttribute("paramnum")
				} else {
					d = d + "_" + c[b].getAttribute("paramnum")
				}
			}
		}
	}
	return d
}
function $CheckFilter1(f) {
	if (!$(f)) {
		return null
	}
	var d = "";
	var c = $(f).getElementsByTagName("div");
	for (var b = 0; b < c.length; b++) {
		var a = c[b].className;
		if (a.toLowerCase().indexOf("block_couleur_actif") != -1) {
			if (d == "") {
				d = c[b].getAttribute("paramnum")
			} else {
				d = d + "_" + c[b].getAttribute("paramnum")
			}
		}
	}
	return d
}
function $_CheckFilter(d, c) {
	c = c || window.event;
	if (!$(d)) {
		$ClearPropagation(c);
		return false
	}
	switch (d) {
	case "filter_profils":
	case "filter_marques":
	case "filter_types":
	case "filter_taille":
		var b = $(d).getElementsByTagName("p");
		for (var a = 0; a < b.length; a++) {
			if (b[a].className.indexOf("checkbox_on") != -1) {
				b[a].className = "checkbox_off"
			}
		}
		break;
	case "filter_dispos":
		var b = $(d).getElementsByTagName("p");
		for (var a = 0; a < b.length; a++) {
			if (b[a].className.indexOf("checkbox_off") != -1) {
				b[a].className = "checkbox_on"
			}
		}
		break;
	case "filter_niveaux":
		var b = $(d).getElementsByTagName("a");
		for (var a = 0; a < b.length; a++) {
			if (b[a].className.toLowerCase().indexOf("niveau_") != -1 && b[a].className.toLowerCase().indexOf("_actif") != -1) {
				b[a].className = b[a].className.substring(0, b[a].className.toLowerCase().indexOf("_actif"))
			}
		}
		break;
	case "filter_couleurs":
		var b = $(d).getElementsByTagName("div");
		for (var a = 0; a < b.length; a++) {
			if (b[a].className.toLowerCase().indexOf("block_couleur_actif") != -1) {
				b[a].className = "block_couleur"
			}
		}
		break
	}
	$ClearPropagation(c)
}
function $HidePopup() {
	if (window.$ !== undefined) {
		$("#popup").fadeOut(500, function () {
			$("#popup").html("");
			$HideFilter();
			return false
		})
	} else {
		$("popup").style.display = "none";
		$("popup").innerHTML = ""
	}
	var b = navigator.appName;
	var c = navigator.appVersion;
	var a = parseFloat(c);
	if (b == "Microsoft Internet Explorer" && a < 7) {
		$GestionSelect("visible")
	}
	if (window.$ === undefined) {
		$HideFilter()
	}
}
function $PositionPopup() {
	$Document();
	var c = 0;
	var a = 0;
	window.pageXOffset ? a = window.pageXOffset : a = TsDocRef.scrollLeft;
	window.pageYOffset ? c = window.pageYOffset : c = TsDocRef.scrollTop;
	window.innerHeight ? TsClientHeight = window.innerHeight : TsClientHeight = TsDocRef.clientHeight;
	var d = (parseInt(TsClientHeight) - parseInt($("popup").offsetHeight)) / 2;
	$("popup").style.top = c + parseInt(d) + "px";
	$("popup").style.left = "0px";
	var b = (parseInt(TsDocRef.clientWidth) - parseInt($("popup").clientWidth)) / 2;
	$("popup").style.left = b + "px"
}
function $PositionWaitMessage() {
	$Document();
	var c = 0;
	var a = 0;
	window.pageXOffset ? a = window.pageXOffset : a = TsDocRef.scrollLeft;
	window.pageYOffset ? c = window.pageYOffset : c = TsDocRef.scrollTop;
	window.innerHeight ? TsClientHeight = window.innerHeight : TsClientHeight = TsDocRef.clientHeight;
	var d = (parseInt(TsClientHeight) - parseInt($("popup").offsetHeight)) / 2;
	$("wait-message").style.top = c + parseInt(d) + "px";
	$("wait-message").style.left = "0px";
	var b = (parseInt(TsDocRef.clientWidth) - parseInt($("popup").clientWidth)) / 2;
	$("wait-message").style.left = b + "px"
}
function $CreatePopup(f, c) {
	var d = document.getElementsByTagName("body");
	if (!d[0]) {
		return false
	}
	var a = document.createElement("div");
	var b = "position:absolute;top:0;left:0;z-index:999999;background:none;color:#fff;text-align:left;display:none;";
	if (c) {
		b += "width:" + c + "px"
	}
	a.setAttribute("id", "popup");
	a.setAttribute("style", b);
	a.style.cssText = b;
	d[0].appendChild(a);
	if ($("popup")) {
		$ShowPopup(f, window.TsBackgroundColor)
	}
}
function $ChangeOpacity(TsOpacity, TsId) {
	if (!$(TsId)) {
		return false
	}
	with($(TsId).style) {
		opacity = (TsOpacity / 100);
		Mozopacity = (TsOpacity / 100);
		Khtmlopacity = (TsOpacity / 100);
		filter = "alpha(opacity=" + TsOpacity + ")"
	}
}
function $GestionSelect(c) {
	var b = document.getElementsByTagName("select");
	for (var a = 0; a < b.length; a++) {
		b[a].style.visibility = c
	}
}
function Contains(c, a) {
	for (var b = 0; b < c.length; b++) {
		if (c[b] == a) {
			return true
		}
	}
	return false
}
function $(a) {
	return (typeof a == "string") ? a = document.getElementById(a) : a
}
function $t(a) {
	return $(a).tagName ? $(a).tagName.toLowerCase() : ""
}
function $c(g, f) {
	var b = f ? f.toLowerCase().split("|") : null;
	var c = new Array;
	if (!$(g).childNodes) {
		return null
	}
	for (var d = 0; d < $(g).childNodes.length; d++) {
		if (!b) {
			if ($(g).childNodes[d].tagName) {
				c[c.length] = $(g).childNodes[d]
			}
		} else {
			if (Contains(b, $t($(g).childNodes[d]))) {
				c[c.length] = $(g).childNodes[d]
			}
		}
	}
	return c
}
function $p(c, b) {
	if (!c) {
		return null
	}
	var a = b ? b.toLowerCase().split("|") : null;
	return $t(c) == "body" ? null : (Contains(a, $t(c)) ? $(c) : $p($(c).parentNode, b))
}
function GetSrcElt(a) {
	if (!a) {
		a = window.e
	}
	if (a.srcElement) {
		return a.srcElement
	}
	if (a.target) {
		return a.target
	}
	return null
}
function showWaitMessage() {}
var _controlPath = null;
var _localeString = null;
var _xhr = null;
var _inputField = null;
var _autocompleteDiv = null;
var _oldInputFieldValue = "";
var _currentInputFieldValue = "";
var _resultCache = new Object();
var _eventKeycode = null;
var _currentSelectedIndex = -1;
var _cptKeyDown = -1;

function getAutoCompletions(searchString) {
	var params = "?text=" + searchString + "&localeString=" + _localeString;
	var pUrl = _controlPath + "getAutoCompletions";
	var url = pUrl + params;
	if (_xhr && _xhr.readyState != 0) {
		_xhr.abort()
	}
	_xhr = getXMLHTTP();
	if (_xhr) {
		_xhr.open("GET", url, true);
		_xhr.onreadystatechange = function () {
			if (_xhr.readyState == 4 && _xhr.responseText) {
				var obj = eval("(" + _xhr.responseText + ")");
				var autoCompletions = obj.autoCompletions;
				cacheResults(searchString, autoCompletions);
				treatResponse(autoCompletions)
			}
		};
		_xhr.send(null)
	}
}
function initAutoComplete(a, c, b) {
	_controlPath = a;
	_inputField = c;
	_localeString = b;
	setTimeout("mainLoop()", 200)
}
function mainLoop() {
	if (_currentInputFieldValue == "" && _autocompleteDiv) {
		hideAutocompleteDiv()
	} else {
		if (_oldInputFieldValue != _currentInputFieldValue) {
			var b = escapeURI(_currentInputFieldValue);
			var a = _resultCache[_currentInputFieldValue];
			if (a) {
				treatResponse(a)
			} else {
				getAutoCompletions(b)
			}
		}
	}
	_oldInputFieldValue = _currentInputFieldValue;
	setTimeout("mainLoop()", 200);
	return true
}
function treatResponse(d) {
	if (!_autocompleteDiv) {
		_autocompleteDiv = document.getElementById("autocompleteDiv")
	}
	while (_autocompleteDiv.childNodes.length > 0) {
		_autocompleteDiv.removeChild(_autocompleteDiv.childNodes[0])
	}
	if (d && d.length > 0) {
		showAutocompleteDiv();
		for (var f = 0; f < d.length; f++) {
			var c = d[f];
			var a = c.text;
			var b = location.protocol + "//" + location.host + "/" + c.autoCompleteUrl;
			var h = document.createElement("P");
			h.innerHTML = a;
			var g = document.createElement("A");
			g.setAttribute("href", b);
			h.appendChild(g);
			h.onmouseover = suggestOnMouseOver;
			h.onmouseout = suggestOnMouseOut;
			h.onmousedown = suggestOnMouseDown;
			_autocompleteDiv.appendChild(h)
		}
	} else {
		hideAutocompleteDiv()
	}
	_currentSelectedIndex = -1
}
function onKeyDownHandler(a, b) {
	if (!a && window.event) {
		a = window.event
	}
	_eventKeycode = a.keyCode;
	if (_eventKeycode == 40 || _eventKeycode == 38) {
		if (_eventKeycode == 40) {
			scrollDown()
		} else {
			if (_eventKeycode == 38) {
				scrollUp()
			}
		}
	}
}
function scroll(a) {
	if (_cptKeyDown == -1 || _cptKeyDown % 3 == 2) {
		selectSuggestRow(a);
		_cptKeyDown = 0;
		return
	}
	_cptKeyDown++
}
function scrollDown() {
	scroll(_currentSelectedIndex + 1)
}
function scrollUp() {
	scroll(_currentSelectedIndex - 1)
}
function selectSuggestRow(b) {
	if (!_autocompleteDiv) {
		return
	}
	var a = _autocompleteDiv.getElementsByTagName("p");
	if (_currentSelectedIndex >= 0) {
		var c = a[_currentSelectedIndex];
		if (c) {
			c.className = null
		}
	}
	if (b >= a.length) {
		b = -1
	}
	if (b == -1) {
		_inputField.value = _oldInputFieldValue
	}
	if (b == -2) {
		b = a.length - 1
	}
	if (b >= 0) {
		var d = a[b];
		d.className = "selected";
		_inputField.value = d.firstChild.data
	}
	if (b >= -1) {
		_currentSelectedIndex = b
	}
}
function onKeyUpHandler(a, b) {
	if (!a && window.event) {
		a = window.event
	}
	_eventKeycode = a.keyCode;
	_cptKeyDown = -1;
	if (_eventKeycode != 40 && _eventKeycode != 38) {
		_currentInputFieldValue = b.value
	}
}
function onBlurHandler(a, b) {
	onBlurWithoutAutoCompleteHandler(a, b);
	hideAutocompleteDiv()
}
function onBlurWithoutAutoCompleteHandler(a, b) {
	if (b && b.value == "") {
		b.value = _FIND_DEFAULT_PHRASE
	}
}
function suggestOnMouseOver() {
	this.className = "selected";
	if (_currentSelectedIndex >= 0) {
		var a = _autocompleteDiv.getElementsByTagName("p");
		var b = a[_currentSelectedIndex];
		if (b) {
			b.className = null
		}
		_currentSelectedIndex = -1
	}
}
function suggestOnMouseOut() {
	this.className = null
}
function suggestOnMouseDown() {
	var b = this.getElementsByTagName("a")[0];
	var a = b.getAttribute("href");
	document.location.href = a
}
function showAutocompleteDiv() {
	_autocompleteDiv.style.visibility = "visible"
}
function hideAutocompleteDiv() {
	if (_autocompleteDiv) {
		_autocompleteDiv.style.visibility = "hidden"
	}
}
function getXMLHTTP() {
	var c = null;
	if (window.XMLHttpRequest) {
		c = new XMLHttpRequest()
	} else {
		if (window.ActiveXObject) {
			try {
				c = new ActiveXObject("Msxml2.XMLHTTP")
			} catch (a) {
				try {
					c = new ActiveXObject("Microsoft.XMLHTTP")
				} catch (b) {
					c = null
				}
			}
		} else {
			alert("Your browser does not support XMLHTTPRequest...")
		}
	}
	return c
}
function cacheResults(b, a) {
	_resultCache[b] = a
}
function escapeURI(a) {
	if (encodeURIComponent) {
		return encodeURIComponent(a)
	}
	if (escape) {
		return escape(a)
	}
}
function submitSearchForm() {
	if (_currentSelectedIndex != -1) {
		var b = _autocompleteDiv.getElementsByTagName("p");
		var c = b[_currentSelectedIndex];
		var d = c.getElementsByTagName("a")[0];
		var a = d.getAttribute("href");
		document.location.href = a
	} else {
		selectMdr()
	}
}
function onFocusHandler(a, b) {
	if (b.value == _FIND_DEFAULT_PHRASE) {
		b.value = ""
	}
}
function performFindSubjectFromTheme(g, d, c, b, f) {
	if (b) {
		showWaitMessage()
	}
	var h = f + "?parentTypeId=" + d;
	if (d == "") {
		h = f + "?parentTypeId=" + g;
		h = h.replace("performJsonFindSubject", "performJsonAllSubject")
	}
	var a = null;
	if (window.XMLHttpRequest) {
		a = new XMLHttpRequest();
		a.open("GET", h, false);
		a.send(null);
		updateListBox(b, c, a)
	} else {
		if (window.ActiveXObject) {
			a = new ActiveXObject("Microsoft.XMLHTTP");
			a.open("GET", h, false);
			a.onreadystatechange = function () {
				if (a.readyState == 4) {
					updateListBox(b, c, a)
				}
			};
			a.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			a.send(null)
		} else {
			alert("XMLHttpRequest non support� par le navigateur");
			return
		}
	}
	a.abort()
}
function updateListBox(showWaiting, emptyTitle, xhr_object) {
	var obj = eval("(" + xhr_object.responseText + ")");
	var listBox = document.getElementById("subjects");
	clearListBox(listBox);
	listBox.options[listBox.options.length] = new Option(emptyTitle, "");
	for (x in obj.eventPrpTyps) {
		if (obj.eventPrpTyps[x].communicationEventPrpTypId) {
			listBox.options[listBox.options.length] = new Option(obj.eventPrpTyps[x].description, obj.eventPrpTyps[x].communicationEventPrpTypId)
		}
	}
	if (showWaiting) {
		hideWaitMessage()
	}
}
function clearListBox(b) {
	var a = b.getElementsByTagName("option");
	while (a.length != 0) {
		b.removeChild(a[0])
	}
}
//$.noConflict();
var widthPage = 980;
var positionLeftCatalogsTop = null;
if ($("#catalogs-top").length > 0) {
	var positionLeftCatalogsTop = (widthPage + $("#catalogs-top").position().left)
}
var _mouseX = null;
var _mouseY = null;
$(window).ready(function () {
	$().mousemove(function (b) {
		_mouseX = b.pageX;
		_mouseY = b.pageY
	});
	$("div.product-tooltip-info").appendTo("#maincontainer");
	if (document.searchform) {
		initAutoComplete(controlPath, document.searchform.searchedText, localeString)
	}
	if ($("#catalogs-top").length > 0) {
		$("div.catalogs-top-element").click(function (b) {
			if (b.currentTarget.className == "catalogs-top-element") {
				displayCatalogTop(this, true)
			} else {
				displayCatalogTop(this, false)
			}
		});
		$("div.catalogs-top-element").hover(function () {
			displayCatalogTop(this, true)
		}, function () {
			displayCatalogTop(this, false)
		})
	}
	var a = false;
	$("#header-panier").hover(function () {
		if (!a) {
			a = true;
			$("#panier_content").animate({
				height: "toggle",
				opacity: "toggle"
			}, 700, function () {
				a = false
			})
		}
	}, function () {
		$("#panier_content").slideUp(700, function () {
			return false
		})
	});
	$("div.alphabetical-categories > a").hover(function () {
		$(this).addClass("category-hover")
	}, function () {
		$(this).removeClass("category-hover")
	});
	$("div.pagination-link").hover(function () {
		$(this).addClass("pagination-link-hover")
	}, function () {
		$(this).removeClass("pagination-link-hover")
	})
});

function displayCatalogTop(d, c) {
	if (c) {
		$(d).addClass("catalogs-top-element-hover");
		if ($(d).attr("menusize") == null) {
			var b = $("div.catalog-content-column", d).size();
			if (b > 6) {
				b = 6
			}
			widthCatalogContent = (128 * b);
			heightCatalogContent = $("div.catalog-content", d).height();
			var a = $("div.catalog-content-center > div.catalog-content-column:first > div.list-container > div.alphabetical-categories > a", d).size();
			if (a > 0) {
				heightCatalogContent = 20 * a;
				if (heightCatalogContent < 130) {
					if ($("div.catalog-content-column", d).size() <= 5) {
						heightCatalogContent = 130;
						$("div.catalog-content-column", d).css("min-height", heightCatalogContent + "px")
					} else {
						heightCatalogContent = 364
					}
				}
			} else {
				if ($("div.catalog-content-column", d).size() <= 6) {
					heightCatalogContent = 182
				}
			}
			if (($(d).position().left + widthCatalogContent) > positionLeftCatalogsTop) {
				$("div.catalog-content", d).css("left", (positionLeftCatalogsTop - widthCatalogContent - 22) + "px")
			} else {
				$("div.catalog-content", d).css("left", $(d).position().left + "px")
			}
			$("div.catalog-content-center", d).width(widthCatalogContent + 2);
			$("div.catalog-content-middle", d).height(heightCatalogContent);
			$(d).attr("menusize", "1")
		}
		$("div.catalog-content", d).fadeIn(200, function () {
			return false
		})
	} else {
		$(d).removeClass("catalogs-top-element-hover");
		$("div.catalog-content", d).fadeOut(0, function () {
			return false
		})
	}
}
var _tooltipHover = false;
var _tooltipDisplay = false;
var _productHover = false;

function DefineHoverOnProduct(d, c, a) {
	var b = $("#maincontainer").position().left;
	$(d).hover(function () {
		_tooltipDisplay = true;
		var h = this;
		var f = "#tooltipproduct_" + $(this).attr("productid");
		var g = $(this);
		$(this).addClass("mini-product-hover");
		if (a) {
			$("div.product-more-info", this).hover(function () {
				displayProductInformation(f, g, $("div.product-more-info", this))
			}, function () {
				$(f).hide()
			})
		}
		if (c) {
			$("div.product-more-info", this).css("left", ($(this).position().left + ($(this).width() - $("div.product-more-info", this).width()) + 2) + "px");
			$("div.product-more-info", this).css("top", ($(this).position().top + ($(this).height() / 2) - ($("div.product-more-info", this).height() / 2)) + "px")
		}
		$("div.product-more-info", this).show()
	}, function () {
		if (a) {
			$("div.product-more-info", this).hide();
			_tooltipProductId = "#tooltipproduct_" + $(this).attr("productid");
			$(_tooltipProductId).hide()
		} else {
			$("div.product-more-info", this).hide()
		}
		$(this).removeClass("mini-product-hover")
	})
}
function displayProductInformation(g, c, b) {
	if (!$(g).is(":visible")) {
		g = $(g);
		var a = 20;
		_tooltipProductId = g;
		var d = $(c);
		calcultop = ((_mouseY - $(document).scrollTop()) + _tooltipProductId.height());
		if ((calcultop + a) > $(window).height()) {
			if ((_mouseY - $(document).scrollTop() - a) > _tooltipProductId.height()) {
				_tooltipProductId.css("top", (_mouseY - _tooltipProductId.height() + a) + "px")
			} else {
				_tooltipProductId.css("top", ((_mouseY - (calcultop - $(window).height()) - (_mouseY - $(document).scrollTop()) / 2) + a) + "px")
			}
		} else {
			_tooltipProductId.css("top", ((_mouseY) + a) + "px")
		}
		var f = d.position().left + d.width() + a;
		if (f + _tooltipProductId.width() > $("#main-content-container").position().left + $("#main-content-container").width()) {
			f = d.position().left - _tooltipProductId.width() - a
		}
		$(_tooltipProductId).css("left", f + "px");
		g.show()
	}
}
function showWaitMessage() {
	$ShowWaitFilter();
	$("#wait-message").css("top", ($(window).height() - $("#wait-message").height()) / 2 + $(window).scrollTop() + "px");
	$("#wait-message").css("left", ($(window).width() - $("#wait-message").width()) / 2 + $(window).scrollLeft() + "px");
	$("#wait-message").show()
}
//$.noConflict();
$(window).load(function () {
	$("#catalogs-left-elements > ul > li").click(function (a) {
		if (a.currentTarget.className.indexOf("catalog-hover") == -1) {
			displayCatalogLeft(this, true)
		} else {
			displayCatalogLeft(this, false)
		}
	});
	$("#catalogs-left-elements > ul > li").hover(function () {
		displayCatalogLeft(this, true)
	}, function () {
		displayCatalogLeft(this, false)
	});
	DefineHoverOnProduct("div.gondolas-products > ul > li", true, false)
});

function displayCatalogLeft(d, c) {
	if (c) {
		$(d).addClass("catalog-hover");
		if ($(d).attr("menusize") == null) {
			widthCatalogContent = $("div.catalog-content", d).width();
			heightCatalogContent = $("div.catalog-content", d).height();
			var b = $("div.catalog-content-column", d).size();
			if (b > 6) {
				b = 6
			}
			widthCatalogContent = (128 * b);
			var a = $("div.catalog-content-center > div.catalog-content-column:first > div.list-container > div.alphabetical-categories > a", d).size();
			if (a > 0) {
				heightCatalogContent = 20 * a;
				if (heightCatalogContent < 130) {
					if ($("div.catalog-content-column", d).size() <= 5) {
						heightCatalogContent = 130;
						$("div.catalog-content-column", d).css("min-height", heightCatalogContent + "px")
					} else {
						heightCatalogContent = 364
					}
				}
			} else {
				if ($("div.catalog-content-column", d).size() <= 6) {
					heightCatalogContent = 182
				}
			}
			$("div.catalog-content-center", d).width(widthCatalogContent + 2);
			$("div.catalog-content-middle", d).height(heightCatalogContent);
			$(d).attr("menusize", "1")
		}
		$("div.catalog-content", d).fadeIn(200, function () {
			return false
		})
	} else {
		$(d).removeClass("catalog-hover");
		$("div.catalog-content", d).fadeOut(0, function () {
			return false
		})
	}
}
//$.noConflict();
$(window).ready(function () {
	DefineHoverOnProduct("div.product", false, true);
	var a = 66;
	var b = 500;
	$("#guide-plus").click(function () {
		$(this).fadeOut(300, function () {
			var d = $("div.dyn-guide-text > div.content");
			d.css("height", "auto");
			var c = d.height();
			d.css("height", a + "px");
			d.animate({
				height: c
			}, b);
			$("#guide-moins").fadeIn(300)
		})
	});
	$("#guide-moins").click(function () {
		$(this).fadeOut(300, function () {
			$("div.dyn-guide-text > div.content").animate({
				height: a
			}, b);
			$("#guide-plus").fadeIn(300)
		})
	})
});

function alert(b, a) {
	$("#alert_message").html(b);
	$("#alert > div > div.close-popup").removeAttr("onclick");
	$("#alert > div > div.close-popup").click(function () {
		$("#alert").fadeOut(1000)
	});
	$("#alert").fadeIn(2000, function () {
		setTimeout(function () {
			$("#alert").fadeOut(1000)
		}, 5000)
	});
	return
}
function alerterror(b, a) {
	$("#error_message").html(b);
	$("#alerterror > div > div.close-popup").removeAttr("onclick");
	$("#alerterror > div > div.close-popup").click(function () {
		$("#alerterror").fadeOut(1000)
	});
	$("#alerterror").fadeIn(2000, function () {
		setTimeout(function () {
			$("#alerterror").fadeOut(1000)
		}, 5000)
	});
	return
};
