

/*
 * jQuery 1.2.6 - New Wave Javascript
 *
 * Copyright (c) 2008 John Resig (jquery.com)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $
 * $Rev: 5685 $
 */
(function() {
	var _jQuery = window.jQuery,_$ = window.$;
	var jQuery = window.jQuery = window.$ = function(selector, context) {
		return new jQuery.fn.init(selector, context);
	};
	var quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple = /^.[^:#\[\.]*$/,undefined;
	jQuery.fn = jQuery.prototype = {init:function(selector, context) {
		selector = selector || document;
		if (selector.nodeType) {
			this[0] = selector;
			this.length = 1;
			return this;
		}
		if (typeof selector == "string") {
			var match = quickExpr.exec(selector);
			if (match && (match[1] || !context)) {
				if (match[1])selector = jQuery.clean([match[1]], context); else {
					var elem = document.getElementById(match[3]);
					if (elem) {
						if (elem.id != match[3])return jQuery().find(selector);
						return jQuery(elem);
					}
					selector = [];
				}
			} else
				return jQuery(context).find(selector);
		} else if (jQuery.isFunction(selector))return jQuery(document)[jQuery.fn.ready ? "ready" : "load"](selector);
		return this.setArray(jQuery.makeArray(selector));
	},jquery:"1.2.6",size:function() {
		return this.length;
	},length:0,get:function(num) {
		return num == undefined ? jQuery.makeArray(this) : this[num];
	},pushStack:function(elems) {
		var ret = jQuery(elems);
		ret.prevObject = this;
		return ret;
	},setArray:function(elems) {
		this.length = 0;
		Array.prototype.push.apply(this, elems);
		return this;
	},each:function(callback, args) {
		return jQuery.each(this, callback, args);
	},index:function(elem) {
		var ret = -1;
		return jQuery.inArray(elem && elem.jquery ? elem[0] : elem, this);
	},attr:function(name, value, type) {
		var options = name;
		if (name.constructor == String)if (value === undefined)return this[0] && jQuery[type || "attr"](this[0], name); else {
			options = {};
			options[name] = value;
		}
		return this.each(function(i) {
			for (name in options)jQuery.attr(type ? this.style : this, name, jQuery.prop(this, options[name], type, i, name));
		});
	},css:function(key, value) {
		if ((key == 'width' || key == 'height') && parseFloat(value) < 0)value = undefined;
		return this.attr(key, value, "curCSS");
	},text:function(text) {
		if (typeof text != "object" && text != null)return this.empty().append((this[0] && this[0].ownerDocument || document).createTextNode(text));
		var ret = "";
		jQuery.each(text || this, function() {
			jQuery.each(this.childNodes, function() {
				if (this.nodeType != 8)ret += this.nodeType != 1 ? this.nodeValue : jQuery.fn.text([this]);
			});
		});
		return ret;
	},wrapAll:function(html) {
		if (this[0])jQuery(html, this[0].ownerDocument).clone().insertBefore(this[0]).map(function() {
			var elem = this;
			while (elem.firstChild)elem = elem.firstChild;
			return elem;
		}).append(this);
		return this;
	},wrapInner:function(html) {
		return this.each(function() {
			jQuery(this).contents().wrapAll(html);
		});
	},wrap:function(html) {
		return this.each(function() {
			jQuery(this).wrapAll(html);
		});
	},append:function() {
		return this.domManip(arguments, true, false, function(elem) {
			if (this.nodeType == 1)this.appendChild(elem);
		});
	},prepend:function() {
		return this.domManip(arguments, true, true, function(elem) {
			if (this.nodeType == 1)this.insertBefore(elem, this.firstChild);
		});
	},before:function() {
		return this.domManip(arguments, false, false, function(elem) {
			this.parentNode.insertBefore(elem, this);
		});
	},after:function() {
		return this.domManip(arguments, false, true, function(elem) {
			this.parentNode.insertBefore(elem, this.nextSibling);
		});
	},end:function() {
		return this.prevObject || jQuery([]);
	},find:function(selector) {
		var elems = jQuery.map(this, function(elem) {
			return jQuery.find(selector, elem);
		});
		return this.pushStack(/[^+>] [^+>]/.test(selector) || selector.indexOf("..") > -1 ? jQuery.unique(elems) : elems);
	},clone:function(events) {
		var ret = this.map(function() {
			if (jQuery.browser.msie && !jQuery.isXMLDoc(this)) {
				var clone = this.cloneNode(true),container = document.createElement("div");
				container.appendChild(clone);
				return jQuery.clean([container.innerHTML])[0];
			} else
				return this.cloneNode(true);
		});
		var clone = ret.find("*").andSelf().each(function() {
			if (this[expando] != undefined)this[expando] = null;
		});
		if (events === true)this.find("*").andSelf().each(function(i) {
			if (this.nodeType == 3)return;
			var events = jQuery.data(this, "events");
			for (var type in events)for (var handler in events[type])jQuery.event.add(clone[i], type, events[type][handler], events[type][handler].data);
		});
		return ret;
	},filter:function(selector) {
		return this.pushStack(jQuery.isFunction(selector) && jQuery.grep(this, function(elem, i) {
			return selector.call(elem, i);
		}) || jQuery.multiFilter(selector, this));
	},not:function(selector) {
		if (selector.constructor == String)if (isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector, this, true)); else
			selector = jQuery.multiFilter(selector, this);
		var isArrayLike = selector.length && selector[selector.length - 1] !== undefined && !selector.nodeType;
		return this.filter(function() {
			return isArrayLike ? jQuery.inArray(this, selector) < 0 : this != selector;
		});
	},add:function(selector) {
		return this.pushStack(jQuery.unique(jQuery.merge(this.get(), typeof selector == 'string' ? jQuery(selector) : jQuery.makeArray(selector))));
	},is:function(selector) {
		return!!selector && jQuery.multiFilter(selector, this).length > 0;
	},hasClass:function(selector) {
		return this.is("." + selector);
	},val:function(value) {
		if (value == undefined) {
			if (this.length) {
				var elem = this[0];
				if (jQuery.nodeName(elem, "select")) {
					var index = elem.selectedIndex,values = [],options = elem.options,one = elem.type == "select-one";
					if (index < 0)return null;
					for (var i = one ? index : 0,max = one ? index + 1 : options.length; i < max; i++) {
						var option = options[i];
						if (option.selected) {
							value = jQuery.browser.msie && !option.attributes.value.specified ? option.text : option.value;
							if (one)return value;
							values.push(value);
						}
					}
					return values;
				} else
					return(this[0].value || "").replace(/\r/g, "");
			}
			return undefined;
		}
		if (value.constructor == Number)value += '';
		return this.each(function() {
			if (this.nodeType != 1)return;
			if (value.constructor == Array && /radio|checkbox/.test(this.type))this.checked = (jQuery.inArray(this.value, value) >= 0 || jQuery.inArray(this.name, value) >= 0); else if (jQuery.nodeName(this, "select")) {
				var values = jQuery.makeArray(value);
				jQuery("option", this).each(function() {
					this.selected = (jQuery.inArray(this.value, values) >= 0 || jQuery.inArray(this.text, values) >= 0);
				});
				if (!values.length)this.selectedIndex = -1;
			} else
				this.value = value;
		});
	},html:function(value) {
		return value == undefined ? (this[0] ? this[0].innerHTML : null) : this.empty().append(value);
	},replaceWith:function(value) {
		return this.after(value).remove();
	},eq:function(i) {
		return this.slice(i, i + 1);
	},slice:function() {
		return this.pushStack(Array.prototype.slice.apply(this, arguments));
	},map:function(callback) {
		return this.pushStack(jQuery.map(this, function(elem, i) {
			return callback.call(elem, i, elem);
		}));
	},andSelf:function() {
		return this.add(this.prevObject);
	},data:function(key, value) {
		var parts = key.split(".");
		parts[1] = parts[1] ? "." + parts[1] : "";
		if (value === undefined) {
			var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
			if (data === undefined && this.length)data = jQuery.data(this[0], key);
			return data === undefined && parts[1] ? this.data(parts[0]) : data;
		} else
			return this.trigger("setData" + parts[1] + "!", [parts[0],value]).each(function() {
				jQuery.data(this, key, value);
			});
	},removeData:function(key) {
		return this.each(function() {
			jQuery.removeData(this, key);
		});
	},domManip:function(args, table, reverse, callback) {
		var clone = this.length > 1,elems;
		return this.each(function() {
			if (!elems) {
				elems = jQuery.clean(args, this.ownerDocument);
				if (reverse)elems.reverse();
			}
			var obj = this;
			if (table && jQuery.nodeName(this, "table") && jQuery.nodeName(elems[0], "tr"))obj = this.getElementsByTagName("tbody")[0] || this.appendChild(this.ownerDocument.createElement("tbody"));
			var scripts = jQuery([]);
			jQuery.each(elems, function() {
				var elem = clone ? jQuery(this).clone(true)[0] : this;
				if (jQuery.nodeName(elem, "script"))scripts = scripts.add(elem); else {
					if (elem.nodeType == 1)scripts = scripts.add(jQuery("script", elem).remove());
					callback.call(obj, elem);
				}
			});
			scripts.each(evalScript);
		});
	}};
	jQuery.fn.init.prototype = jQuery.fn;
	function evalScript(i, elem) {
		if (elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"}); else
			jQuery.globalEval(elem.text || elem.textContent || elem.innerHTML || "");
		if (elem.parentNode)elem.parentNode.removeChild(elem);
	}
	function now() {
		return+new Date;
	}
	jQuery.extend = jQuery.fn.extend = function() {
		var target = arguments[0] || {},i = 1,length = arguments.length,deep = false,options;
		if (target.constructor == Boolean) {
			deep = target;
			target = arguments[1] || {};
			i = 2;
		}
		if (typeof target != "object" && typeof target != "function")target = {};
		if (length == i) {
			target = this;
			--i;
		}
		for (; i < length; i++)if ((options = arguments[i]) != null)for (var name in options) {
			var src = target[name],copy = options[name];
			if (target === copy)continue;
			if (deep && copy && typeof copy == "object" && !copy.nodeType)target[name] = jQuery.extend(deep, src || (copy.length != null ? [] : {}), copy); else if (copy !== undefined)target[name] = copy;
		}
		return target;
	};
	var expando = "jQuery" + now(),uuid = 0,windowData = {},exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView = document.defaultView || {};
	jQuery.extend({noConflict:function(deep) {
		window.$ = _$;
		if (deep)window.jQuery = _jQuery;
		return jQuery;
	},isFunction:function(fn) {
		return!!fn && typeof fn != "string" && !fn.nodeName && fn.constructor != Array && /^[\s[]?function/.test(fn + "");
	},isXMLDoc:function(elem) {
		return elem.documentElement && !elem.body || elem.tagName && elem.ownerDocument && !elem.ownerDocument.body;
	},globalEval:function(data) {
		data = jQuery.trim(data);
		if (data) {
			var head = document.getElementsByTagName("head")[0] || document.documentElement,script = document.createElement("script");
			script.type = "text/javascript";
			if (jQuery.browser.msie)script.text = data; else
				script.appendChild(document.createTextNode(data));
			head.insertBefore(script, head.firstChild);
			head.removeChild(script);
		}
	},nodeName:function(elem, name) {
		return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase();
	},cache:{},data:function(elem, name, data) {
		elem = elem == window ? windowData : elem;
		var id = elem[expando];
		if (!id)id = elem[expando] = ++uuid;
		if (name && !jQuery.cache[id])jQuery.cache[id] = {};
		if (data !== undefined)jQuery.cache[id][name] = data;
		return name ? jQuery.cache[id][name] : id;
	},removeData:function(elem, name) {
		elem = elem == window ? windowData : elem;
		var id = elem[expando];
		if (name) {
			if (jQuery.cache[id]) {
				delete jQuery.cache[id][name];
				name = "";
				for (name in jQuery.cache[id])break;
				if (!name)jQuery.removeData(elem);
			}
		} else {
			try {
				delete elem[expando];
			} catch(e) {
				if (elem.removeAttribute)elem.removeAttribute(expando);
			}
			delete jQuery.cache[id];
		}
	},each:function(object, callback, args) {
		var name,i = 0,length = object.length;
		if (args) {
			if (length == undefined) {
				for (name in object)if (callback.apply(object[name], args) === false)break;
			} else
				for (; i < length;)if (callback.apply(object[i++], args) === false)break;
		} else {
			if (length == undefined) {
				for (name in object)if (callback.call(object[name], name, object[name]) === false)break;
			} else
				for (var value = object[0]; i < length && callback.call(value, i, value) !== false; value = object[++i]) {
				}
		}
		return object;
	},prop:function(elem, value, type, i, name) {
		if (jQuery.isFunction(value))value = value.call(elem, i);
		return value && value.constructor == Number && type == "curCSS" && !exclude.test(name) ? value + "px" : value;
	},className:{add:function(elem, classNames) {
		jQuery.each((classNames || "").split(/\s+/), function(i, className) {
			if (elem.nodeType == 1 && !jQuery.className.has(elem.className, className))elem.className += (elem.className ? " " : "") + className;
		});
	},remove:function(elem, classNames) {
		if (elem.nodeType == 1)elem.className = classNames != undefined ? jQuery.grep(elem.className.split(/\s+/), function(className) {
			return!jQuery.className.has(classNames, className);
		}).join(" ") : "";
	},has:function(elem, className) {
		return jQuery.inArray(className, (elem.className || elem).toString().split(/\s+/)) > -1;
	}},swap:function(elem, options, callback) {
		var old = {};
		for (var name in options) {
			old[name] = elem.style[name];
			elem.style[name] = options[name];
		}
		callback.call(elem);
		for (var name in options)elem.style[name] = old[name];
	},css:function(elem, name, force) {
		if (name == "width" || name == "height") {
			var val,props = {position:"absolute",visibility:"hidden",display:"block"},which = name == "width" ? ["Left","Right"] : ["Top","Bottom"];
			function getWH() {
				val = name == "width" ? elem.offsetWidth : elem.offsetHeight;
				var padding = 0,border = 0;
				jQuery.each(which, function() {
					padding += parseFloat(jQuery.curCSS(elem, "padding" + this, true)) || 0;
					border += parseFloat(jQuery.curCSS(elem, "border" + this + "Width", true)) || 0;
				});
				val -= Math.round(padding + border);
			}
			if (jQuery(elem).is(":visible"))getWH(); else
				jQuery.swap(elem, props, getWH);
			return Math.max(0, val);
		}
		return jQuery.curCSS(elem, name, force);
	},curCSS:function(elem, name, force) {
		var ret,style = elem.style;
		function color(elem) {
			if (!jQuery.browser.safari)return false;
			var ret = defaultView.getComputedStyle(elem, null);
			return!ret || ret.getPropertyValue("color") == "";
		}
		if (name == "opacity" && jQuery.browser.msie) {
			ret = jQuery.attr(style, "opacity");
			return ret == "" ? "1" : ret;
		}
		if (jQuery.browser.opera && name == "display") {
			var save = style.outline;
			style.outline = "0 solid black";
			style.outline = save;
		}
		if (name.match(/float/i))name = styleFloat;
		if (!force && style && style[name])ret = style[name]; else if (defaultView.getComputedStyle) {
			if (name.match(/float/i))name = "float";
			name = name.replace(/([A-Z])/g, "-$1").toLowerCase();
			var computedStyle = defaultView.getComputedStyle(elem, null);
			if (computedStyle && !color(elem))ret = computedStyle.getPropertyValue(name); else {
				var swap = [],stack = [],a = elem,i = 0;
				for (; a && color(a); a = a.parentNode)stack.unshift(a);
				for (; i < stack.length; i++)if (color(stack[i])) {
					swap[i] = stack[i].style.display;
					stack[i].style.display = "block";
				}
				ret = name == "display" && swap[stack.length - 1] != null ? "none" : (computedStyle && computedStyle.getPropertyValue(name)) || "";
				for (i = 0; i < swap.length; i++)if (swap[i] != null)stack[i].style.display = swap[i];
			}
			if (name == "opacity" && ret == "")ret = "1";
		} else if (elem.currentStyle) {
			var camelCase = name.replace(/\-(\w)/g, function(all, letter) {
				return letter.toUpperCase();
			});
			ret = elem.currentStyle[name] || elem.currentStyle[camelCase];
			if (!/^\d+(px)?$/i.test(ret) && /^\d/.test(ret)) {
				var left = style.left,rsLeft = elem.runtimeStyle.left;
				elem.runtimeStyle.left = elem.currentStyle.left;
				style.left = ret || 0;
				ret = style.pixelLeft + "px";
				style.left = left;
				elem.runtimeStyle.left = rsLeft;
			}
		}
		return ret;
	},clean:function(elems, context) {
		var ret = [];
		context = context || document;
		if (typeof context.createElement == 'undefined')context = context.ownerDocument || context[0] && context[0].ownerDocument || document;
		jQuery.each(elems, function(i, elem) {
			if (!elem)return;
			if (elem.constructor == Number)elem += '';
			if (typeof elem == "string") {
				elem = elem.replace(/(<(\w+)[^>]*?)\/>/g, function(all, front, tag) {
					return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ? all : front + "></" + tag + ">";
				});
				var tags = jQuery.trim(elem).toLowerCase(),div = context.createElement("div");
				var wrap = !tags.indexOf("<opt") && [1,"<select multiple='multiple'>","</select>"] || !tags.indexOf("<leg") && [1,"<fieldset>","</fieldset>"] || tags.match(/^<(thead|tbody|tfoot|colg|cap)/) && [1,"<table>","</table>"] || !tags.indexOf("<tr") && [2,"<table><tbody>","</tbody></table>"] || (!tags.indexOf("<td") || !tags.indexOf("<th")) && [3,"<table><tbody><tr>","</tr></tbody></table>"] || !tags.indexOf("<col") && [2,"<table><tbody></tbody><colgroup>","</colgroup></table>"] || jQuery.browser.msie && [1,"div<div>","</div>"] || [0,"",""];
				div.innerHTML = wrap[1] + elem + wrap[2];
				while (wrap[0]--)div = div.lastChild;
				if (jQuery.browser.msie) {
					var tbody = !tags.indexOf("<table") && tags.indexOf("<tbody") < 0 ? div.firstChild && div.firstChild.childNodes : wrap[1] == "<table>" && tags.indexOf("<tbody") < 0 ? div.childNodes : [];
					for (var j = tbody.length - 1; j >= 0; --j)if (jQuery.nodeName(tbody[j], "tbody") && !tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);
					if (/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]), div.firstChild);
				}
				elem = jQuery.makeArray(div.childNodes);
			}
			if (elem.length === 0 && (!jQuery.nodeName(elem, "form") && !jQuery.nodeName(elem, "select")))return;
			if (elem[0] == undefined || jQuery.nodeName(elem, "form") || elem.options)ret.push(elem); else
				ret = jQuery.merge(ret, elem);
		});
		return ret;
	},attr:function(elem, name, value) {
		if (!elem || elem.nodeType == 3 || elem.nodeType == 8)return undefined;
		var notxml = !jQuery.isXMLDoc(elem),set = value !== undefined,msie = jQuery.browser.msie;
		name = notxml && jQuery.props[name] || name;
		if (elem.tagName) {
			var special = /href|src|style/.test(name);
			if (name == "selected" && jQuery.browser.safari)elem.parentNode.selectedIndex;
			if (name in elem && notxml && !special) {
				if (set) {
					if (name == "type" && jQuery.nodeName(elem, "input") && elem.parentNode)throw"type property can't be changed";
					elem[name] = value;
				}
				if (jQuery.nodeName(elem, "form") && elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;
				return elem[name];
			}
			if (msie && notxml && name == "style")return jQuery.attr(elem.style, "cssText", value);
			if (set)elem.setAttribute(name, "" + value);
			var attr = msie && notxml && special ? elem.getAttribute(name, 2) : elem.getAttribute(name);
			return attr === null ? undefined : attr;
		}
		if (msie && name == "opacity") {
			if (set) {
				elem.zoom = 1;
				elem.filter = (elem.filter || "").replace(/alpha\([^)]*\)/, "") + (parseInt(value) + '' == "NaN" ? "" : "alpha(opacity=" + value * 100 + ")");
			}
			return elem.filter && elem.filter.indexOf("opacity=") >= 0 ? (parseFloat(elem.filter.match(/opacity=([^)]*)/)[1]) / 100) + '' : "";
		}
		name = name.replace(/-([a-z])/ig, function(all, letter) {
			return letter.toUpperCase();
		});
		if (set)elem[name] = value;
		return elem[name];
	},trim:function(text) {
		return(text || "").replace(/^\s+|\s+$/g, "");
	},makeArray:function(array) {
		var ret = [];
		if (array != null) {
			var i = array.length;
			if (i == null || array.split || array.setInterval || array.call)ret[0] = array; else
				while (i)ret[--i] = array[i];
		}
		return ret;
	},inArray:function(elem, array) {
		for (var i = 0,length = array.length; i < length; i++)if (array[i] === elem)return i;
		return-1;
	},merge:function(first, second) {
		var i = 0,elem,pos = first.length;
		if (jQuery.browser.msie) {
			while (elem = second[i++])if (elem.nodeType != 8)first[pos++] = elem;
		} else
			while (elem = second[i++])first[pos++] = elem;
		return first;
	},unique:function(array) {
		var ret = [],done = {};
		try {
			for (var i = 0,length = array.length; i < length; i++) {
				var id = jQuery.data(array[i]);
				if (!done[id]) {
					done[id] = true;
					ret.push(array[i]);
				}
			}
		} catch(e) {
			ret = array;
		}
		return ret;
	},grep:function(elems, callback, inv) {
		var ret = [];
		for (var i = 0,length = elems.length; i < length; i++)if (!inv != !callback(elems[i], i))ret.push(elems[i]);
		return ret;
	},map:function(elems, callback) {
		var ret = [];
		for (var i = 0,length = elems.length; i < length; i++) {
			var value = callback(elems[i], i);
			if (value != null)ret[ret.length] = value;
		}
		return ret.concat.apply([], ret);
	}});
	var userAgent = navigator.userAgent.toLowerCase();
	jQuery.browser = {version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent) && !/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent)};
	var styleFloat = jQuery.browser.msie ? "styleFloat" : "cssFloat";
	jQuery.extend({boxModel:!jQuery.browser.msie || document.compatMode == "CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing"}});
	jQuery.each({parent:function(elem) {
		return elem.parentNode;
	},parents:function(elem) {
		return jQuery.dir(elem, "parentNode");
	},next:function(elem) {
		return jQuery.nth(elem, 2, "nextSibling");
	},prev:function(elem) {
		return jQuery.nth(elem, 2, "previousSibling");
	},nextAll:function(elem) {
		return jQuery.dir(elem, "nextSibling");
	},prevAll:function(elem) {
		return jQuery.dir(elem, "previousSibling");
	},siblings:function(elem) {
		return jQuery.sibling(elem.parentNode.firstChild, elem);
	},children:function(elem) {
		return jQuery.sibling(elem.firstChild);
	},contents:function(elem) {
		return jQuery.nodeName(elem, "iframe") ? elem.contentDocument || elem.contentWindow.document : jQuery.makeArray(elem.childNodes);
	}}, function(name, fn) {
		jQuery.fn[name] = function(selector) {
			var ret = jQuery.map(this, fn);
			if (selector && typeof selector == "string")ret = jQuery.multiFilter(selector, ret);
			return this.pushStack(jQuery.unique(ret));
		};
	});
	jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"}, function(name, original) {
		jQuery.fn[name] = function() {
			var args = arguments;
			return this.each(function() {
				for (var i = 0,length = args.length; i < length; i++)jQuery(args[i])[original](this);
			});
		};
	});
	jQuery.each({removeAttr:function(name) {
		jQuery.attr(this, name, "");
		if (this.nodeType == 1)this.removeAttribute(name);
	},addClass:function(classNames) {
		jQuery.className.add(this, classNames);
	},removeClass:function(classNames) {
		jQuery.className.remove(this, classNames);
	},toggleClass:function(classNames) {
		jQuery.className[jQuery.className.has(this, classNames) ? "remove" : "add"](this, classNames);
	},remove:function(selector) {
		if (!selector || jQuery.filter(selector, [this]).r.length) {
			jQuery("*", this).add(this).each(function() {
				jQuery.event.remove(this);
				jQuery.removeData(this);
			});
			if (this.parentNode)this.parentNode.removeChild(this);
		}
	},empty:function() {
		jQuery(">*", this).remove();
		while (this.firstChild)this.removeChild(this.firstChild);
	}}, function(name, fn) {
		jQuery.fn[name] = function() {
			return this.each(fn, arguments);
		};
	});
	jQuery.each(["Height","Width"], function(i, name) {
		var type = name.toLowerCase();
		jQuery.fn[type] = function(size) {
			return this[0] == window ? jQuery.browser.opera && document.body["client" + name] || jQuery.browser.safari && window["inner" + name] || document.compatMode == "CSS1Compat" && document.documentElement["client" + name] || document.body["client" + name] : this[0] == document ? Math.max(Math.max(document.body["scroll" + name], document.documentElement["scroll" + name]), Math.max(document.body["offset" + name], document.documentElement["offset" + name])) : size == undefined ? (this.length ? jQuery.css(this[0], type) : null) : this.css(type, size.constructor == String ? size : size + "px");
		};
	});
	function num(elem, prop) {
		return elem[0] && parseInt(jQuery.curCSS(elem[0], prop, true), 10) || 0;
	}
	var chars = jQuery.browser.safari && parseInt(jQuery.browser.version) < 417 ? "(?:[\\w*_-]|\\\\.)" : "(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild = new RegExp("^>\\s*(" + chars + "+)"),quickID = new RegExp("^(" + chars + "+)(#)(" + chars + "+)"),quickClass = new RegExp("^([#.]?)(" + chars + "*)");
	jQuery.extend({expr:{"":function(a, i, m) {
		return m[2] == "*" || jQuery.nodeName(a, m[2]);
	},"#":function(a, i, m) {
		return a.getAttribute("id") == m[2];
	},":":{lt:function(a, i, m) {
		return i < m[3] - 0;
	},gt:function(a, i, m) {
		return i > m[3] - 0;
	},nth:function(a, i, m) {
		return m[3] - 0 == i;
	},eq:function(a, i, m) {
		return m[3] - 0 == i;
	},first:function(a, i) {
		return i == 0;
	},last:function(a, i, m, r) {
		return i == r.length - 1;
	},even:function(a, i) {
		return i % 2 == 0;
	},odd:function(a, i) {
		return i % 2;
	},"first-child":function(a) {
		return a.parentNode.getElementsByTagName("*")[0] == a;
	},"last-child":function(a) {
		return jQuery.nth(a.parentNode.lastChild, 1, "previousSibling") == a;
	},"only-child":function(a) {
		return!jQuery.nth(a.parentNode.lastChild, 2, "previousSibling");
	},parent:function(a) {
		return a.firstChild;
	},empty:function(a) {
		return!a.firstChild;
	},contains:function(a, i, m) {
		return(a.textContent || a.innerText || jQuery(a).text() || "").indexOf(m[3]) >= 0;
	},visible:function(a) {
		return"hidden" != a.type && jQuery.css(a, "display") != "none" && jQuery.css(a, "visibility") != "hidden";
	},hidden:function(a) {
		return"hidden" == a.type || jQuery.css(a, "display") == "none" || jQuery.css(a, "visibility") == "hidden";
	},enabled:function(a) {
		return!a.disabled;
	},disabled:function(a) {
		return a.disabled;
	},checked:function(a) {
		return a.checked;
	},selected:function(a) {
		return a.selected || jQuery.attr(a, "selected");
	},text:function(a) {
		return"text" == a.type;
	},radio:function(a) {
		return"radio" == a.type;
	},checkbox:function(a) {
		return"checkbox" == a.type;
	},file:function(a) {
		return"file" == a.type;
	},password:function(a) {
		return"password" == a.type;
	},submit:function(a) {
		return"submit" == a.type;
	},image:function(a) {
		return"image" == a.type;
	},reset:function(a) {
		return"reset" == a.type;
	},button:function(a) {
		return"button" == a.type || jQuery.nodeName(a, "button");
	},input:function(a) {
		return/input|select|textarea|button/i.test(a.nodeName);
	},has:function(a, i, m) {
		return jQuery.find(m[3], a).length;
	},header:function(a) {
		return/h\d/i.test(a.nodeName);
	},animated:function(a) {
		return jQuery.grep(jQuery.timers, function(fn) {
			return a == fn.elem;
		}).length;
	}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)(" + chars + "+)")],multiFilter:function(expr, elems, not) {
		var old,cur = [];
		while (expr && expr != old) {
			old = expr;
			var f = jQuery.filter(expr, elems, not);
			expr = f.t.replace(/^\s*,\s*/, "");
			cur = not ? elems = f.r : jQuery.merge(cur, f.r);
		}
		return cur;
	},find:function(t, context) {
		if (typeof t != "string")return[t];
		if (context && context.nodeType != 1 && context.nodeType != 9)return[];
		context = context || document;
		var ret = [context],done = [],last,nodeName;
		while (t && last != t) {
			var r = [];
			last = t;
			t = jQuery.trim(t);
			var foundToken = false,re = quickChild,m = re.exec(t);
			if (m) {
				nodeName = m[1].toUpperCase();
				for (var i = 0; ret[i]; i++)for (var c = ret[i].firstChild; c; c = c.nextSibling)if (c.nodeType == 1 && (nodeName == "*" || c.nodeName.toUpperCase() == nodeName))r.push(c);
				ret = r;
				t = t.replace(re, "");
				if (t.indexOf(" ") == 0)continue;
				foundToken = true;
			} else {
				re = /^([>+~])\s*(\w*)/i;
				if ((m = re.exec(t)) != null) {
					r = [];
					var merge = {};
					nodeName = m[2].toUpperCase();
					m = m[1];
					for (var j = 0,rl = ret.length; j < rl; j++) {
						var n = m == "~" || m == "+" ? ret[j].nextSibling : ret[j].firstChild;
						for (; n; n = n.nextSibling)if (n.nodeType == 1) {
							var id = jQuery.data(n);
							if (m == "~" && merge[id])break;
							if (!nodeName || n.nodeName.toUpperCase() == nodeName) {
								if (m == "~")merge[id] = true;
								r.push(n);
							}
							if (m == "+")break;
						}
					}
					ret = r;
					t = jQuery.trim(t.replace(re, ""));
					foundToken = true;
				}
			}
			if (t && !foundToken) {
				if (!t.indexOf(",")) {
					if (context == ret[0])ret.shift();
					done = jQuery.merge(done, ret);
					r = ret = [context];
					t = " " + t.substr(1, t.length);
				} else {
					var re2 = quickID;
					var m = re2.exec(t);
					if (m) {
						m = [0,m[2],m[3],m[1]];
					} else {
						re2 = quickClass;
						m = re2.exec(t);
					}
					m[2] = m[2].replace(/\\/g, "");
					var elem = ret[ret.length - 1];
					if (m[1] == "#" && elem && elem.getElementById && !jQuery.isXMLDoc(elem)) {
						var oid = elem.getElementById(m[2]);
						if ((jQuery.browser.msie || jQuery.browser.opera) && oid && typeof oid.id == "string" && oid.id != m[2])oid = jQuery('[@id="' + m[2] + '"]', elem)[0];
						ret = r = oid && (!m[3] || jQuery.nodeName(oid, m[3])) ? [oid] : [];
					} else {
						for (var i = 0; ret[i]; i++) {
							var tag = m[1] == "#" && m[3] ? m[3] : m[1] != "" || m[0] == "" ? "*" : m[2];
							if (tag == "*" && ret[i].nodeName.toLowerCase() == "object")tag = "param";
							r = jQuery.merge(r, ret[i].getElementsByTagName(tag));
						}
						if (m[1] == ".")r = jQuery.classFilter(r, m[2]);
						if (m[1] == "#") {
							var tmp = [];
							for (var i = 0; r[i]; i++)if (r[i].getAttribute("id") == m[2]) {
								tmp = [r[i]];
								break;
							}
							r = tmp;
						}
						ret = r;
					}
					t = t.replace(re2, "");
				}
			}
			if (t) {
				var val = jQuery.filter(t, r);
				ret = r = val.r;
				t = jQuery.trim(val.t);
			}
		}
		if (t)ret = [];
		if (ret && context == ret[0])ret.shift();
		done = jQuery.merge(done, ret);
		return done;
	},classFilter:function(r, m, not) {
		m = " " + m + " ";
		var tmp = [];
		for (var i = 0; r[i]; i++) {
			var pass = (" " + r[i].className + " ").indexOf(m) >= 0;
			if (!not && pass || not && !pass)tmp.push(r[i]);
		}
		return tmp;
	},filter:function(t, r, not) {
		var last;
		while (t && t != last) {
			last = t;
			var p = jQuery.parse,m;
			for (var i = 0; p[i]; i++) {
				m = p[i].exec(t);
				if (m) {
					t = t.substring(m[0].length);
					m[2] = m[2].replace(/\\/g, "");
					break;
				}
			}
			if (!m)break;
			if (m[1] == ":" && m[2] == "not")r = isSimple.test(m[3]) ? jQuery.filter(m[3], r, true).r : jQuery(r).not(m[3]); else if (m[1] == ".")r = jQuery.classFilter(r, m[2], not); else if (m[1] == "[") {
				var tmp = [],type = m[3];
				for (var i = 0,rl = r.length; i < rl; i++) {
					var a = r[i],z = a[jQuery.props[m[2]] || m[2]];
					if (z == null || /href|src|selected/.test(m[2]))z = jQuery.attr(a, m[2]) || '';
					if ((type == "" && !!z || type == "=" && z == m[5] || type == "!=" && z != m[5] || type == "^=" && z && !z.indexOf(m[5]) || type == "$=" && z.substr(z.length - m[5].length) == m[5] || (type == "*=" || type == "~=") && z.indexOf(m[5]) >= 0) ^ not)tmp.push(a);
				}
				r = tmp;
			} else if (m[1] == ":" && m[2] == "nth-child") {
				var merge = {},tmp = [],test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3] == "even" && "2n" || m[3] == "odd" && "2n+1" || !/\D/.test(m[3]) && "0n+" + m[3] || m[3]),first = (test[1] + (test[2] || 1)) - 0,last = test[3] - 0;
				for (var i = 0,rl = r.length; i < rl; i++) {
					var node = r[i],parentNode = node.parentNode,id = jQuery.data(parentNode);
					if (!merge[id]) {
						var c = 1;
						for (var n = parentNode.firstChild; n; n = n.nextSibling)if (n.nodeType == 1)n.nodeIndex = c++;
						merge[id] = true;
					}
					var add = false;
					if (first == 0) {
						if (node.nodeIndex == last)add = true;
					} else if ((node.nodeIndex - last) % first == 0 && (node.nodeIndex - last) / first >= 0)add = true;
					if (add ^ not)tmp.push(node);
				}
				r = tmp;
			} else {
				var fn = jQuery.expr[m[1]];
				if (typeof fn == "object")fn = fn[m[2]];
				if (typeof fn == "string")fn = eval("false||function(a,i){return " + fn + ";}");
				r = jQuery.grep(r, function(elem, i) {
					return fn(elem, i, m, r);
				}, not);
			}
		}
		return{r:r,t:t};
	},dir:function(elem, dir) {
		var matched = [],cur = elem[dir];
		while (cur && cur != document) {
			if (cur.nodeType == 1)matched.push(cur);
			cur = cur[dir];
		}
		return matched;
	},nth:function(cur, result, dir, elem) {
		result = result || 1;
		var num = 0;
		for (; cur; cur = cur[dir])if (cur.nodeType == 1 && ++num == result)break;
		return cur;
	},sibling:function(n, elem) {
		var r = [];
		for (; n; n = n.nextSibling) {
			if (n.nodeType == 1 && n != elem)r.push(n);
		}
		return r;
	}});
	jQuery.event = {add:function(elem, types, handler, data) {
		if (elem.nodeType == 3 || elem.nodeType == 8)return;
		if (jQuery.browser.msie && elem.setInterval)elem = window;
		if (!handler.guid)handler.guid = this.guid++;
		if (data != undefined) {
			var fn = handler;
			handler = this.proxy(fn, function() {
				return fn.apply(this, arguments);
			});
			handler.data = data;
		}
		var events = jQuery.data(elem, "events") || jQuery.data(elem, "events", {}),handle = jQuery.data(elem, "handle") || jQuery.data(elem, "handle", function() {
			if (typeof jQuery != "undefined" && !jQuery.event.triggered)return jQuery.event.handle.apply(arguments.callee.elem, arguments);
		});
		handle.elem = elem;
		jQuery.each(types.split(/\s+/), function(index, type) {
			var parts = type.split(".");
			type = parts[0];
			handler.type = parts[1];
			var handlers = events[type];
			if (!handlers) {
				handlers = events[type] = {};
				if (!jQuery.event.special[type] || jQuery.event.special[type].setup.call(elem) === false) {
					if (elem.addEventListener)elem.addEventListener(type, handle, false); else if (elem.attachEvent)elem.attachEvent("on" + type, handle);
				}
			}
			handlers[handler.guid] = handler;
			jQuery.event.global[type] = true;
		});
		elem = null;
	},guid:1,global:{},remove:function(elem, types, handler) {
		if (elem.nodeType == 3 || elem.nodeType == 8)return;
		var events = jQuery.data(elem, "events"),ret,index;
		if (events) {
			if (types == undefined || (typeof types == "string" && types.charAt(0) == "."))for (var type in events)this.remove(elem, type + (types || "")); else {
				if (types.type) {
					handler = types.handler;
					types = types.type;
				}
				jQuery.each(types.split(/\s+/), function(index, type) {
					var parts = type.split(".");
					type = parts[0];
					if (events[type]) {
						if (handler)delete events[type][handler.guid]; else
							for (handler in events[type])if (!parts[1] || events[type][handler].type == parts[1])delete events[type][handler];
						for (ret in events[type])break;
						if (!ret) {
							if (!jQuery.event.special[type] || jQuery.event.special[type].teardown.call(elem) === false) {
								if (elem.removeEventListener)elem.removeEventListener(type, jQuery.data(elem, "handle"), false); else if (elem.detachEvent)elem.detachEvent("on" + type, jQuery.data(elem, "handle"));
							}
							ret = null;
							delete events[type];
						}
					}
				});
			}
			for (ret in events)break;
			if (!ret) {
				var handle = jQuery.data(elem, "handle");
				if (handle)handle.elem = null;
				jQuery.removeData(elem, "events");
				jQuery.removeData(elem, "handle");
			}
		}
	},trigger:function(type, data, elem, donative, extra) {
		data = jQuery.makeArray(data);
		if (type.indexOf("!") >= 0) {
			type = type.slice(0, -1);
			var exclusive = true;
		}
		if (!elem) {
			if (this.global[type])jQuery("*").add([window,document]).trigger(type, data);
		} else {
			if (elem.nodeType == 3 || elem.nodeType == 8)return undefined;
			var val,ret,fn = jQuery.isFunction(elem[type] || null),event = !data[0] || !data[0].preventDefault;
			if (event) {
				data.unshift({type:type,target:elem,preventDefault:function() {
				},stopPropagation:function() {
				},timeStamp:now()});
				data[0][expando] = true;
			}
			data[0].type = type;
			if (exclusive)data[0].exclusive = true;
			var handle = jQuery.data(elem, "handle");
			if (handle)val = handle.apply(elem, data);
			if ((!fn || (jQuery.nodeName(elem, 'a') && type == "click")) && elem["on" + type] && elem["on" + type].apply(elem, data) === false)val = false;
			if (event)data.shift();
			if (extra && jQuery.isFunction(extra)) {
				ret = extra.apply(elem, val == null ? data : data.concat(val));
				if (ret !== undefined)val = ret;
			}
			if (fn && donative !== false && val !== false && !(jQuery.nodeName(elem, 'a') && type == "click")) {
				this.triggered = true;
				try {
					elem[type]();
				} catch(e) {
				}
			}
			this.triggered = false;
		}
		return val;
	},handle:function(event) {
		var val,ret,namespace,all,handlers;
		event = arguments[0] = jQuery.event.fix(event || window.event);
		namespace = event.type.split(".");
		event.type = namespace[0];
		namespace = namespace[1];
		all = !namespace && !event.exclusive;
		handlers = (jQuery.data(this, "events") || {})[event.type];
		for (var j in handlers) {
			var handler = handlers[j];
			if (all || handler.type == namespace) {
				event.handler = handler;
				event.data = handler.data;
				ret = handler.apply(this, arguments);
				if (val !== false)val = ret;
				if (ret === false) {
					event.preventDefault();
					event.stopPropagation();
				}
			}
		}
		return val;
	},fix:function(event) {
		if (event[expando] == true)return event;
		var originalEvent = event;
		event = {originalEvent:originalEvent};
		var 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 timeStamp toElement type view wheelDelta which".split(" ");
		for (var i = props.length; i; i--)event[props[i]] = originalEvent[props[i]];
		event[expando] = true;
		event.preventDefault = function() {
			if (originalEvent.preventDefault)originalEvent.preventDefault();
			originalEvent.returnValue = false;
		};
		event.stopPropagation = function() {
			if (originalEvent.stopPropagation)originalEvent.stopPropagation();
			originalEvent.cancelBubble = true;
		};
		event.timeStamp = event.timeStamp || now();
		if (!event.target)event.target = event.srcElement || document;
		if (event.target.nodeType == 3)event.target = event.target.parentNode;
		if (!event.relatedTarget && event.fromElement)event.relatedTarget = event.fromElement == event.target ? event.toElement : event.fromElement;
		if (event.pageX == null && event.clientX != null) {
			var doc = document.documentElement,body = document.body;
			event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc.clientLeft || 0);
			event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc.clientTop || 0);
		}
		if (!event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode))event.which = event.charCode || event.keyCode;
		if (!event.metaKey && event.ctrlKey)event.metaKey = event.ctrlKey;
		if (!event.which && event.button)event.which = (event.button & 1 ? 1 : (event.button & 2 ? 3 : (event.button & 4 ? 2 : 0)));
		return event;
	},proxy:function(fn, proxy) {
		proxy.guid = fn.guid = fn.guid || proxy.guid || this.guid++;
		return proxy;
	},special:{ready:{setup:function() {
		bindReady();
		return;
	},teardown:function() {
		return;
	}},mouseenter:{setup:function() {
		if (jQuery.browser.msie)return false;
		jQuery(this).bind("mouseover", jQuery.event.special.mouseenter.handler);
		return true;
	},teardown:function() {
		if (jQuery.browser.msie)return false;
		jQuery(this).unbind("mouseover", jQuery.event.special.mouseenter.handler);
		return true;
	},handler:function(event) {
		if (withinElement(event, this))return true;
		event.type = "mouseenter";
		return jQuery.event.handle.apply(this, arguments);
	}},mouseleave:{setup:function() {
		if (jQuery.browser.msie)return false;
		jQuery(this).bind("mouseout", jQuery.event.special.mouseleave.handler);
		return true;
	},teardown:function() {
		if (jQuery.browser.msie)return false;
		jQuery(this).unbind("mouseout", jQuery.event.special.mouseleave.handler);
		return true;
	},handler:function(event) {
		if (withinElement(event, this))return true;
		event.type = "mouseleave";
		return jQuery.event.handle.apply(this, arguments);
	}}}};
	jQuery.fn.extend({bind:function(type, data, fn) {
		return type == "unload" ? this.one(type, data, fn) : this.each(function() {
			jQuery.event.add(this, type, fn || data, fn && data);
		});
	},one:function(type, data, fn) {
		var one = jQuery.event.proxy(fn || data, function(event) {
			jQuery(this).unbind(event, one);
			return(fn || data).apply(this, arguments);
		});
		return this.each(function() {
			jQuery.event.add(this, type, one, fn && data);
		});
	},unbind:function(type, fn) {
		return this.each(function() {
			jQuery.event.remove(this, type, fn);
		});
	},trigger:function(type, data, fn) {
		return this.each(function() {
			jQuery.event.trigger(type, data, this, true, fn);
		});
	},triggerHandler:function(type, data, fn) {
		return this[0] && jQuery.event.trigger(type, data, this[0], false, fn);
	},toggle:function(fn) {
		var args = arguments,i = 1;
		while (i < args.length)jQuery.event.proxy(fn, args[i++]);
		return this.click(jQuery.event.proxy(fn, function(event) {
			this.lastToggle = (this.lastToggle || 0) % i;
			event.preventDefault();
			return args[this.lastToggle++].apply(this, arguments) || false;
		}));
	},hover:function(fnOver, fnOut) {
		return this.bind('mouseenter', fnOver).bind('mouseleave', fnOut);
	},ready:function(fn) {
		bindReady();
		if (jQuery.isReady)fn.call(document, jQuery); else
			jQuery.readyList.push(function() {
				return fn.call(this, jQuery);
			});
		return this;
	}});
	jQuery.extend({isReady:false,readyList:[],ready:function() {
		if (!jQuery.isReady) {
			jQuery.isReady = true;
			if (jQuery.readyList) {
				jQuery.each(jQuery.readyList, function() {
					this.call(document);
				});
				jQuery.readyList = null;
			}
			jQuery(document).triggerHandler("ready");
		}
	}});
	var readyBound = false;
	function bindReady() {
		if (readyBound)return;
		readyBound = true;
		if (document.addEventListener && !jQuery.browser.opera)document.addEventListener("DOMContentLoaded", jQuery.ready, false);
		if (jQuery.browser.msie && window == top)(function() {
			if (jQuery.isReady)return;
			try {
				document.documentElement.doScroll("left");
			} catch(error) {
				setTimeout(arguments.callee, 0);
				return;
			}
			jQuery.ready();
		})();
		if (jQuery.browser.opera)document.addEventListener("DOMContentLoaded", function() {
			if (jQuery.isReady)return;
			for (var i = 0; i < document.styleSheets.length; i++)if (document.styleSheets[i].disabled) {
				setTimeout(arguments.callee, 0);
				return;
			}
			jQuery.ready();
		}, false);
		if (jQuery.browser.safari) {
			var numStyles;
			(function() {
				if (jQuery.isReady)return;
				if (document.readyState != "loaded" && document.readyState != "complete") {
					setTimeout(arguments.callee, 0);
					return;
				}
				if (numStyles === undefined)numStyles = jQuery("style, link[rel=stylesheet]").length;
				if (document.styleSheets.length != numStyles) {
					setTimeout(arguments.callee, 0);
					return;
				}
				jQuery.ready();
			})();
		}
		jQuery.event.add(window, "load", jQuery.ready);
	}
	jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick," + "mousedown,mouseup,mousemove,mouseover,mouseout,change,select," + "submit,keydown,keypress,keyup,error").split(","), function(i, name) {
		jQuery.fn[name] = function(fn) {
			return fn ? this.bind(name, fn) : this.trigger(name);
		};
	});
	var withinElement = function(event, elem) {
		var parent = event.relatedTarget;
		while (parent && parent != elem)try {
			parent = parent.parentNode;
		} catch(error) {
			parent = elem;
		}
		return parent == elem;
	};
	jQuery(window).bind("unload", function() {
		jQuery("*").add(document).unbind();
	});
	jQuery.fn.extend({_load:jQuery.fn.load,load:function(url, params, callback) {
		if (typeof url != 'string')return this._load(url);
		var off = url.indexOf(" ");
		if (off >= 0) {
			var selector = url.slice(off, url.length);
			url = url.slice(0, off);
		}
		callback = callback || function() {
		};
		var type = "GET";
		if (params)if (jQuery.isFunction(params)) {
			callback = params;
			params = null;
		} else {
			params = jQuery.param(params);
			type = "POST";
		}
		var self = this;
		jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res, status) {
			if (status == "success" || status == "notmodified")self.html(selector ? jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g, "")).find(selector) : res.responseText);
			self.each(callback, [res.responseText,status,res]);
		}});
		return this;
	},serialize:function() {
		return jQuery.param(this.serializeArray());
	},serializeArray:function() {
		return this.map(function() {
			return jQuery.nodeName(this, "form") ? jQuery.makeArray(this.elements) : this;
		}).filter(function() {
			return this.name && !this.disabled && (this.checked || /select|textarea/i.test(this.nodeName) || /text|hidden|password/i.test(this.type));
		}).map(function(i, elem) {
			var val = jQuery(this).val();
			return val == null ? null : val.constructor == Array ? jQuery.map(val, function(val, i) {
				return{name:elem.name,value:val};
			}) : {name:elem.name,value:val};
		}).get();
	}});
	jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","), function(i, o) {
		jQuery.fn[o] = function(f) {
			return this.bind(o, f);
		};
	});
	var jsc = now();
	jQuery.extend({get:function(url, data, callback, type) {
		if (jQuery.isFunction(data)) {
			callback = data;
			data = null;
		}
		return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});
	},getScript:function(url, callback) {
		return jQuery.get(url, null, callback, "script");
	},getJSON:function(url, data, callback) {
		return jQuery.get(url, data, callback, "json");
	},post:function(url, data, callback, type) {
		if (jQuery.isFunction(data)) {
			callback = data;
			data = {};
		}
		return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});
	},ajaxSetup:function(settings) {
		jQuery.extend(jQuery.ajaxSettings, settings);
	},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,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(s) {
		s = jQuery.extend(true, s, jQuery.extend(true, {}, jQuery.ajaxSettings, s));
		var jsonp,jsre = /=\?(&|$)/g,status,data,type = s.type.toUpperCase();
		if (s.data && s.processData && typeof s.data != "string")s.data = jQuery.param(s.data);
		if (s.dataType == "jsonp") {
			if (type == "GET") {
				if (!s.url.match(jsre))s.url += (s.url.match(/\?/) ? "&" : "?") + (s.jsonp || "callback") + "=?";
			} else if (!s.data || !s.data.match(jsre))s.data = (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + "=?";
			s.dataType = "json";
		}
		if (s.dataType == "json" && (s.data && s.data.match(jsre) || s.url.match(jsre))) {
			jsonp = "jsonp" + jsc++;
			if (s.data)s.data = (s.data + "").replace(jsre, "=" + jsonp + "$1");
			s.url = s.url.replace(jsre, "=" + jsonp + "$1");
			s.dataType = "script";
			window[jsonp] = function(tmp) {
				data = tmp;
				success();
				complete();
				window[jsonp] = undefined;
				try {
					delete window[jsonp];
				} catch(e) {
				}
				if (head)head.removeChild(script);
			};
		}
		if (s.dataType == "script" && s.cache == null)s.cache = false;
		if (s.cache === false && type == "GET") {
			var ts = now();
			var ret = s.url.replace(/(\?|&)_=.*?(&|$)/, "$1_=" + ts + "$2");
			s.url = ret + ((ret == s.url) ? (s.url.match(/\?/) ? "&" : "?") + "_=" + ts : "");
		}
		if (s.data && type == "GET") {
			s.url += (s.url.match(/\?/) ? "&" : "?") + s.data;
			s.data = null;
		}
		if (s.global && !jQuery.active++)jQuery.event.trigger("ajaxStart");
		var remote = /^(?:\w+:)?\/\/([^\/?#]+)/;
		if (s.dataType == "script" && type == "GET" && remote.test(s.url) && remote.exec(s.url)[1] != location.host) {
			var head = document.getElementsByTagName("head")[0];
			var script = document.createElement("script");
			script.src = s.url;
			if (s.scriptCharset)script.charset = s.scriptCharset;
			if (!jsonp) {
				var done = false;
				script.onload = script.onreadystatechange = function() {
					if (!done && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete")) {
						done = true;
						success();
						complete();
						head.removeChild(script);
					}
				};
			}
			head.appendChild(script);
			return undefined;
		}
		var requestDone = false;
		var xhr = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
		if (s.username)xhr.open(type, s.url, s.async, s.username, s.password); else
			xhr.open(type, s.url, s.async);
		try {
			if (s.data)xhr.setRequestHeader("Content-Type", s.contentType);
			if (s.ifModified)xhr.setRequestHeader("If-Modified-Since", jQuery.lastModified[s.url] || "Thu, 01 Jan 1970 00:00:00 GMT");
			xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
			xhr.setRequestHeader("Accept", s.dataType && s.accepts[s.dataType] ? s.accepts[s.dataType] + ", */*" : s.accepts._default);
		} catch(e) {
		}
		if (s.beforeSend && s.beforeSend(xhr, s) === false) {
			s.global && jQuery.active--;
			xhr.abort();
			return false;
		}
		if (s.global)jQuery.event.trigger("ajaxSend", [xhr,s]);
		var onreadystatechange = function(isTimeout) {
			if (!requestDone && xhr && (xhr.readyState == 4 || isTimeout == "timeout")) {
				requestDone = true;
				if (ival) {
					clearInterval(ival);
					ival = null;
				}
				status = isTimeout == "timeout" && "timeout" || !jQuery.httpSuccess(xhr) && "error" || s.ifModified && jQuery.httpNotModified(xhr, s.url) && "notmodified" || "success";
				if (status == "success") {
					try {
						data = jQuery.httpData(xhr, s.dataType, s.dataFilter);
					} catch(e) {
						status = "parsererror";
					}
				}
				if (status == "success") {
					var modRes;
					try {
						modRes = xhr.getResponseHeader("Last-Modified");
					} catch(e) {
					}
					if (s.ifModified && modRes)jQuery.lastModified[s.url] = modRes;
					if (!jsonp)success();
				} else
					jQuery.handleError(s, xhr, status);
				complete();
				if (s.async)xhr = null;
			}
		};
		if (s.async) {
			var ival = setInterval(onreadystatechange, 13);
			if (s.timeout > 0)setTimeout(function() {
				if (xhr) {
					xhr.abort();
					if (!requestDone)onreadystatechange("timeout");
				}
			}, s.timeout);
		}
		try {
			xhr.send(s.data);
		} catch(e) {
			jQuery.handleError(s, xhr, null, e);
		}
		if (!s.async)onreadystatechange();
		function success() {
			if (s.success)s.success(data, status);
			if (s.global)jQuery.event.trigger("ajaxSuccess", [xhr,s]);
		}
		function complete() {
			if (s.complete)s.complete(xhr, status);
			if (s.global)jQuery.event.trigger("ajaxComplete", [xhr,s]);
			if (s.global && !--jQuery.active)jQuery.event.trigger("ajaxStop");
		}
		return xhr;
	},handleError:function(s, xhr, status, e) {
		if (s.error)s.error(xhr, status, e);
		if (s.global)jQuery.event.trigger("ajaxError", [xhr,s,e]);
	},active:0,httpSuccess:function(xhr) {
		try {
			return!xhr.status && location.protocol == "file:" || (xhr.status >= 200 && xhr.status < 300) || xhr.status == 304 || xhr.status == 1223 || jQuery.browser.safari && xhr.status == undefined;
		} catch(e) {
		}
		return false;
	},httpNotModified:function(xhr, url) {
		try {
			var xhrRes = xhr.getResponseHeader("Last-Modified");
			return xhr.status == 304 || xhrRes == jQuery.lastModified[url] || jQuery.browser.safari && xhr.status == undefined;
		} catch(e) {
		}
		return false;
	},httpData:function(xhr, type, filter) {
		var ct = xhr.getResponseHeader("content-type"),xml = type == "xml" || !type && ct && ct.indexOf("xml") >= 0,data = xml ? xhr.responseXML : xhr.responseText;
		if (xml && data.documentElement.tagName == "parsererror")throw"parsererror";
		if (filter)data = filter(data, type);
		if (type == "script")jQuery.globalEval(data);
		if (type == "json")data = eval("(" + data + ")");
		return data;
	},param:function(a) {
		var s = [];
		if (a.constructor == Array || a.jquery)jQuery.each(a, function() {
			s.push(encodeURIComponent(this.name) + "=" + encodeURIComponent(this.value));
		}); else
			for (var j in a)if (a[j] && a[j].constructor == Array)jQuery.each(a[j], function() {
				s.push(encodeURIComponent(j) + "=" + encodeURIComponent(this));
			}); else
				s.push(encodeURIComponent(j) + "=" + encodeURIComponent(jQuery.isFunction(a[j]) ? a[j]() : a[j]));
		return s.join("&").replace(/%20/g, "+");
	}});
	jQuery.fn.extend({show:function(speed, callback) {
		return speed ? this.animate({height:"show",width:"show",opacity:"show"}, speed, callback) : this.filter(":hidden").each(function() {
			this.style.display = this.oldblock || "";
			if (jQuery.css(this, "display") == "none") {
				var elem = jQuery("<" + this.tagName + " />").appendTo("body");
				this.style.display = elem.css("display");
				if (this.style.display == "none")this.style.display = "block";
				elem.remove();
			}
		}).end();
	},hide:function(speed, callback) {
		return speed ? this.animate({height:"hide",width:"hide",opacity:"hide"}, speed, callback) : this.filter(":visible").each(function() {
			this.oldblock = this.oldblock || jQuery.css(this, "display");
			this.style.display = "none";
		}).end();
	},_toggle:jQuery.fn.toggle,toggle:function(fn, fn2) {
		return jQuery.isFunction(fn) && jQuery.isFunction(fn2) ? this._toggle.apply(this, arguments) : fn ? this.animate({height:"toggle",width:"toggle",opacity:"toggle"}, fn, fn2) : this.each(function() {
			jQuery(this)[jQuery(this).is(":hidden") ? "show" : "hide"]();
		});
	},slideDown:function(speed, callback) {
		return this.animate({height:"show"}, speed, callback);
	},slideUp:function(speed, callback) {
		return this.animate({height:"hide"}, speed, callback);
	},slideToggle:function(speed, callback) {
		return this.animate({height:"toggle"}, speed, callback);
	},fadeIn:function(speed, callback) {
		return this.animate({opacity:"show"}, speed, callback);
	},fadeOut:function(speed, callback) {
		return this.animate({opacity:"hide"}, speed, callback);
	},fadeTo:function(speed, to, callback) {
		return this.animate({opacity:to}, speed, callback);
	},animate:function(prop, speed, easing, callback) {
		var optall = jQuery.speed(speed, easing, callback);
		return this[optall.queue === false ? "each" : "queue"](function() {
			if (this.nodeType != 1)return false;
			var opt = jQuery.extend({}, optall),p,hidden = jQuery(this).is(":hidden"),self = this;
			for (p in prop) {
				if (prop[p] == "hide" && hidden || prop[p] == "show" && !hidden)return opt.complete.call(this);
				if (p == "height" || p == "width") {
					opt.display = jQuery.css(this, "display");
					opt.overflow = this.style.overflow;
				}
			}
			if (opt.overflow != null)this.style.overflow = "hidden";
			opt.curAnim = jQuery.extend({}, prop);
			jQuery.each(prop, function(name, val) {
				var e = new jQuery.fx(self, opt, name);
				if (/toggle|show|hide/.test(val))e[val == "toggle" ? hidden ? "show" : "hide" : val](prop); else {
					var parts = val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start = e.cur(true) || 0;
					if (parts) {
						var end = parseFloat(parts[2]),unit = parts[3] || "px";
						if (unit != "px") {
							self.style[name] = (end || 1) + unit;
							start = ((end || 1) / e.cur(true)) * start;
							self.style[name] = start + unit;
						}
						if (parts[1])end = ((parts[1] == "-=" ? -1 : 1) * end) + start;
						e.custom(start, end, unit);
					} else
						e.custom(start, val, "");
				}
			});
			return true;
		});
	},queue:function(type, fn) {
		if (jQuery.isFunction(type) || (type && type.constructor == Array)) {
			fn = type;
			type = "fx";
		}
		if (!type || (typeof type == "string" && !fn))return queue(this[0], type);
		return this.each(function() {
			if (fn.constructor == Array)queue(this, type, fn); else {
				queue(this, type).push(fn);
				if (queue(this, type).length == 1)fn.call(this);
			}
		});
	},stop:function(clearQueue, gotoEnd) {
		var timers = jQuery.timers;
		if (clearQueue)this.queue([]);
		this.each(function() {
			for (var i = timers.length - 1; i >= 0; i--)if (timers[i].elem == this) {
				if (gotoEnd)timers[i](true);
				timers.splice(i, 1);
			}
		});
		if (!gotoEnd)this.dequeue();
		return this;
	}});
	var queue = function(elem, type, array) {
		if (elem) {
			type = type || "fx";
			var q = jQuery.data(elem, type + "queue");
			if (!q || array)q = jQuery.data(elem, type + "queue", jQuery.makeArray(array));
		}
		return q;
	};
	jQuery.fn.dequeue = function(type) {
		type = type || "fx";
		return this.each(function() {
			var q = queue(this, type);
			q.shift();
			if (q.length)q[0].call(this);
		});
	};
	jQuery.extend({speed:function(speed, easing, fn) {
		var opt = speed && speed.constructor == Object ? speed : {complete:fn || !fn && easing || jQuery.isFunction(speed) && speed,duration:speed,easing:fn && easing || easing && easing.constructor != Function && easing};
		opt.duration = (opt.duration && opt.duration.constructor == Number ? opt.duration : jQuery.fx.speeds[opt.duration]) || jQuery.fx.speeds.def;
		opt.old = opt.complete;
		opt.complete = function() {
			if (opt.queue !== false)jQuery(this).dequeue();
			if (jQuery.isFunction(opt.old))opt.old.call(this);
		};
		return opt;
	},easing:{linear:function(p, n, firstNum, diff) {
		return firstNum + diff * p;
	},swing:function(p, n, firstNum, diff) {
		return((-Math.cos(p * Math.PI) / 2) + 0.5) * diff + firstNum;
	}},timers:[],timerId:null,fx:function(elem, options, prop) {
		this.options = options;
		this.elem = elem;
		this.prop = prop;
		if (!options.orig)options.orig = {};
	}});
	jQuery.fx.prototype = {update:function() {
		if (this.options.step)this.options.step.call(this.elem, this.now, this);
		(jQuery.fx.step[this.prop] || jQuery.fx.step._default)(this);
		if (this.prop == "height" || this.prop == "width")this.elem.style.display = "block";
	},cur:function(force) {
		if (this.elem[this.prop] != null && this.elem.style[this.prop] == null)return this.elem[this.prop];
		var r = parseFloat(jQuery.css(this.elem, this.prop, force));
		return r && r > -10000 ? r : parseFloat(jQuery.curCSS(this.elem, this.prop)) || 0;
	},custom:function(from, to, unit) {
		this.startTime = now();
		this.start = from;
		this.end = to;
		this.unit = unit || this.unit || "px";
		this.now = this.start;
		this.pos = this.state = 0;
		this.update();
		var self = this;
		function t(gotoEnd) {
			return self.step(gotoEnd);
		}
		t.elem = this.elem;
		jQuery.timers.push(t);
		if (jQuery.timerId == null) {
			jQuery.timerId = setInterval(function() {
				var timers = jQuery.timers;
				for (var i = 0; i < timers.length; i++)if (!timers[i]())timers.splice(i--, 1);
				if (!timers.length) {
					clearInterval(jQuery.timerId);
					jQuery.timerId = null;
				}
			}, 13);
		}
	},show:function() {
		this.options.orig[this.prop] = jQuery.attr(this.elem.style, this.prop);
		this.options.show = true;
		this.custom(0, this.cur());
		if (this.prop == "width" || this.prop == "height")this.elem.style[this.prop] = "1px";
		jQuery(this.elem).show();
	},hide:function() {
		this.options.orig[this.prop] = jQuery.attr(this.elem.style, this.prop);
		this.options.hide = true;
		this.custom(this.cur(), 0);
	},step:function(gotoEnd) {
		var t = now();
		if (gotoEnd || t > this.options.duration + this.startTime) {
			this.now = this.end;
			this.pos = this.state = 1;
			this.update();
			this.options.curAnim[this.prop] = true;
			var done = true;
			for (var i in this.options.curAnim)if (this.options.curAnim[i] !== true)done = false;
			if (done) {
				if (this.options.display != null) {
					this.elem.style.overflow = this.options.overflow;
					this.elem.style.display = this.options.display;
					if (jQuery.css(this.elem, "display") == "none")this.elem.style.display = "block";
				}
				if (this.options.hide)this.elem.style.display = "none";
				if (this.options.hide || this.options.show)for (var p in this.options.curAnim)jQuery.attr(this.elem.style, p, this.options.orig[p]);
			}
			if (done)this.options.complete.call(this.elem);
			return false;
		} else {
			var n = t - this.startTime;
			this.state = n / this.options.duration;
			this.pos = jQuery.easing[this.options.easing || (jQuery.easing.swing ? "swing" : "linear")](this.state, n, 0, 1, this.options.duration);
			this.now = this.start + ((this.end - this.start) * this.pos);
			this.update();
		}
		return true;
	}};
	jQuery.extend(jQuery.fx, {speeds:{slow:600,fast:200,def:400},step:{scrollLeft:function(fx) {
		fx.elem.scrollLeft = fx.now;
	},scrollTop:function(fx) {
		fx.elem.scrollTop = fx.now;
	},opacity:function(fx) {
		jQuery.attr(fx.elem.style, "opacity", fx.now);
	},_default:function(fx) {
		fx.elem.style[fx.prop] = fx.now + fx.unit;
	}}});
	jQuery.fn.offset = function() {
		var left = 0,top = 0,elem = this[0],results;
		if (elem)with (jQuery.browser) {
			var parent = elem.parentNode,offsetChild = elem,offsetParent = elem.offsetParent,doc = elem.ownerDocument,safari2 = safari && parseInt(version) < 522 && !/adobeair/i.test(userAgent),css = jQuery.curCSS,fixed = css(elem, "position") == "fixed";
			if (elem.getBoundingClientRect) {
				var box = elem.getBoundingClientRect();
				add(box.left + Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft), box.top + Math.max(doc.documentElement.scrollTop, doc.body.scrollTop));
				add(-doc.documentElement.clientLeft, -doc.documentElement.clientTop);
			} else {
				add(elem.offsetLeft, elem.offsetTop);
				while (offsetParent) {
					add(offsetParent.offsetLeft, offsetParent.offsetTop);
					if (mozilla && !/^t(able|d|h)$/i.test(offsetParent.tagName) || safari && !safari2)border(offsetParent);
					if (!fixed && css(offsetParent, "position") == "fixed")fixed = true;
					offsetChild = /^body$/i.test(offsetParent.tagName) ? offsetChild : offsetParent;
					offsetParent = offsetParent.offsetParent;
				}
				while (parent && parent.tagName && !/^body|html$/i.test(parent.tagName)) {
					if (!/^inline|table.*$/i.test(css(parent, "display")))add(-parent.scrollLeft, -parent.scrollTop);
					if (mozilla && css(parent, "overflow") != "visible")border(parent);
					parent = parent.parentNode;
				}
				if ((safari2 && (fixed || css(offsetChild, "position") == "absolute")) || (mozilla && css(offsetChild, "position") != "absolute"))add(-doc.body.offsetLeft, -doc.body.offsetTop);
				if (fixed)add(Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft), Math.max(doc.documentElement.scrollTop, doc.body.scrollTop));
			}
			results = {top:top,left:left};
		}
		function border(elem) {
			add(jQuery.curCSS(elem, "borderLeftWidth", true), jQuery.curCSS(elem, "borderTopWidth", true));
		}
		function add(l, t) {
			left += parseInt(l, 10) || 0;
			top += parseInt(t, 10) || 0;
		}
		return results;
	};
	jQuery.fn.extend({position:function() {
		var left = 0,top = 0,results;
		if (this[0]) {
			var offsetParent = this.offsetParent(),offset = this.offset(),parentOffset = /^body|html$/i.test(offsetParent[0].tagName) ? {top:0,left:0} : offsetParent.offset();
			offset.top -= num(this, 'marginTop');
			offset.left -= num(this, 'marginLeft');
			parentOffset.top += num(offsetParent, 'borderTopWidth');
			parentOffset.left += num(offsetParent, 'borderLeftWidth');
			results = {top:offset.top - parentOffset.top,left:offset.left - parentOffset.left};
		}
		return results;
	},offsetParent:function() {
		var offsetParent = this[0].offsetParent;
		while (offsetParent && (!/^body|html$/i.test(offsetParent.tagName) && jQuery.css(offsetParent, 'position') == 'static'))offsetParent = offsetParent.offsetParent;
		return jQuery(offsetParent);
	}});
	jQuery.each(['Left','Top'], function(i, name) {
		var method = 'scroll' + name;
		jQuery.fn[method] = function(val) {
			if (!this[0])return;
			return val != undefined ? this.each(function() {
				this == window || this == document ? window.scrollTo(!i ? val : jQuery(window).scrollLeft(), i ? val : jQuery(window).scrollTop()) : this[method] = val;
			}) : this[0] == window || this[0] == document ? self[i ? 'pageYOffset' : 'pageXOffset'] || jQuery.boxModel && document.documentElement[method] || document.body[method] : this[0][method];
		};
	});
	jQuery.each(["Height","Width"], function(i, name) {
		var tl = i ? "Left" : "Top",br = i ? "Right" : "Bottom";
		jQuery.fn["inner" + name] = function() {
			return this[name.toLowerCase()]() + num(this, "padding" + tl) + num(this, "padding" + br);
		};
		jQuery.fn["outer" + name] = function(margin) {
			return this["inner" + name]() + num(this, "border" + tl + "Width") + num(this, "border" + br + "Width") + (margin ? num(this, "margin" + tl) + num(this, "margin" + br) : 0);
		};
	});
})();

