(function () {var window = this,undefined, _jQuery = window.jQuery,_$ = window.$,jQuery = window.jQuery = window.$ = function (selector, context) {return new jQuery.fn.init(selector, context)},quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,isSimple = /^.[^:#\[\.,]*$/;jQuery.fn = jQuery.prototype = {init: function (selector, context) {selector = selector || document;if (selector.nodeType) {this[0] = selector;this.length = 1;this.context = selector;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 && elem.id != match[3]) {return jQuery().find(selector)}var ret = jQuery(elem || []);ret.context = document;ret.selector = selector;return ret}} else {return jQuery(context).find(selector)}} else {if (jQuery.isFunction(selector)) {return jQuery(document).ready(selector)}}if (selector.selector && selector.context) {this.selector = selector.selector;this.context = selector.context}return this.setArray(jQuery.isArray(selector) ? selector : jQuery.makeArray(selector))}, selector: "",jquery: "1.3.2",size: function () {return this.length}, get: function (num) {return num === undefined ? Array.prototype.slice.call(this) : this[num]}, pushStack: function (elems, name, selector) {var ret = jQuery(elems);ret.prevObject = this;ret.context = this.context;if (name === "find") {ret.selector = this.selector + (this.selector ? " " : "") + selector} else {if (name) {ret.selector = this.selector + "." + name + "(" + selector + ")"}}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) {return jQuery.inArray(elem && elem.jquery ? elem[0] : elem, this)}, attr: function (name, value, type) {var options = name;if (typeof name === "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]) {var wrap = jQuery(html, this[0].ownerDocument).clone();if (this[0].parentNode) {wrap.insertBefore(this[0])}wrap.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, function (elem) {if (this.nodeType == 1) {this.appendChild(elem)}})}, prepend: function () {return this.domManip(arguments, true, function (elem) {if (this.nodeType == 1) {this.insertBefore(elem, this.firstChild)}})}, before: function () {return this.domManip(arguments, false, function (elem) {this.parentNode.insertBefore(elem, this)})}, after: function () {return this.domManip(arguments, false, function (elem) {this.parentNode.insertBefore(elem, this.nextSibling)})}, end: function () {return this.prevObject || jQuery([])}, push: [].push,sort: [].sort,splice: [].splice,find: function (selector) {if (this.length === 1) {var ret = this.pushStack([], "find", selector);ret.length = 0;jQuery.find(selector, this[0], ret);return ret} else {return this.pushStack(jQuery.unique(jQuery.map(this, function (elem) {return jQuery.find(selector, elem)})), "find", selector)}}, clone: function (events) {var ret = this.map(function () {if (!jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this)) {var html = this.outerHTML;if (!html) {var div = this.ownerDocument.createElement("div");div.appendChild(this.cloneNode(true));html = div.innerHTML}return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g, "").replace(/^\s*/, "")])[0]} else {return this.cloneNode(true)}});if (events === true) {var orig = this.find("*").andSelf(),i = 0;ret.find("*").andSelf().each(function () {if (this.nodeName !== orig[i].nodeName) {return}var events = jQuery.data(orig[i], "events");for (var type in events) {for (var handler in events[type]) {jQuery.event.add(this, type, events[type][handler], events[type][handler].data)}}i++})}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, jQuery.grep(this, function (elem) {return elem.nodeType === 1})), "filter", selector)}, closest: function (selector) {var pos = jQuery.expr.match.POS.test(selector) ? jQuery(selector) : null,closer = 0;return this.map(function () {var cur = this;while (cur && cur.ownerDocument) {if (pos ? pos.index(cur) > -1 : jQuery(cur).is(selector)) {jQuery.data(cur, "closest", closer);return cur}cur = cur.parentNode;closer++}})}, not: function (selector) {if (typeof selector === "string") {if (isSimple.test(selector)) {return this.pushStack(jQuery.multiFilter(selector, this, true), "not", selector)} 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 !!selector && this.is("." + selector)}, val: function (value) {if (value === undefined) {var elem = this[0];if (elem) {if (jQuery.nodeName(elem, "option")) {return (elem.attributes.value || {}).specified ? elem.value : elem.text}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(option).val();if (one) {	return value}values.push(value)}}return values}return (elem.value || "").replace(/\r/g, "")}return undefined}if (typeof value === "number") {value += ""}return this.each(function () {if (this.nodeType != 1) {return}if (jQuery.isArray(value) && /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.replace(/ jQuery\d+="(?:\d+|null)"/g, "") : 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), "slice", Array.prototype.slice.call(arguments).join(","))}, 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)}, domManip: function (args, table, callback) {if (this[0]) {var fragment = (this[0].ownerDocument || this[0]).createDocumentFragment(),scripts = jQuery.clean(args, (this[0].ownerDocument || this[0]), fragment),first = fragment.firstChild;if (first) {for (var i = 0, l = this.length; i < l; i++) {callback.call(root(this[i], first), this.length > 1 || i > 0 ? fragment.cloneNode(true) : fragment)}}if (scripts) {jQuery.each(scripts, evalScript)}}return this;function root(elem, cur) {return table && jQuery.nodeName(elem, "table") && jQuery.nodeName(cur, "tr") ? (elem.getElementsByTagName("tbody")[0] || elem.appendChild(elem.ownerDocument.createElement("tbody"))) : elem}}};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 (typeof target === "boolean") {deep = target;target = arguments[1] || {};i = 2}if (typeof target !== "object" && !jQuery.isFunction(target)) {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 exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView = document.defaultView || {},toString = Object.prototype.toString;jQuery.extend({noConflict: function (deep) {window.$ = _$;if (deep) {window.jQuery = _jQuery}return jQuery}, isFunction: function (obj) {return toString.call(obj) === "[object Function]"}, isArray: function (obj) {return toString.call(obj) === "[object Array]"}, isXMLDoc: function (elem) {return elem.nodeType === 9 && elem.documentElement.nodeName !== "HTML" || !! elem.ownerDocument && jQuery.isXMLDoc(elem.ownerDocument)}, globalEval: function (data) {if (data && /\S/.test(data)) {var head = document.getElementsByTagName("head")[0] || document.documentElement,script = document.createElement("script");script.type = "text/javascript";if (jQuery.support.scriptEval) {script.appendChild(document.createTextNode(data))} else {script.text = data}head.insertBefore(script, head.firstChild);head.removeChild(script)}}, nodeName: function (elem, name) {return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase()}, 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 typeof value === "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 elem && 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, extra) {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;if (extra === "border") {return}jQuery.each(which, function () {if (!extra) {val -= parseFloat(jQuery.curCSS(elem, "padding" + this, true)) || 0}if (extra === "margin") {val += parseFloat(jQuery.curCSS(elem, "margin" + this, true)) || 0} else {val -= parseFloat(jQuery.curCSS(elem, "border" + this + "Width", true)) || 0}})}if (elem.offsetWidth !== 0) {getWH()} else {jQuery.swap(elem, props, getWH)}return Math.max(0, Math.round(val))}return jQuery.curCSS(elem, name, force)}, curCSS: function (elem, name, force) {var ret, style = elem.style;if (name == "opacity" && !jQuery.support.opacity) {ret = jQuery.attr(style, "opacity");return ret == "" ? "1" : ret}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) {ret = computedStyle.getPropertyValue(name)}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, fragment) {context = context || document;if (typeof context.createElement === "undefined") {context = context.ownerDocument || context[0] && context[0].ownerDocument || document}if (!fragment && elems.length === 1 && typeof elems[0] === "string") {var match = /^<(\w+)\s*\/?>$/.exec(elems[0]);if (match) {return [context.createElement(match[1])]}}var ret = [],scripts = [],div = context.createElement("div");jQuery.each(elems, function (i, elem) {if (typeof elem === "number") {elem += ""}if (!elem) {return}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 = elem.replace(/^\s+/, "").substring(0, 10).toLowerCase();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.support.htmlSerialize && [1, "div<div>", "</div>"] || [0, "", ""];div.innerHTML = wrap[1] + elem + wrap[2];while (wrap[0]--) {div = div.lastChild}if (!jQuery.support.tbody) {var hasBody = /<tbody/i.test(elem),tbody = !tags.indexOf("<table") && !hasBody ? div.firstChild && div.firstChild.childNodes : wrap[1] == "<table>" && !hasBody ? 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 (!jQuery.support.leadingWhitespace && /^\s/.test(elem)) {div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]), div.firstChild)}elem = jQuery.makeArray(div.childNodes)}if (elem.nodeType) {ret.push(elem)} else {ret = jQuery.merge(ret, elem)}});if (fragment) {for (var i = 0; ret[i]; i++) {if (jQuery.nodeName(ret[i], "script") && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript")) {scripts.push(ret[i].parentNode ? ret[i].parentNode.removeChild(ret[i]) : ret[i])} else {if (ret[i].nodeType === 1) {ret.splice.apply(ret, [i + 1, 0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))))}fragment.appendChild(ret[i])}}return scripts}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;name = notxml && jQuery.props[name] || name;if (elem.tagName) {var special = /href|src|style/.test(name);if (name == "selected" && elem.parentNode) {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}if (name == "tabIndex") {var attributeNode = elem.getAttributeNode("tabIndex");return attributeNode && attributeNode.specified ? attributeNode.value : elem.nodeName.match(/(button|input|object|select|textarea)/i) ? 0 : elem.nodeName.match(/^(a|area)$/i) && elem.href ? 0 : undefined}return elem[name]}if (!jQuery.support.style && notxml && name == "style") {return jQuery.attr(elem.style, "cssText", value)}if (set) {elem.setAttribute(name, "" + value)}var attr = !jQuery.support.hrefNormalized && notxml && special ? elem.getAttribute(name, 2) : elem.getAttribute(name);return attr === null ? undefined : attr}if (!jQuery.support.opacity && 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 || typeof array === "string" || jQuery.isFunction(array) || array.setInterval) {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.support.getAll) {while ((elem = second[i++]) != null) {if (elem.nodeType != 8) {first[pos++] = elem}}} else {while ((elem = second[i++]) != null) {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]);if(ret.length==50){break;}}}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.]+)/) || [0, "0"])[1],safari: /webkit/.test(userAgent),opera: /opera/.test(userAgent),msie: /msie/.test(userAgent) && !/opera/.test(userAgent),mozilla: /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent)};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), name, selector)}});jQuery.each({appendTo: "append",prependTo: "prepend",insertBefore: "before",insertAfter: "after",replaceAll: "replaceWith"}, function (name, original) {jQuery.fn[name] = function (selector) {var ret = [],insert = jQuery(selector);for (var i = 0, l = insert.length; i < l; i++) {var elems = (i > 0 ? this.clone(true) : this).get();jQuery.fn[original].apply(jQuery(insert[i]), elems);ret = ret.concat(elems)}return this.pushStack(ret, name, selector)}});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, state) {if (typeof state !== "boolean") {state = !jQuery.className.has(this, classNames)}jQuery.className[state ? "add" : "remove"](this, classNames)}, remove: function (selector) {if (!selector || jQuery.filter(selector, [this]).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).children().remove();while (this.firstChild) {this.removeChild(this.firstChild)}}}, function (name, fn) {jQuery.fn[name] = function () {return this.each(fn, arguments)}});function num(elem, prop) {return elem[0] && parseInt(jQuery.curCSS(elem[0], prop, true), 10) || 0}var expando = "jQuery" + now(),uuid = 0,windowData = {};jQuery.extend({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]}}, queue: function (elem, type, data) {if (elem) {type = (type || "fx") + "queue";var q = jQuery.data(elem, type);if (!q || jQuery.isArray(data)) {q = jQuery.data(elem, type, jQuery.makeArray(data))} else {if (data) {q.push(data)}}}return q}, dequeue: function (elem, type) {var queue = jQuery.queue(elem, type),fn = queue.shift();if (!type || type === "fx") {fn = queue[0]}if (fn !== undefined) {fn.call(elem)}}});jQuery.fn.extend({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)})}, queue: function (type, data) {if (typeof type !== "string") {data = type;type = "fx"}if (data === undefined) {return jQuery.queue(this[0], type)}return this.each(function () {var queue = jQuery.queue(this, type, data);if (type == "fx" && queue.length == 1) {queue[0].call(this)}})}, dequeue: function (type) {return this.each(function () {jQuery.dequeue(this, type)})}});/** Sizzle CSS Selector Engine - v0.9.3*  Copyright 2009, The Dojo Foundation*  Released under the MIT, BSD, and GPL Licenses.*  More information: http://sizzlejs.com/*/(function () {var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,done = 0,toString = Object.prototype.toString;var Sizzle = function (selector, context, results, seed) {results = results || [];context = context || document;if (context.nodeType !== 1 && context.nodeType !== 9) {return []}if (!selector || typeof selector !== "string") {return results}var parts = [],m, set, checkSet, check, mode, extra, prune = true;chunker.lastIndex = 0;while ((m = chunker.exec(selector)) !== null) {parts.push(m[1]);if (m[2]) {extra = RegExp.rightContext;break}}if (parts.length > 1 && origPOS.exec(selector)) {if (parts.length === 2 && Expr.relative[parts[0]]) {set = posProcess(parts[0] + parts[1], context)} else {set = Expr.relative[parts[0]] ? [context] : Sizzle(parts.shift(), context);while (parts.length) {selector = parts.shift();if (Expr.relative[selector]) {selector += parts.shift()}set = posProcess(selector, set)}}} else {var ret = seed ? {expr: parts.pop(),set: makeArray(seed)} : Sizzle.find(parts.pop(), parts.length === 1 && context.parentNode ? context.parentNode : context, isXML(context));set = Sizzle.filter(ret.expr, ret.set);if (parts.length > 0) {checkSet = makeArray(set)} else {prune = false}while (parts.length) {var cur = parts.pop(),pop = cur;if (!Expr.relative[cur]) {cur = ""} else {pop = parts.pop()}if (pop == null) {pop = context}Expr.relative[cur](checkSet, pop, isXML(context))}}if (!checkSet) {checkSet = set}if (!checkSet) {throw "Syntax error, unrecognized expression: " + (cur || selector)}if (toString.call(checkSet) === "[object Array]") {if (!prune) {results.push.apply(results, checkSet)} else {if (context.nodeType === 1) {for (var i = 0; checkSet[i] != null; i++) {if (checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && contains(context, checkSet[i]))) {results.push(set[i])}}} else {for (var i = 0; checkSet[i] != null; i++) {if (checkSet[i] && checkSet[i].nodeType === 1) {results.push(set[i])}}}}} else {makeArray(checkSet, results)}if (extra) {Sizzle(extra, context, results, seed);if (sortOrder) {hasDuplicate = false;results.sort(sortOrder);if (hasDuplicate) {for (var i = 1; i < results.length; i++) {if (results[i] === results[i - 1]) {results.splice(i--, 1)}}}}}return results};Sizzle.matches = function (expr, set) {return Sizzle(expr, null, null, set)};Sizzle.find = function (expr, context, isXML) {var set, match;if (!expr) {return []}for (var i = 0, l = Expr.order.length; i < l; i++) {var type = Expr.order[i],match;if ((match = Expr.match[type].exec(expr))) {var left = RegExp.leftContext;if (left.substr(left.length - 1) !== "\\") {match[1] = (match[1] || "").replace(/\\/g, "");set = Expr.find[type](match, context, isXML);if (set != null) {expr = expr.replace(Expr.match[type], "");break}}}}if (!set) {set = context.getElementsByTagName("*")}return {set: set,expr: expr}};Sizzle.filter = function (expr, set, inplace, not) {var old = expr,result = [],curLoop = set,match, anyFound, isXMLFilter = set && set[0] && isXML(set[0]);while (expr && set.length) {for (var type in Expr.filter) {if ((match = Expr.match[type].exec(expr)) != null) {var filter = Expr.filter[type],found, item;anyFound = false;if (curLoop == result) {result = []}if (Expr.preFilter[type]) {match = Expr.preFilter[type](match, curLoop, inplace, result, not, isXMLFilter);if (!match) {anyFound = found = true} else {if (match === true) {	continue}}}if (match) {for (var i = 0;(item = curLoop[i]) != null; i++) {if (item) {	found = filter(item, match, i, curLoop);	var pass = not ^ !! found;	if (inplace && found != null) {		if (pass) {			anyFound = true		} else {			curLoop[i] = false		}	} else {		if (pass) {			result.push(item);			anyFound = true		}	}}}}if (found !== undefined) {if (!inplace) {curLoop = result}expr = expr.replace(Expr.match[type], "");if (!anyFound) {return []}break}}}if (expr == old) {if (anyFound == null) {throw "Syntax error, unrecognized expression: " + expr} else {break}}old = expr}return curLoop};var Expr = Sizzle.selectors = {order: ["ID", "NAME", "TAG"],match: {ID: /#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS: /\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR: /\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG: /^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO: /:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/}, attrMap: {"class": "className","for": "htmlFor"}, attrHandle: {href: function (elem) {return elem.getAttribute("href")}}, relative: {"+": function (checkSet, part, isXML) {var isPartStr = typeof part === "string",isTag = isPartStr && !/\W/.test(part),isPartStrNotTag = isPartStr && !isTag;if (isTag && !isXML) {part = part.toUpperCase()}for (var i = 0, l = checkSet.length, elem; i < l; i++) {if ((elem = checkSet[i])) {while ((elem = elem.previousSibling) && elem.nodeType !== 1) {}checkSet[i] = isPartStrNotTag || elem && elem.nodeName === part ? elem || false : elem === part}}if (isPartStrNotTag) {Sizzle.filter(part, checkSet, true)}}, ">": function (checkSet, part, isXML) {var isPartStr = typeof part === "string";if (isPartStr && !/\W/.test(part)) {part = isXML ? part : part.toUpperCase();for (var i = 0, l = checkSet.length; i < l; i++) {var elem = checkSet[i];if (elem) {var parent = elem.parentNode;checkSet[i] = parent.nodeName === part ? parent : false}}} else {for (var i = 0, l = checkSet.length; i < l; i++) {var elem = checkSet[i];if (elem) {checkSet[i] = isPartStr ? elem.parentNode : elem.parentNode === part}}if (isPartStr) {Sizzle.filter(part, checkSet, true)}}}, "": function (checkSet, part, isXML) {var doneName = done++,checkFn = dirCheck;if (!part.match(/\W/)) {var nodeCheck = part = isXML ? part : part.toUpperCase();checkFn = dirNodeCheck}checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML)}, "~": function (checkSet, part, isXML) {var doneName = done++,checkFn = dirCheck;if (typeof part === "string" && !part.match(/\W/)) {var nodeCheck = part = isXML ? part : part.toUpperCase();checkFn = dirNodeCheck}checkFn("previousSibling", part, doneName, checkSet, nodeCheck, isXML)}}, find: {ID: function (match, context, isXML) {if (typeof context.getElementById !== "undefined" && !isXML) {var m = context.getElementById(match[1]);return m ? [m] : []}}, NAME: function (match, context, isXML) {if (typeof context.getElementsByName !== "undefined") {var ret = [],results = context.getElementsByName(match[1]);for (var i = 0, l = results.length; i < l; i++) {if (results[i].getAttribute("name") === match[1]) {ret.push(results[i])}}return ret.length === 0 ? null : ret}}, TAG: function (match, context) {return context.getElementsByTagName(match[1])}}, preFilter: {CLASS: function (match, curLoop, inplace, result, not, isXML) {match = " " + match[1].replace(/\\/g, "") + " ";if (isXML) {return match}for (var i = 0, elem;(elem = curLoop[i]) != null; i++) {if (elem) {if (not ^ (elem.className && (" " + elem.className + " ").indexOf(match) >= 0)) {if (!inplace) {	result.push(elem)}} else {if (inplace) {	curLoop[i] = false}}}}return false}, ID: function (match) {return match[1].replace(/\\/g, "")}, TAG: function (match, curLoop) {for (var i = 0; curLoop[i] === false; i++) {}return curLoop[i] && isXML(curLoop[i]) ? match[1] : match[1].toUpperCase()}, CHILD: function (match) {if (match[1] == "nth") {var test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(match[2] == "even" && "2n" || match[2] == "odd" && "2n+1" || !/\D/.test(match[2]) && "0n+" + match[2] || match[2]);match[2] = (test[1] + (test[2] || 1)) - 0;match[3] = test[3] - 0}match[0] = done++;return match}, ATTR: function (match, curLoop, inplace, result, not, isXML) {var name = match[1].replace(/\\/g, "");if (!isXML && Expr.attrMap[name]) {match[1] = Expr.attrMap[name]}if (match[2] === "~=") {match[4] = " " + match[4] + " "}return match}, PSEUDO: function (match, curLoop, inplace, result, not) {if (match[1] === "not") {if (match[3].match(chunker).length > 1 || /^\w/.test(match[3])) {match[3] = Sizzle(match[3], null, null, curLoop)} else {var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not);if (!inplace) {result.push.apply(result, ret)}return false}} else {if (Expr.match.POS.test(match[0]) || Expr.match.CHILD.test(match[0])) {return true}}return match}, POS: function (match) {match.unshift(true);return match}}, filters: {enabled: function (elem) {return elem.disabled === false && elem.type !== "hidden"}, disabled: function (elem) {return elem.disabled === true}, checked: function (elem) {return elem.checked === true}, selected: function (elem) {elem.parentNode.selectedIndex;return elem.selected === true}, parent: function (elem) {return !!elem.firstChild}, empty: function (elem) {return !elem.firstChild}, has: function (elem, i, match) {return !!Sizzle(match[3], elem).length}, header: function (elem) {return /h\d/i.test(elem.nodeName)}, text: function (elem) {return "text" === elem.type}, radio: function (elem) {return "radio" === elem.type}, checkbox: function (elem) {return "checkbox" === elem.type}, file: function (elem) {return "file" === elem.type}, password: function (elem) {return "password" === elem.type}, submit: function (elem) {return "submit" === elem.type}, image: function (elem) {return "image" === elem.type}, reset: function (elem) {return "reset" === elem.type}, button: function (elem) {return "button" === elem.type || elem.nodeName.toUpperCase() === "BUTTON"}, input: function (elem) {return /input|select|textarea|button/i.test(elem.nodeName)}}, setFilters: {first: function (elem, i) {return i === 0}, last: function (elem, i, match, array) {return i === array.length - 1}, even: function (elem, i) {return i % 2 === 0}, odd: function (elem, i) {return i % 2 === 1}, lt: function (elem, i, match) {return i < match[3] - 0}, gt: function (elem, i, match) {return i > match[3] - 0}, nth: function (elem, i, match) {return match[3] - 0 == i}, eq: function (elem, i, match) {return match[3] - 0 == i}}, filter: {PSEUDO: function (elem, match, i, array) {var name = match[1],filter = Expr.filters[name];if (filter) {return filter(elem, i, match, array)} else {if (name === "contains") {return (elem.textContent || elem.innerText || "").indexOf(match[3]) >= 0} else {if (name === "not") {var not = match[3];for (var i = 0, l = not.length; i < l; i++) {	if (not[i] === elem) {		return false	}}return true}}}}, CHILD: function (elem, match) {var type = match[1],node = elem;switch (type) {case "only":case "first":while (node = node.previousSibling) {if (node.nodeType === 1) {return false}}if (type == "first") {return true}node = elem;case "last":while (node = node.nextSibling) {if (node.nodeType === 1) {return false}}return true;case "nth":var first = match[2],last = match[3];if (first == 1 && last == 0) {return true}var doneName = match[0],parent = elem.parentNode;if (parent && (parent.sizcache !== doneName || !elem.nodeIndex)) {var count = 0;for (node = parent.firstChild; node; node = node.nextSibling) {if (node.nodeType === 1) {	node.nodeIndex = ++count}}parent.sizcache = doneName}var diff = elem.nodeIndex - last;if (first == 0) {return diff == 0} else {return (diff % first == 0 && diff / first >= 0)}}}, ID: function (elem, match) {return elem.nodeType === 1 && elem.getAttribute("id") === match}, TAG: function (elem, match) {return (match === "*" && elem.nodeType === 1) || elem.nodeName === match}, CLASS: function (elem, match) {return (" " + (elem.className || elem.getAttribute("class")) + " ").indexOf(match) > -1}, ATTR: function (elem, match) {var name = match[1],result = Expr.attrHandle[name] ? Expr.attrHandle[name](elem) : elem[name] != null ? elem[name] : elem.getAttribute(name),value = result + "",type = match[2],check = match[4];return result == null ? type === "!=" : type === "=" ? value === check : type === "*=" ? value.indexOf(check) >= 0 : type === "~=" ? (" " + value + " ").indexOf(check) >= 0 : !check ? value && result !== false : type === "!=" ? value != check : type === "^=" ? value.indexOf(check) === 0 : type === "$=" ? value.substr(value.length - check.length) === check : type === "|=" ? value === check || value.substr(0, check.length + 1) === check + "-" : false}, POS: function (elem, match, i, array) {var name = match[2],filter = Expr.setFilters[name];if (filter) {return filter(elem, i, match, array)}}}};var origPOS = Expr.match.POS;for (var type in Expr.match) {Expr.match[type] = RegExp(Expr.match[type].source + /(?![^\[]*\])(?![^\(]*\))/.source)}var makeArray = function (array, results) {array = Array.prototype.slice.call(array);if (results) {results.push.apply(results, array);return results}return array};try {Array.prototype.slice.call(document.documentElement.childNodes)} catch (e) {makeArray = function (array, results) {var ret = results || [];if (toString.call(array) === "[object Array]") {Array.prototype.push.apply(ret, array)} else {if (typeof array.length === "number") {for (var i = 0, l = array.length; i < l; i++) {ret.push(array[i])}} else {for (var i = 0; array[i]; i++) {ret.push(array[i])}}}return ret}}var sortOrder;if (document.documentElement.compareDocumentPosition) {sortOrder = function (a, b) {var ret = a.compareDocumentPosition(b) & 4 ? -1 : a === b ? 0 : 1;if (ret === 0) {hasDuplicate = true}return ret}} else {if ("sourceIndex" in document.documentElement) {sortOrder = function (a, b) {var ret = a.sourceIndex - b.sourceIndex;if (ret === 0) {hasDuplicate = true}return ret}} else {if (document.createRange) {sortOrder = function (a, b) {var aRange = a.ownerDocument.createRange(),bRange = b.ownerDocument.createRange();aRange.selectNode(a);aRange.collapse(true);bRange.selectNode(b);bRange.collapse(true);var ret = aRange.compareBoundaryPoints(Range.START_TO_END, bRange);if (ret === 0) {hasDuplicate = true}return ret}}}}(function () {var form = document.createElement("form"),id = "script" + (new Date).getTime();form.innerHTML = "<input name='" + id + "'/>";var root = document.documentElement;root.insertBefore(form, root.firstChild);if ( !! document.getElementById(id)) {Expr.find.ID = function (match, context, isXML) {if (typeof context.getElementById !== "undefined" && !isXML) {var m = context.getElementById(match[1]);return m ? m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? [m] : undefined : []}};Expr.filter.ID = function (elem, match) {var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");return elem.nodeType === 1 && node && node.nodeValue === match}}root.removeChild(form)})();(function () {var div = document.createElement("div");div.appendChild(document.createComment(""));if (div.getElementsByTagName("*").length > 0) {Expr.find.TAG = function (match, context) {var results = context.getElementsByTagName(match[1]);if (match[1] === "*") {var tmp = [];for (var i = 0; results[i]; i++) {if (results[i].nodeType === 1) {tmp.push(results[i])}}results = tmp}return results}}div.innerHTML = "<a href='#'></a>";if (div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && div.firstChild.getAttribute("href") !== "#") {Expr.attrHandle.href = function (elem) {return elem.getAttribute("href", 2)}}})();if (document.querySelectorAll) {(function () {var oldSizzle = Sizzle,div = document.createElement("div");div.innerHTML = "<p class='TEST'></p>";if (div.querySelectorAll && div.querySelectorAll(".TEST").length === 0) {return}Sizzle = function (query, context, extra, seed) {context = context || document;if (!seed && context.nodeType === 9 && !isXML(context)) {try {return makeArray(context.querySelectorAll(query), extra)} catch (e) {}}return oldSizzle(query, context, extra, seed)};Sizzle.find = oldSizzle.find;Sizzle.filter = oldSizzle.filter;Sizzle.selectors = oldSizzle.selectors;Sizzle.matches = oldSizzle.matches})()}if (document.getElementsByClassName && document.documentElement.getElementsByClassName) {(function () {var div = document.createElement("div");div.innerHTML = "<div class='test e'></div><div class='test'></div>";if (div.getElementsByClassName("e").length === 0) {return}div.lastChild.className = "e";if (div.getElementsByClassName("e").length === 1) {return}Expr.order.splice(1, 0, "CLASS");Expr.find.CLASS = function (match, context, isXML) {if (typeof context.getElementsByClassName !== "undefined" && !isXML) {return context.getElementsByClassName(match[1])}}})()}function dirNodeCheck(dir, cur, doneName, checkSet, nodeCheck, isXML) {var sibDir = dir == "previousSibling" && !isXML;for (var i = 0, l = checkSet.length; i < l; i++) {var elem = checkSet[i];if (elem) {if (sibDir && elem.nodeType === 1) {elem.sizcache = doneName;elem.sizset = i}elem = elem[dir];var match = false;while (elem) {if (elem.sizcache === doneName) {match = checkSet[elem.sizset];break}if (elem.nodeType === 1 && !isXML) {elem.sizcache = doneName;elem.sizset = i}if (elem.nodeName === cur) {match = elem;break}elem = elem[dir]}checkSet[i] = match}}}function dirCheck(dir, cur, doneName, checkSet, nodeCheck, isXML) {var sibDir = dir == "previousSibling" && !isXML;for (var i = 0, l = checkSet.length; i < l; i++) {var elem = checkSet[i];if (elem) {if (sibDir && elem.nodeType === 1) {elem.sizcache = doneName;elem.sizset = i}elem = elem[dir];var match = false;while (elem) {if (elem.sizcache === doneName) {match = checkSet[elem.sizset];break}if (elem.nodeType === 1) {if (!isXML) {elem.sizcache = doneName;elem.sizset = i}if (typeof cur !== "string") {if (elem === cur) {	match = true;	break}} else {if (Sizzle.filter(cur, [elem]).length > 0) {	match = elem;	break}}}elem = elem[dir]}checkSet[i] = match}}}var contains = document.compareDocumentPosition ?function (a, b) {return a.compareDocumentPosition(b) & 16} : function (a, b) {return a !== b && (a.contains ? a.contains(b) : true)};var isXML = function (elem) {return elem.nodeType === 9 && elem.documentElement.nodeName !== "HTML" || !! elem.ownerDocument && isXML(elem.ownerDocument)};var posProcess = function (selector, context) {var tmpSet = [],later = "",match, root = context.nodeType ? [context] : context;while ((match = Expr.match.PSEUDO.exec(selector))) {later += match[0];selector = selector.replace(Expr.match.PSEUDO, "")}selector = Expr.relative[selector] ? selector + "*" : selector;for (var i = 0, l = root.length; i < l; i++) {Sizzle(selector, root[i], tmpSet)}return Sizzle.filter(later, tmpSet)};jQuery.find = Sizzle;jQuery.filter = Sizzle.filter;jQuery.expr = Sizzle.selectors;jQuery.expr[":"] = jQuery.expr.filters;Sizzle.selectors.filters.hidden = function (elem) {return elem.offsetWidth === 0 || elem.offsetHeight === 0};Sizzle.selectors.filters.visible = function (elem) {return elem.offsetWidth > 0 || elem.offsetHeight > 0};Sizzle.selectors.filters.animated = function (elem) {return jQuery.grep(jQuery.timers, function (fn) {return elem === fn.elem}).length};jQuery.multiFilter = function (expr, elems, not) {if (not) {expr = ":not(" + expr + ")"}return Sizzle.matches(expr, elems)};jQuery.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};jQuery.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};jQuery.sibling = function (n, elem) {var r = [];for (; n; n = n.nextSibling) {if (n.nodeType == 1 && n != elem) {r.push(n)}}return r};return;window.Sizzle = Sizzle})();jQuery.event = {add: function (elem, types, handler, data) {if (elem.nodeType == 3 || elem.nodeType == 8) {return}if (elem.setInterval && elem != window) {elem = window}if (!handler.guid) {handler.guid = this.guid++}if (data !== undefined) {var fn = handler;handler = this.proxy(fn);handler.data = data}var events = jQuery.data(elem, "events") || jQuery.data(elem, "events", {}),handle = jQuery.data(elem, "handle") || jQuery.data(elem, "handle", function () {return typeof jQuery !== "undefined" && !jQuery.event.triggered ? jQuery.event.handle.apply(arguments.callee.elem, arguments) : undefined});handle.elem = elem;jQuery.each(types.split(/\s+/), function (index, type) {var namespaces = type.split(".");type = namespaces.shift();handler.type = namespaces.slice().sort().join(".");var handlers = events[type];if (jQuery.event.specialAll[type]) {jQuery.event.specialAll[type].setup.call(elem, data, namespaces)}if (!handlers) {handlers = events[type] = {};if (!jQuery.event.special[type] || jQuery.event.special[type].setup.call(elem, data, namespaces) === 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 namespaces = type.split(".");type = namespaces.shift();var namespace = RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)");if (events[type]) {if (handler) {delete events[type][handler.guid]} else {for (var handle in events[type]) {	if (namespace.test(events[type][handle].type)) {		delete events[type][handle]	}}}if (jQuery.event.specialAll[type]) {jQuery.event.specialAll[type].teardown.call(elem, namespaces)}for (ret in events[type]) {break}if (!ret) {if (!jQuery.event.special[type] || jQuery.event.special[type].teardown.call(elem, namespaces) === 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 (event, data, elem, bubbling) {var type = event.type || event;if (!bubbling) {event = typeof event === "object" ? event[expando] ? event : jQuery.extend(jQuery.Event(type), event) : jQuery.Event(type);if (type.indexOf("!") >= 0) {event.type = type = type.slice(0, -1);event.exclusive = true}if (!elem) {event.stopPropagation();if (this.global[type]) {jQuery.each(jQuery.cache, function () {if (this.events && this.events[type]) {jQuery.event.trigger(event, data, this.handle.elem)}})}}if (!elem || elem.nodeType == 3 || elem.nodeType == 8) {return undefined}event.result = undefined;event.target = elem;data = jQuery.makeArray(data);data.unshift(event)}event.currentTarget = elem;var handle = jQuery.data(elem, "handle");if (handle) {handle.apply(elem, data)}if ((!elem[type] || (jQuery.nodeName(elem, "a") && type == "click")) && elem["on" + type] && elem["on" + type].apply(elem, data) === false) {event.result = false}if (!bubbling && elem[type] && !event.isDefaultPrevented() && !(jQuery.nodeName(elem, "a") && type == "click")) {this.triggered = true;try {elem[type]()} catch (e) {}}this.triggered = false;if (!event.isPropagationStopped()) {var parent = elem.parentNode || elem.ownerDocument;if (parent) {jQuery.event.trigger(event, data, parent, true)}}}, handle: function (event) {var all, handlers;event = arguments[0] = jQuery.event.fix(event || window.event);event.currentTarget = this;var namespaces = event.type.split(".");event.type = namespaces.shift();all = !namespaces.length && !event.exclusive;var namespace = RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)");handlers = (jQuery.data(this, "events") || {})[event.type];for (var j in handlers) {var handler = handlers[j];if (all || namespace.test(handler.type)) {event.handler = handler;event.data = handler.data;var ret = handler.apply(this, arguments);if (ret !== undefined) {event.result = ret;if (ret === false) {event.preventDefault();event.stopPropagation()}}if (event.isImmediatePropagationStopped()) {break}}}}, props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix: function (event) {if (event[expando]) {return event}var originalEvent = event;event = jQuery.Event(originalEvent);for (var i = this.props.length, prop; i;) {prop = this.props[--i];event[prop] = originalEvent[prop]}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 = proxy ||function () {return fn.apply(this, arguments)};proxy.guid = fn.guid = fn.guid || proxy.guid || this.guid++;return proxy}, special: {ready: {setup: bindReady,teardown: function () {}}}, specialAll: {live: {setup: function (selector, namespaces) {jQuery.event.add(this, namespaces[0], liveHandler)}, teardown: function (namespaces) {if (namespaces.length) {var remove = 0,name = RegExp("(^|\\.)" + namespaces[0] + "(\\.|$)");jQuery.each((jQuery.data(this, "events").live || {}), function () {if (name.test(this.type)) {remove++}});if (remove < 1) {jQuery.event.remove(this, namespaces[0], liveHandler)}}}}}};jQuery.Event = function (src) {if (!this.preventDefault) {return new jQuery.Event(src)}if (src && src.type) {this.originalEvent = src;this.type = src.type} else {this.type = src}this.timeStamp = now();this[expando] = true};function returnFalse() {return false}function returnTrue() {return true}jQuery.Event.prototype = {preventDefault: function () {this.isDefaultPrevented = returnTrue;var e = this.originalEvent;if (!e) {return}if (e.preventDefault) {e.preventDefault()}e.returnValue = false}, stopPropagation: function () {this.isPropagationStopped = returnTrue;var e = this.originalEvent;if (!e) {return}if (e.stopPropagation) {e.stopPropagation()}e.cancelBubble = true}, stopImmediatePropagation: function () {this.isImmediatePropagationStopped = returnTrue;this.stopPropagation()}, isDefaultPrevented: returnFalse,isPropagationStopped: returnFalse,isImmediatePropagationStopped: returnFalse};var withinElement = function (event) {var parent = event.relatedTarget;while (parent && parent != this) {try {parent = parent.parentNode} catch (e) {parent = this}}if (parent != this) {event.type = event.data;jQuery.event.handle.apply(this, arguments)}};jQuery.each({mouseover: "mouseenter",mouseout: "mouseleave"}, function (orig, fix) {jQuery.event.special[fix] = {setup: function () {jQuery.event.add(this, orig, withinElement, fix)}, teardown: function () {jQuery.event.remove(this, orig, withinElement)}}});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) {return this.each(function () {jQuery.event.trigger(type, data, this)})}, triggerHandler: function (type, data) {if (this[0]) {var event = jQuery.Event(type);event.preventDefault();event.stopPropagation();jQuery.event.trigger(event, data, this[0]);return event.result}}, 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.mouseenter(fnOver).mouseleave(fnOut)}, ready: function (fn) {bindReady();if (jQuery.isReady) {fn.call(document, jQuery)} else {jQuery.readyList.push(fn)}return this}, live: function (type, fn) {var proxy = jQuery.event.proxy(fn);proxy.guid += this.selector + type;jQuery(document).bind(liveConvert(type, this.selector), this.selector, proxy);return this}, die: function (type, fn) {jQuery(document).unbind(liveConvert(type, this.selector), fn ? {guid: fn.guid + this.selector + type} : null);return this}});function liveHandler(event) {var check = RegExp("(^|\\.)" + event.type + "(\\.|$)"),stop = true,elems = [];jQuery.each(jQuery.data(this, "events").live || [], function (i, fn) {if (check.test(fn.type)) {var elem = jQuery(event.target).closest(fn.data)[0];if (elem) {elems.push({elem: elem,fn: fn})}}});elems.sort(function (a, b) {return jQuery.data(a.elem, "closest") - jQuery.data(b.elem, "closest")});jQuery.each(elems, function () {if (this.fn.call(this.elem, event, this.fn.data) === false) {return (stop = false)}});return stop}function liveConvert(type, selector) {return ["live", type, selector.replace(/\./g, "`").replace(/ /g, "|")].join(".")}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)});jQuery.readyList = null}jQuery(document).triggerHandler("ready")}}});var readyBound = false;function bindReady() {if (readyBound) {return}readyBound = true;if (document.addEventListener) {document.addEventListener("DOMContentLoaded", function () {document.removeEventListener("DOMContentLoaded", arguments.callee, false);jQuery.ready()}, false)} else {if (document.attachEvent) {document.attachEvent("onreadystatechange", function () {if (document.readyState === "complete") {document.detachEvent("onreadystatechange", arguments.callee);jQuery.ready()}});if (document.documentElement.doScroll && window == window.top) {(function () {if (jQuery.isReady) {return}try {document.documentElement.doScroll("left")} catch (error) {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,mouseenter,mouseleave,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)}});jQuery(window).bind("unload", function () {for (var id in jQuery.cache) {if (id != 1 && jQuery.cache[id].handle) {jQuery.event.remove(jQuery.cache[id].handle.elem)}}});(function () {jQuery.support = {};var root = document.documentElement,script = document.createElement("script"),div = document.createElement("div"),id = "script" + (new Date).getTime();div.style.display = "none";div.innerHTML = '   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var all = div.getElementsByTagName("*"),a = div.getElementsByTagName("a")[0];if (!all || !all.length || !a) {return}jQuery.support = {leadingWhitespace: div.firstChild.nodeType == 3,tbody: !div.getElementsByTagName("tbody").length,objectAll: !! div.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize: !! div.getElementsByTagName("link").length,style: /red/.test(a.getAttribute("style")),hrefNormalized: a.getAttribute("href") === "/a",opacity: a.style.opacity === "0.5",cssFloat: !! a.style.cssFloat,scriptEval: false,noCloneEvent: true,boxModel: null};script.type = "text/javascript";try {script.appendChild(document.createTextNode("window." + id + "=1;"))} catch (e) {}root.insertBefore(script, root.firstChild);if (window[id]) {jQuery.support.scriptEval = true;delete window[id]}root.removeChild(script);if (div.attachEvent && div.fireEvent) {div.attachEvent("onclick", function () {jQuery.support.noCloneEvent = false;div.detachEvent("onclick", arguments.callee)});div.cloneNode(true).fireEvent("onclick")}jQuery(function () {var div = document.createElement("div");div.style.width = div.style.paddingLeft = "1px";document.body.appendChild(div);jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2;document.body.removeChild(div).style.display = "none"})})();var styleFloat = jQuery.support.cssFloat ? "cssFloat" : "styleFloat";jQuery.props = {"for": "htmlFor","class": "className","float": styleFloat,cssFloat: styleFloat,styleFloat: styleFloat,readonly: "readOnly",maxlength: "maxLength",cellspacing: "cellSpacing",rowspan: "rowSpan",tabindex: "tabIndex"};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)}var type = "GET";if (params) {if (jQuery.isFunction(params)) {callback = params;params = null} else {if (typeof params === "object") {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)}if (callback) {self.each(callback, [res.responseText, status, res])}}});return this}, serialize: function () {return jQuery.param(this.serializeArray())}, serializeArray: function () {return this.map(function () {return this.elements ? jQuery.makeArray(this.elements) : this}).filter(function () {return this.name && !this.disabled && (this.checked || /select|textarea/i.test(this.nodeName) || /text|hidden|password|search/i.test(this.type))}).map(function (i, elem) {var val = jQuery(this).val();return val == null ? null : jQuery.isArray(val) ? 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",contentType: "application/x-www-form-urlencoded",processData: true,async: true,xhr: function () {return window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest()}, accepts: {xml: "application/xml, text/xml",html: "text/html",script: "text/javascript, application/javascript",json: "application/json, text/javascript",text: "text/plain",_default: "*/*"}}, lastModified: {}, ajax: function (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 parts = /^(\w+:)?\/\/([^\/?#]+)/.exec(s.url);if (s.dataType == "script" && type == "GET" && parts && (parts[1] && parts[1] != location.protocol || parts[2] != 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();script.onload = script.onreadystatechange = null;head.removeChild(script)}}}head.appendChild(script);return undefined}var requestDone = false;var xhr = s.xhr();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) {if (s.global && !--jQuery.active) {jQuery.event.trigger("ajaxStop")}xhr.abort();return false}if (s.global) {jQuery.event.trigger("ajaxSend", [xhr, s])}var onreadystatechange = function (isTimeout) {if (xhr.readyState == 0) {if (ival) {clearInterval(ival);ival = null;if (s.global && !--jQuery.active) {jQuery.event.trigger("ajaxStop")}}} else {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)} 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 (isTimeout) {xhr.abort()}if (s.async) {xhr = null}}}};if (s.async) {var ival = setInterval(onreadystatechange, 13);if (s.timeout > 0) {setTimeout(function () {if (xhr && !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} catch (e) {}return false}, httpNotModified: function (xhr, url) {try {var xhrRes = xhr.getResponseHeader("Last-Modified");return xhr.status == 304 || xhrRes == jQuery.lastModified[url]} catch (e) {}return false}, httpData: function (xhr, type, s) {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 (s && s.dataFilter) {data = s.dataFilter(data, type)}if (typeof data === "string") {if (type == "script") {jQuery.globalEval(data)}if (type == "json") {data = window["eval"]("(" + data + ")")}}return data}, param: function (a) {var s = [];function add(key, value) {s[s.length] = encodeURIComponent(key) + "=" + encodeURIComponent(value)}if (jQuery.isArray(a) || a.jquery) {jQuery.each(a, function () {add(this.name, this.value)})} else {for (var j in a) {if (jQuery.isArray(a[j])) {jQuery.each(a[j], function () {add(j, this)})} else {add(j, jQuery.isFunction(a[j]) ? a[j]() : a[j])}}}return s.join("&").replace(/%20/g, "+")}});var elemdisplay = {},timerId, fxAttrs = [["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"],["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"],["opacity"]];function genFx(type, num) {var obj = {};jQuery.each(fxAttrs.concat.apply([], fxAttrs.slice(0, num)), function () {obj[this] = type});return obj}jQuery.fn.extend({show: function (speed, callback) {if (speed) {return this.animate(genFx("show", 3), speed, callback)} else {for (var i = 0, l = this.length; i < l; i++) {var old = jQuery.data(this[i], "olddisplay");this[i].style.display = old || "";if (jQuery.css(this[i], "display") === "none") {var tagName = this[i].tagName,display;if (elemdisplay[tagName]) {display = elemdisplay[tagName]} else {var elem = jQuery("<" + tagName + " />").appendTo("body");display = elem.css("display");if (display === "none") {display = "block"}elem.remove();elemdisplay[tagName] = display}jQuery.data(this[i], "olddisplay", display)}}for (var i = 0, l = this.length; i < l; i++) {this[i].style.display = jQuery.data(this[i], "olddisplay") || ""}return this}}, hide: function (speed, callback) {if (speed) {return this.animate(genFx("hide", 3), speed, callback)} else {for (var i = 0, l = this.length; i < l; i++) {var old = jQuery.data(this[i], "olddisplay");if (!old && old !== "none") {jQuery.data(this[i], "olddisplay", jQuery.css(this[i], "display"))}}for (var i = 0, l = this.length; i < l; i++) {this[i].style.display = "none"}return this}}, _toggle: jQuery.fn.toggle,toggle: function (fn, fn2) {var bool = typeof fn === "boolean";return jQuery.isFunction(fn) && jQuery.isFunction(fn2) ? this._toggle.apply(this, arguments) : fn == null || bool ? this.each(function () {var state = bool ? fn : jQuery(this).is(":hidden");jQuery(this)[state ? "show" : "hide"]()}) : this.animate(genFx("toggle", 3), fn, fn2)}, 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 () {var opt = jQuery.extend({}, optall),p, hidden = this.nodeType == 1 && 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") && this.style) {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})}, 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}});jQuery.each({slideDown: genFx("show", 1),slideUp: genFx("hide", 1),slideToggle: genFx("toggle", 1),fadeIn: {opacity: "show"}, fadeOut: {opacity: "hide"}}, function (name, props) {jQuery.fn[name] = function (speed, callback) {return this.animate(props, speed, callback)}});jQuery.extend({speed: function (speed, easing, fn) {var opt = typeof speed === "object" ? speed : {complete: fn || !fn && easing || jQuery.isFunction(speed) && speed,duration: speed,easing: fn && easing || easing && !jQuery.isFunction(easing) && easing};opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : jQuery.fx.speeds[opt.duration] || jQuery.fx.speeds._default;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: [],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) {this.elem.style.display = "block"}}, cur: function (force) {if (this.elem[this.prop] != null && (!this.elem.style || 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;var self = this;function t(gotoEnd) {return self.step(gotoEnd)}t.elem = this.elem;if (t() && jQuery.timers.push(t) && !timerId) {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(timerId);timerId = undefined}}, 13)}}, show: function () {this.options.orig[this.prop] = jQuery.attr(this.elem.style, this.prop);this.options.show = true;this.custom(this.prop == "width" || this.prop == "height" ? 1 : 0, this.cur());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) {jQuery(this.elem).hide()}if (this.options.hide || this.options.show) {for (var p in this.options.curAnim) {jQuery.attr(this.elem.style, p, this.options.orig[p])}}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,_default: 400}, step: {opacity: function (fx) {jQuery.attr(fx.elem.style, "opacity", fx.now)}, _default: function (fx) {if (fx.elem.style && fx.elem.style[fx.prop] != null) {fx.elem.style[fx.prop] = fx.now + fx.unit} else {fx.elem[fx.prop] = fx.now}}}});if (document.documentElement.getBoundingClientRect) {jQuery.fn.offset = function () {if (!this[0]) {return {top: 0,left: 0}}if (this[0] === this[0].ownerDocument.body) {return jQuery.offset.bodyOffset(this[0])}var box = this[0].getBoundingClientRect(),doc = this[0].ownerDocument,body = doc.body,docElem = doc.documentElement,clientTop = docElem.clientTop || body.clientTop || 0,clientLeft = docElem.clientLeft || body.clientLeft || 0,top = box.top + (self.pageYOffset || jQuery.boxModel && docElem.scrollTop || body.scrollTop) - clientTop,left = box.left + (self.pageXOffset || jQuery.boxModel && docElem.scrollLeft || body.scrollLeft) - clientLeft;return {top: top,left: left}}} else {jQuery.fn.offset = function () {if (!this[0]) {return {top: 0,left: 0}}if (this[0] === this[0].ownerDocument.body) {return jQuery.offset.bodyOffset(this[0])}jQuery.offset.initialized || jQuery.offset.initialize();var elem = this[0],offsetParent = elem.offsetParent,prevOffsetParent = elem,doc = elem.ownerDocument,computedStyle, docElem = doc.documentElement,body = doc.body,defaultView = doc.defaultView,prevComputedStyle = defaultView.getComputedStyle(elem, null),top = elem.offsetTop,left = elem.offsetLeft;while ((elem = elem.parentNode) && elem !== body && elem !== docElem) {computedStyle = defaultView.getComputedStyle(elem, null);top -= elem.scrollTop,left -= elem.scrollLeft;if (elem === offsetParent) {top += elem.offsetTop,left += elem.offsetLeft;if (jQuery.offset.doesNotAddBorder && !(jQuery.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(elem.tagName))) {top += parseInt(computedStyle.borderTopWidth, 10) || 0,left += parseInt(computedStyle.borderLeftWidth, 10) || 0}prevOffsetParent = offsetParent,offsetParent = elem.offsetParent}if (jQuery.offset.subtractsBorderForOverflowNotVisible && computedStyle.overflow !== "visible") {top += parseInt(computedStyle.borderTopWidth, 10) || 0,left += parseInt(computedStyle.borderLeftWidth, 10) || 0}prevComputedStyle = computedStyle}if (prevComputedStyle.position === "relative" || prevComputedStyle.position === "static") {top += body.offsetTop,left += body.offsetLeft}if (prevComputedStyle.position === "fixed") {top += Math.max(docElem.scrollTop, body.scrollTop),left += Math.max(docElem.scrollLeft, body.scrollLeft)}return {top: top,left: left}}}jQuery.offset = {initialize: function () {if (this.initialized) {return}var body = document.body,container = document.createElement("div"),innerDiv, checkDiv, table, td, rules, prop, bodyMarginTop = body.style.marginTop,html = '<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';rules = {position: "absolute",top: 0,left: 0,margin: 0,border: 0,width: "1px",height: "1px",visibility: "hidden"};for (prop in rules) {container.style[prop] = rules[prop]}container.innerHTML = html;body.insertBefore(container, body.firstChild);innerDiv = container.firstChild,checkDiv = innerDiv.firstChild,td = innerDiv.nextSibling.firstChild.firstChild;this.doesNotAddBorder = (checkDiv.offsetTop !== 5);this.doesAddBorderForTableAndCells = (td.offsetTop === 5);innerDiv.style.overflow = "hidden",innerDiv.style.position = "relative";this.subtractsBorderForOverflowNotVisible = (checkDiv.offsetTop === -5);body.style.marginTop = "1px";this.doesNotIncludeMarginInBodyOffset = (body.offsetTop === 0);body.style.marginTop = bodyMarginTop;body.removeChild(container);this.initialized = true}, bodyOffset: function (body) {jQuery.offset.initialized || jQuery.offset.initialize();var top = body.offsetTop,left = body.offsetLeft;if (jQuery.offset.doesNotIncludeMarginInBodyOffset) {top += parseInt(jQuery.curCSS(body, "marginTop", true), 10) || 0,left += parseInt(jQuery.curCSS(body, "marginLeft", true), 10) || 0}return {top: top,left: left}}};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 || document.body;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 null}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",lower = name.toLowerCase();jQuery.fn["inner" + name] = function () {return this[0] ? jQuery.css(this[0], lower, false, "padding") : null};jQuery.fn["outer" + name] = function (margin) {return this[0] ? jQuery.css(this[0], lower, false, margin ? "margin" : "border") : null};var type = name.toLowerCase();jQuery.fn[type] = function (size) {return this[0] == window ? document.compatMode == "CSS1Compat" && document.documentElement["client" + name] || document.body["client" + name] : this[0] == document ? Math.max(document.documentElement["client" + name], document.body["scroll" + name], document.documentElement["scroll" + name], document.body["offset" + name], document.documentElement["offset" + name]) : size === undefined ? (this.length ? jQuery.css(this[0], type) : null) : this.css(type, typeof size === "string" ? size : size + "px")}})})();(function ($) {$.fn.lightBox = function (settings) {settings = jQuery.extend({overlayBgColor: "#000",overlayOpacity: 0.8,fixedNavigation: false,imageLoading: "images/lightbox-ico-loading.gif",imageBtnPrev: "images/lightbox-btn-prev.gif",imageBtnNext: "images/lightbox-btn-next.gif",imageBtnClose: "images/lightbox-btn-close.gif",imageBlank: "images/lightbox-blank.gif",containerBorderSize: 10,containerResizeSpeed: 400,txtImage: "Image",txtOf: "of",keyToClose: "c",keyToPrev: "p",keyToNext: "n",imageArray: [],activeImage: 0}, settings);var jQueryMatchedObj = this;function _initialize() {_start(this, jQueryMatchedObj);return false}function _start(objClicked, jQueryMatchedObj) {$("embed, object, select").css({visibility: "hidden"});_set_interface();settings.imageArray.length = 0;settings.activeImage = 0;if (jQueryMatchedObj.length == 1) {settings.imageArray.push(new Array(objClicked.getAttribute("href"), objClicked.getAttribute("title")))} else {for (var i = 0; i < jQueryMatchedObj.length; i++) {settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute("href"), jQueryMatchedObj[i].getAttribute("title")))}}while (settings.imageArray[settings.activeImage][0] != objClicked.getAttribute("href")) {settings.activeImage++}_set_image_to_view()}function _set_interface() {$("body").append('<div id="jquery-overlay"></div><div id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightbox-container-image"><img id="lightbox-image"><div style="" id="lightbox-nav"><a href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav-btnNext"></a></div><div id="lightbox-loading"><a href="#" id="lightbox-loading-link"><img src="' + settings.imageLoading + '"></a></div></div></div><div id="lightbox-container-image-data-box"><div id="lightbox-container-image-data"><div id="lightbox-image-details"><span id="lightbox-image-details-caption"></span><span id="lightbox-image-details-currentNumber"></span></div><div id="lightbox-secNav"><a href="#" id="lightbox-secNav-btnClose"><img src="' + settings.imageBtnClose + '"></a></div></div></div></div>');var arrPageSizes = ___getPageSize();$("#jquery-overlay").css({backgroundColor: settings.overlayBgColor,opacity: settings.overlayOpacity,width: arrPageSizes[0],height: arrPageSizes[1]}).fadeIn();var arrPageScroll = ___getPageScroll();$("#jquery-lightbox").css({top: arrPageScroll[1] + (arrPageSizes[3] / 10),left: arrPageScroll[0]}).show();$("#jquery-overlay,#jquery-lightbox").click(function () {_finish()});$("#lightbox-loading-link,#lightbox-secNav-btnClose").click(function () {_finish();return false});$(window).resize(function () {var arrPageSizes = ___getPageSize();$("#jquery-overlay").css({width: arrPageSizes[0],height: arrPageSizes[1]});var arrPageScroll = ___getPageScroll();$("#jquery-lightbox").css({top: arrPageScroll[1] + (arrPageSizes[3] / 10),left: arrPageScroll[0]})})}function _set_image_to_view() {$("#lightbox-loading").show();if (settings.fixedNavigation) {$("#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber").hide()} else {$("#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber").hide()}var objImagePreloader = new Image();objImagePreloader.onload = function () {$("#lightbox-image").attr("src", settings.imageArray[settings.activeImage][0]);var w = objImagePreloader.width,h = objImagePreloader.height,maxwidth = (parseInt($(window).width()) - 50),maxheight = (parseInt($(window).height()) - 100);if ($("#lightbox-image").width() && $("lightbox-image").height()) {w = $("#lightbox-image").width();h = $("#lightbox-image").height()}var newwidth = w,newheight = h;if ((w >= maxwidth) || (h >= maxheight)) {if ((h >= maxheight) && (w < maxwidth)) {newheight = maxheight;newwidth = Math.round(w * maxheight / h)} else {if ((w >= maxwidth) && (h < maxheight)) {newwidth = maxwidth;newheight = Math.round(h * maxwidth / w)} else {if ((w - maxwidth) >= (h - maxheight)) {newwidth = maxwidth;newheight = Math.round(h * maxwidth / w)} else {newheight = maxheight;newwidth = Math.round(w * maxheight / h)}}}}$("#lightbox-image").width(newwidth);$("#lightbox-image").height(newheight);_resize_container_image_box(newwidth, newheight);objImagePreloader.onload = function () {}};objImagePreloader.src = settings.imageArray[settings.activeImage][0]}function _resize_container_image_box(intImageWidth, intImageHeight) {var intCurrentWidth = $("#lightbox-container-image-box").width();var intCurrentHeight = $("#lightbox-container-image-box").height();var intWidth = (intImageWidth + (settings.containerBorderSize * 2));var intHeight = (intImageHeight + (settings.containerBorderSize * 2));var intDiffW = intCurrentWidth - intWidth;var intDiffH = intCurrentHeight - intHeight;$("#lightbox-container-image-box").animate({width: intWidth,height: intHeight}, settings.containerResizeSpeed, function () {_show_image()});if ((intDiffW == 0) && (intDiffH == 0)) {if ($.browser.msie) {___pause(250)} else {___pause(100)}}$("#lightbox-container-image-data-box").css({width: intImageWidth});$("#lightbox-nav-btnPrev,#lightbox-nav-btnNext").css({height: intImageHeight + (settings.containerBorderSize * 2)})}function _show_image() {$("#lightbox-loading").hide();$("#lightbox-image").fadeIn(function () {_show_image_data();_set_navigation()});_preload_neighbor_images()}function _show_image_data() {$("#lightbox-container-image-data-box").slideDown("fast");$("#lightbox-image-details-caption").hide();if (settings.imageArray[settings.activeImage][1]) {$("#lightbox-image-details-caption").html('<a href="' + settings.imageArray[settings.activeImage][0] + '">' + settings.imageArray[settings.activeImage][1] + "</a>").show()}if (settings.imageArray.length > 1) {$("#lightbox-image-details-currentNumber").html(settings.txtImage + " " + (settings.activeImage + 1) + " " + settings.txtOf + " " + settings.imageArray.length).show()}}function _set_navigation() {$("#lightbox-nav").show();$("#lightbox-nav-btnPrev,#lightbox-nav-btnNext").css({background: "transparent url(" + settings.imageBlank + ") no-repeat"});if (settings.activeImage != 0) {if (settings.fixedNavigation) {$("#lightbox-nav-btnPrev").css({background: "url(" + settings.imageBtnPrev + ") left 15% no-repeat"}).unbind().bind("click", function () {settings.activeImage = settings.activeImage - 1;_set_image_to_view();return false})} else {$("#lightbox-nav-btnPrev").unbind().hover(function () {$(this).css({background: "url(" + settings.imageBtnPrev + ") left 15% no-repeat"})}, function () {$(this).css({background: "transparent url(" + settings.imageBlank + ") no-repeat"})}).show().bind("click", function () {settings.activeImage = settings.activeImage - 1;_set_image_to_view();return false})}}if (settings.activeImage != (settings.imageArray.length - 1)) {if (settings.fixedNavigation) {$("#lightbox-nav-btnNext").css({background: "url(" + settings.imageBtnNext + ") right 15% no-repeat"}).unbind().bind("click", function () {settings.activeImage = settings.activeImage + 1;_set_image_to_view();return false})} else {$("#lightbox-nav-btnNext").unbind().hover(function () {$(this).css({background: "url(" + settings.imageBtnNext + ") right 15% no-repeat"})}, function () {$(this).css({background: "transparent url(" + settings.imageBlank + ") no-repeat"})}).show().bind("click", function () {settings.activeImage = settings.activeImage + 1;_set_image_to_view();return false})}}_enable_keyboard_navigation()}function _enable_keyboard_navigation() {$(document).keydown(function (objEvent) {_keyboard_action(objEvent)})}function _disable_keyboard_navigation() {$(document).unbind()}function _keyboard_action(objEvent) {if (objEvent == null) {keycode = event.keyCode;escapeKey = 27} else {keycode = objEvent.keyCode;escapeKey = objEvent.DOM_VK_ESCAPE}key = String.fromCharCode(keycode).toLowerCase();if ((key == settings.keyToClose) || (key == "x") || (keycode == escapeKey)) {_finish()}if ((key == settings.keyToPrev) || (keycode == 37)) {if (settings.activeImage != 0) {settings.activeImage = settings.activeImage - 1;_set_image_to_view();_disable_keyboard_navigation()}}if ((key == settings.keyToNext) || (keycode == 39)) {if (settings.activeImage != (settings.imageArray.length - 1)) {settings.activeImage = settings.activeImage + 1;_set_image_to_view();_disable_keyboard_navigation()}}}function _preload_neighbor_images() {if ((settings.imageArray.length - 1) > settings.activeImage) {objNext = new Image();objNext.src = settings.imageArray[settings.activeImage + 1][0]}if (settings.activeImage > 0) {objPrev = new Image();objPrev.src = settings.imageArray[settings.activeImage - 1][0]}}function _finish() {$("#jquery-lightbox").remove();$("#jquery-overlay").fadeOut(function () {$("#jquery-overlay").remove()});$("embed, object, select").css({visibility: "visible"})}function ___getPageSize() {var xScroll, yScroll;if (window.innerHeight && window.scrollMaxY) {xScroll = window.innerWidth + window.scrollMaxX;yScroll = window.innerHeight + window.scrollMaxY} else {if (document.body.scrollHeight > document.body.offsetHeight) {xScroll = document.body.scrollWidth;yScroll = document.body.scrollHeight} else {xScroll = document.body.offsetWidth;yScroll = document.body.offsetHeight}}var windowWidth, windowHeight;if (self.innerHeight) {if (document.documentElement.clientWidth) {windowWidth = document.documentElement.clientWidth} else {windowWidth = self.innerWidth}windowHeight = self.innerHeight} else {if (document.documentElement && document.documentElement.clientHeight) {windowWidth = document.documentElement.clientWidth;windowHeight = document.documentElement.clientHeight} else {if (document.body) {windowWidth = document.body.clientWidth;windowHeight = document.body.clientHeight}}}if (yScroll < windowHeight) {pageHeight = windowHeight} else {pageHeight = yScroll}if (xScroll < windowWidth) {pageWidth = xScroll} else {pageWidth = windowWidth}arrayPageSize = new Array(pageWidth, pageHeight, windowWidth, windowHeight);return arrayPageSize}function ___getPageScroll() {var xScroll, yScroll;if (self.pageYOffset) {yScroll = self.pageYOffset;xScroll = self.pageXOffset} else {if (document.documentElement && document.documentElement.scrollTop) {yScroll = document.documentElement.scrollTop;xScroll = document.documentElement.scrollLeft} else {if (document.body) {yScroll = document.body.scrollTop;xScroll = document.body.scrollLeft}}}arrayPageScroll = new Array(xScroll, yScroll);return arrayPageScroll}function ___pause(ms) {var date = new Date();curDate = null;do {var curDate = new Date()} while (curDate - date < ms)}return this.unbind("click").click(_initialize)}})(jQuery);jQuery.easing = {easein: function (x, t, b, c, d) {return c * (t /= d) * t + b}, easeinout: function (x, t, b, c, d) {if (t < d / 2) {return 2 * c * t * t / (d * d) + b}var ts = t - d / 2;return -2 * c * ts * ts / (d * d) + 2 * c * ts / d + c / 2 + b}, easeout: function (x, t, b, c, d) {return -c * t * t / (d * d) + 2 * c * t / d + b}, expoin: function (x, t, b, c, d) {var flip = 1;if (c < 0) {flip *= -1;c *= -1}return flip * (Math.exp(Math.log(c) / d * t)) + b}, expoout: function (x, t, b, c, d) {var flip = 1;if (c < 0) {flip *= -1;c *= -1}return flip * (-Math.exp(-Math.log(c) / d * (t - d)) + c + 1) + b}, expoinout: function (x, t, b, c, d) {var flip = 1;if (c < 0) {flip *= -1;c *= -1}if (t < d / 2) {return flip * (Math.exp(Math.log(c / 2) / (d / 2) * t)) + b}return flip * (-Math.exp(-2 * Math.log(c / 2) / d * (t - d)) + c + 1) + b}, bouncein: function (x, t, b, c, d) {return c - jQuery.easing.bounceout(x, d - t, 0, c, d) + b}, bounceout: 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 + 0.75) + b} else {if (t < (2.5 / 2.75)) {return c * (7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375) + b} else {return c * (7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375) + b}}}}, bounceinout: function (x, t, b, c, d) {if (t < d / 2) {return jQuery.easing.bouncein(x, t * 2, 0, c, d) * 0.5 + b}return jQuery.easing.bounceout(x, t * 2 - d, 0, c, d) * 0.5 + c * 0.5 + b}, elasin: 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 * 0.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}, elasout: 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 * 0.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}, elasinout: 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 * (0.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 -0.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) * 0.5 + c + b}, backin: function (x, t, b, c, d) {var s = 1.70158;return c * (t /= d) * t * ((s + 1) * t - s) + b}, backout: function (x, t, b, c, d) {var s = 1.70158;return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b}, backinout: function (x, t, b, c, d) {var 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}, linear: function (x, t, b, c, d) {return c * t / d + b}};jQuery.easing.jswing = jQuery.easing.swing;jQuery.extend(jQuery.easing, {def: "easeOutQuad",swing: function (x, t, b, c, d) {return jQuery.easing[jQuery.easing.def](x, t, b, c, d)}, 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 * 0.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 * 0.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 * (0.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 -0.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) * 0.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 + 0.75) + b} else {if (t < (2.5 / 2.75)) {return c * (7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375) + b} else {return c * (7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375) + b}}}}, easeInOutBounce: function (x, t, b, c, d) {if (t < d / 2) {return jQuery.easing.easeInBounce(x, t * 2, 0, c, d) * 0.5 + b}return jQuery.easing.easeOutBounce(x, t * 2 - d, 0, c, d) * 0.5 + c * 0.5 + b}});jQuery.cookie = function (name, value, options) {if (typeof value != "undefined") {options = options || {};if (value === null) {value = "";options.expires = -1}var expires = "";if (options.expires && (typeof options.expires == "number" || options.expires.toUTCString)) {var date;if (typeof options.expires == "number") {date = new Date();date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000))} else {date = options.expires}expires = "; expires=" + date.toUTCString()}var path = options.path ? "; path=" + (options.path) : "";var domain = options.domain ? "; domain=" + (options.domain) : "";var secure = options.secure ? "; secure" : "";document.cookie = [name, "=", encodeURIComponent(value), expires, path, domain, secure].join("")} else {var cookieValue = null;if (document.cookie && document.cookie != "") {var cookies = document.cookie.split(";");for (var i = 0; i < cookies.length; i++) {var cookie = jQuery.trim(cookies[i]);if (cookie.substring(0, name.length + 1) == (name + "=")) {cookieValue = decodeURIComponent(cookie.substring(name.length + 1));break}}}return cookieValue}};(function ($) {$.extend($.fn, {swapClass: function (c1, c2) {var c1Elements = this.filter("." + c1);this.filter("." + c2).removeClass(c2).addClass(c1);c1Elements.removeClass(c1).addClass(c2);return this}, replaceClass: function (c1, c2) {return this.filter("." + c1).removeClass(c1).addClass(c2).end()}, hoverClass: function (className) {className = className || "hover";return this.hover(function () {$(this).addClass(className)}, function () {$(this).removeClass(className)})}, heightToggle: function (animated, callback) {animated ? this.animate({height: "toggle"}, animated, callback) : this.each(function () {jQuery(this)[jQuery(this).is(":hidden") ? "show" : "hide"]();if (callback) {callback.apply(this, arguments)}})}, heightHide: function (animated, callback) {if (animated) {this.animate({height: "hide"}, animated, callback)} else {this.hide();if (callback) {this.each(callback)}}}, prepareBranches: function (settings) {if (!settings.prerendered) {this.filter(":last-child:not(ul)").addClass(CLASSES.last);this.filter((settings.collapsed ? "" : "." + CLASSES.closed) + ":not(." + CLASSES.open + ")").find(">ul").hide()}return this.filter(":has(>ul)")}, applyClasses: function (settings, toggler) {this.filter(":has(>ul):not(:has(>a))").find(">span").click(function (event) {toggler.apply($(this).next())}).add($("a", this)).hoverClass();if (!settings.prerendered) {this.filter(":has(>ul:hidden)").addClass(CLASSES.expandable).replaceClass(CLASSES.last, CLASSES.lastExpandable);this.not(":has(>ul:hidden)").addClass(CLASSES.collapsable).replaceClass(CLASSES.last, CLASSES.lastCollapsable);this.prepend('<div class="' + CLASSES.hitarea + '"/>').find("div." + CLASSES.hitarea).each(function () {var classes = "";$.each($(this).parent().attr("class").split(" "), function () {classes += this + "-hitarea "});$(this).addClass(classes)})}this.find("div." + CLASSES.hitarea).click(toggler)}, treeview: function (settings) {settings = $.extend({cookieId: "treeview"}, settings);if (settings.add) {return this.trigger("add", [settings.add])}if (settings.toggle) {var callback = settings.toggle;settings.toggle = function () {return callback.apply($(this).parent()[0], arguments)}}function treeController(tree, control) {function handler(filter) {return function () {toggler.apply($("div." + CLASSES.hitarea, tree).filter(function () {return filter ? $(this).parent("." + filter).length : true}));return false}}$("a:eq(0)", control).click(handler(CLASSES.collapsable));$("a:eq(1)", control).click(handler(CLASSES.expandable));$("a:eq(2)", control).click(handler())}function toggler() {$(this).parent().find(">.hitarea").swapClass(CLASSES.collapsableHitarea, CLASSES.expandableHitarea).swapClass(CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea).end().swapClass(CLASSES.collapsable, CLASSES.expandable).swapClass(CLASSES.lastCollapsable, CLASSES.lastExpandable).find(">ul").heightToggle(settings.animated, settings.toggle);if (settings.unique) {$(this).parent().siblings().find(">.hitarea").replaceClass(CLASSES.collapsableHitarea, CLASSES.expandableHitarea).replaceClass(CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea).end().replaceClass(CLASSES.collapsable, CLASSES.expandable).replaceClass(CLASSES.lastCollapsable, CLASSES.lastExpandable).find(">ul").heightHide(settings.animated, settings.toggle)}}function serialize() {function binary(arg) {return arg ? 1 : 0}var data = [];branches.each(function (i, e) {data[i] = $(e).is(":has(>ul:visible)") ? 1 : 0});$.cookie(settings.cookieId, data.join(""))}function deserialize() {var stored = $.cookie(settings.cookieId);if (stored) {var data = stored.split("");branches.each(function (i, e) {$(e).find(">ul")[parseInt(data[i]) ? "show" : "hide"]()})}}this.addClass("treeview");var branches = this.find("li").prepareBranches(settings);switch (settings.persist) {case "cookie":var toggleCallback = settings.toggle;settings.toggle = function () {serialize();if (toggleCallback) {toggleCallback.apply(this, arguments)}};deserialize();break;case "location":var current = this.find("a").filter(function () {return this.href.toLowerCase() == location.href.toLowerCase()});if (current.length) {current.addClass("selected").parents("ul, li").add(current.next()).show()}break}branches.applyClasses(settings, toggler);if (settings.control) {treeController(this, settings.control);$(settings.control).show()}return this.bind("add", function (event, branches) {$(branches).prev().removeClass(CLASSES.last).removeClass(CLASSES.lastCollapsable).removeClass(CLASSES.lastExpandable).find(">.hitarea").removeClass(CLASSES.lastCollapsableHitarea).removeClass(CLASSES.lastExpandableHitarea);$(branches).find("li").andSelf().prepareBranches(settings).applyClasses(settings, toggler)})}});var CLASSES = $.fn.treeview.classes = {open: "open",closed: "closed",expandable: "expandable",expandableHitarea: "expandable-hitarea",lastExpandableHitarea: "lastExpandable-hitarea",collapsable: "collapsable",collapsableHitarea: "collapsable-hitarea",lastCollapsableHitarea: "lastCollapsable-hitarea",lastCollapsable: "lastCollapsable",lastExpandable: "lastExpandable",last: "last",hitarea: "hitarea"};$.fn.Treeview = $.fn.treeview})(jQuery);var userAgent = navigator.userAgent.toLowerCase();var platform = navigator.platform;var audiofanzine = {os: {windows: /Win/.test(platform),mac: /Mac/.test(platform),linux: /Linux/.test(platform)}, browser: {version: (userAgent.match(/.+(?:rv|it|ra|ie|me)[\/: ]([\d.]+)/) || [])[1],chrome: /chrome/.test(userAgent),safari: /webkit/.test(userAgent) && !/chrome/.test(userAgent),opera: /opera/.test(userAgent),msie: /msie/.test(userAgent) && !/opera/.test(userAgent),mozilla: /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent),camino: /Camino/.test(navigator.vendor),iCab: /iCab/.test(navigator.vendor),konqueror: /KDE/.test(navigator.vendor)}};(function ($) {function load(settings, root, child, container) {$.getJSON(settings.url, {root: root,expanded: settings.expanded || 0}, function (response) {function createNode(parent) {var data = this;var current = $("<li/>").attr("id", this.id || "").html('<span style="position: relative; top: -2px;margin-left:2px;">' + this.text + "</span>").appendTo(parent);var img = $('<img alt="" style="margin-left: 4px;cursor:pointer"/>');img.attr("src", imageBaseUrl + "/interface/arrow_right.gif");if (this.url) {img.click(function () {window.location = data.url})} else {img.click(function () {if (settings.callback) {settings.callback(data, this)} else {selectCategory(data, this)}})}if (!this.noclick) {current.append(img)}if (this.expanded) {current.addClass("open");current.children("span").addClass("open")}if (this.selected) {current.children("span").addClass("selected")}if (this.hasChildren || this.children && this.children.length) {var branch = $("<ul/>").appendTo(current);if (this.hasChildren) {current.addClass("hasChildren");createNode.call({text: "placeholder",id: "placeholder",children: []}, branch)}if (this.children && this.children.length) {$.each(this.children, createNode, [branch])}}}$.each(response, createNode, [child]);$(container).treeview({add: child})})}var proxied = $.fn.treeview;$.fn.treeview = function (settings) {if (!settings.url) {return proxied.apply(this, arguments)}var container = this;load(settings, "source", this, container);var userToggle = settings.toggle;return proxied.call(this, $.extend({}, settings, {collapsed: true,toggle: function () {var $this = $(this);if ($this.hasClass("hasChildren")) {var childList = $this.removeClass("hasChildren").find("ul");childList.empty();load(settings, this.id, childList, container)}if (userToggle) {userToggle.apply(this, arguments)}}}))}})(jQuery);(function ($) {$.extend($.fn, {validate: function (options) {var value = $(this).val();var type = $(this).attr("validator");switch (type) {case "email":return /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value);break;case "number":return /^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(value);break;default:return true}}});$.extend($.validate, {defaults: {params: {}}})})(jQuery);(function ($) {$.extend($.fn, {tooltip: function (options) {var elm = $(this);if (options.action != undefined && options.action == "close") {$(".tooltip", $(this).parent()).romove()} else {if (elm.attr("id")) {var id = elm.attr("id")} else {var id = 0;var tooltips = $(".tooltip").each(function () {id++});id++}if (elm.attr("title")) {var text = elm.attr("title")} else {if (options.text) {var text = options.text} else {return false}}var layout = $('<div id="tooltip-' + id + '" class="tooltip"><p class="tooltip-content">' + text + "</p></div>");var offset = elm.position();var h = elm.height();var w = elm.width();var css = {top: offset.top,left: (parseInt(offset.left) + parseInt(w)) + 15};layout.css(css);elm.parent().append(layout)}}});$.extend($.tooltip, {defaults: {action: "open"}})})(jQuery);(function ($) {$.extend($.fn, {form: function (options) {$(this).submit(function () {for (var i = 0; i < options.rules.length; i++) {if (!$("#" + options.rules[i]).validate()) {$("#" + options.rules[i]).addClass("error").tooltip({action: "open"});return false}}})}});$.extend($.form, {defaults: {rules: {}}})})(jQuery);(function ($) {$.fn.extend({autocomplete: function (urlOrData, options) {var isUrl = typeof urlOrData == "string";options = $.extend({}, $.Autocompleter.defaults, {url: isUrl ? urlOrData : null,data: isUrl ? null : urlOrData,delay: isUrl ? $.Autocompleter.defaults.delay : 10,max: options && !options.scroll ? 10 : 150}, options);options.highlight = options.highlight ||function (value) {return value};options.formatMatch = options.formatMatch || options.formatItem;return this.each(function () {new $.Autocompleter(this, options)})}, result: function (handler) {return this.bind("result", handler)}, search: function (handler) {return this.trigger("search", [handler])}, flushCache: function () {return this.trigger("flushCache")}, setOptions: function (options) {return this.trigger("setOptions", [options])}, unautocomplete: function () {return this.trigger("unautocomplete")}});$.Autocompleter = function (input, options) {var KEY = {UP: 38,DOWN: 40,DEL: 46,TAB: 9,RETURN: 13,ESC: 27,COMMA: 188,PAGEUP: 33,PAGEDOWN: 34,BACKSPACE: 8};var hidden = $('<input type="hidden" value="" />');var $input = $(input).attr("autocomplete", "off").addClass(options.inputClass);var name = $input.attr("name");hidden.attr("name", name).addClass("ac_hidden_value").attr("id", "hidden_" + $input.attr("id"));$input.attr("name", "ac_" + name);var timeout;var previousValue = "";var cache = $.Autocompleter.Cache(options);var hasFocus = 0;var lastKeyPressCode;var config = {mouseDownOnSelect: false};var select = $.Autocompleter.Select(options, input, selectCurrent, config);var blockSubmit;$.browser.opera && $(input.form).bind("submit.autocomplete", function () {if (blockSubmit) {blockSubmit = false;return false}});$input.bind(($.browser.opera ? "keypress" : "keydown") + ".autocomplete", function (event) {lastKeyPressCode = event.keyCode;switch (event.keyCode) {case KEY.UP:event.preventDefault();if (select.visible()) {select.prev()} else {onChange(0, true)}break;case KEY.DOWN:event.preventDefault();if (select.visible()) {select.next()} else {onChange(0, true)}break;case KEY.PAGEUP:event.preventDefault();if (select.visible()) {select.pageUp()} else {onChange(0, true)}break;case KEY.PAGEDOWN:event.preventDefault();if (select.visible()) {select.pageDown()} else {onChange(0, true)}break;case options.multiple && $.trim(options.multipleSeparator) == "," && KEY.COMMA:case KEY.TAB:case KEY.RETURN:if (selectCurrent()) {event.preventDefault();blockSubmit = true;return false}break;case KEY.ESC:select.hide();break;default:clearTimeout(timeout);timeout = setTimeout(onChange, options.delay);break}}).focus(function () {hasFocus++}).blur(function () {hasFocus = 0;if (!config.mouseDownOnSelect) {hideResults()}}).click(function () {if (hasFocus++ > 1 && !select.visible()) {onChange(0, true)}}).bind("search", function () {var fn = (arguments.length > 1) ? arguments[1] : null;function findValueCallback(q, data) {var result;if (data && data.length) {for (var i = 0; i < data.length; i++) {if (data[i].result.toLowerCase() == q.toLowerCase()) {result = data[i];break}}}if (typeof fn == "function") {fn(result)} else {$input.trigger("result", result && [result.data, result.value])}}$.each(trimWords($input.val()), function (i, value) {request(value, findValueCallback, findValueCallback)})}).bind("flushCache", function () {cache.flush()}).bind("setOptions", function () {$.extend(options, arguments[1]);if ("data" in arguments[1]) {cache.populate()}}).bind("unautocomplete", function () {select.unbind();$input.unbind();$(input.form).unbind(".autocomplete")});$input.after(hidden);function selectCurrent() {var selected = select.selected();if (!selected) {return false}var v = selected.result;previousValue = v;if (options.multiple) {var words = trimWords($input.val());if (words.length > 1) {v = words.slice(0, words.length - 1).join(options.multipleSeparator) + options.multipleSeparator + v}v += options.multipleSeparator}$input.val(v);hideResultsNow();$input.trigger("result", [selected.data, selected.value]);return true}function onChange(crap, skipPrevCheck) {if (lastKeyPressCode == KEY.DEL) {select.hide();return}var currentValue = $input.val();if (!skipPrevCheck && currentValue == previousValue) {return}previousValue = currentValue;currentValue = lastWord(currentValue);if (currentValue.length >= options.minChars) {$input.addClass(options.loadingClass);if (!options.matchCase) {currentValue = currentValue.toLowerCase()}request(currentValue, receiveData, hideResultsNow)} else {stopLoading();select.hide()}}function trimWords(value) {if (!value) {return [""]}var words = value.split(options.multipleSeparator);var result = [];$.each(words, function (i, value) {if ($.trim(value)) {result[i] = $.trim(value)}});return result}function lastWord(value) {if (!options.multiple) {return value}var words = trimWords(value);return words[words.length - 1]}function autoFill(q, sValue) {if (options.autoFill && (lastWord($input.val()).toLowerCase() == q.toLowerCase()) && lastKeyPressCode != KEY.BACKSPACE) {$input.val($input.val() + sValue.substring(lastWord(previousValue).length));$.Autocompleter.Selection(input, previousValue.length, previousValue.length + sValue.length)}}function hideResults() {clearTimeout(timeout);timeout = setTimeout(hideResultsNow, 200)}function hideResultsNow() {var wasVisible = select.visible();select.hide();clearTimeout(timeout);stopLoading();if (options.mustMatch) {$input.search(function (result) {if (!result) {if (options.multiple) {var words = trimWords($input.val()).slice(0, -1);$input.val(words.join(options.multipleSeparator) + (words.length ? options.multipleSeparator : ""))} else {$input.val("")}}})}if (wasVisible) {$.Autocompleter.Selection(input, input.value.length, input.value.length)}}function receiveData(q, data) {if (data && data.length && hasFocus) {stopLoading();select.display(data, q);autoFill(q, data[0].value);select.show()} else {hideResultsNow()}}function request(term, success, failure) {if (!options.matchCase) {term = term.toLowerCase()}var data = cache.load(term);if (data && data.length) {success(term, data)} else {if ((typeof options.url == "string") && (options.url.length > 0)) {var extraParams = {timestamp: +new Date()};$.each(options.extraParams, function (key, param) {extraParams[key] = typeof param == "function" ? param() : param});$.ajax({mode: "abort",port: "autocomplete" + input.name,dataType: options.dataType,url: options.url,data: $.extend({q: lastWord(term),limit: options.max}, extraParams),success: function (data) {var parsed = options.parse && options.parse(data) || parse(data);cache.add(term, parsed);success(term, parsed)}})} else {select.emptyList();failure(term)}}}function parse(data) {var parsed = [];var rows = data.items;for (var i = 0; i < rows.length; i++) {var row = rows[i];parsed[parsed.length] = {data: row,value: row.value,result: options.formatResult && options.formatResult(row, row.label) || row.label}}return parsed}function _parse(data) {var parsed = [];var rows = data.split("\n");for (var i = 0; i < rows.length; i++) {var row = $.trim(rows[i]);if (row) {row = row.split("|");parsed[parsed.length] = {data: row,value: row[0],result: options.formatResult && options.formatResult(row, row[0]) || row[0]}}}return parsed}function stopLoading() {$input.removeClass(options.loadingClass)}};$.Autocompleter.defaults = {inputClass: "ac_input",resultsClass: "ac_results",loadingClass: "ac_loading",minChars: 1,delay: 400,matchCase: false,matchSubset: true,matchContains: false,cacheLength: 10,max: 100,mustMatch: false,extraParams: {}, selectFirst: true,formatItem: function (row) {return row[0]}, formatMatch: null,autoFill: false,width: 0,multiple: false,multipleSeparator: ", ",highlight: function (value, term) {return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>")}, scroll: true,scrollHeight: 180};$.Autocompleter.Cache = function (options) {var data = {};var length = 0;function matchSubset(s, sub) {if (!options.matchCase) {s = s.toLowerCase()}var i = s.indexOf(sub);if (i == -1) {return false}return i == 0 || options.matchContains}function add(q, value) {if (length > options.cacheLength) {flush()}if (!data[q]) {length++}data[q] = value}function populate() {if (!options.data) {return false}var stMatchSets = {},nullData = 0;if (!options.url) {options.cacheLength = 1}stMatchSets[""] = [];for (var i = 0, ol = options.data.length; i < ol; i++) {var rawValue = options.data[i];rawValue = (typeof rawValue == "string") ? [rawValue] : rawValue;var value = options.formatMatch(rawValue, i + 1, options.data.length);if (value === false) {continue}var firstChar = value.charAt(0).toLowerCase();if (!stMatchSets[firstChar]) {stMatchSets[firstChar] = []}var row = {value: value,data: rawValue,result: options.formatResult && options.formatResult(rawValue) || value};stMatchSets[firstChar].push(row);if (nullData++ < options.max) {stMatchSets[""].push(row)}}$.each(stMatchSets, function (i, value) {options.cacheLength++;add(i, value)})}setTimeout(populate, 25);function flush() {data = {};length = 0}return {flush: flush,add: add,populate: populate,load: function (q) {if (!options.cacheLength || !length) {return null}if (!options.url && options.matchContains) {var csub = [];for (var k in data) {if (k.length > 0) {var c = data[k];$.each(c, function (i, x) {if (matchSubset(x.value, q)) {	csub.push(x)}})}}return csub} else {if (data[q]) {return data[q]} else {if (options.matchSubset) {for (var i = q.length - 1; i >= options.minChars; i--) {var c = data[q.substr(0, i)];if (c) {	var csub = [];	$.each(c, function (i, x) {		if (matchSubset(x.value, q)) {			csub[csub.length] = x		}	});	return csub}}}}}return null}}};$.Autocompleter.Select = function (options, input, select, config) {var CLASSES = {ACTIVE: "ac_over"};var listItems, active = -1,data, term = "",needsInit = true,element, list;function init() {if (!needsInit) {return}element = $("<div/>").hide().addClass(options.resultsClass).css("position", "absolute").appendTo(document.body);list = $("<ul/>").appendTo(element).mouseover(function (event) {if (target(event).nodeName && target(event).nodeName.toUpperCase() == "LI") {active = $("li", list).removeClass(CLASSES.ACTIVE).index(target(event));$(target(event)).addClass(CLASSES.ACTIVE)}}).click(function (event) {$(target(event)).addClass(CLASSES.ACTIVE);select();input.focus();return false}).mousedown(function () {config.mouseDownOnSelect = true}).mouseup(function () {config.mouseDownOnSelect = false});if (options.width > 0) {element.css("width", options.width)}needsInit = false}function target(event) {var element = event.target;while (element && element.tagName != "LI") {element = element.parentNode}if (!element) {return []}return element}function moveSelect(step) {listItems.slice(active, active + 1).removeClass(CLASSES.ACTIVE);movePosition(step);var activeItem = listItems.slice(active, active + 1).addClass(CLASSES.ACTIVE);if (options.scroll) {var offset = 0;listItems.slice(0, active).each(function () {offset += this.offsetHeight});if ((offset + activeItem[0].offsetHeight - list.scrollTop()) > list[0].clientHeight) {list.scrollTop(offset + activeItem[0].offsetHeight - list.innerHeight())} else {if (offset < list.scrollTop()) {list.scrollTop(offset)}}}}function movePosition(step) {active += step;if (active < 0) {active = listItems.size() - 1} else {if (active >= listItems.size()) {active = 0}}}function limitNumberOfItems(available) {return options.max && options.max < available ? options.max : available}function fillList() {list.empty();var max = limitNumberOfItems(data.length);for (var i = 0; i < max; i++) {if (!data[i]) {continue}var formatted = options.formatItem(data[i].data, i + 1, max, data[i].value, term);if (formatted === false) {continue}var li = $("<li/>").html(options.highlight(formatted, term)).addClass(i % 2 == 0 ? "ac_even" : "ac_odd").appendTo(list)[0];$.data(li, "ac_data", data[i])}listItems = list.find("li");if (options.selectFirst) {listItems.slice(0, 1).addClass(CLASSES.ACTIVE);active = 0}if ($.fn.bgiframe) {list.bgiframe()}}return {display: function (d, q) {init();data = d;term = q;fillList()}, next: function () {moveSelect(1)}, prev: function () {moveSelect(-1)}, pageUp: function () {if (active != 0 && active - 8 < 0) {moveSelect(-active)} else {moveSelect(-8)}}, pageDown: function () {if (active != listItems.size() - 1 && active + 8 > listItems.size()) {moveSelect(listItems.size() - 1 - active)} else {moveSelect(8)}}, hide: function () {element && element.hide();listItems && listItems.removeClass(CLASSES.ACTIVE);active = -1}, visible: function () {return element && element.is(":visible")}, current: function () {return this.visible() && (listItems.filter("." + CLASSES.ACTIVE)[0] || options.selectFirst && listItems[0])}, show: function () {var offset = $(input).offset();element.css({width: typeof options.width == "string" || options.width > 0 ? options.width : $(input).width(),top: offset.top + input.offsetHeight,left: offset.left}).show();if (options.scroll) {list.scrollTop(0);list.css({maxHeight: options.scrollHeight,overflow: "auto"});if ($.browser.msie && typeof document.body.style.maxHeight === "undefined") {var listHeight = 0;listItems.each(function () {listHeight += this.offsetHeight});var scrollbarsVisible = listHeight > options.scrollHeight;list.css("height", scrollbarsVisible ? options.scrollHeight : listHeight);if (!scrollbarsVisible) {listItems.width(list.width() - parseInt(listItems.css("padding-left")) - parseInt(listItems.css("padding-right")))}}}}, selected: function () {var selected = listItems && listItems.filter("." + CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE);return selected && selected.length && $.data(selected[0], "ac_data")}, emptyList: function () {list && list.empty()}, unbind: function () {element && element.remove()}}};$.Autocompleter.Selection = function (field, start, end) {if (field.createTextRange) {var selRange = field.createTextRange();selRange.collapse(true);selRange.moveStart("character", start);selRange.moveEnd("character", end);selRange.select()} else {if (field.setSelectionRange) {field.setSelectionRange(start, end)} else {if (field.selectionStart) {field.selectionStart = start;field.selectionEnd = end}}}field.focus()};$.extend($.fn, {filteringSelect: function (url, options) {var elm = $(this);if (!elm.attr("id")) {if (elm.attr("name")) {elm.attr("id", elm.attr("name"))} else {var date = new Date();elm.attr("id", date.getTime())}}options = $.extend({dataType: "json",formatItem: function (row) {return row.label}, formatResult: function (row) {$("#hidden_" + elm.attr("id")).val(row.value);return row.label}}, options);elm.autocomplete(url, options);return this}})})(jQuery);(function ($) {$.fn.extend({addOnLoad: function (func) {var oldonload = window.onload;if (typeof window.onload != "function") {window.onload = func} else {window.onload = function () {oldonload();func()}}}})})(jQuery);(function ($) {$.fn.addOption = function () {var add = function (el, v, t, sO) {var option = document.createElement("option");option.value = v,option.text = t;var o = el.options;var oL = o.length;if (!el.cache) {el.cache = {};for (var i = 0; i < oL; i++) {el.cache[o[i].value] = i}}if (typeof el.cache[v] == "undefined") {el.cache[v] = oL}el.options[el.cache[v]] = option;if (sO) {option.selected = true}};var a = arguments;if (a.length == 0) {return this}var sO = true;var m = false;var items, v, t;if (typeof(a[0]) == "object") {m = true;items = a[0]}if (a.length >= 2) {if (typeof(a[1]) == "boolean") {sO = a[1]} else {if (typeof(a[2]) == "boolean") {sO = a[2]}}if (!m) {v = a[0];t = a[1]}}this.each(function () {if (this.nodeName.toLowerCase() != "select") {return}if (m) {for (var item in items) {add(this, item, items[item], sO)}} else {add(this, v, t, sO)}});return this};$.fn.ajaxAddOption = function (url, params, select, fn, args) {if (typeof(url) != "string") {return this}if (typeof(params) != "object") {params = {}}if (typeof(select) != "boolean") {select = true}this.each(function () {var el = this;$.getJSON(url, params, function (r) {$(el).addOption(r, select);if (typeof fn == "function") {if (typeof args == "object") {fn.apply(el, args)} else {fn.call(el)}}})});return this};$.fn.removeOption = function () {var a = arguments;if (a.length == 0) {return this}var ta = typeof(a[0]);var v, index;if (ta == "string" || ta == "object" || ta == "function") {v = a[0];if (v.constructor == Array) {var l = v.length;for (var i = 0; i < l; i++) {this.removeOption(v[i], a[1])}return this}} else {if (ta == "number") {index = a[0]} else {return this}}this.each(function () {if (this.nodeName.toLowerCase() != "select") {return}if (this.cache) {this.cache = null}var remove = false;var o = this.options;if ( !! v) {var oL = o.length;for (var i = oL - 1; i >= 0; i--) {if (v.constructor == RegExp) {if (o[i].value.match(v)) {remove = true}} else {if (o[i].value == v) {remove = true}}if (remove && a[1] === true) {remove = o[i].selected}if (remove) {o[i] = null}remove = false}} else {if (a[1] === true) {remove = o[index].selected} else {remove = true}if (remove) {this.remove(index)}}});return this};$.fn.sortOptions = function (ascending) {var sel = $(this).selectedValues();var a = typeof(ascending) == "undefined" ? true : !! ascending;this.each(function () {if (this.nodeName.toLowerCase() != "select") {return}var o = this.options;var oL = o.length;var sA = [];for (var i = 0; i < oL; i++) {sA[i] = {v: o[i].value,t: o[i].text}}sA.sort(function (o1, o2) {o1t = o1.t.toLowerCase(),o2t = o2.t.toLowerCase();if (o1t == o2t) {return 0}if (a) {return o1t < o2t ? -1 : 1} else {return o1t > o2t ? -1 : 1}});for (var i = 0; i < oL; i++) {o[i].text = sA[i].t;o[i].value = sA[i].v}}).selectOptions(sel, true);return this};$.fn.selectOptions = function (value, clear) {var v = value;var vT = typeof(value);if (vT == "object" && v.constructor == Array) {var $this = this;$.each(v, function () {$this.selectOptions(this, clear)})}var c = clear || false;if (vT != "string" && vT != "function" && vT != "object") {return this}this.each(function () {if (this.nodeName.toLowerCase() != "select") {return this}var o = this.options;var oL = o.length;for (var i = 0; i < oL; i++) {if (v.constructor == RegExp) {if (o[i].value.match(v)) {o[i].selected = true} else {if (c) {o[i].selected = false}}} else {if (o[i].value == v) {o[i].selected = true} else {if (c) {o[i].selected = false}}}}});return this};$.fn.copyOptions = function (to, which) {var w = which || "selected";if ($(to).size() == 0) {return this}this.each(function () {if (this.nodeName.toLowerCase() != "select") {return this}var o = this.options;var oL = o.length;for (var i = 0; i < oL; i++) {if (w == "all" || (w == "selected" && o[i].selected)) {$(to).addOption(o[i].value, o[i].text)}}});return this};$.fn.containsOption = function (value, fn) {var found = false;var v = value;var vT = typeof(v);var fT = typeof(fn);if (vT != "string" && vT != "function" && vT != "object") {return fT == "function" ? this : found}this.each(function () {if (this.nodeName.toLowerCase() != "select") {return this}if (found && fT != "function") {return false}var o = this.options;var oL = o.length;for (var i = 0; i < oL; i++) {if (v.constructor == RegExp) {if (o[i].value.match(v)) {found = true;if (fT == "function") {fn.call(o[i], i)}}} else {if (o[i].value == v) {found = true;if (fT == "function") {fn.call(o[i], i)}}}}});return fT == "function" ? this : found};$.fn.selectedValues = function () {var v = [];this.selectedOptions().each(function () {v[v.length] = this.value});return v};$.fn.selectedTexts = function () {var t = [];this.selectedOptions().each(function () {t[t.length] = this.text});return t};$.fn.selectedOptions = function () {return this.find("option:selected")}})(jQuery);(function ($) {$.fn.splitter = function (args) {args = args || {};return this.each(function () {var zombie;function startSplitMouse(evt) {if (opts.outline) {zombie = zombie || bar.clone(false).insertAfter(A)}panes.css("-webkit-user-select", "none");bar.addClass(opts.activeClass);A._posSplit = A[0][opts.pxSplit] - evt[opts.eventPos];$(document).bind("mousemove", doSplitMouse).bind("mouseup", endSplitMouse)}function doSplitMouse(evt) {var newPos = A._posSplit + evt[opts.eventPos];if (opts.outline) {newPos = Math.max(0, Math.min(newPos, splitter._DA - bar._DA));bar.css(opts.origin, newPos)} else {resplit(newPos)}}function endSplitMouse(evt) {bar.removeClass(opts.activeClass);var newPos = A._posSplit + evt[opts.eventPos];if (opts.outline) {zombie.remove();zombie = null;resplit(newPos)}panes.css("-webkit-user-select", "text");$(document).unbind("mousemove", doSplitMouse).unbind("mouseup", endSplitMouse)}function resplit(newPos) {newPos = Math.max(A._min, splitter._DA - B._max, Math.min(newPos, A._max, splitter._DA - bar._DA - B._min));bar._DA = bar[0][opts.pxSplit];bar.css(opts.origin, newPos).css(opts.fixed, splitter._DF);A.css(opts.origin, 0).css(opts.split, newPos).css(opts.fixed, splitter._DF);B.css(opts.origin, newPos + bar._DA).css(opts.split, splitter._DA - bar._DA - newPos).css(opts.fixed, splitter._DF);if (!$.browser.msie) {panes.trigger("resize")}}function dimSum(jq, dims) {var sum = 0;for (var i = 1; i < arguments.length; i++) {sum += Math.max(parseInt(jq.css(arguments[i])) || 0, 0)}return sum}var vh = (args.splitHorizontal ? "h" : args.splitVertical ? "v" : args.type) || "v";var opts = $.extend({activeClass: "active",pxPerKey: 8,tabIndex: 0,accessKey: ""}, {v: {keyLeft: 39,keyRight: 37,cursor: "e-resize",splitbarClass: "vsplitbar",outlineClass: "voutline",type: "v",eventPos: "pageX",origin: "left",split: "width",pxSplit: "offsetWidth",side1: "Left",side2: "Right",fixed: "height",pxFixed: "offsetHeight",side3: "Top",side4: "Bottom"}, h: {keyTop: 40,keyBottom: 38,cursor: "n-resize",splitbarClass: "hsplitbar",outlineClass: "houtline",type: "h",eventPos: "pageY",origin: "top",split: "height",pxSplit: "offsetHeight",side1: "Top",side2: "Bottom",fixed: "width",pxFixed: "offsetWidth",side3: "Left",side4: "Right"}}[vh], args);var splitter = $(this).css({position: "relative"});var panes = $(">*", splitter[0]).css({position: "absolute","z-index": "1","-moz-outline-style": "none"});var A = $(panes[0]);var B = $(panes[1]);var focuser = $('<a href="javascript:void(0)"></a>').attr({accessKey: opts.accessKey,tabIndex: opts.tabIndex,title: opts.splitbarClass}).bind($.browser.opera ? "click" : "focus", function () {this.focus();bar.addClass(opts.activeClass)}).bind("keydown", function (e) {var key = e.which || e.keyCode;var dir = key == opts["key" + opts.side1] ? 1 : key == opts["key" + opts.side2] ? -1 : 0;if (dir) {resplit(A[0][opts.pxSplit] + dir * opts.pxPerKey, false)}}).bind("blur", function () {bar.removeClass(opts.activeClass)});var bar = $(panes[2] || "<div></div>").insertAfter(A).css("z-index", "100").append(focuser).attr({"class": opts.splitbarClass,unselectable: "on"}).css({position: "absolute","user-select": "none","-webkit-user-select": "none","-khtml-user-select": "none","-moz-user-select": "none"}).bind("mousedown", startSplitMouse);if (/^(auto|default|)$/.test(bar.css("cursor"))) {bar.css("cursor", opts.cursor)}bar._DA = bar[0][opts.pxSplit];splitter._PBF = $.boxModel ? dimSum(splitter, "border" + opts.side3 + "Width", "border" + opts.side4 + "Width") : 0;splitter._PBA = $.boxModel ? dimSum(splitter, "border" + opts.side1 + "Width", "border" + opts.side2 + "Width") : 0;A._pane = opts.side1;B._pane = opts.side2;$.each([A, B], function () {this._min = opts["min" + this._pane] || dimSum(this, "min-" + opts.split);this._max = opts["max" + this._pane] || dimSum(this, "max-" + opts.split) || 9999;this._init = opts["size" + this._pane] === true ? parseInt($.curCSS(this[0], opts.split)) : opts["size" + this._pane]});var initPos = A._init;if (!isNaN(B._init)) {initPos = splitter[0][opts.pxSplit] - splitter._PBA - B._init - bar._DA}if (opts.cookie) {if (!$.cookie) {alert("jQuery.splitter(): jQuery cookie plugin required")}var ckpos = parseInt($.cookie(opts.cookie));if (!isNaN(ckpos)) {initPos = ckpos}$(window).bind("unload", function () {var state = String(bar.css(opts.origin));$.cookie(opts.cookie, state, {expires: opts.cookieExpires || 365,path: opts.cookiePath || document.location.pathname})})}if (isNaN(initPos)) {initPos = Math.round((splitter[0][opts.pxSplit] - splitter._PBA - bar._DA) / 2)}if (opts.anchorToWindow) {splitter._hadjust = dimSum(splitter, "borderTopWidth", "borderBottomWidth", "marginBottom");splitter._hmin = Math.max(dimSum(splitter, "minHeight"), 20);$(window).bind("resize", function () {var top = splitter.offset().top;var wh = $(window).height();splitter.css("height", Math.max(wh - top - splitter._hadjust, splitter._hmin) + "px");if (!$.browser.msie) {splitter.trigger("resize")}}).trigger("resize")} else {if (opts.resizeToWidth && !$.browser.msie) {$(window).bind("resize", function () {splitter.trigger("resize")})}}splitter.bind("resize", function (e, size) {if (e.target != this) {return}splitter._DF = splitter[0][opts.pxFixed] - splitter._PBF;splitter._DA = splitter[0][opts.pxSplit] - splitter._PBA;if (splitter._DF <= 0 || splitter._DA <= 0) {return}resplit(!isNaN(size) ? size : (!(opts.sizeRight || opts.sizeBottom) ? A[0][opts.pxSplit] : splitter._DA - B[0][opts.pxSplit] - bar._DA))}).trigger("resize", [initPos])})}})(jQuery);(function ($) {$.fn.timePicker = function (options) {var settings = $.extend({}, $.fn.timePicker.defaults, options);return this.each(function () {$.timePicker(this, settings)})};$.timePicker = function (elm, settings) {var e = $(elm)[0];return e.timePicker || (e.timePicker = new jQuery._timePicker(e, settings))};$._timePicker = function (elm, settings) {var tpOver = false;var keyDown = false;var startTime = timeToDate(settings.startTime, settings);var endTime = timeToDate(settings.endTime, settings);$(elm).attr("autocomplete", "OFF");var times = [];var time = new Date(startTime);while (time <= endTime) {times[times.length] = formatTime(time, settings);time = new Date(time.setMinutes(time.getMinutes() + settings.step))}var $tpDiv = $('<div class="ui-widget-content time-picker' + (settings.show24Hours ? "" : " time-picker-12hours") + '"></div>');var $tpList = $("<ul></ul>");for (var i = 0; i < times.length; i++) {$tpList.append("<li>" + times[i] + "</li>")}$tpDiv.append($tpList);var elmOffset = $(elm).offset(),elmHeight = $(elm).innerHeight(),special = 0;if (audiofanzine.browser.mozilla && audiofanzine.os.mac) {special = 7} else {if (audiofanzine.browser.mozilla && audiofanzine.os.windows) {special = (-42)} else {if (audiofanzine.browser.msie) {special = 14} else {if (audiofanzine.browser.chrome) {special = (-26)} else {if (audiofanzine.browser.opera) {special = 47}}}}}$tpDiv.appendTo("body").css({top: (elmOffset.top + elmHeight + parseInt(special)),left: elmOffset.left}).hide();$tpDiv.mouseover(function () {tpOver = true}).mouseout(function () {tpOver = false});$("li", $tpList).mouseover(function () {if (!keyDown) {$("li.selected", $tpDiv).removeClass("selected");$(this).addClass("selected")}}).mousedown(function () {tpOver = true}).click(function () {setTimeVal(elm, this, $tpDiv, settings);tpOver = false});var showPicker = function () {if ($tpDiv.is(":visible")) {return false}$("li", $tpDiv).removeClass("selected");$tpDiv.show();var time = elm.value ? timeStringToDate(elm.value, settings) : startTime;var startMin = startTime.getHours() * 60 + startTime.getMinutes();var min = (time.getHours() * 60 + time.getMinutes()) - startMin;var steps = Math.round(min / settings.step);var roundTime = normaliseTime(new Date(0, 0, 0, 0, (steps * settings.step + startMin), 0));roundTime = (startTime < roundTime && roundTime <= endTime) ? roundTime : startTime;var $matchedTime = $("li:contains(" + formatTime(roundTime, settings) + ")", $tpDiv);if ($matchedTime.length) {$matchedTime.addClass("selected");$tpDiv[0].scrollTop = $matchedTime[0].offsetTop}return true};$(elm).focus(showPicker).click(showPicker);$(elm).blur(function () {if (!tpOver) {$tpDiv.hide()}});var event = ($.browser.opera || $.browser.mozilla) ? "keypress" : "keydown";$(elm)[event](function (e) {var $selected;keyDown = true;var top = $tpDiv[0].scrollTop;switch (e.keyCode) {case 38:if (showPicker()) {return false}$selected = $("li.selected", $tpList);var prev = $selected.prev().addClass("selected")[0];if (prev) {$selected.removeClass("selected");if (prev.offsetTop < top) {$tpDiv[0].scrollTop = top - prev.offsetHeight}} else {$selected.removeClass("selected");prev = $("li:last", $tpList).addClass("selected")[0];$tpDiv[0].scrollTop = prev.offsetTop - prev.offsetHeight}return false;break;case 40:if (showPicker()) {return false}$selected = $("li.selected", $tpList);var next = $selected.next().addClass("selected")[0];if (next) {$selected.removeClass("selected");if (next.offsetTop + next.offsetHeight > top + $tpDiv[0].offsetHeight) {$tpDiv[0].scrollTop = top + next.offsetHeight}} else {$selected.removeClass("selected");next = $("li:first", $tpList).addClass("selected")[0];$tpDiv[0].scrollTop = 0}return false;break;case 13:if ($tpDiv.is(":visible")) {var sel = $("li.selected", $tpList)[0];setTimeVal(elm, sel, $tpDiv, settings)}return false;break;case 27:$tpDiv.hide();return false;break}return true});$(elm).keyup(function (e) {keyDown = false});this.getTime = function () {return timeStringToDate(elm.value, settings)};this.setTime = function (time) {elm.value = formatTime(normaliseTime(time), settings);$(elm).change()}};$.fn.timePicker.defaults = {step: 30,startTime: new Date(0, 0, 0, 0, 0, 0),endTime: new Date(0, 0, 0, 23, 30, 0),separator: ":",show24Hours: true};function setTimeVal(elm, sel, $tpDiv, settings) {elm.value = $(sel).text();$(elm).change();if (!$.browser.msie) {elm.focus()}$tpDiv.hide()}function formatTime(time, settings) {var h = time.getHours();var hours = settings.show24Hours ? h : (((h + 11) % 12) + 1);var minutes = time.getMinutes();return formatNumber(hours) + settings.separator + formatNumber(minutes) + (settings.show24Hours ? "" : ((h < 12) ? " AM" : " PM"))}function formatNumber(value) {return (value < 10 ? "0" : "") + value}function timeToDate(input, settings) {return (typeof input == "object") ? normaliseTime(input) : timeStringToDate(input, settings)}function timeStringToDate(input, settings) {if (input) {var array = input.split(settings.separator);var hours = parseFloat(array[0]);var minutes = parseFloat(array[1]);if (!settings.show24Hours) {if (hours === 12 && input.substr("AM") !== -1) {hours = 0} else {if (hours !== 12 && input.indexOf("PM") !== -1) {hours += 12}}}var time = new Date(0, 0, 0, hours, minutes, 0);return normaliseTime(time)}return null}function normaliseTime(time) {time.setFullYear(2001);time.setMonth(0);time.setDate(0);return time}})(jQuery);var Upload = {};Upload.frame = function (c) {var n = "f" + Math.floor(Math.random() * 99999),d = document.createElement("DIV");d.innerHTML = '<iframe style="display:none" src="about:blank" id="' + n + '" name="' + n + '" onload="Upload.loaded(\'' + n + "')\"></iframe>";document.body.appendChild(d);var i = document.getElementById(n);if (c && typeof(c.onComplete) == "function") {i.onComplete = c.onComplete}return n};Upload.form = function (f, name) {f.setAttribute("target", name)};Upload.submit = function (f, c) {Upload.form(f, Upload.frame(c));if (c && typeof(c.onStart) == "function") {return c.onStart()} else {return true}};Upload.loaded = function (id) {var i = document.getElementById(id);if (i.contentDocument) {var d = i.contentDocument} else {if (i.contentWindow) {var d = i.contentWindow.document} else {var d = window.frames[id].document}}if (d.location.href == "about:blank") {return}if (typeof(i.onComplete) == "function") {eval("var data = " + d.body.innerHTML);i.onComplete(data)}};(function ($) {$.fn.upload = function (s) {s = $.extend({onStart: function () {}, onComplete: function () {}}, s || {});$(this).submit(function () {return Upload.submit(this, s)});return this}})(jQuery);(function ($) {$.fn.setCursorPosition = function (pos) {return this.each(function () {$(this).selectRange(pos, pos)})};$.fn.selectRange = function (start, end) {return this.each(function () {if (this.setSelectionRange) {this.focus();this.setSelectionRange(start, end)} else {if (this.createTextRange) {var range = this.createTextRange();range.collapse(true);range.moveEnd("character", end);range.moveStart("character", start);range.select()}}})}})(jQuery);(function ($) {$.fn.inlineEditor = function (options) {var element = this,content, editElement;options = $.extend({element: "",url: "",method: "GET",type: "input",params: {}, dataType: "html",predispatch: function () {}, response: function (response) {}, donthide: 0}, options || {});if (options.type == "textarea") {editElement = $("<textarea class='textarea'></textarea>")} else {editElement = $('<input type="text" />')}editElement.css("display", "none");editElement.bind("keypress", function (e) {var code = (e.keyCode ? e.keyCode : e.which);if (code == 13) {var edit = $(this);element.text(edit.val());if (options.element != undefined && options.element != "") {$("#" + options.element).val(edit.val())} else {if (options.url != "" && edit.val().replace(/^\s+/g, "").replace(/\s+$/g, "") != "Ce texte limitÃ© Ã  500 caractÃ¨res est Ã©ditable en cliquant dessus") {options.params.content = edit.val();options.predispatch();$.ajax({url: options.url,type: options.method,dataType: options.dataType,data: options.params,success: options.response})}}if (options.donthide == 0) {edit.remove()}element.show();return false}});editElement.blur(function () {var edit = $(this);element.text(edit.val());if (options.element != undefined && options.element != "") {$("#" + options.element).val(edit.val())} else {if (options.url != "" && edit.val().replace(/^\s+/g, "").replace(/\s+$/g, "") != "Ce texte limitÃ© Ã  500 caractÃ¨res est Ã©ditable en cliquant dessus") {options.params.content = edit.val();options.predispatch();$.ajax({url: options.url,type: options.method,dataType: options.dataType,data: options.params,success: options.response})}}if (options.donthide == 0) {edit.remove()}element.show()});element.after(editElement);this.click(function () {editElement.val($(this).text());element.hide();editElement.show();editElement.focus()});return this}})(jQuery);(function ($) {$.fn.selectbox = function (options) {$(".select ul").hide();var element = this,position = $(this).position(),width = $(this).width(),height = $(this).height();$("ul", this).css({top: (position.top + height + 1),left: position.left,width: (width - 4),position: "absolute"});$(this).hover(function () {$(".arrow-button", this).addClass("hover")}, function () {$(".arrow-button", this).removeClass("hover")});$("ul li", this).hover(function () {$(this).addClass("ui-autocomplete-state-active")}, function () {$(this).removeClass("ui-autocomplete-state-active")}).click(function () {$("span.label", element).text($("a", this).text());document.location.href = $("a", this).attr("href")});$(this).click(function () {if ($("ul", element).is(":hidden")) {$("ul", element).show()} else {$("ul", element).hide()}});return this}})(jQuery);(function () {function getCursorPosition(o) {if ($.browser.msie) {o.focus();var range = document.selection.createRange();var dup = range.duplicate();dup.moveToElementText(o);dup.setEndPoint("EndToEnd", range);return {s: dup.text.length - range.text.length,e: dup.text.length - range.text.length + range.text.length}} else {return {s: o.selectionStart,e: o.selectionEnd}}}function insertTag(textareaId, tag, filter) {var o = $(textareaId).get()[0];var top = o.scrollTop;var val = o.value;var pos = getCursorPosition(o);var otag = "";var ctag = "";if (typeof(tag) == "string") {otag = "<" + tag + ">";ctag = "</" + tag + ">"} else {var len = tag.length - 1;for (var i = 0; i < tag.length; i++) {otag += "<" + tag[i] + ">";tag[len - i].match("([^ ]*)");ctag += "</" + RegExp.$1 + ">"}}if (filter == undefined) {filter = function (args) {return args}}if (pos.s != pos.e) {var co = filter(val.slice(pos.s, pos.e));o.value = val.slice(0, pos.s) + otag + co + ctag + val.slice(pos.e);o.scrollTop = top;if (!$.browser.msie) {o.setSelectionRange(pos.s, pos.s)}} else {o.value = val.slice(0, pos.s) + otag + ctag + val.slice(pos.e)}}jQuery.fn.insertTag = function (textareaId, tag, filter) {this.click(function () {insertTag(textareaId, tag, filter)})}})(jQuery);var Keyboard = {KEY_DOWN: 40,KEY_UP: 38,KEY_LEFT: 37,KEY_RIGHT: 39,KEY_END: 35,KEY_BEGIN: 36,KEY_BACK_TAB: 8,KEY_TAB: 9,KEY_SH_TAB: 16,KEY_ENTER: 13,KEY_ESC: 27,KEY_SPACE: 32,KEY_DEL: 46,KEY_A: 65,KEY_B: 66,KEY_C: 67,KEY_D: 68,KEY_E: 69,KEY_F: 70,KEY_G: 71,KEY_H: 72,KEY_I: 73,KEY_J: 74,KEY_K: 75,KEY_L: 76,KEY_M: 77,KEY_N: 78,KEY_O: 79,KEY_P: 80,KEY_Q: 81,KEY_R: 82,KEY_S: 83,KEY_T: 84,KEY_U: 85,KEY_V: 86,KEY_W: 87,KEY_X: 88,KEY_Y: 89,KEY_Z: 90,KEY_PF1: 112,KEY_PF2: 113,KEY_PF3: 114,KEY_PF4: 115,KEY_PF5: 116,KEY_PF6: 117,KEY_PF7: 118,KEY_PF8: 119};jQuery.fn.highlight = function (pat) {function innerHighlight(node, pat) {var skip = 0;if (node.nodeType == 3) {var pos = node.data.toUpperCase().indexOf(pat);if (pos >= 0) {var spannode = document.createElement("span");spannode.className = "highlight";var middlebit = node.splitText(pos);var endbit = middlebit.splitText(pat.length);var middleclone = middlebit.cloneNode(true);spannode.appendChild(middleclone);middlebit.parentNode.replaceChild(spannode, middlebit);skip = 1}} else {if (node.nodeType == 1 && node.childNodes && !/(script|style)/i.test(node.tagName)) {for (var i = 0; i < node.childNodes.length; ++i) {i += innerHighlight(node.childNodes[i], pat)}}}return skip}return this.each(function () {innerHighlight(this, pat.toUpperCase())})};jQuery.fn.removeHighlight = function () {return this.find("span.highlight").each(function () {this.parentNode.firstChild.nodeName;with(this.parentNode) {replaceChild(this.firstChild, this);normalize()}}).end()};
