/*!
 * jQuery UI 1.8.1
 *
 * Copyright (c) 2010 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) {
			c.ui = {
				version : "1.8.1",
				plugin : {
					add : function(a, b, d) {
						a = c.ui[a].prototype;
						for ( var e in d) {
							a.plugins[e] = a.plugins[e] || [];
							a.plugins[e].push( [ b, d[e] ])
						}
					},
					call : function(a, b, d) {
						if ((b = a.plugins[b]) && a.element[0].parentNode)
							for ( var e = 0; e < b.length; e++)
								a.options[b[e][0]]
										&& b[e][1].apply(a.element, d)
					}
				},
				contains : function(a, b) {
					return document.compareDocumentPosition ? a
							.compareDocumentPosition(b) & 16 : a !== b
							&& a.contains(b)
				},
				hasScroll : function(a, b) {
					if (c(a).css("overflow") == "hidden")
						return false;
					b = b && b == "left" ? "scrollLeft" : "scrollTop";
					var d = false;
					if (a[b] > 0)
						return true;
					a[b] = 1;
					d = a[b] > 0;
					a[b] = 0;
					return d
				},
				isOverAxis : function(a, b, d) {
					return a > b && a < b + d
				},
				isOver : function(a, b, d, e, f, g) {
					return c.ui.isOverAxis(a, d, f) && c.ui.isOverAxis(b, e, g)
				},
				keyCode : {
					ALT : 18,
					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
				}
			};
			c.fn
					.extend( {
						_focus : c.fn.focus,
						focus : function(a, b) {
							return typeof a === "number" ? this
									.each(function() {
										var d = this;
										setTimeout(function() {
											c(d).focus();
											b && b.call(d)
										}, a)
									}) : this._focus.apply(this, arguments)
						},
						enableSelection : function() {
							return this.attr("unselectable", "off").css(
									"MozUserSelect", "")
						},
						disableSelection : function() {
							return this.attr("unselectable", "on").css(
									"MozUserSelect", "none")
						},
						scrollParent : function() {
							var a;
							a = c.browser.msie
									&& /(static|relative)/.test(this
											.css("position"))
									|| /absolute/.test(this.css("position")) ? 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)
									: 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"))
									|| !a.length ? c(document) : a
						},
						zIndex : function(a) {
							if (a !== undefined)
								return this.css("zIndex", a);
							if (this.length) {
								a = c(this[0]);
								for ( var b; a.length && a[0] !== document;) {
									b = a.css("position");
									if (b == "absolute" || b == "relative"
											|| b == "fixed") {
										b = parseInt(a.css("zIndex"));
										if (!isNaN(b) && b != 0)
											return b
									}
									a = a.parent()
								}
							}
							return 0
						}
					});
			c.extend(c.expr[":"],
					{
						data : function(a, b, d) {
							return !!c.data(a, d[3])
						},
						focusable : function(a) {
							var b = a.nodeName.toLowerCase(), d = c.attr(a,
									"tabindex");
							return (/input|select|textarea|button|object/
									.test(b) ? !a.disabled : "a" == b
									|| "area" == b ? a.href || !isNaN(d)
									: !isNaN(d))
									&& !c(a)["area" == b ? "parents"
											: "closest"](":hidden").length
						},
						tabbable : function(a) {
							var b = c.attr(a, "tabindex");
							return (isNaN(b) || b >= 0)
									&& c(a).is(":focusable")
						}
					})
		}(jQuery);;/*
					 * ! jQuery UI Widget 1.8.1
					 * 
					 * Copyright (c) 2010 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/Widget
					 */