//script: metadata
/*
 * Metadata - jQuery plugin for parsing metadata from elements
 *
 * Copyright (c) 2006 John Resig, Yehuda Katz, J?örn Zaefferer, Paul McLanahan
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 * Revision: $Id: jquery.metadata.js 3620 2007-10-10 20:55:38Z pmclanahan $
 *
 */
(function($){$.extend({metadata:{defaults:{type:'class',name:'metadata',cre:/({.*})/,single:'metadata'},setType:function(type,name){this.defaults.type=type;this.defaults.name=name;},get:function(elem,opts){var settings=$.extend({},this.defaults,opts);if(!settings.single.length)settings.single='metadata';var data=$.data(elem,settings.single);if(data)return data;data="{}";if(settings.type=="class"){var m=settings.cre.exec(elem.className);if(m)data=m[1];}else if(settings.type=="elem"){if(!elem.getElementsByTagName)return;var e=elem.getElementsByTagName(settings.name);if(e.length)data=$.trim(e[0].innerHTML);}else if(elem.getAttribute!=undefined){var attr=elem.getAttribute(settings.name);if(attr)data=attr;}if(data.indexOf('{')<0)data="{"+data+"}";data=eval("("+data+")");$.data(elem,settings.single,data);return data;}}});$.fn.metadata=function(opts){return $.metadata.get(this[0],opts);};})(jQuery);

