/*!
 * jQuery JavaScript Library v1.6.2
 * http://jquery.com/
 *
 * Copyright 2011, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 * Copyright 2011, The Dojo Foundation
 * Released under the MIT, BSD, and GPL Licenses.
 *
 * Date: Thu Jun 30 14:16:56 2011 -0400
 */
(function(a,b){function cv(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cs(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cr(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cq(){cn=b}function cp(){setTimeout(cq,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function bZ(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function bY(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bC.test(a)?d(a,e):bY(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)bY(a+"["+e+"]",b[e],c,d);else d(a,b)}function bX(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bR,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bX(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bX(a,c,d,e,"*",g));return l}function bW(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bN),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bA(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bv:bw;if(d>0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bx(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bm(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(be,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bl(a){f.nodeName(a,"input")?bk(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bk)}function bk(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bj(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bi(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bh(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function bg(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function W(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(R.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(a,b){return(a&&a!=="*"?a+".":"")+b.replace(z,"`").replace(A,"&")}function M(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(x,"")===a.type?q.push(g.selector):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){e=p[j];if(c&&e.level>c)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function K(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function E(){return!0}function D(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z])/ig,x=function(a,b){return b.toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!A){A=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||D.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(H)return H.call(b,a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return!!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferred(),c=f._Deferred(),d;f.extend(b,{then:function(a,c){b.done(a).fail(c);return this},always:function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,pipe:function(a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g](h)}):b[a](d[g])})}).promise()},promise:function(a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c<d;c++)b[c]&&f.isFunction(b[c].promise)?b[c].promise().then(i(c),g.reject):--e;e||g.resolveWith(g,b)}else g!==a&&g.resolveWith(g,d?[a]:[]);return g.promise()}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;a.setAttribute("className","t"),a.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0},m&&f.extend(p,{position:"absolute",left:-1e3,top:-1e3});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0),o.innerHTML="",n.removeChild(o);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[f.camelCase(c)]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[f.camelCase(c)]||i[c]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h<i;h++)g=e[h].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),k(this[0],g,d[g]))}}return d}if(typeof a=="object")return this.each(function(){f.data(this,a)});var j=a.split(".");j[1]=j[1]?"."+j[1]:"";if(c===b){d=this.triggerHandler("getData"+j[1]+"!",[j[0]]),d===b&&this.length&&(d=f.data(this[0],a),d=k(this[0],a,d));return d===b&&j[1]?this.data(j[0]):d}return this.each(function(){var b=f(this),d=[j[0],c];b.triggerHandler("setData"+j[1]+"!",d),f.data(this,a,c),b.triggerHandler("changeData"+j[1]+"!",d)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,c){a&&(c=(c||"fx")+"mark",f.data(a,c,(f.data(a,c,b,!0)||0)+1,!0))},_unmark:function(a,c,d){a!==!0&&(d=c,c=a,a=!1);if(c){d=d||"fx";var e=d+"mark",g=a?0:(f.data(c,e,b,!0)||1)-1;g?f.data(c,e,g,!0):(f.removeData(c,e,!0),m(c,d,"mark"))}},queue:function(a,c,d){if(a){c=(c||"fx")+"queue";var e=f.data(a,c,b,!0);d&&(!e||f.isArray(d)?e=f.data(a,c,f.makeArray(d),!0):e.push(d));return e||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e;d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),d.call(a,function(){f.dequeue(a,b)})),c.length||(f.removeData(a,b+"queue",!0),m(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){f.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f._Deferred(),!0))h++,l.done(m);m();return d.promise()}});var n=/[\n\t\r]/g,o=/\s+/,p=/\r/g,q=/^(?:button|input)$/i,r=/^(?:button|input|object|select|textarea)$/i,s=/^a(?:rea)?$/i,t=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,u=/\:|^on/,v,w;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(o);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(o);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(n," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(o);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if((" "+this[c].className+" ").replace(n," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;d=e.value;return typeof d=="string"?d.replace(p,""):d==null?"":d}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h<i;h++){var j=e[h];if(j.selected&&(f.support.optDisabled?!j.disabled:j.getAttribute("disabled")===null)&&(!j.parentNode.disabled||!f.nodeName(j.parentNode,"optgroup"))){b=f(j).val();if(g)return b;d.push(b)}}if(g&&!d.length&&e.length)return f(e[c]).val();return d},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=w:v&&c!=="className"&&(f.nodeName(a,"form")||u.test(c))&&(i=v)));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j&&(h=i.get(a,c))!==null)return h;h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}},value:{get:function(a,b){if(v&&f.nodeName(a,"button"))return v.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(v&&f.nodeName(a,"button"))return v.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);i&&(c=f.propFix[c]||c,h=f.propHooks[c]);return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),w={get:function(a,c){return f.prop(a,c)?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},f.support.getSetAttribute||(f.attrFix=f.propFix,v=f.attrHooks.name=f.attrHooks.title=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var x=/\.(.*)$/,y=/^(?:textarea|input|select)$/i,z=/\./g,A=/ /g,B=/[^\w\s.|`]/g,C=function(a){return a.replace(B,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=D;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=D);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),C).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))f.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=f.event.special[h]||{};for(j=e||0;j<p.length;j++){q=p[j];if(d.guid===q.guid){if(l||n.test(q.namespace))e==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(e!=null)break}}if(p.length===0||e!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&f.removeEvent(a,h,s.handle),g=null,delete t[h]}if(f.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,f.isEmptyObject(s)&&f.removeData(a,b,!0)}}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){var h=c.type||c,i=[],j;h.indexOf("!")>=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.
shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d!=null?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h<i;h++){var j=d[h];if(e||c.namespace_re.test(j.namespace)){c.handler=j.handler,c.data=j.data,c.handleObj=j;var k=j.handler.apply(this,g);k!==b&&(c.result=k,k===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[f.expando])return a;var d=a;a=f.Event(d);for(var e=this.props.length,g;e;)g=this.props[--e],a[g]=d[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=a.target.ownerDocument||c,i=h.documentElement,j=h.body;a.pageX=a.clientX+(i&&i.scrollLeft||j&&j.scrollLeft||0)-(i&&i.clientLeft||j&&j.clientLeft||0),a.pageY=a.clientY+(i&&i.scrollTop||j&&j.scrollTop||0)-(i&&i.clientTop||j&&j.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:f.proxy,special:{ready:{setup:f.bindReady,teardown:f.noop},live:{add:function(a){f.event.add(this,N(a.origType,a.selector),f.extend({},a,{handler:M,guid:a.handler.guid}))},remove:function(a){f.event.remove(this,N(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!this.preventDefault)return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?E:D):this.type=a,b&&f.extend(this,b),this.timeStamp=f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=E;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=E;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=E,this.stopPropagation()},isDefaultPrevented:D,isPropagationStopped:D,isImmediatePropagationStopped:D};var F=function(a){var b=a.relatedTarget,c=!1,d=a.type;a.type=a.data,b!==this&&(b&&(c=f.contains(this,b)),c||(f.event.handle.apply(this,arguments),a.type=d))},G=function(a){a.type=a.data,f.event.handle.apply(this,arguments)};f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={setup:function(c){f.event.add(this,b,c&&c.selector?G:F,a)},teardown:function(a){f.event.remove(this,b,a&&a.selector?G:F)}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(a,b){if(!f.nodeName(this,"form"))f.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=b.type;(c==="submit"||c==="image")&&f(b).closest("form").length&&K("submit",this,arguments)}),f.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=b.type;(c==="text"||c==="password")&&f(b).closest("form").length&&a.keyCode===13&&K("submit",this,arguments)});else return!1},teardown:function(a){f.event.remove(this,".specialSubmit")}});if(!f.support.changeBubbles){var H,I=function(a){var b=a.type,c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},J=function(c){var d=c.target,e,g;if(!!y.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=I(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:J,beforedeactivate:J,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&J.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&J.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",I(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in H)f.event.add(this,c+".specialChange",H[c]);return y.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return y.test(this.nodeName)}},H=f.event.special.change.filters,H.focus=H.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i<j;i++)f.event.add(this[i],a,g,d);return this}}),f.fn.extend({unbind:function(a,b){if(typeof a=="object"&&!a.preventDefault)for(var c in a)this.unbind(c,a[c]);else for(var d=0,e=this.length;d<e;d++)f.event.remove(this[d],a,b);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f.data(this,"lastToggle"+a.guid)||0)%d;f.data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var L={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};f.each(["live","die"],function(a,c){f.fn[c]=function(a,d,e,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:f(this.context);if(typeof a=="object"&&!a.preventDefault){for(var o in a)n[c](o,d,a[o],m);return this}if(c==="die"&&!a&&g&&g.charAt(0)==="."){n.unbind(g);return this}if(d===!1||f.isFunction(d))e=d||D,d=b;a=(a||"").split(" ");while((h=a[i++])!=null){j=x.exec(h),k="",j&&(k=j[0],h=h.replace(x,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,L[h]?(a.push(L[h]+k),h=h+k):h=(L[h]||h)+k;if(c==="live")for(var p=0,q=n.length;p<q;p++)f.event.add(n[p],"live."+N(h,m),{data:d,selector:m,handler:e,origType:h,origHandler:e,preType:l});else n.unbind("live."+N(h,m),e)}return this}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(!f)g=o=!0;else if(f===!0)continue}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.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|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("parentNode",b,f,a,e,c)},"~":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("previousSibling",b,f,a,e,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c<f;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){if(a===b){g=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};f.find=k,f.expr=k.selectors,f.expr[":"]=f.expr.filters,f.unique=k.uniqueSort,f.text=k.getText,f.isXMLDoc=k.isXML,f.contains=k.contains}();var O=/Until$/,P=/^(?:parents|prevUntil|prevAll)/,Q=/,/,R=/^.[^:#\[\.,]*$/,S=Array.prototype.slice,T=f.expr.match.POS,U={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(W(this,a,!1),"not",a)},filter:function(a){return this.pushStack(W(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d<e;d++)i=a[d],j[i]||(j[i]=T.test(i)?f(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=T.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(l?l.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(V(c[0])||V(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=S.call(arguments);O.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!U[a]?f.unique(e):e,(this.length>1||Q.test(d))&&P.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var X=/ jQuery\d+="(?:\d+|null)"/g,Y=/^\s+/,Z=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,$=/<([\w:]+)/,_=/<tbody/i,ba=/<|&#?\w+;/,bb=/<(?:script|object|embed|option|style)/i,bc=/checked\s*(?:[^=]|=\s*.checked.)/i,bd=/\/(java|ecma)script/i,be=/^\s*<!(?:\[CDATA\[|\-\-)/,bf={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};bf.optgroup=bf.option,bf.tbody=bf.tfoot=bf.colgroup=bf.caption=bf.thead,bf.th=bf.td,f.support.htmlSerialize||(bf._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(X,""):null;if(typeof a=="string"&&!bb.test(a)&&(f.support.leadingWhitespace||!Y.test(a))&&!bf[($.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Z,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bc.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bg(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bm)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i;b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof a[0]=="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!bb.test(a[0])&&(f.support.checkClone||!bc.test(a[0]))&&(g=!0,h=f.fragments[a[0]],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j
)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bi(a,d),e=bj(a),g=bj(d);for(h=0;e[h];++h)bi(e[h],g[h])}if(b){bh(a,d);if(c){e=bj(a),g=bj(d);for(h=0;e[h];++h)bh(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!ba.test(k))k=b.createTextNode(k);else{k=k.replace(Z,"<$1></$2>");var l=($.exec(k)||["",""])[1].toLowerCase(),m=bf[l]||bf._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=_.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&Y.test(k)&&o.insertBefore(b.createTextNode(Y.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bl(k[i]);else bl(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||bd.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.expando,g=f.event.special,h=f.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&f.noData[j.nodeName.toLowerCase()])continue;c=j[f.expando];if(c){b=d[c]&&d[c][e];if(b&&b.events){for(var k in b.events)g[k]?f.event.remove(j,k):f.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[f.expando]:j.removeAttribute&&j.removeAttribute(f.expando),delete d[c]}}}});var bn=/alpha\([^)]*\)/i,bo=/opacity=([^)]*)/,bp=/([A-Z]|^ms)/g,bq=/^-?\d+(?:px)?$/i,br=/^-?\d/,bs=/^[+\-]=/,bt=/[^+\-\.\de]+/g,bu={position:"absolute",visibility:"hidden",display:"block"},bv=["Left","Right"],bw=["Top","Bottom"],bx,by,bz;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bx(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d;if(h==="number"&&isNaN(d)||d==null)return;h==="string"&&bs.test(d)&&(d=+d.replace(bt,"")+parseFloat(f.css(a,c)),h="number"),h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bx)return bx(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return bA(a,b,d);f.swap(a,bu,function(){e=bA(a,b,d)});return e}},set:function(a,b){if(!bq.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bo.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bn.test(g)?g.replace(bn,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bx(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(by=function(a,c){var d,e,g;c=c.replace(bp,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bz=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bq.test(d)&&br.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bx=by||bz,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bB=/%20/g,bC=/\[\]$/,bD=/\r?\n/g,bE=/#.*$/,bF=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bG=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bH=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bI=/^(?:GET|HEAD)$/,bJ=/^\/\//,bK=/\?/,bL=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bM=/^(?:select|textarea)/i,bN=/\s+/,bO=/([?&])_=[^&]*/,bP=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bQ=f.fn.load,bR={},bS={},bT,bU;try{bT=e.href}catch(bV){bT=c.createElement("a"),bT.href="",bT=bT.href}bU=bP.exec(bT.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bQ)return bQ.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bL,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bM.test(this.nodeName)||bG.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bD,"\r\n")}}):{name:b.name,value:c.replace(bD,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bT,isLocal:bH.test(bU[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bW(bR),ajaxTransport:bW(bS),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?bZ(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=b$(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bF.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bE,"").replace(bJ,bU[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bN),d.crossDomain==null&&(r=bP.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bU[1]&&r[2]==bU[2]&&(r[3]||(r[1]==="http:"?80:443))==(bU[3]||(bU[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bX(bR,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bI.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bK.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bO,"$1_="+x);d.url=y+(y===d.url?(bK.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bX(bS,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bY(g,a[g],c,e);return d.join("&").replace(bB,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var b_=f.now(),ca=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+b_++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ca.test(b.url)||e&&ca.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ca,l),b.url===j&&(e&&(k=k.replace(ca,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cb=a.ActiveXObject?function(){for(var a in cd)cd[a](0,1)}:!1,cc=0,cd;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ce()||cf()}:ce,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cb&&delete cd[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cc,cb&&(cd||(cd={},f(a).unload(cb)),cd[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cg={},ch,ci,cj=/^(?:toggle|show|hide)$/,ck=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cl,cm=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cn,co=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cr("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cs(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cr("hide",3),a,b,c);for(var d=0,e=this.length;d<e;d++)if(this[d].style){var g=f.css(this[d],"display");g!=="none"&&!f._data(this[d],"olddisplay")&&f._data(this[d],"olddisplay",g)}for(d=0;d<e;d++)this[d].style&&(this[d].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cr("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return this[e.queue===!1?"each":"queue"](function(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(f.support.inlineBlockNeedsLayout?(j=cs(this.nodeName),j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)):this.style.display="inline-block"))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)k=new f.fx(this,b,i),h=a[i],cj.test(h)?k[h==="toggle"?d?"show":"hide":h]():(l=ck.exec(h),m=k.cur(),l?(n=parseFloat(l[2]),o=l[3]||(f.cssNumber[i]?"":"px"),o!=="px"&&(f.style(this,i,(n||1)+o),m=(n||1)/k.cur()*m,f.style(this,i,m+o)),l[1]&&(n=(l[1]==="-="?-1:1)*n+m),k.custom(m,n,o)):k.custom(m,h,""));return!0})},stop:function(a,b){a&&this.queue([]),this.each(function(){var a=f.timers,c=a.length;b||f._unmark(!0,this);while(c--)a[c].elem===this&&(b&&a[c](!0),a.splice(c,1))}),b||this.dequeue();return this}}),f.each({slideDown:cr("show",1),slideUp:cr("hide",1),slideToggle:cr("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default,d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue!==!1?f.dequeue(this):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function h(a){return d.step(a)}var d=this,e=f.fx,g;this.startTime=cn||cp(),this.start=a,this.end=b,this.unit=c||this.unit||(f.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,h.elem=this.elem,h()&&f.timers.push(h)&&!cl&&(co?(cl=!0,g=function(){cl&&(co(g),e.tick())},co(g)):cl=setInterval(e.tick,e.interval))},show:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=cn||cp(),c=!0,d=this.elem,e=this.options,g,h;if(a||b>=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b<a.length;++b)a[b]()||a.splice(b--,1);a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cl),cl=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var ct=/^t(?:able|d|h)$/i,cu=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cv(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!ct.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f.css(a,"marginTop"))||0,j="<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>";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cu.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cu.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cv(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cv(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a&&a.style?parseFloat(f.css(a,d,"padding")):null},f.fn["outer"+c]=function(a){var b=this[0];return b&&b.style?parseFloat(f.css(b,d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window);// Inspired by base2 and Prototype
(function(){
  var initializing = false, fnTest = /xyz/.test(function(){xyz;}) ? /\b_super\b/ : /.*/;

  // The base Class implementation (does nothing)
  this.Class = function(){};
 
  // Create a new Class that inherits from this class
  Class.extend = function(prop) {
    var _super = this.prototype;
   
    // Instantiate a base class (but only create the instance,
    // don't run the init constructor)
    initializing = true;
    var prototype = new this();
    initializing = false;
   
    // Copy the properties over onto the new prototype
    for (var name in prop) {
      // Check if we're overwriting an existing function
      prototype[name] = typeof prop[name] == "function" &&
        typeof _super[name] == "function" && fnTest.test(prop[name]) ?
        (function(name, fn){
          return function() {
            var tmp = this._super;
           
            // Add a new ._super() method that is the same method
            // but on the super-class
            this._super = _super[name];
           
            // The method only need to be bound temporarily, so we
            // remove it when we're done executing
            var ret = fn.apply(this, arguments);       
            this._super = tmp;
           
            return ret;
          };
        })(name, prop[name]) :
        prop[name];
    }
   
    // The dummy class constructor
    function Class() {
      // All construction is actually done in the init method
      if ( !initializing && this.init )
        this.init.apply(this, arguments);
    }
   
    // Populate our constructed prototype object
    Class.prototype = prototype;
   
    // Enforce the constructor to be what we expect
    Class.constructor = Class;

    // And make this class extendable
    Class.extend = arguments.callee;
   
    return Class;
  };
})();// Animation
var Animation = Class.extend({

	// Construct
	init: function() {
	},

	// Set animation intervall
	interval: function( value ) {
		$.fx.interval = value;
	},

	// Scroll to element
	scroll_to: function( element ) {
	
		if ($(element)) {
			
			var target_pos = $(element).offset().top;
			var max_pos = $(document).height() - $(window).height();
			var scroll_pos = (max_pos < target_pos) ? max_pos : target_pos;
			$('html,body').animate({ scrollTop: scroll_pos }, 1000, this.easing);

		}
		
	},

	// Scroll to top
	scroll_to_top: function() {
		$('html,body').animate({ scrollTop: '0px' }, 1000, this.easing);
	},

	// Input field background animation
	input_field_background_toggle: function(element, background, background_focus ) {

		// Background
		$(element).css('background', background_focus);

		// Set Handler
		$(element).focus(function() {
			$(element).css('background', background);
		});
		$(element).blur(function() {
			if ($(element).val() == '') {
				$(element).css('background', background_focus);
			}
		});

	},

	// Replace animation
	content_replace: function(element, content) {

		if ($(element).html() != '') {
			$(element).animate({
				opacity: 0
			}, 500, 'linear', function() {
				$(this).html( content );
				$(this).animate({ opacity: 1 }, 500);
			});

		} else {
			$(element).animate({
				opacity: 0
			}, 0, 'linear', function() {
				$(this).html( content );
				$(this).animate({ opacity: 1 }, 500);
			});

		}

	}

});try { var animation = new Animation(); } catch(ex) {}// AJAX
var Ajax = Class.extend({

	// Construct
	init: function() {
	},
	
	// Params
	set_params: function(params) {

		this.params = {
			form:false,
			callback_function_on_success:false,
			callback_function_on_success_params:false,
			callback_function_on_error:false,
			callback_function_on_error_params:false,
			show_overlay:false,
			type:'json',
			cache:true
		};

		if (params) {
			var scope = this;
			$.each(params, function(i, val) {
				scope.params[i] = val;
			});
		}
		
	},

	// Post
	post: function(url, data, params) {
	
		// Request
		this.request(
			url,
			'post',
			data,
			params
		);

	},

	// Get
	get: function(url, data, params) {

		// Request
		this.request(
			url,
			'get',
			data,
			params
		);

	},

	// Request
	request: function(url, method, data, params) {

		try {

			// Params
			this.set_params(params);

			// Overlay
			if (this.params.show_overlay) {
				overlay.show();
			}

			// Request
			var scope = this;
			$.ajax({
				url:url,
				type:method,
				data:data,
				cache: this.params.cache,
				dataType: this.params.type,
				success: function(data){
					scope.response(data);
				},
				error: function (XMLHttpRequest, textStatus, errorThrown) {
					scope.request_error(XMLHttpRequest, textStatus, errorThrown);
				}
			});

		} catch( ex ) {
			exception.fetch(ex);
		}

	},
	
	// Error
	request_error: function( xml_http_request, text_status, error_thrown ) {

		// Overlay
		if (this.params.show_overlay) {
			overlay.hide();
		}

		if (xml_http_request.responseText) {
			error.show_message(xml_http_request.responseText);
		} else {
			error.show_message(text_status);
		}

	},

	// Response
	response: function(response) {

		try {

			// Overlay
			if (this.params.show_overlay) {
				overlay.hide();
			}

			// Handle response
			if (this.params.type == 'html') {

				// Check data is correct
				if (response.charAt(0) == '[' || response.charAt(0) == '{') {
					var response_data = JSON.parse(response);
					this.response_exception( response_data.data );
				} else {

					// Callback
					if (this.params.callback_function_on_success) {
						if (this.params.callback_function_on_success_params) {
							this.params.callback_function_on_success(response, this.params.callback_function_on_success_params);
						} else {
							this.params.callback_function_on_success(response);
						}
					} else {
						this.response_success( response );
					}

				}

			} else {

				switch(response.return_code) {

					// Success
					case 'success':

						// Callback
						if (this.params.callback_function_on_success) {
							if (this.params.callback_function_on_success_params) {
								this.params.callback_function_on_success(response.data, this.params.callback_function_on_success_params);
							} else {
								this.params.callback_function_on_success(response.data);
							}

						}

						// Form
						if (this.params.form) {
							form_handler.enable( this.params.form );
						}

						this.response_success_json( response.data );
						break;

					// Error
					case 'error':
						this.response_error( response.data );
						break;

					// Reload
					case 'reload':
						this.response_reload();
						break;

					// Redirect
					case 'redirect':
						this.response_redirect(response.data);
						break;

					// Exception
					case 'exception':
						this.response_exception( response.data );
						break;

					default:
						error.show_message('AJAX Error: Wrong code:'+ response.return_code);
				}

			}

		} catch( ex ) {
			exception.fetch(ex);
		}

	},

	// Response Success
	response_success: function( data ) {
	},

	// Response Success JSON
	response_success_json: function( data ) {

		try {

			if (data) {

				// Redirect
				if (data.redirect) {
					document.location = data.redirect;
				}
	
				// Remove
				if (data.remove) {
					if (typeof(data.remove) == 'object') {
						$.each(data.remove, function(key, value) {
							manipulation.remove(value);
						});
					} else {
						manipulation.remove(data.remove);
					}
				}
	
				// Insert
				if (data.insert) {
					$.each(data.insert, function(key, value) {
						manipulation.insert(key, value);
					});
				}
	
				// Append
				if (data.append) {
					$.each(data.append, function(key, value) {
						manipulation.append(key, value);
					});
				}
	
				// Prepend
				if (data.prepend) {
					$.each(data.prepend, function(key, value) {
						manipulation.prepend(key, value);
					});
				}
	
				// Update
				if (data.update) {
					$.each(data.update, function(key, value) {
						manipulation.update(key, value);
					});
				}
	
				// Replace
				if (data.replace) {
					$.each(data.replace, function(key, value) {
						manipulation.replace(key, value);
					});
				}
				
				// Set Attribute
				if (data.set_attribute) {
					$.each(data.set_attribute, function(element, attribute_list) {
						$.each(attribute_list, function(attribute, value) {
							$(element).attr(attribute, value);
						});
					});
				}
	
				// Message
				if (data.message) {
					if (typeof(data.message) == 'object') {
						$.each(data.message, function(key, value) {
							message.show_message(value);
						});
					} else {
						message.show_message(data.message);
					}
				}

				// Confirm
				if (data.confirm) {
					dialog.show(data.confirm.title, data.confirm.content, { confirm:true, close_button_submit:data.confirm.button });
				}

				// Alert
				if (data.alert) {
					dialog.show(data.alert.title, data.alert.content);
				}

				// Javascript
				if (data.javascript) {
					if (typeof(data.javascript) == 'object') {
						$.each(data.javascript, function(key, value) {
							eval(value);
						});
					} else {
						eval(data.javascript);
					}
				}

				// CSS
				if (data.css) {
					if (typeof(data.css) == 'object') {
						$.each(data.css, function(key, value) {
							$('head').append('<style>'+ value +'</style>');
						});
					} else {
						$('head').append('<style>'+ data.css +'</style>');
					}
				}
				
			}

		} catch( ex ) {
			exception.fetch(ex);
		}

	},

	// Error
	response_error: function( data ) {
		try {
			if (this.params.callback_function_on_error) {
				if (this.params.callback_function_on_error_params) {
					this.params.callback_function_on_error(data, this.params.callback_function_on_error_params);
				} else {
					this.params.callback_function_on_error(data);
				}
			} else {

				// Show form error
				for(id_name in data.error_messages) {
					form_handler.show_error(id_name, data.error_messages[id_name], true);
				}

				//error.show_message( data.error_messages );

			}
		} catch( ex ) {
			exception.fetch(ex);
		}

	},

	// Reload
	response_reload: function() {
		try {
			document.location = document.location;
		} catch( ex ) {
			exception.fetch(ex);
		}
	},

	// Redirect
	response_redirect: function(data) {
		try {
			if( ! data || ! data.url ) {
				throw 'data.url not defined: '+ data;
			}
			document.location = data.url;
		} catch( ex ) {
			exception.fetch(ex);
		}
	},

	// Exception
	response_exception: function(data) {
		error.show_message( data.message );
	}

});try { var ajax = new Ajax(); } catch(ex) {}// AJAX upload (iframe)
var Ajaxupload = Class.extend({

	// Construct
	init: function() {
	},

	// Properties
	iframe: null,
	iframe_id: null,
	form: null,
	active: false,

	// Params
	set_params: function(params) {

		this.params = {
			callback_function_on_success:false,
			callback_function_on_success_params:false
		};

		if (params) {
			var scope = this;
			$.each(params, function(i, val) {
				scope.params[i] = val;
			});
		}

	},

	// Create upload form
	create_upload_form: function( element, params ) {
	
		try {

			// Params
			this.set_params(params);

			// Create only when necessary
			var scope = this;
			if ( $(element) )  {

				// destroy previuos iframes
				$('.iframe_form').remove();

				// iframe
				this.iframe_id = 'iframe_form_' + this.get_unique_id();
				this.iframe = this.get_iframe();

				// form
				this.form = $(element).get(0);
				$(this.form).attr('target', this.iframe.name);

			}

		} catch( ex ) {
			exception.fetch(ex);
		}

	},

	// Start submit
	submit: function() {

		try {
			overlay.show();
			this.active = true;
			this.form.submit();

		} catch( ex ) {
			exception.fetch(ex);
		}

	},

	// Upload successfull
	success: function() {
		try {
			if (this.active) {

				// Callback
				if (this.params.callback_function_on_success) {

					overlay.hide();
					if (dialog.active) {
						dialog.close();
					}
					this.active = false;

					if (this.params.callback_function_on_success_params) {
						this.params.callback_function_on_success(response.data, this.params.callback_function_on_success_params);
					} else {
						this.params.callback_function_on_success(response.data);
					}

				// Json
				} else {

					try {

						var json_string = url.urldecode($(this.iframe).contents().find('body').text());
						if (json_string.charAt(0) == '[' || json_string.charAt(0) == '{') {
							var data = JSON.parse(json_string);
							var ajax_object = new Ajax();
							ajax_object.set_params(
								{
									callback_function_on_error: this.ajax_error,
									callback_function_on_error_params: this.form,
									callback_function_on_success: this.ajax_success
								}
							);
							ajax_object.response( data );

						} else if (json_string.length > 0) {
							overlay.hide();
							error.show_message($(this.iframe).contents().find('body').html());
						}

					} catch( ex ) {
						exception.fetch(ex);
					}


				}
			}
		} catch( ex ) {
			exception.fetch(ex);
		}
	},

	// Error
	ajax_error: function(data, form) {
		overlay.hide();
		form_handler.response_error(data, form);
	},

	// Success
	ajax_success: function() {
		overlay.hide();
		if (dialog.active) {
			dialog.close();
		}
		this.active = false;

	},

	// Create unique id
	get_unique_id: function () {
		var dateObject = new Date();
		return dateObject.getFullYear() +''+ dateObject.getMonth() +''+ dateObject.getDate() +''+ dateObject.getTime();
	},

	// Create iframe
	get_iframe: function() {

		// iframe
		var div = document.createElement('div');
		div.innerHTML = '<iframe src="javascript:\'<html></html>\';" name="' + this.iframe_id + '" class="iframe_form" />';
		var el = div.firstChild;
		iframe = div.removeChild(el);
		iframe.setAttribute('id', this.iframe_id);
		iframe.style.display = 'none';
		document.body.appendChild(iframe);
		
		// event
		var scope = this;
		$(iframe).load(function() {
			scope.success();
		});

		return iframe;

	},
	
	// Format Input files
	input_fields_unique_id: new Number(1),
	format_input_files: function( element, text_empty, text_choose ) {

		var scope = this;

		// Input fields
		$(element).each( function() {

			// Values
			scope.input_fields_unique_id = scope.input_fields_unique_id + 1;
			var input_fields_unique_id   = scope.input_fields_unique_id;
			var file_text_id             = 'file_text_id_'+ input_fields_unique_id;
			var file_button_id           = 'file_button_id_'+ input_fields_unique_id;
			var file_input_id            = $(this).attr('id');
			var name                     = $(this).attr('name');

			// Create content
			$(this).before('\
				<div class="replace_file display_inline">\
					<div id="'+ file_text_id +'">'+ text_empty +'</div>\
					<div id="'+ file_button_id +'" class="replace_file_button">\
						<div>'+ text_choose +'</div>\
						<div id="'+ file_input_id +'_container" class="replace_file_input_container">\
							<input id="'+ file_input_id +'" type="file" class="replace_file_input" />\
						</div>\
					</div>\
				</div>\
			');

			// Set new Input field
			$('#'+ file_input_id +'_container').css({
				'margin-left':'-25px',
				'margin-top':'-30px'
			});
			$('#'+ file_input_id).attr('name', name);

			// Hover effect for button
			$('#'+ file_input_id).mouseover(function() {
				$('#'+ file_button_id).addClass( 'input_file_button_hover' );
			});
			$('#'+ file_input_id).mouseout(function() {
				$('#'+ file_button_id).removeClass( 'input_file_button_hover' );
			});

			// Change Effect
			$('#'+ file_input_id).change(function() {
				$('#'+ file_text_id).html( $('#'+ file_input_id).val().replace(/.*(\/|\\)/, "") );
 			});

			// Destroy input field
			$(this).remove();

		});

	}

});try { var ajaxupload = new Ajaxupload(); } catch(ex) {}// Cache
var Cache = Class.extend({

	// Construct
	init: function() {
	},

	// Data
	data: new Object(),

	// Set
	set: function( key, value, type ) {
		this.data[key] = value;

	},

	// Get
	get: function( key ) {
		if (this.chk(key)) {
			return this.data[key];
		}
		return false;
	},

	// Check
	chk: function( key ) {
		if (this.data[key]) {
			return true;
		}
		return false;

	},

	// Remove
	del: function( key ) {
		if (this.chk(key)) {
			this.data[key] = null;
		}
	}

});try { var cache = new Cache(); } catch(ex) {}// Client
var Client = Class.extend({

	// Construct
	init: function() {
	},

	// Mobile clients
	mobile_clients: [
		"midp",
		"240x320",
		"blackberry",
		"netfront",
		"nokia",
		"panasonic",
		"portalmmm",
		"sharp",
		"sie-",
		"sonyericsson",
		"symbian",
		"windows ce",
		"benq",
		"mda",
		"mot-",
		"opera mini",
		"philips",
		"pocket pc",
		"sagem",
		"samsung",
		"sda",
		"sgh-",
		"vodafone",
		"xda",
		"iphone",
		"android",
		"webos"
	],

	chk_is_mobile_client: function( user_agent ) {
		user_agent=user_agent.toLowerCase();  
		for (var i in this.mobile_clients) {  
			if (user_agent.indexOf(this.mobile_clients[i]) != -1) {  
				return true;  
			}  
		}  
		return false;  
	},

	// Smartphone clients
	smartphone_clients: [
		"iphone",
		"ipod",
		"android",
		"webos"
	],

	chk_is_smartphone_client: function( user_agent ) {
		user_agent=user_agent.toLowerCase();
		for (var i in this.smartphone_clients) {
			if (user_agent.indexOf(this.smartphone_clients[i]) != -1) {
				return true;
			}
		}  
		return false;
	},
	
	// Version
	browser_main_version: function() {
		var version = $.browser.version;
		var version_parts = version.split('.');
		if (version_parts.length > 0) {
			return version_parts[0];
		}
		return false;
	},
	
	// Shortcut IE6
	is_ie6: function() {
		return ($.browser.msie && parseInt($.browser.version) === 6 && typeof window['XMLHttpRequest'] !== "object");
	},

	// Detect properties
	check_properties: function( property ) {
		switch(property) {
			case 'css3_animation':
				if (0
					|| ($.browser.webkit)
					|| ($.browser.mozilla && this.browser_main_version() > 3)
				) {
					return true;
				}
				break;
		}
		return false;

	}

});try { var client = new Client(); } catch(ex) {}// Debug
var Debug = Class.extend({

	// Construct
	init: function() {
	},

	// Show log
	show_log: function( vars ) {
		if (console) {
			console.log( vars );
		}
	},

	// Show vars in table
	show_vars_in_table: function( vars ) {
		if (console) {
			if (console.table) {
				console.table( vars );
			} else {
				console.log( vars );
			}
		}
	},

	// Show vars
	show_vars: function( vars ) {
		message.show_message( this.build_vars_tree(vars), { automatic_close:false, width: ($(document).width() - 200), direction:'left' } );
	},

	// Build vars tree
	build_vars_tree: function( vars ) {

		var s = {
			'table':    'border-collapse:separate; font-size:8pt; font-family:Arial, helvetica;',
			'th_array': 'padding:1px 5px 1px 5px; color:white; text-align:left;background:#4444CC;',
			'th_object':'padding:1px 5px 1px 5px; color:white; text-align:left;background:darkorange;',
			'td':       'padding:1px; color:black; background:#DDDDEE;'
		};

		var output = new String();
		switch(typeof(vars)) {

			case 'object':
				output += '<table style="'+ s['table'] +'" cellpadding="1" cellspacing="1">';
				if(vars instanceof Array) {
					$.each(vars, function(key, value) {
						if(typeof(value) != 'function') {
							output += '<tr><th style="'+ s['th_array'] +'">' + key + '</th><td style="'+ s['td'] +'">';
							output += debug.build_vars_tree(value);
							output += '</td></tr>';
						}
					});
				} else {
					for(key in vars) {
						value = vars[key];
						if(typeof(value) != 'function') {
							output += '<tr><th style="'+ s['th_object'] +'">' + key + '</th><td style="'+ s['td'] +'">';
							output += debug.build_vars_tree(value);
							output += '</td></tr>';
						}
					};
				}
				output += '</table>';

				break;

			case 'number':
				output += vars;
				break;

			case 'string':
				output += vars.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/"/g, '&quot;');;
				break;

			case 'boolean':
				output += vars == true ? 'true' : 'false';
				break;

			case 'function':
				break;

			default:
				break;

		}

		return output;

	}

});try { var debug = new Debug(); } catch(ex) {}// Dialog
var Dialog = Class.extend({

	// Construct
	init: function() {
		this.dialog_content_container     = new Array();
		this.dialog_content_active_number = new Number();
		this.dialog_error_messages        = new Object();
		this.dialog_content               = new Object();
		this.dialog_content_history       = new Array();
	},

	// Status
	active: false,

	// Params
	set_params: function(params) {

		this.params = {
			close_button_header:true,
			header_close_button_text: 'X',
			close_button:true,
			close_button_text:   'Schließen',
			close_button_submit: 'OK',
			confirm:false,
			width:400,
			height:0,
			max_height:false,
			top_bottom_margin: 50,
			form:false,
			show_header:true,
			show_footer:true,
			draggable: false,
			draggable_handler: 'header',
			resizable: false,
			callback_function_on_close:false,
			callback_function_on_init:false,
			callback_function_after_fade_in:false
		};

		if (params) {
			var scope = this;
			$.each(params, function(i, val) {
				scope.params[i] = val;
			});
		}
	},

	// Show
	show: function(title, content, params) {

		this.active = true;

		// Params
		this.set_params(params);

		// Overlay
		this.create_overlay();

		// Create dialog
		this.create_dialog();
		
		// Header
		if (this.params.show_header) {
			this.set_header(title);
		}
		
		// Content
		this.set_content(content);

		// Bottom
		if (this.params.show_footer) {
			this.set_bottom();
		}
		
		// Post parser
		this.post_content();

		// Show Dialog
		this.show_dialog();

	},

	// Show (load content via url)
	get_url: function(url, title, params) {

		this.title = title;

		// Params
		this.set_params(params);

		// Get form
		ajax.get(
			url,
			{},
			{
				callback_function_on_success:this.get_url_callback,
				callback_function_on_success_params: { scope:this },
				show_overlay: true,
				type:'html'
			}
		);

	},
	get_url_callback: function( data, params ) {

		// Show
		params.scope.show(
			params.scope.title,
			data,
			params.scope.params
		);

	},

	// Create Overlay
	create_overlay: function() {

		// Box
		this.overlay_box = document.createElement("div");
		$(this.overlay_box).height( $(window).height() ).width('100%');
		$("body").append( this.overlay_box );

		// CSS
		$(this.overlay_box).css('z-index', 2000).css('position', 'absolute').css('top', '0').css('left', '0');

		// Overlay
		this.overlay = document.createElement("div");
		$(this.overlay).height('100%').width('100%');
		$(this.overlay_box).append( this.overlay );

		// CSS
		$(this.overlay).css('z-index', 2001).css('background-image', 'url('+ registry.get('cdn_redacs_url') + 'img/adm/elements/lightbox_bg.png)').css('position', 'fixed');

	},

	// Close
	close: function() {

		this.active = false;

		// Fade out
		var scope = this;
		$(this.dialog).fadeOut(500, function() {

			// Callback
			if (scope.params.callback_function_on_close) {
				scope.params.callback_function_on_close();
			}

			// Error messages
			form_handler.hide_all_errors();

			// Destroy DOM Elements
			$(scope.dialog_header).remove();
			scope.dialog_content_container = new Array();
			$(scope.dialog_content_wrapper).find('form').remove();
			$(scope.dialog_content_wrapper).remove();
			$(scope.dialog_bottom).remove();
			$(scope.dialog).remove();
			$(scope.dialog_inner_box).remove();
			$(scope.dialog_box).remove();

			// Overlay
			$(scope.overlay).remove();
			$(scope.overlay_box).remove();

		});

	},

	// Create Dialog
	create_dialog: function() {

		// Box
		this.dialog_box = document.createElement("div");
		$(this.dialog_box).addClass('dialog_box');
		$("body").append( this.dialog_box );
		$(this.dialog_box).css({'z-index': 3000, 'position': 'absolute', 'top': '0', 'left': '0', 'width': '100%', 'height': '100%'});

		// Dialog
		this.dialog = document.createElement("div");
		$(this.dialog).width(this.params.width+'px');
		$(this.dialog).hide();
		$(this.dialog).attr('id', dialog.get_dialog_id());
		$(this.dialog).addClass('dialog');
		$(this.dialog_box).append( this.dialog );
		$(this.dialog).css({'z-index':3001, 'position':'fixed', 'top':'50%', 'left':'50%'});

		// Dialog Content Wrapper
		this.dialog_content_wrapper = document.createElement("div");
		$(this.dialog).append( this.dialog_content_wrapper );
		
		// Dialog Conent
		this.create_dialog_content();

	},
	
	// Create Dialog Content
	create_dialog_content        : function() {
	
		// Dialog Error Messages
		var dialog_error_messages = document.createElement("ul");
		$(dialog_error_messages).addClass('dialog_error_messages').addClass('error_block');

		// Dialog Content
		var dialog_content = document.createElement("div");
		$(dialog_content).addClass('dialog_content');
		$(dialog_content).addClass('clearfix');

		// Add
		var dialog_content_number = this.dialog_content_container.push(
			{
				'error_messages': dialog_error_messages,
				'content'       : dialog_content
			}
		) - 1;

		// Add to DOM
		$(this.dialog_content_container[dialog_content_number].error_messages).hide();
		$(this.dialog_content_container[dialog_content_number].content).hide();
		$(this.dialog_content_wrapper).append( this.dialog_content_container[dialog_content_number].error_messages );
		$(this.dialog_content_wrapper).append( this.dialog_content_container[dialog_content_number].content );

		// Hide preview elements and show new elements
		this.switch_dialog_content( dialog_content_number );
	
	},

	// Switch dialog content
	switch_dialog_content: function(dialog_content_number, delete_active) {

		// Hide
		if (dialog_content_number != this.dialog_content_active_number) {
			$(this.dialog_content_container[this.dialog_content_active_number].error_messages).hide();
			$(this.dialog_content_container[this.dialog_content_active_number].content).hide();

			// Delete
			if (delete_active != undefined && delete_active == true) {
				$(this.dialog_content_container[this.dialog_content_active_number].error_messages).remove();
				$(this.dialog_content_container[this.dialog_content_active_number].content).remove();
				this.dialog_content_container.splice(this.dialog_content_active_number, 1);

				// History
				this.dialog_content_history.pop();

			}

		}

		// History
		if (dialog_content_number != this.dialog_content_history[this.dialog_content_history.length-1]) {
			this.dialog_content_history.push( dialog_content_number );
		}

		// Show
		$(this.dialog_content_container[dialog_content_number].content).show();
		
		// Set active dialog content/error messages
		this.dialog_error_messages        = this.dialog_content_container[dialog_content_number].error_messages;
		this.dialog_content               = this.dialog_content_container[dialog_content_number].content;
		this.dialog_content_active_number = dialog_content_number;

	},
	
	// Switch dialog content back
	switch_dialog_content_back: function() {
		if (this.dialog_content_history.length > 1) {
			this.switch_dialog_content(this.dialog_content_history[this.dialog_content_history.length-2], true);
		}
	},

	// Add new content
	add_new_content: function(content) {
		this.create_dialog_content();
		this.set_content(content);
	},
	add_new_content_url: function(url) {
		ajax.get(
			url,
			{},
			{
				type: 'html',
				callback_function_on_success: this.add_new_content
			}
		);
	},

	// Set Content
	set_content: function(content) {
		$(this.dialog_content).html(content);

	},

	// Get content height
	get_content_height: function() {
		return $(this.dialog_content).height();
	},

	// Post Parser
	post_content: function() {
		
		// Navigation
		this.build_content_navigation();
		
	},

	// Build content navigation
	build_content_navigation: function() {

		var content_tabs = $(this.dialog_content).find('.tabs');
		if (content_tabs.length != undefined && content_tabs.length > 0) {
		
			// Collect details
			var tab_title = new Array();
			var first = true;
			$(content_tabs).each(function() {

				// Collect Tab-Informations
				tab_title.push( { title: $(this).attr('title'), id: $(this).attr('id') } );

				// Unset Title in HTML-Tag
				$(this).attr('title', '');

			});
			
			// Build and show Tab-Navigation
			this.dialog_tab_navigation = document.createElement("ul");
			$(this.dialog_tab_navigation).addClass('dialog_tab_navigation');
			$(this.dialog_tab_navigation).addClass('clearfix');
			$(this.dialog_error_messages).before( this.dialog_tab_navigation );

			// Create content
			var tab_navigation_content = new String();
			for(var i=0; i < tab_title.length; i++) {
				tab_navigation_content += '<li><a id="dialog_tab_navigation_a_'+ i +'" onclick="dialog.switch_content_navigation(\''+ tab_title[i].id +'\', this.id);return false;">'+ tab_title[i].title +'</a></li>';
			}
			$(this.dialog_tab_navigation).html( tab_navigation_content );
			
			// Display
			$(content_tabs).hide();
			$(content_tabs).first().show();
			$(this.dialog_tab_navigation).find('li:first a').addClass('active');
			
		}

	},
	
	// Switch content navigation
	switch_content_navigation: function( element_id, navi_tab_id ) {

		// Hide Form errors
		form_handler.hide_all_errors();

		// Content
		$(this.dialog_content).find('.tabs').hide();
		$(this.dialog_content).find('#'+ element_id).show();

		// Tabs
		$(this.dialog_tab_navigation).find('li a').removeClass('active');
		$('#'+ navi_tab_id).addClass('active');

	},
	
	// Set Header
	set_header: function(title) {

		// Header
		this.dialog_header = document.createElement("div");
		$(this.dialog_header).addClass('dialog_header');
		$(this.dialog_header).addClass('clearfix');
		$(this.dialog_content_wrapper).before( this.dialog_header );

		// Header Content
		this.dialog_header_content = document.createElement("div");
		$(this.dialog_header_content).addClass('dialog_header_content');
		$(this.dialog_header).append( this.dialog_header_content );
		$(this.dialog_header_content).html( title );

		// Close button
		if (this.params.close_button_header) {
			$(this.dialog_header).prepend('<button class="dialog_header_close_button" onclick="dialog.close()">'+ this.params.header_close_button_text +'</button>');
		}

	},

	// Set Bottom
	set_bottom: function() {

		// Bottom
		this.dialog_bottom = document.createElement("div");
		$(this.dialog_bottom).addClass('dialog_bottom');
		$(this.dialog_content_wrapper).after( this.dialog_bottom );

		// Close button
		if (this.params.close_button) {
			$(this.dialog_bottom).append('<button onclick="dialog.close()">'+ this.params.close_button_text +'</button>');
		}

		// Form
		if (this.params.form) {
			var form = $('form', this.dialog_content)[0];

			// iframe upload
			if ($(form).attr('enctype') == 'multipart/form-data') {
				$(form).submit( function () {
					ajaxupload.submit();
					return false;
				});
				$(this.dialog_bottom).append(' <button onclick="ajaxupload.submit()">'+ this.params.close_button_submit +'</button>');

			} else {
				//$(form).append('<input type="submit" value="" />');
				$(form).bind('submit', function () {
					form_handler.dialog_form_submit();
					return false;
				});
				$(this.dialog_bottom).append(' <button onclick="form_handler.dialog_form_submit()">'+ this.params.close_button_submit +'</button>');

			}
		}
		
		// Confirm
		if (this.params.confirm) {
			$(this.dialog_bottom).append(' <button onclick="form_handler.dialog_form_submit( '+ (dialog.dialog_active_number-1) +', true )">'+ this.params.close_button_submit +'</button>');

		}

	},
	
	// Calculate height
	calculate_content_height: function() {

		var height = new Number( $(this.dialog).height() );
		if (this.params.show_header) {
			height -= $(this.dialog_header).outerHeight();
		}
		if (this.params.show_footer) {
			height -= $(this.dialog_bottom).outerHeight();
		}
			
		if (this.dialog_tab_navigation != undefined) {
			height -= $(this.dialog_tab_navigation).outerHeight();
		}
		
		height -= ($(this.dialog_content).outerHeight()-$(this.dialog_content).height());
		
		return height;

	},
	
	// Show Dialog
	show_dialog: function() {

		// Init manipulation functions
		manipulation.init_functions();

		// Height
		if (this.params.height > 0) {
			$(this.dialog_content).height(this.params.height+'px');

		// Max height
		} else {

			var height = new Number( $(window).height() - (2*this.params.top_bottom_margin) );
			var natural_height = height;
			if (this.params.show_header) {
				height -= $(this.dialog_header).outerHeight();
			}
			if (this.params.show_footer) {
				height -= $(this.dialog_bottom).outerHeight();
			}
			
			if (this.dialog_tab_navigation != undefined) {
				height -= 30;
			}
			if (this.params.max_height || $(this.dialog).outerHeight() > natural_height) {
				$(this.dialog_content).height( height );
			}

		}		

		// Dialog
		var scope = this;
		$(this.dialog).css('margin-left', (-$(this.dialog).outerWidth()/2)+'px');
		$(this.dialog).css('margin-top', (-$(this.dialog).outerHeight()/2)+'px');

		// Events
		
		// Drag
		if (this.params.draggable) {
			if (this.params.draggable_handler) {
				if (this.params.draggable_handler == 'header') {
					$(this.dialog).draggable( { handle:$(this.dialog_header) } );
				} else {
					$(this.dialog).draggable( { handle:this.params.draggable_handler });
				}
			} else {
				$(this.dialog).draggable();
			}
		}
		
		// Resize
		if (this.params.resizable) {
			var scope = this;
			$(this.dialog).resizable({
				minHeight: $(this.dialog).height(),
				minWidth: $(this.dialog).width(),
				resize: function(event, ui) {
					$(scope.dialog_content).height( scope.calculate_content_height() );
				}
			});
		}

		// Callback function on init
		if (scope.params.callback_function_on_init) {
			scope.params.callback_function_on_init();
		}

		$(this.dialog).fadeIn(500, function() {

			if (scope.params.callback_function_after_fade_in) {
				scope.params.callback_function_after_fade_in();
			}

		});
	},
	
	// Show Error Message
	show_error: function( error_message ) {
		$(this.dialog_error_messages).append( '<li>'+ error_message +'</li>');
		$(this.dialog_error_messages).show();

	},

	// Hide Error Message box
	hide_errors: function() {
		$(this.dialog_error_messages).hide();
	}

});try { var dialog = new Dialog(); } catch(ex) {}// Drop down menu
var Drop_down_menu = Class.extend({

	// Construct
	init: function() {
	},

	// Create
	create: function( element ) {

		$(element).each(function () {

			if ($(this).hasClass('drop_down_menu_active')) {
				return;
			}
			$(this).addClass('drop_down_menu_active');

			// Properties
			var trigger = $(this).find('.drop_down_menu_trigger');
			var content = $(this).find('.drop_down_menu_content');
			var drop_down_menu = $(content).css('opacity', 0).css('-ms-filter', '"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"').css('filter', 'alpha(opacity = 50)');
			var active = false;
			var animated = false;
			var distance = -10;
			var time = 250;
			var hide_delay = 100;
			var hide_delay_intervall = null;
			var width = $(content).width();
			var height = $(content).outerHeight();
			var direction = 'bottom';

			// MouseOver
			$([trigger.get(0), drop_down_menu.get(0)]).mouseover(function () {
				if (hide_delay_intervall) {
					clearTimeout(hide_delay_intervall);
				}
				if (animated || active) {
					return;
				} else {
				
					// Position
					var position = $(trigger).position();
					var left = ($(trigger).width() > 50) ? position.left : position.left-15;
					animated = true;
					drop_down_menu.css({ position: 'absolute', display: 'block' });

					if (position.top > ($(window).height() - height)) {
						drop_down_menu.css({ 'left':left, 'top':(position.top - height - 15) });
						drop_down_menu.animate({ top: '-=' + distance + 'px', opacity: 1 }, time, 'swing', function() {
							animated = false;
							active = true;
						});
						direction = 'top';
						$(content).addClass('drop_down_menu_content_reverse');
					} else {
						drop_down_menu.css({ 'left':left, 'top':position.top+30 });
						drop_down_menu.animate({ top: '+=' + distance + 'px', opacity: 1 }, time, 'swing', function() {
							animated = false;
							active = true;
						});
						direction = 'bottom';
						$(content).removeClass('drop_down_menu_content_reverse');
					}
				}
			})

			// MouseOut
			$([trigger.get(0), drop_down_menu.get(0)]).mouseout(function () {
				if (hide_delay_intervall) {
					clearTimeout(hide_delay_intervall);
				}
				hide_delay_intervall = setTimeout(function () {
					hide_delay_intervall = null;
					if (direction == 'bottom') {
						drop_down_menu.animate({ top: '-=' + distance + 'px',opacity: 0 }, time, 'swing', function () {
							active = false;
							drop_down_menu.css({ 'display' : 'none' });
						});
					} else {
						drop_down_menu.animate({ top: '+=' + distance + 'px',opacity: 0 }, time, 'swing', function () {
							active = false;
							drop_down_menu.css({ 'display' : 'none' });
						});
					}
				}, hide_delay);
			});

		});

	},
	
	build_static_menu: function(id, content, posX, posY, context) {

		if (!$('#drop_down_menu_'+ id).is(':visible')) {

			if (context == undefined) {
				context = 'body';
			}
			
			// HTML
			$(context).append(' \
				<div class="drop_down_menu drop_down_menu_static" id="drop_down_menu_'+ id +'">\
					<div class="drop_down_menu_content">\
						<div class="drop_down_menu_top"></div>\
						<ul class="drop_down_menu_body clearfix">'+ content +'</ul>\
						<div class="drop_down_menu_bottom"></div>\
					</div>\
				</div>\
			');

			// Position
			$('#drop_down_menu_'+ id).css({ position:'absolute', left:posX , top:posY });
			$('#drop_down_menu_'+ id +' .drop_down_menu_content').show();

			// Close
			$('#drop_down_menu_'+ id).click(
				function() { drop_down_menu.remove_static_menu(id); }
			);
			$('#drop_down_menu_'+ id).mouseleave(
				function() { drop_down_menu.remove_static_menu(id); }
			);

		}
	
	},

	remove_static_menu: function(id) {
		$('#drop_down_menu_'+ id).remove();
	},
	
	remove_all_static_menus: function() {
		$('.drop_down_menu_static').remove();
	}
	
});try { var drop_down_menu = new Drop_down_menu(); } catch(ex) {}// Error
var Error = Class.extend({

	// Construct
	init: function() {
	},
	
	// Show Message
	show_message: function( message_text ) {
		var error_message = this.get_message( message_text );
		message.show_message( error_message, { automatic_close:false, width: ($(document).width() - 200), direction:'left' } );
	},

	// Get Message
	get_message: function(message_text) {

		var error_message = new String;
		if (typeof(message_text) == 'array' || typeof(message_text) == 'object') {
			for(message_content in message_text) {
				error_message += this.get_message( message_content );
			}
		} else {
			error_message = message_text;
		}

		return error_message;

	},
	
	// Report error with ajax
	report_error: function( message, url, line ) {
		/*
		ajax.post(
			url.controller('javascript', 'report_error'),
			{
				title  : 'JAVASCRIPT ERROR',
				message: 'Url: ' + url +'<br />Line: ' + line +'<br />Message: ' + message
			}
		);
		*/
	
	}

});try { var error = new Error(); } catch(ex) {}// Exception
var Exception = Class.extend({

	// Construct
	init: function() {
	},
	
	// Show Message
	fetch: function( ex ) {
		var error_message = 'JS Exception<br />at line:'+ ex.line +'<br />Error code:'+ ex.number +'<br />Error description:'+ ex.description +'<br />Message:'+ ex.message;
		message.show_message( error_message, { automatic_close:false, width: ($(document).width() - 200), direction:'left' } );
	}

});try { var exception = new Exception(); } catch(ex) {}// Form
var Form_handler = Class.extend({

	// Construct
	init: function() {
	},

	// Request
	request: function(form_element, params) {

		this.form_data = $(form_element).serialize();
		this.form_action = $(form_element).attr('action');
		this.disable(form_element);
		this.form_element = form_element;

		// Submit (hide error messages)
		this.hide_all_errors();
		this.submit(params);

		return false;

	},

	// Submit
	submit: function(params) {

		// Callbacks
		if (params) {
			params.callback_function_on_error = form_handler.response_error;
		} else {
			var params = { callback_function_on_error: form_handler.response_error };
		}

		// Form enable
		params.form = this.form_element;

		ajax.post(
			this.form_action,
			this.form_data,
			params
		);

	},

	// Form enable
	enable: function(form) {

		// Form
		if (form == undefined) {
			form = form_handler.form_element;
		}

		// Form handling
		if (form.elements) {
			for( var i = 0; i < form.elements.length ; i++) {
				form.elements[i].disabled = false;
			}
		}

	},

	// Form disable
	disable: function(form) {

		// Form handling
		if (form.elements) {
			for( var i = 0; i < form.elements.length ; i++) {
				form.elements[i].disabled = true;
			}
		}

	},
	
	// Open in new tab (_blank)
	open_in_new_tab: function(url, form) {

		// Form
		if (form == undefined) {
			form = form_handler.form_element;
		}

		// Url
		if (url != undefined) {
			$(form).attr('action', url);
		}

		// Actions
		$(form).attr('target', '_blank');
		$(form).unbind('submit');
		$(form).submit();
	
	},

	// Hide Error Box
	hide_error: function( element_id ) {
		$('#form_error_'+ element_id).animate({opacity: 0}, 200, function() { $('#form_error_'+ element_id).remove() });
	},

	// Hide all errors
	hide_all_errors: function() {
		var error_message = $('.error_message');
		if (error_message.length > 0) {
			$('.error_message').animate({opacity: 0}, 200, function() {
				$(this).remove();
			});
			$('label').removeClass('error');
			$('input').removeClass('error');
			$('select').removeClass('error');
		}
		
		$('.error_block').html('');
		$('.error_block').hide();

		// Dialog
		if (dialog.active) {
			dialog.hide_errors();
		}

	},

	// Error
	response_error: function(data, form_element) {

		if (form_element) {
			form_handler.form_element = form_element;
		}

		form_handler.enable(form_handler.form_element);

		// Form
		if (form_handler.form_element) {
			for(id_name in data.error_messages) {
				form_handler.show_error(id_name, data.error_messages[id_name]);
			}
		}

	},

	// Error Message
	show_error: function(id_name, error_message_list, show_in_error_box) {

		// Label
		$('label[for="' + id_name +'"]').addClass('error');

		// Input
		$('#' + id_name).addClass('error');

		// Message
		var message = error_message_list.join('<br />');

		// Check if visible
		var form_element_is_visible = true;
		if (show_in_error_box == undefined || !show_in_error_box) {
			$('#' + id_name).parents().each(
				function() {
					if ($(this).is(':hidden')) {
						form_element_is_visible = false;
					}
				}
			);
		} else {
			form_element_is_visible = false;
		}

		// Show error message direct on form field
		if (form_element_is_visible) {

			$('#form_error_'+ id_name).remove();
			var distance = 30;
			var pos = $('#' + id_name).offset();
	
			var left = pos.left + $('#' + id_name).width() + distance;
			var top = pos.top - 6;
			$('body').append('<div class="error_message" id="form_error_'+ id_name +'" style="position:absolute;left:'+ left +'px;top:'+ top +'px"><div class="error_message_top"></div><div class="error_message_content">'+ message +'</div><div class="error_message_bottom"></div></div>');
			//top = top - $('#form_error_'+ id_name).height()/2 + 1;
			$('#form_error_'+ id_name).css('top', top +'px').css('opacity', 0).animate({left: '-=' + distance + 'px', opacity: 1}, 400);
	
			// on resize hide error messages
			$(window).resize(function() {
				form_handler.hide_all_errors();
			});

		// Show general error messages
		} else {

			// In dialog
			if (dialog.active()) {
				dialog.show_error( message );
			
			} else {
			
				// Error block not active
				if ($('.error_block_not_active').not(':visible')) {
					$('.error_block_not_active').addClass('error_block').removeClass('error_block_not_active');
				}
			
				$('.error_block ul').append( '<li>'+ message +'</li>');
				$('.error_block').show();

			}

		}

	},

	// Dialog
	dialog_params: new Object(),
	dialog: function(url, title, params) {

		this.dialog_title = title;

		if (params != undefined) {
			this.dialog_params = params;
		} else {
			this.dialog_params = new Object();
		}

		// Get form
		ajax.get(
			url,
			{},
			{ callback_function_on_success:this.dialog_show, type:'html' }
		);

	},

	// Show Dialog
	dialog_show: function( data ) {

		if (!form_handler.dialog_params.close_button_text) {
			form_handler.dialog_params.close_button_text = 'Abbrechen';
		}
		form_handler.dialog_params.form = true;

		dialog.show(
			form_handler.dialog_title,
			data,
			form_handler.dialog_params
		);

	},

	// Dialog Form Submit
	dialog_form_submit: function( dialog_active_number, confirm ) {

		// Form
		var form = $('#'+ dialog.get_dialog_id(dialog_active_number)).find('form')[0];
		
		// Success callback
		var callback_function_on_success = form_handler.dialog_close;
		
		// Confirm
		if (confirm != undefined && confirm == true) {
			$(form).append('<input type="hidden" value="1" name="confirm" />');
			var callback_function_on_success = form_handler.dialog_confirm_close;
		}
		
		// Request
		ajax.request(
			form.action,
			'post',
			$(form).serialize(),
			{
				type:'json',
				callback_function_on_error: form_handler.response_error,
				callback_function_on_error_params: form,
				callback_function_on_success: callback_function_on_success
			}
		);
	},

	// Confirm close dialog
	dialog_confirm_close: function( data ) {
		dialog.close();
		dialog.close();
	},

	// Close dialog
	dialog_close: function( data ) {
		if (!data.confirm && !data.alert) {
			dialog.close();
		}
	}

});try { var form_handler = new Form_handler(); } catch(ex) {}// History
var History_manager = Class.extend({

	// Construct
	init: function() {
	},

	// Start
	start: function(init_function) {
		$.history.init(init_function, { unescape: ",/" });

	},

	// Load
	load: function( hash ) {
		$.history.load( hash );

	}

});

// Histry JS
(function($) {
    var locationWrapper = {
        put: function(hash, win) {
            (win || window).location.hash = this.encoder(hash);
        },
        get: function(win) {
            var hash = ((win || window).location.hash).replace(/^#/, '');
            try {
                return $.browser.mozilla ? hash : decodeURIComponent(hash);
            }
            catch (error) {
                return hash;
            }
        },
        encoder: encodeURIComponent
    };

    var iframeWrapper = {
        id: "__jQuery_history",
        init: function() {
            var html = '<iframe id="'+ this.id +'" style="display:none" src="javascript:false;" />';
            $("body").prepend(html);
            return this;
        },
        _document: function() {
            return $("#"+ this.id)[0].contentWindow.document;
        },
        put: function(hash) {
            var doc = this._document();
            doc.open();
            doc.close();
            locationWrapper.put(hash, doc);
        },
        get: function() {
            return locationWrapper.get(this._document());
        }
    };

    function initObjects(options) {
        options = $.extend({
                unescape: false
            }, options || {});

        locationWrapper.encoder = encoder(options.unescape);

        function encoder(unescape_) {
            if(unescape_ === true) {
                return function(hash){ return hash; };
            }
            if(typeof unescape_ == "string" &&
               (unescape_ = partialDecoder(unescape_.split("")))
               || typeof unescape_ == "function") {
                return function(hash) { return unescape_(encodeURIComponent(hash)); };
            }
            return encodeURIComponent;
        }

        function partialDecoder(chars) {
            var re = new RegExp($.map(chars, encodeURIComponent).join("|"), "ig");
            return function(enc) { return enc.replace(re, decodeURIComponent); };
        }
    }

    var implementations = {};

    implementations.base = {
        callback: undefined,
        type: undefined,

        check: function() {},
        load:  function(hash) {},
        init:  function(callback, options) {
            initObjects(options);
            self.callback = callback;
            self._options = options;
            self._init();
        },

        _init: function() {},
        _options: {}
    };

    implementations.timer = {
        _appState: undefined,
        _init: function() {
            var current_hash = locationWrapper.get();
            self._appState = current_hash;
            self.callback(current_hash);
            setInterval(self.check, 100);
        },
        check: function() {
            var current_hash = locationWrapper.get();
            if(current_hash != self._appState) {
                self._appState = current_hash;
                self.callback(current_hash);
            }
        },
        load: function(hash) {
            if(hash != self._appState) {
                locationWrapper.put(hash);
                self._appState = hash;
                self.callback(hash);
            }
        }
    };

    implementations.iframeTimer = {
        _appState: undefined,
        _init: function() {
            var current_hash = locationWrapper.get();
            self._appState = current_hash;
            iframeWrapper.init().put(current_hash);
            self.callback(current_hash);
            setInterval(self.check, 100);
        },
        check: function() {
            var iframe_hash = iframeWrapper.get(),
                location_hash = locationWrapper.get();

            if (location_hash != iframe_hash) {
                if (location_hash == self._appState) {    // user used Back or Forward button
                    self._appState = iframe_hash;
                    locationWrapper.put(iframe_hash);
                    self.callback(iframe_hash);
                } else {                              // user loaded new bookmark
                    self._appState = location_hash;
                    iframeWrapper.put(location_hash);
                    self.callback(location_hash);
                }
            }
        },
        load: function(hash) {
            if(hash != self._appState) {
                locationWrapper.put(hash);
                iframeWrapper.put(hash);
                self._appState = hash;
                self.callback(hash);
            }
        }
    };

    implementations.hashchangeEvent = {
        _init: function() {
            self.callback(locationWrapper.get());
            $(window).bind('hashchange', self.check);
        },
        check: function() {
            self.callback(locationWrapper.get());
        },
        load: function(hash) {
            locationWrapper.put(hash);
        }
    };

    var self = $.extend({}, implementations.base);

    if($.browser.msie && ($.browser.version < 8 || document.documentMode < 8)) {
        self.type = 'iframeTimer';
    } else if("onhashchange" in window) {
        self.type = 'hashchangeEvent';
    } else {
        self.type = 'timer';
    }

    $.extend(self, implementations[self.type]);
    $.history = self;
})(jQuery);try { var history_manager = new History_manager(); } catch(ex) {}// Internationalization
var I18n = Class.extend({

	// Construct
	init: function() {
	},
	
	// format number
	format_number: function( num, decimals ) {
		num = parseFloat( num );

		try {
			if( decimals == undefined ) {
				decimals = 2;
			}
			var num_fixed = num.toFixed( decimals );
			var x = num_fixed.split('.');
			var x1 = x[0];

			var rgx = /(\d+)(\d{ 3 })/;

			while (rgx.test(x1)) {
				x1 = x1.replace(rgx, '$1' + thousand_sep + '$2');
			}

			return x1 + decimal_sep + x[1];

		} catch( ex ) {
			exception.fetch(ex);
		}
	},

	// iso number
	iso_number: function( num ) {
		try {
			return num.replace( thousand_sep, '' ).replace( decimal_sep, '.' );

		} catch( ex ) {
			exception.fetch(ex);
		}
	},

	// si sumber
	si_number: function( num, base ) {
		if( base == undefined ) {
			base = 1024;
		}
		var sizes = new Array( '', 'k', 'M', 'G', 'T', 'E', 'P', 'Y' );
		var dimension = 0;
		while( num > base ) {
			dimension++;
			num /= base;
		}
		var ext = ' ' + sizes[ dimension ] + 'B';

		if( num > 1000 ) return this.format_number( num, 0 ) + ext;
		if( num > 100 )  return this.format_number( num, 1 ) + ext;
		if( num > 10 )   return this.format_number( num, 2 ) + ext;

		return this.format_number( num, 3 ) + ext;
	}

});try { var i18n = new I18n(); } catch(ex) {}// Crockford JSON (for older Browser)
if (!(window.JSON && window.JSON.parse)) {

	if (!this.JSON) {
	    this.JSON = {};
	}

	(function () {
	    "use strict";
	    function f(n) {
		  return n < 10 ? '0' + n : n;
	    }
	    if (typeof Date.prototype.toJSON !== 'function') {
		  Date.prototype.toJSON = function (key) {
			return isFinite(this.valueOf()) ?
				 this.getUTCFullYear() + '-' +
			     f(this.getUTCMonth() + 1) + '-' +
			     f(this.getUTCDate()) + 'T' +
			     f(this.getUTCHours()) + ':' +
			     f(this.getUTCMinutes()) + ':' +
			     f(this.getUTCSeconds()) + 'Z' : null;
		  };
		  String.prototype.toJSON =
		  Number.prototype.toJSON =
		  Boolean.prototype.toJSON = function (key) {
			return this.valueOf();
		  };
	    }
	    var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
		  escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
		  gap,
		  indent,
		  meta = { // table of character substitutions
			'\b': '\\b',
			'\t': '\\t',
			'\n': '\\n',
			'\f': '\\f',
			'\r': '\\r',
			'"' : '\\"',
			'\\': '\\\\'
		  },
		  rep;

	    function quote(string) {
		  escapable.lastIndex = 0;
		  return escapable.test(string) ?
			'"' + string.replace(escapable, function (a) {
			    var c = meta[a];
			    return typeof c === 'string' ? c :
				  '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
			}) + '"' :
			'"' + string + '"';
	    }

	    function str(key, holder) {
		  var i, // The loop counter.
			k, // The member key.
			v, // The member value.
			length,
			mind = gap,
			partial,
			value = holder[key];

		  if (value && typeof value === 'object' &&
			    typeof value.toJSON === 'function') {
			value = value.toJSON(key);
		  }

		  if (typeof rep === 'function') {
			value = rep.call(holder, key, value);
		  }

		  switch (typeof value) {
		  case 'string':
			return quote(value);

		  case 'number':
			return isFinite(value) ? String(value) : 'null';

		  case 'boolean':
		  case 'null':
			return String(value);

		  case 'object':
			if (!value) {
			    return 'null';
			}
			gap += indent;
			partial = [];
			if (Object.prototype.toString.apply(value) === '[object Array]') {
			    length = value.length;
			    for (i = 0; i < length; i += 1) {
				  partial[i] = str(i, value) || 'null';
			    }
			    v = partial.length === 0 ? '[]' :
				  gap ? '[\n' + gap +
					    partial.join(',\n' + gap) + '\n' +
						  mind + ']' :
					  '[' + partial.join(',') + ']';
			    gap = mind;
			    return v;
			}
			if (rep && typeof rep === 'object') {
			    length = rep.length;
			    for (i = 0; i < length; i += 1) {
				  k = rep[i];
				  if (typeof k === 'string') {
					v = str(k, value);
					if (v) {
					    partial.push(quote(k) + (gap ? ': ' : ':') + v);
					}
				  }
			    }
			} else {
			    for (k in value) {
				  if (Object.hasOwnProperty.call(value, k)) {
					v = str(k, value);
					if (v) {
					    partial.push(quote(k) + (gap ? ': ' : ':') + v);
					}
				  }
			    }
			}
			v = partial.length === 0 ? '{}' :
			    gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' +
					mind + '}' : '{' + partial.join(',') + '}';
			gap = mind;
			return v;
		  }
	    }
	    if (typeof JSON.stringify !== 'function') {
		  JSON.stringify = function (value, replacer, space) {
			var i;
			gap = '';
			indent = '';
			if (typeof space === 'number') {
			    for (i = 0; i < space; i += 1) {
				  indent += ' ';
			    }
			} else if (typeof space === 'string') {
			    indent = space;
			}
			rep = replacer;
			if (replacer && typeof replacer !== 'function' &&
				  (typeof replacer !== 'object' ||
				   typeof replacer.length !== 'number')) {
			    throw new Error('JSON.stringify');
			}
			return str('', {'': value});
		  };
	    }

	    if (typeof JSON.parse !== 'function') {
		  JSON.parse = function (text, reviver) {
			var j;
			function walk(holder, key) {
			    var k, v, value = holder[key];
			    if (value && typeof value === 'object') {
				  for (k in value) {
					if (Object.hasOwnProperty.call(value, k)) {
					    v = walk(value, k);
					    if (v !== undefined) {
						  value[k] = v;
					    } else {
						  delete value[k];
					    }
					}
				  }
			    }
			    return reviver.call(holder, key, value);
			}
			text = String(text);
			cx.lastIndex = 0;
			if (cx.test(text)) {
			    text = text.replace(cx, function (a) {
				  return '\\u' +
					('0000' + a.charCodeAt(0).toString(16)).slice(-4);
			    });
			}
			if (/^[\],:{}\s]*$/
	.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@')
	.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']')
	.replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
			    j = eval('(' + text + ')');
			    return typeof reviver === 'function' ?
				  walk({'': j}, '') : j;
			}
			throw new SyntaxError('JSON.parse');
		  };
	    }
	}());

}try { var json = new Json(); } catch(ex) {}// Manipulation
var Manipulation = Class.extend({

	// Construct
	init: function() {
	},

	// Params
	set_params: function(params) {

		this.params = {
			show_loader_inline:true,
			loader_url:registry.get('cdn_redacs_url') + 'img/com/elements/loader_inline_white.gif',
			show_overlay:true
		};

		if (params) {
			var scope = this;
			$.each(params, function(i, val) {
				scope.params[i] = val;
			});
		}

	},

	// Init functions
	que_init_functions: new Array(),
	que_named_init_functions: new Object,
	init_functions_register: function( init_function, key, once ) {
		if (key) {
			this.que_named_init_functions[key]             = new Object();
			this.que_named_init_functions[key]['function'] = init_function;
			this.que_named_init_functions[key]['once']     = once;
		} else {
			var new_entry         = new Object();
			new_entry['function'] = init_function;
			new_entry['once']     = once;
			this.que_init_functions.push( new_entry );
		}
	},
	init_functions: function() {

		// Call registred functions
		var scope = this;
		if (this.que_init_functions.length > 0) {
			$.each(this.que_init_functions, function(index, value){
				if (value != undefined && typeof(value['function']) == 'function') {

					// Call function
					value['function']();
					
					// Unregister function (if necessary)
					if (value['once'] == true) {
						scope.que_init_functions[index] = undefined;
					}
				}
			});
		}

		// Call registred named functions
		for (var init_function in this.que_named_init_functions) {
			if (this.que_named_init_functions[init_function] != undefined && typeof(this.que_named_init_functions[init_function]['function']) == 'function') {
			
				// Call function
				this.que_named_init_functions[init_function]['function']();
				
				// Unregister function (if necessary)
				if (this.que_named_init_functions[init_function]['once'] == true) {
					this.init_functions_unregister(init_function);
				}
			}
		}

	},
	init_functions_unregister: function(key) {
		if (this.que_named_init_functions[key] != undefined) {
			this.que_named_init_functions[key] = undefined;
		}
	},
	init_functions_unregister_last_entry: function() {
		this.que_init_functions.pop();
	},

	// Delete
	remove: function(element) {

		$(element).animate(
			{opacity: 0, height:0},
			500,
			function(){
				$(element).remove();
			}
		);

	},

	// Insert
	insert: function (element, content) {
		this.append(element, content);

	},
	append: function (element, content) {
		$(element).append( content );
		this.init_functions();
		
	},

	// Prepend
	prepend: function (element, content) {
		$(element).prepend( content );
		this.init_functions();

	},

	// Update
	update: function(element, content) {

		var scope = this;

		// Toggle height
		if ($(element).css('display') == 'none') {
			$(element).html( content ).animate(
				{opacity: 'toggle', height: 'toggle'},
				1000,
				function() {
					$(this).css('filter','');
					scope.init_functions();
				}
			);
		}

		// Reduce height
		else if (content == null) {
			$(element).animate(
				{opacity: 'toggle', height: 'toggle'},
				1000,
				function() {
					$(this).css('filter','');
					scope.init_functions();
				}
			);
		}

		// Simple fade out/in
		else {
			$(element).animate(
				{opacity: 0},
				500,
				function(){
					$(element).html( content ).animate(
						{opacity: 1},
						500,
						function() {
							$(this).css('filter','');
							scope.init_functions();
						}
					);
				}
			);
		}

	},

	// Replace
	replace: function(element, content) {

		var scope = this;

		// Simple fade out/in
		$(element).animate(
			{opacity: 0},
			500,
			function(){
				$(element).replaceWith( content ).animate(
					{opacity: 1},
					500,
					function() {
						$(this).css('filter','');
						scope.init_functions();
					}
				);
			}
		);

	},

	// Ajax update
	ajax_update: function(url, element, params) {

		try {

			// Params
			this.set_params( params );

			// Loader inline
			var show_overlay = this.params.show_overlay;
			if (this.params.show_loader_inline) {
				show_overlay = false;

				// Dimensions
				var height = new Number();
				var width = new Number();
				var offset = new Object();
				if ($(element).height() <= 1) {
					height = $(element).parent().height()
					width  = $(element).parent().width()
					offset = $(element).parent().offset();
				} else {
					height = $(element).height()
					width  = $(element).width()
					offset = $(element).offset();
				}

				// Show inline loader
				this.inline_loader = document.createElement("div");
				$(element).append( this.inline_loader );
				$(this.inline_loader).html('<img src="' + this.params.loader_url + '" />');
				$(this.inline_loader).css('position', 'absolute').css('top', (offset.top+height/2)).css('left', (offset.left+width/2)).css('margin', '-'+($(this.inline_loader).height()/2)+'px 0 0 -'+($(this.inline_loader).width()/2)+'px');

			}

			// AJAX
			this.ajax_replace_element = element;
			ajax.request(
				url,
				'get',
				{},
				{
					type:'html',
					callback_function_on_success: this.ajax_replace_callback,
					callback_function_on_success_params: { scope:this },
					show_overlay:show_overlay
				}
			);

		} catch( ex ) {
			exception.fetch(ex);
		}

	},

	// Ajax replace callback
	ajax_replace_callback: function(data, params) {

		try {
			var _this = params.scope;

			if (_this.params.show_loader_inline) {
				$(_this.inline_loader).remove();
			}

			// Update
			_this.update( _this.ajax_replace_element, data );

		} catch( ex ) {
			exception.fetch(ex);
		}
	}

});try { var manipulation = new Manipulation(); } catch(ex) {}// Message
var Message = Class.extend({

	// Construct
	init: function() {
	},
	
	// Internal count
	internal_count: 0,

	// Params
	set_params: function(params) {

		this.params = {
			padding_horizontal: 30,
			padding_top: 20,
			width:300,
			time: 500,
			hide_delay: 2000,
			distance: 5,
			automatic_close:true,
			direction: 'right'
		};

		if (params) {
			var scope = this;
			$.each(params, function(i, val) {
				scope.params[i] = val;
			});
		}

	},

	// Messages
	message_list: new Object(),

	// Show Message
	show_message: function( message_text, params ) {

		this.set_params(params);

		// Internal count
		this.internal_count++;
		var internal_count = this.internal_count;

		// Message
		var message = document.createElement("div");
		$(message).addClass('message');
		$(message).attr('id', 'message_'+ internal_count);
		$("body").append( message );

		// Message Content
		try {
			$(message).html( message_text );
		} catch(ex) {
			$(message).text( message_text );
		}
		$(message).css({ position:'absolute', width:this.params.width, 'z-index': 10000 });

		// Container
		this.message_list['message_'+ internal_count] = message;

		// Display
		var scope = this;
		var hide_delay_intervall = null;

		// Position
		var left = this.params.padding_horizontal;
		if (this.params.direction == 'right') {
			var left = $(document).width() - (internal_count * this.params.width) - this.params.padding_horizontal;
		};

		$(message).css({ 'left':left, 'top':this.params.padding_top, display: 'block' });
		$(message).animate({ top: '+=' + this.params.distance + 'px', opacity: 1 }, this.params.time, 'swing', function() {
			if (scope.params.automatic_close) {
				hide_delay_intervall = setTimeout(function () {
					hide_delay_intervall = null;
					$(message).animate({ top: '-=' + scope.params.distance + 'px',opacity: 0 }, scope.params.time, 'swing', function () {
						scope.remove_message( internal_count )
					});
				}, scope.params.hide_delay);
			} else {
				$(message).click(function() {
					$(message).fadeOut(scope.params.time, function() {
						scope.remove_message( internal_count )
					});
				});
			}
		});

	},

	// Remove Message
	remove_message: function( internal_count ) {
		$(this.message_list['message_'+ internal_count]).remove();
		this.message_list['message_'+ internal_count] = null;
		this.internal_count--;

	}

});try { var message = new Message(); } catch(ex) {}// Overlay
var Overlay = Class.extend({

	// Construct
	init: function() {
	},

	// Internal count
	internal_count: 0,
	
	// Params
	set_params: function(params) {

		this.params = {
			loader:true,
			text:false
		};

		if (params) {
			var scope = this;
			$.each(params, function(i, val) {
				scope.params[i] = val;
			});
		}

	},

	// Styles
	set_styles: function() {

		var loader_url = registry.get('cdn_redacs_url') + 'img/com/elements/ajax-loader-standard.gif';
		if ($.browser.mozilla || $.browser.opera) {
			loader_url = registry.get('cdn_redacs_url') + 'img/com/elements/ajax-loader-png-blue.png';
		}

		this.styles = {
			overlay_image: registry.get('cdn_redacs_url') + 'img/adm/elements/lightbox_bg.png',
			loader_url:    loader_url
		};

	},

	// Show
	show: function(params) {

		// Create only when internal count is 0
		if (this.internal_count == 0) {

			// Params
			this.set_params(params);

			// Styles
			this.set_styles();

			// Create
			this.create_overlay();

			// Loader
			if (this.params.loader) {
				this.create_loader();
			}

		}

		// Internal count
		this.internal_count++;

	},

	// Hide
	hide: function() {

		// Internal count
		this.internal_count--;

		// Remove only when internal count is 0
		if (this.internal_count == 0) {
			if (this.loader) {
				$(this.loader).remove();
			}
			$(this.overlay).remove();
			$(this.overlay_box).remove();
		}

	},

	// Overlay
	create_overlay: function() {

		// Box
		this.overlay_box = document.createElement("div");
		$(this.overlay_box).height( $(window).height() ).width('100%');
		$("body").append( this.overlay_box );

		// CSS
		$(this.overlay_box).css('z-index', 3100).css('position', 'absolute').css('top', '0').css('left', '0');

		// Overlay
		this.overlay = document.createElement("div");
		$(this.overlay).height('100%').width('100%');
		$(this.overlay_box).append( this.overlay );

		// CSS
		$(this.overlay).css('z-index', 3101).css('background-image', 'url('+ this.styles.overlay_image +')').css('position', 'fixed');

	},
	
	// Loader
	create_loader: function() {

		// Loader
		this.loader = document.createElement("div");
		$(this.overlay_box).append( this.loader );
		$(this.loader).html('<img src="' + this.styles.loader_url + '" />');
		$(this.loader).css('position', 'fixed').css('top', '50%').css('left', '50%').css('margin', '-'+($(this.loader).height()/2)+'px 0 0 -'+($(this.loader).width()/2)+'px');

	}

});try { var overlay = new Overlay(); } catch(ex) {}// Registry
var Registry = Class.extend({

	// Construct
	init: function() {
	},
	
	// Data
	data: new Object(),
	
	// Set
	set: function( key, value ) {
		this.data[key] = value;
		
	},
	
	// Get
	get: function( key ) {
		if (this.chk(key)) {
			return this.data[key];
		}
		return false;
	},
	
	// Check
	chk: function( key ) {
		if (this.data[key]) {
			return true;
		}
		return false;
		
	}

});try { var registry = new Registry(); } catch(ex) {}// Storage
// HTML5 Features implemented. This work only on IE 8+, FF 3.5+, Safari 4, Google Chrome 5, Opera 10.50
var Storage = Class.extend({

	// Construct
	init: function() {
	},

	// Session Storage
	chk_session_aktive: function() {
		return (sessionStorage == true);
	},

	// Set session storage
	set_session: function(key, value) {
		if (this.chk_session_aktive()) {
			sessionStorage.setItem(key, JSON.stringify(value));
		}
	},

	// Get session storage
	get_session: function(key) {
		if (this.chk_session_aktive() && this.chk_session(key)) {
			return JSON.parse( sessionStorage.getItem(key) );
		}
		return null;
	},

	// Check session
	chk_session: function( key ) {
		if (this.chk_session_aktive() && sessionStorage.getItem(key)) {
			return true;
		}
		return false;

	},

	// Remove session
	del_session: function( key ) {
		if (this.chk_session_aktive() && sessionStorage.getItem(key)) {
			sessionStorage.removeItem(key);
		}

	},


	// Local Storage

	// Session Storage
	chk_local_aktive: function() {
		return (sessionStorage == true);
	},

	// Set local storage
	set_local: function(key, value) {
		if (this.chk_local_aktive()) {
			localStorage.setItem(key, JSON.stringify(value));
		}
	},

	// Get local storage
	get_local: function(key) {
		if (this.chk_local_aktive() && this.chk_local(key)) {
			return JSON.parse( localStorage.getItem(key) );
		}
		return null;
	},

	// Check local
	chk_local: function( key ) {
		if (this.chk_local_aktive() && localStorage.getItem(key)) {
			return true;
		}
		return false;

	},

	// Remove local
	del_local: function( key ) {
		if (this.chk_local_aktive() && localStorage.getItem(key)) {
			localStorage.removeItem(key);
		}

	}

});try { var storage = new Storage(); } catch(ex) {}// Table
var Table = Class.extend({

	// Construct
	init: function() {
	},
	
	/* Table sort */
	
	// Params
	set_tablesort_params: function(params) {

		this.tablesort_params = {
			ajax: false,
			url: '',
			img_down: '',
			img_down_active: '',
			img_up: '',
			img_up_active: ''
		};

		if (params) {
			var scope = this;
			$.each(params, function(i, val) {
				scope.tablesort_params[i] = val;
			});
		}

	},

	// Table sort
	tablesort: function(element, params) {

		// Params
		this.set_tablesort_params(params);

		// Links
		var scope = this;
		$(element + ' thead th').each(function() {
			if ($(this).html() != '' && $(this).attr('name') != undefined) {
				$(this).append('\
					<a id="tablesort_'+ $(this).attr('name') +'_DESC" href="'+ scope.tablesort_params.url +'?field='+ $(this).attr('name') +'&order=DESC" '+ (scope.tablesort_params.ajax ? 'onclick="table.tablesort_ajax_call(this.href, this.id, \''+ scope.tablesort_params.img_down_active +'\');return false;"' : '') +'>\
						<img style="vertical-align:middle;" src="'+ scope.tablesort_params.img_down +'" />\
					</a>\
					<a id="tablesort_'+ $(this).attr('name') +'_ASC" href="'+ scope.tablesort_params.url +'?field='+ $(this).attr('name') +'&order=ASC" '+ (scope.tablesort_params.ajax ? 'onclick="table.tablesort_ajax_call(this.href, this.id, \''+ scope.tablesort_params.img_up_active +'\');return false;"' : '') +'>\
						<img style="vertical-align:middle;" src="'+ scope.tablesort_params.img_up +'" />\
					</a>\
				');
			}
		});
		
	},
	
	// Ajax
	tablesort_ajax_call: function(url, id, img_src) {
		manipulation.init_functions_register( function() { $('#'+ id +' img').attr('src', img_src) }, 'tablesort', true );
		ajax.get(url);
	}

});try { var table = new Table(); } catch(ex) {}// Tooltip
var Tooltip = Class.extend({

	// Construct
	init: function() {
	},

	// Create
	create: function( element, direction ) {

		// ? Direction currently not supported - possible values: 'vertical' and 'horizontal' ?

		$(element).each(function () {

			if ($(this).hasClass('tooltip_active')) {
				return;
			}
			$(this).addClass('tooltip_active');

			// Properties
			var trigger = $(this);
			var tooltip = $(this).find('.tooltip_content').css('opacity', 0).css('-ms-filter', '"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"').css('-ms-filter', '"alpha(opacity=0)"');
			var active = false;
			var animated = false;
			var distance = -10;
			var time = 250;
			var hide_delay = 100;
			var hide_delay_intervall = null;
			var width = $(this).find('.tooltip_content').width();

			// MouseOver
			$([trigger.get(0), tooltip.get(0)]).mouseover(function () {
				if (hide_delay_intervall) {
					clearTimeout(hide_delay_intervall);
				}
				if (animated || active) {
					return;
				} else {
				
					// Position
					var position = $(trigger).position();
					var left = position.left - 5;
					var offset = $(trigger).offset();
					if ($(window).width() < (offset.left + tooltip.width())) {
						left = 40 + position.left - tooltip.width();
						tooltip.addClass('tooltip_content_left');
					} else {
						tooltip.removeClass('tooltip_content_left');
					}
					tooltip.css({ 'left':left, 'top':position.top + Number($(trigger).height()) + Number($(trigger).css('marginTop').replace('px', '')) + 5 });

					// Animation
					animated = true;
					tooltip.css({ position: 'absolute', display: 'block' });
					tooltip.animate({ top: '+=' + distance + 'px', opacity: 1 }, time, 'swing', function() {
						animated = false;
						active = true;
					});
				}
			})

			// MouseOut
			$([trigger.get(0), tooltip.get(0)]).mouseout(function () {
				if (hide_delay_intervall) {
					clearTimeout(hide_delay_intervall);
				}
				hide_delay_intervall = setTimeout(function () {
					hide_delay_intervall = null;
					tooltip.animate({ top: '-=' + distance + 'px',opacity: 0 }, time, 'swing', function () {
						active = false;
						tooltip.css({ 'display' : 'none' });
					});
				}, hide_delay);
			});

		});

	}
});try { var tooltip = new Tooltip(); } catch(ex) {}// URL
var Url = Class.extend({

	// Construct
	init: function() {
	},

	urlencode: function(str) {
		return escape(str).replace(/\+/g, '%2B').replace(/%20/g, '+').replace(/\*/g, '%2A').replace(/\//g, '%2F').replace(/@/g, '%40');
	},

	urldecode: function(str) {
		return unescape(str.replace(/\+/g, ' '));
	},
	
	controller: function(controller, action, params) {

		if (controller == undefined) {
			controller = 'index';
		}
		if (action == undefined) {
			action = 'index';
		}
		if (params == undefined) {
			params = '';
		}
		
		return registry.get('base_href') + registry.get('area_url_name') +'/'+ controller +'/'+ action +'/'+ params;

	},
	
	// GET Parameters
	get_parameters: function( key ) {
		var url = window.location.search.substring(1).split('&');
		if(!url.length) return;
		var params = {};
		for(var i  = 0; i < url.length; i++)  {
			var url_parts = url[i].split('=');
			params[unescape(url_parts[0])] = unescape(url_parts[1]);
		}

		if (name != undefined && params[name]) {
			return params[name];
		} else {
			return params;
		}
		
	}

});try { var url = new Url(); } catch(ex) {}// BB Editor - als jQuery Plugin ä
jQuery.fn.bb_editor = function(components, parameters) {
var params = {
'toolbar_id': false
};
if( parameters != undefined ) {
$.each( parameters, function( key, value ) {
params[key] = value;
});
}
function insert_tag( el, start_tag, end_tag ) {
if( !start_tag ) return;
if( !end_tag ) end_tag = '';
el = el.get(0);
el.focus();
// IE
if( typeof document.selection != 'undefined' ) {
var range = document.selection.createRange();
var selection_text = range.text;
range.text = start_tag + selection_text + end_tag;
range = document.selection.createRange();
// Cursor neu setzen
// Wenn kein Text selektiert war zwischen die Tags
if( selection_text.length == 0 ) {
range.move('character', -end_tag.length);
// Wenn Text selektiert war hinter den schließenden Tag
} else {
range.moveStart( 'character', start_tag.length + selection_text.length + end_tag.length );
}
range.select();
} else if(typeof el.selectionStart != 'undefined') {
var start = el.selectionStart;
var end = el.selectionEnd;
var selection_text = el.value.substring(start, end);
el.value = el.value.substr(0, start) + start_tag + selection_text + end_tag + el.value.substr(end);
// Cursor neu setzen
var pos;
// Wenn kein Text selektiert war zwischen die Tags
if( selection_text.length == 0){
pos = start + start_tag.length;
// Wenn Text selektiert war hinter den schließenden Tag
} else{
pos = start + start_tag.length + selection_text.length + end_tag.length;
}
el.selectionStart = pos;
el.selectionEnd = pos;
}
}
function enableDesignMode(textarea) {
$("#toolbar-"+textarea.id).remove();
tb = toolbar(textarea);
if( params.toolbar_id == false ) {
$(textarea).before( tb );
} else {
$('#'+params.toolbar_id).html( tb );
}
init_toolbar( textarea, tb );
$(textarea).focus();
}
function init_toolbar( textarea, tb ) {
// Bold
$('.bold', tb).click(function(){
insert_tag( textarea, '[b]', '[/b]' );return false;
});
// Italic
$('.italic', tb).click(function(){
insert_tag( textarea, '[i]', '[/i]' );return false;
});
// underline
$('.underline', tb).click(function(){
insert_tag( textarea, '[u]', '[/u]' );return false;
});
// center
$('.align_left', tb).click(function(){
insert_tag( textarea, '[left]', '[/left]' );return false;
});
// center
$('.align_center', tb).click(function(){
insert_tag( textarea, '[center]', '[/center]' );return false;
});
// center
$('.align_right', tb).click(function(){
insert_tag( textarea, '[right]', '[/right]' );return false;
});
// unordered list
$('.unorderedlist', tb).click(function(){
insert_tag( textarea, '[list]', '[/list]' );insert_tag( textarea, '[li]', '[/li]' );return false;
});
$('.emoticon', tb).click( function() {
insert_tag( textarea, $(this).attr('title') ); return false;
});
// Quote
$('.quote', tb).click(function(){
insert_tag( textarea, '[quote]', '[/quote]' );return false;
});
}
// Toolbar
function toolbar(textarea) {
var tb = $('\
<div class="editor-toolbar" id="toolbar-'+ textarea.id +'">\
<div style="float:left;">\
 \
<a href="#" class="bold"><img src="http://cdn.michel-customers.net/icon_sets/oxygen/2.0/22x22/actions/format_text_bold.png" alt="bold" title="bold" /></a>\
 \
 \
<a href="#" class="italic"><img src="http://cdn.michel-customers.net/icon_sets/oxygen/2.0/22x22/actions/format_text_italic.png" alt="italic" title="italic" /></a>\
 \
 \
<a href="#" class="underline"><img src="http://cdn.michel-customers.net/icon_sets/oxygen/2.0/22x22/actions/format_text_underline.png" alt="underline" title="underline" /></a>\
 \
 \
<a href="#" class="quote"><img src="http://cdn.michel-customers.net/textbase/redacs/1.0/img/icons/editor/format_text_quote.png" alt="quote" title="quote" /></a>\
 \
</div>\
<div style="margin-left:15px;float:left;">\
 \
<a href="#" class="align_left"><img src="http://cdn.michel-customers.net/icon_sets/oxygen/2.0/22x22/actions/format_justify_left.png" alt="justify left" title="justify left" /></a>\
 \
 \
<a href="#" class="align_center"><img src="http://cdn.michel-customers.net/icon_sets/oxygen/2.0/22x22/actions/format_justify_center.png" alt="justify center" title="justify center" /></a>\
 \
 \
<a href="#" class="align_right"><img src="http://cdn.michel-customers.net/icon_sets/oxygen/2.0/22x22/actions/format_justify_right.png" alt="justify right" title="justify right" /></a>\
 \
</div>\
<div style="margin-left:15px;float:left;">\
 \
<a href="#" class="unorderedlist"><img src="http://cdn.michel-customers.net/icon_sets/oxygen/2.0/22x22/actions/format_list_unordered.png" alt="unordered list" title="unordered list" /></a>\
 \
</div>\
<div style="clear:both;"></div>\
 \
<div style="float:left;">\
\
\
\
<a \
href="javascript: void(0);" \
class="emoticon" \
title=":-)" \
style="margin-left: 3px;" \
>\
<img src="http://cdn.michel-customers.net/textbase/redacs/1.0/img/icons/smilies/smilie.gif" alt="" />\
</a>\
\
<a \
href="javascript: void(0);" \
class="emoticon" \
title=";-)" \
style="margin-left: 3px;" \
>\
<img src="http://cdn.michel-customers.net/textbase/redacs/1.0/img/icons/smilies/wink.gif" alt="" />\
</a>\
\
<a \
href="javascript: void(0);" \
class="emoticon" \
title=":-D" \
style="margin-left: 3px;" \
>\
<img src="http://cdn.michel-customers.net/textbase/redacs/1.0/img/icons/smilies/smilie_grin.gif" alt="" />\
</a>\
\
<a \
href="javascript: void(0);" \
class="emoticon" \
title=":confused:" \
style="margin-left: 3px;" \
>\
<img src="http://cdn.michel-customers.net/textbase/redacs/1.0/img/icons/smilies/confused.gif" alt="" />\
</a>\
\
<a \
href="javascript: void(0);" \
class="emoticon" \
title=":-(" \
style="margin-left: 3px;" \
>\
<img src="http://cdn.michel-customers.net/textbase/redacs/1.0/img/icons/smilies/frown.gif" alt="" />\
</a>\
\
<a \
href="javascript: void(0);" \
class="emoticon" \
title="x(" \
style="margin-left: 3px;" \
>\
<img src="http://cdn.michel-customers.net/textbase/redacs/1.0/img/icons/smilies/mad.gif" alt="" />\
</a>\
\
<a \
href="javascript: void(0);" \
class="emoticon" \
title="8)" \
style="margin-left: 3px;" \
>\
<img src="http://cdn.michel-customers.net/textbase/redacs/1.0/img/icons/smilies/cool.gif" alt="" />\
</a>\
\
<a \
href="javascript: void(0);" \
class="emoticon" \
title=";P" \
style="margin-left: 3px;" \
>\
<img src="http://cdn.michel-customers.net/textbase/redacs/1.0/img/icons/smilies/tongue-out.gif" alt="" />\
</a>\
\
<a \
href="javascript: void(0);" \
class="emoticon" \
title=":secret:" \
style="margin-left: 3px;" \
>\
<img src="http://cdn.michel-customers.net/textbase/redacs/1.0/img/icons/smilies/secret.gif" alt="" />\
</a>\
\
<a \
href="javascript: void(0);" \
class="emoticon" \
title=":sleepy:" \
style="margin-left: 3px;" \
>\
<img src="http://cdn.michel-customers.net/textbase/redacs/1.0/img/icons/smilies/sleepy.gif" alt="" />\
</a>\
\
<a \
href="javascript: void(0);" \
class="emoticon" \
title=":waving:" \
style="margin-left: 3px;" \
>\
<img src="http://cdn.michel-customers.net/textbase/redacs/1.0/img/icons/smilies/waving.gif" alt="" />\
</a>\
\
<a \
href="javascript: void(0);" \
class="emoticon" \
title=":angry-look:" \
style="margin-left: 3px;" \
>\
<img src="http://cdn.michel-customers.net/textbase/redacs/1.0/img/icons/smilies/baring-teeth.gif" alt="" />\
</a>\
\
<a \
href="javascript: void(0);" \
class="emoticon" \
title=":bow-down:" \
style="margin-left: 3px;" \
>\
<img src="http://cdn.michel-customers.net/textbase/redacs/1.0/img/icons/smilies/bow-down.gif" alt="" />\
</a>\
\
<a \
href="javascript: void(0);" \
class="emoticon" \
title=":crying:" \
style="margin-left: 3px;" \
>\
<img src="http://cdn.michel-customers.net/textbase/redacs/1.0/img/icons/smilies/crying.gif" alt="" />\
</a>\
\
<a \
href="javascript: void(0);" \
class="emoticon" \
title=":devil:" \
style="margin-left: 3px;" \
>\
<img src="http://cdn.michel-customers.net/textbase/redacs/1.0/img/icons/smilies/devil.gif" alt="" />\
</a>\
\
<a \
href="javascript: void(0);" \
class="emoticon" \
title=":embarrassed:" \
style="margin-left: 3px;" \
>\
<img src="http://cdn.michel-customers.net/textbase/redacs/1.0/img/icons/smilies/embarrassed.gif" alt="" />\
</a>\
\
<a \
href="javascript: void(0);" \
class="emoticon" \
title=":lips-are-sealed:" \
style="margin-left: 3px;" \
>\
<img src="http://cdn.michel-customers.net/textbase/redacs/1.0/img/icons/smilies/lips-are-sealed.gif" alt="" />\
</a>\
\
<a \
href="javascript: void(0);" \
class="emoticon" \
title=":lol:" \
style="margin-left: 3px;" \
>\
<img src="http://cdn.michel-customers.net/textbase/redacs/1.0/img/icons/smilies/lol.gif" alt="" />\
</a>\
\
<a \
href="javascript: void(0);" \
class="emoticon" \
title=":not-sure:" \
style="margin-left: 3px;" \
>\
<img src="http://cdn.michel-customers.net/textbase/redacs/1.0/img/icons/smilies/not-sure.gif" alt="" />\
</a>\
\
<a \
href="javascript: void(0);" \
class="emoticon" \
title=":open-mouth:" \
style="margin-left: 3px;" \
>\
<img src="http://cdn.michel-customers.net/textbase/redacs/1.0/img/icons/smilies/open-mouth.gif" alt="" />\
</a>\
\
\
</div>\
<div style="clear:both;"></div>\
 \
</div>'
);
return tb;
}
function setSelectedType(node, select) {
while(node.parentNode) {
var nName = node.nodeName.toLowerCase();
for(var i=0;i<select.options.length;i++) {
if(nName==select.options[i].value){
select.selectedIndex=i;
return true;
}
}
node = node.parentNode;
}
select.selectedIndex=0;
return true;
}
function getSelectionElement(iframe) {
if (iframe.contentWindow.document.selection) {
// IE selections
selection = iframe.contentWindow.document.selection;
range = selection.createRange();
try {
node = range.parentElement();
}
catch (e) {
return false;
}
} else {
// Mozilla selections
try {
selection = iframe.contentWindow.getSelection();
range = selection.getRangeAt(0);
}
catch(e){
return false;
}
node = range.commonAncestorContainer;
}
return node;
}
var tb = false;
$(this).each( function(){
var textarea = $(this);
enableDesignMode(textarea);
});
}
/*
// Editor - als jQuery Plugin
var BB_editor = Class.extend({
var tb = null;
var textarea = null;
// Construct
init: function( textarea ) {
this.textarea = textarea;
this.tb = this.toolbar();
},
// Toolbar
toolbar: function() {
var tb = $("\
<div class='bb_editor-toolbar'>\
<div style='float:left;'>\
<a href='#' class='bold'><img src='http://cdn.michel-customers.net/icon_sets/oxygen/2.0/22x22/actions/format_text_bold.png' alt='bold' title='bold' /></a>\
<a href='#' class='italic'><img src='http://cdn.michel-customers.net/icon_sets/oxygen/2.0/22x22/actions/format_text_italic.png' alt='italic' title='italic' /></a>\
<a href='#' class='underline'><img src='http://cdn.michel-customers.net/icon_sets/oxygen/2.0/22x22/actions/format_text_underline.png' alt='underline' title='underline' /></a>\
<a href='#' class='strike'><img src='http://cdn.michel-customers.net/icon_sets/oxygen/2.0/22x22/actions/format_text_strikethrough.png' alt='strike' title='strike' /></a>\
</div>\
<div style='margin-left:15px;float:left;'>\
<a href='#' class='align_left'><img src='http://cdn.michel-customers.net/icon_sets/oxygen/2.0/22x22/actions/format_justify_left.png' alt='justify left' title='justify left' /></a>\
<a href='#' class='align_center'><img src='http://cdn.michel-customers.net/icon_sets/oxygen/2.0/22x22/actions/format_justify_center.png' alt='justify center' title='justify center' /></a>\
<a href='#' class='align_right'><img src='http://cdn.michel-customers.net/icon_sets/oxygen/2.0/22x22/actions/format_justify_right.png' alt='justify right' title='justify right' /></a>\
</div>\
<div style='margin-left:15px;float:left;'>\
<a href='#' class='unorderedlist'><img src='http://cdn.michel-customers.net/icon_sets/oxygen/2.0/22x22/actions/format_list_unordered.png' alt='unordered list' title='unordered list' /></a>\
<a href='#' class='orderedlist'><img src='http://cdn.michel-customers.net/icon_sets/oxygen/2.0/22x22/actions/format_list_ordered.png' alt='ordered list' title='ordered list' /></a>\
</div>\
<div style='clear:both;'></div>\
</div>"
);
return tb;
},
init_toolbar: function() {
// Bold
$('.bold', this.tb).click(function(){
this.insert_tag( this'bold');return false;
});
},
insert_tag: function( el, start_tag, end_tag ) {
if( !start_tag ) return;
if( !end_tag ) end_tag = '';
el = el.get(0);
el.focus();
// IE
if( typeof document.selection != 'undefined' ) {
var range = document.selection.createRange();
var selection_text = range.text;
range.text = start_tag + selection_text + end_tag;
range = document.selection.createRange();
// Cursor neu setzen
// Wenn kein Text selektiert war zwischen die Tags
if( selection_text.length == 0 ) {
range.move('character', -end_tag.length);
// Wenn Text selektiert war hinter den schließenden Tag
} else {
range.moveStart( 'character', start_tag.length + selection_text.length + end_tag.length );
}
range.select();
} else if(typeof el.selectionStart != 'undefined') {
var start = el.selectionStart;
var end = el.selectionEnd;
var selection_text = el.value.substring(start, end);
el.value = el.value.substr(0, start) + start_tag + selection_text + end_tag + el.value.substr(end);
// Cursor neu setzen
var pos;
// Wenn kein Text selektiert war zwischen die Tags
if( selection_text.length == 0){
pos = start + start_tag.length;
// Wenn Text selektiert war hinter den schließenden Tag
} else{
pos = start + start_tag.length + selection_text.length + end_tag.length;
}
el.selectionStart = pos;
el.selectionEnd = pos;
}
}
});
bb_editor = new BB_editor();
*/try { var bb_editor = new Bb_editor(); } catch(ex) {}// Wrapper objects

// Ajax
var ajax = new function() {

	// Post
	this.post = function(url, data, params){
		var _ajax = new Ajax();
		_ajax.post(url, data, params);
	};

	// Get
	this.get = function(url, data, params){
		var _ajax = new Ajax();
		_ajax.get(url, data, params);
	};

	// Request
	this.request = function(url, method, data, params){
		var _ajax = new Ajax();
		_ajax.request(url, method, data, params);
	};

}

// Dialog (Wrapping to implement Multi-Dialogs)
var dialog = new function() {

	// Dialog handling
	this.dialog_handler       = new Array();
	this.dialog_active_number = new Number(-1);
	this.add_dialog           = function() {
		this.dialog_active_number = this.dialog_handler.push( new Dialog() ) - 1;
		return this.get_dialog();
	};
	this.get_dialog           = function( dialog_active_number ) {
		if (this.dialog_active_number < 0) {
			return undefined;
		}
		if (dialog_active_number == undefined) {
			dialog_active_number = this.dialog_active_number;
		}
		return this.dialog_handler[dialog_active_number];
	};
	this.close = function() {
		if (this.active()) {
			this.get_dialog().close();
			this.dialog_handler.splice(this.dialog_active_number, 1);
			this.dialog_active_number--;
		}
		if (this.dialog_active_number < 0) {
			return false;
		} else {
			return true;
		}
	};

	// Show
	this.show = function(title, content, params){
		var dialog = this.add_dialog();
		dialog.show(title, content, params);
		this.set_key_events();
	};

	// Get Url
	this.get_url = function(url, title, params){
		var dialog = this.add_dialog();
		dialog.get_url(url, title, params);
		this.set_key_events();
	};

	// Active
	this.active = function() {
		if (this.dialog_active_number < 0) {
			return false;
		} else {
			return this.get_dialog().active;
		}
	};
	
	// Key events
	this.set_key_events = function() {
		if (!this.key_set) {
			$(document).bind('keypress', function(e) {
				if(e.keyCode==27){
					if (dialog.active()) {
						e.stopPropagation();
						dialog.close();
					}
				}
			});
		}
		this.key_set = true;
	
	}

	// Methods
	this.switch_dialog_content_back = function() {
		this.get_dialog().switch_dialog_content_back();
	};
	this.add_new_content = function(content) {
		this.get_dialog().add_new_content(content);
	};
	this.add_new_content_url = function(url) {
		this.get_dialog().add_new_content_url(url);
	};
	this.get_content_height = function() {
		return this.get_dialog().get_content_height();
	};
	this.switch_content_navigation = function(element_id, navi_tab_id) {
		this.get_dialog().switch_content_navigation(element_id, navi_tab_id);
	};
	this.show_error = function(error_message) {
		this.get_dialog().show_error(error_message);
	};
	this.hide_errors = function() {
		if (this.dialog_active_number >= 0) {
			this.get_dialog().hide_errors();
		}
	};
	this.get_dialog_id = function( dialog_active_number ) {
		if (dialog_active_number == undefined) {
			dialog_active_number = this.dialog_active_number;
		}
		return 'dialog_'+ dialog_active_number;
	};

}

// Debug
function print_a( vars ) {
	debug.show_vars( vars );
}
function print_log( vars ) {
	debug.show_log( vars );
}
function print_table( vars ) {
	debug.show_vars_in_table( vars );
}
			registry.set('dev_client', '');
			registry.set('dev_server', '');
			registry.set('base_href', 'http://www.aok-verlag.de/');
			registry.set('cdn_redacs_url', 'http://cdn.michel-customers.net/textbase/redacs/1.0/');
			registry.set('area_url_name', 'index');
		
			$(document).ready( function() {
				if (manipulation != undefined) {
					manipulation.init_functions();
				}
			});
		var dev_client=false;
var dev_server=false;
var base_href='http://www.aok-verlag.de/';
$(document).ready(function(){
manipulation_list();
manipulation.init_functions_register(manipulation_list);
if(false){
document.onfocusin=onFocus;
document.onfocusout=onBlur;
}else{
window.onfocus=onFocus;
window.onblur=onBlur;
}
});
function manipulation_list(){
tooltip.create('.tooltip');
}
function onBlur(){
registry.set('tab_has_focus', false);
};
function onFocus(){
registry.set('tab_has_focus', true);
};
$('document').ready(function(){
$('.page_body_column').hover(
function(){
var element=$(this).find('.page_body_column_content_link_image');
$(element).attr('src', registry.get('base_href')+'_img/elements/'+$(element).attr('id')+'_animated.gif');
},
function(){
var element=$(this).find('.page_body_column_content_link_image');
$(element).attr('src', registry.get('base_href')+'_img/elements/'+$(element).attr('id')+'.png');
}
);
});