(function(b) {
	var j = b.fn.remove;
	b.fn.remove = function(a, c) {
		return this.each(function() {
			if (!c)
				if (!a || b.filter(a, [ this ]).length)
					b("*", this).add(this).each(function() {
						b(this).triggerHandler("remove")
					});
			return j.call(b(this), a, c)
		})
	};
	b.widget = function(a, c, d) {
		var e = a.split(".")[0], f;
		a = a.split(".")[1];
		f = e + "-" + a;
		if (!d) {
			d = c;
			c = b.Widget
		}
		b.expr[":"][f] = function(h) {
			return !!b.data(h, a)
		};
		b[e] = b[e] || {};
		b[e][a] = function(h, g) {
			arguments.length && this._createWidget(h, g)
		};
		c = new c;
		c.options = b.extend( {}, c.options);
		b[e][a].prototype = b.extend(true, c, {
			namespace : e,
			widgetName : a,
			widgetEventPrefix : b[e][a].prototype.widgetEventPrefix || a,
			widgetBaseClass : f
		}, d);
		b.widget.bridge(a, b[e][a])
	};
	b.widget.bridge = function(a, c) {
		b.fn[a] = function(d) {
			var e = typeof d === "string", f = Array.prototype.slice.call(
					arguments, 1), h = this;
			d = !e && f.length ? b.extend.apply(null, [ true, d ].concat(f))
					: d;
			if (e && d.substring(0, 1) === "_")
				return h;
			e ? this.each(function() {
				var g = b.data(this, a), i = g && b.isFunction(g[d]) ? g[d]
						.apply(g, f) : g;
				if (i !== g && i !== undefined) {
					h = i;
					return false
				}
			}) : this.each(function() {
				var g = b.data(this, a);
				if (g) {
					d && g.option(d);
					g._init()
				} else
					b.data(this, a, new c(d, this))
			});
			return h
		}
	};
	b.Widget = function(a, c) {
		arguments.length && this._createWidget(a, c)
	};
	b.Widget.prototype = {
		widgetName : "widget",
		widgetEventPrefix : "",
		options : {
			disabled : false
		},
		_createWidget : function(a, c) {
			this.element = b(c).data(this.widgetName, this);
			this.options = b.extend(true, {}, this.options, b.metadata
					&& b.metadata.get(c)[this.widgetName], a);
			var d = this;
			this.element.bind("remove." + this.widgetName, function() {
				d.destroy()
			});
			this._create();
			this._init()
		},
		_create : function() {
		},
		_init : function() {
		},
		destroy : function() {
			this.element.unbind("." + this.widgetName).removeData(
					this.widgetName);
			this.widget().unbind("." + this.widgetName).removeAttr(
					"aria-disabled").removeClass(
					this.widgetBaseClass + "-disabled ui-state-disabled")
		},
		widget : function() {
			return this.element
		},
		option : function(a, c) {
			var d = a, e = this;
			if (arguments.length === 0)
				return b.extend( {}, e.options);
			if (typeof a === "string") {
				if (c === undefined)
					return this.options[a];
				d = {};
				d[a] = c
			}
			b.each(d, function(f, h) {
				e._setOption(f, h)
			});
			return e
		},
		_setOption : function(a, c) {
			this.options[a] = c;
			if (a === "disabled")
				this.widget()[c ? "addClass" : "removeClass"](
						this.widgetBaseClass + "-disabled ui-state-disabled")
						.attr("aria-disabled", c);
			return this
		},
		enable : function() {
			return this._setOption("disabled", false)
		},
		disable : function() {
			return this._setOption("disabled", true)
		},
		_trigger : function(a, c, d) {
			var e = this.options[a];
			c = b.Event(c);
			c.type = (a === this.widgetEventPrefix ? a : this.widgetEventPrefix
					+ a).toLowerCase();
			d = d || {};
			if (c.originalEvent) {
				a = b.event.props.length;
				for ( var f; a;) {
					f = b.event.props[--a];
					c[f] = c.originalEvent[f]
				}
			}
			this.element.trigger(c, d);
			return !(b.isFunction(e) && e.call(this.element[0], c, d) === false || c
					.isDefaultPrevented())
		}
	}
})(jQuery);;/*
			 * jQuery UI Accordion 1.8.1
			 * 
			 * Copyright (c) 2010 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: jquery.ui.core.js jquery.ui.widget.js
			 */
