/*
 * jQuery UI 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI
 */
jQuery.ui || (function (c) {
	var i = c.fn.remove,
	d = c.browser.mozilla && (parseFloat(c.browser.version) < 1.9);
	c.ui = {
		version: "1.7.2",
		plugin: {
			add: function (k, l, n) {
				var m = c.ui[k].prototype;
				for (var j in n) {
					m.plugins[j] = m.plugins[j] || [];
					m.plugins[j].push([l, n[j]])
				}
			},
			call: function (j, l, k) {
				var n = j.plugins[l];
				if (!n || !j.element[0].parentNode) {
					return
				}
				for (var m = 0; m < n.length; m++) {
					if (j.options[n[m][0]]) {
						n[m][1].apply(j.element, k)
					}
				}
			}
		},
		contains: function (k, j) {
			return document.compareDocumentPosition ? k.compareDocumentPosition(j) & 16 : k !== j && k.contains(j)
		},
		hasScroll: function (m, k) {
			if (c(m).css("overflow") == "hidden") {
				return false
			}
			var j = (k && k == "left") ? "scrollLeft": "scrollTop",
			l = false;
			if (m[j] > 0) {
				return true
			}
			m[j] = 1;
			l = (m[j] > 0);
			m[j] = 0;
			return l
		},
		isOverAxis: function (k, j, l) {
			return (k > j) && (k < (j + l))
		},
		isOver: function (o, k, n, m, j, l) {
			return c.ui.isOverAxis(o, n, j) && c.ui.isOverAxis(k, m, l)
		},
		keyCode: {
			BACKSPACE: 8,
			CAPS_LOCK: 20,
			COMMA: 188,
			CONTROL: 17,
			DELETE: 46,
			DOWN: 40,
			END: 35,
			ENTER: 13,
			ESCAPE: 27,
			HOME: 36,
			INSERT: 45,
			LEFT: 37,
			NUMPAD_ADD: 107,
			NUMPAD_DECIMAL: 110,
			NUMPAD_DIVIDE: 111,
			NUMPAD_ENTER: 108,
			NUMPAD_MULTIPLY: 106,
			NUMPAD_SUBTRACT: 109,
			PAGE_DOWN: 34,
			PAGE_UP: 33,
			PERIOD: 190,
			RIGHT: 39,
			SHIFT: 16,
			SPACE: 32,
			TAB: 9,
			UP: 38
		}
	};
	if (d) {
		var f = c.attr,
		e = c.fn.removeAttr,
		h = "http://www.w3.org/2005/07/aaa",
		a = /^aria-/,
		b = /^wairole:/;
		c.attr = function (k, j, l) {
			var m = l !== undefined;
			return (j == "role" ? (m ? f.call(this, k, j, "wairole:" + l) : (f.apply(this, arguments) || "").replace(b, "")) : (a.test(j) ? (m ? k.setAttributeNS(h, j.replace(a, "aaa:"), l) : f.call(this, k, j.replace(a, "aaa:"))) : f.apply(this, arguments)))
		};
		c.fn.removeAttr = function (j) {
			return (a.test(j) ? this.each(function () {
				this.removeAttributeNS(h, j.replace(a, ""))
			}) : e.call(this, j))
		}
	}
	c.fn.extend({
		remove: function () {
			c("*", this).add(this).each(function () {
				c(this).triggerHandler("remove")
			});
			return i.apply(this, arguments)
		},
		enableSelection: function () {
			return this.attr("unselectable", "off").css("MozUserSelect", "").unbind("selectstart.ui")
		},
		disableSelection: function () {
			return this.attr("unselectable", "on").css("MozUserSelect", "none").bind("selectstart.ui", function () {
				return false
			})
		},
		scrollParent: function () {
			var j;
			if ((c.browser.msie && (/(static|relative)/).test(this.css("position"))) || (/absolute/).test(this.css("position"))) {
				j = this.parents().filter(function () {
					return (/(relative|absolute|fixed)/).test(c.curCSS(this, "position", 1)) && (/(auto|scroll)/).test(c.curCSS(this, "overflow", 1) + c.curCSS(this, "overflow-y", 1) + c.curCSS(this, "overflow-x", 1))
				}).eq(0)
			} else {
				j = this.parents().filter(function () {
					return (/(auto|scroll)/).test(c.curCSS(this, "overflow", 1) + c.curCSS(this, "overflow-y", 1) + c.curCSS(this, "overflow-x", 1))
				}).eq(0)
			}
			return (/fixed/).test(this.css("position")) || !j.length ? c(document) : j
		}
	});
	c.extend(c.expr[":"], {
		data: function (l, k, j) {
			return !! c.data(l, j[3])
		},
		focusable: function (k) {
			var l = k.nodeName.toLowerCase(),
			j = c.attr(k, "tabindex");
			return (/input|select|textarea|button|object/.test(l) ? !k.disabled: "a" == l || "area" == l ? k.href || !isNaN(j) : !isNaN(j)) && !c(k)["area" == l ? "parents": "closest"](":hidden").length
		},
		tabbable: function (k) {
			var j = c.attr(k, "tabindex");
			return (isNaN(j) || j >= 0) && c(k).is(":focusable")
		}
	});
	function g(m, n, o, l) {
		function k(q) {
			var p = c[m][n][q] || [];
			return (typeof p == "string" ? p.split(/,?\s+/) : p)
		}
		var j = k("getter");
		if (l.length == 1 && typeof l[0] == "string") {
			j = j.concat(k("getterSetter"))
		}
		return (c.inArray(o, j) != -1)
	}
	c.widget = function (k, j) {
		var l = k.split(".")[0];
		k = k.split(".")[1];
		c.fn[k] = function (p) {
			var n = (typeof p == "string"),
			o = Array.prototype.slice.call(arguments, 1);
			if (n && p.substring(0, 1) == "_") {
				return this
			}
			if (n && g(l, k, p, o)) {
				var m = c.data(this[0], k);
				return (m ? m[p].apply(m, o) : undefined)
			}
			return this.each(function () {
				var q = c.data(this, k);
				(!q && !n && c.data(this, k, new c[l][k](this, p))._init());
				(q && n && c.isFunction(q[p]) && q[p].apply(q, o))
			})
		};
		c[l] = c[l] || {};
		c[l][k] = function (o, n) {
			var m = this;
			this.namespace = l;
			this.widgetName = k;
			this.widgetEventPrefix = c[l][k].eventPrefix || k;
			this.widgetBaseClass = l + "-" + k;
			this.options = c.extend({},
			c.widget.defaults, c[l][k].defaults, c.metadata && c.metadata.get(o)[k], n);
			this.element = c(o).bind("setData." + k, function (q, p, r) {
				if (q.target == o) {
					return m._setData(p, r)
				}
			}).bind("getData." + k, function (q, p) {
				if (q.target == o) {
					return m._getData(p)
				}
			}).bind("remove", function () {
				return m.destroy()
			})
		};
		c[l][k].prototype = c.extend({},
		c.widget.prototype, j);
		c[l][k].getterSetter = "option"
	};
	c.widget.prototype = {
		_init: function () {},
		destroy: function () {
			this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass + "-disabled " + this.namespace + "-state-disabled").removeAttr("aria-disabled")
		},
		option: function (l, m) {
			var k = l,
			j = this;
			if (typeof l == "string") {
				if (m === undefined) {
					return this._getData(l)
				}
				k = {};
				k[l] = m
			}
			c.each(k, function (n, o) {
				j._setData(n, o)
			})
		},
		_getData: function (j) {
			return this.options[j]
		},
		_setData: function (j, k) {
			this.options[j] = k;
			if (j == "disabled") {
				this.element[k ? "addClass": "removeClass"](this.widgetBaseClass + "-disabled " + this.namespace + "-state-disabled").attr("aria-disabled", k)
			}
		},
		enable: function () {
			this._setData("disabled", false)
		},
		disable: function () {
			this._setData("disabled", true)
		},
		_trigger: function (l, m, n) {
			var p = this.options[l],
			j = (l == this.widgetEventPrefix ? l: this.widgetEventPrefix + l);
			m = c.Event(m);
			m.type = j;
			if (m.originalEvent) {
				for (var k = c.event.props.length, o; k;) {
					o = c.event.props[--k];
					m[o] = m.originalEvent[o]
				}
			}
			this.element.trigger(m, n);
			return ! (c.isFunction(p) && p.call(this.element[0], m, n) === false || m.isDefaultPrevented())
		}
	};
	c.widget.defaults = {
		disabled: false
	};
	c.ui.mouse = {
		_mouseInit: function () {
			var j = this;
			this.element.bind("mousedown." + this.widgetName, function (k) {
				return j._mouseDown(k)
			}).bind("click." + this.widgetName, function (k) {
				if (j._preventClickEvent) {
					j._preventClickEvent = false;
					k.stopImmediatePropagation();
					return false
				}
			});
			if (c.browser.msie) {
				this._mouseUnselectable = this.element.attr("unselectable");
				this.element.attr("unselectable", "on")
			}
			this.started = false
		},
		_mouseDestroy: function () {
			this.element.unbind("." + this.widgetName);
			(c.browser.msie && this.element.attr("unselectable", this._mouseUnselectable))
		},
		_mouseDown: function (l) {
			l.originalEvent = l.originalEvent || {};
			if (l.originalEvent.mouseHandled) {
				return
			} (this._mouseStarted && this._mouseUp(l));
			this._mouseDownEvent = l;
			var k = this,
			m = (l.which == 1),
			j = (typeof this.options.cancel == "string" ? c(l.target).parents().add(l.target).filter(this.options.cancel).length: false);
			if (!m || j || !this._mouseCapture(l)) {
				return true
			}
			this.mouseDelayMet = !this.options.delay;
			if (!this.mouseDelayMet) {
				this._mouseDelayTimer = setTimeout(function () {
					k.mouseDelayMet = true
				},
				this.options.delay)
			}
			if (this._mouseDistanceMet(l) && this._mouseDelayMet(l)) {
				this._mouseStarted = (this._mouseStart(l) !== false);
				if (!this._mouseStarted) {
					l.preventDefault();
					return true
				}
			}
			this._mouseMoveDelegate = function (n) {
				return k._mouseMove(n)
			};
			this._mouseUpDelegate = function (n) {
				return k._mouseUp(n)
			};
			c(document).bind("mousemove." + this.widgetName, this._mouseMoveDelegate).bind("mouseup." + this.widgetName, this._mouseUpDelegate);
			(c.browser.safari || l.preventDefault());
			l.originalEvent.mouseHandled = true;
			return true
		},
		_mouseMove: function (j) {
			if (c.browser.msie && !j.button) {
				return this._mouseUp(j)
			}
			if (this._mouseStarted) {
				this._mouseDrag(j);
				return j.preventDefault()
			}
			if (this._mouseDistanceMet(j) && this._mouseDelayMet(j)) {
				this._mouseStarted = (this._mouseStart(this._mouseDownEvent, j) !== false);
				(this._mouseStarted ? this._mouseDrag(j) : this._mouseUp(j))
			}
			return ! this._mouseStarted
		},
		_mouseUp: function (j) {
			c(document).unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate);
			if (this._mouseStarted) {
				this._mouseStarted = false;
				this._preventClickEvent = (j.target == this._mouseDownEvent.target);
				this._mouseStop(j)
			}
			return false
		},
		_mouseDistanceMet: function (j) {
			return (Math.max(Math.abs(this._mouseDownEvent.pageX - j.pageX), Math.abs(this._mouseDownEvent.pageY - j.pageY)) >= this.options.distance)
		},
		_mouseDelayMet: function (j) {
			return this.mouseDelayMet
		},
		_mouseStart: function (j) {},
		_mouseDrag: function (j) {},
		_mouseStop: function (j) {},
		_mouseCapture: function (j) {
			return true
		}
	};
	c.ui.mouse.defaults = {
		cancel: null,
		distance: 1,
		delay: 0
	}
})(jQuery);;
/*
 * jQuery UI Accordion 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Accordion
 *
 * Depends:
 *	ui.core.js
 */