// script:easing
/*
 * jQuery EasIng v1.1.2 - http://gsgd.co.uk/sandbox/jquery.easIng.php
 *
 * Uses the built In easIng capabilities added In jQuery 1.1
 * to offer multiple easIng options
 *
 * Copyright (c) 2007 George Smith
 * Licensed under the MIT License:
 *   http://www.opensource.org/licenses/mit-license.php
 */

// t: current time, b: begInnIng value, c: change In value, d: duration

jQuery.extend(jQuery.easing,
{
	easeInQuad: function (x, t, b, c, d) {
		return c * (t /= d) * t + b;
	},
	easeOutQuad: function (x, t, b, c, d) {
		return -c * (t /= d) * (t - 2) + b;
	},
	easeInOutQuad: function (x, t, b, c, d) {
		if ((t /= d / 2) < 1) return c / 2 * t * t + b;
		return -c / 2 * ((--t) * (t - 2) - 1) + b;
	},
	easeInCubic: function (x, t, b, c, d) {
		return c * (t /= d) * t * t + b;
	},
	easeOutCubic: function (x, t, b, c, d) {
		return c * ((t = t / d - 1) * t * t + 1) + b;
	},
	easeInOutCubic: function (x, t, b, c, d) {
		if ((t /= d / 2) < 1) return c / 2 * t * t * t + b;
		return c / 2 * ((t -= 2) * t * t + 2) + b;
	},
	easeInQuart: function (x, t, b, c, d) {
		return c * (t /= d) * t * t * t + b;
	},
	easeOutQuart: function (x, t, b, c, d) {
		return -c * ((t = t / d - 1) * t * t * t - 1) + b;
	},
	easeInOutQuart: function (x, t, b, c, d) {
		if ((t /= d / 2) < 1) return c / 2 * t * t * t * t + b;
		return -c / 2 * ((t -= 2) * t * t * t - 2) + b;
	},
	easeInQuint: function (x, t, b, c, d) {
		return c * (t /= d) * t * t * t * t + b;
	},
	easeOutQuint: function (x, t, b, c, d) {
		return c * ((t = t / d - 1) * t * t * t * t + 1) + b;
	},
	easeInOutQuint: function (x, t, b, c, d) {
		if ((t /= d / 2) < 1) return c / 2 * t * t * t * t * t + b;
		return c / 2 * ((t -= 2) * t * t * t * t + 2) + b;
	},
	easeInSine: function (x, t, b, c, d) {
		return -c * Math.cos(t / d * (Math.PI / 2)) + c + b;
	},
	easeOutSine: function (x, t, b, c, d) {
		return c * Math.sin(t / d * (Math.PI / 2)) + b;
	},
	easeInOutSine: function (x, t, b, c, d) {
		return -c / 2 * (Math.cos(Math.PI * t / d) - 1) + b;
	},
	easeInExpo: function (x, t, b, c, d) {
		return (t == 0) ? b : c * Math.pow(2, 10 * (t / d - 1)) + b;
	},
	easeOutExpo: function (x, t, b, c, d) {
		return (t == d) ? b + c : c * (-Math.pow(2, -10 * t / d) + 1) + b;
	},
	easeInOutExpo: function (x, t, b, c, d) {
		if (t == 0) return b;
		if (t == d) return b + c;
		if ((t /= d / 2) < 1) return c / 2 * Math.pow(2, 10 * (t - 1)) + b;
		return c / 2 * (-Math.pow(2, -10 * --t) + 2) + b;
	},
	easeInCirc: function (x, t, b, c, d) {
		return -c * (Math.sqrt(1 - (t /= d) * t) - 1) + b;
	},
	easeOutCirc: function (x, t, b, c, d) {
		return c * Math.sqrt(1 - (t = t / d - 1) * t) + b;
	},
	easeInOutCirc: function (x, t, b, c, d) {
		if ((t /= d / 2) < 1) return -c / 2 * (Math.sqrt(1 - t * t) - 1) + b;
		return c / 2 * (Math.sqrt(1 - (t -= 2) * t) + 1) + b;
	},
	easeInElastic: function (x, t, b, c, d) {
		var s = 1.70158;
		var p = 0;
		var a = c;
		if (t == 0) return b;
		if ((t /= d) == 1) return b + c;
		if (!p) p = d * .3;
		if (a < Math.abs(c)) {
			a = c;
			var s = p / 4;
		}
		else var s = p / (2 * Math.PI) * Math.asin(c / a);
		return -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b;
	},
	easeOutElastic: function (x, t, b, c, d) {
		var s = 1.70158;
		var p = 0;
		var a = c;
		if (t == 0) return b;
		if ((t /= d) == 1) return b + c;
		if (!p) p = d * .3;
		if (a < Math.abs(c)) {
			a = c;
			var s = p / 4;
		}
		else var s = p / (2 * Math.PI) * Math.asin(c / a);
		return a * Math.pow(2, -10 * t) * Math.sin((t * d - s) * (2 * Math.PI) / p) + c + b;
	},
	easeInOutElastic: function (x, t, b, c, d) {
		var s = 1.70158;
		var p = 0;
		var a = c;
		if (t == 0) return b;
		if ((t /= d / 2) == 2) return b + c;
		if (!p) p = d * (.3 * 1.5);
		if (a < Math.abs(c)) {
			a = c;
			var s = p / 4;
		}
		else var s = p / (2 * Math.PI) * Math.asin(c / a);
		if (t < 1) return -.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b;
		return a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p) * .5 + c + b;
	},
	easeInBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c * (t /= d) * t * ((s + 1) * t - s) + b;
	},
	easeOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b;
	},
	easeInOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		if ((t /= d / 2) < 1) return c / 2 * (t * t * (((s *= (1.525)) + 1) * t - s)) + b;
		return c / 2 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2) + b;
	},
	easeInBounce: function (x, t, b, c, d) {
		return c - jQuery.easing.easeOutBounce(x, d - t, 0, c, d) + b;
	},
	easeOutBounce: function (x, t, b, c, d) {
		if ((t /= d) < (1 / 2.75)) {
			return c * (7.5625 * t * t) + b;
		} else if (t < (2 / 2.75)) {
			return c * (7.5625 * (t -= (1.5 / 2.75)) * t + .75) + b;
		} else if (t < (2.5 / 2.75)) {
			return c * (7.5625 * (t -= (2.25 / 2.75)) * t + .9375) + b;
		} else {
			return c * (7.5625 * (t -= (2.625 / 2.75)) * t + .984375) + b;
		}
	},
	easeInOutBounce: function (x, t, b, c, d) {
		if (t < d / 2) return jQuery.easing.easeInBounce(x, t * 2, 0, c, d) * .5 + b;
		return jQuery.easing.easeOutBounce(x, t * 2 - d, 0, c, d) * .5 + c * .5 + b;
	}
});