(function(c) {
	c
			.widget(
					"ui.accordion",
					{
						options : {
							active : 0,
							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()
							}
						},
						_create : function() {
							var a = this.options, b = this;
							this.running = 0;
							this.element
									.addClass("ui-accordion ui-widget ui-helper-reset");
							this.element[0].nodeName == "UL"
									&& this.element.children("li").addClass(
											"ui-accordion-li-fix");
							this.headers = this.element
									.find(a.header)
									.addClass(
											"ui-accordion-header ui-helper-reset ui-state-default ui-corner-all")
									.bind("mouseenter.accordion", function() {
										c(this).addClass("ui-state-hover")
									}).bind("mouseleave.accordion", function() {
										c(this).removeClass("ui-state-hover")
									}).bind("focus.accordion", function() {
										c(this).addClass("ui-state-focus")
									}).bind("blur.accordion", function() {
										c(this).removeClass("ui-state-focus")
									});
							this.headers
									.next()
									.addClass(
											"ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");
							if (a.navigation) {
								var d = this.element.find("a").filter(
										a.navigationFilter);
								if (d.length) {
									var f = d.closest(".ui-accordion-header");
									this.active = f.length ? f : d.closest(
											".ui-accordion-content").prev()
								}
							}
							this.active = this._findActive(
									this.active || a.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");
							this._createIcons();
							this.resize();
							this.element.attr("role", "tablist");
							this.headers.attr("role", "tab").bind("keydown",
									function(g) {
										return b._keydown(g)
									}).next().attr("role", "tabpanel");
							this.headers.not(this.active || "").attr(
									"aria-expanded", "false").attr("tabIndex",
									"-1").next().hide();
							this.active.length ? this.active.attr(
									"aria-expanded", "true").attr("tabIndex",
									"0") : this.headers.eq(0).attr("tabIndex",
									"0");
							c.browser.safari
									|| this.headers.find("a").attr("tabIndex",
											"-1");
							a.event
									&& this.headers.bind(
											a.event + ".accordion",
											function(g) {
												b._clickHandler
														.call(b, g, this);
												g.preventDefault()
											})
						},
						_createIcons : function() {
							var a = this.options;
							if (a.icons) {
								c("<span/>").addClass(
										"ui-icon " + a.icons.header).prependTo(
										this.headers);
								this.active.find(".ui-icon").toggleClass(
										a.icons.header).toggleClass(
										a.icons.headerSelected);
								this.element.addClass("ui-accordion-icons")
							}
						},
						_destroyIcons : function() {
							this.headers.children(".ui-icon").remove();
							this.element.removeClass("ui-accordion-icons")
						},
						destroy : function() {
							var a = 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._destroyIcons();
							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 (a.autoHeight || a.fillHeight)
								b.css("height", "");
							return this
						},
						_setOption : function(a, b) {
							c.Widget.prototype._setOption
									.apply(this, arguments);
							a == "active" && this.activate(b);
							if (a == "icons") {
								this._destroyIcons();
								b && this._createIcons()
							}
						},
						_keydown : function(a) {
							var b = c.ui.keyCode;
							if (!(this.options.disabled || a.altKey || a.ctrlKey)) {
								var d = this.headers.length, f = this.headers
										.index(a.target), g = false;
								switch (a.keyCode) {
								case b.RIGHT:
								case b.DOWN:
									g = this.headers[(f + 1) % d];
									break;
								case b.LEFT:
								case b.UP:
									g = this.headers[(f - 1 + d) % d];
									break;
								case b.SPACE:
								case b.ENTER:
									this._clickHandler( {
										target : a.target
									}, a.target);
									a.preventDefault()
								}
								if (g) {
									c(a.target).attr("tabIndex", "-1");
									c(g).attr("tabIndex", "0");
									g.focus();
									return false
								}
								return true
							}
						},
						resize : function() {
							var a = this.options, b;
							if (a.fillSpace) {
								if (c.browser.msie) {
									var d = this.element.parent().css(
											"overflow");
									this.element.parent().css("overflow",
											"hidden")
								}
								b = this.element.parent().height();
								c.browser.msie
										&& this.element.parent().css(
												"overflow", d);
								this.headers.each(function() {
									b -= c(this).outerHeight(true)
								});
								this.headers
										.next()
										.each(
												function() {
													c(this).height(
																	Math.max(
																					0,
																					b - c(this).innerHeight()
																							+ c(this).height()))
												}).css("overflow", "auto")
							} else if (a.autoHeight) {
								b = 0;
//								this.headers.next().each(function() {
//									b = Math.max(b, c(this).height())
//								}).height(b)
							}
							return this
						},
						activate : function(a) {
							this.options.active = a;
							a = this._findActive(a)[0];
							this._clickHandler( {
								target : a
							}, a);
							return this
						},
						_findActive : function(a) {
							return a ? typeof a == "number" ? this.headers
									.filter(":eq(" + a + ")") : this.headers
									.not(this.headers.not(a))
									: a === false ? c( []) : this.headers
											.filter(":eq(0)")
						},
						_clickHandler : function(a, b) {
							var d = this.options;
							if (!d.disabled)
								if (a.target) {
									a = c(a.currentTarget || b);
									b = a[0] == this.active[0];
									d.active = d.collapsible && b ? false : c(
											".ui-accordion-header",
											this.element).index(a);
									if (!(this.running || !d.collapsible && b)) {
										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);
										if (!b) {
											a
													.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);
											a
													.next()
													.addClass(
															"ui-accordion-content-active")
										}
										e = a.next();
										f = this.active.next();
										g = {
											options : d,
											newHeader : b && d.collapsible ? c( [])
													: a,
											oldHeader : this.active,
											newContent : b && d.collapsible ? c( [])
													: e,
											oldContent : f
										};
										d = this.headers.index(this.active[0]) > this.headers
												.index(a[0]);
										this.active = b ? c( []) : a;
										this._toggle(e, f, g, b, d)
									}
								} else if (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 f = this.active.next(), g = {
										options : d,
										newHeader : c( []),
										oldHeader : d.active,
										newContent : c( []),
										oldContent : f
									}, e = this.active = c( []);
									this._toggle(e, f, g)
								}
						},
						_toggle : function(a, b, d, f, g) {
							var e = this.options, k = this;
							this.toShow = a;
							this.toHide = b;
							this.data = d;
							var i = function() {
								if (k)
									return k._completed.apply(k, arguments)
							};
							this._trigger("changestart", null, this.data);
							this.running = b.size() === 0 ? a.size() : b.size();
							if (e.animated) {
								d = {};
								d = e.collapsible && f ? {
									toShow : c( []),
									toHide : b,
									complete : i,
									down : g,
									autoHeight : e.autoHeight || e.fillSpace
								} : {
									toShow : a,
									toHide : b,
									complete : i,
									down : g,
									autoHeight : e.autoHeight || e.fillSpace
								};
								if (!e.proxied)
									e.proxied = e.animated;
								if (!e.proxiedDuration)
									e.proxiedDuration = e.duration;
								e.animated = c.isFunction(e.proxied) ? e
										.proxied(d) : e.proxied;
								e.duration = c.isFunction(e.proxiedDuration) ? e
										.proxiedDuration(d)
										: e.proxiedDuration;
								f = c.ui.accordion.animations;
								var h = e.duration, j = e.animated;
								if (j && !f[j] && !c.easing[j])
									j = "slide";
								f[j] || (f[j] = function(l) {
									this.slide(l, {
										easing : j,
										duration : h || 700
									})
								});
								f[j](d)
							} else {
								if (e.collapsible && f)
									a.toggle();
								else {
									b.hide();
									a.show()
								}
								i(true)
							}
							b.prev().attr("aria-expanded", "false").attr(
									"tabIndex", "-1").blur();
							a.prev().attr("aria-expanded", "true").attr(
									"tabIndex", "0").focus()
						},
						_completed : function(a) {
							var b = this.options;
							this.running = a ? 0 : --this.running;
							if (!this.running) {
								b.clearStyle
										&& this.toShow.add(this.toHide).css( {
											height : "",
											overflow : ""
										});
								this.toHide
										.removeClass("ui-accordion-content-active");
								this._trigger("change", null, this.data)
							}
						}
					});
	c
			.extend(
					c.ui.accordion,
					{
						version : "1.8.1",
						animations : {
							slide : function(a, b) {
								a = c.extend( {
									easing : "swing",
									duration : 300
								}, a, b);
								if (a.toHide.size())
									if (a.toShow.size()) {
										var d = a.toShow.css("overflow"), f = 0, g = {}, e = {}, k;
										b = a.toShow;
										k = b[0].style.width;
										b
												.width(parseInt(b.parent()
														.width(), 10)
														- parseInt(
																b
																		.css("paddingLeft"),
																10)
														- parseInt(
																b
																		.css("paddingRight"),
																10)
														- (parseInt(
																b
																		.css("borderLeftWidth"),
																10) || 0)
														- (parseInt(
																b
																		.css("borderRightWidth"),
																10) || 0));
										c.each( [ "height", "paddingTop",
												"paddingBottom" ], function(i,
												h) {
											e[h] = "hide";
											i = ("" + c.css(a.toShow[0], h))
													.match(/^([\d+-.]+)(.*)$/);
											g[h] = {
												value : i[1],
												unit : i[2] || "px"
											}
										});
										a.toShow.css( {
											height : 0,
											overflow : "hidden"
										}).show();
										a.toHide
												.filter(":hidden")
												.each(a.complete)
												.end()
												.filter(":visible")
												.animate(
														e,
														{
															step : function(i,
																	h) {
																if (h.prop == "height")
																	f = h.end
																			- h.start === 0 ? 0
																			: (h.now - h.start)
																					/ (h.end - h.start);
																a.toShow[0].style[h.prop] = f
																		* g[h.prop].value
																		+ g[h.prop].unit
															},
															duration : a.duration,
															easing : a.easing,
															complete : function() {
																a.autoHeight
																		|| a.toShow
																				.css(
																						"height",
																						"");
																a.toShow
																		.css(
																				"width",
																				k);
																a.toShow
																		.css( {
																			overflow : d
																		});
																a.complete()
															}
														})
									} else
										a.toHide.animate( {
											height : "hide"
										}, a);
								else
									a.toShow.animate( {
										height : "show"
									}, a)
							},
							bounceslide : function(a) {
								this.slide(a,
										{
											easing : a.down ? "easeOutBounce"
													: "swing",
											duration : a.down ? 1E3 : 200
										})
							}
						}
					})
})(jQuery);;