(function (a) {
	a.widget("ui.accordion", {
		_init: function () {
			var d = this.options,
			b = this;
			this.running = 0;
			if (d.collapsible == a.ui.accordion.defaults.collapsible && d.alwaysOpen != a.ui.accordion.defaults.alwaysOpen) {
				d.collapsible = !d.alwaysOpen
			}
			if (d.navigation) {
				var c = this.element.find("a").filter(d.navigationFilter);
				if (c.length) {
					if (c.filter(d.header).length) {
						this.active = c
					} else {
						this.active = c.parent().parent().prev();
						c.addClass("ui-accordion-content-active")
					}
				}
			}
			this.element.addClass("ui-accordion ui-widget ui-helper-reset");
			if (this.element[0].nodeName == "UL") {
				this.element.children("li").addClass("ui-accordion-li-fix")
			}
			this.headers = this.element.find(d.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion", function () {
				a(this).addClass("ui-state-hover")
			}).bind("mouseleave.accordion", function () {
				a(this).removeClass("ui-state-hover")
			}).bind("focus.accordion", function () {
				a(this).addClass("ui-state-focus")
			}).bind("blur.accordion", function () {
				a(this).removeClass("ui-state-focus")
			});
			this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");
			this.active = this._findActive(this.active || d.active).toggleClass("ui-state-default").toggleClass("ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");
			this.active.next().addClass("ui-accordion-content-active");
			a("<span/>").addClass("ui-icon " + d.icons.header).prependTo(this.headers);
			this.active.find(".ui-icon").toggleClass(d.icons.header).toggleClass(d.icons.headerSelected);
			if (a.browser.msie) {
				this.element.find("a").css("zoom", "1")
			}
			this.resize();
			this.element.attr("role", "tablist");
			this.headers.attr("role", "tab").bind("keydown", function (e) {
				return b._keydown(e)
			}).next().attr("role", "tabpanel");
			this.headers.not(this.active || "").attr("aria-expanded", "false").attr("tabIndex", "-1").next().hide();
			if (!this.active.length) {
				this.headers.eq(0).attr("tabIndex", "0")
			} else {
				this.active.attr("aria-expanded", "true").attr("tabIndex", "0")
			}
			if (!a.browser.safari) {
				this.headers.find("a").attr("tabIndex", "-1")
			}
			if (d.event) {
				this.headers.bind((d.event) + ".accordion", function (e) {
					return b._clickHandler.call(b, e, this)
				})
			}
		},
		destroy: function () {
			var c = this.options;
			this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role").unbind(".accordion").removeData("accordion");
			this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("tabindex");
			this.headers.find("a").removeAttr("tabindex");
			this.headers.children(".ui-icon").remove();
			var b = this.headers.next().css("display", "").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active");
			if (c.autoHeight || c.fillHeight) {
				b.css("height", "")
			}
		},
		_setData: function (b, c) {
			if (b == "alwaysOpen") {
				b = "collapsible";
				c = !c
			}
			a.widget.prototype._setData.apply(this, arguments)
		},
		_keydown: function (e) {
			var g = this.options,
			f = a.ui.keyCode;
			if (g.disabled || e.altKey || e.ctrlKey) {
				return
			}
			var d = this.headers.length;
			var b = this.headers.index(e.target);
			var c = false;
			switch (e.keyCode) {
			case f.RIGHT:
			case f.DOWN:
				c = this.headers[(b + 1) % d];
				break;
			case f.LEFT:
			case f.UP:
				c = this.headers[(b - 1 + d) % d];
				break;
			case f.SPACE:
			case f.ENTER:
				return this._clickHandler({
					target:
					e.target
				},
				e.target)
			}
			if (c) {
				a(e.target).attr("tabIndex", "-1");
				a(c).attr("tabIndex", "0");
				c.focus();
				return false
			}
			return true
		},
		resize: function () {
			var e = this.options,
			d;
			if (e.fillSpace) {
				if (a.browser.msie) {
					var b = this.element.parent().css("overflow");
					this.element.parent().css("overflow", "hidden")
				}
				d = this.element.parent().height();
				if (a.browser.msie) {
					this.element.parent().css("overflow", b)
				}
				this.headers.each(function () {
					d -= a(this).outerHeight()
				});
				var c = 0;
				this.headers.next().each(function () {
					c = Math.max(c, a(this).innerHeight() - a(this).height())
				}).height(Math.max(0, d - c)).css("overflow", "auto")
			} else {
				if (e.autoHeight) {
					d = 0;
					this.headers.next().each(function () {
						d = Math.max(d, a(this).outerHeight())
					}).height(d)
				}
			}
		},
		activate: function (b) {
			var c = this._findActive(b)[0];
			this._clickHandler({
				target: c
			},
			c)
		},
		_findActive: function (b) {
			return b ? typeof b == "number" ? this.headers.filter(":eq(" + b + ")") : this.headers.not(this.headers.not(b)) : b === false ? a([]) : this.headers.filter(":eq(0)")
		},
		_clickHandler: function (b, f) {
			var d = this.options;
			if (d.disabled) {
				return false
			}
			if (!b.target && d.collapsible) {
				this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);
				this.active.next().addClass("ui-accordion-content-active");
				var h = this.active.next(),
				e = {
					options: d,
					newHeader: a([]),
					oldHeader: d.active,
					newContent: a([]),
					oldContent: h
				},
				c = (this.active = a([]));
				this._toggle(c, h, e);
				return false
			}
			var g = a(b.currentTarget || f);
			var i = g[0] == this.active[0];
			if (this.running || (!d.collapsible && i)) {
				return false
			}
			this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);
			this.active.next().addClass("ui-accordion-content-active");
			if (!i) {
				g.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").find(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected);
				g.next().addClass("ui-accordion-content-active")
			}
			var c = g.next(),
			h = this.active.next(),
			e = {
				options: d,
				newHeader: i && d.collapsible ? a([]) : g,
				oldHeader: this.active,
				newContent: i && d.collapsible ? a([]) : c.find("> *"),
				oldContent: h.find("> *")
			},
			j = this.headers.index(this.active[0]) > this.headers.index(g[0]);
			this.active = i ? a([]) : g;
			this._toggle(c, h, e, i, j);
			return false
		},
		_toggle: function (b, i, g, j, k) {
			var d = this.options,
			m = this;
			this.toShow = b;
			this.toHide = i;
			this.data = g;
			var c = function () {
				if (!m) {
					return
				}
				return m._completed.apply(m, arguments)
			};
			this._trigger("changestart", null, this.data);
			this.running = i.size() === 0 ? b.size() : i.size();
			if (d.animated) {
				var f = {};
				if (d.collapsible && j) {
					f = {
						toShow: a([]),
						toHide: i,
						complete: c,
						down: k,
						autoHeight: d.autoHeight || d.fillSpace
					}
				} else {
					f = {
						toShow: b,
						toHide: i,
						complete: c,
						down: k,
						autoHeight: d.autoHeight || d.fillSpace
					}
				}
				if (!d.proxied) {
					d.proxied = d.animated
				}
				if (!d.proxiedDuration) {
					d.proxiedDuration = d.duration
				}
				d.animated = a.isFunction(d.proxied) ? d.proxied(f) : d.proxied;
				d.duration = a.isFunction(d.proxiedDuration) ? d.proxiedDuration(f) : d.proxiedDuration;
				var l = a.ui.accordion.animations,
				e = d.duration,
				h = d.animated;
				if (!l[h]) {
					l[h] = function (n) {
						this.slide(n, {
							easing: h,
							duration: e || 700
						})
					}
				}
				l[h](f)
			} else {
				if (d.collapsible && j) {
					b.toggle()
				} else {
					i.hide();
					b.show()
				}
				c(true)
			}
			i.prev().attr("aria-expanded", "false").attr("tabIndex", "-1").blur();
			b.prev().attr("aria-expanded", "true").attr("tabIndex", "0").focus()
		},
		_completed: function (b) {
			var c = this.options;
			this.running = b ? 0 : --this.running;
			if (this.running) {
				return
			}
			if (c.clearStyle) {
				this.toShow.add(this.toHide).css({
					height: "",
					overflow: ""
				})
			}
			this._trigger("change", null, this.data)
		}
	});
	a.extend(a.ui.accordion, {
		version: "1.7.2",
		defaults: {
			active: null,
			alwaysOpen: true,
			animated: "slide",
			autoHeight: true,
			clearStyle: false,
			collapsible: false,
			event: "click",
			fillSpace: false,
			header: "> li > :first-child,> :not(li):even",
			icons: {
				header: "ui-icon-triangle-1-e",
				headerSelected: "ui-icon-triangle-1-s"
			},
			navigation: false,
			navigationFilter: function () {
				return this.href.toLowerCase() == location.href.toLowerCase()
			}
		},
		animations: {
			slide: function (j, h) {
				j = a.extend({
					easing: "swing",
					duration: 300
				},
				j, h);
				if (!j.toHide.size()) {
					j.toShow.animate({
						height: "show"
					},
					j);
					return
				}
				if (!j.toShow.size()) {
					j.toHide.animate({
						height: "hide"
					},
					j);
					return
				}
				var c = j.toShow.css("overflow"),
				g,
				d = {},
				f = {},
				e = ["height", "paddingTop", "paddingBottom"],
				b;
				var i = j.toShow;
				b = i[0].style.width;
				i.width(parseInt(i.parent().width(), 10) - parseInt(i.css("paddingLeft"), 10) - parseInt(i.css("paddingRight"), 10) - (parseInt(i.css("borderLeftWidth"), 10) || 0) - (parseInt(i.css("borderRightWidth"), 10) || 0));
				a.each(e, function (k, m) {
					f[m] = "hide";
					var l = ("" + a.css(j.toShow[0], m)).match(/^([\d+-.]+)(.*)$/);
					d[m] = {
						value: l[1],
						unit: l[2] || "px"
					}
				});
				j.toShow.css({
					height: 0,
					overflow: "hidden"
				}).show();
				j.toHide.filter(":hidden").each(j.complete).end().filter(":visible").animate(f, {
					step: function (k, l) {
						if (l.prop == "height") {
							g = (l.now - l.start) / (l.end - l.start)
						}
						j.toShow[0].style[l.prop] = (g * d[l.prop].value) + d[l.prop].unit
					},
					duration: j.duration,
					easing: j.easing,
					complete: function () {
						if (!j.autoHeight) {
							j.toShow.css("height", "")
						}
						j.toShow.css("width", b);
						j.toShow.css({
							overflow: c
						});
						j.complete()
					}
				})
			},
			bounceslide: function (b) {
				this.slide(b, {
					easing: b.down ? "easeOutBounce": "swing",
					duration: b.down ? 1000 : 200
				})
			},
			easeslide: function (b) {
				this.slide(b, {
					easing: "easeinout",
					duration: 700
				})
			}
		}
	})
})(jQuery);;