//script: corner
if ($.browser.msie && !window.CanvasRenderingContext2D) {
	(function() {
		var m = Math,mr = m.round,ms = m.sin,mc = m.cos;
		var Z = 10;
		var B = Z / 2;
		var C = {init:function(a) {
			var b = a || document;
			if (jQuery.browser.msie) {
				var c = this;
				b.attachEvent("onreadystatechange", function() {
					c.init_(b)
				})
			}
		},init_:function(a) {
			if (a.readyState == "complete") {
				if (!a.namespaces["g_vml_"]) {
					a.namespaces.add("g_vml_", "urn:schemas-microsoft-com:vml")
				}
				var b = a.createStyleSheet();
				b.cssText = "canvas{display:inline-block;overflow:hidden;" + "text-align:left;width:300px;height:150px}" + "g_vml_\\:*{behavior:url(#default#VML)}"
			}
		},i:function(a) {
			a.getContext = function() {
				if (this.context_) {
					return this.context_
				}
				return this.context_ = new CR_(this)
			};
			var b = a.attributes;
			if (b.width && b.width.specified) {
				a.style.width = b.width.nodeValue + "px"
			} else {
				a.width = a.clientWidth
			}
			if (b.height && b.height.specified) {
				a.style.height = b.height.nodeValue + "px"
			} else {
				a.height = a.clientHeight
			}
			return a
		}};
		C.init();
		function cM() {
			return[[1,0,0],[0,1,0],[0,0,1]]
		}
		function pS(a) {
			var b,alpha = 1;
			a = String(a);
			if (a.substring(0, 3) == "rgb") {
				var c = a.indexOf("(", 3);
				var d = a.indexOf(")", c + 1);
				var e = a.substring(c + 1, d).split(",");
				b = "#";
				for (var i = 0; i < 3; i++) {
					b += dec2hex[Number(e[i])]
				}
				if ((e.length == 4) && (a.substr(3, 1) == "a")) {
					alpha = e[3]
				}
			} else {
				b = a
			}
			return[b,alpha]
		}
		function pL(a) {
			switch (a) {case"butt":return"flat";case"round":return"round";case"square":default:return"square"}
		}
		function CR_(a) {
			this.m_ = cM();
			this.mStack_ = [];
			this.aStack_ = [];
			this.currentPath_ = [];
			this.strokeStyle = "#000";
			this.fillStyle = "#000";
			this.lineWidth = 1;
			this.lineJoin = "miter";
			this.lineCap = "butt";
			this.miterLimit = Z * 1;
			this.globalAlpha = 1;
			this.canvas = a;
			var b = a.ownerDocument.createElement('div');
			b.style.width = a.clientWidth + 'px';
			b.style.height = a.clientHeight + 'px';
			b.style.overflow = 'hidden';
			b.style.position = 'absolute';
			a.appendChild(b);
			this.element_ = b;
			this.arcScaleX_ = 1;
			this.arcScaleY_ = 1
		}
		;
		var D = CR_.prototype;
		D.beginPath = function() {
			this.currentPath_ = []
		};
		D.moveTo = function(a, b) {
			this.currentPath_.push({type:"moveTo",x:a,y:b});
			this.currentX_ = a;
			this.currentY_ = b
		};
		D.lineTo = function(a, b) {
			this.currentPath_.push({type:"lineTo",x:a,y:b});
			this.currentX_ = a;
			this.currentY_ = b
		};
		D.bezierCurveTo = function(a, b, c, d, e, f) {
			this.currentPath_.push({type:"bezierCurveTo",cp1x:a,cp1y:b,cp2x:c,cp2y:d,x:e,y:f});
			this.currentX_ = e;
			this.currentY_ = f
		};
		D.fillRect = function(a, b, c, d) {
			this.beginPath();
			this.moveTo(a, b);
			this.lineTo(a + c, b);
			this.lineTo(a + c, b + d);
			this.lineTo(a, b + d);
			this.closePath();
			this.fill()
		};
		D.stroke = function(d) {
			var e = [];
			var f = false;
			var a = pS(d ? this.fillStyle : this.strokeStyle);
			var g = a[0];
			var h = a[1] * this.globalAlpha;
			var W = 10;
			var H = 10;
			e.push('<g_vml_:shape', ' fillcolor="', g, '"', ' filled="', Boolean(d), '"', ' style="position:absolute;width:', W, ';height:', H, ';"', ' coordorigin="0 0" coordsize="', Z * W, ' ', Z * H, '"', ' stroked="', !d, '"', ' strokeweight="', this.lineWidth, '"', ' strokecolor="', g, '"', ' path="');
			var j = false;
			var k = {x:null,y:null};
			var l = {x:null,y:null};
			for (var i = 0; i < this.currentPath_.length; i++) {
				var p = this.currentPath_[i];
				if (p.type == "moveTo") {
					e.push(" m ");
					var c = this.gC_(p.x, p.y);
					e.push(mr(c.x), ",", mr(c.y))
				} else if (p.type == "lineTo") {
					e.push(" l ");
					var c = this.gC_(p.x, p.y);
					e.push(mr(c.x), ",", mr(c.y))
				} else if (p.type == "close") {
					e.push(" x ")
				} else if (p.type == "bezierCurveTo") {
					e.push(" c ");
					var c = this.gC_(p.x, p.y);
					var m = this.gC_(p.cp1x, p.cp1y);
					var n = this.gC_(p.cp2x, p.cp2y);
					e.push(mr(m.x), ",", mr(m.y), ",", mr(n.x), ",", mr(n.y), ",", mr(c.x), ",", mr(c.y))
				} else if (p.type == "at" || p.type == "wa") {
					e.push(" ", p.type, " ");
					var c = this.gC_(p.x, p.y);
					var o = this.gC_(p.xStart, p.yStart);
					var q = this.gC_(p.xEnd, p.yEnd);
					e.push(mr(c.x - this.arcScaleX_ * p.radius), ",", mr(c.y - this.arcScaleY_ * p.radius), " ", mr(c.x + this.arcScaleX_ * p.radius), ",", mr(c.y + this.arcScaleY_ * p.radius), " ", mr(o.x), ",", mr(o.y), " ", mr(q.x), ",", mr(q.y))
				}
				if (c) {
					if (k.x == null || c.x < k.x) {
						k.x = c.x
					}
					if (l.x == null || c.x > l.x) {
						l.x = c.x
					}
					if (k.y == null || c.y < k.y) {
						k.y = c.y
					}
					if (l.y == null || c.y > l.y) {
						l.y = c.y
					}
				}
			}
			e.push(' ">');
			if (typeof this.fillStyle == "object") {
				var r = {x:"50%",y:"50%"};
				var s = (l.x - k.x);
				var t = (l.y - k.y);
				var u = (s > t) ? s : t;
				r.x = mr((this.fillStyle.focus_.x / s) * 100 + 50) + "%";
				r.y = mr((this.fillStyle.focus_.y / t) * 100 + 50) + "%";
				var v = [];
				if (this.fillStyle.type_ == "gradientradial") {
					var w = (this.fillStyle.radius1_ / u * 100);
					var x = (this.fillStyle.radius2_ / u * 100) - w
				} else {
					var w = 0;
					var x = 100
				}
				var y = {offset:null,color:null};
				var z = {offset:null,color:null};
				this.fillStyle.colors_.sort(function(a, b) {
					return a.offset - b.offset
				});
				for (var i = 0; i < this.fillStyle.colors_.length; i++) {
					var A = this.fillStyle.colors_[i];
					v.push((A.offset * x) + w, "% ", A.color, ",");
					if (A.offset > y.offset || y.offset == null) {
						y.offset = A.offset;
						y.color = A.color
					}
					if (A.offset < z.offset || z.offset == null) {
						z.offset = A.offset;
						z.color = A.color
					}
				}
				v.pop();
				e.push('<g_vml_:fill', ' color="', z.color, '"', ' color2="', y.color, '"', ' type="', this.fillStyle.type_, '"', ' focusposition="', r.x, ', ', r.y, '"', ' colors="', v.join(""), '"', ' opacity="', h, '" />')
			} else if (d) {
				e.push('<g_vml_:fill color="', g, '" opacity="', h, '" />')
			} else {
				e.push('<g_vml_:stroke', ' opacity="', h, '"', ' joinstyle="', this.lineJoin, '"', ' miterlimit="', this.miterLimit, '"', ' endcap="', pL(this.lineCap), '"', ' weight="', this.lineWidth, 'px"', ' color="', g, '" />')
			}
			e.push("</g_vml_:shape>");
			this.element_.insertAdjacentHTML("beforeEnd", e.join(""));
			this.currentPath_ = []
		};
		D.fill = function() {
			this.stroke(true)
		};
		D.closePath = function() {
			this.currentPath_.push({type:"close"})
		};
		D.gC_ = function(a, b) {
			return{x:Z * (a * this.m_[0][0] + b * this.m_[1][0] + this.m_[2][0]) - B,y:Z * (a * this.m_[0][1] + b * this.m_[1][1] + this.m_[2][1]) - B}
		};
		G_vmlCMjrc = C
	})()
}
(function($) {
	var L = function(i) {
		return parseInt(i, 10) || 0
	};
	var M = function(a, b) {
		return a - b
	};
	var N = function(a) {
		var b = a.concat();
		return b.sort(M)[0]
	};
	var O = function(a, p) {
		var w = a.css('border' + p + 'Width');
		if ($.browser.msie) {
			if (w == 'thin')w = 2;
			if (w == 'medium' && !(a.css('border' + p + 'Style') == 'none'))w = 4;
			if (w == 'thick')w = 6
		}
		return L(w)
	};
	var P = function(e, a, b, c, d) {
		if (e == 'tl')return a;
		if (e == 'tr')return b;
		if (e == 'bl')return c;
		if (e == 'br')return d
	};
	var Q = function(a, b, c, d, e, f, g) {
		var h,curve_to;
		var i = /^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/;
		var j = i.exec(d);
		if (j) {
			var k = [L(j[1]),L(j[2]),L(j[3])];
			d = 'rgb(' + k[0] + ', ' + k[1] + ', ' + k[2] + ')'
		}
		e = L(e);
		var l = a.getContext('2d');
		if (b == 1 || g == 'notch') {
			if (e > 0 && b > 1) {
				l.fillStyle = f;
				l.fillRect(0, 0, b, b);
				l.fillStyle = d;
				h = P(c, [0 - e,0 - e], [e,0 - e], [0 - e,e], [e,e]);
				l.fillRect(h[0], h[1], b, b)
			} else {
				l.fillStyle = d;
				l.fillRect(0, 0, b, b)
			}
			return a
		} else if (g == 'bevel') {
			h = P(c, [0,0,0,b,b,0,0,0], [0,0,b,b,b,0,0,0], [0,0,b,b,0,b,0,0], [b,b,b,0,0,b,b,b]);
			l.fillStyle = d;
			l.beginPath();
			l.moveTo(h[0], h[1]);
			l.lineTo(h[2], h[3]);
			l.lineTo(h[4], h[5]);
			l.lineTo(h[6], h[7]);
			l.fill();
			if (e > 0 && e < b) {
				l.strokeStyle = f;
				l.lineWidth = e;
				l.beginPath();
				h = P(c, [0,b,b,0], [0,0,b,b], [b,b,0,0], [0,b,b,0]);
				l.moveTo(h[0], h[1]);
				l.lineTo(h[2], h[3]);
				l.stroke()
			}
			return a
		}
		h = P(c, [0,0,b,0,b,0,0,b,0,0], [b,0,b,b,b,0,0,0,0,0], [0,b,b,b,0,b,0,0,0,b], [b,b,b,0,b,0,0,b,b,b]);
		l.fillStyle = d;
		l.beginPath();
		l.moveTo(h[0], h[1]);
		l.lineTo(h[2], h[3]);
		if (c == 'br')l.bezierCurveTo(h[4], h[5], b, b, h[6], h[7]); else l.bezierCurveTo(h[4], h[5], 0, 0, h[6], h[7]);
		l.lineTo(h[8], h[9]);
		l.fill();
		if (e > 0 && e < b) {
			var m = e / 2;
			h = P(c, [b - m,m,b - m,m,m,b - m], [b - m,b - m,b - m,m,m,m], [b - m,b - m,m,b - m,m,m,m,b - m], [b - m,m,b - m,m,m,b - m,b - m,b - m]);
			curve_to = P(c, [0,0], [0,0], [0,0], [b,b]);
			l.strokeStyle = f;
			l.lineWidth = e;
			l.beginPath();
			l.moveTo(h[0], h[1]);
			l.bezierCurveTo(h[2], h[3], curve_to[0], curve_to[1], h[4], h[5]);
			l.stroke()
		}
		return a
	};
	var R = function(p, a) {
		var b = document.createElement('canvas');
		b.setAttribute("height", a);
		b.setAttribute("width", a);
		b.style.display = "block";
		b.style.position = "absolute";
		b.className = "jrCorner";
		S(p, b);
		if (!T) {
			if (typeof G_vmlCanvasManager == "object") {
				b = G_vmlCanvasManager.initElement(b)
			} else if (typeof G_vmlCMjrc == "object") {
				b = G_vmlCMjrc.i(b)
			} else {
				throw Error('Could not find excanvas');
			}
		}
		return b
	};
	var S = function(p, a) {
		if (p.is("table")) {
			p.children("tbody").children("tr:first").children("td:first").append(a);
			p.css('display', 'block')
		} else if (p.is("td")) {
			if (p.children(".JrcTdContainer").length === 0) {
				p.html('<div class="JrcTdContainer" style="padding:0px;position:relative;margin:-1px;zoom:1;">' + p.html() + '</div>');
				p.css('zoom', '1');
				if ($.browser.msie && typeof document.body.style.maxHeight == "undefined") {
					p.children(".JrcTdContainer").get(0).style.setExpression("height", "this.parentNode.offsetHeight")
				}
			}
			p.children(".JrcTdContainer").append(a)
		} else {
			p.append(a)
		}
	};
	var T = typeof document.createElement('canvas').getContext == "function";
	var U = function(y) {
		if (y == "destroy") {
			return this.each(function() {
				var p,elm = $(this);
				if (elm.is(".jrcRounded")) {
					if (elm.is("table"))p = elm.children("tbody").children("tr:first").children("td:first"); else if (elm.is("td"))p = elm.children(".JrcTdContainer"); else p = elm;
					p.children(".jrCorner").remove();
					elm.unbind('mouseleave.jrc').unbind('mouseenter.jrc').removeClass('jrcRounded');
					if (elm.is("td"))elm.html(elm.children(".JrcTdContainer").html())
				}
			})
		}
		if (this.length == 0 || !(T || $.browser.msie)) {
			return this
		}
		var o = (y || "").toLowerCase();
		var z = L((o.match(/(\d+)px/) || [])[1]) || "auto";
		var A = ((o.match(/(#[0-9a-f]+)/) || [])[1]) || "auto";
		var B = /round|bevel|notch|bite|cool|sharp|slide|jut|curl|tear|fray|wicked|sculpt|long|dog3|dog2|dog/;
		var C = ((o.match(B) || ['round'])[0]);
		var D = /hover/.test(o);
		var E = o.match("hiddenparent");
		var F = {T:0,B:1};
		var G = {tl:/top|tl/.test(o),tr:/top|tr/.test(o),bl:/bottom|bl/.test(o),br:/bottom|br/.test(o)};
		if (!G.tl && !G.tr && !G.bl && !G.br)G = {tl:1,tr:1,bl:1,br:1};
		var H = this.length;
		var I = arguments.length;
		var J = arguments[1];
		var K = this;
		return this.each(function(c) {
			var d = $(this),rbg = null,bg,s,b,pr;
			if (A == "auto") {
				s = d.siblings(".jrcRounded:eq(0)");
				if (s.length > 0) {
					b = s.data("rbg.jrc");
					if (typeof b == "string") {
						rbg = b
					}
				}
			}
			if (E || rbg === null) {
				var e = d.parent(),h_p = new Array(),a = 0;
				while ((typeof e == 'object') && !e.is("html")) {
					if (E && e.css('display') == 'none') {
						h_p.push({oc:{display:e.css('display'),visibility:e.css('visibility')},elm:e});
						e.css({display:'block',visibility:'hidden'})
					}
					if (rbg === null && e.css('background-color') != "transparent" && e.css('background-color') != "rgba(0, 0, 0, 0)") {
						rbg = e.css('background-color')
					}
					e = e.parent()
				}
				if (rbg === null)rbg = "#ffffff"
			}
			if (A == "auto") {
				bg = rbg;
				d.data("rbg.jrc", rbg)
			} else {
				bg = A
			}
			if (D) {
				var f = y.replace(/hover/i, "");
				d.bind("mouseenter.jrc", function() {
					d.addClass('jrcHover');
					d.corner(f)
				});
				d.bind("mouseleave.jrc", function() {
					d.removeClass('jrcHover');
					d.corner(f)
				})
			}
			if ($.browser.msie && typeof document.body.style.maxHeight == "undefined") {
				if (d.css('display') == 'inline') {
					d.css('zoom', '1')
				}
				if (d.css('height') == 'auto') {
					d.height(d.height())
				}
				if (d.width() % 2 != 0) {
					d.width(d.width() + 1)
				}
				if (d.height() % 2 != 0) {
					d.height(d.height() + 1)
				}
				if (d.css('lineHeight') != 'normal' && d.height() < d.css('lineHeight')) {
					d.css('lineHeight', d.height())
				}
				if (d.css('lineHeight') == 'normal' && d.css('display') != 'inline')d.css('lineHeight', '1')
			}
			var g = [d.get(0).offsetHeight,d.get(0).offsetWidth];
			if (d.height() != 0)g[g.length] = d.height();
			if (d.width() != 0)g[g.length] = d.width();
			var h = N(g);
			if (z == "auto") {
				z = h / 2;
				if (z > 10)z = 10
			}
			if (z > h / 2)z = h / 2;
			z = Math.floor(z);
			if (d.css('position') == 'static' && !d.is("td")) {
				d.css('position', 'relative')
			} else if (d.css('position') == 'fixed' && $.browser.msie && !(document.compatMode == 'CSS1Compat' && typeof document.body.style.maxHeight != "undefined")) {
				d.css('position', 'absolute')
			}
			d.css('overflow', 'visible');
			var j = O(d, 'Top');
			var k = O(d, 'Right');
			var l = O(d, 'Bottom');
			var m = O(d, 'Left');
			var n = new Array();
			if (G.tl || G.tr)n.push(j);
			if (G.br || G.tr)n.push(k);
			if (G.br || G.bl)n.push(l);
			if (G.bl || G.tl)n.push(m);
			var o = N(n);
			var p = 0 - j;
			var q = 0 - k;
			var r = 0 - l;
			var t = 0 - m;
			if (d.is("table"))pr = d.children("tbody").children("tr:first").children("td:first"); else if (d.is("td"))pr = d.children(".JrcTdContainer"); else pr = d;
			if (G.tl) {
				pr.children(".jrcTL").remove();
				var u = Q(R(d, z), z, 'tl', bg, o, d.css('borderTopColor'), C);
				$(u).css({left:t,top:p}).addClass('jrcTL')
			}
			if (G.tr) {
				pr.children(".jrcTR").remove();
				var v = Q(R(d, z), z, 'tr', bg, o, d.css('borderTopColor'), C);
				$(v).css({right:q,top:p}).addClass('jrcTR')
			}
			if (G.bl) {
				pr.children(".jrcBL").remove();
				var w = Q(R(d, z), z, 'bl', bg, o, d.css('borderBottomColor'), C);
				$(w).css({left:t,bottom:r}).addClass('jrcBL')
			}
			if (G.br) {
				pr.children(".jrcBR").remove();
				var x = Q(R(d, z), z, 'br', bg, o, d.css('borderBottomColor'), C);
				$(x).css({right:q,bottom:r}).addClass('jrcBR')
			}
			if (typeof h_p != "undefined") {
				for (var i = 0; i < h_p.length; i++) {
					h_p[i].elm.css(h_p[i].oc)
				}
			}
			d.addClass('jrcRounded');
			if (c === H - 1 && I == 2 && typeof J == "function")J(K)
		})
	};
	$.fn.corner = U
})(jQuery);

//script: flash
;
(function() {
	var $$;
	$$ = jQuery.fn.flash = function(htmlOptions, pluginOptions, replace, update) {
		var block = replace || $$.replace;
		pluginOptions = $$.copy($$.pluginOptions, pluginOptions);
		if (!$$.hasFlash(pluginOptions.version)) {
			if (pluginOptions.expressInstall && $$.hasFlash(6, 0, 65)) {
				var expressInstallOptions = {flashvars:{MMredirectURL:location,MMplayerType:'PlugIn',MMdoctitle:jQuery('title').text()}};
			} else if (pluginOptions.update) {
				block = update || $$.update;
			} else {
				return this;
			}
		}
		htmlOptions = $$.copy($$.htmlOptions, expressInstallOptions, htmlOptions);
		return this.each(function() {
			block.call(this, $$.copy(htmlOptions));
		});
	};
	$$.copy = function() {
		var options = {},flashvars = {};
		for (var i = 0; i < arguments.length; i++) {
			var arg = arguments[i];
			if (arg == undefined)continue;
			jQuery.extend(options, arg);
			if (arg.flashvars == undefined)continue;
			jQuery.extend(flashvars, arg.flashvars);
		}
		options.flashvars = flashvars;
		return options;
	};
	$$.hasFlash = function() {
		if (/hasFlash\=true/.test(location))return true;
		if (/hasFlash\=false/.test(location))return false;
		var pv = $$.hasFlash.playerVersion().match(/\d+/g);
		var rv = String([arguments[0],arguments[1],arguments[2]]).match(/\d+/g) || String($$.pluginOptions.version).match(/\d+/g);
		for (var i = 0; i < 3; i++) {
			pv[i] = parseInt(pv[i] || 0);
			rv[i] = parseInt(rv[i] || 0);
			if (pv[i] < rv[i])return false;
			if (pv[i] > rv[i])return true;
		}
		return true;
	};
	$$.hasFlash.playerVersion = function() {
		try {
			try {
				var axo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.6');
				try {
					axo.AllowScriptAccess = 'always';
				} catch(e) {
					return'6,0,0';
				}
			} catch(e) {
			}
			return new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version').replace(/\D+/g, ',').match(/^,?(.+),?$/)[1];
		} catch(e) {
			try {
				if (navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin) {
					return(navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g, ",").match(/^,?(.+),?$/)[1];
				}
			} catch(e) {
			}
		}
		return'0,0,0';
	};
	$$.htmlOptions = {flashvars:{},pluginspage:'http://www.adobe.com/go/getflashplayer',src:'#',type:'application/x-shockwave-flash'};
	$$.pluginOptions = {expressInstall:false,update:true,version:'6.0.65'};
	$$.replace = function(htmlOptions) {
		this.innerHTML = '<div class="alt">' + this.innerHTML + '</div>';
		jQuery(this).addClass('flash-replaced').prepend($$.transform(htmlOptions));
	};
	$$.update = function(htmlOptions) {
		var url = String(location).split('?');
		url.splice(1, 0, '?hasFlash=true&');
		url = url.join('');
		var msg = '<p>This content requires the Flash Player. <a href="http://www.adobe.com/go/getflashplayer">Download Flash Player</a>. Already have Flash Player? <a href="' + url + '">Click here.</a></p>';
		this.innerHTML = '<span class="alt">' + this.innerHTML + '</span>';
		jQuery(this).addClass('flash-update').prepend(msg);
	};
	function toAttributeString() {
		var s = '';
		for (var key in this)if (typeof this[key] != 'function')s += key + '="' + this[key] + '" ';
		return s;
	}
	;
	function toFlashvarsString() {
		var s = '';
		for (var key in this)if (typeof this[key] != 'function')s += key + '=' + encodeURIComponent(this[key]) + '&';
		return s.replace(/&$/, '');
	}
	;
	$$.transform = function(htmlOptions) {
		htmlOptions.toString = toAttributeString;
		if (htmlOptions.flashvars)htmlOptions.flashvars.toString = toFlashvarsString;
		return'<embed ' + String(htmlOptions) + '/>';
	};
	if (window.attachEvent) {
		window.attachEvent("onbeforeunload", function() {
			__flash_unloadHandler = function() {
			};
			__flash_savedUnloadHandler = function() {
			};
		});
	}
})();

//script: sifr
jQuery.fn.sifr = function(prefs) {
	var p = jQuery.extend((prefs === false) ? {unsifr:true} : {}, arguments.callee.prefs, prefs);
	if (p.save) {
		arguments.callee.prefs = jQuery.extend(p, {save:false});
	}
	if (this[0] === document) {
		return;
	}
	if (!p.unsifr && typeof p.before === 'function') {
		p.before.apply(this, [p]);
	}
	this.each(function() {
		var t = jQuery(this);
		var a = t.children('.sIFR-alternate');
		if (a) {
			t.html(a.html());
			if (p.unsifr) {
				return;
			}
		}
		if (typeof p.beforeEach === 'function') {
			p.beforeEach.apply(this, [t,p]);
		}
		var s = t.html('<span class="flash-replaced sIFR-replaced">' + (p.content || t.html()).replace(/^\s+|\s+$/g, '') + '</span>').children();
		a = t.append('<span class="alt sIFR-alternate">' + s.html() + '</span>').children('.sIFR-alternate');
		if (a.css('display') !== 'none') {
			a.css('display', 'none');
		}
		var toHex = function(c) {
			var h = function(n) {
				if (n === 0 || isNaN(n)) {
					return'00';
				}
				n = Math.round(Math.min(Math.max(0, n), 255));
				return'0123456789ABCDEF'.charAt((n - n % 16) / 16) + '0123456789ABCDEF'.charAt(n % 16);
			};
			c = (c) ? c.replace(/rgb|\(|\)|#$/g, '') : false;
			if (!c) {
				return false;
			}
			if (c.indexOf(',') > -1) {
				c = c.split(', ');
				return'#' + h(c[0]) + h(c[1]) + h(c[2]);
			}
			if (c.search('#') > -1 && c.length <= 4) {
				c = c.split('');
				return'#' + c[1] + c[1] + c[2] + c[2] + c[3] + c[3];
			}
			return c;
		};
		if (p.textTransform) {
			if (p.textTransform.toLowerCase() === 'uppercase') {
				s.html(s.html().toUpperCase());
			}
			if (p.textTransform.toLowerCase() === 'lowercase') {
				s.html(s.html().toLowerCase());
			}
			if (p.textTransform.toLowerCase() === 'capitalize') {
				var c = s.html().replace(/\>/g, '> ').split(' ');
				for (var i = 0; i < c.length; i = i + 1) {
					c[i] = c[i].charAt(0).toUpperCase() + c[i].substring(1);
				}
				s.html(c.join(' ').replace(/\> /g, '>'));
			}
		}
		var f = {flashvars:jQuery.extend({h:s.height() * (p.zoom || 1),offsetLeft:p.offsetLeft || undefined,offsetTop:p.offsetTop || undefined,textAlign:p.textAlign || (/(left|center|right)/.exec(t.css('textAlign')) || ['center'])[0],textColor:toHex(p.color || t.css('color')) || undefined,txt:p.content || s.html(),underline:(p.underline || (p.underline !== false && t.css('textDecoration') === 'underline')) ? true : undefined,w:(p.width || s.width()) * (p.zoom || 1)}, p.flashvars),height:p.height || s.height(),src:(p.path || '') + ((p.path && p.path.substr(p.path.length - 1) !== '/') ? '/' : '') + (p.font || '') + ((p.font && p.font.indexOf('.swf') === -1) ? '.swf' : ''),width:p.width || s.width(),wmode:'transparent'};
		f.flashvars.linkColor = toHex(p.link || t.find('a').css('color')) || f.flashvars.textColor;
		f.flashvars.hoverColor = toHex(p.hover) || f.flashvars.linkColor;
		if (p.zoom) {
			f.flashvars.offsetTop = ((p.offsetTop || 0) + ((s.height() - (s.height() * p.zoom)) / 2)) * (p.zoomTop || 1);
			f.flashvars.offsetLeft = ((p.offsetLeft || 0) + ((s.width() - (s.width() * p.zoom)) / 2)) * (p.zoomLeft || 1);
		}
		t.flash(jQuery.extend(f, p.embedOptions), jQuery.extend({expressInstall:p.expressInstall || false,version:p.version || 7,update:p.update || false}, p.pluginOptions), function(f) {
			var preHeight = t.height();
			var preWidth = t.width();
			s.html(jQuery.fn.flash.transform(f));
			var e = s.find(':first');
			e.css({verticalAlign:'text-bottom',display:'inline',width:p.width,height:p.height});
			var marginBottom = preHeight - t.height();
			var width = parseInt(e.css('width'), 10) + parseInt(preWidth - t.width(), 10);
			if (!p.height) {
				e.css({marginBottom:marginBottom});
			}
			if (!p.width) {
				e.css({width:width});
			}
			if (p.height && p.verticalAlign === 'middle') {
				e.css({marginTop:Math.floor((p.height - s.height()) / 2),marginBottom:Math.round((p.height - s.height()) / 2),height:s.height()});
				e.attr('height', s.height());
			}
			if (p.height && p.verticalAlign === 'bottom') {
				var a = t.find('.sIFR-alternate');
				e.css({marginTop:(p.height - s.height()),height:s.height()});
				e.attr('height', s.height());
			}
			if (p.css) {
				e.css(p.css);
			}
		});
		if (typeof p.afterEach === 'function') {
			p.afterEach.apply(this, [t,p]);
		}
	});
	if (!p.unsifr && typeof p.after === 'function') {
		p.after.apply(this, [p]);
	}
};
jQuery.sifr = function(prefs) {
	jQuery().sifr(jQuery.extend({save:true}, prefs));
};
jQuery.fn.unsifr = function() {
	return this.each(function() {
		jQuery(this).sifr(false);
	});
};

//script: ifixpng
/*
 * jQuery ifixpng plugin
 * (previously known as pngfix)
 * Version 2.1  (23/04/2008)
 * @requires jQuery v1.1.3 or above
 *
 * Examples at: http://jquery.khurshid.com
 * Copyright (c) 2007 Kush M.
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 */

(function($) {
	/**
	 * helper variables and function
	 */
	$.ifixpng = function(customPixel) {
		$.ifixpng.pixel = customPixel;
	};

	$.ifixpng.getPixel = function() {
		return $.ifixpng.pixel || 'media/pixel.gif';
	};

	var hack = {
		ltie7  : $.browser.msie && $.browser.version < 7,
		filter : function(src) {
			return "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,sizingMethod=crop,src='" + src + "')";
		}
	};

	/**
	 * Applies ie png hack to selected dom elements
	 *
	 * $('img[@src$=.png]').ifixpng();
	 * @desc apply hack to all images with png extensions
	 *
	 * $('#panel, img[@src$=.png]').ifixpng();
	 * @desc apply hack to element #panel and all images with png extensions
	 *
	 * @name ifixpng
	 */

	$.fn.ifixpng = hack.ltie7 ? function() {
		return this.each(function() {
			var $$ = $(this);
			// in case rewriting urls
			var base = $('base').attr('href');
			if (base) {
				// remove anything after the last '/'
				base = base.replace(/\/[^\/]+$/, '/');
			}
			if ($$.is('img') || $$.is('input')) { // hack image tags present in dom
				if ($$.attr('src')) {
					if ($$.attr('src').match(/.*\.png([?].*)?$/i)) { // make sure it is png image
						// use source tag value if set
						var source = (base && $$.attr('src').search(/^(\/|http:)/i)) ? base + $$.attr('src') : $$.attr('src');
						// apply filter
						$$.css({filter:hack.filter(source), width:$$.width(), height:$$.height()})
								.attr({src:$.ifixpng.getPixel()})
								.positionFix();
					}
				}
			} else { // hack png css properties present inside css
				var image = $$.css('backgroundImage');
				if (image.match(/^url\(["']?(.*\.png([?].*)?)["']?\)$/i)) {
					image = RegExp.$1;
					image = (base && image.substring(0, 1) != '/') ? base + image : image;
					$$.css({backgroundImage:'none', filter:hack.filter(image)})
							.children().children().positionFix();
				}
			}
		});
	} : function() {
		return this;
	};

	/**
	 * Removes any png hack that may have been applied previously
	 *
	 * $('img[@src$=.png]').iunfixpng();
	 * @desc revert hack on all images with png extensions
	 *
	 * $('#panel, img[@src$=.png]').iunfixpng();
	 * @desc revert hack on element #panel and all images with png extensions
	 *
	 * @name iunfixpng
	 */

	$.fn.iunfixpng = hack.ltie7 ? function() {
		return this.each(function() {
			var $$ = $(this);
			var src = $$.css('filter');
			if (src.match(/src=["']?(.*\.png([?].*)?)["']?/i)) { // get img source from filter
				src = RegExp.$1;
				if ($$.is('img') || $$.is('input')) {
					$$.attr({src:src}).css({filter:''});
				} else {
					$$.css({filter:'', background:'url(' + src + ')'});
				}
			}
		});
	} : function() {
		return this;
	};

	/**
	 * positions selected item relatively
	 */

	$.fn.positionFix = function() {
		return this.each(function() {
			var $$ = $(this);
			var position = $$.css('position');
			if (position != 'absolute' && position != 'relative') {
				$$.css({position:'relative'});
			}
		});
	};

})(jQuery);

//script: ahover
/* Copyright (c) 2008 Brian Beck (exogen@gmail.com)
 * MIT (http://www.opensource.org/licenses/mit-license.php) licensed.
 *
 * Version: 1.0
 *
 * Requires:
 *   jQuery 1.2+
 *   Dimensions (http://plugins.jquery.com/project/dimensions)
 */

(function($) {
	$.extend({
		ahover: {
			version: 1.0,
			defaults: {
				toggleSpeed: 75,
				toggleEffect: 'both',
				hoverEffect: null,
				moveSpeed: 250,
				easing: 'swing',
				className: 'ahover'
			},
			effects: {
				'width': {width: 0},
				'height': {height: 0},
				'both': {width: 0, height: 0}
			}
		}
	});

	$.fn.extend({
		ahover: function(options) {
			var options = $.extend({}, $.ahover.defaults, options);
			var effect = (
					(typeof options.toggleEffect == 'string') ?
					$.ahover.effects[options.toggleEffect] : options.toggleEffect
					);
			var parent = this.offsetParent();
			return this.hover(
					function(e) {
						var over = $(this);
						var overSize = {
							width: over.outerWidth(),
							height: over.outerHeight()
						};
						var overOffset = over.offset();
						var parentOffset = parent.offset();

						var under = $('div.' + options.className, parent).stop();
						var created = (under.length == 0);
						if (created) {
							under = $('<div>&nbsp;</div>')
									.addClass(options.className)
									.appendTo(parent).css(overSize);
						}

						var underOffset = {
							left: overOffset.left - parentOffset.left -
							      (under.outerWidth() - under.width()) / 2,
							top: overOffset.top - parentOffset.top -
							     (under.outerHeight() - under.height()) / 2
						}

						if (created) {
							under.css(underOffset).css(effect).animate(overSize, {
								queue: false,
								duration: options.toggleSpeed,
								easing: options.easing
							});
						}
						else {
							var underCSS = $.extend({}, overSize, underOffset);
							under.animate(underCSS, {
								queue: false,
								duration: options.moveSpeed,
								easing: options.easing
							});
						}
						if ($.isFunction(options.hoverEffect)) {
							under.queue(options.hoverEffect);
						}
					},
					function(e) {
						$('div.' + options.className, parent).animate(effect, {
							queue: false,
							duration: options.toggleSpeed,
							easing: options.easing,
							complete: function() {
								$(this).remove();
							}
						});
					}
					);
		}
	});
})(jQuery);

//script: scrollTo 1.3.3
;
(function($) {
	var o = $.scrollTo = function(a, b, c) {
		o.window().scrollTo(a, b, c)
	};
	o.defaults = {axis:'y',duration:1};
	o.window = function() {
		return $($.browser.safari ? 'body' : 'html')
	};
	$.fn.scrollTo = function(l, m, n) {
		if (typeof m == 'object') {
			n = m;
			m = 0
		}
		n = $.extend({}, o.defaults, n);
		m = m || n.speed || n.duration;
		n.queue = n.queue && n.axis.length > 1;
		if (n.queue)m /= 2;
		n.offset = j(n.offset);
		n.over = j(n.over);
		return this.each(function() {
			var a = this,b = $(a),t = l,c,d = {},w = b.is('html,body');
			switch (typeof t) {case'number':case'string':if (/^([+-]=)?\d+(px)?$/.test(t)) {
				t = j(t);
				break
			}t = $(t, this);case'object':if (t.is || t.style)c = (t = $(t)).offset()}
			$.each(n.axis.split(''), function(i, f) {
				var P = f == 'x' ? 'Left' : 'Top',p = P.toLowerCase(),k = 'scroll' + P,e = a[k],D = f == 'x' ? 'Width' : 'Height';
				if (c) {
					d[k] = c[p] + (w ? 0 : e - b.offset()[p]);
					if (n.margin) {
						d[k] -= parseInt(t.css('margin' + P)) || 0;
						d[k] -= parseInt(t.css('border' + P + 'Width')) || 0
					}
					d[k] += n.offset[p] || 0;
					if (n.over[p])d[k] += t[D.toLowerCase()]() * n.over[p]
				} else d[k] = t[p];
				if (/^\d+$/.test(d[k]))d[k] = d[k] <= 0 ? 0 : Math.min(d[k], h(D));
				if (!i && n.queue) {
					if (e != d[k])g(n.onAfterFirst);
					delete d[k]
				}
			});
			g(n.onAfter);
			function g(a) {
				b.animate(d, m, n.easing, a && function() {
					a.call(this, l)
				})
			}
			;
			function h(D) {
				var b = w ? $.browser.opera ? document.body : document.documentElement : a;
				return b['scroll' + D] - b['client' + D]
			}
		})
	};
	function j(a) {
		return typeof a == 'object' ? a : {top:a,left:a}
	}
})(jQuery);

//script: lightbox
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(6($){$.2N.3g=6(4){4=23.2H({2B:\'#34\',2g:0.8,1d:F,1M:\'18/5-33-Y.16\',1v:\'18/5-1u-2Q.16\',1E:\'18/5-1u-2L.16\',1W:\'18/5-1u-2I.16\',19:\'18/5-2F.16\',1f:10,2A:3d,2s:\'1j\',2o:\'32\',2j:\'c\',2f:\'p\',2d:\'n\',h:[],9:0},4);f I=N;6 20(){1X(N,I);u F}6 1X(1e,I){$(\'1U, 1S, 1R\').l({\'1Q\':\'2E\'});1O();4.h.B=0;4.9=0;7(I.B==1){4.h.1J(v 1m(1e.17(\'J\'),1e.17(\'2v\')))}j{36(f i=0;i<I.B;i++){4.h.1J(v 1m(I[i].17(\'J\'),I[i].17(\'2v\')))}}2n(4.h[4.9][0]!=1e.17(\'J\')){4.9++}D()}6 1O(){$(\'m\').31(\'<e g="q-13"></e><e g="q-5"><e g="5-s-b-w"><e g="5-s-b"><1w g="5-b"><e 2V="" g="5-k"><a J="#" g="5-k-V"></a><a J="#" g="5-k-X"></a></e><e g="5-Y"><a J="#" g="5-Y-29"><1w W="\'+4.1M+\'"></a></e></e></e><e g="5-s-b-T-w"><e g="5-s-b-T"><e g="5-b-A"><1i g="5-b-A-1t"></1i><1i g="5-b-A-1g"></1i></e><e g="5-1s"><a J="#" g="5-1s-22"><1w W="\'+4.1W+\'"></a></e></e></e></e>\');f z=1D();$(\'#q-13\').l({2K:4.2B,2J:4.2g,S:z[0],P:z[1]}).1V();f R=1p();$(\'#q-5\').l({1T:R[1]+(z[3]/10),1c:R[0]}).E();$(\'#q-13,#q-5\').C(6(){1a()});$(\'#5-Y-29,#5-1s-22\').C(6(){1a();u F});$(G).2G(6(){f z=1D();$(\'#q-13\').l({S:z[0],P:z[1]});f R=1p();$(\'#q-5\').l({1T:R[1]+(z[3]/10),1c:R[0]})})}6 D(){$(\'#5-Y\').E();7(4.1d){$(\'#5-b,#5-s-b-T-w,#5-b-A-1g\').1b()}j{$(\'#5-b,#5-k,#5-k-V,#5-k-X,#5-s-b-T-w,#5-b-A-1g\').1b()}f Q=v 1j();Q.1P=6(){$(\'#5-b\').2D(\'W\',4.h[4.9][0]);1N(Q.S,Q.P);Q.1P=6(){}};Q.W=4.h[4.9][0]};6 1N(1o,1r){f 1L=$(\'#5-s-b-w\').S();f 1K=$(\'#5-s-b-w\').P();f 1n=(1o+(4.1f*2));f 1y=(1r+(4.1f*2));f 1I=1L-1n;f 2z=1K-1y;$(\'#5-s-b-w\').3f({S:1n,P:1y},4.2A,6(){2y()});7((1I==0)&&(2z==0)){7($.3e.3c){1H(3b)}j{1H(3a)}}$(\'#5-s-b-T-w\').l({S:1o});$(\'#5-k-V,#5-k-X\').l({P:1r+(4.1f*2)})};6 2y(){$(\'#5-Y\').1b();$(\'#5-b\').1V(6(){2u();2t()});2r()};6 2u(){$(\'#5-s-b-T-w\').38(\'35\');$(\'#5-b-A-1t\').1b();7(4.h[4.9][1]){$(\'#5-b-A-1t\').2p(4.h[4.9][1]).E()}7(4.h.B>1){$(\'#5-b-A-1g\').2p(4.2s+\' \'+(4.9+1)+\' \'+4.2o+\' \'+4.h.B).E()}}6 2t(){$(\'#5-k\').E();$(\'#5-k-V,#5-k-X\').l({\'K\':\'1C M(\'+4.19+\') L-O\'});7(4.9!=0){7(4.1d){$(\'#5-k-V\').l({\'K\':\'M(\'+4.1v+\') 1c 15% L-O\'}).11().1k(\'C\',6(){4.9=4.9-1;D();u F})}j{$(\'#5-k-V\').11().2m(6(){$(N).l({\'K\':\'M(\'+4.1v+\') 1c 15% L-O\'})},6(){$(N).l({\'K\':\'1C M(\'+4.19+\') L-O\'})}).E().1k(\'C\',6(){4.9=4.9-1;D();u F})}}7(4.9!=(4.h.B-1)){7(4.1d){$(\'#5-k-X\').l({\'K\':\'M(\'+4.1E+\') 2l 15% L-O\'}).11().1k(\'C\',6(){4.9=4.9+1;D();u F})}j{$(\'#5-k-X\').11().2m(6(){$(N).l({\'K\':\'M(\'+4.1E+\') 2l 15% L-O\'})},6(){$(N).l({\'K\':\'1C M(\'+4.19+\') L-O\'})}).E().1k(\'C\',6(){4.9=4.9+1;D();u F})}}2k()}6 2k(){$(d).30(6(12){2i(12)})}6 1G(){$(d).11()}6 2i(12){7(12==2h){U=2Z.2e;1x=27}j{U=12.2e;1x=12.2Y}14=2X.2W(U).2U();7((14==4.2j)||(14==\'x\')||(U==1x)){1a()}7((14==4.2f)||(U==37)){7(4.9!=0){4.9=4.9-1;D();1G()}}7((14==4.2d)||(U==39)){7(4.9!=(4.h.B-1)){4.9=4.9+1;D();1G()}}}6 2r(){7((4.h.B-1)>4.9){2c=v 1j();2c.W=4.h[4.9+1][0]}7(4.9>0){2b=v 1j();2b.W=4.h[4.9-1][0]}}6 1a(){$(\'#q-5\').2a();$(\'#q-13\').2T(6(){$(\'#q-13\').2a()});$(\'1U, 1S, 1R\').l({\'1Q\':\'2S\'})}6 1D(){f o,r;7(G.1h&&G.28){o=G.26+G.2R;r=G.1h+G.28}j 7(d.m.25>d.m.24){o=d.m.2P;r=d.m.25}j{o=d.m.2O;r=d.m.24}f y,H;7(Z.1h){7(d.t.1l){y=d.t.1l}j{y=Z.26}H=Z.1h}j 7(d.t&&d.t.1A){y=d.t.1l;H=d.t.1A}j 7(d.m){y=d.m.1l;H=d.m.1A}7(r<H){1z=H}j{1z=r}7(o<y){1B=o}j{1B=y}21=v 1m(1B,1z,y,H);u 21};6 1p(){f o,r;7(Z.1Z){r=Z.1Z;o=Z.2M}j 7(d.t&&d.t.1F){r=d.t.1F;o=d.t.1Y}j 7(d.m){r=d.m.1F;o=d.m.1Y}2q=v 1m(o,r);u 2q};6 1H(2C){f 2x=v 2w();1q=2h;3h{f 1q=v 2w()}2n(1q-2x<2C)};u N.11(\'C\').C(20)}})(23);',62,204,'||||settings|lightbox|function|if||activeImage||image||document|div|var|id|imageArray||else|nav|css|body||xScroll||jquery|yScroll|container|documentElement|return|new|box||windowWidth|arrPageSizes|details|length|click|_set_image_to_view|show|false|window|windowHeight|jQueryMatchedObj|href|background|no|url|this|repeat|height|objImagePreloader|arrPageScroll|width|data|keycode|btnPrev|src|btnNext|loading|self||unbind|objEvent|overlay|key||gif|getAttribute|images|imageBlank|_finish|hide|left|fixedNavigation|objClicked|containerBorderSize|currentNumber|innerHeight|span|Image|bind|clientWidth|Array|intWidth|intImageWidth|___getPageScroll|curDate|intImageHeight|secNav|caption|btn|imageBtnPrev|img|escapeKey|intHeight|pageHeight|clientHeight|pageWidth|transparent|___getPageSize|imageBtnNext|scrollTop|_disable_keyboard_navigation|___pause|intDiffW|push|intCurrentHeight|intCurrentWidth|imageLoading|_resize_container_image_box|_set_interface|onload|visibility|select|object|top|embed|fadeIn|imageBtnClose|_start|scrollLeft|pageYOffset|_initialize|arrayPageSize|btnClose|jQuery|offsetHeight|scrollHeight|innerWidth||scrollMaxY|link|remove|objPrev|objNext|keyToNext|keyCode|keyToPrev|overlayOpacity|null|_keyboard_action|keyToClose|_enable_keyboard_navigation|right|hover|while|txtOf|html|arrayPageScroll|_preload_neighbor_images|txtImage|_set_navigation|_show_image_data|title|Date|date|_show_image|intDiffH|containerResizeSpeed|overlayBgColor|ms|attr|hidden|blank|resize|extend|close|opacity|backgroundColor|next|pageXOffset|fn|offsetWidth|scrollWidth|prev|scrollMaxX|visible|fadeOut|toLowerCase|style|fromCharCode|String|DOM_VK_ESCAPE|event|keydown|append|of|ico|000|fast|for||slideDown||100|250|msie|400|browser|animate|lightBox|do'.split('|'),0,{}))
var lbOptions = {
    imageLoading: "media/lightbox-ico-loading.gif"
    , imageBtnPrev: "media/lightbox-btn-prev.gif"
    , imageBtnNext: "media/lightbox-btn-next.gif"
    , imageBtnClose: "media/lightbox-btn-close.gif"
    , imageBlank: "media/pixel.gif"
    , containerResizeSpeed: 600
    , overlayBgColor: "#222"
};

//script: maphilight
(function(C){var A,B,I,J,K,G,E,D,F,H;A=document.namespaces;has_canvas=document.createElement("canvas");has_canvas=has_canvas&&has_canvas.getContext;if(!(has_canvas||A)){C.fn.maphilight=function(){return this};return }if(has_canvas){E=function(M,N,L){if(N<=1){M.style.opacity=N;window.setTimeout(E,10,M,N+0.1,10)}};D=function(L){return Math.max(0,Math.min(parseInt(L,16),255))};F=function(L,M){return"rgba("+D(L.substr(0,2))+","+D(L.substr(2,2))+","+D(L.substr(4,2))+","+M+")"};B=function(L){var M=C('<canvas style="width:'+L.width+"px;height:"+L.height+'px;"></canvas>').get(0);M.getContext("2d").clearRect(0,0,M.width,M.height);return M};I=function(Q,M,L,P){var O,N=Q.getContext("2d");N.beginPath();if(M=="rect"){N.rect(L[0],L[1],L[2]-L[0],L[3]-L[1])}else{if(M=="poly"){N.moveTo(L[0],L[1]);for(O=2;O<L.length;O+=2){N.lineTo(L[O],L[O+1])}}else{if(M=="circ"){N.arc(L[0],L[1],L[2],0,Math.PI*2,false)}}}N.closePath();if(P.fill){N.fillStyle=F(P.fillColor,P.fillOpacity);N.fill()}if(P.stroke){N.strokeStyle=F(P.strokeColor,P.strokeOpacity);N.lineWidth=P.strokeWidth;N.stroke()}if(P.fade){E(Q,0)}};J=function(L,M){L.getContext("2d").clearRect(0,0,L.width,L.height)}}else{document.createStyleSheet().addRule("v\\:*","behavior: url(#default#VML); antialias: true;");document.namespaces.add("v","urn:schemas-microsoft-com:vml");B=function(L){return C('<var style="zoom:1;overflow:hidden;display:block;width:'+L.width+"px;height:"+L.height+'px;"></var>').get(0)};I=function(P,M,L,O){var R,S,N,Q;R='<v:fill color="#'+O.fillColor+'" opacity="'+(O.fill?O.fillOpacity:0)+'" />';S=(O.stroke?'strokeweight="'+O.strokeWidth+'" stroked="t" strokecolor="#'+O.strokeColor+'"':'stroked="f"');N='<v:stroke opacity="'+O.strokeOpacity+'"/>';if(M=="rect"){Q=C('<v:rect filled="t" '+S+' style="zoom:1;margin:0;padding:0;display:block;position:absolute;left:'+L[0]+"px;top:"+L[1]+"px;width:"+(L[2]-L[0])+"px;height:"+(L[3]-L[1])+'px;"></v:rect>')}else{if(M=="poly"){Q=C('<v:shape filled="t" '+S+' coordorigin="0,0" coordsize="'+P.width+","+P.height+'" path="m '+L[0]+","+L[1]+" l "+L.join(",")+' x e" style="zoom:1;margin:0;padding:0;display:block;position:absolute;top:0px;left:0px;width:'+P.width+"px;height:"+P.height+'px;"></v:shape>')}else{if(M=="circ"){Q=C('<v:oval filled="t" '+S+' style="zoom:1;margin:0;padding:0;display:block;position:absolute;left:'+(L[0]-L[2])+"px;top:"+(L[1]-L[2])+"px;width:"+(L[2]*2)+"px;height:"+(L[2]*2)+'px;"></v:oval>')}}}Q.get(0).innerHTML=R+N;C(P).append(Q)};J=function(L){C(L).empty()}}K=function(N){var M,L=N.getAttribute("coords").split(",");for(M=0;M<L.length;M++){L[M]=parseFloat(L[M])}return[N.getAttribute("shape").toLowerCase().substr(0,4),L]};H=function(L){if(!L.complete){return false}if(typeof L.naturalWidth!="undefined"&&L.naturalWidth==0){return false}return true};G={position:"absolute",left:0,top:0,padding:0,border:0};C.fn.maphilight=function(L){L=C.extend({},C.fn.maphilight.defaults,L);return this.each(function(){var N,Q,P,R,O,M;N=C(this);if(!H(this)){return window.setTimeout(function(){N.maphilight()},200)}P=C.metadata?C.extend({},L,N.metadata()):L;R=C('map[name="'+N.attr("usemap").substr(1)+'"]');if(!(N.is("img")&&N.attr("usemap")&&R.size()>0&&!N.hasClass("maphilighted"))){return }Q=C("<div>").css({display:"block",background:"url("+this.src+")",position:"relative",padding:0,width:this.width,height:this.height});N.before(Q).css("opacity",0).css(G).remove();if(C.browser.msie){N.css("filter","Alpha(opacity=0)")}Q.append(N);O=B(this);C(O).css(G);O.height=this.height;O.width=this.width;M=function(T){var S=K(this);I(O,S[0],S[1],C.metadata?C.extend({},P,C(this).metadata()):P)};if(P.alwaysOn){C(R).find("area[coords]").each(M)}else{C(R).find("area[coords]").mouseover(M).mouseout(function(S){J(O)})}N.before(O);N.addClass("maphilighted")})};C.fn.maphilight.defaults={fill:true,fillColor:"000000",fillOpacity:0.2,stroke:true,strokeColor:"ff0000",strokeOpacity:1,strokeWidth:1,fade:true,alwaysOn:false}})(jQuery);

//script: common
// string concatenation is evil and hard to read
String.prototype.format = function() {
	var params = String.prototype.format.arguments;
	var toReturn = this;
	for (var i = 0; i < params.length; i++) {
		var regex = new RegExp('\\{' + i + '\\}', 'g');
		var parameter = "[NULL]";
		if (params[i] !== null && typeof(params[i]) != "undefined")
		{
			try {
				parameter = params[i].toString();
			}
			catch(err) {
				parameter = "[FAILED TO GET PARAMETER]";
			}
		}

		toReturn = toReturn.replace(regex, parameter);
	}
	return toReturn;
};

$(function() {
	var aHoverOptions = {
		toggleSpeed: 400,
		moveSpeed: 300,
		easing: "swing",
		hoverEffect: function() {
			$(this)
					.corner("6px")
					.animate({opacity: 0.5}, 500)
					.animate({opacity: 0.7}, 500)
					.dequeue();
			$(this).queue(arguments.callee);
		}
	};

	var stallFadeMsec = 4000;
	var stallScrollMsec = 2000;

	$(window).bind("scroll", function(e) {
		var newTop = $(e.currentTarget).scrollTop() + 200;
		$("body.stalls #StallsNav")
				.css({display:"block"})
				.stop()
				.animate({top: newTop}, 1000);
	});

	if ($.browser.msie) {
		// fucking MS!
		$("#StallsNav p.next, #StallsNav p.prev").css("display", "none");
	}

	if ($("body.stalls").length == 1) {
		if (location.hash && location.hash.indexOf("#") > -1) {
			$.scrollTo(location.hash, {duration:stallScrollMsec, offset: -16});
		}
	}

	$("body.stalls #StallsNav").css({top:"200px"});

	$("body.stalls #Filter a").bind("click", function(e) {
		// don't go anywhere
		e.preventDefault();

	//highlight the choice
		var li = $(this).parent().parent();
		li.siblings().removeClass("selected");
		li.addClass("selected");

	//fade out the stalls not matching
		var sel = e.target.href.match(/\w*#(\w+)/i)[1];
		$("#Stalls li:not(.{0})".format(sel)).fadeTo(stallFadeMsec, 0.2);
		$("#Stalls li.{0}".format(sel)).fadeTo(stallFadeMsec, 1);

	// scroll to the stall that's the first match
		$.scrollTo(".{0}".format(sel), {
			duration: stallScrollMsec,
			offset: -16
		});

	// mark the one we're scrolling to, so we can go previous and next...
		$(".{0}".format(sel)).eq(0).addClass("current");

		return false;
	});

	$("#StallsNav p.top a").bind("click", function(e) {
		// don't navigate
		e.preventDefault();

		$.scrollTo("#Content h2", {
			duration: stallScrollMsec,
			offset: -16
		});
		return false;
	});

	$("#StallsNav p:not(.top) a").bind("click", function(e) {
		e.preventDefault();

		var direction = $(e.currentTarget).parent().is(".next") ? 1 : -1;

		var matchSelector = "." + $("#Filter .selected a").attr("href").match(/\w*#(\w+)/i)[1];
		var current = $(".current")[0];
		var indexOfCurrent = $(matchSelector).index(current);
		$(current).removeClass("current");

		var sel = "{0}:eq({1})".format(matchSelector, indexOfCurrent + direction);
		$(sel).addClass("current");

		if ($(".current").length > 0) {
			$.scrollTo(".current", {
				duration: stallScrollMsec,
				offset: -16
			});
		} else {
			$.scrollTo("#Content h2", {
				duration: stallScrollMsec,
				offset: -16
			});
		}
	});

	$("a[rel=external]")
			.attr("target", "_blank")
	.each(function() {
		var title = $(this).attr("title");
		$(this).attr("title", "{0} [opens in new window]".format(title));
	});

	// sort out nav - curse IE6 all the way to the bank
	if (!($.browser.msie && ($.browser.version - 0 <= 6))) {
		$("#NavPre .collapse ul").each(function() {
			var section = location.href.match(/\/(\w+)-\w*\..*/i);
			var jq = section ? ".{0}".format(section[1]) : "";
			if (!$(this).parent().is(jq)) {
				$(this).hide();
			}
		});
		$("#NavPre .collapse h4")
			.hover(function() {
				if (!$(this).next().is(":visible")) {
					$(this).next().show("slow");
				}
			}, function() {})
			.bind("click", function(e) {
				e.preventDefault();
				$(this).next().toggle("slow");
		});

		$("#NavPre .hover, .Box .hover")
				.children()
				.css({
			"position": "relative",
			"z-index": "100"
		})
				.ahover(aHoverOptions);
	}

    // be nice to retarded IE6 and the people still using it
	$("img[@src$=.png], #Banner h1 img, #TrailerWrap").ifixpng("/media/pixel.gif");

	// pretty rounded corners
	$("#NavPre,.Box").corner("12px");
	$("body.stalls #Filter li").corner("6px");

    // fancy fonts, smallest filesize first
	$("h2,h3,#Content h4").sifr({
		path: "swf/",
		font: "Mizike",
		color: "#cf160e"
	});
	$(".Nav h4").each(function() {
		if (!$(this).is(".problemh4")) {
			$(this).sifr({
				path: "swf/",
				font: "Mizike"
			});
		}
	});

	$(".MailingList input[name=email]").bind("focus", function() {
		if ($(this).val() == "Sign up for news") {
			$(this).val("");
		}
	});

	$(".stalls-map .backToTop a").bind("click", function(e) {
		e.preventDefault();
		$.scrollTo("#Content", {duration: stallScrollMsec, offset: -16});
		$("#Stalls li").fadeTo(stallFadeMsec, 1);
	});
	$(".stalls-map .map").maphilight({strokeColor:"333333", strokeWidth: 6, fillColor:"222222", fillOpacity:0.6});
	$(".stalls-map area").bind("click", function(e) {
		var meta = $(this).metadata();
		if (meta && meta.section) {
			e.preventDefault();
			$.scrollTo("#Stalls", {duration:stallScrollMsec,offset:-16});
			$("#Stalls li:not(.{0})".format(meta.section)).fadeTo(stallFadeMsec, 0.2);
			$("#Stalls li.{0}".format(meta.section))
					.fadeTo(stallFadeMsec, 1);
		}
	});
});

