
/*! jQuery v1.8.3 jquery.com | jquery.org/license */
(function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r<i;r++)v.event.add(t,n,u[n][r])}o.data&&(o.data=v.extend({},o.data))}function Ot(e,t){var n;if(t.nodeType!==1)return;t.clearAttributes&&t.clearAttributes(),t.mergeAttributes&&t.mergeAttributes(e),n=t.nodeName.toLowerCase(),n==="object"?(t.parentNode&&(t.outerHTML=e.outerHTML),v.support.html5Clone&&e.innerHTML&&!v.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):n==="input"&&Et.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):n==="option"?t.selected=e.defaultSelected:n==="input"||n==="textarea"?t.defaultValue=e.defaultValue:n==="script"&&t.text!==e.text&&(t.text=e.text),t.removeAttribute(v.expando)}function Mt(e){return typeof e.getElementsByTagName!="undefined"?e.getElementsByTagName("*"):typeof e.querySelectorAll!="undefined"?e.querySelectorAll("*"):[]}function _t(e){Et.test(e.type)&&(e.defaultChecked=e.checked)}function Qt(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Jt.length;while(i--){t=Jt[i]+n;if(t in e)return t}return r}function Gt(e,t){return e=t||e,v.css(e,"display")==="none"||!v.contains(e.ownerDocument,e)}function Yt(e,t){var n,r,i=[],s=0,o=e.length;for(;s<o;s++){n=e[s];if(!n.style)continue;i[s]=v._data(n,"olddisplay"),t?(!i[s]&&n.style.display==="none"&&(n.style.display=""),n.style.display===""&&Gt(n)&&(i[s]=v._data(n,"olddisplay",nn(n.nodeName)))):(r=Dt(n,"display"),!i[s]&&r!=="none"&&v._data(n,"olddisplay",r))}for(s=0;s<o;s++){n=e[s];if(!n.style)continue;if(!t||n.style.display==="none"||n.style.display==="")n.style.display=t?i[s]||"":"none"}return e}function Zt(e,t,n){var r=Rt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function en(e,t,n,r){var i=n===(r?"border":"content")?4:t==="width"?1:0,s=0;for(;i<4;i+=2)n==="margin"&&(s+=v.css(e,n+$t[i],!0)),r?(n==="content"&&(s-=parseFloat(Dt(e,"padding"+$t[i]))||0),n!=="margin"&&(s-=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0)):(s+=parseFloat(Dt(e,"padding"+$t[i]))||0,n!=="padding"&&(s+=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0));return s}function tn(e,t,n){var r=t==="width"?e.offsetWidth:e.offsetHeight,i=!0,s=v.support.boxSizing&&v.css(e,"boxSizing")==="border-box";if(r<=0||r==null){r=Dt(e,t);if(r<0||r==null)r=e.style[t];if(Ut.test(r))return r;i=s&&(v.support.boxSizingReliable||r===e.style[t]),r=parseFloat(r)||0}return r+en(e,t,n||(s?"border":"content"),i)+"px"}function nn(e){if(Wt[e])return Wt[e];var t=v("<"+e+">").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write("<!doctype html><html><body>"),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u<a;u++)r=o[u],s=/^\+/.test(r),s&&(r=r.substr(1)||"*"),i=e[r]=e[r]||[],i[s?"unshift":"push"](n)}}function kn(e,n,r,i,s,o){s=s||n.dataTypes[0],o=o||{},o[s]=!0;var u,a=e[s],f=0,l=a?a.length:0,c=e===Sn;for(;f<l&&(c||!u);f++)u=a[f](n,r,i),typeof u=="string"&&(!c||o[u]?u=t:(n.dataTypes.unshift(u),u=kn(e,n,r,i,u,o)));return(c||!u)&&!o["*"]&&(u=kn(e,n,r,i,"*",o)),u}function Ln(e,n){var r,i,s=v.ajaxSettings.flatOptions||{};for(r in n)n[r]!==t&&((s[r]?e:i||(i={}))[r]=n[r]);i&&v.extend(!0,e,i)}function An(e,n,r){var i,s,o,u,a=e.contents,f=e.dataTypes,l=e.responseFields;for(s in l)s in r&&(n[l[s]]=r[s]);while(f[0]==="*")f.shift(),i===t&&(i=e.mimeType||n.getResponseHeader("content-type"));if(i)for(s in a)if(a[s]&&a[s].test(i)){f.unshift(s);break}if(f[0]in r)o=f[0];else{for(s in r){if(!f[0]||e.converters[s+" "+f[0]]){o=s;break}u||(u=s)}o=o||u}if(o)return o!==f[0]&&f.unshift(o),r[o]}function On(e,t){var n,r,i,s,o=e.dataTypes.slice(),u=o[0],a={},f=0;e.dataFilter&&(t=e.dataFilter(t,e.dataType));if(o[1])for(n in e.converters)a[n.toLowerCase()]=e.converters[n];for(;i=o[++f];)if(i!=="*"){if(u!=="*"&&u!==i){n=a[u+" "+i]||a["* "+i];if(!n)for(r in a){s=r.split(" ");if(s[1]===i){n=a[u+" "+s[0]]||a["* "+s[0]];if(n){n===!0?n=a[r]:a[r]!==!0&&(i=s[0],o.splice(f--,0,i));break}}}if(n!==!0)if(n&&e["throws"])t=n(t);else try{t=n(t)}catch(l){return{state:"parsererror",error:n?l:"No conversion from "+u+" to "+i}}}u=i}return{state:"success",data:t}}function Fn(){try{return new e.XMLHttpRequest}catch(t){}}function In(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function $n(){return setTimeout(function(){qn=t},0),qn=v.now()}function Jn(e,t){v.each(t,function(t,n){var r=(Vn[t]||[]).concat(Vn["*"]),i=0,s=r.length;for(;i<s;i++)if(r[i].call(e,t,n))return})}function Kn(e,t,n){var r,i=0,s=0,o=Xn.length,u=v.Deferred().always(function(){delete a.elem}),a=function(){var t=qn||$n(),n=Math.max(0,f.startTime+f.duration-t),r=n/f.duration||0,i=1-r,s=0,o=f.tweens.length;for(;s<o;s++)f.tweens[s].run(i);return u.notifyWith(e,[f,i,n]),i<1&&o?n:(u.resolveWith(e,[f]),!1)},f=u.promise({elem:e,props:v.extend({},t),opts:v.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:qn||$n(),duration:n.duration,tweens:[],createTween:function(t,n,r){var i=v.Tween(e,f.opts,t,n,f.opts.specialEasing[t]||f.opts.easing);return f.tweens.push(i),i},stop:function(t){var n=0,r=t?f.tweens.length:0;for(;n<r;n++)f.tweens[n].run(1);return t?u.resolveWith(e,[f,t]):u.rejectWith(e,[f,t]),this}}),l=f.props;Qn(l,f.opts.specialEasing);for(;i<o;i++){r=Xn[i].call(f,e,l,f.opts);if(r)return r}return Jn(f,l),v.isFunction(f.opts.start)&&f.opts.start.call(e,f),v.fx.timer(v.extend(a,{anim:f,queue:f.opts.queue,elem:e})),f.progress(f.opts.progress).done(f.opts.done,f.opts.complete).fail(f.opts.fail).always(f.opts.always)}function Qn(e,t){var n,r,i,s,o;for(n in e){r=v.camelCase(n),i=t[r],s=e[n],v.isArray(s)&&(i=s[1],s=e[n]=s[0]),n!==r&&(e[r]=s,delete e[n]),o=v.cssHooks[r];if(o&&"expand"in o){s=o.expand(s),delete e[r];for(n in s)n in e||(e[n]=s[n],t[n]=i)}else t[r]=i}}function Gn(e,t,n){var r,i,s,o,u,a,f,l,c,h=this,p=e.style,d={},m=[],g=e.nodeType&&Gt(e);n.queue||(l=v._queueHooks(e,"fx"),l.unqueued==null&&(l.unqueued=0,c=l.empty.fire,l.empty.fire=function(){l.unqueued||c()}),l.unqueued++,h.always(function(){h.always(function(){l.unqueued--,v.queue(e,"fx").length||l.empty.fire()})})),e.nodeType===1&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],v.css(e,"display")==="inline"&&v.css(e,"float")==="none"&&(!v.support.inlineBlockNeedsLayout||nn(e.nodeName)==="inline"?p.display="inline-block":p.zoom=1)),n.overflow&&(p.overflow="hidden",v.support.shrinkWrapBlocks||h.done(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t){s=t[r];if(Un.exec(s)){delete t[r],a=a||s==="toggle";if(s===(g?"hide":"show"))continue;m.push(r)}}o=m.length;if(o){u=v._data(e,"fxshow")||v._data(e,"fxshow",{}),"hidden"in u&&(g=u.hidden),a&&(u.hidden=!g),g?v(e).show():h.done(function(){v(e).hide()}),h.done(function(){var t;v.removeData(e,"fxshow",!0);for(t in d)v.style(e,t,d[t])});for(r=0;r<o;r++)i=m[r],f=h.createTween(i,g?u[i]:0),d[i]=u[i]||v.style(e,i),i in u||(u[i]=f.start,g&&(f.end=f.start,f.start=i==="width"||i==="height"?1:0))}}function Yn(e,t,n,r,i){return new Yn.prototype.init(e,t,n,r,i)}function Zn(e,t){var n,r={height:e},i=0;t=t?1:0;for(;i<4;i+=2-t)n=$t[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function tr(e){return v.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:!1}var n,r,i=e.document,s=e.location,o=e.navigator,u=e.jQuery,a=e.$,f=Array.prototype.push,l=Array.prototype.slice,c=Array.prototype.indexOf,h=Object.prototype.toString,p=Object.prototype.hasOwnProperty,d=String.prototype.trim,v=function(e,t){return new v.fn.init(e,t,n)},m=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,g=/\S/,y=/\s+/,b=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,w=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a<f;a++)if((e=arguments[a])!=null)for(n in e){r=u[n],i=e[n];if(u===i)continue;l&&i&&(v.isPlainObject(i)||(s=v.isArray(i)))?(s?(s=!1,o=r&&v.isArray(r)?r:[]):o=r&&v.isPlainObject(r)?r:{},u[n]=v.extend(l,o,i)):i!==t&&(u[n]=i)}return u},v.extend({noConflict:function(t){return e.$===v&&(e.$=a),t&&e.jQuery===v&&(e.jQuery=u),v},isReady:!1,readyWait:1,holdReady:function(e){e?v.readyWait++:v.ready(!0)},ready:function(e){if(e===!0?--v.readyWait:v.isReady)return;if(!i.body)return setTimeout(v.ready,1);v.isReady=!0;if(e!==!0&&--v.readyWait>0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s<o;)if(n.apply(e[s++],r)===!1)break}else if(u){for(i in e)if(n.call(e[i],i,e[i])===!1)break}else for(;s<o;)if(n.call(e[s],s,e[s++])===!1)break;return e},trim:d&&!d.call("\ufeff\u00a0")?function(e){return e==null?"":d.call(e)}:function(e){return e==null?"":(e+"").replace(b,"")},makeArray:function(e,t){var n,r=t||[];return e!=null&&(n=v.type(e),e.length==null||n==="string"||n==="function"||n==="regexp"||v.isWindow(e)?f.call(r,e):v.merge(r,e)),r},inArray:function(e,t,n){var r;if(t){if(c)return c.call(t,e,n);r=t.length,n=n?n<0?Math.max(0,r+n):n:0;for(;n<r;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,s=0;if(typeof r=="number")for(;s<r;s++)e[i++]=n[s];else while(n[s]!==t)e[i++]=n[s++];return e.length=i,e},grep:function(e,t,n){var r,i=[],s=0,o=e.length;n=!!n;for(;s<o;s++)r=!!t(e[s],s),n!==r&&i.push(e[s]);return i},map:function(e,n,r){var i,s,o=[],u=0,a=e.length,f=e instanceof v||a!==t&&typeof a=="number"&&(a>0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u<a;u++)i=n(e[u],u,r),i!=null&&(o[o.length]=i);else for(s in e)i=n(e[s],s,r),i!=null&&(o[o.length]=i);return o.concat.apply([],o)},guid:1,proxy:function(e,n){var r,i,s;return typeof n=="string"&&(r=e[n],n=e,e=r),v.isFunction(e)?(i=l.call(arguments,2),s=function(){return e.apply(n,i.concat(l.call(arguments)))},s.guid=e.guid=e.guid||v.guid++,s):t},access:function(e,n,r,i,s,o,u){var a,f=r==null,l=0,c=e.length;if(r&&typeof r=="object"){for(l in r)v.access(e,n,l,r[l],1,o,i);s=1}else if(i!==t){a=u===t&&v.isFunction(i),f&&(a?(a=n,n=function(e,t,n){return a.call(v(e),n)}):(n.call(e,i),n=null));if(n)for(;l<c;l++)n(e[l],r,a?i.call(e[l],l,n(e[l],r)):i,u);s=1}return s?e:f?n.call(e):c?n(e[0],r):o},now:function(){return(new Date).getTime()}}),v.ready.promise=function(t){if(!r){r=v.Deferred();if(i.readyState==="complete")setTimeout(v.ready,1);else if(i.addEventListener)i.addEventListener("DOMContentLoaded",A,!1),e.addEventListener("load",v.ready,!1);else{i.attachEvent("onreadystatechange",A),e.attachEvent("onload",v.ready);var n=!1;try{n=e.frameElement==null&&i.documentElement}catch(s){}n&&n.doScroll&&function o(){if(!v.isReady){try{n.doScroll("left")}catch(e){return setTimeout(o,50)}v.ready()}}()}}return r.promise(t)},v.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(e,t){O["[object "+t+"]"]=t.toLowerCase()}),n=v(i);var M={};v.Callbacks=function(e){e=typeof e=="string"?M[e]||_(e):v.extend({},e);var n,r,i,s,o,u,a=[],f=!e.once&&[],l=function(t){n=e.memory&&t,r=!0,u=s||0,s=0,o=a.length,i=!0;for(;a&&u<o;u++)if(a[u].apply(t[0],t[1])===!1&&e.stopOnFalse){n=!1;break}i=!1,a&&(f?f.length&&l(f.shift()):n?a=[]:c.disable())},c={add:function(){if(a){var t=a.length;(function r(t){v.each(t,function(t,n){var i=v.type(n);i==="function"?(!e.unique||!c.has(n))&&a.push(n):n&&n.length&&i!=="string"&&r(n)})})(arguments),i?o=a.length:n&&(s=t,l(n))}return this},remove:function(){return a&&v.each(arguments,function(e,t){var n;while((n=v.inArray(t,a,n))>-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t<r;t++)n[t]&&v.isFunction(n[t].promise)?n[t].promise().done(o(t,f,n)).fail(s.reject).progress(o(t,a,u)):--i}return i||s.resolveWith(f,n),s.promise()}}),v.support=function(){var t,n,r,s,o,u,a,f,l,c,h,p=i.createElement("div");p.setAttribute("className","t"),p.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="<table><tr><td></td><td>t</td></tr></table>",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="<div></div>",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i<s;i++)delete r[t[i]];if(!(n?B:v.isEmptyObject)(r))return}}if(!n){delete u[a].data;if(!B(u[a]))return}o?v.cleanData([e],!0):v.support.deleteExpando||u!=u.window?delete u[a]:u[a]=null},_data:function(e,t,n){return v.data(e,t,n,!0)},acceptData:function(e){var t=e.nodeName&&v.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),v.fn.extend({data:function(e,n){var r,i,s,o,u,a=this[0],f=0,l=null;if(e===t){if(this.length){l=v.data(a);if(a.nodeType===1&&!v._data(a,"parsedAttrs")){s=a.attributes;for(u=s.length;f<u;f++)o=s[f].name,o.indexOf("data-")||(o=v.camelCase(o.substring(5)),H(a,o,l[o]));v._data(a,"parsedAttrs",!0)}}return l}return typeof e=="object"?this.each(function(){v.data(this,e)}):(r=e.split(".",2),r[1]=r[1]?"."+r[1]:"",i=r[1]+"!",v.access(this,function(n){if(n===t)return l=this.triggerHandler("getData"+i,[r[0]]),l===t&&a&&(l=v.data(a,e),l=H(a,e,l)),l===t&&r[1]?this.data(r[0]):l;r[1]=n,this.each(function(){var t=v(this);t.triggerHandler("setData"+i,r),v.data(this,e,n),t.triggerHandler("changeData"+i,r)})},null,n,arguments.length>1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length<r?v.queue(this[0],e):n===t?this:this.each(function(){var t=v.queue(this,e,n);v._queueHooks(this,e),e==="fx"&&t[0]!=="inprogress"&&v.dequeue(this,e)})},dequeue:function(e){return this.each(function(){v.dequeue(this,e)})},delay:function(e,t){return e=v.fx?v.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,s=v.Deferred(),o=this,u=this.length,a=function(){--i||s.resolveWith(o,[o])};typeof e!="string"&&(n=e,e=t),e=e||"fx";while(u--)r=v._data(o[u],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(a));return a(),s.promise(n)}});var j,F,I,q=/[\t\r\n]/g,R=/\r/g,U=/^(?:button|input)$/i,z=/^(?:button|input|object|select|textarea)$/i,W=/^a(?:rea|)$/i,X=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,V=v.support.getSetAttribute;v.fn.extend({attr:function(e,t){return v.access(this,v.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n<r;n++){i=this[n];if(i.nodeType===1)if(!i.className&&t.length===1)i.className=e;else{s=" "+i.className+" ";for(o=0,u=t.length;o<u;o++)s.indexOf(" "+t[o]+" ")<0&&(s+=t[o]+" ");i.className=v.trim(s)}}}return this},removeClass:function(e){var n,r,i,s,o,u,a;if(v.isFunction(e))return this.each(function(t){v(this).removeClass(e.call(this,t,this.className))});if(e&&typeof e=="string"||e===t){n=(e||"").split(y);for(u=0,a=this.length;u<a;u++){i=this[u];if(i.nodeType===1&&i.className){r=(" "+i.className+" ").replace(q," ");for(s=0,o=n.length;s<o;s++)while(r.indexOf(" "+n[s]+" ")>=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n<r;n++)if(this[n].nodeType===1&&(" "+this[n].className+" ").replace(q," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a<u;a++){n=r[a];if((n.selected||a===i)&&(v.support.optDisabled?!n.disabled:n.getAttribute("disabled")===null)&&(!n.parentNode.disabled||!v.nodeName(n.parentNode,"optgroup"))){t=v(n).val();if(s)return t;o.push(t)}}return o},set:function(e,t){var n=v.makeArray(t);return v(e).find("option").each(function(){this.selected=v.inArray(v(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o<r.length;o++)i=r[o],i&&(n=v.propFix[i]||i,s=X.test(i),s||v.attr(e,i,""),e.removeAttribute(V?i:n),s&&n in e&&(e[n]=!1))}},attrHooks:{type:{set:function(e,t){if(U.test(e.nodeName)&&e.parentNode)v.error("type property can't be changed");else if(!v.support.radioValue&&t==="radio"&&v.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}},value:{get:function(e,t){return j&&v.nodeName(e,"button")?j.get(e,t):t in e?e.value:null},set:function(e,t,n){if(j&&v.nodeName(e,"button"))return j.set(e,t,n);e.value=t}}},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(e,n,r){var i,s,o,u=e.nodeType;if(!e||u===3||u===8||u===2)return;return o=u!==1||!v.isXMLDoc(e),o&&(n=v.propFix[n]||n,s=v.propHooks[n]),r!==t?s&&"set"in s&&(i=s.set(e,r,n))!==t?i:e[n]=r:s&&"get"in s&&(i=s.get(e,n))!==null?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):z.test(e.nodeName)||W.test(e.nodeName)&&e.href?0:t}}}}),F={get:function(e,n){var r,i=v.prop(e,n);return i===!0||typeof i!="boolean"&&(r=e.getAttributeNode(n))&&r.nodeValue!==!1?n.toLowerCase():t},set:function(e,t,n){var r;return t===!1?v.removeAttr(e,n):(r=v.propFix[n]||n,r in e&&(e[r]=!0),e.setAttribute(n,n.toLowerCase())),n}},V||(I={name:!0,id:!0,coords:!0},j=v.valHooks.button={get:function(e,n){var r;return r=e.getAttributeNode(n),r&&(I[n]?r.value!=="":r.specified)?r.value:t},set:function(e,t,n){var r=e.getAttributeNode(n);return r||(r=i.createAttribute(n),e.setAttributeNode(r)),r.value=t+""}},v.each(["width","height"],function(e,t){v.attrHooks[t]=v.extend(v.attrHooks[t],{set:function(e,n){if(n==="")return e.setAttribute(t,"auto"),n}})}),v.attrHooks.contenteditable={get:j.get,set:function(e,t,n){t===""&&(t="false"),j.set(e,t,n)}}),v.support.hrefNormalized||v.each(["href","src","width","height"],function(e,n){v.attrHooks[n]=v.extend(v.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return r===null?t:r}})}),v.support.style||(v.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||t},set:function(e,t){return e.style.cssText=t+""}}),v.support.optSelected||(v.propHooks.selected=v.extend(v.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),v.support.enctype||(v.propFix.enctype="encoding"),v.support.checkOn||v.each(["radio","checkbox"],function(){v.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}}),v.each(["radio","checkbox"],function(){v.valHooks[this]=v.extend(v.valHooks[this],{set:function(e,t){if(v.isArray(t))return e.checked=v.inArray(v(e).val(),t)>=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f<n.length;f++){l=J.exec(n[f])||[],c=l[1],h=(l[2]||"").split(".").sort(),g=v.event.special[c]||{},c=(s?g.delegateType:g.bindType)||c,g=v.event.special[c]||{},p=v.extend({type:c,origType:l[1],data:i,handler:r,guid:r.guid,selector:s,needsContext:s&&v.expr.match.needsContext.test(s),namespace:h.join(".")},d),m=a[c];if(!m){m=a[c]=[],m.delegateCount=0;if(!g.setup||g.setup.call(e,i,h,u)===!1)e.addEventListener?e.addEventListener(c,u,!1):e.attachEvent&&e.attachEvent("on"+c,u)}g.add&&(g.add.call(e,p),p.handler.guid||(p.handler.guid=r.guid)),s?m.splice(m.delegateCount++,0,p):m.push(p),v.event.global[c]=!0}e=null},global:{},remove:function(e,t,n,r,i){var s,o,u,a,f,l,c,h,p,d,m,g=v.hasData(e)&&v._data(e);if(!g||!(h=g.events))return;t=v.trim(Z(t||"")).split(" ");for(s=0;s<t.length;s++){o=J.exec(t[s])||[],u=a=o[1],f=o[2];if(!u){for(u in h)v.event.remove(e,u+t[s],n,r,!0);continue}p=v.event.special[u]||{},u=(r?p.delegateType:p.bindType)||u,d=h[u]||[],l=d.length,f=f?new RegExp("(^|\\.)"+f.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(c=0;c<d.length;c++)m=d[c],(i||a===m.origType)&&(!n||n.guid===m.guid)&&(!f||f.test(m.namespace))&&(!r||r===m.selector||r==="**"&&m.selector)&&(d.splice(c--,1),m.selector&&d.delegateCount--,p.remove&&p.remove.call(e,m));d.length===0&&l!==d.length&&((!p.teardown||p.teardown.call(e,f,g.handle)===!1)&&v.removeEvent(e,u,g.handle),delete h[u])}v.isEmptyObject(h)&&(delete g.handle,v.removeData(e,"events",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(n,r,s,o){if(!s||s.nodeType!==3&&s.nodeType!==8){var u,a,f,l,c,h,p,d,m,g,y=n.type||n,b=[];if(Y.test(y+v.event.triggered))return;y.indexOf("!")>=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f<m.length&&!n.isPropagationStopped();f++)l=m[f][0],n.type=m[f][1],d=(v._data(l,"events")||{})[n.type]&&v._data(l,"handle"),d&&d.apply(l,r),d=h&&l[h],d&&v.acceptData(l)&&d.apply&&d.apply(l,r)===!1&&n.preventDefault();return n.type=y,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(s.ownerDocument,r)===!1)&&(y!=="click"||!v.nodeName(s,"a"))&&v.acceptData(s)&&h&&s[y]&&(y!=="focus"&&y!=="blur"||n.target.offsetWidth!==0)&&!v.isWindow(s)&&(c=s[h],c&&(s[h]=null),v.event.triggered=y,s[y](),v.event.triggered=t,c&&(s[h]=c)),n.result}return},dispatch:function(n){n=v.event.fix(n||e.event);var r,i,s,o,u,a,f,c,h,p,d=(v._data(this,"events")||{})[n.type]||[],m=d.delegateCount,g=l.call(arguments),y=!n.exclusive&&!n.namespace,b=v.event.special[n.type]||{},w=[];g[0]=n,n.delegateTarget=this;if(b.preDispatch&&b.preDispatch.call(this,n)===!1)return;if(m&&(!n.button||n.type!=="click"))for(s=n.target;s!=this;s=s.parentNode||this)if(s.disabled!==!0||n.type!=="click"){u={},f=[];for(r=0;r<m;r++)c=d[r],h=c.selector,u[h]===t&&(u[h]=c.needsContext?v(h,this).index(s)>=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r<w.length&&!n.isPropagationStopped();r++){a=w[r],n.currentTarget=a.elem;for(i=0;i<a.matches.length&&!n.isImmediatePropagationStopped();i++){c=a.matches[i];if(y||!n.namespace&&!c.namespace||n.namespace_re&&n.namespace_re.test(c.namespace))n.data=c.data,n.handleObj=c,o=((v.event.special[c.origType]||{}).handle||c.handler).apply(a.elem,g),o!==t&&(n.result=o,o===!1&&(n.preventDefault(),n.stopPropagation()))}}return b.postDispatch&&b.postDispatch.call(this,n),n.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return e.which==null&&(e.which=t.charCode!=null?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,s,o,u=n.button,a=n.fromElement;return e.pageX==null&&n.clientX!=null&&(r=e.target.ownerDocument||i,s=r.documentElement,o=r.body,e.pageX=n.clientX+(s&&s.scrollLeft||o&&o.scrollLeft||0)-(s&&s.clientLeft||o&&o.clientLeft||0),e.pageY=n.clientY+(s&&s.scrollTop||o&&o.scrollTop||0)-(s&&s.clientTop||o&&o.clientTop||0)),!e.relatedTarget&&a&&(e.relatedTarget=a===e.target?n.toElement:a),!e.which&&u!==t&&(e.which=u&1?1:u&2?3:u&4?2:0),e}},fix:function(e){if(e[v.expando])return e;var t,n,r=e,s=v.event.fixHooks[e.type]||{},o=s.props?this.props.concat(s.props):this.props;e=v.Event(r);for(t=o.length;t;)n=o[--t],e[n]=r[n];return e.target||(e.target=r.srcElement||i),e.target.nodeType===3&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,r):e},special:{load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(e,t,n){v.isWindow(this)&&(this.onbeforeunload=n)},teardown:function(e,t){this.onbeforeunload===t&&(this.onbeforeunload=null)}}},simulate:function(e,t,n,r){var i=v.extend(new v.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?v.event.trigger(i,null,t):v.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},v.event.handle=v.event.dispatch,v.removeEvent=i.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]=="undefined"&&(e[r]=null),e.detachEvent(r,n))},v.Event=function(e,t){if(!(this instanceof v.Event))return new v.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?tt:et):this.type=e,t&&v.extend(this,t),this.timeStamp=e&&e.timeStamp||v.now(),this[v.expando]=!0},v.Event.prototype={preventDefault:function(){this.isDefaultPrevented=tt;var e=this.originalEvent;if(!e)return;e.preventDefault?e.preventDefault():e.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=tt;var e=this.originalEvent;if(!e)return;e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=tt,this.stopPropagation()},isDefaultPrevented:et,isPropagationStopped:et,isImmediatePropagationStopped:et},v.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){v.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,s=e.handleObj,o=s.selector;if(!i||i!==r&&!v.contains(r,i))e.type=s.origType,n=s.handler.apply(this,arguments),e.type=t;return n}}}),v.support.submitBubbles||(v.event.special.submit={setup:function(){if(v.nodeName(this,"form"))return!1;v.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=v.nodeName(n,"input")||v.nodeName(n,"button")?n.form:t;r&&!v._data(r,"_submit_attached")&&(v.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),v._data(r,"_submit_attached",!0))})},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&v.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){if(v.nodeName(this,"form"))return!1;v.event.remove(this,"._submit")}}),v.support.changeBubbles||(v.event.special.change={setup:function(){if($.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")v.event.add(this,"propertychange._change",function(e){e.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),v.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),v.event.simulate("change",this,e,!0)});return!1}v.event.add(this,"beforeactivate._change",function(e){var t=e.target;$.test(t.nodeName)&&!v._data(t,"_change_attached")&&(v.event.add(t,"change._change",function(e){this.parentNode&&!e.isSimulated&&!e.isTrigger&&v.event.simulate("change",this.parentNode,e,!0)}),v._data(t,"_change_attached",!0))})},handle:function(e){var t=e.target;if(this!==t||e.isSimulated||e.isTrigger||t.type!=="radio"&&t.type!=="checkbox")return e.handleObj.handler.apply(this,arguments)},teardown:function(){return v.event.remove(this,"._change"),!$.test(this.nodeName)}}),v.support.focusinBubbles||v.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){v.event.simulate(t,e.target,v.event.fix(e),!0)};v.event.special[t]={setup:function(){n++===0&&i.addEventListener(e,r,!0)},teardown:function(){--n===0&&i.removeEventListener(e,r,!0)}}}),v.fn.extend({on:function(e,n,r,i,s){var o,u;if(typeof e=="object"){typeof n!="string"&&(r=r||n,n=t);for(u in e)this.on(u,n,r,e[u],s);return this}r==null&&i==null?(i=n,r=n=t):i==null&&(typeof n=="string"?(i=r,r=t):(i=r,r=n,n=t));if(i===!1)i=et;else if(!i)return this;return s===1&&(o=i,i=function(e){return v().off(e),o.apply(this,arguments)},i.guid=o.guid||(o.guid=v.guid++)),this.each(function(){v.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,s;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,v(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if(typeof e=="object"){for(s in e)this.off(s,n,e[s]);return this}if(n===!1||typeof n=="function")r=n,n=t;return r===!1&&(r=et),this.each(function(){v.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},live:function(e,t,n){return v(this.context).on(e,this.selector,t,n),this},die:function(e,t){return v(this.context).off(e,this.selector||"**",t),this},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return arguments.length===1?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){v.event.trigger(e,t,this)})},triggerHandler:function(e,t){if(this[0])return v.event.trigger(e,t,this[0],!0)},toggle:function(e){var t=arguments,n=e.guid||v.guid++,r=0,i=function(n){var i=(v._data(this,"lastToggle"+e.guid)||0)%r;return v._data(this,"lastToggle"+e.guid,i+1),n.preventDefault(),t[i].apply(this,arguments)||!1};i.guid=n;while(r<t.length)t[r++].guid=n;return this.click(i)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),v.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 contextmenu".split(" "),function(e,t){v.fn[t]=function(e,n){return n==null&&(n=e,e=null),arguments.length>0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u<a;u++)if(s=e[u])if(!n||n(s,r,i))o.push(s),f&&t.push(u);return o}function ct(e,t,n,r,i,s){return r&&!r[d]&&(r=ct(r)),i&&!i[d]&&(i=ct(i,s)),N(function(s,o,u,a){var f,l,c,h=[],p=[],d=o.length,v=s||dt(t||"*",u.nodeType?[u]:u,[]),m=e&&(s||!t)?lt(v,h,e,u,a):v,g=n?i||(s?e:d||r)?[]:o:m;n&&n(m,g,u,a);if(r){f=lt(g,p),r(f,[],u,a),l=f.length;while(l--)if(c=f[l])g[p[l]]=!(m[p[l]]=c)}if(s){if(i||e){if(i){f=[],l=g.length;while(l--)(c=g[l])&&f.push(m[l]=c);i(null,g=[],f,a)}l=g.length;while(l--)(c=g[l])&&(f=i?T.call(s,c):h[l])>-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a<s;a++)if(n=i.relative[e[a].type])h=[at(ft(h),n)];else{n=i.filter[e[a].type].apply(null,e[a].matches);if(n[d]){r=++a;for(;r<s;r++)if(i.relative[e[r].type])break;return ct(a>1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a<r&&ht(e.slice(a,r)),r<s&&ht(e=e.slice(r)),r<s&&e.join(""))}h.push(n)}return ft(h)}function pt(e,t){var r=t.length>0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r<i;r++)nt(e,t[r],n);return n}function vt(e,t,n,r,s){var o,u,f,l,c,h=ut(e),p=h.length;if(!r&&h.length===1){u=h[0]=h[0].slice(0);if(u.length>2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;t<n;t++)if(this[t]===e)return t;return-1},N=function(e,t){return e[d]=t==null||t,e},C=function(){var e={},t=[];return N(function(n,r){return t.push(n)>i.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="<a name='"+d+"'></a><div name='"+d+"'></div>",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:st(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:st(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},f=y.compareDocumentPosition?function(e,t){return e===t?(l=!0,0):(!e.compareDocumentPosition||!t.compareDocumentPosition?e.compareDocumentPosition:e.compareDocumentPosition(t)&4)?-1:1}:function(e,t){if(e===t)return l=!0,0;if(e.sourceIndex&&t.sourceIndex)return e.sourceIndex-t.sourceIndex;var n,r,i=[],s=[],o=e.parentNode,u=t.parentNode,a=o;if(o===u)return ot(e,t);if(!o)return-1;if(!u)return 1;while(a)i.unshift(a),a=a.parentNode;a=u;while(a)s.unshift(a),a=a.parentNode;n=i.length,r=s.length;for(var f=0;f<n&&f<r;f++)if(i[f]!==s[f])return ot(i[f],s[f]);return f===n?ot(e,s[f],-1):ot(i[f],t,1)},[0,0].sort(f),h=!l,nt.uniqueSort=function(e){var t,n=[],r=1,i=0;l=h,e.sort(f);if(l){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e},nt.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},a=nt.compile=function(e,t){var n,r=[],i=[],s=A[d][e+" "];if(!s){t||(t=ut(e)),n=t.length;while(n--)s=ht(t[n]),s[d]?r.push(s):i.push(s);s=A(e,pt(i,r))}return s},g.querySelectorAll&&function(){var e,t=vt,n=/'|\\/g,r=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,i=[":focus"],s=[":active"],u=y.matchesSelector||y.mozMatchesSelector||y.webkitMatchesSelector||y.oMatchesSelector||y.msMatchesSelector;K(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="<p test=''></p>",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="<input type='hidden'/>",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t<n;t++)if(v.contains(u[t],this))return!0});o=this.pushStack("","find",e);for(t=0,n=this.length;t<n;t++){r=o.length,v.find(e,this[t],o);if(t>0)for(i=r;i<o.length;i++)for(s=0;s<r;s++)if(o[s]===o[i]){o.splice(i--,1);break}}return o},has:function(e){var t,n=v(e,this),r=n.length;return this.filter(function(){for(t=0;t<r;t++)if(v.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1),"not",e)},filter:function(e){return this.pushStack(ft(this,e,!0),"filter",e)},is:function(e){return!!e&&(typeof e=="string"?st.test(e)?v(e,this.context).index(this[0])>=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r<i;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&n.nodeType!==11){if(o?o.index(n)>-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/<tbody/i,gt=/<|&#?\w+;/,yt=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,wt=new RegExp("<(?:"+ct+")[\\s/>]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,Nt={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,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X<div>","</div>"]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1></$2>");try{for(;r<i;r++)n=this[r]||{},n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),n.innerHTML=e);n=0}catch(s){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){return ut(this[0])?this.length?this.pushStack(v(v.isFunction(e)?e():e),"replaceWith",e):this:v.isFunction(e)?this.each(function(t){var n=v(this),r=n.html();n.replaceWith(e.call(this,t,r))}):(typeof e!="string"&&(e=v(e).detach()),this.each(function(){var t=this.nextSibling,n=this.parentNode;v(this).remove(),t?v(t).before(e):v(n).append(e)}))},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=[].concat.apply([],e);var i,s,o,u,a=0,f=e[0],l=[],c=this.length;if(!v.support.checkClone&&c>1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a<c;a++)r.call(n&&v.nodeName(this[a],"table")?Lt(this[a],"tbody"):this[a],a===u?o:v.clone(o,!0,!0))}o=s=null,l.length&&v.each(l,function(e,t){t.src?v.ajax?v.ajax({url:t.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):v.error("no ajax"):v.globalEval((t.text||t.textContent||t.innerHTML||"").replace(Tt,"")),t.parentNode&&t.parentNode.removeChild(t)})}return this}}),v.buildFragment=function(e,n,r){var s,o,u,a=e[0];return n=n||i,n=!n.nodeType&&n[0]||n,n=n.ownerDocument||n,e.length===1&&typeof a=="string"&&a.length<512&&n===i&&a.charAt(0)==="<"&&!bt.test(a)&&(v.support.checkClone||!St.test(a))&&(v.support.html5Clone||!wt.test(a))&&(o=!0,s=v.fragments[a],u=s!==t),s||(s=n.createDocumentFragment(),v.clean(e,n,s,r),o&&(v.fragments[a]=u&&s)),{fragment:s,cacheable:o}},v.fragments={},v.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){v.fn[e]=function(n){var r,i=0,s=[],o=v(n),u=o.length,a=this.length===1&&this[0].parentNode;if((a==null||a&&a.nodeType===11&&a.childNodes.length===1)&&u===1)return o[t](this[0]),this;for(;i<u;i++)r=(i>0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1></$2>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]==="<table>"&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("<div>").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r<i;r++)n=e[r],Vn[n]=Vn[n]||[],Vn[n].unshift(t)},prefilter:function(e,t){t?Xn.unshift(e):Xn.push(e)}}),v.Tween=Yn,Yn.prototype={constructor:Yn,init:function(e,t,n,r,i,s){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=s||(v.cssNumber[n]?"":"px")},cur:function(){var e=Yn.propHooks[this.prop];return e&&e.get?e.get(this):Yn.propHooks._default.get(this)},run:function(e){var t,n=Yn.propHooks[this.prop];return this.options.duration?this.pos=t=v.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Yn.propHooks._default.set(this),this}},Yn.prototype.init.prototype=Yn.prototype,Yn.propHooks={_default:{get:function(e){var t;return e.elem[e.prop]==null||!!e.elem.style&&e.elem.style[e.prop]!=null?(t=v.css(e.elem,e.prop,!1,""),!t||t==="auto"?0:t):e.elem[e.prop]},set:function(e){v.fx.step[e.prop]?v.fx.step[e.prop](e):e.elem.style&&(e.elem.style[v.cssProps[e.prop]]!=null||v.cssHooks[e.prop])?v.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},Yn.propHooks.scrollTop=Yn.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},v.each(["toggle","show","hide"],function(e,t){var n=v.fn[t];v.fn[t]=function(r,i,s){return r==null||typeof r=="boolean"||!e&&v.isFunction(r)&&v.isFunction(i)?n.apply(this,arguments):this.animate(Zn(t,!0),r,i,s)}}),v.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Gt).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=v.isEmptyObject(e),s=v.speed(t,n,r),o=function(){var t=Kn(this,v.extend({},e),s);i&&t.stop(!0)};return i||s.queue===!1?this.each(o):this.queue(s.queue,o)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return typeof e!="string"&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=e!=null&&e+"queueHooks",s=v.timers,o=v._data(this);if(n)o[n]&&o[n].stop&&i(o[n]);else for(n in o)o[n]&&o[n].stop&&Wn.test(n)&&i(o[n]);for(n=s.length;n--;)s[n].elem===this&&(e==null||s[n].queue===e)&&(s[n].anim.stop(r),t=!1,s.splice(n,1));(t||!r)&&v.dequeue(this,e)})}}),v.each({slideDown:Zn("show"),slideUp:Zn("hide"),slideToggle:Zn("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){v.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),v.speed=function(e,t,n){var r=e&&typeof e=="object"?v.extend({},e):{complete:n||!n&&t||v.isFunction(e)&&e,duration:e,easing:n&&t||t&&!v.isFunction(t)&&t};r.duration=v.fx.off?0:typeof r.duration=="number"?r.duration:r.duration in v.fx.speeds?v.fx.speeds[r.duration]:v.fx.speeds._default;if(r.queue==null||r.queue===!0)r.queue="fx";return r.old=r.complete,r.complete=function(){v.isFunction(r.old)&&r.old.call(this),r.queue&&v.dequeue(this,r.queue)},r},v.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},v.timers=[],v.fx=Yn.prototype.init,v.fx.tick=function(){var e,n=v.timers,r=0;qn=v.now();for(;r<n.length;r++)e=n[r],!e()&&n[r]===e&&n.splice(r--,1);n.length||v.fx.stop(),qn=t},v.fx.timer=function(e){e()&&v.timers.push(e)&&!Rn&&(Rn=setInterval(v.fx.tick,v.fx.interval))},v.fx.interval=13,v.fx.stop=function(){clearInterval(Rn),Rn=null},v.fx.speeds={slow:600,fast:200,_default:400},v.fx.step={},v.expr&&v.expr.filters&&(v.expr.filters.animated=function(e){return v.grep(v.timers,function(t){return e===t.elem}).length});var er=/^(?:body|html)$/i;v.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){v.offset.setOffset(this,e,t)});var n,r,i,s,o,u,a,f={top:0,left:0},l=this[0],c=l&&l.ownerDocument;if(!c)return;return(r=c.body)===l?v.offset.bodyOffset(l):(n=c.documentElement,v.contains(n,l)?(typeof l.getBoundingClientRect!="undefined"&&(f=l.getBoundingClientRect()),i=tr(c),s=n.clientTop||r.clientTop||0,o=n.clientLeft||r.clientLeft||0,u=i.pageYOffset||n.scrollTop,a=i.pageXOffset||n.scrollLeft,{top:f.top+u-s,left:f.left+a-o}):f)},v.offset={bodyOffset:function(e){var t=e.offsetTop,n=e.offsetLeft;return v.support.doesNotIncludeMarginInBodyOffset&&(t+=parseFloat(v.css(e,"marginTop"))||0,n+=parseFloat(v.css(e,"marginLeft"))||0),{top:t,left:n}},setOffset:function(e,t,n){var r=v.css(e,"position");r==="static"&&(e.style.position="relative");var i=v(e),s=i.offset(),o=v.css(e,"top"),u=v.css(e,"left"),a=(r==="absolute"||r==="fixed")&&v.inArray("auto",[o,u])>-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window);
/*
 * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
 *
 * Uses the built in easing capabilities added In jQuery 1.1
 * to offer multiple easing options
 *
 * TERMS OF USE - jQuery Easing
 * 
 * Open source under the BSD License. 
 * 
 * Copyright © 2008 George McGinley Smith
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without modification, 
 * are permitted provided that the following conditions are met:
 * 
 * Redistributions of source code must retain the above copyright notice, this list of 
 * conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice, this list 
 * of conditions and the following disclaimer in the documentation and/or other materials 
 * provided with the distribution.
 * 
 * Neither the name of the author nor the names of contributors may be used to endorse 
 * or promote products derived from this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
 * OF THE POSSIBILITY OF SUCH DAMAGE. 
 *
*/

// t: current time, b: begInnIng value, c: change In value, d: duration
jQuery.easing['jswing'] = jQuery.easing['swing'];

jQuery.extend( jQuery.easing,
{
	def: 'easeOutQuad',
	swing: function (x, t, b, c, d) {
		//alert(jQuery.easing.default);
		return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
	},
	easeInQuad: function (x, t, b, c, d) {
		return c*(t/=d)*t + b;
	},
	easeOutQuad: function (x, t, b, c, d) {
		return -c *(t/=d)*(t-2) + b;
	},
	easeInOutQuad: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t + b;
		return -c/2 * ((--t)*(t-2) - 1) + b;
	},
	easeInCubic: function (x, t, b, c, d) {
		return c*(t/=d)*t*t + b;
	},
	easeOutCubic: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t + 1) + b;
	},
	easeInOutCubic: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t + b;
		return c/2*((t-=2)*t*t + 2) + b;
	},
	easeInQuart: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t + b;
	},
	easeOutQuart: function (x, t, b, c, d) {
		return -c * ((t=t/d-1)*t*t*t - 1) + b;
	},
	easeInOutQuart: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
		return -c/2 * ((t-=2)*t*t*t - 2) + b;
	},
	easeInQuint: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t*t + b;
	},
	easeOutQuint: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t*t*t + 1) + b;
	},
	easeInOutQuint: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
		return c/2*((t-=2)*t*t*t*t + 2) + b;
	},
	easeInSine: function (x, t, b, c, d) {
		return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
	},
	easeOutSine: function (x, t, b, c, d) {
		return c * Math.sin(t/d * (Math.PI/2)) + b;
	},
	easeInOutSine: function (x, t, b, c, d) {
		return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
	},
	easeInExpo: function (x, t, b, c, d) {
		return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
	},
	easeOutExpo: function (x, t, b, c, d) {
		return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
	},
	easeInOutExpo: function (x, t, b, c, d) {
		if (t==0) return b;
		if (t==d) return b+c;
		if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
	},
	easeInCirc: function (x, t, b, c, d) {
		return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
	},
	easeOutCirc: function (x, t, b, c, d) {
		return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
	},
	easeInOutCirc: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
		return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
	},
	easeInElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
	},
	easeOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
	},
	easeInOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
		return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
	},
	easeInBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*(t/=d)*t*((s+1)*t - s) + b;
	},
	easeOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
	},
	easeInOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158; 
		if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
		return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
	},
	easeInBounce: function (x, t, b, c, d) {
		return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
	},
	easeOutBounce: function (x, t, b, c, d) {
		if ((t/=d) < (1/2.75)) {
			return c*(7.5625*t*t) + b;
		} else if (t < (2/2.75)) {
			return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
		} else if (t < (2.5/2.75)) {
			return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
		} else {
			return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
		}
	},
	easeInOutBounce: function (x, t, b, c, d) {
		if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
		return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
	}
});

/*
 *
 * TERMS OF USE - EASING EQUATIONS
 * 
 * Open source under the BSD License. 
 * 
 * Copyright © 2001 Robert Penner
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without modification, 
 * are permitted provided that the following conditions are met:
 * 
 * Redistributions of source code must retain the above copyright notice, this list of 
 * conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice, this list 
 * of conditions and the following disclaimer in the documentation and/or other materials 
 * provided with the distribution.
 * 
 * Neither the name of the author nor the names of contributors may be used to endorse 
 * or promote products derived from this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
 * OF THE POSSIBILITY OF SUCH DAMAGE. 
 *
 */
/*!
 AnythingSlider v1.9.0 minified using Google Closure Compiler
 Original by Chris Coyier: http://css-tricks.com
 Get the latest version: https://github.com/CSS-Tricks/AnythingSlider
*/
;(function(d,m,l){d.anythingSlider=function(j,p){var a=this,b,k;a.el=j;a.$el=d(j).addClass("anythingBase").wrap('<div class="anythingSlider"><div class="anythingWindow" /></div>');a.$el.data("AnythingSlider",a);a.init=function(){a.options=b=d.extend({},d.anythingSlider.defaults,p);a.initialized=!1;d.isFunction(b.onBeforeInitialize)&&a.$el.bind("before_initialize",b.onBeforeInitialize);a.$el.trigger("before_initialize",a);d('\x3c!--[if lte IE 8]><script>jQuery("body").addClass("as-oldie");\x3c/script><![endif]--\x3e').appendTo("body").remove(); a.$wrapper=a.$el.parent().closest("div.anythingSlider").addClass("anythingSlider-"+b.theme);a.$outer=a.$wrapper.parent();a.$window=a.$el.closest("div.anythingWindow");a.$win=d(m);a.$controls=d('<div class="anythingControls"></div>');a.$nav=d('<ul class="thumbNav"><li><a><span></span></a></li></ul>');a.$startStop=d('<a href="#" class="start-stop"></a>');if(b.buildStartStop||b.buildNavigation)a.$controls.appendTo(b.appendControlsTo&&d(b.appendControlsTo).length?d(b.appendControlsTo):a.$wrapper);b.buildNavigation&& a.$nav.appendTo(b.appendNavigationTo&&d(b.appendNavigationTo).length?d(b.appendNavigationTo):a.$controls);b.buildStartStop&&a.$startStop.appendTo(b.appendStartStopTo&&d(b.appendStartStopTo).length?d(b.appendStartStopTo):a.$controls);a.runTimes=d(".anythingBase").length;a.regex=b.hashTags?RegExp("panel"+a.runTimes+"-(\\d+)","i"):null;1===a.runTimes&&a.makeActive();a.flag=!1;b.autoPlayLocked&&(b.autoPlay=!0);a.playing=b.autoPlay;a.slideshow=!1;a.hovered=!1;a.panelSize=[];a.currentPage=a.targetPage= b.startPanel=parseInt(b.startPanel,10)||1;b.changeBy=parseInt(b.changeBy,10)||1;k=(b.mode||"h").toLowerCase().match(/(h|v|f)/);k=b.vertical?"v":(k||["h"])[0];b.mode="v"===k?"vertical":"f"===k?"fade":"horizontal";"f"===k&&(b.showMultiple=1,b.infiniteSlides=!1);a.adj=b.infiniteSlides?0:1;a.adjustMultiple=0;b.playRtl&&a.$wrapper.addClass("rtl");b.buildStartStop&&a.buildAutoPlay();b.buildArrows&&a.buildNextBackButtons();a.$lastPage=a.$targetPage=a.$currentPage;a.updateSlider();b.expand&&(a.$window.css({width:"100%", height:"100%"}),a.checkResize());d.isFunction(d.easing[b.easing])||(b.easing="swing");b.pauseOnHover&&a.$wrapper.hover(function(){a.playing&&(a.$el.trigger("slideshow_paused",a),a.clearTimer(!0))},function(){a.playing&&(a.$el.trigger("slideshow_unpaused",a),a.startStop(a.playing,!0))});a.slideControls(!1);a.$wrapper.bind("mouseenter mouseleave",function(b){d(this)["mouseenter"===b.type?"addClass":"removeClass"]("anythingSlider-hovered");a.hovered="mouseenter"===b.type?!0:!1;a.slideControls(a.hovered)}); d(l).keyup(function(c){if(b.enableKeyboard&&(a.$wrapper.hasClass("activeSlider")&&!c.target.tagName.match("TEXTAREA|INPUT|SELECT"))&&!("vertical"!==b.mode&&(38===c.which||40===c.which)))switch(c.which){case 39:case 40:a.goForward();break;case 37:case 38:a.goBack()}});a.currentPage=(b.hashTags?a.gotoHash():"")||b.startPanel||1;a.gotoPage(a.currentPage,!1,null,-1);var c="slideshow_paused slideshow_unpaused slide_init slide_begin slideshow_stop slideshow_start initialized swf_completed".split(" ");d.each("onShowPause onShowUnpause onSlideInit onSlideBegin onShowStop onShowStart onInitialized onSWFComplete".split(" "), function(f,e){d.isFunction(b[e])&&a.$el.bind(c[f],b[e])});d.isFunction(b.onSlideComplete)&&a.$el.bind("slide_complete",function(){setTimeout(function(){b.onSlideComplete(a)},0);return!1});a.initialized=!0;a.$el.trigger("initialized",a);a.startStop(b.autoPlay)};a.updateSlider=function(){a.$el.children(".cloned").remove();a.navTextVisible="hidden"!==a.$nav.find("span:first").css("visibility");a.$nav.empty();a.currentPage=a.currentPage||1;a.$items=a.$el.children();a.pages=a.$items.length;a.dir="vertical"=== b.mode?"top":"left";b.showMultiple=parseInt(b.showMultiple,10)||1;b.navigationSize=!1===b.navigationSize?0:parseInt(b.navigationSize,10)||0;a.$items.find("a").unbind("focus.AnythingSlider").bind("focus.AnythingSlider",function(c){var f=d(this).closest(".panel"),f=a.$items.index(f)+a.adj;a.$items.find(".focusedLink").removeClass("focusedLink");d(this).addClass("focusedLink");a.$window.scrollLeft(0).scrollTop(0);if(-1!==f&&(f>=a.currentPage+b.showMultiple||f<a.currentPage))a.gotoPage(f),c.preventDefault()}); 1<b.showMultiple&&(b.showMultiple>a.pages&&(b.showMultiple=a.pages),a.adjustMultiple=b.infiniteSlides&&1<a.pages?0:b.showMultiple-1);a.$controls.add(a.$nav).add(a.$startStop).add(a.$forward).add(a.$back)[1>=a.pages?"hide":"show"]();1<a.pages&&a.buildNavigation();"fade"!==b.mode&&(b.infiniteSlides&&1<a.pages)&&(a.$el.prepend(a.$items.filter(":last").clone().addClass("cloned")),1<b.showMultiple?a.$el.append(a.$items.filter(":lt("+b.showMultiple+")").clone().addClass("cloned multiple")):a.$el.append(a.$items.filter(":first").clone().addClass("cloned")), a.$el.find(".cloned").each(function(){d(this).find("a,input,textarea,select,button,area,form").attr({disabled:"disabled",name:""});d(this).find("[id]")[d.fn.addBack?"addBack":"andSelf"]().removeAttr("id")}));a.$items=a.$el.addClass(b.mode).children().addClass("panel");a.setDimensions();b.resizeContents?(a.$items.css("width",a.width),a.$wrapper.css("width",a.getDim(a.currentPage)[0]).add(a.$items).css("height",a.height)):a.$win.load(function(){a.setDimensions();k=a.getDim(a.currentPage);a.$wrapper.css({width:k[0], height:k[1]});a.setCurrentPage(a.currentPage,!1)});a.currentPage>a.pages&&(a.currentPage=a.pages);a.setCurrentPage(a.currentPage,!1);a.$nav.find("a").eq(a.currentPage-1).addClass("cur");"fade"===b.mode&&(k=a.$items.eq(a.currentPage-1),b.resumeOnVisible?k.css({opacity:1}).siblings().css({opacity:0}):(a.$items.css("opacity",1),k.fadeIn(0).siblings().fadeOut(0)))};a.buildNavigation=function(){if(b.buildNavigation&&1<a.pages){var c,f,e,g,h;a.$items.filter(":not(.cloned)").each(function(n){h=d("<li/>"); e=n+1;f=(1===e?" first":"")+(e===a.pages?" last":"");c='<a class="panel'+e+(a.navTextVisible?'"':" "+b.tooltipClass+'" title="@"')+' href="#"><span>@</span></a>';d.isFunction(b.navigationFormatter)?(g=b.navigationFormatter(e,d(this)),"string"===typeof g?h.html(c.replace(/@/g,g)):h=d("<li/>",g)):h.html(c.replace(/@/g,e));h.appendTo(a.$nav).addClass(f).data("index",e)});a.$nav.children("li").bind(b.clickControls,function(c){!a.flag&&b.enableNavigation&&(a.flag=!0,setTimeout(function(){a.flag=!1},100), a.gotoPage(d(this).data("index")));c.preventDefault()});b.navigationSize&&b.navigationSize<a.pages&&(a.$controls.find(".anythingNavWindow").length||a.$nav.before('<ul><li class="prev"><a href="#"><span>'+b.backText+"</span></a></li></ul>").after('<ul><li class="next"><a href="#"><span>'+b.forwardText+"</span></a></li></ul>").wrap('<div class="anythingNavWindow"></div>'),a.navWidths=a.$nav.find("li").map(function(){return d(this).outerWidth(!0)+Math.ceil(parseInt(d(this).find("span").css("left"),10)/ 2||0)}).get(),a.navLeft=a.currentPage,a.$nav.width(a.navWidth(1,a.pages+1)+25),a.$controls.find(".anythingNavWindow").width(a.navWidth(1,b.navigationSize+1)).end().find(".prev,.next").bind(b.clickControls,function(c){a.flag||(a.flag=!0,setTimeout(function(){a.flag=!1},200),a.navWindow(a.navLeft+b.navigationSize*(d(this).is(".prev")?-1:1)));c.preventDefault()}))}};a.navWidth=function(b,f){var e;e=Math.min(b,f);for(var d=Math.max(b,f),h=0;e<d;e++)h+=a.navWidths[e-1]||0;return h};a.navWindow=function(c){if(b.navigationSize&& b.navigationSize<a.pages&&a.navWidths){var f=a.pages-b.navigationSize+1;c=1>=c?1:1<c&&c<f?c:f;c!==a.navLeft&&(a.$controls.find(".anythingNavWindow").animate({scrollLeft:a.navWidth(1,c),width:a.navWidth(c,c+b.navigationSize)},{queue:!1,duration:b.animationTime}),a.navLeft=c)}};a.buildNextBackButtons=function(){a.$forward=d('<span class="arrow forward"><a href="#"><span>'+b.forwardText+"</span></a></span>");a.$back=d('<span class="arrow back"><a href="#"><span>'+b.backText+"</span></a></span>");a.$back.bind(b.clickBackArrow, function(c){b.enableArrows&&!a.flag&&(a.flag=!0,setTimeout(function(){a.flag=!1},100),a.goBack());c.preventDefault()});a.$forward.bind(b.clickForwardArrow,function(c){b.enableArrows&&!a.flag&&(a.flag=!0,setTimeout(function(){a.flag=!1},100),a.goForward());c.preventDefault()});a.$back.add(a.$forward).find("a").bind("focusin focusout",function(){d(this).toggleClass("hover")});a.$back.appendTo(b.appendBackTo&&d(b.appendBackTo).length?d(b.appendBackTo):a.$wrapper);a.$forward.appendTo(b.appendForwardTo&& d(b.appendForwardTo).length?d(b.appendForwardTo):a.$wrapper);a.arrowWidth=a.$forward.width();a.arrowRight=parseInt(a.$forward.css("right"),10);a.arrowLeft=parseInt(a.$back.css("left"),10)};a.buildAutoPlay=function(){a.$startStop.html("<span>"+(a.playing?b.stopText:b.startText)+"</span>").bind(b.clickSlideshow,function(c){b.enableStartStop&&(a.startStop(!a.playing),a.makeActive(),a.playing&&!b.autoPlayDelayed&&a.goForward(!0,b.playRtl));c.preventDefault()}).bind("focusin focusout",function(){d(this).toggleClass("hover")})}; a.checkResize=function(b){var f=!(!l.hidden&&!l.webkitHidden&&!l.mozHidden&&!l.msHidden);clearTimeout(a.resizeTimer);a.resizeTimer=setTimeout(function(){var e=a.$outer.width(),d="BODY"===a.$outer[0].tagName?a.$win.height():a.$outer.height();if(!f&&(a.lastDim[0]!==e||a.lastDim[1]!==d))a.setDimensions(),a.gotoPage(a.currentPage,a.playing,null,-1);"undefined"===typeof b&&a.checkResize()},f?2E3:500)};a.setDimensions=function(){a.$wrapper.find(".anythingWindow, .anythingBase, .panel")[d.fn.addBack?"addBack": "andSelf"]().css({width:"",height:""});a.width=a.$el.width();a.height=a.$el.height();a.outerPad=[a.$wrapper.innerWidth()-a.$wrapper.width(),a.$wrapper.innerHeight()-a.$wrapper.height()];var c,f,e,g,h=0,n={width:"100%",height:"100%"},j=1<b.showMultiple&&"horizontal"===b.mode?a.width||a.$window.width()/b.showMultiple:a.$window.width(),k=1<b.showMultiple&&"vertical"===b.mode?a.height/b.showMultiple||a.$window.height()/b.showMultiple:a.$window.height();b.expand&&(a.lastDim=[a.$outer.width(),a.$outer.height()], c=a.lastDim[0]-a.outerPad[0],f=a.lastDim[1]-a.outerPad[1],a.$wrapper.add(a.$window).css({width:c,height:f}),a.height=f=1<b.showMultiple&&"vertical"===b.mode?k:f,a.width=j=1<b.showMultiple&&"horizontal"===b.mode?c/b.showMultiple:c,a.$items.css({width:j,height:k}));a.$items.each(function(k){g=d(this);e=g.children();b.resizeContents?(c=a.width,f=a.height,g.css({width:c,height:f}),e.length&&("EMBED"===e[0].tagName&&e.attr(n),"OBJECT"===e[0].tagName&&e.find("embed").attr(n),1===e.length&&e.css(n))):("vertical"=== b.mode?(c=g.css("display","inline-block").width(),g.css("display","")):c=g.width()||a.width,1===e.length&&c>=j&&(c=e.width()>=j?j:e.width(),e.css("max-width",c)),g.css({width:c,height:""}),f=1===e.length?e.outerHeight(!0):g.height(),f<=a.outerPad[1]&&(f=a.height),g.css("height",f));a.panelSize[k]=[c,f,h];h+="vertical"===b.mode?f:c});a.$el.css("vertical"===b.mode?"height":"width","fade"===b.mode?a.width:h)};a.getDim=function(c){var f,e,d=a.width,h=a.height;if(1>a.pages||isNaN(c))return[d,h];c=b.infiniteSlides&& 1<a.pages?c:c-1;if(e=a.panelSize[c])d=e[0]||d,h=e[1]||h;if(1<b.showMultiple)for(e=1;e<b.showMultiple;e++)f=c+e,"vertical"===b.mode?(d=Math.max(d,a.panelSize[f][0]),h+=a.panelSize[f][1]):(d+=a.panelSize[f][0],h=Math.max(h,a.panelSize[f][1]));return[d,h]};a.goForward=function(c,d){a.gotoPage(a[b.allowRapidChange?"targetPage":"currentPage"]+b.changeBy*(d?-1:1),c)};a.goBack=function(c){a.gotoPage(a[b.allowRapidChange?"targetPage":"currentPage"]-b.changeBy,c)};a.gotoPage=function(c,f,e,g){!0!==f&&(f=!1, a.startStop(!1),a.makeActive());/^[#|.]/.test(c)&&d(c).length&&(c=d(c).closest(".panel").index()+a.adj);if(1!==b.changeBy){var h=a.pages-a.adjustMultiple;1>c&&(c=b.stopAtEnd?1:b.infiniteSlides?a.pages+c:b.showMultiple>1-c?1:h);c>a.pages?c=b.stopAtEnd?a.pages:b.showMultiple>1-c?1:c-=h:c>=h&&(c=h)}if(!(1>=a.pages)&&(a.$lastPage=a.$currentPage,"number"!==typeof c&&(c=parseInt(c,10)||b.startPanel,a.setCurrentPage(c)),!f||!b.isVideoPlaying(a)))b.stopAtEnd&&(!b.infiniteSlides&&c>a.pages-b.showMultiple)&& (c=a.pages-b.showMultiple+1),a.exactPage=c,c>a.pages+1-a.adj&&(c=!b.infiniteSlides&&!b.stopAtEnd?1:a.pages),c<a.adj&&(c=!b.infiniteSlides&&!b.stopAtEnd?a.pages:1),b.infiniteSlides||(a.exactPage=c),a.currentPage=c>a.pages?a.pages:1>c?1:a.currentPage,a.$currentPage=a.$items.eq(a.currentPage-a.adj),a.targetPage=0===c?a.pages:c>a.pages?1:c,a.$targetPage=a.$items.eq(a.targetPage-a.adj),g="undefined"!==typeof g?g:b.animationTime,0<=g&&a.$el.trigger("slide_init",a),0<g&&a.slideControls(!0),b.buildNavigation&& a.setNavigation(a.targetPage),!0!==f&&(f=!1),(!f||b.stopAtEnd&&c===a.pages)&&a.startStop(!1),0<=g&&a.$el.trigger("slide_begin",a),setTimeout(function(d){var f,h=!0;b.allowRapidChange&&a.$wrapper.add(a.$el).add(a.$items).stop(!0,!0);b.resizeContents||(f=a.getDim(c),d={},a.$wrapper.width()!==f[0]&&(d.width=f[0]||a.width,h=!1),a.$wrapper.height()!==f[1]&&(d.height=f[1]||a.height,h=!1),h||a.$wrapper.filter(":not(:animated)").animate(d,{queue:!1,duration:0>g?0:g,easing:b.easing}));"fade"===b.mode?a.$lastPage[0]!== a.$targetPage[0]?(a.fadeIt(a.$lastPage,0,g),a.fadeIt(a.$targetPage,1,g,function(){a.endAnimation(c,e,g)})):a.endAnimation(c,e,g):(d={},d[a.dir]=-a.panelSize[b.infiniteSlides&&1<a.pages?c:c-1][2],"vertical"===b.mode&&!b.resizeContents&&(d.width=f[0]),a.$el.filter(":not(:animated)").animate(d,{queue:!1,duration:0>g?0:g,easing:b.easing,complete:function(){a.endAnimation(c,e,g)}}))},parseInt(b.delayBeforeAnimate,10)||0)};a.endAnimation=function(c,d,e){0===c?(a.$el.css(a.dir,"fade"===b.mode?0:-a.panelSize[a.pages][2]), c=a.pages):c>a.pages&&(a.$el.css(a.dir,"fade"===b.mode?0:-a.panelSize[1][2]),c=1);a.exactPage=c;a.setCurrentPage(c,!1);"fade"===b.mode&&a.fadeIt(a.$items.not(":eq("+(c-a.adj)+")"),0,0);a.hovered||a.slideControls(!1);b.hashTags&&a.setHash(c);0<=e&&a.$el.trigger("slide_complete",a);"function"===typeof d&&d(a);b.autoPlayLocked&&!a.playing&&setTimeout(function(){a.startStop(!0)},b.resumeDelay-(b.autoPlayDelayed?b.delay:0))};a.fadeIt=function(a,d,e,g){e=0>e?0:e;if(b.resumeOnVisible)a.filter(":not(:animated)").fadeTo(e, d,g);else a.filter(":not(:animated)")[0===d?"fadeOut":"fadeIn"](e,g)};a.setCurrentPage=function(c,d){c=parseInt(c,10);if(!(1>a.pages||0===c||isNaN(c))){c>a.pages+1-a.adj&&(c=a.pages-a.adj);c<a.adj&&(c=1);b.buildArrows&&(!b.infiniteSlides&&b.stopAtEnd)&&(a.$forward[c===a.pages-a.adjustMultiple?"addClass":"removeClass"]("disabled"),a.$back[1===c?"addClass":"removeClass"]("disabled"),c===a.pages&&a.playing&&a.startStop());if(!d){var e=a.getDim(c);a.$wrapper.css({width:e[0],height:e[1]}).add(a.$window).scrollLeft(0).scrollTop(0); a.$el.css(a.dir,"fade"===b.mode?0:-a.panelSize[b.infiniteSlides&&1<a.pages?c:c-1][2])}a.currentPage=c;a.$currentPage=a.$items.removeClass("activePage").eq(c-a.adj).addClass("activePage");b.buildNavigation&&a.setNavigation(c)}};a.setNavigation=function(b){a.$nav.find(".cur").removeClass("cur").end().find("a").eq(b-1).addClass("cur")};a.makeActive=function(){a.$wrapper.hasClass("activeSlider")||(d(".activeSlider").removeClass("activeSlider"),a.$wrapper.addClass("activeSlider"))};a.gotoHash=function(){var c= m.location.hash,f=c.indexOf("&"),e=c.match(a.regex);null===e&&!/^#&/.test(c)&&!/#!?\//.test(c)&&!/\=/.test(c)?(c=c.substring(0,0<=f?f:c.length),e=d(c).length&&d(c).closest(".anythingBase")[0]===a.el?a.$items.index(d(c).closest(".panel"))+a.adj:null):null!==e&&(e=b.hashTags?parseInt(e[1],10):null);return e};a.setHash=function(b){var d="panel"+a.runTimes+"-",e=m.location.hash;"undefined"!==typeof e&&(m.location.hash=0<e.indexOf(d)?e.replace(a.regex,d+b):e+"&"+d+b)};a.slideControls=function(c){var d= c?0:b.animationTime,e=c?b.animationTime:0,g=c?1:0,h=c?0:1;b.toggleControls&&a.$controls.stop(!0,!0).delay(d)[c?"slideDown":"slideUp"](b.animationTime/2).delay(e);b.buildArrows&&b.toggleArrows&&(!a.hovered&&a.playing&&(h=1,g=0),a.$forward.stop(!0,!0).delay(d).animate({right:a.arrowRight+h*a.arrowWidth,opacity:g},b.animationTime/2),a.$back.stop(!0,!0).delay(d).animate({left:a.arrowLeft+h*a.arrowWidth,opacity:g},b.animationTime/2))};a.clearTimer=function(b){a.timer&&(m.clearInterval(a.timer),!b&&a.slideshow&& (a.$el.trigger("slideshow_stop",a),a.slideshow=!1))};a.startStop=function(c,d){!0!==c&&(c=!1);if((a.playing=c)&&!d)a.$el.trigger("slideshow_start",a),a.slideshow=!0;b.buildStartStop&&(a.$startStop.toggleClass("playing",c).find("span").html(c?b.stopText:b.startText),"hidden"===a.$startStop.find("span").css("visibility")&&a.$startStop.addClass(b.tooltipClass).attr("title",c?b.stopText:b.startText));c?(a.clearTimer(!0),a.timer=m.setInterval(function(){l.hidden||l.webkitHidden||l.mozHidden||l.msHidden? b.autoPlayLocked||a.startStop():b.isVideoPlaying(a)?b.resumeOnVideoEnd||a.startStop():a.goForward(!0,b.playRtl)},b.delay)):a.clearTimer()};a.init()};d.anythingSlider.defaults={theme:"default",mode:"horiz",expand:!1,resizeContents:!0,showMultiple:!1,easing:"swing",buildArrows:!0,buildNavigation:!0,buildStartStop:!0,toggleArrows:!1,toggleControls:!1,startText:"Start",stopText:"Stop",forwardText:"&raquo;",backText:"&laquo;",tooltipClass:"tooltip",enableArrows:!0,enableNavigation:!0,enableStartStop:!0, enableKeyboard:!0,startPanel:1,changeBy:1,hashTags:!0,infiniteSlides:!0,navigationFormatter:null,navigationSize:!1,autoPlay:!1,autoPlayLocked:!1,autoPlayDelayed:!1,pauseOnHover:!0,stopAtEnd:!1,playRtl:!1,delay:3E3,resumeDelay:15E3,animationTime:600,delayBeforeAnimate:0,clickForwardArrow:"click",clickBackArrow:"click",clickControls:"click focusin",clickSlideshow:"click",allowRapidChange:!1,resumeOnVideoEnd:!0,resumeOnVisible:!0,isVideoPlaying:function(){return!1}};d.fn.anythingSlider=function(j,l){return this.each(function(){var a, b=d(this).data("AnythingSlider");(typeof j).match("object|undefined")?b?b.updateSlider():new d.anythingSlider(this,j):/\d/.test(j)&&!isNaN(j)&&b?(a="number"===typeof j?j:parseInt(d.trim(j),10),1<=a&&a<=b.pages&&b.gotoPage(a,!1,l)):/^[#|.]/.test(j)&&d(j).length&&b.gotoPage(j,!1,l)})}})(jQuery,window,document);

/*
 * ! jQuery UI 1.8.12 
 * 
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) Dual licensed under
 * the MIT or GPL Version 2 licenses. http://jquery.org/license
 * 
 * http://docs.jquery.com/UI
 */(function(c, j) {
	function k(a) {
		return !c(a).parents().andSelf().filter(function() {
			return c.curCSS(this, "visibility") === "hidden" || c.expr.filters.hidden(this)
		}).length
	}
	c.ui = c.ui || {};
	if (!c.ui.version) {
		c.extend(c.ui, {
		    version : "1.8.12",
		    keyCode : {
		        ALT : 18,
		        BACKSPACE : 8,
		        CAPS_LOCK : 20,
		        COMMA : 188,
		        COMMAND : 91,
		        COMMAND_LEFT : 91,
		        COMMAND_RIGHT : 93,
		        CONTROL : 17,
		        DELETE : 46,
		        DOWN : 40,
		        END : 35,
		        ENTER : 13,
		        ESCAPE : 27,
		        HOME : 36,
		        INSERT : 45,
		        LEFT : 37,
		        MENU : 93,
		        NUMPAD_ADD : 107,
		        NUMPAD_DECIMAL : 110,
		        NUMPAD_DIVIDE : 111,
		        NUMPAD_ENTER : 108,
		        NUMPAD_MULTIPLY : 106,
		        NUMPAD_SUBTRACT : 109,
		        PAGE_DOWN : 34,
		        PAGE_UP : 33,
		        PERIOD : 190,
		        RIGHT : 39,
		        SHIFT : 16,
		        SPACE : 32,
		        TAB : 9,
		        UP : 38,
		        WINDOWS : 91
		    }
		});
		c.fn.extend({
		    _focus : c.fn.focus,
		    focus : function(a, b) {
			    return typeof a === "number" ? this.each(function() {
				    var d = this;
				    setTimeout(function() {
					    c(d).focus();
					    b && b.call(d)
				    }, a)
			    }) : this._focus.apply(this, arguments)
		    },
		    scrollParent : function() {
			    var a;
			    a = c.browser.msie && /(static|relative)/.test(this.css("position")) || /absolute/.test(this.css("position")) ? this.parents().filter(function() {
				    return /(relative|absolute|fixed)/.test(c.curCSS(this, "position", 1)) && /(auto|scroll)/.test(c.curCSS(this, "overflow", 1) + c.curCSS(this, "overflow-y", 1) + c.curCSS(this, "overflow-x", 1))
			    }).eq(0) : this.parents().filter(function() {
				    return /(auto|scroll)/.test(c.curCSS(this, "overflow", 1) + c.curCSS(this, "overflow-y", 1) + c.curCSS(this, "overflow-x", 1))
			    }).eq(0);
			    return /fixed/.test(this.css("position")) || !a.length ? c(document) : a
		    },
		    zIndex : function(a) {
			    if (a !== j)
				    return this.css("zIndex", a);
			    if (this.length) {
				    a = c(this[0]);
				    for ( var b; a.length && a[0] !== document;) {
					    b = a.css("position");
					    if (b === "absolute" || b === "relative" || b === "fixed") {
						    b = parseInt(a.css("zIndex"), 10);
						    if (!isNaN(b) && b !== 0)
							    return b
					    }
					    a = a.parent()
				    }
			    }
			    return 0
		    },
		    disableSelection : function() {
			    return this.bind((c.support.selectstart ? "selectstart" : "mousedown") + ".ui-disableSelection", function(a) {
				    a.preventDefault()
			    })
		    },
		    enableSelection : function() {
			    return this.unbind(".ui-disableSelection")
		    }
		});
		c.each([ "Width", "Height" ], function(a, b) {
			function d(f, g, l, m) {
				c.each(e, function() {
					g -= parseFloat(c.curCSS(f, "padding" + this, true)) || 0;
					if (l)
						g -= parseFloat(c.curCSS(f, "border" + this + "Width", true)) || 0;
					if (m)
						g -= parseFloat(c.curCSS(f, "margin" + this, true)) || 0
				});
				return g
			}
			var e = b === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ], h = b.toLowerCase(), i = {
			    innerWidth : c.fn.innerWidth,
			    innerHeight : c.fn.innerHeight,
			    outerWidth : c.fn.outerWidth,
			    outerHeight : c.fn.outerHeight
			};
			c.fn["inner" + b] = function(f) {
				if (f === j)
					return i["inner" + b].call(this);
				return this.each(function() {
					c(this).css(h, d(this, f) + "px")
				})
			};
			c.fn["outer" + b] = function(f, g) {
				if (typeof f !== "number")
					return i["outer" + b].call(this, f);
				return this.each(function() {
					c(this).css(h, d(this, f, true, g) + "px")
				})
			}
		});
		c.extend(c.expr[":"], {
		    data : function(a, b, d) {
			    return !!c.data(a, d[3])
		    },
		    focusable : function(a) {
			    var b = a.nodeName.toLowerCase(), d = c.attr(a, "tabindex");
			    if ("area" === b) {
				    b = a.parentNode;
				    d = b.name;
				    if (!a.href || !d || b.nodeName.toLowerCase() !== "map")
					    return false;
				    a = c("img[usemap=#" + d + "]")[0];
				    return !!a && k(a)
			    }
			    return (/input|select|textarea|button|object/.test(b) ? !a.disabled : "a" == b ? a.href || !isNaN(d) : !isNaN(d)) && k(a)
		    },
		    tabbable : function(a) {
			    var b = c.attr(a, "tabindex");
			    return (isNaN(b) || b >= 0) && c(a).is(":focusable")
		    }
		});
		c(function() {
			var a = document.body, b = a.appendChild(b = document.createElement("div"));
			c.extend(b.style, {
			    minHeight : "100px",
			    height : "auto",
			    padding : 0,
			    borderWidth : 0
			});
			c.support.minHeight = b.offsetHeight === 100;
			c.support.selectstart = "onselectstart" in b;
			a.removeChild(b).style.display = "none"
		});
		c.extend(c.ui, {
		    plugin : {
		        add : function(a, b, d) {
			        a = c.ui[a].prototype;
			        for ( var e in d) {
				        a.plugins[e] = a.plugins[e] || [];
				        a.plugins[e].push([ b, d[e] ])
			        }
		        },
		        call : function(a, b, d) {
			        if ((b = a.plugins[b]) && a.element[0].parentNode)
				        for ( var e = 0; e < b.length; e++)
					        a.options[b[e][0]] && b[e][1].apply(a.element, d)
		        }
		    },
		    contains : function(a, b) {
			    return document.compareDocumentPosition ? a.compareDocumentPosition(b) & 16 : a !== b && a.contains(b)
		    },
		    hasScroll : function(a, b) {
			    if (c(a).css("overflow") === "hidden")
				    return false;
			    b = b && b === "left" ? "scrollLeft" : "scrollTop";
			    var d = false;
			    if (a[b] > 0)
				    return true;
			    a[b] = 1;
			    d = a[b] > 0;
			    a[b] = 0;
			    return d
		    },
		    isOverAxis : function(a, b, d) {
			    return a > b && a < b + d
		    },
		    isOver : function(a, b, d, e, h, i) {
			    return c.ui.isOverAxis(a, d, h) && c.ui.isOverAxis(b, e, i)
		    }
		})
	}
})(jQuery);;/*
			 * ! jQuery UI Widget 1.8.12
			 * 
			 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) Dual
			 * licensed under the MIT or GPL Version 2 licenses.
			 * http://jquery.org/license
			 * 
			 * http://docs.jquery.com/UI/Widget
			 */
(function(b, j) {
	if (b.cleanData) {
		var k = b.cleanData;
		b.cleanData = function(a) {
			for ( var c = 0, d; (d = a[c]) != null; c++)
				b(d).triggerHandler("remove");
			k(a)
		}
	} else {
		var l = b.fn.remove;
		b.fn.remove = function(a, c) {
			return this.each(function() {
				if (!c)
					if (!a || b.filter(a, [ this ]).length)
						b("*", this).add([ this ]).each(function() {
							b(this).triggerHandler("remove")
						});
				return l.call(b(this), a, c)
			})
		}
	}
	b.widget = function(a, c, d) {
		var e = a.split(".")[0], f;
		a = a.split(".")[1];
		f = e + "-" + a;
		if (!d) {
			d = c;
			c = b.Widget
		}
		b.expr[":"][f] = function(h) {
			return !!b.data(h, a)
		};
		b[e] = b[e] || {};
		b[e][a] = function(h, g) {
			arguments.length && this._createWidget(h, g)
		};
		c = new c;
		c.options = b.extend(true, {}, c.options);
		b[e][a].prototype = b.extend(true, c, {
		    namespace : e,
		    widgetName : a,
		    widgetEventPrefix : b[e][a].prototype.widgetEventPrefix || a,
		    widgetBaseClass : f
		}, d);
		b.widget.bridge(a, b[e][a])
	};
	b.widget.bridge = function(a, c) {
		b.fn[a] = function(d) {
			var e = typeof d === "string", f = Array.prototype.slice.call(arguments, 1), h = this;
			d = !e && f.length ? b.extend.apply(null, [ true, d ].concat(f)) : d;
			if (e && d.charAt(0) === "_")
				return h;
			e ? this.each(function() {
				var g = b.data(this, a), i = g && b.isFunction(g[d]) ? g[d].apply(g, f) : g;
				if (i !== g && i !== j) {
					h = i;
					return false
				}
			}) : this.each(function() {
				var g = b.data(this, a);
				g ? g.option(d || {})._init() : b.data(this, a, new c(d, this))
			});
			return h
		}
	};
	b.Widget = function(a, c) {
		arguments.length && this._createWidget(a, c)
	};
	b.Widget.prototype = {
	    widgetName : "widget",
	    widgetEventPrefix : "",
	    options : {
		    disabled : false
	    },
	    _createWidget : function(a, c) {
		    b.data(c, this.widgetName, this);
		    this.element = b(c);
		    this.options = b.extend(true, {}, this.options, this._getCreateOptions(), a);
		    var d = this;
		    this.element.bind("remove." + this.widgetName, function() {
			    d.destroy()
		    });
		    this._create();
		    this._trigger("create");
		    this._init()
	    },
	    _getCreateOptions : function() {
		    return b.metadata && b.metadata.get(this.element[0])[this.widgetName]
	    },
	    _create : function() {
	    },
	    _init : function() {
	    },
	    destroy : function() {
		    this.element.unbind("." + this.widgetName).removeData(this.widgetName);
		    this.widget().unbind("." + this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass + "-disabled ui-state-disabled")
	    },
	    widget : function() {
		    return this.element
	    },
	    option : function(a, c) {
		    var d = a;
		    if (arguments.length === 0)
			    return b.extend({}, this.options);
		    if (typeof a === "string") {
			    if (c === j)
				    return this.options[a];
			    d = {};
			    d[a] = c
		    }
		    this._setOptions(d);
		    return this
	    },
	    _setOptions : function(a) {
		    var c = this;
		    b.each(a, function(d, e) {
			    c._setOption(d, e)
		    });
		    return this
	    },
	    _setOption : function(a, c) {
		    this.options[a] = c;
		    if (a === "disabled")
			    this.widget()[c ? "addClass" : "removeClass"](this.widgetBaseClass + "-disabled ui-state-disabled").attr("aria-disabled", c);
		    return this
	    },
	    enable : function() {
		    return this._setOption("disabled", false)
	    },
	    disable : function() {
		    return this._setOption("disabled", true)
	    },
	    _trigger : function(a, c, d) {
		    var e = this.options[a];
		    c = b.Event(c);
		    c.type = (a === this.widgetEventPrefix ? a : this.widgetEventPrefix + a).toLowerCase();
		    d = d || {};
		    if (c.originalEvent) {
			    a = b.event.props.length;
			    for ( var f; a;) {
				    f = b.event.props[--a];
				    c[f] = c.originalEvent[f]
			    }
		    }
		    this.element.trigger(c, d);
		    return !(b.isFunction(e) && e.call(this.element[0], c, d) === false || c.isDefaultPrevented())
	    }
	}
})(jQuery);;/*
			 * ! jQuery UI Mouse 1.8.12
			 * 
			 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) Dual
			 * licensed under the MIT or GPL Version 2 licenses.
			 * http://jquery.org/license
			 * 
			 * http://docs.jquery.com/UI/Mouse
			 * 
			 * Depends: jquery.ui.widget.js
			 */
(function(b) {
	b.widget("ui.mouse", {
	    options : {
	        cancel : ":input,option",
	        distance : 1,
	        delay : 0
	    },
	    _mouseInit : function() {
		    var a = this;
		    this.element.bind("mousedown." + this.widgetName, function(c) {
			    return a._mouseDown(c)
		    }).bind("click." + this.widgetName, function(c) {
			    if (true === b.data(c.target, a.widgetName + ".preventClickEvent")) {
				    b.removeData(c.target, a.widgetName + ".preventClickEvent");
				    c.stopImmediatePropagation();
				    return false
			    }
		    });
		    this.started = false
	    },
	    _mouseDestroy : function() {
		    this.element.unbind("." + this.widgetName)
	    },
	    _mouseDown : function(a) {
		    a.originalEvent = a.originalEvent || {};
		    if (!a.originalEvent.mouseHandled) {
			    this._mouseStarted && this._mouseUp(a);
			    this._mouseDownEvent = a;
			    var c = this, e = a.which == 1, f = typeof this.options.cancel == "string" ? b(a.target).parents().add(a.target).filter(this.options.cancel).length : false;
			    if (!e || f || !this._mouseCapture(a))
				    return true;
			    this.mouseDelayMet = !this.options.delay;
			    if (!this.mouseDelayMet)
				    this._mouseDelayTimer = setTimeout(function() {
					    c.mouseDelayMet = true
				    }, this.options.delay);
			    if (this._mouseDistanceMet(a) && this._mouseDelayMet(a)) {
				    this._mouseStarted = this._mouseStart(a) !== false;
				    if (!this._mouseStarted) {
					    a.preventDefault();
					    return true
				    }
			    }
			    true === b.data(a.target, this.widgetName + ".preventClickEvent") && b.removeData(a.target, this.widgetName + ".preventClickEvent");
			    this._mouseMoveDelegate = function(d) {
				    return c._mouseMove(d)
			    };
			    this._mouseUpDelegate = function(d) {
				    return c._mouseUp(d)
			    };
			    b(document).bind("mousemove." + this.widgetName, this._mouseMoveDelegate).bind("mouseup." + this.widgetName, this._mouseUpDelegate);
			    a.preventDefault();
			    return a.originalEvent.mouseHandled = true
		    }
	    },
	    _mouseMove : function(a) {
		    if (b.browser.msie && !(document.documentMode >= 9) && !a.button)
			    return this._mouseUp(a);
		    if (this._mouseStarted) {
			    this._mouseDrag(a);
			    return a.preventDefault()
		    }
		    if (this._mouseDistanceMet(a) && this._mouseDelayMet(a))
			    (this._mouseStarted = this._mouseStart(this._mouseDownEvent, a) !== false) ? this._mouseDrag(a) : this._mouseUp(a);
		    return !this._mouseStarted
	    },
	    _mouseUp : function(a) {
		    b(document).unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate);
		    if (this._mouseStarted) {
			    this._mouseStarted = false;
			    a.target == this._mouseDownEvent.target && b.data(a.target, this.widgetName + ".preventClickEvent", true);
			    this._mouseStop(a)
		    }
		    return false
	    },
	    _mouseDistanceMet : function(a) {
		    return Math.max(Math.abs(this._mouseDownEvent.pageX - a.pageX), Math.abs(this._mouseDownEvent.pageY - a.pageY)) >= this.options.distance
	    },
	    _mouseDelayMet : function() {
		    return this.mouseDelayMet
	    },
	    _mouseStart : function() {
	    },
	    _mouseDrag : function() {
	    },
	    _mouseStop : function() {
	    },
	    _mouseCapture : function() {
		    return true
	    }
	})
})(jQuery);;
(function(d) {
	d.widget("ui.draggable", d.ui.mouse, {
	    widgetEventPrefix : "drag",
	    options : {
	        addClasses : true,
	        appendTo : "parent",
	        axis : false,
	        connectToSortable : false,
	        containment : false,
	        cursor : "auto",
	        cursorAt : false,
	        grid : false,
	        handle : false,
	        helper : "original",
	        iframeFix : false,
	        opacity : false,
	        refreshPositions : false,
	        revert : false,
	        revertDuration : 500,
	        scope : "default",
	        scroll : true,
	        scrollSensitivity : 20,
	        scrollSpeed : 20,
	        snap : false,
	        snapMode : "both",
	        snapTolerance : 20,
	        stack : false,
	        zIndex : false
	    },
	    _create : function() {
		    if (this.options.helper == "original" && !/^(?:r|a|f)/.test(this.element.css("position")))
			    this.element[0].style.position = "relative";
		    this.options.addClasses && this.element.addClass("ui-draggable");
		    this.options.disabled && this.element.addClass("ui-draggable-disabled");
		    this._mouseInit()
	    },
	    destroy : function() {
		    if (this.element.data("draggable")) {
			    this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");
			    this._mouseDestroy();
			    return this
		    }
	    },
	    _mouseCapture : function(a) {
		    var b = this.options;
		    if (this.helper || b.disabled || d(a.target).is(".ui-resizable-handle"))
			    return false;
		    this.handle = this._getHandle(a);
		    if (!this.handle)
			    return false;
		    return true
	    },
	    _mouseStart : function(a) {
		    var b = this.options;
		    this.helper = this._createHelper(a);
		    this._cacheHelperProportions();
		    if (d.ui.ddmanager)
			    d.ui.ddmanager.current = this;
		    this._cacheMargins();
		    this.cssPosition = this.helper.css("position");
		    this.scrollParent = this.helper.scrollParent();
		    this.offset = this.positionAbs = this.element.offset();
		    this.offset = {
		        top : this.offset.top - this.margins.top,
		        left : this.offset.left - this.margins.left
		    };
		    d.extend(this.offset, {
		        click : {
		            left : a.pageX - this.offset.left,
		            top : a.pageY - this.offset.top
		        },
		        parent : this._getParentOffset(),
		        relative : this._getRelativeOffset()
		    });
		    this.originalPosition = this.position = this._generatePosition(a);
		    this.originalPageX = a.pageX;
		    this.originalPageY = a.pageY;
		    b.cursorAt && this._adjustOffsetFromHelper(b.cursorAt);
		    b.containment && this._setContainment();
		    if (this._trigger("start", a) === false) {
			    this._clear();
			    return false
		    }
		    this._cacheHelperProportions();
		    d.ui.ddmanager && !b.dropBehaviour && d.ui.ddmanager.prepareOffsets(this, a);
		    this.helper.addClass("ui-draggable-dragging");
		    this._mouseDrag(a, true);
		    return true
	    },
	    _mouseDrag : function(a, b) {
		    this.position = this._generatePosition(a);
		    this.positionAbs = this._convertPositionTo("absolute");
		    if (!b) {
			    b = this._uiHash();
			    if (this._trigger("drag", a, b) === false) {
				    this._mouseUp({});
				    return false
			    }
			    this.position = b.position
		    }
		    if (!this.options.axis || this.options.axis != "y")
			    this.helper[0].style.left = this.position.left + "px";
		    if (!this.options.axis || this.options.axis != "x")
			    this.helper[0].style.top = this.position.top + "px";
		    d.ui.ddmanager && d.ui.ddmanager.drag(this, a);
		    return false
	    },
	    _mouseStop : function(a) {
		    var b = false;
		    if (d.ui.ddmanager && !this.options.dropBehaviour)
			    b = d.ui.ddmanager.drop(this, a);
		    if (this.dropped) {
			    b = this.dropped;
			    this.dropped = false
		    }
		    if ((!this.element[0] || !this.element[0].parentNode) && this.options.helper == "original")
			    return false;
		    if (this.options.revert == "invalid" && !b || this.options.revert == "valid" && b || this.options.revert === true || d.isFunction(this.options.revert) && this.options.revert.call(this.element, b)) {
			    var c = this;
			    d(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function() {
				    c._trigger("stop", a) !== false && c._clear()
			    })
		    } else
			    this._trigger("stop", a) !== false && this._clear();
		    return false
	    },
	    cancel : function() {
		    this.helper.is(".ui-draggable-dragging") ? this._mouseUp({}) : this._clear();
		    return this
	    },
	    _getHandle : function(a) {
		    var b = !this.options.handle || !d(this.options.handle, this.element).length ? true : false;
		    d(this.options.handle, this.element).find("*").andSelf().each(function() {
			    if (this == a.target)
				    b = true
		    });
		    return b
	    },
	    _createHelper : function(a) {
		    var b = this.options;
		    a = d.isFunction(b.helper) ? d(b.helper.apply(this.element[0], [ a ])) : b.helper == "clone" ? this.element.clone() : this.element;
		    a.parents("body").length || a.appendTo(b.appendTo == "parent" ? this.element[0].parentNode : b.appendTo);
		    a[0] != this.element[0] && !/(fixed|absolute)/.test(a.css("position")) && a.css("position", "absolute");
		    return a
	    },
	    _adjustOffsetFromHelper : function(a) {
		    if (typeof a == "string")
			    a = a.split(" ");
		    if (d.isArray(a))
			    a = {
			        left : +a[0],
			        top : +a[1] || 0
			    };
		    if ("left" in a)
			    this.offset.click.left = a.left + this.margins.left;
		    if ("right" in a)
			    this.offset.click.left = this.helperProportions.width - a.right + this.margins.left;
		    if ("top" in a)
			    this.offset.click.top = a.top + this.margins.top;
		    if ("bottom" in a)
			    this.offset.click.top = this.helperProportions.height - a.bottom + this.margins.top
	    },
	    _getParentOffset : function() {
		    this.offsetParent = this.helper.offsetParent();
		    var a = this.offsetParent.offset();
		    if (this.cssPosition == "absolute" && this.scrollParent[0] != document && d.ui.contains(this.scrollParent[0], this.offsetParent[0])) {
			    a.left += this.scrollParent.scrollLeft();
			    a.top += this.scrollParent.scrollTop()
		    }
		    if (this.offsetParent[0] == document.body || this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == "html" && d.browser.msie)
			    a = {
			        top : 0,
			        left : 0
			    };
		    return {
		        top : a.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0),
		        left : a.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0)
		    }
	    },
	    _getRelativeOffset : function() {
		    if (this.cssPosition == "relative") {
			    var a = this.element.position();
			    return {
			        top : a.top - (parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(),
			        left : a.left - (parseInt(this.helper.css("left"), 10) || 0) + this.scrollParent.scrollLeft()
			    }
		    } else
			    return {
			        top : 0,
			        left : 0
			    }
	    },
	    _cacheMargins : function() {
		    this.margins = {
		        left : parseInt(this.element.css("marginLeft"), 10) || 0,
		        top : parseInt(this.element.css("marginTop"), 10) || 0,
		        right : parseInt(this.element.css("marginRight"), 10) || 0,
		        bottom : parseInt(this.element.css("marginBottom"), 10) || 0
		    }
	    },
	    _cacheHelperProportions : function() {
		    this.helperProportions = {
		        width : this.helper.outerWidth(),
		        height : this.helper.outerHeight()
		    }
	    },
	    _setContainment : function() {
		    var a = this.options;
		    if (a.containment == "parent")
			    a.containment = this.helper[0].parentNode;
		    if (a.containment == "document" || a.containment == "window")
			    this.containment = [ (a.containment == "document" ? 0 : d(window).scrollLeft()) - this.offset.relative.left - this.offset.parent.left, (a.containment == "document" ? 0 : d(window).scrollTop()) - this.offset.relative.top - this.offset.parent.top, (a.containment == "document" ? 0 : d(window).scrollLeft()) + d(a.containment == "document" ? document : window).width() - this.helperProportions.width - this.margins.left, (a.containment == "document" ? 0 : d(window).scrollTop()) + (d(a.containment == "document" ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top ];
		    if (!/^(document|window|parent)$/.test(a.containment) && a.containment.constructor != Array) {
			    var b = d(a.containment)[0];
			    if (b) {
				    a = d(a.containment).offset();
				    var c = d(b).css("overflow") != "hidden";
				    this.containment = [ a.left + (parseInt(d(b).css("borderLeftWidth"), 10) || 0) + (parseInt(d(b).css("paddingLeft"), 10) || 0), a.top + (parseInt(d(b).css("borderTopWidth"), 10) || 0) + (parseInt(d(b).css("paddingTop"), 10) || 0), a.left + (c ? Math.max(b.scrollWidth, b.offsetWidth) : b.offsetWidth) - (parseInt(d(b).css("borderLeftWidth"), 10) || 0) - (parseInt(d(b).css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left - this.margins.right, a.top + (c ? Math.max(b.scrollHeight, b.offsetHeight) : b.offsetHeight) - (parseInt(d(b).css("borderTopWidth"), 10) || 0) - (parseInt(d(b).css("paddingBottom"), 10) || 0) - this.helperProportions.height - this.margins.top - this.margins.bottom ]
			    }
		    } else if (a.containment.constructor == Array)
			    this.containment = a.containment
	    },
	    _convertPositionTo : function(a, b) {
		    if (!b)
			    b = this.position;
		    a = a == "absolute" ? 1 : -1;
		    var c = this.cssPosition == "absolute" && !(this.scrollParent[0] != document && d.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, f = /(html|body)/i.test(c[0].tagName);
		    return {
		        top : b.top + this.offset.relative.top * a + this.offset.parent.top * a - (d.browser.safari && d.browser.version < 526 && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : f ? 0 : c.scrollTop()) * a),
		        left : b.left + this.offset.relative.left * a + this.offset.parent.left * a - (d.browser.safari && d.browser.version < 526 && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : f ? 0 : c.scrollLeft()) * a)
		    }
	    },
	    _generatePosition : function(a) {
		    var b = this.options, c = this.cssPosition == "absolute" && !(this.scrollParent[0] != document && d.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, f = /(html|body)/i.test(c[0].tagName), e = a.pageX, g = a.pageY;
		    if (this.originalPosition) {
			    if (this.containment) {
				    if (a.pageX - this.offset.click.left < this.containment[0])
					    e = this.containment[0] + this.offset.click.left;
				    if (a.pageY - this.offset.click.top < this.containment[1])
					    g = this.containment[1] + this.offset.click.top;
				    if (a.pageX - this.offset.click.left > this.containment[2])
					    e = this.containment[2] + this.offset.click.left;
				    if (a.pageY - this.offset.click.top > this.containment[3])
					    g = this.containment[3] + this.offset.click.top
			    }
			    if (b.grid) {
				    g = this.originalPageY + Math.round((g - this.originalPageY) / b.grid[1]) * b.grid[1];
				    g = this.containment ? !(g - this.offset.click.top < this.containment[1] || g - this.offset.click.top > this.containment[3]) ? g : !(g - this.offset.click.top < this.containment[1]) ? g - b.grid[1] : g + b.grid[1] : g;
				    e = this.originalPageX + Math.round((e - this.originalPageX) / b.grid[0]) * b.grid[0];
				    e = this.containment ? !(e - this.offset.click.left < this.containment[0] || e - this.offset.click.left > this.containment[2]) ? e : !(e - this.offset.click.left < this.containment[0]) ? e - b.grid[0] : e + b.grid[0] : e
			    }
		    }
		    return {
		        top : g - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + (d.browser.safari && d.browser.version < 526 && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : f ? 0 : c.scrollTop()),
		        left : e - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + (d.browser.safari && d.browser.version < 526 && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : f ? 0 : c.scrollLeft())
		    }
	    },
	    _clear : function() {
		    this.helper.removeClass("ui-draggable-dragging");
		    this.helper[0] != this.element[0] && !this.cancelHelperRemoval && this.helper.remove();
		    this.helper = null;
		    this.cancelHelperRemoval = false
	    },
	    _trigger : function(a, b, c) {
		    c = c || this._uiHash();
		    d.ui.plugin.call(this, a, [ b, c ]);
		    if (a == "drag")
			    this.positionAbs = this._convertPositionTo("absolute");
		    return d.Widget.prototype._trigger.call(this, a, b, c)
	    },
	    plugins : {},
	    _uiHash : function() {
		    return {
		        helper : this.helper,
		        position : this.position,
		        originalPosition : this.originalPosition,
		        offset : this.positionAbs
		    }
	    }
	});
	d.extend(d.ui.draggable, {
		version : "1.8.12"
	});
	d.ui.plugin.add("draggable", "connectToSortable", {
	    start : function(a, b) {
		    var c = d(this).data("draggable"), f = c.options, e = d.extend({}, b, {
			    item : c.element
		    });
		    c.sortables = [];
		    d(f.connectToSortable).each(function() {
			    var g = d.data(this, "sortable");
			    if (g && !g.options.disabled) {
				    c.sortables.push({
				        instance : g,
				        shouldRevert : g.options.revert
				    });
				    g.refreshPositions();
				    g._trigger("activate", a, e)
			    }
		    })
	    },
	    stop : function(a, b) {
		    var c = d(this).data("draggable"), f = d.extend({}, b, {
			    item : c.element
		    });
		    d.each(c.sortables, function() {
			    if (this.instance.isOver) {
				    this.instance.isOver = 0;
				    c.cancelHelperRemoval = true;
				    this.instance.cancelHelperRemoval = false;
				    if (this.shouldRevert)
					    this.instance.options.revert = true;
				    this.instance._mouseStop(a);
				    this.instance.options.helper = this.instance.options._helper;
				    c.options.helper == "original" && this.instance.currentItem.css({
				        top : "auto",
				        left : "auto"
				    })
			    } else {
				    this.instance.cancelHelperRemoval = false;
				    this.instance._trigger("deactivate", a, f)
			    }
		    })
	    },
	    drag : function(a, b) {
		    var c = d(this).data("draggable"), f = this;
		    d.each(c.sortables, function() {
			    this.instance.positionAbs = c.positionAbs;
			    this.instance.helperProportions = c.helperProportions;
			    this.instance.offset.click = c.offset.click;
			    if (this.instance._intersectsWith(this.instance.containerCache)) {
				    if (!this.instance.isOver) {
					    this.instance.isOver = 1;
					    this.instance.currentItem = d(f).clone().appendTo(this.instance.element).data("sortable-item", true);
					    this.instance.options._helper = this.instance.options.helper;
					    this.instance.options.helper = function() {
						    return b.helper[0]
					    };
					    a.target = this.instance.currentItem[0];
					    this.instance._mouseCapture(a, true);
					    this.instance._mouseStart(a, true, true);
					    this.instance.offset.click.top = c.offset.click.top;
					    this.instance.offset.click.left = c.offset.click.left;
					    this.instance.offset.parent.left -= c.offset.parent.left - this.instance.offset.parent.left;
					    this.instance.offset.parent.top -= c.offset.parent.top - this.instance.offset.parent.top;
					    c._trigger("toSortable", a);
					    c.dropped = this.instance.element;
					    c.currentItem = c.element;
					    this.instance.fromOutside = c
				    }
				    this.instance.currentItem && this.instance._mouseDrag(a)
			    } else if (this.instance.isOver) {
				    this.instance.isOver = 0;
				    this.instance.cancelHelperRemoval = true;
				    this.instance.options.revert = false;
				    this.instance._trigger("out", a, this.instance._uiHash(this.instance));
				    this.instance._mouseStop(a, true);
				    this.instance.options.helper = this.instance.options._helper;
				    this.instance.currentItem.remove();
				    this.instance.placeholder && this.instance.placeholder.remove();
				    c._trigger("fromSortable", a);
				    c.dropped = false
			    }
		    })
	    }
	});
	d.ui.plugin.add("draggable", "cursor", {
	    start : function() {
		    var a = d("body"), b = d(this).data("draggable").options;
		    if (a.css("cursor"))
			    b._cursor = a.css("cursor");
		    a.css("cursor", b.cursor)
	    },
	    stop : function() {
		    var a = d(this).data("draggable").options;
		    a._cursor && d("body").css("cursor", a._cursor)
	    }
	});
	d.ui.plugin.add("draggable", "iframeFix", {
	    start : function() {
		    var a = d(this).data("draggable").options;
		    d(a.iframeFix === true ? "iframe" : a.iframeFix).each(function() {
			    d('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({
			        width : this.offsetWidth + "px",
			        height : this.offsetHeight + "px",
			        position : "absolute",
			        opacity : "0.001",
			        zIndex : 1E3
			    }).css(d(this).offset()).appendTo("body")
		    })
	    },
	    stop : function() {
		    d("div.ui-draggable-iframeFix").each(function() {
			    this.parentNode.removeChild(this)
		    })
	    }
	});
	d.ui.plugin.add("draggable", "opacity", {
	    start : function(a, b) {
		    a = d(b.helper);
		    b = d(this).data("draggable").options;
		    if (a.css("opacity"))
			    b._opacity = a.css("opacity");
		    a.css("opacity", b.opacity)
	    },
	    stop : function(a, b) {
		    a = d(this).data("draggable").options;
		    a._opacity && d(b.helper).css("opacity", a._opacity)
	    }
	});
	d.ui.plugin.add("draggable", "scroll", {
	    start : function() {
		    var a = d(this).data("draggable");
		    if (a.scrollParent[0] != document && a.scrollParent[0].tagName != "HTML")
			    a.overflowOffset = a.scrollParent.offset()
	    },
	    drag : function(a) {
		    var b = d(this).data("draggable"), c = b.options, f = false;
		    if (b.scrollParent[0] != document && b.scrollParent[0].tagName != "HTML") {
			    if (!c.axis || c.axis != "x")
				    if (b.overflowOffset.top + b.scrollParent[0].offsetHeight - a.pageY < c.scrollSensitivity)
					    b.scrollParent[0].scrollTop = f = b.scrollParent[0].scrollTop + c.scrollSpeed;
				    else if (a.pageY - b.overflowOffset.top < c.scrollSensitivity)
					    b.scrollParent[0].scrollTop = f = b.scrollParent[0].scrollTop - c.scrollSpeed;
			    if (!c.axis || c.axis != "y")
				    if (b.overflowOffset.left + b.scrollParent[0].offsetWidth - a.pageX < c.scrollSensitivity)
					    b.scrollParent[0].scrollLeft = f = b.scrollParent[0].scrollLeft + c.scrollSpeed;
				    else if (a.pageX - b.overflowOffset.left < c.scrollSensitivity)
					    b.scrollParent[0].scrollLeft = f = b.scrollParent[0].scrollLeft - c.scrollSpeed
		    } else {
			    if (!c.axis || c.axis != "x")
				    if (a.pageY - d(document).scrollTop() < c.scrollSensitivity)
					    f = d(document).scrollTop(d(document).scrollTop() - c.scrollSpeed);
				    else if (d(window).height() - (a.pageY - d(document).scrollTop()) < c.scrollSensitivity)
					    f = d(document).scrollTop(d(document).scrollTop() + c.scrollSpeed);
			    if (!c.axis || c.axis != "y")
				    if (a.pageX - d(document).scrollLeft() < c.scrollSensitivity)
					    f = d(document).scrollLeft(d(document).scrollLeft() - c.scrollSpeed);
				    else if (d(window).width() - (a.pageX - d(document).scrollLeft()) < c.scrollSensitivity)
					    f = d(document).scrollLeft(d(document).scrollLeft() + c.scrollSpeed)
		    }
		    f !== false && d.ui.ddmanager && !c.dropBehaviour && d.ui.ddmanager.prepareOffsets(b, a)
	    }
	});
	d.ui.plugin.add("draggable", "snap", {
	    start : function() {
		    var a = d(this).data("draggable"), b = a.options;
		    a.snapElements = [];
		    d(b.snap.constructor != String ? b.snap.items || ":data(draggable)" : b.snap).each(function() {
			    var c = d(this), f = c.offset();
			    this != a.element[0] && a.snapElements.push({
			        item : this,
			        width : c.outerWidth(),
			        height : c.outerHeight(),
			        top : f.top,
			        left : f.left
			    })
		    })
	    },
	    drag : function(a, b) {
		    for ( var c = d(this).data("draggable"), f = c.options, e = f.snapTolerance, g = b.offset.left, n = g + c.helperProportions.width, m = b.offset.top, o = m + c.helperProportions.height, h = c.snapElements.length - 1; h >= 0; h--) {
			    var i = c.snapElements[h].left, k = i + c.snapElements[h].width, j = c.snapElements[h].top, l = j + c.snapElements[h].height;
			    if (i - e < g && g < k + e && j - e < m && m < l + e || i - e < g && g < k + e && j - e < o && o < l + e || i - e < n && n < k + e && j - e < m && m < l + e || i - e < n && n < k + e && j - e < o && o < l + e) {
				    if (f.snapMode != "inner") {
					    var p = Math.abs(j - o) <= e, q = Math.abs(l - m) <= e, r = Math.abs(i - n) <= e, s = Math.abs(k - g) <= e;
					    if (p)
						    b.position.top = c._convertPositionTo("relative", {
						        top : j - c.helperProportions.height,
						        left : 0
						    }).top - c.margins.top;
					    if (q)
						    b.position.top = c._convertPositionTo("relative", {
						        top : l,
						        left : 0
						    }).top - c.margins.top;
					    if (r)
						    b.position.left = c._convertPositionTo("relative", {
						        top : 0,
						        left : i - c.helperProportions.width
						    }).left - c.margins.left;
					    if (s)
						    b.position.left = c._convertPositionTo("relative", {
						        top : 0,
						        left : k
						    }).left - c.margins.left
				    }
				    var t = p || q || r || s;
				    if (f.snapMode != "outer") {
					    p = Math.abs(j - m) <= e;
					    q = Math.abs(l - o) <= e;
					    r = Math.abs(i - g) <= e;
					    s = Math.abs(k - n) <= e;
					    if (p)
						    b.position.top = c._convertPositionTo("relative", {
						        top : j,
						        left : 0
						    }).top - c.margins.top;
					    if (q)
						    b.position.top = c._convertPositionTo("relative", {
						        top : l - c.helperProportions.height,
						        left : 0
						    }).top - c.margins.top;
					    if (r)
						    b.position.left = c._convertPositionTo("relative", {
						        top : 0,
						        left : i
						    }).left - c.margins.left;
					    if (s)
						    b.position.left = c._convertPositionTo("relative", {
						        top : 0,
						        left : k - c.helperProportions.width
						    }).left - c.margins.left
				    }
				    if (!c.snapElements[h].snapping && (p || q || r || s || t))
					    c.options.snap.snap && c.options.snap.snap.call(c.element, a, d.extend(c._uiHash(), {
						    snapItem : c.snapElements[h].item
					    }));
				    c.snapElements[h].snapping = p || q || r || s || t
			    } else {
				    c.snapElements[h].snapping && c.options.snap.release && c.options.snap.release.call(c.element, a, d.extend(c._uiHash(), {
					    snapItem : c.snapElements[h].item
				    }));
				    c.snapElements[h].snapping = false
			    }
		    }
	    }
	});
	d.ui.plugin.add("draggable", "stack", {
		start : function() {
			var a = d(this).data("draggable").options;
			a = d.makeArray(d(a.stack)).sort(function(c, f) {
				return (parseInt(d(c).css("zIndex"), 10) || 0) - (parseInt(d(f).css("zIndex"), 10) || 0)
			});
			if (a.length) {
				var b = parseInt(a[0].style.zIndex) || 0;
				d(a).each(function(c) {
					this.style.zIndex = b + c
				});
				this[0].style.zIndex = b + a.length
			}
		}
	});
	d.ui.plugin.add("draggable", "zIndex", {
	    start : function(a, b) {
		    a = d(b.helper);
		    b = d(this).data("draggable").options;
		    if (a.css("zIndex"))
			    b._zIndex = a.css("zIndex");
		    a.css("zIndex", b.zIndex)
	    },
	    stop : function(a, b) {
		    a = d(this).data("draggable").options;
		    a._zIndex && d(b.helper).css("zIndex", a._zIndex)
	    }
	})
})(jQuery);;
(function(d) {
	d.widget("ui.slider", d.ui.mouse, {
	    widgetEventPrefix : "slide",
	    options : {
	        animate : false,
	        distance : 0,
	        max : 100,
	        min : 0,
	        orientation : "horizontal",
	        range : false,
	        step : 1,
	        value : 0,
	        values : null
	    },
	    _create : function() {
		    var b = this, a = this.options;
		    this._mouseSliding = this._keySliding = false;
		    this._animateOff = true;
		    this._handleIndex = null;
		    this._detectOrientation();
		    this._mouseInit();
		    this.element.addClass("ui-slider ui-slider-" + this.orientation + " ui-widget ui-widget-content ui-corner-all");
		    a.disabled && this.element.addClass("ui-slider-disabled ui-disabled");
		    this.range = d([]);
		    if (a.range) {
			    if (a.range === true) {
				    this.range = d("<div></div>");
				    if (!a.values)
					    a.values = [ this._valueMin(), this._valueMin() ];
				    if (a.values.length && a.values.length !== 2)
					    a.values = [ a.values[0], a.values[0] ]
			    } else
				    this.range = d("<div></div>");
			    this.range.appendTo(this.element).addClass("ui-slider-range");
			    if (a.range === "min" || a.range === "max")
				    this.range.addClass("ui-slider-range-" + a.range);
			    this.range.addClass("ui-widget-header")
		    }
		    d(".ui-slider-handle", this.element).length === 0 && d("<a href='#'></a>").appendTo(this.element).addClass("ui-slider-handle");
		    if (a.values && a.values.length)
			    for (; d(".ui-slider-handle", this.element).length < a.values.length;)
				    d("<a href='#'></a>").appendTo(this.element).addClass("ui-slider-handle");
		    this.handles = d(".ui-slider-handle", this.element).addClass("ui-state-default ui-corner-all");
		    this.handle = this.handles.eq(0);
		    this.handles.add(this.range).filter("a").click(function(c) {
			    c.preventDefault()
		    }).hover(function() {
			    a.disabled || d(this).addClass("ui-state-hover")
		    }, function() {
			    d(this).removeClass("ui-state-hover")
		    }).focus(function() {
			    if (a.disabled)
				    d(this).blur();
			    else {
				    d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");
				    d(this).addClass("ui-state-focus")
			    }
		    }).blur(function() {
			    d(this).removeClass("ui-state-focus")
		    });
		    this.handles.each(function(c) {
			    d(this).data("index.ui-slider-handle", c)
		    });
		    this.handles.keydown(function(c) {
			    var e = true, f = d(this).data("index.ui-slider-handle"), h, g, i;
			    if (!b.options.disabled) {
				    switch (c.keyCode) {
					    case d.ui.keyCode.HOME:
					    case d.ui.keyCode.END:
					    case d.ui.keyCode.PAGE_UP:
					    case d.ui.keyCode.PAGE_DOWN:
					    case d.ui.keyCode.UP:
					    case d.ui.keyCode.RIGHT:
					    case d.ui.keyCode.DOWN:
					    case d.ui.keyCode.LEFT:
						    e = false;
						    if (!b._keySliding) {
							    b._keySliding = true;
							    d(this).addClass("ui-state-active");
							    h = b._start(c, f);
							    if (h === false)
								    return
						    }
						    break
				    }
				    i = b.options.step;
				    h = b.options.values && b.options.values.length ? (g = b.values(f)) : (g = b.value());
				    switch (c.keyCode) {
					    case d.ui.keyCode.HOME:
						    g = b._valueMin();
						    break;
					    case d.ui.keyCode.END:
						    g = b._valueMax();
						    break;
					    case d.ui.keyCode.PAGE_UP:
						    g = b._trimAlignValue(h + (b._valueMax() - b._valueMin()) / 5);
						    break;
					    case d.ui.keyCode.PAGE_DOWN:
						    g = b._trimAlignValue(h - (b._valueMax() - b._valueMin()) / 5);
						    break;
					    case d.ui.keyCode.UP:
					    case d.ui.keyCode.RIGHT:
						    if (h === b._valueMax())
							    return;
						    g = b._trimAlignValue(h + i);
						    break;
					    case d.ui.keyCode.DOWN:
					    case d.ui.keyCode.LEFT:
						    if (h === b._valueMin())
							    return;
						    g = b._trimAlignValue(h - i);
						    break
				    }
				    b._slide(c, f, g);
				    return e
			    }
		    }).keyup(function(c) {
			    var e = d(this).data("index.ui-slider-handle");
			    if (b._keySliding) {
				    b._keySliding = false;
				    b._stop(c, e);
				    b._change(c, e);
				    d(this).removeClass("ui-state-active")
			    }
		    });
		    this._refreshValue();
		    this._animateOff = false
	    },
	    destroy : function() {
		    this.handles.remove();
		    this.range.remove();
		    this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");
		    this._mouseDestroy();
		    return this
	    },
	    _mouseCapture : function(b) {
		    var a = this.options, c, e, f, h, g;
		    if (a.disabled)
			    return false;
		    this.elementSize = {
		        width : this.element.outerWidth(),
		        height : this.element.outerHeight()
		    };
		    this.elementOffset = this.element.offset();
		    c = this._normValueFromMouse({
		        x : b.pageX,
		        y : b.pageY
		    });
		    e = this._valueMax() - this._valueMin() + 1;
		    h = this;
		    this.handles.each(function(i) {
			    var j = Math.abs(c - h.values(i));
			    if (e > j) {
				    e = j;
				    f = d(this);
				    g = i
			    }
		    });
		    if (a.range === true && this.values(1) === a.min) {
			    g += 1;
			    f = d(this.handles[g])
		    }
		    if (this._start(b, g) === false)
			    return false;
		    this._mouseSliding = true;
		    h._handleIndex = g;
		    f.addClass("ui-state-active").focus();
		    a = f.offset();
		    this._clickOffset = !d(b.target).parents().andSelf().is(".ui-slider-handle") ? {
		        left : 0,
		        top : 0
		    } : {
		        left : b.pageX - a.left - f.width() / 2,
		        top : b.pageY - a.top - f.height() / 2 - (parseInt(f.css("borderTopWidth"), 10) || 0) - (parseInt(f.css("borderBottomWidth"), 10) || 0) + (parseInt(f.css("marginTop"), 10) || 0)
		    };
		    this.handles.hasClass("ui-state-hover") || this._slide(b, g, c);
		    return this._animateOff = true
	    },
	    _mouseStart : function() {
		    return true
	    },
	    _mouseDrag : function(b) {
		    var a = this._normValueFromMouse({
		        x : b.pageX,
		        y : b.pageY
		    });
		    this._slide(b, this._handleIndex, a);
		    return false
	    },
	    _mouseStop : function(b) {
		    this.handles.removeClass("ui-state-active");
		    this._mouseSliding = false;
		    this._stop(b, this._handleIndex);
		    this._change(b, this._handleIndex);
		    this._clickOffset = this._handleIndex = null;
		    return this._animateOff = false
	    },
	    _detectOrientation : function() {
		    this.orientation = this.options.orientation === "vertical" ? "vertical" : "horizontal"
	    },
	    _normValueFromMouse : function(b) {
		    var a;
		    if (this.orientation === "horizontal") {
			    a = this.elementSize.width;
			    b = b.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left : 0)
		    } else {
			    a = this.elementSize.height;
			    b = b.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top : 0)
		    }
		    a = b / a;
		    if (a > 1)
			    a = 1;
		    if (a < 0)
			    a = 0;
		    if (this.orientation === "vertical")
			    a = 1 - a;
		    b = this._valueMax() - this._valueMin();
		    return this._trimAlignValue(this._valueMin() + a * b)
	    },
	    _start : function(b, a) {
		    var c = {
		        handle : this.handles[a],
		        value : this.value()
		    };
		    if (this.options.values && this.options.values.length) {
			    c.value = this.values(a);
			    c.values = this.values()
		    }
		    return this._trigger("start", b, c)
	    },
	    _slide : function(b, a, c) {
		    var e;
		    if (this.options.values && this.options.values.length) {
			    e = this.values(a ? 0 : 1);
			    if (this.options.values.length === 2 && this.options.range === true && (a === 0 && c > e || a === 1 && c < e))
				    c = e;
			    if (c !== this.values(a)) {
				    e = this.values();
				    e[a] = c;
				    b = this._trigger("slide", b, {
				        handle : this.handles[a],
				        value : c,
				        values : e
				    });
				    this.values(a ? 0 : 1);
				    b !== false && this.values(a, c, true)
			    }
		    } else if (c !== this.value()) {
			    b = this._trigger("slide", b, {
			        handle : this.handles[a],
			        value : c
			    });
			    b !== false && this.value(c)
		    }
	    },
	    _stop : function(b, a) {
		    var c = {
		        handle : this.handles[a],
		        value : this.value()
		    };
		    if (this.options.values && this.options.values.length) {
			    c.value = this.values(a);
			    c.values = this.values()
		    }
		    this._trigger("stop", b, c)
	    },
	    _change : function(b, a) {
		    if (!this._keySliding && !this._mouseSliding) {
			    var c = {
			        handle : this.handles[a],
			        value : this.value()
			    };
			    if (this.options.values && this.options.values.length) {
				    c.value = this.values(a);
				    c.values = this.values()
			    }
			    this._trigger("change", b, c)
		    }
	    },
	    value : function(b) {
		    if (arguments.length) {
			    this.options.value = this._trimAlignValue(b);
			    this._refreshValue();
			    this._change(null, 0)
		    } else
			    return this._value()
	    },
	    values : function(b, a) {
		    var c, e, f;
		    if (arguments.length > 1) {
			    this.options.values[b] = this._trimAlignValue(a);
			    this._refreshValue();
			    this._change(null, b)
		    } else if (arguments.length)
			    if (d.isArray(arguments[0])) {
				    c = this.options.values;
				    e = arguments[0];
				    for (f = 0; f < c.length; f += 1) {
					    c[f] = this._trimAlignValue(e[f]);
					    this._change(null, f)
				    }
				    this._refreshValue()
			    } else
				    return this.options.values && this.options.values.length ? this._values(b) : this.value();
		    else
			    return this._values()
	    },
	    _setOption : function(b, a) {
		    var c, e = 0;
		    if (d.isArray(this.options.values))
			    e = this.options.values.length;
		    d.Widget.prototype._setOption.apply(this, arguments);
		    switch (b) {
			    case "disabled":
				    if (a) {
					    this.handles.filter(".ui-state-focus").blur();
					    this.handles.removeClass("ui-state-hover");
					    this.handles.attr("disabled", "disabled");
					    this.element.addClass("ui-disabled")
				    } else {
					    this.handles.removeAttr("disabled");
					    this.element.removeClass("ui-disabled")
				    }
				    break;
			    case "orientation":
				    this._detectOrientation();
				    this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-" + this.orientation);
				    this._refreshValue();
				    break;
			    case "value":
				    this._animateOff = true;
				    this._refreshValue();
				    this._change(null, 0);
				    this._animateOff = false;
				    break;
			    case "values":
				    this._animateOff = true;
				    this._refreshValue();
				    for (c = 0; c < e; c += 1)
					    this._change(null, c);
				    this._animateOff = false;
				    break
		    }
	    },
	    _value : function() {
		    var b = this.options.value;
		    return b = this._trimAlignValue(b)
	    },
	    _values : function(b) {
		    var a, c;
		    if (arguments.length) {
			    a = this.options.values[b];
			    return a = this._trimAlignValue(a)
		    } else {
			    a = this.options.values.slice();
			    for (c = 0; c < a.length; c += 1)
				    a[c] = this._trimAlignValue(a[c]);
			    return a
		    }
	    },
	    _trimAlignValue : function(b) {
		    if (b <= this._valueMin())
			    return this._valueMin();
		    if (b >= this._valueMax())
			    return this._valueMax();
		    var a = this.options.step > 0 ? this.options.step : 1, c = (b - this._valueMin()) % a;
		    alignValue = b - c;
		    if (Math.abs(c) * 2 >= a)
			    alignValue += c > 0 ? a : -a;
		    return parseFloat(alignValue.toFixed(5))
	    },
	    _valueMin : function() {
		    return this.options.min
	    },
	    _valueMax : function() {
		    return this.options.max
	    },
	    _refreshValue : function() {
		    var b = this.options.range, a = this.options, c = this, e = !this._animateOff ? a.animate : false, f, h = {}, g, i, j, l;
		    if (this.options.values && this.options.values.length)
			    this.handles.each(function(k) {
				    f = (c.values(k) - c._valueMin()) / (c._valueMax() - c._valueMin()) * 100;
				    h[c.orientation === "horizontal" ? "left" : "bottom"] = f + "%";
				    d(this).stop(1, 1)[e ? "animate" : "css"](h, a.animate);
				    if (c.options.range === true)
					    if (c.orientation === "horizontal") {
						    if (k === 0)
							    c.range.stop(1, 1)[e ? "animate" : "css"]({
								    left : f + "%"
							    }, a.animate);
						    if (k === 1)
							    c.range[e ? "animate" : "css"]({
								    width : f - g + "%"
							    }, {
							        queue : false,
							        duration : a.animate
							    })
					    } else {
						    if (k === 0)
							    c.range.stop(1, 1)[e ? "animate" : "css"]({
								    bottom : f + "%"
							    }, a.animate);
						    if (k === 1)
							    c.range[e ? "animate" : "css"]({
								    height : f - g + "%"
							    }, {
							        queue : false,
							        duration : a.animate
							    })
					    }
				    g = f
			    });
		    else {
			    i = this.value();
			    j = this._valueMin();
			    l = this._valueMax();
			    f = l !== j ? (i - j) / (l - j) * 100 : 0;
			    h[c.orientation === "horizontal" ? "left" : "bottom"] = f + "%";
			    this.handle.stop(1, 1)[e ? "animate" : "css"](h, a.animate);
			    if (b === "min" && this.orientation === "horizontal")
				    this.range.stop(1, 1)[e ? "animate" : "css"]({
					    width : f + "%"
				    }, a.animate);
			    if (b === "max" && this.orientation === "horizontal")
				    this.range[e ? "animate" : "css"]({
					    width : 100 - f + "%"
				    }, {
				        queue : false,
				        duration : a.animate
				    });
			    if (b === "min" && this.orientation === "vertical")
				    this.range.stop(1, 1)[e ? "animate" : "css"]({
					    height : f + "%"
				    }, a.animate);
			    if (b === "max" && this.orientation === "vertical")
				    this.range[e ? "animate" : "css"]({
					    height : 100 - f + "%"
				    }, {
				        queue : false,
				        duration : a.animate
				    })
		    }
	    }
	});
	d.extend(d.ui.slider, {
		version : "1.8.12"
	})
})(jQuery);;
(function(d, A) {
	function K() {
		this.debug = false;
		this._curInst = null;
		this._keyEvent = false;
		this._disabledInputs = [];
		this._inDialog = this._datepickerShowing = false;
		this._mainDivId = "ui-datepicker-div";
		this._inlineClass = "ui-datepicker-inline";
		this._appendClass = "ui-datepicker-append";
		this._triggerClass = "ui-datepicker-trigger";
		this._dialogClass = "ui-datepicker-dialog";
		this._disableClass = "ui-datepicker-disabled";
		this._unselectableClass = "ui-datepicker-unselectable";
		this._currentClass = "ui-datepicker-current-day";
		this._dayOverClass = "ui-datepicker-days-cell-over";
		this.regional = [];
		this.regional[""] = {
		    closeText : "Done",
		    prevText : "Prev",
		    nextText : "Next",
		    currentText : "Today",
		    monthNames : [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ],
		    monthNamesShort : [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ],
		    dayNames : [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ],
		    dayNamesShort : [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ],
		    dayNamesMin : [ "Su", "Mo", "Tu", "We", "Th", "Fr", "Sa" ],
		    weekHeader : "Wk",
		    dateFormat : "mm/dd/yy",
		    firstDay : 0,
		    isRTL : false,
		    showMonthAfterYear : false,
		    yearSuffix : ""
		};
		this._defaults = {
		    showOn : "focus",
		    showAnim : null, // bugfix ie7: flickering + font rendering, old value: "fadeIn"
		    showOptions : {},
		    defaultDate : null,
		    appendText : "",
		    buttonText : "...",
		    buttonImage : "",
		    buttonImageOnly : false,
		    hideIfNoPrevNext : false,
		    navigationAsDateFormat : false,
		    gotoCurrent : false,
		    changeMonth : false,
		    changeYear : false,
		    yearRange : "c-10:c+10",
		    showOtherMonths : false,
		    selectOtherMonths : false,
		    showWeek : false,
		    calculateWeek : this.iso8601Week,
		    shortYearCutoff : "+10",
		    minDate : null,
		    maxDate : null,
		    duration : "fast",
		    beforeShowDay : null,
		    beforeShow : null,
		    onSelect : null,
		    onChangeMonthYear : null,
		    onClose : null,
		    numberOfMonths : 1,
		    showCurrentAtPos : 0,
		    stepMonths : 1,
		    stepBigMonths : 12,
		    altField : "",
		    altFormat : "",
		    constrainInput : true,
		    showButtonPanel : false,
		    autoSize : false
		};
		d.extend(this._defaults, this.regional[""]);
		this.dpDiv = d('<div id="' + this._mainDivId + '" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>');
	}
	function F(a, b) {
		d.extend(a, b);
		for ( var c in b)
			if (b[c] == null || b[c] == A)
				a[c] = b[c];
		return a
	}
	d.extend(d.ui, {
		datepicker : {
			version : "1.8.12"
		}
	});
	var y = (new Date).getTime();
	d.extend(K.prototype, {
	    markerClassName : "hasDatepicker",
	    log : function() {
		    this.debug && console.log.apply("", arguments)
	    },
	    _widgetDatepicker : function() {
		    return this.dpDiv
	    },
	    setDefaults : function(a) {
		    F(this._defaults, a || {});
		    return this
	    },
	    _attachDatepicker : function(a, b) {
		    var c = null;
		    for ( var e in this._defaults) {
			    var f = a.getAttribute("date:" + e);
			    if (f) {
				    c = c || {};
				    try {
					    c[e] = eval(f)
				    } catch (h) {
					    c[e] = f
				    }
			    }
		    }
		    e = a.nodeName.toLowerCase();
		    f = e == "div" || e == "span";
		    if (!a.id) {
			    this.uuid += 1;
			    a.id = "dp" + this.uuid
		    }
		    var i = this._newInst(d(a), f);
		    i.settings = d.extend({}, b || {}, c || {});
		    if (e == "input")
			    this._connectDatepicker(a, i);
		    else
			    f && this._inlineDatepicker(a, i)
	    },
	    _newInst : function(a, b) {
		    return {
		        id : a[0].id.replace(/([^A-Za-z0-9_-])/g, "\\\\$1"),
		        input : a,
		        selectedDay : 0,
		        selectedMonth : 0,
		        selectedYear : 0,
		        drawMonth : 0,
		        drawYear : 0,
		        inline : b,
		        dpDiv : !b ? this.dpDiv : d('<div class="' + this._inlineClass + ' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')
		    }
	    },
	    _connectDatepicker : function(a, b) {
		    var c = d(a);
		    b.append = d([]);
		    b.trigger = d([]);
		    if (!c.hasClass(this.markerClassName)) {
			    this._attachments(c, b);
			    c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker", function(e, f, h) {
				    b.settings[f] = h
			    }).bind("getData.datepicker", function(e, f) {
				    return this._get(b, f)
			    });
			    this._autoSize(b);
			    d.data(a, "datepicker", b)
		    }
	    },
	    _attachments : function(a, b) {
		    var c = this._get(b, "appendText"), e = this._get(b, "isRTL");
		    b.append && b.append.remove();
		    if (c) {
			    b.append = d('<span class="' + this._appendClass + '">' + c + "</span>");
			    a[e ? "before" : "after"](b.append)
		    }
		    a.unbind("focus", this._showDatepicker);
		    b.trigger && b.trigger.remove();
		    c = this._get(b, "showOn");
		    if (c == "focus" || c == "both")
			    a.focus(this._showDatepicker);
		    if (c == "button" || c == "both") {
			    c = this._get(b, "buttonText");
			    var f = this._get(b, "buttonImage");
			    b.trigger = d(this._get(b, "buttonImageOnly") ? d("<img/>").addClass(this._triggerClass).attr({
			        src : f,
			        alt : c,
			        title : c
			    }) : d('<button type="button"></button>').addClass(this._triggerClass).html(f == "" ? c : d("<img/>").attr({
			        src : f,
			        alt : c,
			        title : c
			    })));
			    a[e ? "before" : "after"](b.trigger);
			    b.trigger.click(function() {
				    d.datepicker._datepickerShowing && d.datepicker._lastInput == a[0] ? d.datepicker._hideDatepicker() : d.datepicker._showDatepicker(a[0]);
				    return false
			    })
		    }
	    },
	    _autoSize : function(a) {
		    if (this._get(a, "autoSize") && !a.inline) {
			    var b = new Date(2009, 11, 20), c = this._get(a, "dateFormat");
			    if (c.match(/[DM]/)) {
				    var e = function(f) {
					    for ( var h = 0, i = 0, g = 0; g < f.length; g++)
						    if (f[g].length > h) {
							    h = f[g].length;
							    i = g
						    }
					    return i
				    };
				    b.setMonth(e(this._get(a, c.match(/MM/) ? "monthNames" : "monthNamesShort")));
				    b.setDate(e(this._get(a, c.match(/DD/) ? "dayNames" : "dayNamesShort")) + 20 - b.getDay())
			    }
			    a.input.attr("size", this._formatDate(a, b).length)
		    }
	    },
	    _inlineDatepicker : function(a, b) {
		    var c = d(a);
		    if (!c.hasClass(this.markerClassName)) {
			    c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker", function(e, f, h) {
				    b.settings[f] = h
			    }).bind("getData.datepicker", function(e, f) {
				    return this._get(b, f)
			    });
			    d.data(a, "datepicker", b);
			    this._setDate(b, this._getDefaultDate(b), true);
			    this._updateDatepicker(b);
			    this._updateAlternate(b);
			    b.dpDiv.show()
		    }
	    },
	    _dialogDatepicker : function(a, b, c, e, f) {
		    a = this._dialogInst;
		    if (!a) {
			    this.uuid += 1;
			    this._dialogInput = d('<input type="text" id="' + ("dp" + this.uuid) + '" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>');
			    this._dialogInput.keydown(this._doKeyDown);
			    d("body").append(this._dialogInput);
			    a = this._dialogInst = this._newInst(this._dialogInput, false);
			    a.settings = {};
			    d.data(this._dialogInput[0], "datepicker", a)
		    }
		    F(a.settings, e || {});
		    b = b && b.constructor == Date ? this._formatDate(a, b) : b;
		    this._dialogInput.val(b);
		    this._pos = f ? f.length ? f : [ f.pageX, f.pageY ] : null;
		    if (!this._pos)
			    this._pos = [ document.documentElement.clientWidth / 2 - 100 + (document.documentElement.scrollLeft || document.body.scrollLeft), document.documentElement.clientHeight / 2 - 150 + (document.documentElement.scrollTop || document.body.scrollTop) ];
		    this._dialogInput.css("left", this._pos[0] + 20 + "px").css("top", this._pos[1] + "px");
		    a.settings.onSelect = c;
		    this._inDialog = true;
		    this.dpDiv.addClass(this._dialogClass);
		    this._showDatepicker(this._dialogInput[0]);
		    d.blockUI && d.blockUI(this.dpDiv);
		    d.data(this._dialogInput[0], "datepicker", a);
		    return this
	    },
	    _destroyDatepicker : function(a) {
		    var b = d(a), c = d.data(a, "datepicker");
		    if (b.hasClass(this.markerClassName)) {
			    var e = a.nodeName.toLowerCase();
			    d.removeData(a, "datepicker");
			    if (e == "input") {
				    c.append.remove();
				    c.trigger.remove();
				    b.removeClass(this.markerClassName).unbind("focus", this._showDatepicker).unbind("keydown", this._doKeyDown).unbind("keypress", this._doKeyPress).unbind("keyup", this._doKeyUp)
			    } else if (e == "div" || e == "span")
				    b.removeClass(this.markerClassName).empty()
		    }
	    },
	    _enableDatepicker : function(a) {
		    var b = d(a), c = d.data(a, "datepicker");
		    if (b.hasClass(this.markerClassName)) {
			    var e = a.nodeName.toLowerCase();
			    if (e == "input") {
				    a.disabled = false;
				    c.trigger.filter("button").each(function() {
					    this.disabled = false
				    }).end().filter("img").css({
				        opacity : "1.0",
				        cursor : ""
				    })
			    } else if (e == "div" || e == "span")
				    b.children("." + this._inlineClass).children().removeClass("ui-state-disabled");
			    this._disabledInputs = d.map(this._disabledInputs, function(f) {
				    return f == a ? null : f
			    })
		    }
	    },
	    _disableDatepicker : function(a) {
		    var b = d(a), c = d.data(a, "datepicker");
		    if (b.hasClass(this.markerClassName)) {
			    var e = a.nodeName.toLowerCase();
			    if (e == "input") {
				    a.disabled = true;
				    c.trigger.filter("button").each(function() {
					    this.disabled = true
				    }).end().filter("img").css({
				        opacity : "0.5",
				        cursor : "default"
				    })
			    } else if (e == "div" || e == "span")
				    b.children("." + this._inlineClass).children().addClass("ui-state-disabled");
			    this._disabledInputs = d.map(this._disabledInputs, function(f) {
				    return f == a ? null : f
			    });
			    this._disabledInputs[this._disabledInputs.length] = a
		    }
	    },
	    _isDisabledDatepicker : function(a) {
		    if (!a)
			    return false;
		    for ( var b = 0; b < this._disabledInputs.length; b++)
			    if (this._disabledInputs[b] == a)
				    return true;
		    return false
	    },
	    _getInst : function(a) {
		    try {
			    return d.data(a, "datepicker")
		    } catch (b) {
			    throw "Missing instance data for this datepicker";
		    }
	    },
	    _optionDatepicker : function(a, b, c) {
		    var e = this._getInst(a);
		    if (arguments.length == 2 && typeof b == "string")
			    return b == "defaults" ? d.extend({}, d.datepicker._defaults) : e ? b == "all" ? d.extend({}, e.settings) : this._get(e, b) : null;
		    var f = b || {};
		    if (typeof b == "string") {
			    f = {};
			    f[b] = c
		    }
		    if (e) {
			    this._curInst == e && this._hideDatepicker();
			    var h = this._getDateDatepicker(a, true), i = this._getMinMaxDate(e, "min"), g = this._getMinMaxDate(e, "max");
			    F(e.settings, f);
			    if (i !== null && f.dateFormat !== A && f.minDate === A)
				    e.settings.minDate = this._formatDate(e, i);
			    if (g !== null && f.dateFormat !== A && f.maxDate === A)
				    e.settings.maxDate = this._formatDate(e, g);
			    this._attachments(d(a), e);
			    this._autoSize(e);
			    this._setDateDatepicker(a, h);
			    this._updateDatepicker(e)
		    }
	    },
	    _changeDatepicker : function(a, b, c) {
		    this._optionDatepicker(a, b, c)
	    },
	    _refreshDatepicker : function(a) {
		    (a = this._getInst(a)) && this._updateDatepicker(a)
	    },
	    _setDateDatepicker : function(a, b) {
		    if (a = this._getInst(a)) {
			    this._setDate(a, b);
			    this._updateDatepicker(a);
			    this._updateAlternate(a)
		    }
	    },
	    _getDateDatepicker : function(a, b) {
		    (a = this._getInst(a)) && !a.inline && this._setDateFromField(a, b);
		    return a ? this._getDate(a) : null
	    },
	    _doKeyDown : function(a) {
		    var b = d.datepicker._getInst(a.target), c = true, e = b.dpDiv.is(".ui-datepicker-rtl");
		    b._keyEvent = true;
		    if (d.datepicker._datepickerShowing)
			    switch (a.keyCode) {
				    case 9:
					    d.datepicker._hideDatepicker();
					    c = false;
					    break;
				    case 13:
					    c = d("td." + d.datepicker._dayOverClass + ":not(." + d.datepicker._currentClass + ")", b.dpDiv);
					    c[0] ? d.datepicker._selectDay(a.target, b.selectedMonth, b.selectedYear, c[0]) : d.datepicker._hideDatepicker();
					    return false;
				    case 27:
					    d.datepicker._hideDatepicker();
					    break;
				    case 33:
					    d.datepicker._adjustDate(a.target, a.ctrlKey ? -d.datepicker._get(b, "stepBigMonths") : -d.datepicker._get(b, "stepMonths"), "M");
					    break;
				    case 34:
					    d.datepicker._adjustDate(a.target, a.ctrlKey ? +d.datepicker._get(b, "stepBigMonths") : +d.datepicker._get(b, "stepMonths"), "M");
					    break;
				    case 35:
					    if (a.ctrlKey || a.metaKey)
						    d.datepicker._clearDate(a.target);
					    c = a.ctrlKey || a.metaKey;
					    break;
				    case 36:
					    if (a.ctrlKey || a.metaKey)
						    d.datepicker._gotoToday(a.target);
					    c = a.ctrlKey || a.metaKey;
					    break;
				    case 37:
					    if (a.ctrlKey || a.metaKey)
						    d.datepicker._adjustDate(a.target, e ? +1 : -1, "D");
					    c = a.ctrlKey || a.metaKey;
					    if (a.originalEvent.altKey)
						    d.datepicker._adjustDate(a.target, a.ctrlKey ? -d.datepicker._get(b, "stepBigMonths") : -d.datepicker._get(b, "stepMonths"), "M");
					    break;
				    case 38:
					    if (a.ctrlKey || a.metaKey)
						    d.datepicker._adjustDate(a.target, -7, "D");
					    c = a.ctrlKey || a.metaKey;
					    break;
				    case 39:
					    if (a.ctrlKey || a.metaKey)
						    d.datepicker._adjustDate(a.target, e ? -1 : +1, "D");
					    c = a.ctrlKey || a.metaKey;
					    if (a.originalEvent.altKey)
						    d.datepicker._adjustDate(a.target, a.ctrlKey ? +d.datepicker._get(b, "stepBigMonths") : +d.datepicker._get(b, "stepMonths"), "M");
					    break;
				    case 40:
					    if (a.ctrlKey || a.metaKey)
						    d.datepicker._adjustDate(a.target, +7, "D");
					    c = a.ctrlKey || a.metaKey;
					    break;
				    default:
					    c = false
			    }
		    else if (a.keyCode == 36 && a.ctrlKey)
			    d.datepicker._showDatepicker(this);
		    else
			    c = false;
		    if (c) {
			    a.preventDefault();
			    a.stopPropagation()
		    }
	    },
	    _doKeyPress : function(a) {
		    var b = d.datepicker._getInst(a.target);
		    if (d.datepicker._get(b, "constrainInput")) {
			    b = d.datepicker._possibleChars(d.datepicker._get(b, "dateFormat"));
			    var c = String.fromCharCode(a.charCode == A ? a.keyCode : a.charCode);
			    return a.ctrlKey || a.metaKey || c < " " || !b || b.indexOf(c) > -1
		    }
	    },
	    _doKeyUp : function(a) {
		    a = d.datepicker._getInst(a.target);
		    if (a.input.val() != a.lastVal)
			    try {
				    if (d.datepicker.parseDate(d.datepicker._get(a, "dateFormat"), a.input ? a.input.val() : null, d.datepicker._getFormatConfig(a))) {
					    d.datepicker._setDateFromField(a);
					    d.datepicker._updateAlternate(a);
					    d.datepicker._updateDatepicker(a)
				    }
			    } catch (b) {
				    d.datepicker.log(b)
			    }
		    return true
	    },
	    _showDatepicker : function(a) {
		    a = a.target || a;
		    if (a.nodeName.toLowerCase() != "input")
			    a = d("input", a.parentNode)[0];
		    if (!(d.datepicker._isDisabledDatepicker(a) || d.datepicker._lastInput == a)) {
			    var b = d.datepicker._getInst(a);
			    d.datepicker._curInst && d.datepicker._curInst != b && d.datepicker._curInst.dpDiv.stop(true, true);
			    var c = d.datepicker._get(b, "beforeShow");
			    F(b.settings, c ? c.apply(a, [ a, b ]) : {});
			    b.lastVal = null;
			    d.datepicker._lastInput = a;
			    d.datepicker._setDateFromField(b);
			    if (d.datepicker._inDialog)
				    a.value = "";
			    if (!d.datepicker._pos) {
				    d.datepicker._pos = d.datepicker._findPos(a);
				    d.datepicker._pos[1] += a.offsetHeight
			    }
			    var e = false;
			    d(a).parents().each(function() {
				    e |= d(this).css("position") == "fixed";
				    return !e
			    });
			    if (e && d.browser.opera) {
				    d.datepicker._pos[0] -= document.documentElement.scrollLeft;
				    d.datepicker._pos[1] -= document.documentElement.scrollTop
			    }
			    c = {
			        left : d.datepicker._pos[0],
			        top : d.datepicker._pos[1]
			    };
			    d.datepicker._pos = null;
			    b.dpDiv.empty();
			    b.dpDiv.css({
			        position : "absolute",
			        display : "block",
			        top : "-1000px"
			    });
			    d.datepicker._updateDatepicker(b);
			    c = d.datepicker._checkOffset(b, c, e);
			    b.dpDiv.css({
			        position : d.datepicker._inDialog && d.blockUI ? "static" : e ? "fixed" : "absolute",
			        display : "none",
			        left : c.left + "px",
			        top : c.top + "px"
			    });
			    if (!b.inline) {
				    c = d.datepicker._get(b, "showAnim");
				    var f = d.datepicker._get(b, "duration"), h = function() {
					    d.datepicker._datepickerShowing = true;
					    var i = b.dpDiv.find("iframe.ui-datepicker-cover");
					    if (i.length) {
						    var g = d.datepicker._getBorders(b.dpDiv);
						    i.css({
						        left : -g[0],
						        top : -g[1],
						        width : b.dpDiv.outerWidth(),
						        height : b.dpDiv.outerHeight()
						    })
					    }
				    };
				    b.dpDiv.zIndex(d(a).zIndex() + 1);
				    d.effects && d.effects[c] ? b.dpDiv.show(c, d.datepicker._get(b, "showOptions"), f, h) : b.dpDiv[c || "show"](c ? f : null, h);
				    if (!c || !f)
					    h();
				    b.input.is(":visible") && !b.input.is(":disabled") && b.input.focus();
				    d.datepicker._curInst = b
			    }
		    }
	    },
	    _updateDatepicker : function(a) {
		    var b = this, c = d.datepicker._getBorders(a.dpDiv);
		    a.dpDiv.empty().append(this._generateHTML(a));
		    var e = a.dpDiv.find("iframe.ui-datepicker-cover");
		    e.length && e.css({
		        left : -c[0],
		        top : -c[1],
		        width : a.dpDiv.outerWidth(),
		        height : a.dpDiv.outerHeight()
		    });
		    a.dpDiv.find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout", function() {
			    d(this).removeClass("ui-state-hover");
			    this.className.indexOf("ui-datepicker-prev") != -1 && d(this).removeClass("ui-datepicker-prev-hover");
			    this.className.indexOf("ui-datepicker-next") != -1 && d(this).removeClass("ui-datepicker-next-hover")
		    }).bind("mouseover", function() {
			    if (!b._isDisabledDatepicker(a.inline ? a.dpDiv.parent()[0] : a.input[0])) {
				    d(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");
				    d(this).addClass("ui-state-hover");
				    this.className.indexOf("ui-datepicker-prev") != -1 && d(this).addClass("ui-datepicker-prev-hover");
				    this.className.indexOf("ui-datepicker-next") != -1 && d(this).addClass("ui-datepicker-next-hover")
			    }
		    }).end().find("." + this._dayOverClass + " a").trigger("mouseover").end();
		    c = this._getNumberOfMonths(a);
		    e = c[1];
		    e > 1 ? a.dpDiv.addClass("ui-datepicker-multi-" + e).css("width", 17 * e + "em") : a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");
		    a.dpDiv[(c[0] != 1 || c[1] != 1 ? "add" : "remove") + "Class"]("ui-datepicker-multi");
		    a.dpDiv[(this._get(a, "isRTL") ? "add" : "remove") + "Class"]("ui-datepicker-rtl");
		    a == d.datepicker._curInst && d.datepicker._datepickerShowing && a.input && a.input.is(":visible") && !a.input.is(":disabled") && a.input[0] != document.activeElement && a.input.focus();
		    if (a.yearshtml) {
			    var f = a.yearshtml;
			    setTimeout(function() {
				    f === a.yearshtml && a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);
				    f = a.yearshtml = null
			    }, 0)
		    }
	    },
	    _getBorders : function(a) {
		    var b = function(c) {
			    return {
			        thin : 1,
			        medium : 2,
			        thick : 3
			    }[c] || c
		    };
		    return [ parseFloat(b(a.css("border-left-width"))), parseFloat(b(a.css("border-top-width"))) ]
	    },
	    _checkOffset : function(a, b, c) {
		    var e = a.dpDiv.outerWidth(), f = a.dpDiv.outerHeight(), h = a.input ? a.input.outerWidth() : 0, i = a.input ? a.input.outerHeight() : 0, g = document.documentElement.clientWidth + d(document).scrollLeft(), j = document.documentElement.clientHeight + d(document).scrollTop();
		    b.left -= this._get(a, "isRTL") ? e - h : 0;
		    b.left -= c && b.left == a.input.offset().left ? d(document).scrollLeft() : 0;
		    b.top -= c && b.top == a.input.offset().top + i ? d(document).scrollTop() : 0;
		    b.left -= Math.min(b.left, b.left + e > g && g > e ? Math.abs(b.left + e - g) : 0);
		    b.top -= Math.min(b.top, b.top + f > j && j > f ? Math.abs(f + i) : 0);
		    return b
	    },
	    _findPos : function(a) {
		    for ( var b = this._get(this._getInst(a), "isRTL"); a && (a.type == "hidden" || a.nodeType != 1 || d.expr.filters.hidden(a));)
			    a = a[b ? "previousSibling" : "nextSibling"];
		    a = d(a).offset();
		    return [ a.left, a.top ]
	    },
	    _hideDatepicker : function(a) {
		    var b = this._curInst;
		    if (!(!b || a && b != d.data(a, "datepicker")))
			    if (this._datepickerShowing) {
				    a = this._get(b, "showAnim");
				    var c = this._get(b, "duration"), e = function() {
					    d.datepicker._tidyDialog(b);
					    this._curInst = null
				    };
				    d.effects && d.effects[a] ? b.dpDiv.hide(a, d.datepicker._get(b, "showOptions"), c, e) : b.dpDiv[a == "slideDown" ? "slideUp" : a == "fadeIn" ? "fadeOut" : "hide"](a ? c : null, e);
				    a || e();
				    if (a = this._get(b, "onClose"))
					    a.apply(b.input ? b.input[0] : null, [ b.input ? b.input.val() : "", b ]);
				    this._datepickerShowing = false;
				    this._lastInput = null;
				    if (this._inDialog) {
					    this._dialogInput.css({
					        position : "absolute",
					        left : "0",
					        top : "-100px"
					    });
					    if (d.blockUI) {
						    d.unblockUI();
						    d("body").append(this.dpDiv)
					    }
				    }
				    this._inDialog = false
			    }
	    },
	    _tidyDialog : function(a) {
		    a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")
	    },
	    _checkExternalClick : function(a) {
		    if (d.datepicker._curInst) {
			    a = d(a.target);
			    a[0].id != d.datepicker._mainDivId && a.parents("#" + d.datepicker._mainDivId).length == 0 && !a.hasClass(d.datepicker.markerClassName) && !a.hasClass(d.datepicker._triggerClass) && d.datepicker._datepickerShowing && !(d.datepicker._inDialog && d.blockUI) && d.datepicker._hideDatepicker()
		    }
	    },
	    _adjustDate : function(a, b, c) {
		    a = d(a);
		    var e = this._getInst(a[0]);
		    if (!this._isDisabledDatepicker(a[0])) {
			    this._adjustInstDate(e, b + (c == "M" ? this._get(e, "showCurrentAtPos") : 0), c);
			    this._updateDatepicker(e)
		    }
	    },
	    _gotoToday : function(a) {
		    a = d(a);
		    var b = this._getInst(a[0]);
		    if (this._get(b, "gotoCurrent") && b.currentDay) {
			    b.selectedDay = b.currentDay;
			    b.drawMonth = b.selectedMonth = b.currentMonth;
			    b.drawYear = b.selectedYear = b.currentYear
		    } else {
			    var c = new Date;
			    b.selectedDay = c.getDate();
			    b.drawMonth = b.selectedMonth = c.getMonth();
			    b.drawYear = b.selectedYear = c.getFullYear()
		    }
		    this._notifyChange(b);
		    this._adjustDate(a)
	    },
	    _selectMonthYear : function(a, b, c) {
		    a = d(a);
		    var e = this._getInst(a[0]);
		    e._selectingMonthYear = false;
		    e["selected" + (c == "M" ? "Month" : "Year")] = e["draw" + (c == "M" ? "Month" : "Year")] = parseInt(b.options[b.selectedIndex].value, 10);
		    this._notifyChange(e);
		    this._adjustDate(a)
	    },
	    _clickMonthYear : function(a) {
		    var b = this._getInst(d(a)[0]);
		    b.input && b._selectingMonthYear && setTimeout(function() {
			    b.input.focus()
		    }, 0);
		    b._selectingMonthYear = !b._selectingMonthYear
	    },
	    _selectDay : function(a, b, c, e) {
		    var f = d(a);
		    if (!(d(e).hasClass(this._unselectableClass) || this._isDisabledDatepicker(f[0]))) {
			    f = this._getInst(f[0]);
			    f.selectedDay = f.currentDay = d("a", e).html();
			    f.selectedMonth = f.currentMonth = b;
			    f.selectedYear = f.currentYear = c;
			    this._selectDate(a, this._formatDate(f, f.currentDay, f.currentMonth, f.currentYear))
		    }
	    },
	    _clearDate : function(a) {
		    a = d(a);
		    this._getInst(a[0]);
		    this._selectDate(a, "")
	    },
	    _selectDate : function(a, b) {
		    a = this._getInst(d(a)[0]);
		    b = b != null ? b : this._formatDate(a);
		    a.input && a.input.val(b);
		    this._updateAlternate(a);
		    var c = this._get(a, "onSelect");
		    if (c)
			    c.apply(a.input ? a.input[0] : null, [ b, a ]);
		    else
			    a.input && a.input.trigger("change");
		    if (a.inline)
			    this._updateDatepicker(a);
		    else {
			    this._hideDatepicker();
			    this._lastInput = a.input[0];
			    typeof a.input[0] != "object" && a.input.focus();
			    this._lastInput = null
		    }
	    },
	    _updateAlternate : function(a) {
		    var b = this._get(a, "altField");
		    if (b) {
			    var c = this._get(a, "altFormat") || this._get(a, "dateFormat"), e = this._getDate(a), f = this.formatDate(c, e, this._getFormatConfig(a));
			    d(b).each(function() {
				    d(this).val(f)
			    })
		    }
	    },
	    noWeekends : function(a) {
		    a = a.getDay();
		    return [ a > 0 && a < 6, "" ]
	    },
	    iso8601Week : function(a) {
		    a = new Date(a.getTime());
		    a.setDate(a.getDate() + 4 - (a.getDay() || 7));
		    var b = a.getTime();
		    a.setMonth(0);
		    a.setDate(1);
		    return Math.floor(Math.round((b - a) / 864E5) / 7) + 1
	    },
	    parseDate : function(a, b, c) {
		    if (a == null || b == null)
			    throw "Invalid arguments";
		    b = typeof b == "object" ? b.toString() : b + "";
		    if (b == "")
			    return null;
		    var e = (c ? c.shortYearCutoff : null) || this._defaults.shortYearCutoff;
		    e = typeof e != "string" ? e : (new Date).getFullYear() % 100 + parseInt(e, 10);
		    for ( var f = (c ? c.dayNamesShort : null) || this._defaults.dayNamesShort, h = (c ? c.dayNames : null) || this._defaults.dayNames, i = (c ? c.monthNamesShort : null) || this._defaults.monthNamesShort, g = (c ? c.monthNames : null) || this._defaults.monthNames, j = c = -1, l = -1, u = -1, k = false, o = function(p) {
			    (p = z + 1 < a.length && a.charAt(z + 1) == p) && z++;
			    return p
		    }, m = function(p) {
			    var v = o(p);
			    p = new RegExp("^\\d{1," + (p == "@" ? 14 : p == "!" ? 20 : p == "y" && v ? 4 : p == "o" ? 3 : 2) + "}");
			    p = b.substring(s).match(p);
			    if (!p)
				    throw "Missing number at position " + s;
			    s += p[0].length;
			    return parseInt(p[0], 10)
		    }, n = function(p, v, H) {
			    p = o(p) ? H : v;
			    for (v = 0; v < p.length; v++)
				    if (b.substr(s, p[v].length).toLowerCase() == p[v].toLowerCase()) {
					    s += p[v].length;
					    return v + 1
				    }
			    throw "Unknown name at position " + s;
		    }, r = function() {
			    if (b.charAt(s) != a.charAt(z))
				    throw "Unexpected literal at position " + s;
			    s++
		    }, s = 0, z = 0; z < a.length; z++)
			    if (k)
				    if (a.charAt(z) == "'" && !o("'"))
					    k = false;
				    else
					    r();
			    else
				    switch (a.charAt(z)) {
					    case "d":
						    l = m("d");
						    break;
					    case "D":
						    n("D", f, h);
						    break;
					    case "o":
						    u = m("o");
						    break;
					    case "m":
						    j = m("m");
						    break;
					    case "M":
						    j = n("M", i, g);
						    break;
					    case "y":
						    c = m("y");
						    break;
					    case "@":
						    var w = new Date(m("@"));
						    c = w.getFullYear();
						    j = w.getMonth() + 1;
						    l = w.getDate();
						    break;
					    case "!":
						    w = new Date((m("!") - this._ticksTo1970) / 1E4);
						    c = w.getFullYear();
						    j = w.getMonth() + 1;
						    l = w.getDate();
						    break;
					    case "'":
						    if (o("'"))
							    r();
						    else
							    k = true;
						    break;
					    default:
						    r()
				    }
		    if (c == -1)
			    c = (new Date).getFullYear();
		    else if (c < 100)
			    c += (new Date).getFullYear() - (new Date).getFullYear() % 100 + (c <= e ? 0 : -100);
		    if (u > -1) {
			    j = 1;
			    l = u;
			    do {
				    e = this._getDaysInMonth(c, j - 1);
				    if (l <= e)
					    break;
				    j++;
				    l -= e
			    }
			    while (1)
		    }
		    w = this._daylightSavingAdjust(new Date(c, j - 1, l));
		    if (w.getFullYear() != c || w.getMonth() + 1 != j || w.getDate() != l)
			    throw "Invalid date";
		    return w
	    },
	    ATOM : "yy-mm-dd",
	    COOKIE : "D, dd M yy",
	    ISO_8601 : "yy-mm-dd",
	    RFC_822 : "D, d M y",
	    RFC_850 : "DD, dd-M-y",
	    RFC_1036 : "D, d M y",
	    RFC_1123 : "D, d M yy",
	    RFC_2822 : "D, d M yy",
	    RSS : "D, d M y",
	    TICKS : "!",
	    TIMESTAMP : "@",
	    W3C : "yy-mm-dd",
	    _ticksTo1970 : (718685 + Math.floor(492.5) - Math.floor(19.7) + Math.floor(4.925)) * 24 * 60 * 60 * 1E7,
	    formatDate : function(a, b, c) {
		    if (!b)
			    return "";
		    var e = (c ? c.dayNamesShort : null) || this._defaults.dayNamesShort, f = (c ? c.dayNames : null) || this._defaults.dayNames, h = (c ? c.monthNamesShort : null) || this._defaults.monthNamesShort;
		    c = (c ? c.monthNames : null) || this._defaults.monthNames;
		    var i = function(o) {
			    (o = k + 1 < a.length && a.charAt(k + 1) == o) && k++;
			    return o
		    }, g = function(o, m, n) {
			    m = "" + m;
			    if (i(o))
				    for (; m.length < n;)
					    m = "0" + m;
			    return m
		    }, j = function(o, m, n, r) {
			    return i(o) ? r[m] : n[m]
		    }, l = "", u = false;
		    if (b)
			    for ( var k = 0; k < a.length; k++)
				    if (u)
					    if (a.charAt(k) == "'" && !i("'"))
						    u = false;
					    else
						    l += a.charAt(k);
				    else
					    switch (a.charAt(k)) {
						    case "d":
							    l += g("d", b.getDate(), 2);
							    break;
						    case "D":
							    l += j("D", b.getDay(), e, f);
							    break;
						    case "o":
							    l += g("o", (b.getTime() - (new Date(b.getFullYear(), 0, 0)).getTime()) / 864E5, 3);
							    break;
						    case "m":
							    l += g("m", b.getMonth() + 1, 2);
							    break;
						    case "M":
							    l += j("M", b.getMonth(), h, c);
							    break;
						    case "y":
							    l += i("y") ? b.getFullYear() : (b.getYear() % 100 < 10 ? "0" : "") + b.getYear() % 100;
							    break;
						    case "@":
							    l += b.getTime();
							    break;
						    case "!":
							    l += b.getTime() * 1E4 + this._ticksTo1970;
							    break;
						    case "'":
							    if (i("'"))
								    l += "'";
							    else
								    u = true;
							    break;
						    default:
							    l += a.charAt(k)
					    }
		    return l
	    },
	    _possibleChars : function(a) {
		    for ( var b = "", c = false, e = function(h) {
			    (h = f + 1 < a.length && a.charAt(f + 1) == h) && f++;
			    return h
		    }, f = 0; f < a.length; f++)
			    if (c)
				    if (a.charAt(f) == "'" && !e("'"))
					    c = false;
				    else
					    b += a.charAt(f);
			    else
				    switch (a.charAt(f)) {
					    case "d":
					    case "m":
					    case "y":
					    case "@":
						    b += "0123456789";
						    break;
					    case "D":
					    case "M":
						    return null;
					    case "'":
						    if (e("'"))
							    b += "'";
						    else
							    c = true;
						    break;
					    default:
						    b += a.charAt(f)
				    }
		    return b
	    },
	    _get : function(a, b) {
		    return a.settings[b] !== A ? a.settings[b] : this._defaults[b]
	    },
	    _setDateFromField : function(a, b) {
		    if (a.input.val() != a.lastVal) {
			    var c = this._get(a, "dateFormat"), e = a.lastVal = a.input ? a.input.val() : null, f, h;
			    f = h = this._getDefaultDate(a);
			    var i = this._getFormatConfig(a);
			    try {
				    f = this.parseDate(c, e, i) || h
			    } catch (g) {
				    this.log(g);
				    e = b ? "" : e
			    }
			    a.selectedDay = f.getDate();
			    a.drawMonth = a.selectedMonth = f.getMonth();
			    a.drawYear = a.selectedYear = f.getFullYear();
			    a.currentDay = e ? f.getDate() : 0;
			    a.currentMonth = e ? f.getMonth() : 0;
			    a.currentYear = e ? f.getFullYear() : 0;
			    this._adjustInstDate(a)
		    }
	    },
	    _getDefaultDate : function(a) {
		    return this._restrictMinMax(a, this._determineDate(a, this._get(a, "defaultDate"), new Date))
	    },
	    _determineDate : function(a, b, c) {
		    var e = function(h) {
			    var i = new Date;
			    i.setDate(i.getDate() + h);
			    return i
		    }, f = function(h) {
			    try {
				    return d.datepicker.parseDate(d.datepicker._get(a, "dateFormat"), h, d.datepicker._getFormatConfig(a))
			    } catch (i) {
			    }
			    var g = (h.toLowerCase().match(/^c/) ? d.datepicker._getDate(a) : null) || new Date, j = g.getFullYear(), l = g.getMonth();
			    g = g.getDate();
			    for ( var u = /([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g, k = u.exec(h); k;) {
				    switch (k[2] || "d") {
					    case "d":
					    case "D":
						    g += parseInt(k[1], 10);
						    break;
					    case "w":
					    case "W":
						    g += parseInt(k[1], 10) * 7;
						    break;
					    case "m":
					    case "M":
						    l += parseInt(k[1], 10);
						    g = Math.min(g, d.datepicker._getDaysInMonth(j, l));
						    break;
					    case "y":
					    case "Y":
						    j += parseInt(k[1], 10);
						    g = Math.min(g, d.datepicker._getDaysInMonth(j, l));
						    break
				    }
				    k = u.exec(h)
			    }
			    return new Date(j, l, g)
		    };
		    if (b = (b = b == null || b === "" ? c : typeof b == "string" ? f(b) : typeof b == "number" ? isNaN(b) ? c : e(b) : new Date(b.getTime())) && b.toString() == "Invalid Date" ? c : b) {
			    b.setHours(0);
			    b.setMinutes(0);
			    b.setSeconds(0);
			    b.setMilliseconds(0)
		    }
		    return this._daylightSavingAdjust(b)
	    },
	    _daylightSavingAdjust : function(a) {
		    if (!a)
			    return null;
		    a.setHours(a.getHours() > 12 ? a.getHours() + 2 : 0);
		    return a
	    },
	    _setDate : function(a, b, c) {
		    var e = !b, f = a.selectedMonth, h = a.selectedYear;
		    b = this._restrictMinMax(a, this._determineDate(a, b, new Date));
		    a.selectedDay = a.currentDay = b.getDate();
		    a.drawMonth = a.selectedMonth = a.currentMonth = b.getMonth();
		    a.drawYear = a.selectedYear = a.currentYear = b.getFullYear();
		    if ((f != a.selectedMonth || h != a.selectedYear) && !c)
			    this._notifyChange(a);
		    this._adjustInstDate(a);
		    if (a.input)
			    a.input.val(e ? "" : this._formatDate(a))
	    },
	    _getDate : function(a) {
		    return !a.currentYear || a.input && a.input.val() == "" ? null : this._daylightSavingAdjust(new Date(a.currentYear, a.currentMonth, a.currentDay))
	    },
	    _generateHTML : function(a) {
		    var b = new Date;
		    b = this._daylightSavingAdjust(new Date(b.getFullYear(), b.getMonth(), b.getDate()));
		    var c = this._get(a, "isRTL"), e = this._get(a, "showButtonPanel"), f = this._get(a, "hideIfNoPrevNext"), h = this._get(a, "navigationAsDateFormat"), i = this._getNumberOfMonths(a), g = this._get(a, "showCurrentAtPos"), j = this._get(a, "stepMonths"), l = i[0] != 1 || i[1] != 1, u = this._daylightSavingAdjust(!a.currentDay ? new Date(9999, 9, 9) : new Date(a.currentYear, a.currentMonth, a.currentDay)), k = this._getMinMaxDate(a, "min"), o = this._getMinMaxDate(a, "max");
		    g = a.drawMonth - g;
		    var m = a.drawYear;
		    if (g < 0) {
			    g += 12;
			    m--
		    }
		    if (o) {
			    var n = this._daylightSavingAdjust(new Date(o.getFullYear(), o.getMonth() - i[0] * i[1] + 1, o.getDate()));
			    for (n = k && n < k ? k : n; this._daylightSavingAdjust(new Date(m, g, 1)) > n;) {
				    g--;
				    if (g < 0) {
					    g = 11;
					    m--
				    }
			    }
		    }
		    a.drawMonth = g;
		    a.drawYear = m;
		    n = this._get(a, "prevText");
		    n = !h ? n : this.formatDate(n, this._daylightSavingAdjust(new Date(m, g - j, 1)), this._getFormatConfig(a));
		    n = this._canAdjustMonth(a, -1, m, g) ? '<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_' + y + ".datepicker._adjustDate('#" + a.id + "', -" + j + ", 'M');\" title=\"" + n + '"><span class="ui-icon ui-icon-circle-triangle-' + (c ? "e" : "w") + '">' + n + "</span></a>" : f ? "" : '<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="' + n + '"><span class="ui-icon ui-icon-circle-triangle-' + (c ? "e" : "w") + '">' + n + "</span></a>";
		    var r = this._get(a, "nextText");
		    r = !h ? r : this.formatDate(r, this._daylightSavingAdjust(new Date(m, g + j, 1)), this._getFormatConfig(a));
		    f = this._canAdjustMonth(a, +1, m, g) ? '<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_' + y + ".datepicker._adjustDate('#" + a.id + "', +" + j + ", 'M');\" title=\"" + r + '"><span class="ui-icon ui-icon-circle-triangle-' + (c ? "w" : "e") + '">' + r + "</span></a>" : f ? "" : '<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="' + r + '"><span class="ui-icon ui-icon-circle-triangle-' + (c ? "w" : "e") + '">' + r + "</span></a>";
		    j = this._get(a, "currentText");
		    r = this._get(a, "gotoCurrent") && a.currentDay ? u : b;
		    j = !h ? j : this.formatDate(j, r, this._getFormatConfig(a));
		    h = !a.inline ? '<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_' + y + '.datepicker._hideDatepicker();">' + this._get(a, "closeText") + "</button>" : "";
		    e = e ? '<div class="ui-datepicker-buttonpane ui-widget-content">' + (c ? h : "") + (this._isInRange(a, r) ? '<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_' + y + ".datepicker._gotoToday('#" + a.id + "');\">" + j + "</button>" : "") + (c ? "" : h) + "</div>" : "";
		    h = parseInt(this._get(a, "firstDay"), 10);
		    h = isNaN(h) ? 0 : h;
		    j = this._get(a, "showWeek");
		    r = this._get(a, "dayNames");
		    this._get(a, "dayNamesShort");
		    var s = this._get(a, "dayNamesMin"), z = this._get(a, "monthNames"), w = this._get(a, "monthNamesShort"), p = this._get(a, "beforeShowDay"), v = this._get(a, "showOtherMonths"), H = this._get(a, "selectOtherMonths");
		    this._get(a, "calculateWeek");
		    for ( var L = this._getDefaultDate(a), I = "", D = 0; D < i[0]; D++) {
			    for ( var M = "", E = 0; E < i[1]; E++) {
				    var N = this._daylightSavingAdjust(new Date(m, g, a.selectedDay)), t = " ui-corner-all", x = "";
				    if (l) {
					    x += '<div class="ui-datepicker-group';
					    if (i[1] > 1)
						    switch (E) {
							    case 0:
								    x += " ui-datepicker-group-first";
								    t = " ui-corner-" + (c ? "right" : "left");
								    break;
							    case i[1] - 1:
								    x += " ui-datepicker-group-last";
								    t = " ui-corner-" + (c ? "left" : "right");
								    break;
							    default:
								    x += " ui-datepicker-group-middle";
								    t = "";
								    break
						    }
					    x += '">'
				    }
				    x += '<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix' + t + '">' + (/all|left/.test(t) && D == 0 ? c ? f : n : "") + (/all|right/.test(t) && D == 0 ? c ? n : f : "") + this._generateMonthYearHeader(a, g, m, k, o, D > 0 || E > 0, z, w) + '</div><table class="ui-datepicker-calendar"><thead><tr>';
				    var B = j ? '<th class="ui-datepicker-week-col">' + this._get(a, "weekHeader") + "</th>" : "";
				    for (t = 0; t < 7; t++) {
					    var q = (t + h) % 7;
					    B += "<th" + ((t + h + 6) % 7 >= 5 ? ' class="ui-datepicker-week-end"' : "") + '><span title="' + r[q] + '">' + s[q] + "</span></th>"
				    }
				    x += B + "</tr></thead><tbody>";
				    B = this._getDaysInMonth(m, g);
				    if (m == a.selectedYear && g == a.selectedMonth)
					    a.selectedDay = Math.min(a.selectedDay, B);
				    t = (this._getFirstDayOfMonth(m, g) - h + 7) % 7;
				    B = l ? 6 : Math.ceil((t + B) / 7);
				    q = this._daylightSavingAdjust(new Date(m, g, 1 - t));
				    for ( var O = 0; O < B; O++) {
					    x += "<tr>";
					    var P = !j ? "" : '<td class="ui-datepicker-week-col">' + this._get(a, "calculateWeek")(q) + "</td>";
					    for (t = 0; t < 7; t++) {
						    var G = p ? p.apply(a.input ? a.input[0] : null, [ q ]) : [ true, "" ], C = q.getMonth() != g, J = C && !H || !G[0] || k && q < k || o && q > o;
						    P += '<td class="' + ((t + h + 6) % 7 >= 5 ? " ui-datepicker-week-end" : "") + (C ? " ui-datepicker-other-month" : "") + (q.getTime() == N.getTime() && g == a.selectedMonth && a._keyEvent || L.getTime() == q.getTime() && L.getTime() == N.getTime() ? " " + this._dayOverClass : "") + (J ? " " + this._unselectableClass + " ui-state-disabled" : "") + (C && !v ? "" : " " + G[1] + (q.getTime() == u.getTime() ? " " + this._currentClass : "") + (q.getTime() == b.getTime() ? " ui-datepicker-today" : "")) + '"' + ((!C || v) && G[2] ? ' title="' + G[2] + '"' : "") + (J ? "" : ' onclick="DP_jQuery_' + y + ".datepicker._selectDay('#" + a.id + "'," + q.getMonth() + "," + q.getFullYear() + ', this);return false;"') + ">"
						            + (C && !v ? "&#xa0;" : J ? '<span class="ui-state-default">' + q.getDate() + "</span>" : '<a class="ui-state-default' + (q.getTime() == b.getTime() ? " ui-state-highlight" : "") + (q.getTime() == u.getTime() ? " ui-state-active" : "") + (C ? " ui-priority-secondary" : "") + '" href="#">' + q.getDate() + "</a>") + "</td>";
						    q.setDate(q.getDate() + 1);
						    q = this._daylightSavingAdjust(q)
					    }
					    x += P + "</tr>"
				    }
				    g++;
				    if (g > 11) {
					    g = 0;
					    m++
				    }
				    x += "</tbody></table>" + (l ? "</div>" + (i[0] > 0 && E == i[1] - 1 ? '<div class="ui-datepicker-row-break"></div>' : "") : "");
				    M += x
			    }
			    I += M
		    }
		    I += e + (d.browser.msie && parseInt(d.browser.version, 10) < 7 && !a.inline ? '<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>' : "");
		    a._keyEvent = false;
		    return I
	    },
	    _generateMonthYearHeader : function(a, b, c, e, f, h, i, g) {
		    var j = this._get(a, "changeMonth"), l = this._get(a, "changeYear"), u = this._get(a, "showMonthAfterYear"), k = '<div class="ui-datepicker-title">', o = "";
		    if (h || !j)
			    o += '<span class="ui-datepicker-month">' + i[b] + "</span>";
		    else {
			    i = e && e.getFullYear() == c;
			    var m = f && f.getFullYear() == c;
			    o += '<select class="ui-datepicker-month" onchange="DP_jQuery_' + y + ".datepicker._selectMonthYear('#" + a.id + "', this, 'M');\" onclick=\"DP_jQuery_" + y + ".datepicker._clickMonthYear('#" + a.id + "');\">";
			    for ( var n = 0; n < 12; n++)
				    if ((!i || n >= e.getMonth()) && (!m || n <= f.getMonth()))
					    o += '<option value="' + n + '"' + (n == b ? ' selected="selected"' : "") + ">" + g[n] + "</option>";
			    o += "</select>"
		    }
		    u || (k += o + (h || !(j && l) ? "&#xa0;" : ""));
		    if (!a.yearshtml) {
			    a.yearshtml = "";
			    if (h || !l)
				    k += '<span class="ui-datepicker-year">' + c + "</span>";
			    else {
				    g = this._get(a, "yearRange").split(":");
				    var r = (new Date).getFullYear();
				    i = function(s) {
					    s = s.match(/c[+-].*/) ? c + parseInt(s.substring(1), 10) : s.match(/[+-].*/) ? r + parseInt(s, 10) : parseInt(s, 10);
					    return isNaN(s) ? r : s
				    };
				    b = i(g[0]);
				    g = Math.max(b, i(g[1] || ""));
				    b = e ? Math.max(b, e.getFullYear()) : b;
				    g = f ? Math.min(g, f.getFullYear()) : g;
				    for (a.yearshtml += '<select class="ui-datepicker-year" onchange="DP_jQuery_' + y + ".datepicker._selectMonthYear('#" + a.id + "', this, 'Y');\" onclick=\"DP_jQuery_" + y + ".datepicker._clickMonthYear('#" + a.id + "');\">"; b <= g; b++)
					    a.yearshtml += '<option value="' + b + '"' + (b == c ? ' selected="selected"' : "") + ">" + b + "</option>";
				    a.yearshtml += "</select>";
				    if (d.browser.mozilla)
					    k += '<select class="ui-datepicker-year"><option value="' + c + '" selected="selected">' + c + "</option></select>";
				    else {
					    k += a.yearshtml;
					    a.yearshtml = null
				    }
			    }
		    }
		    k += this._get(a, "yearSuffix");
		    if (u)
			    k += (h || !(j && l) ? "&#xa0;" : "") + o;
		    k += "</div>";
		    return k
	    },
	    _adjustInstDate : function(a, b, c) {
		    var e = a.drawYear + (c == "Y" ? b : 0), f = a.drawMonth + (c == "M" ? b : 0);
		    b = Math.min(a.selectedDay, this._getDaysInMonth(e, f)) + (c == "D" ? b : 0);
		    e = this._restrictMinMax(a, this._daylightSavingAdjust(new Date(e, f, b)));
		    a.selectedDay = e.getDate();
		    a.drawMonth = a.selectedMonth = e.getMonth();
		    a.drawYear = a.selectedYear = e.getFullYear();
		    if (c == "M" || c == "Y")
			    this._notifyChange(a)
	    },
	    _restrictMinMax : function(a, b) {
		    var c = this._getMinMaxDate(a, "min");
		    a = this._getMinMaxDate(a, "max");
		    b = c && b < c ? c : b;
		    return b = a && b > a ? a : b
	    },
	    _notifyChange : function(a) {
		    var b = this._get(a, "onChangeMonthYear");
		    if (b)
			    b.apply(a.input ? a.input[0] : null, [ a.selectedYear, a.selectedMonth + 1, a ])
	    },
	    _getNumberOfMonths : function(a) {
		    a = this._get(a, "numberOfMonths");
		    return a == null ? [ 1, 1 ] : typeof a == "number" ? [ 1, a ] : a
	    },
	    _getMinMaxDate : function(a, b) {
		    return this._determineDate(a, this._get(a, b + "Date"), null)
	    },
	    _getDaysInMonth : function(a, b) {
		    return 32 - this._daylightSavingAdjust(new Date(a, b, 32)).getDate()
	    },
	    _getFirstDayOfMonth : function(a, b) {
		    return (new Date(a, b, 1)).getDay()
	    },
	    _canAdjustMonth : function(a, b, c, e) {
		    var f = this._getNumberOfMonths(a);
		    c = this._daylightSavingAdjust(new Date(c, e + (b < 0 ? b : f[0] * f[1]), 1));
		    b < 0 && c.setDate(this._getDaysInMonth(c.getFullYear(), c.getMonth()));
		    return this._isInRange(a, c)
	    },
	    _isInRange : function(a, b) {
		    var c = this._getMinMaxDate(a, "min");
		    a = this._getMinMaxDate(a, "max");
		    return (!c || b.getTime() >= c.getTime()) && (!a || b.getTime() <= a.getTime())
	    },
	    _getFormatConfig : function(a) {
		    var b = this._get(a, "shortYearCutoff");
		    b = typeof b != "string" ? b : (new Date).getFullYear() % 100 + parseInt(b, 10);
		    return {
		        shortYearCutoff : b,
		        dayNamesShort : this._get(a, "dayNamesShort"),
		        dayNames : this._get(a, "dayNames"),
		        monthNamesShort : this._get(a, "monthNamesShort"),
		        monthNames : this._get(a, "monthNames")
		    }
	    },
	    _formatDate : function(a, b, c, e) {
		    if (!b) {
			    a.currentDay = a.selectedDay;
			    a.currentMonth = a.selectedMonth;
			    a.currentYear = a.selectedYear
		    }
		    b = b ? typeof b == "object" ? b : this._daylightSavingAdjust(new Date(e, c, b)) : this._daylightSavingAdjust(new Date(a.currentYear, a.currentMonth, a.currentDay));
		    return this.formatDate(this._get(a, "dateFormat"), b, this._getFormatConfig(a))
	    }
	});
	d.fn.datepicker = function(a) {
		if (!this.length)
			return this;
		if (!d.datepicker.initialized) {
			d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);
			d.datepicker.initialized = true
		}
		var b = Array.prototype.slice.call(arguments, 1);
		if (typeof a == "string" && (a == "isDisabled" || a == "getDate" || a == "widget"))
			return d.datepicker["_" + a + "Datepicker"].apply(d.datepicker, [ this[0] ].concat(b));
		if (a == "option" && arguments.length == 2 && typeof arguments[1] == "string")
			return d.datepicker["_" + a + "Datepicker"].apply(d.datepicker, [ this[0] ].concat(b));
		return this.each(function() {
			typeof a == "string" ? d.datepicker["_" + a + "Datepicker"].apply(d.datepicker, [ this ].concat(b)) : d.datepicker._attachDatepicker(this, a)
		})
	};
	d.datepicker = new K;
	d.datepicker.initialized = false;
	d.datepicker.uuid = (new Date).getTime();
	d.datepicker.version = "1.8.12";
	window["DP_jQuery_" + y] = d
})(jQuery);;
(function($) {
	var defaultOptions = {
		preloadImg : true
	};
	var jqTransformImgPreloaded = false;
	var jqTransformPreloadHoverFocusImg = function(strImgUrl) {
		strImgUrl = strImgUrl.replace(/^url\((.*)\)/, '$1').replace(/^\"(.*)\"$/, '$1');
		var imgHover = new Image();
		imgHover.src = strImgUrl.replace(/\.([a-zA-Z]*)$/, '-hover.$1');
		var imgFocus = new Image();
		imgFocus.src = strImgUrl.replace(/\.([a-zA-Z]*)$/, '-focus.$1');
	};
	var jqTransformGetLabel = function(objfield) {
		var selfForm = $(objfield.get(0).form);
		var oLabel = objfield.next();
		if (!oLabel.is('label')) {
			oLabel = objfield.prev();
			if (oLabel.is('label')) {
				var inputname = objfield.attr('id');
				if (inputname) {
					oLabel = selfForm.find('label[for="' + inputname + '"]');
				}
			}
		}
		if (oLabel.is('label')) {
			return oLabel.css('cursor', 'pointer');
		}
		return false;
	};
	var jqTransformHideSelect = function(oTarget) {
		var ulVisible = $('.jqTransformSelectWrapper ul:visible');
		ulVisible.each(function() {
			var oSelect = $(this).parents(".jqTransformSelectWrapper:first").find("select").get(0);
			if (!(oTarget && oSelect.oLabel && oSelect.oLabel.get(0) == oTarget.get(0))) {
				$(this).hide();
			}
		});
	};
	var jqTransformCheckExternalClick = function(event) {
		if ($(event.target).parents('.jqTransformSelectWrapper').length === 0) {
			jqTransformHideSelect($(event.target));
		}
	};
	var jqTransformAddDocumentListener = function() {
		$(document).mousedown(jqTransformCheckExternalClick);
	};
	var jqTransformReset = function(f) {
		var sel;
		$('.jqTransformSelectWrapper select', f).each(function() {
			sel = (this.selectedIndex < 0) ? 0 : this.selectedIndex;
			$('ul', $(this).parent()).each(function() {
				$('a:eq(' + sel + ')', this).click();
			});
		});
		$('a.jqTransformCheckbox, a.jqTransformRadio', f).removeClass('jqTransformChecked');
		$('input:checkbox, input:radio', f).each(function() {
			if (this.checked) {
				$('a', $(this).parent()).addClass('jqTransformChecked');
			}
		});
	};
	$.fn.jqTransInputButton = function() {
		return this.each(function() {
			var newBtn = $('<button id="' + this.id + '" name="' + this.name + '" type="' + this.type + '" class="' + this.className + ' jqTransformButton"><span><span>' + $(this).attr('value') + '</span></span>').hover(function() {
				newBtn.addClass('jqTransformButton_hover');
			}, function() {
				newBtn.removeClass('jqTransformButton_hover')
			}).mousedown(function() {
				newBtn.addClass('jqTransformButton_click')
			}).mouseup(function() {
				newBtn.removeClass('jqTransformButton_click')
			});
			$(this).replaceWith(newBtn);
		});
	};
	$.fn.jqTransInputText = function() {
		return this.each(function() {
			var $input = $(this);
			if ($input.hasClass('jqtranformdone') || !$input.is('input')) {
				return;
			}
			$input.addClass('jqtranformdone');
			var oLabel = jqTransformGetLabel($(this));
			oLabel && oLabel.bind('click', function() {
				$input.focus();
			});
			var inputSize = $input.width();
			$input.addClass("jqTransformInput").wrap('<div class="jqTransformInputWrapper"><div class="jqTransformInputInner"><div></div></div></div>');
			var $wrapper = $input.parent().parent().parent();
			$wrapper.css("width", inputSize + 10);
			$input.focus(function() {
				$wrapper.addClass("jqTransformInputWrapper_focus");
			}).blur(function() {
				$wrapper.removeClass("jqTransformInputWrapper_focus");
			}).hover(function() {
				$wrapper.addClass("jqTransformInputWrapper_hover");
			}, function() {
				$wrapper.removeClass("jqTransformInputWrapper_hover");
			});
			$.browser.safari && $wrapper.addClass('jqTransformSafari');
			$.browser.safari && $input.css('width', $wrapper.width() + 16);
			this.wrapper = $wrapper;
		});
	};
	$.fn.jqTransCheckBox = function() {
		return this.each(function() {
			if ($(this).hasClass('jqTransformHidden')) {
				return;
			}
			var $input = $(this);
			var inputSelf = this;
			var oLabel = jqTransformGetLabel($input);
			oLabel && oLabel.click(function() {
				/* bugfix: tripple-event-firing after .reset */
				//aLink.trigger('click');
				if ($input.attr('disabled')) {
					return false;
				}
				$input.trigger('click').trigger("change");
				return false;
				/* bugfix: tripple-event-firing after .reset */
			});
			var aLink = $('<a href="#" class="jqTransformCheckbox"></a>');
			$input.addClass('jqTransformHidden').wrap('<span class="jqTransformCheckboxWrapper"></span>').parent().prepend(aLink);
			$input.change(function() {
				this.checked && aLink.addClass('jqTransformChecked') || aLink.removeClass('jqTransformChecked');
				return true;
			});
			aLink.click(function() {
				if ($input.attr('disabled')) {
					return false;
				}
				$input.trigger('click').trigger("change");
				return false;
			});
			this.checked && aLink.addClass('jqTransformChecked');
		});
	};
	$.fn.jqTransRadio = function() {
		return this.each(function() {
			if ($(this).hasClass('jqTransformHidden')) {
				return;
			}
			var $input = $(this);
			var inputSelf = this;
			oLabel = jqTransformGetLabel($input);
			oLabel && oLabel.click(function() {
				aLink.trigger('click');
			});
			var aLink = $('<a href="#" class="jqTransformRadio" rel="' + this.name + '"></a>');
			$input.addClass('jqTransformHidden').wrap('<span class="jqTransformRadioWrapper"></span>').parent().prepend(aLink);
			$input.change(function() {
				inputSelf.checked && aLink.addClass('jqTransformChecked') || aLink.removeClass('jqTransformChecked');
				return true;
			});
			aLink.click(function() {
				if ($input.attr('disabled')) {
					return false;
				}
				$input.trigger('click').trigger('change');
				$('input[name="' + $input.attr('name') + '"]', inputSelf.form).not($input).each(function() {
					$(this).attr('type') == 'radio' && $(this).trigger('change');
				});
				return false;
			});
			inputSelf.checked && aLink.addClass('jqTransformChecked');
		});
	};
	$.fn.jqTransTextarea = function() {
		return this.each(function() {
			var textarea = $(this);
			if (textarea.hasClass('jqtransformdone')) {
				return;
			}
			textarea.addClass('jqtransformdone');
			oLabel = jqTransformGetLabel(textarea);
			oLabel && oLabel.click(function() {
				textarea.focus();
			});
			var strTable = '<table cellspacing="0" cellpadding="0" border="0" class="jqTransformTextarea">';
			strTable += '<tr><td id="jqTransformTextarea-tl"></td><td id="jqTransformTextarea-tm"></td><td id="jqTransformTextarea-tr"></td></tr>';
			strTable += '<tr><td id="jqTransformTextarea-ml">&nbsp;</td><td id="jqTransformTextarea-mm"><div></div></td><td id="jqTransformTextarea-mr">&nbsp;</td></tr>';
			strTable += '<tr><td id="jqTransformTextarea-bl"></td><td id="jqTransformTextarea-bm"></td><td id="jqTransformTextarea-br"></td></tr>';
			strTable += '</table>';
			var oTable = $(strTable).insertAfter(textarea).hover(function() {
				!oTable.hasClass('jqTransformTextarea-focus') && oTable.addClass('jqTransformTextarea-hover');
			}, function() {
				oTable.removeClass('jqTransformTextarea-hover');
			});
			textarea.focus(function() {
				oTable.removeClass('jqTransformTextarea-hover').addClass('jqTransformTextarea-focus');
			}).blur(function() {
				oTable.removeClass('jqTransformTextarea-focus');
			}).appendTo($('#jqTransformTextarea-mm div', oTable));
			this.oTable = oTable;
			if ($.browser.safari) {
				$('#jqTransformTextarea-mm', oTable).addClass('jqTransformSafariTextarea').find('div').css('height', textarea.height()).css('width', textarea.width());
			}
		});
	};
	$.fn.jqTransSelect = function() {
		return this.each(function(index) {
			var $select = $(this);
			if ($select.hasClass('jqTransformHidden')) {
				return;
			}
			if ($select.attr('multiple')) {
				return;
			}
			var oLabel = jqTransformGetLabel($select);
			var $wrapper = $select.addClass('jqTransformHidden').wrap('<div class="jqTransformSelectWrapper"></div>').parent();
			$wrapper.prepend('<div><span></span><a href="#" class="jqTransformSelectOpen"></a></div><ul></ul>');
			var $ul = $('ul', $wrapper).css('width', $select.width()).hide();
			var overlength_counter = 0;
			$('option', this).each(function(i) {
				var oLi = $('<li><a href="#" index="' + i + '">' + $(this).html() + '</a></li>');
				$ul.append(oLi);
				overlength_counter++;
			});
			$ul.find('a').click(function() {
				$('a.selected', $wrapper).removeClass('selected');
				$(this).addClass('selected');
				if ($select[0].selectedIndex != $(this).attr('index')) {
					$select[0].selectedIndex = $(this).attr('index');
					$($select[0]).trigger('change');
				}
				$select[0].selectedIndex = $(this).attr('index');
				$('span:eq(0)', $wrapper).html($(this).html());
				$ul.hide();
				return false;
			});
			$('a:eq(' + this.selectedIndex + ')', $ul).click();
			$('span:first', $wrapper).click(function() {
				$("a.jqTransformSelectOpen", $wrapper).trigger('click');
			});
			oLabel && oLabel.click(function() {
				$("a.jqTransformSelectOpen", $wrapper).trigger('click');
			});
			this.oLabel = oLabel;
			var oLinkOpen = $('a.jqTransformSelectOpen', $wrapper).click(function() {
				/*
				 *  erweiterung: z-index-management
				 */
				ele = $(this).closest(".jqTransformSelectWrapper");
				$("div.psf_input_container, div.jqTransformSelectWrapper").not($(this)).css({
				    'z-index' : '1'
				});
				ele.css({
				    'z-index' : '20'
				});
				ele.closest(".psf_input_container").css({
					'z-index' : '20'
				});
				$(".body").css({
				    'z-index' : '15',
				    'position': 'relative'
				});
				$(".foot").css({
				    'z-index' : '1',
				    'position': 'relative'
				});
				/*/erweiterung */
				
				if ($ul.css('display') == 'none') {
					jqTransformHideSelect();
				}
				if ($select.attr('disabled')) {
					return false;
				}
				/*
				 * erweiterung: dynamische breitenermittlung onclick => min-width-simulation (ie6)
				 */
				var _width_expanded = $ul.width();
				var _width_select = $wrapper.width();
				//$wrapper.find("div").attr("style", "width: "+(_width_select-12)+"px !important;");
				if(_width_select>_width_expanded){
					$ul.attr("style", "width: "+_width_select+"px !important;"); // hack via "attr" since jquery does not know !important
				}
				/*/erweiterung */
				
				/* fix: �berl�nge >8 zeilen, overflow-y:auto */
				if(overlength_counter>=8){
					$ul.addClass("jqOverlength");
				}
				$ul.slideToggle('fast', function() {
					var offSet = $ul.scrollTop()+($('a.selected', $ul).offset().top-$ul.offset().top);					
					if(offSet==1){offSet=0;};	
					if(offSet!=0){
						$ul.animate({
							scrollTop : offSet
						});
					}
				});
				return false;
			});
			var iSelectWidth = $select.outerWidth();
			var oSpan = $('span:first', $wrapper);
			var newWidth = (iSelectWidth > oSpan.innerWidth()) ? iSelectWidth + oLinkOpen.outerWidth() : $wrapper.width();
			$wrapper.css('width', newWidth);
			$ul.css('width', newWidth - 2);
			/*
			oSpan.css({
				width : iSelectWidth
			});
			*/
			$ul.css({
			    display : 'block',
			    visibility : 'hidden'
			});
			var iSelectHeight = ($('li', $ul).length) * ($('li:first', $ul).height());
			(iSelectHeight < $ul.height()) && $ul.css({
			    height : iSelectHeight,
			    'overflow' : 'hidden'
			});
			$ul.css({
			    display : 'none',
			    visibility : 'visible'
			});
		});
	};
	$.fn.jqTransform = function(options) {
		var opt = $.extend({}, defaultOptions, options);
		return this.each(function() {
			var selfForm = $(this);
			if (selfForm.hasClass('jqtransformdone')) {
				return;
			}
			selfForm.addClass('jqtransformdone');
			$('input:submit, input:reset, input[type="button"]', this).jqTransInputButton();
			$('input:text, input:password', this).jqTransInputText();
			$('input:checkbox', this).jqTransCheckBox();
			$('input:radio', this).jqTransRadio();
			$('textarea', this).jqTransTextarea();
			if ($('select', this).jqTransSelect().length > 0) {
				jqTransformAddDocumentListener();
			}
			selfForm.bind('reset', function() {
				var action = function() {
					jqTransformReset(this);
				};
				window.setTimeout(action, 10);
			});
		});
	};
})(jQuery);

// jQuery SWFObject v1.1.1 MIT/GPL @jon_neal
// http://jquery.thewikies.com/swfobject
(function(f, h, i) {
	function k(a, c) {
		var b = (a[0] || 0) - (c[0] || 0);
		return b > 0 || !b && a.length > 0 && k(a.slice(1), c.slice(1))
	}
	function l(a) {
		if (typeof a != g)
			return a;
		var c = [], b = "";
		for ( var d in a) {
			b = typeof a[d] == g ? l(a[d]) : [ d, m ? encodeURI(a[d]) : a[d] ].join("=");
			c.push(b)
		}
		return c.join("&")
	}
	function n(a) {
		var c = [];
		for ( var b in a)
			a[b] && c.push([ b, '="', a[b], '"' ].join(""));
		return c.join(" ")
	}
	function o(a) {
		var c = [];
		for ( var b in a)
			c.push([ '<param name="', b, '" value="', l(a[b]), '" />' ].join(""));
		return c.join("")
	}
	var g = "object", m = true;
	try {
		var j = i.description || function() {
			return (new i("ShockwaveFlash.ShockwaveFlash")).GetVariable("$version")
		}()
	} catch (p) {
		j = "Unavailable"
	}
	var e = j.match(/\d+/g) || [ 0 ];
	f[h] = {
	    available : e[0] > 0,
	    activeX : i && !i.name,
	    version : {
	        original : j,
	        array : e,
	        string : e.join("."),
	        major : parseInt(e[0], 10) || 0,
	        minor : parseInt(e[1], 10) || 0,
	        release : parseInt(e[2], 10) || 0
	    },
	    hasVersion : function(a) {
		    a = /string|number/.test(typeof a) ? a.toString().split(".") : /object/.test(typeof a) ? [ a.major, a.minor ] : a || [ 0, 0 ];
		    return k(e, a)
	    },
	    encodeParams : true,
	    expressInstall : "expressInstall.swf",
	    expressInstallIsActive : false,
	    create : function(a) {
		    if (!a.swf || this.expressInstallIsActive || !this.available && !a.hasVersionFail)
			    return false;
		    if (!this.hasVersion(a.hasVersion || 1)) {
			    this.expressInstallIsActive = true;
			    if (typeof a.hasVersionFail == "function")
				    if (!a.hasVersionFail.apply(a))
					    return false;
			    a = {
			        swf : a.expressInstall || this.expressInstall,
			        height : 137,
			        width : 214,
			        flashvars : {
			            MMredirectURL : location.href,
			            MMplayerType : this.activeX ? "ActiveX" : "PlugIn",
			            MMdoctitle : document.title.slice(0, 47) + " - Flash Player Installation"
			        }
			    }
		    }
		    attrs = {
		        data : a.swf,
		        type : "application/x-shockwave-flash",
		        id : a.id || "flash_" + Math.floor(Math.random() * 999999999),
		        width : a.width || 320,
		        height : a.height || 180,
		        style : a.style || ""
		    };
		    m = typeof a.useEncode !== "undefined" ? a.useEncode : this.encodeParams;
		    a.movie = a.swf;
		    a.wmode = a.wmode || "opaque";
		    delete a.fallback;
		    delete a.hasVersion;
		    delete a.hasVersionFail;
		    delete a.height;
		    delete a.id;
		    delete a.swf;
		    delete a.useEncode;
		    delete a.width;
		    var c = document.createElement("div");
		    c.innerHTML = [ "<object ", n(attrs), ">", o(a), "</object>" ].join("");
		    return c.firstChild
	    }
	};
	f.fn[h] = function(a) {
		var c = this.find(g).andSelf().filter(g);
		/string|object/.test(typeof a) && this.each(function() {
			var b = f(this), d;
			a = typeof a == g ? a : {
				swf : a
			};
			a.fallback = this;
			if (d = f[h].create(a)) {
				b.children().remove();
				b.html(d)
			}
		});
		typeof a == "function" && c.each(function() {
			var b = this;
			b.jsInteractionTimeoutMs = b.jsInteractionTimeoutMs || 0;
			if (b.jsInteractionTimeoutMs < 660)
				b.clientWidth || b.clientHeight ? a.call(b) : setTimeout(function() {
					f(b)[h](a)
				}, b.jsInteractionTimeoutMs + 66)
		});
		return c
	}
})(jQuery, "flash", navigator.plugins["Shockwave Flash"] || window.ActiveXObject);

(function($){
	$.fn.esol_lightbox = function(options_mid) {
		
		/* temporarily block .click()-event to prevent "too early clicked"-bug */
		$(this).click(function(e){
			return false;
		});
		
		/* default-settings for esol_lightbox */
		var options_base = {
				core: {
					"basename": "esol_lightbox",					// PREFIX zur Bestimmung von DOM-Elementen
					"basedir": "/esol_lightbox",					// Plugin-Verzeichnis (fï¿½r Berechnung weiterer URLs)
					"success_indicator_class": "_initdone"			// SUFFIX fï¿½r "transformed"-Klasse
				},

				backpane: {
					"id": "_backpane",								// SUFFIX zur endgï¿½ltigen Bestimmung des Elements
					"z-index": "1000",								// Z-Index Backpane		
					"background-color": "#000000",					// Hintergrundfarbe
					"transparency": 0.8								// Transparenz
				},
				
				frontpane: {
					"id": "_frontpane",								// SUFFIX zur endgï¿½ltigen Bestimmung des Elements		
					"z-index": "1001",								// Z-Index Frontpane			
					"margin-top": 50,								// Freiraum ï¿½ber Content (relative Verschiebung je nach Parameter "open")
					"margin-bottom": 50,							// Freiraum unter Content (fï¿½r endgï¿½ltige Berechnung Hï¿½he Backpane)
					"behaviour_scrolling": "noScroll",				// "noScroll"- kein Scrolling, "scrollUp"- Scrolling nach oben
					"scrollspeed": 250,								// Geschwindigkeit Scrolling
					"behaviour_positioning": "current",				// "top"- Lightbox ï¿½ffnet sich am Seitenanfang, "current" - Lightbox ï¿½ffnet sich an aktueller Position
					"behaviour_closeonclick": true					// true- Click auf Frontpane kann Lightbox schlieï¿½en
				},
				
				contentpane: {
					"id": "_contentpane"
				},
				
				content: {
					"id": "_content",
					"background-color": "#ffffff",					// Hintergrundfarbe
					"spinner": "/img/spinner_white.gif",			// AJAX Spinner (konfigurierbar wegen Konfigurierbarkeit Hintergrundfarbe)
					"default-width": 400,							// Mindest-Breite der Content-Flï¿½che (null oder Integer)
					"default-height": 200,							// Mindest-Hï¿½he der Content-Flï¿½che (null oder Integer)
					"min-width": 400,								// Mindest-Breite der Content-Flï¿½che (null oder Integer)	
					"min-height": 200,								// Mindest-Hï¿½he der Content-Flï¿½che (null oder Integer)
					"behaviour_open": "fade",					// "fade" / "slide" / "animate"
					"open_speed": 250,
					"open_easing": "linear",
					"behaviour_close": "animate",					// "fade" / "slide" / "animate"
					"close_speed": 500,
					"close_easing": "linear",
					"behaviour_adjustment": "animate",				// animate-flieï¿½ender ï¿½bergang, instant-unmittelbar
					"adjustment_speed": 250,
					"adjustment_easing": "linear",
					"behaviour_closeonclick": false					// true- Click auf Content-Wrapper schlieï¿½t Lightbox 
				},
				
				infopane: {
					"id": "_infopane",
					"background-color": "#ffffff",
					"behaviour_open": "slide",						// "none"-Infopane&Close-Button nicht einblenden / "fade" / "slide"
					"open_speed": 250,
					"open_easing": "linear",
					"behaviour_close": "slide",						// "none"-Infopane&Close-Button nicht einblenden /"fade" / "slide"
					"close_speed": 250,
					"close_easing": "linear",
					"infotext": ""
				},
				
				templating: {
					"template_content": null,						// null-Autodetection, sonst Override fï¿½r Content-Template-File
					"template_infospace": null,						// null-Autodetection, sonst Override fï¿½r Infospace-Template-File
					"callback": null,								// null-Autodetection, sonst Override fï¿½r Kicker-Funktion
					modules: {
						html: {
							scope: "plugin",
							href_pattern: "(.html)$",
							id_pattern: null,
							class_pattern: null,
							rel_pattern: null,
							template_content: "/fileadmin/static/templates/eslb_html.html",
							template_infospace: "/fileadmin/static/templates/eslb_infospace.html",
							pre_process: null,
							callback: "eslb_html"
						},
						iframe: {
							scope: "plugin",
							href_pattern: "^(http:|https:)",
							id_pattern: null,
							class_pattern: null,
							rel_pattern: null,
							template_content: "/fileadmin/static/templates/eslb_iframe.html",
							template_infospace: "/fileadmin/static/templates/eslb_infospace.html",
							pre_process: null,
							callback: "eslb_iframe"
						},
						gallery: {
							scope: "plugin",
							href_pattern: "(.jpg|.jpeg|.png|.gif|.bmp)$",
							id_pattern: null,
							class_pattern: null,
							rel_pattern: null,
							template_content: "/fileadmin/static/templates/eslb_imagegallery.html",
							template_infospace: "/fileadmin/static/templates/eslb_infospace.html",
							pre_process: null,
							callback: "eslb_imagegallery"
						},
						flash: {
							scope: "plugin",
							href_pattern: "(.swf)$",
							id_pattern: null,
							class_pattern: null,
							rel_pattern: null,
							template_content: "/fileadmin/static/templates/eslb_flashplayer.html",
							template_infospace: "/fileadmin/static/templates/eslb_infospace.html",
							pre_process: null,
							callback: "eslb_flashplayer"
						},
						youtube: {
							scope: "plugin",
							href_pattern: "^(http://www.youtube)",
							id_pattern: null,
							class_pattern: null,
							rel_pattern: null,
							template_content: "/fileadmin/static/templates/eslb_youtube.html",
							template_infospace: "/fileadmin/static/templates/eslb_infospace.html",
							pre_process: null,
							callback: "eslb_youtube"
						},
						slideshare:{
							scope: "plugin",
							href_pattern: "^(http://www.slideshare)",
							id_pattern: null,
							class_pattern: null,
							rel_pattern: null,
							template_content: "/fileadmin/static/templates/eslb_slideshare.html",
							template_infospace: "/fileadmin/static/templates/eslb_infospace.html",
							pre_process: null,
							callback: "eslb_slideshare"
						}
					}
				}
		};
		
		/* convenience tasks */
		options_base.core["success_indicator_class"] 	= options_base.core["basename"]+options_base.core["success_indicator_class"];
		options_base.backpane["id"] 					= options_base.core["basename"]+options_base.backpane["id"];
		options_base.frontpane["id"] 					= options_base.core["basename"]+options_base.frontpane["id"];
		options_base.contentpane["id"] 					= options_base.core["basename"]+options_base.contentpane["id"];
		options_base.content["id"] 						= options_base.core["basename"]+options_base.content["id"];
		options_base.infopane["id"] 					= options_base.core["basename"]+options_base.infopane["id"];
				
		/* extend default settings (options_base) by settings delivered via middle-app-layer (options_mid) */
		if(!options_mid){
			options_mid = {}
		}
		var options_bottom	= $.extend(true, {}, options_base, options_mid);
		
		return this.each(function(){
			var $this 				= $(this);
			
			var _obj_backpane 		= null;
			var _obj_frontpane 		= null;
			var _obj_contentpane	= null;
			var _obj_uipane			= null;
			var _obj_content 		= null;
			var _obj_wrapper 		= null;
			var _obj_infopane 		= null;
			var _obj_infospace		= null;
			var _obj_closebuttonspace = null;
			var _obj_closebutton 	= null;
			
			var options 			= $.extend(true, {}, options_bottom);
			
			var application = {
					objects: {},
					functions: {},
					parameter: {
						rev: {
							width: options.content["default-width"],
							height: options.content["default-height"]
						}
					}
			};
			
			object_init($this);

			/* invoke click-handler "open" and manage parameter-tunneling "top">"mid">"bottom" */
			function object_init(_obj){
				if(!_obj.hasClass(options.core["success_indicator_class"])){
					_obj.addClass(options.core["success_indicator_class"]);

					options 	= $.extend(true, {}, options_bottom);
					
					if(_obj.attr("href")){
						application.parameter["href"] = _obj.attr("href");
					}
					
					if(_obj.attr("class")){
						application.parameter["class"] = _obj.attr("class");
					}else{
						application.parameter["class"] = null;
					}
					
					if(_obj.attr("id")){
						application.parameter["id"] = _obj.attr("id");
					}else{
						application.parameter["id"] = null;
					}
					
					if(_obj.attr("title")){
						application.parameter["title"] = _obj.attr("title");
					}else{
						if(_obj.find("img:first").attr("alt")){
							application.parameter["title"] = _obj.find("img:first").attr("alt");
						}
					}
					
					var _rel	= extract_json_params(_obj.attr("rel"));
					var _rev	= extract_json_params(_obj.attr("rev"));
					
					if(typeof(_rel)=="string"){
						if(_rel!=""){
							application.parameter.rel = _rel;
						}
					}else{
						if(!$.isEmptyObject(_rel)){
							options = $.extend(true, options, {"core": _rel["core"]}, {"backpane": _rel["backpane"]}, {"frontpane": _rel["frontpane"]}, {"content": _rel["content"]});
							delete _rel["core"];
							delete _rel["backpane"];
							delete _rel["frontpane"];
							delete _rel["contentpane"];
							delete _rel["infopane"];
							delete _rel["content"];
							if(!$.isEmptyObject(_rel)){
								$.extend(true, application, {"parameter": {"rel": _rel}});
							}
						}
					}
					
					if(typeof(_rev)=="string"){
						if(_rev!=""){
							application.parameter.rev = _rev;
						}
					}else{
						if(!$.isEmptyObject(_rev)){
							options = $.extend(true, options, {"core": _rev["core"]}, {"backpane": _rev["backpane"]}, {"frontpane": _rev["frontpane"]}, {"content": _rev["content"]});
							delete _rev["core"];
							delete _rev["backpane"];
							delete _rev["frontpane"];
							delete _rel["contentpane"];
							delete _rel["infopane"];
							delete _rev["content"];
							if(!$.isEmptyObject(_rev)){
								$.extend(true, application, {"parameter": {"rev": _rev}});
							}
						}
					}

					/* invoke content-detection */
					if(options.templating.template==null){
						var _module = contentdetection(application);

						if(_module==null){
							options.templating.scope				= "plugin";
							options.templating.template_content 	= "/templates/eslb_pluginerror.html";
							options.templating.template_infospace 	= "/templates/eslb_infospace.html";
							options.templating.pre_process			= null;
							options.templating.callback				= "eslb_pluginerror";
						}else{
							options.templating.scope				= _module.scope;
							options.templating.template_content 	= _module.template_content;
							options.templating.template_infospace 	= _module.template_infospace;
							options.templating.pre_process			= _module.pre_process;
							options.templating.callback 			= _module.callback;
						}
					}
					
					/* trigger lightbox-link to open lightbox */
					_obj.click(function(e){
						open_panes();
						return false;
					});
				}
			}
			
			/* backpane: append to body, display, close-handler, open frontpane */
			function open_panes(){
				var _html	= '';
				_html	+= '<div class="eslb_backpane" id="'+options.backpane["id"]+'"></div>';
				_html	+= '<div class="eslb_frontpane" id="'+options.frontpane["id"]+'"></div>';
				$("body").append(_html);
				_obj_backpane 		= $("#"+options.backpane["id"]);
				_obj_frontpane 		= $("#"+options.frontpane["id"]);
				
				/* manage height and z-index */
				var _height_body	= $("body").height();
				var _height_window	= $(window).height();
				var _height_backpane= Math.max(_height_body, _height_window);

				_obj_backpane.css({"z-index": options.backpane["z-index"], "background-color": options.backpane["background-color"], "height": _height_backpane});
				_obj_frontpane.css({"z-index": options.frontpane["z-index"], "height": _height_backpane});
				
				/* scroll behaviour */
				if(options.frontpane["behaviour_scrolling"]=="scrollUp"){
					$("html, body").animate({scrollTop: 0}, options.frontpane["scrollspeed"]);
				}
				
				/* close event */
				if(options.frontpane["behaviour_closeonclick"]==true){
					_obj_frontpane.click(function(e){
						close_lightbox();
						return false;
					});
				}
				
				_obj_backpane.fadeTo(0, options.backpane["transparency"], function(e){
					open_content();
				});
			}

			/* open frontpane, load content, animate window-scrolling, animate content-open */
			function open_content(){
				_obj_frontpane.append('<div class="eslb_contentpane ptl pll prl" id="'+options.contentpane["id"]+'"></div>');

				/* invoke template */
				_obj_contentpane 	= $("#"+options.contentpane["id"]);

				var _template = options.templating["template_content"]+"?timestamp="+timestamp()
				
				/* load module */
				_obj_contentpane.load(_template, function(e) {
			    	/* manage content */
					_obj_uipane		= _obj_contentpane.find("#eslb_uipane");
			    	_obj_wrapper 	= _obj_contentpane.find("#eslb_contentwrapper");
			    	_obj_content 	= _obj_wrapper.find("#eslb_content");

			    	/* manage background-color */
			    	_obj_content.css({"background-color": options.content["background-color"]});
			    	open_spinner();
			    	
			    	/* manage positioning */
			    	_obj_contentpane.width(_obj_wrapper.width());
					_margintop = options.frontpane["margin-top"];
					if(options.frontpane["behaviour_positioning"]=="current"){
						_margintop += $(window).scrollTop();
					}
					_obj_contentpane.css({"width": _obj_wrapper.width(), "margin-top": _margintop+"px","margin-bottom": options.frontpane["margin-bottom"]+"px"});
					
					/* semi-bugfix: prevent closeonclick "contentpane" */
					_obj_contentpane.click(function(e){
						return false;
					});
					/*/semi-bugfix */
					
					/* manage close-behaviour */
					if(options.content["behaviour_closeonclick"]==true){
						_obj_wrapper.click(function(e){
							close_lightbox();
							return false;
						});
					}

					/* manage dimensions */
					if(options.content["min-width"] && options.content["min-width"]!=null){
						application.parameter.rev.width = Math.max(application.parameter.rev.width, options.content["min-width"]);
					}
					if(options.content["min-height"] && options.content["min-height"]!=null){
						application.parameter.rev.height = Math.max(application.parameter.rev.height, options.content["min-height"]);
					}

					/* manage opening process and invoke display infopane-management*/
					if(options.content["behaviour_open"]=="slide"){
						_obj_contentpane.slideDown(options.content["open_speed"], options.content["open_easing"], function(){
							app_start();
						});
					}
					if(options.content["behaviour_open"]=="fade"){
						_obj_contentpane.fadeIn(options.content["open_speed"], options.content["open_easing"], function(){
							app_start();
						});
					}
					if(options.content["behaviour_open"]=="animate"){
						_obj_contentpane.animate( {width: parseInt(application.parameter.rev.width), height: parseInt(application.parameter.rev.height)},options.content["open_speed"], options.content["open_easing"], function(){
							app_start();
						});
					}
				});
			}
			
			/* kickstart application */
			function app_start(){
				/* invoke ie-bugfix "1px-problem" */
				ie_bugfix_margin();
				/*/invoke ie-bugfix */
				
		        $(document).unbind("keypress").keypress(function(keypressed) {
			        if (keypressed.keyCode == 27) { // escape , 37 - cleft, 39 - cright
			        	close_lightbox();
			        }
		        });
		        
				if(options.templating["callback"]!=null){
					$.extend(true, application, {
						functions: {
							close_lightbox	: close_lightbox,
							content_resize	: content_resize,
							open_infopane	: open_infopane,
							close_infopane	: close_infopane,
							open_spinner	: open_spinner,
							close_spinner	: close_spinner
						},
						objects: {
							contentpane: _obj_contentpane,
							content_wrapper: _obj_wrapper,
							content: _obj_content,
							uipane: _obj_uipane,
							infopane: _obj_infopane,
							infospace: _obj_infospace,
							closebuttonspace: _obj_closebuttonspace,
							closebutton: _obj_closebutton
						},
						parameter: {
						}
					});
					
					/* execute pre_process function if configured */
					if(options.templating["pre_process"]!=null){
						application = eval("{"+options.templating["pre_process"]+"(application);}");
					}
					
					/* execute callback function */
					eval("{"+options.templating["callback"]+"(application);}");
				}
			}
			
			/* manage infopane */
			function open_infopane(_term){
				if(options.infopane["behaviour_open"]!="none"){
					if(!(_obj_uipane.find("#eslb_infopane").length)){
						$.get(options.templating["template_infospace"]+"?timestamp="+timestamp(), function(_html){
							_obj_uipane.append(_html);
							_obj_infopane 	 	= _obj_wrapper.find("#eslb_infopane");
							_obj_infospace		= _obj_wrapper.find("#eslb_infospace");
							_obj_closebuttonspace 	= _obj_wrapper.find("#eslb_closebuttonspace");
							_obj_closebutton 	= _obj_wrapper.find("#eslb_close_button");
							_obj_infospace.html(application.parameter.title);
							_obj_infopane.css("background-color", options.infopane["background-color"]);
							_obj_closebutton.click(function(e){
								close_lightbox();
								return false;
							});							
							open_infopane_perform(_term);
						});
					}else{
						open_infopane_perform(_term);						
					}
				}
			}
			
			function open_infopane_perform(_term){
				if(options.infopane["behaviour_open"]!="none"){
					if(_term!=null){
						_obj_infospace.html(_term);
					}
					if(options.infopane["behaviour_open"]=="slide"){
						_obj_infopane.slideDown(options.infopane["open_speed"], options.infopane["open_easing"], function(){
							adjust_height();
						});
					}
					if(options.infopane["behaviour_open"]=="fade"){
						_obj_infopane.fadeIn(options.infopane["open_speed"], options.infopane["open_easing"], function(){
							adjust_height();
						});
					}
				}					
			}
			
			function close_infopane(_closecontent){
				if(options.infopane["behaviour_close"]!="none"){
					if(options.infopane["behaviour_close"]=="slide"){
						_obj_infopane.slideUp(options.infopane["close_speed"], options.infopane["close_easing"], function(){close_content(_closecontent);});
					}
					if(options.infopane["behaviour_close"]=="fade"){
						_obj_infopane.fadeOut(options.infopane["close_speed"], options.infopane["close_easing"], function(){close_content(_closecontent);});
					}
				}
			}
			
			function adjust_height(){
				var _backpaneheight = _obj_frontpane.height();
				var _scrolltop		= $(window).scrollTop();
				var _margintop 		= options.frontpane["margin-top"];
				var _contentheight	= _obj_contentpane.height();
				var _uiheight		= _obj_uipane.height();
				var _marginbottom 	= options.frontpane["margin-bottom"];
				var _height			= _scrolltop+_margintop+_contentheight+_uiheight+_marginbottom;
				if(_height>_backpaneheight){
					_obj_frontpane.height(_height);
					_obj_backpane.height(_height);
				}
			}
			
			function content_resize(_width, _height, _callback){
				if(options.content["behaviour_adjustment"]=="animate"){
					_width = Math.max(_width, options.content["min-width"]);
					_height = Math.max(_height, options.content["min-height"]);
					
					// _obj_contentpane
					_obj_contentpane.animate({width: _width, height: _height}, options.content["adjustment_speed"], function(){
						adjust_height();
						_callback();
					});
				}else{
					_obj_contentpane.width(_width).height(_height);
					adjust_height();
					_callback();
				}
			} 
			
			/* invoke close-process */
			function close_lightbox(){
				/* IE7-Flowplayer-Bugfix ("null" is null on .remove()) */
				if($("#eslb_flowplayer_api").length){
					$("#eslb_flowplayer_api").remove();
				}
				/* /IE7-Flowplayer-Bugfix */
				if($("#eslb_gallery_ui").length){
					$("#eslb_gallery_ui").remove();
				}
				close_infopane(true);
			}
			
			function close_content(_closecontent){
				if(_closecontent==true){
					_obj_wrapper.css({"height": "100%"});
					_obj_content.find("div:first").hide();
					if(options.content["behaviour_close"]!="default"){
						if(options.content["behaviour_close"]=="slide"){
							_obj_contentpane.slideUp(options.content["close_speed"], options.content["close_easing"], function(){close_panels();});
						}
						if(options.content["behaviour_close"]=="fade"){
							_obj_contentpane.fadeOut(options.content["close_speed"], options.content["close_easing"], function(){close_panels();});
						}
						if(options.content["behaviour_close"]=="animate"){
							_obj_contentpane.animate( {width: 10, height: 10}, options.content["close_speed"], options.content["close_easing"], function(){close_panels();});
						}
					}else{
						close_panels();
					}
				}
			}
			
			function close_panels(){
				_obj_content.remove();
				_obj_frontpane.remove();
				_obj_backpane.remove();
			}
			
			/* helper functions */
			function construct_iframe(_obj){
				var _params = $.extend(true, {}, {
					"name": "eslb_iframe",
					"id": "eslb_iframe",
					"class": "eslb_iframe",
					"style": "width: 400px; height: 300px;",
					"width": "400",
					"height": "300",
					"scrolling": "no",
					"frameborder": "0",
					"marginheight": "0",
					"marginwidth": "0",
					"src": "#"
				}, _obj);
				var _html = '<iframe';
				for(var i in _params){
					_html += ' '+i+'="'+_params[i]+'"';
				}
				_html += '></iframe>';
				return _html;
			}
			
			function open_spinner(){
				_obj_content.css({"background": options.content["background-color"]+" url('"+options.content["spinner"]+"') no-repeat center center"});
			}
			
			function close_spinner(){
				_obj_content.css({"background": "none", "background-color": options.content["background-color"]});
			}
			
			function ie_bugfix_margin(){
				/* IE7-Bugfix "margin: auto" 1px-problem */
				if($.browser.msie){
					var _width = $(window).width();
					if(_width % 2 ==1){
						_obj_contentpane.css("padding-right", "1px");
					}else{
						_obj_contentpane.css("padding-right", "0px");
					}
				}
				/*/IE7-Bugfix */
			}
			
			function extract_json_params(_obj){
				var _params = {};
				if(_obj && _obj.length){
					try{
						_params = unescape(_obj);
						_params	= jQuery.parseJSON(_params.replace(/'/g, "\""));
					}
					catch(e){
						_params = unescape(_obj);
					}
				}
				return _params;
			}
			
			/*
			 * match level 1 (any case): attr["html"].match(pattern["html"])
			 * match level 2a (if pattern["id"]!=null): attr["id"].match(pattern["id"])
			 * match level 2b (if pattern["class"]!=null): attr["class"].match(pattern["class"])
			 * match level 2c (if pattern["rel"]!=null): attr["rel"].match(pattern["rel"])
			 * ----------------------------------------------------------------------------------
			 * success: module-object
			 * fail: return module "error contentdetection"
			 * 
			 */
			function contentdetection(_application)
			{
				var _result = null;
				$.each(options.templating.modules, function(i, module){
					if(_application.parameter["href"].toLowerCase().match(module["href_pattern"])){
						var _match = true;
						/* try match by "id_pattern" if declared */
						if(module["id_pattern"] && module["id_pattern"]!=null){
							if(_application.parameter["id"] && _application.parameter["id"].toLowerCase().match(module["id_pattern"].toLowerCase())){
								_match = true;
							}else{
								_match = false;
							}
						}
						/* try match by "class_pattern" if declared */
						if(module["class_pattern"] && module["class_pattern"]!=null){
							if(_application.parameter["class"] && _application.parameter["class"].toLowerCase().match(module["class_pattern"].toLowerCase())){
								_match = true;
							}else{
								_match = false;
							}
						}
						/* try match by "rel_pattern" if declared */
						if(module["rel_pattern"] && module["rel_pattern"]!=null){
							if(_application.parameter["rel"] && _application.parameter["rel"].toLowerCase().match(module["rel_pattern"].toLowerCase())){
								_match = true;
							}else{
								_match = false;
							}
						}
						if(_match==true){
							_result	= {
								scope: module.scope,
								template_content: module.template_content,
								template_infospace: module.template_infospace,
								pre_process: module.pre_process,
								callback: module.callback
							}
						}
					}
				});
				return _result;
			}
			
			function timestamp(){
				return new Date().getTime();
			}

			
			/* 
			 * =========================================================================================================================
			 * 
			 * 
			 * out-of-the-box content-modules
			 * 
			 * 
			 * =========================================================================================================================
			 */
			
			/* auto-dectection failed */
			function eslb_pluginerror(appobj){
				$("#eslb_ctrl_lightbox_close").click(function(e){
					appobj.functions.lightbox_close();
					return false;
				});
				
				var _html = '';
				_html += '<p>';
				_html += '	Die automatische Content/Plugin-Erkennung ist fehlgeschlagen.';
				_html += '</p>';
				_html += '<a href="#" id="eslb_ctrl_lightbox_close">Lightbox schlieï¿½en</a>';
				
				appobj.objects.content_wrapper.append(_html);
				appobj.functions.open_infopane();
			}

			/* module: html */
			function eslb_html(appobj){
					$.get(appobj.parameter.href, function(_html){
						appobj.objects.content.empty().append(_html);
						appobj.objects.content_wrapper.css({"height": "auto"});
						/* manage data_override */
						var _override = null;
						if(appobj.objects.content.find("#lb_override_ui_title").length){
							_override = appobj.objects.content.find("#lb_override_ui_title").html();
						}
						/* manage content display */
						var _content = appobj.objects.content.find("div:first");
						//console.log(_content.outerWidth(true)+"/"+_content.width());
						appobj.functions.content_resize(_content.width(), _content.height(), function(){
							appobj.functions.close_spinner();
							_content.show();
							_override="BONIMA Musterauskunft";
							appobj.functions.open_infopane(_override);
						});
					});
			}

			/* module: iframe */
			function eslb_iframe(appobj){
				appobj.objects.content.empty().append(construct_iframe({
					"style": "width: "+appobj.parameter.rev.width+"px; height: "+appobj.parameter.rev.height+"px;",
					"width": appobj.parameter.rev.width,
					"height": appobj.parameter.rev.height,
					"src": appobj.parameter.href,
					"scrolling": ((appobj.parameter.rev.scrolling!=null)&&(appobj.parameter.rev.scrolling))||("auto")
				}));
				appobj.functions.open_infopane();
				$("#eslb_iframe").load(function(e){appobj.functions.close_spinner();});
			}

			/* module: image/imagegallery */
			function eslb_imagegallery(appobj, _imgurl, _pool, _showinfopanel, _obj){
				if(!_pool){
					_pool 		= appobj.parameter.rev.imagepool;
				}
				if(!_imgurl){
					_imgurl 	= appobj.parameter.href;
				}
				
				/* find image to be displayed */
				var _index 		= -1;
				for(var i=0;i<_pool.length;i++){
					if(_pool[i].img_url==_imgurl){
						_index = i;
					}
				}

				/* gather relevant objects only once, re-use later */
				if(!_obj){
					var _obj = {
						imagepane	: appobj.objects.content_wrapper.find("#eslb_imagepane"),
						ui			: appobj.objects.content_wrapper.find("#eslb_gallery_ui"),
						prev 		: appobj.objects.content_wrapper.find("#eslb_gui_left"),
						next	 	: appobj.objects.content_wrapper.find("#eslb_gui_right"),
						next_link 	: appobj.objects.content_wrapper.find("#eslb_gl_next"),
						prev_link 	: appobj.objects.content_wrapper.find("#eslb_gl_prev")	
					}
				}
				
				/* preload image, resize contentspace, apply click-events, ... */
				
				_obj.imagepane.empty().show().append('<img id="eslb_image" class="eslb_image" src="'+_imgurl+'"/>');
				var _image		= appobj.objects.content_wrapper.find("#eslb_image");
				_image.load(function(e){
					appobj.functions.content_resize(_image.width(), _image.height(), function(){
						_obj.imagepane.css({"background-image": "url('"+_imgurl+"')"}).fadeTo(250,1, function(e){
							appobj.functions.close_spinner();
							
							$("#eslb_gallery_ui").height(_image.height());
							_obj.imagepane.height(_image.height());
							appobj.objects.content_wrapper.css({"height": "auto"});
							appobj.functions.open_infopane(_pool[_index].img_title);
							
							if(_index>0){
								_obj.prev.show().unbind().click(function(e){
									change_image(-1);
								});
								_obj.prev.css("left", "0px");
								
							}else{
								_obj.prev.css("left", "-5000px");
							}
							if(_index<_pool.length-1){
								_obj.next.show().unbind().click(function(e){
									change_image(1);
								});
								_obj.next.css("right", "0px");
							}else{
								_obj.next.css("right", "5000px");
							}

					        $(document).unbind("keypress").keypress(function(keypressed) {
						        if (keypressed.keyCode == 27) {
						        	close_lightbox();
						        }
						        if (keypressed.keyCode == 37 && _index>0) {
						        	_obj.prev.click();
						        }
						        if (keypressed.keyCode == 39 && _index<_pool.length-1) {
						        	_obj.next.click();
						        }
					        });
						});
					});
				});
				
				function change_image(_direction){
					_index += _direction;
					appobj.functions.close_infopane();
					_obj.imagepane.fadeTo(250, 0, function(e){
						open_spinner();
						eslb_imagegallery(appobj, _pool[_index].img_url, _pool, true, _obj);
					});
				}
			}
			
			/* module: slideshare */
			function eslb_slideshare(appobj){
				appobj.objects.content.empty().append(construct_iframe({
					"style": "width: "+appobj.parameter.rev.width+"px; height: "+appobj.parameter.rev.height+"px;",
					"width": appobj.parameter.rev.width,
					"height": appobj.parameter.rev.height,
					"src": appobj.parameter.href
				}));
				appobj.functions.open_infopane();
			}

			/* module: flashplayer */
			function eslb_flashplayer(appobj){
				if(!appobj.parameter.rev.wmode){
					appobj.parameter.rev.wmode = "opaque";
				}

				var _html = '<object id="eslb_flashcontainer" width="'+appobj.parameter.rev.width+'" height="'+appobj.parameter.rev.height+'" type="application/x-shockwave-flash" data="'+appobj.parameter.href+'">';
				_html += '	<param value="'+appobj.parameter.rev.flashvars+'" name="flashvars">';
				_html += '	<param value="'+appobj.parameter.href+'" name="movie">';
				_html += '	<param value="'+appobj.parameter.rev.width+'" name="width">';
				_html += '	<param value="'+appobj.parameter.rev.height+'" name="height">';
				_html += '	<param value="'+appobj.parameter.rev.wmode+'" name="wmode">';
				_html += '	<embed id="eslb_flashcontainer" width="'+appobj.parameter.rev.width+'" height="'+appobj.parameter.rev.height+'" src="'+appobj.parameter.href+'" type="application/x-shockwave-flash">';
				_html += '</object>';
				
				appobj.objects.content.empty().html(_html);
				appobj.functions.open_infopane();
			}

			/* module: youtube */
			function eslb_youtube(appobj){
				if(!appobj.parameter.rev.allowScriptAccess){
					appobj.parameter.rev.allowScriptAccess = "always";
				}
				if(!appobj.parameter.rev.allowfullscreen){
					appobj.parameter.rev.allowfullscreen = "true";
				}
				if(!appobj.parameter.rev.wmode){
					appobj.parameter.rev.wmode = "opaque";
				}
				
				// url-typ 1: http://www.youtube.com/watch?v=tECHDEXu58I&feature=g-logo
				// url-typ 2: http://www.youtube-nocookie.com/v/tECHDEXu58I?fs=1&amp;hl=de_DE&amp;rel=0
				
				var _split_start = "v=";
				var _split_end = "&";
				if(appobj.parameter.href.indexOf("v/")>-1){
					_split_start = "v/";
					_split_end = "?";
				}
				var _split = appobj.parameter.href.split(_split_start);
				var _src = 'http://www.youtube.com/embed/'+(_split[1].split(_split_end))[0];
				
				// youtube-iframe-code: <iframe width="420" height="315" src="http://www.youtube.com/embed/tECHDEXu58I" frameborder="0" allowfullscreen></iframe>
				var _html = '<iframe width="'+appobj.parameter.rev.width+'" height="'+appobj.parameter.rev.height+'" src="'+_src+'" frameborder="0" allowfullscreen></iframe>';
							
				appobj.objects.content.empty().append(_html);
				appobj.functions.open_infopane();
				
			}
		});
	};
})( jQuery );
var cache = null, variables = {};

$(window).ready(function() {

	cache = cache_init(false, "#logo", "#ledtoggle");

	if ($.browser.msie) {
		if ($.browser.version.slice(0, 1) == "7") {
			ie_1px_bugfix();
			$(window).resize(function(e) {
				ie_1px_bugfix();
			});
		}
	}

	debug = {
	    active : false,
	    _out : function(term) {
		    if (this.active == true) {
			    $("#debuglog").append('<span style="padding-top: 4px;font-size: 9px; color: #555555; width: 290px;display: block;margin-bottom: -4px;">debug event ' + (new Date()).getTime() + '</span><span style="display: block; font-size: 10px;line-height: 12px;">' + term.replace(/\|/g, "<br/>") + '</span>').animate({
				    scrollTop : $("#debugwindow").height()
			    }, 100);
		    }
	    },
	    _init : function(args) {
		    this.active = true;
		    if (!$("#debugwindow").length) {
			    $("body").append('<div id="debugwindow" style="background-color: #dddddd; width: 200px; height: 400px; border: 1px solid #000000; position: absolute; right: 50px; top: 50px; z-index: 5000">');
			    $("#debugwindow").append('<div id="debuglog" style="padding: 5px; overflow: auto; overflow-x: hidden;height: 370px;"></div></div>');
			    $("#debugwindow").append('<div id="debugclear" style="height: 20px; background-color: #202020;color: #ffffff; text-align:center">click to clear window</div>');
			    $("#debugclear").click(function(e) {
				    $("#debuglog").empty();
			    });
			    $("#debugwindow").draggable();

		    }
	    }
	};

	//debug._init();

	mobileManager = {
	    device : {
	        isGoogle : navigator.userAgent.match(/Android/i),
	        isApple : (navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i) || navigator.userAgent.match(/iPad/i)),
	        isMobile : (navigator.userAgent.match(/Android/i) || navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i) || navigator.userAgent.match(/iPad/i))
	    },
	    hooks : {
	        nav_1st : {
	            selector : function() {
		            return $(".n1_link");
	            },
	            eventFlags : {
	                mouseenter : false,
	                pageclicked : false
	            },
	            eventFunctions : {
	                click : function(_this, _self, e) {
		                if (_self.eventFlags.mouseenter == false || (_self.eventFlags.pageclicked == false && mobileManager.device.isApple)) {
		                } else {
			                _self.eventFlags.pageclicked == false;
			                e.stopPropagation();
			                e.preventDefault();
			                return false;
		                }
	                },
	                mouseenter : function(_this, _self, e) {
		                if (_self.eventFlags.mouseenter == false || mobileManager.device.isApple) {
			                _self.eventFlags.pageclicked == false;
			                $(".page").unbind("click").bind("click", function(e) {
				                _self.eventFlags.pageclicked = true;
				                $(".page").unbind("click");
			                });
		                }
	                }
	            }
	        },
	        nav_2nd : {
	            selector : function() {
		            return $(".n1stl_link");
	            },
	            eventFlags : {
		            mouseenter : false
	            },
	            eventFunctions : {
	                click : function(_this, _self, e) {
		                window.document.location = $(_this).attr("href");
	                },
	                mouseenter : function(_this, _self, e) {
		                _this.click();
	                }
	            }
	        }
	    },
	    _init : function(args) {
		    _this = this;
		    if (!_this.device.isMobile) {
			    return false;
		    }

		    for (hook in _this.hooks) {
			    var _selector = _this["hooks"][hook].selector();
			    if (_selector && _selector.length > 0) {
				    _selector.each(function(i) {
					    var _hook = hook;
					    if (!$(this).hasClass("mm_is_bound")) {
						    $(this).bind("mouseenter", function(e) {
							    _this["hooks"][_hook].eventFlags.mouseenter = true;
							    if (_this["hooks"][_hook].eventFunctions["mouseenter"]) {
								    _this["hooks"][_hook].eventFunctions.mouseenter($(this), _this["hooks"][_hook], e);
							    }
						    }).bind("click", function(e) {
							    _this["hooks"][_hook].eventFunctions.click($(this), _this["hooks"][_hook], e);
							    _this["hooks"][_hook].eventFlags.mouseenter = false;
						    }).addClass("mm_is_bound");
					    }
				    });
			    }
		    }
	    }
	};

	if ($(".wrp_homepage_buehne").length) {
		var _configuration = [];
		

		
		$(".stage_config").find(".stage_item").each(function(i){
			var _item = {
					link: $(this).find(".si_link").html(),
					image: $(this).find(".si_img").html(),
					claim: $(this).find(".si_claim").html(),
					rte: $(this).find(".si_rte").html()
			}
			_configuration.push(_item);			
		});
		var _current = 0;

		$("#hpb_sub_next").hover(function(e) {
			$("#hpb_sub_next").stop().animate({
				right : -20
			}, 200);
		}, function(e) {
			$("#hpb_sub_next").stop().animate({
				right : -10
			}, 200);
		});
		$("#ctrl_buehne_next").click(function(e) {
			_current++;
			if (_current == _configuration.length) {
				_current = 0;
			}
			buehne_set_teaser(_current);
			return false;
		});
		$("#hpb_sub_prev").hover(function(e) {
			$("#hpb_sub_prev").stop().animate({
				left : -20
			}, 200);
		}, function(e) {
			$("#hpb_sub_prev").stop().animate({
				left : -10
			}, 200);
		});
		$("#ctrl_buehne_prev").click(function(e) {
			_current--;
			if (_current < 0) {
				_current = _configuration.length - 1;
			}
			buehne_set_teaser();
			return false;
		});

		function buehne_set_teaser() {
			var _next = _current + 1;
			var _prev = _current - 1;
			if (_next == _configuration.length) {
				_next = 0;
			}
			if (_prev < 0) {
				_prev = _configuration.length - 1;
			}
			$("#hpb_main_image").attr("href", _configuration[_current].link);
			$('#unit').css('background-image', 'url(' + _configuration[_current].image + ')');
			$("#hpb_text_area").html(_configuration[_current].rte);
			$("#hpb_sub_image_prev").attr("src", _configuration[_prev].image);
			$("#hpb_sub_image_next").attr("src", _configuration[_next].image);
		}

		buehne_set_teaser();
	}

	/* generate unique id´s for later image-grouping per wrapper (lb:gallery) */
	if ($(".wrapper_fce").length) {
		var fcewrapper_id_current = 0;
		$.each($(".wrapper_fce"), function(i, _this) {
			fcewrapper_id_current++;
			$(_this).attr("id", "fce_" + fcewrapper_id_current);
		});
	}

	/*
	 * now assign each .floating_img the id of it´s fce-container-wrapper to
	 * group the images for lb:gallery
	 */

	if ($("img.rte, .ig_image").length) {
		$.each($("img.rte, .ig_image"), function(i, _img) {
			$(_img).closest("a").attr("rel", $(_img).closest(".wrapper_fce").attr("id")).append('<span class="sprite icon_zoom"></span>').hover(function(e) {
				$(this).find("span").stop().fadeTo(150, 1);
			}, function(e) {
				$(this).find("span").stop().fadeTo(250, 0);
			});

		});
	}

	/*
	 * manage image gallery
	 */
	
	if($(".imagegallery").length){
		$(".imagegallery").each(function(i){
			var _width = 0;
			var _thumbnails = $(this).find(".ig_image");
			for ( var i = 0; i < _thumbnails.length; i++) {
				_width += $(_thumbnails[i]).width();
				if (i > 0) {
					_width += 7
				}
			}
			$(this).find(".ig_list").width(_width + 4)
		});
	}
	
	if ($("a.lightbox").length > 0) {
		var eslb_config_override = {
		    core : {
			    "basedir" : null
		    },
		    content : {
			    "spinner" : "/fileadmin/static/img/esol_lightbox/spinner_white.gif"
		    },
		    templating : {
			    modules : {
				    gallery : {
				        pre_process : "eslb_preprocess_gallerydata",
				        template_content : "/fileadmin/static/templates/eslb_imagegallery.html",
				        template_infospace : "/fileadmin/static/templates/eslb_infospace.html"
				    }
			    }
		    }
		}
		$("a.lightbox").esol_lightbox($.extend(true, {}, eslb_config_override));
	}

	if ($(".link_print").length) {
		$(".link_print").click(function(e) {
			window.print();
			return false;
		});
	}

	if ($(".link_totop").length) {
		$(".link_totop").click(function(e) {
			$("html, body").animate({
				scrollTop : 0
			}, 250);
			return false;
		});
	}

	if ($(".link_historyback").length) {
		$(".link_historyback").each(function(i, _this) {
			if ($(_this).attr("href") == "") {
				$(_this).click(function(e) {
					history.back(-1);
				});
			}
		});
	}

	if ($(".ctrl_faq_link").length) {
		$(".ctrl_faq_link").click(function(e) {
			var _this = $(this);
			if (_this.find("span").hasClass("icon_minus")) {
				_this.closest("li").find(".faq_content").slideUp(250);
				_this.find("span").removeClass("icon_minus").addClass("icon_plus");
			} else {
				_this.closest("li").find(".faq_content").slideDown(250);
				//$("html").animate({scrollTop: _this.offset().top-40}, 250);
				_this.find("span").removeClass("icon_plus").addClass("icon_minus");
			}
			_this.blur();
			return false;
		});
	}

	if ($(".ctrl_feedback").length) {
		$(".ctrl_feedback").click(function(e) {
			$("#_fb_img").click();
			return false;
		});
	}

	if ($(".ctrl_produktmerkmale").length) {
		$(".ctrl_produktmerkmale").click(function(e) {
			var _this = $(this);
			if (_this.find("span").hasClass("icon_minus")) {
				_this.closest("td").find("p").slideUp(250);
				_this.find("span").removeClass("icon_minus").addClass("icon_plus");
			} else {
				_this.closest("td").find("p").slideDown(250);
				_this.find("span").removeClass("icon_plus").addClass("icon_minus");
			}
			_this.blur();
			return false;
		});
	}

	
	if ($(".frm_button_link").length) {
		if($(".tx_powermail_pi1_fieldwrap_html_captcha").length){
			$(".tx_powermail_pi1_fieldwrap_html_captcha").find("input").blur(function(i){
				if($(".tx_powermail_pi1_fieldwrap_html_captcha").find("input").val()==""){
					$(".tx_powermail_pi1_fieldwrap_html_captcha").find(".pwm_captcha_error").addClass("pwm_invalid");
				}else{
					$(".tx_powermail_pi1_fieldwrap_html_captcha").find(".pwm_captcha_error").removeClass("pwm_invalid");
				}
			});
		}
		
		$(".frm_button_link").click(function(e) {
			if($(this).closest("form").length){
				if($(".tx_powermail_pi1_fieldwrap_html_captcha").length){
					if($(".tx_powermail_pi1_fieldwrap_html_captcha").find("input").val()==""){
						$(".tx_powermail_pi1_fieldwrap_html_captcha").find(".pwm_captcha_error").addClass("pwm_invalid");
					}else{
						$(".tx_powermail_pi1_fieldwrap_html_captcha").find(".pwm_captcha_error").removeClass("pwm_invalid");
					}
				}				
				$(this).closest("form").submit();
				return false;
			}
		});
	}

	if ($(".frm_button_header_link").length) {
		$(".frm_button_header_link").click(function(e) {
			$(this).closest("form").submit();
		});
	}

	if ($("#frm_suche_stichwort_header").length) {
		$("#frm_suche_stichwort_header").click(function(e) {
			$(this).val("");
		});
		$("#frm_suche_stichwort_header").blur(function(e) {
			if ($(this).val().length == 0) {
				$(this).val("Stichwortsuche");
			}
		});
	}

	if ($(".wck_teaser_content").length) {
		$(".wck_teaser_content").hover(function(e) {
			$(this).find(".wck_image").hide();
		}, function(e) {
			$(this).find(".wck_image").show();
		});
	}

	if ($(".n1_link").length) {
		var timer_layer = null;

		$(".n1_link").hover(function(e) {
			if (variables.former_layer_id != null) {
				$("#nav1st_layer_" + variables.former_layer_id).hide();
				window.clearTimeout(timer_layer);
			}
			do_not_close = false;
			variables.current_layer_id = $(this).attr("id").replace("nav1st_elem_", "");
			var offset_wrapper = $(".wrp_nav_1st").offset();
			var offset_elem = Math.min(682, $(this).offset().left - offset_wrapper.left + 5);
			if($("#nav1st_layer_" + variables.current_layer_id).find("ul").length){
				$("#nav1st_layer_" + variables.current_layer_id).css({
					"left" : offset_elem
				}).show();
			}
			variables.former_layer_id = variables.current_layer_id;
		}, function(e) {
			timer_layer = window.setTimeout('hide_layer(variables.current_layer_id)', 50);
		});

		$(".nav_1st_layer").hover(function(e) {
			window.clearTimeout(timer_layer);
		}, function(e) {
			$("#nav1st_layer_" + variables.current_layer_id).hide();
		});
	}

	if ($(".wrp_nav_2nd").find("li.flg_is_active").length) {
		$(".wrp_nav_2nd").find("li.flg_is_active").find("ul").removeClass("hide");
	}

	if ($("#cnt_googlemap").length) {
		var myOptions = {
		    zoom : 11,
		    center : new google.maps.LatLng(51.1938818, 6.706766),
		    mapTypeId : google.maps.MapTypeId.ROADMAP
		};
		var map = new google.maps.Map(document.getElementById("cnt_googlemap"), myOptions);

		var geocoder = new google.maps.Geocoder();
		var address = $("#googlemaps_adressdata").html();
		if (geocoder) {
			geocoder.geocode({
				'address' : address
			}, function(results, status) {
				if (status == google.maps.GeocoderStatus.OK) {
					map.setCenter(results[0].geometry.location);
					var marker = new google.maps.Marker({
					    map : map,
					    position : results[0].geometry.location
					});
				}
			});
		}

		var link_routenplaner = "http://maps.google.com/maps?daddr=" + encodeURI("Deutschland " + address) + "&geocode=&saddr=&f=d&hl=de&sll=52.517515,13.397826&sspn=0.010446,0.025513&ie=UTF8&z=11";
		$("#googlemaps_routenplaner").attr("href", link_routenplaner);
	}

	$("*").each(function() {
		$(this).attr("hideFocus", "true");
	});	
	
	mobileManager._init();
});
/* opt: done */
function eslb_preprocess_gallerydata(_appobj) {
	var _pool = [];
	if (_appobj.parameter.rel != null) {
		/* multi image integration (grouped by link.attr["rel"] */
		cache.mng("body a").filter(".lightbox").each(function(e) {
			var _this = $(this);
			if (_this.attr("rel") == _appobj.parameter.rel) {
				var _title = _this.attr("title");
				var _description = _this.attr("rev");
				if ((_title && _title.length) || _description.length) {
					_pool.push({
					    'img_title' : '<h3 class="sl1214 bold">' + _title + '</h3><span class="sl1012">' + _description + '</span>',
					    'img_url' : _this.attr("href")
					});
				} else {
					_pool.push({
					    'img_title' : '',
					    'img_url' : _this.attr("href")
					});
				}
			}
		});
	} else {
		/* single image integration */
		_pool.push({
		    'img_title' : '', //_appobj.parameter.title,
		    'img_url' : _appobj.parameter.href
		});
	}
	$.extend(true, _appobj, {
		parameter : {
			rev : {
				'imagepool' : _pool
			}
		}
	});
	return _appobj;
}

function ie_1px_bugfix() {
	if ($.browser.msie) {
		var _width = $(window).width();
		if (_width % 2 == 1) {
			$(".page").css("padding-right", "1px");
		} else {
			$(".page").css("padding-right", "0px");
		}
	}
}

function hide_layer(id) {
	$("#nav1st_layer_" + id).hide();
}

/* obj-caching */
function cache_init(_debug, _id, _excludes_stats) {
	var $cache_obj = {
	    _cache : {},
	    _debug : {
	        active : false,
	        trigger : null,
	        cache_inits : 0,
	        cache_usage : 0,
	        counter : {},
	        excludes_stat : null,
	        excludes_cache : null
	    },
	    debug : function(_debug, _id) {
		    this._debug.active = _debug;
		    this._debug.trigger = _id;
		    var _this = this;
		    if (this._debug.active == true) {
			    $(this._debug.trigger).click(function(e) {
				    _this.stats();
			    });
		    }
		    this._debug.excludes_stat = _excludes_stats;
	    },
	    stats : function() {
		    console.clear();
		    console.log(this._cache);
		    console.log("cache inits: " + this._debug["cache_inits"]);
		    console.log("total usage: " + this._debug["cache_usage"]);
		    console.log("------------------------------------------------------------------------------------------------------------");
		    for (_key in this._debug.counter) {
			    if (!(("~" + this._debug.excludes_stat + "~").indexOf("~" + _key + "~") > -1)) {
				    console.log("cache usage: " + this._debug.counter[_key] + "x for '" + _key + "'");
			    }
		    }
		    ;
		    console.log("------------------------------------------------------------------------------------------------------------");
	    },
	    mng : function(_lookup, _reset, _debug) {
		    var _is_id_or_complex = false;
		    var _action = "";
		    if (_reset == true) {
			    this._cache[_lookup] = null;
		    }
		    if (!this._cache[_lookup] || this._cache[_lookup] == null) {
			    _action = "fill cache: " + _lookup;
			    if ((_lookup.indexOf("#") == -1 && _lookup.indexOf(".") == -1) || (_lookup.indexOf(",") > -1)) {
				    _is_id_or_complex = true;
			    }
			    if (_is_id_or_complex == false && _lookup.indexOf("#") > -1) {
				    _is_id_or_complex = true;
			    }
			    if (_is_id_or_complex == false && _lookup.indexOf(".") > -1) {
				    var _tmp = _lookup.split(".");
				    if (_tmp.length > 2) {
					    _is_id_or_complex = true;
				    }
			    }
			    if (_is_id_or_complex == false) {
				    _action += " (simple)";
				    this._cache[_lookup] = this.optimize(_lookup.replace(".", "").replace("#", ""));
			    } else {
				    _action += " (complex)";
				    this._cache[_lookup] = $(_lookup);
			    }
			    if (!(("~" + this._debug.excludes_stat + "~").indexOf("~" + _lookup + "~") > -1)) {
				    this._debug["cache_inits"] += 1;
			    }
		    } else {
			    _action = "from cache: " + _lookup;
			    if (!this._debug.counter[_lookup]) {
				    this._debug.counter[_lookup] = 0;
			    }
			    if (!(("~" + this._debug.excludes_stat + "~").indexOf("~" + _lookup + "~") > -1)) {
				    this._debug["cache_usage"] += 1;
				    this._debug.counter[_lookup] += 1;
			    }
		    }
		    if (_debug) {
			    console.log(_action);
		    }
		    return this._cache[_lookup];
	    },
	    optimize : function(_lookup) {
		    var _dt = new Date();
		    var _id = "cctrl" + _dt.getTime() + "_" + _lookup.replace(" ", "_");
		    var _count = $("." + _lookup).length;
		    if (_count == 1) {
			    var _x_id = $("." + _lookup).attr("id");
			    if (_x_id) {
				    return $("#" + _x_id);
			    } else {
				    $("." + _lookup).attr("id", _id);
				    return $("#" + _id);
			    }
		    } else {
			    return $("." + _lookup);
		    }
	    }
	}

	$cache_obj.debug(_debug, _id);
	return $cache_obj;
}
/*
 * AnythingSlider Video Controller 1.4 beta minified
 * for AnythingSlider v1.6+
 * By Rob Garrison (aka Mottie & Fudgey)
 * Dual licensed under the MIT and GPL licenses.
 */
;(function(d){d.fn.anythingSliderVideo=function(c){var a={videoId:"asvideo",wmode:"opaque",youtubeAutoLoad:!0,youtubeParams:{modestbranding:1,iv_load_policy:3,fs:1}};return this.each(function(){var b,e,h,f,g=d(this).data("AnythingSlider");if(g){b=g.video={};b.options=d.extend({},a,c);b.hasSwfo="undefined"!==typeof swfobject&&swfobject.hasOwnProperty("embedSWF")&&"function"===typeof swfobject.embedSWF&&swfobject.hasFlashPlayerVersion("1");b.list={};b.hasVid=!1;b.hasEmbed=!1;b.services=d.fn.anythingSliderVideo.services; b.hasEmbedCount=0;b.hasiframeCount=0;b.$items=g.$items.filter(":not(.cloned)");for(h in b.services)"string"===typeof h&&(f=b.services[h].selector,b.$items.find(f).each(function(){e=d(this);e.attr("id",b.options.videoId+d.fn.anythingSliderVideo.videoIndex);b.list[d.fn.anythingSliderVideo.videoIndex]={id:b.options.videoId+d.fn.anythingSliderVideo.videoIndex++,panel:e.closest(".panel")[0],service:h,selector:f,status:-1};b.hasVid=!0;f.match("embed|object")?(b.hasEmbed=!0,b.hasEmbedCount++):f.match("iframe")&& b.hasiframeCount++}));d.each(b.list,function(c,a){var l,e,h,f,m=d(a.panel).find(a.selector),j=b.services[a.service],p=j.api&&j.api.initParam||"",n=j.api&&j.api.playerId||"";b.hasEmbed&&b.hasSwfo&&a.selector.match("embed|object")?m.each(function(){l=d(this);e="OBJECT"===d(this).parent()[0].tagName?d(this).parent():d(this);h="EMBED"===e[0].tagName?e.attr("src"):e.find("embed").attr("src")||e.children().filter("[name=movie]").attr("value");f=d.extend(!0,{},{flashvars:null,params:{allowScriptAccess:"always", wmode:b.options.wmode||g.options.addWmodeToObject,allowfullscreen:!0},attr:{"class":e.attr("class"),style:e.attr("style"),"data-url":h}},j.embedOpts);e.wrap('<div id="'+a.id+'"></div>');swfobject.embedSWF(h+p+(n?n+a.id:""),a.id,e.attr("width"),e.attr("height"),"10",null,f.flashvars,f.params,f.attr,function(){j.hasOwnProperty("init")&&j.init(g,l,c);c>=b.hasEmbedCount&&g.$el.trigger("swf_completed",g)})}):a.selector.match("iframe")&&m.each(function(){var b=d(this);j.hasOwnProperty("init")&&j.init(g, b,c)})});b.gup=function(b,c){b=b.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var a=RegExp("[\\?&]"+b+"=([^&#]*)").exec(c||window.location.href);return null===a?"":a[1]};b.postMsg=function(b,c){var a=d("#"+c);a.length&&a[0].contentWindow.postMessage(b,a.attr("src").split("?")[0])};b.message=function(a){if(a.data&&!/infoDelivery/g.test(a.data)){var c=d.parseJSON(a.data);d.each(b.list,function(a){b.services[b.list[a].service].hasOwnProperty("message")&&b.services[b.list[a].service].message(g,c)})}}; b.control=function(a){var c,e=b.list,h="pause"===a?g.$lastPage[0]:g.$currentPage[0],f=!1;for(c=0;c<d.fn.anythingSliderVideo.videoIndex;c++)e[c].panel===h&&b.services[e[c].service].hasOwnProperty(a)&&(f=b.services[e[c].service][a](g,d("#"+e[c].id),c));return f};b.bindFrames=function(a){window.addEventListener?window.addEventListener(a,b.message,!1):window.attachEvent(/^on/.test(a)?a:"on"+a,b.message,!1)};b.hasiframeCount&&b.bindFrames("message");g.$el.bind("slide_init",function(){b.control("pause")}).bind("slide_complete", function(){b.control("cont")});g.options.isVideoPlaying=function(){return b.control("isPlaying")}}})};d.fn.anythingSliderVideo.videoIndex=0;d.fn.anythingSliderVideo.services={video:{selector:"video",cont:function(c,a){c.options.resumeOnVisible&&(a.length&&a[0].paused&&0<a[0].currentTime&&!a[0].ended)&&a[0].play()},pause:function(){d("video").each(function(){"undefined"!==typeof this.pause&&this.pause()})},isPlaying:function(c,a){return a.length&&"undefined"!==typeof a[0].pause&&!a[0].paused&&!a[0].ended? !0:!1}},vimeo1:{selector:"iframe[src*=vimeo]",init:function(c,a){var b=a.attr("src");a.attr("src",function(d,h){return h+(b.match(/\?/g)?"":"?")+"&wmode="+(c.video.options.wmode||c.options.addWmodeToObject)+"&api=1&player_id="+a[0].id})},cont:function(c,a,b){c.options.resumeOnVisible&&"pause"===c.video.list[b].status&&c.video.postMsg('{"method":"play"}',a[0].id)},pause:function(c){d("iframe[src*=vimeo]").each(function(){c.video.postMsg('{"method":"pause"}',this.id)})},message:function(c,a){var b, d=a.player_id||"";""!==d&&(b=d.replace(c.video.options.videoId,""),"ready"===a.event&&(c.video.postMsg('{"method":"addEventListener","value":"play"}',d),c.video.postMsg('{"method":"addEventListener","value":"pause"}',d),c.video.postMsg('{"method":"addEventListener","value":"finish"}',d)),c.video.list[b]&&(c.video.list[b].status=a.event))},isPlaying:function(c,a,b){return"play"===c.video.list[b].status?!0:!1}},vimeo2:{selector:"object[data-url*=vimeo], embed[src*=vimeo]",embedOpts:{flashvars:{api:1}}, cont:function(c,a){c.options.resumeOnVisible&&"function"===typeof a[0].api_play&&(a[0].api_paused()&&0!==a[0].api_getCurrentTime()&&2<a[0].api_getDuration()-a[0].api_getCurrentTime())&&a[0].api_play()},pause:function(){d("object[data-url*=vimeo], embed[src*=vimeo]").each(function(){var c="EMBED"===this.tagName?d(this).parent()[0]:this;"function"===typeof c.api_pause&&c.api_pause()})},isPlaying:function(c,a){return"function"===typeof a[0].api_paused&&!a[0].api_paused()?!0:!1}},youtube1:{selector:"iframe[src*=youtube]", init:function(c,a,b){!d.fn.anythingSliderVideo.youTubeLoaded&&c.video.options.youtubeAutoLoad&&d.getScript("http://www.youtube.com/iframe_api",function(){d.fn.anythingSliderVideo.youTubeLoaded=!0});var e=0,h=setInterval(function(){if(d.fn.anythingSliderVideo.youTubeReady){var f=a[0].id,g=a.attr("src").split("embed/")[1],k=c.video.options.youtubeParams;k.wmode=c.video.options.wmode||c.options.addWmodeToObject||"opaque";a.wrap('<div id="'+f+'"/>').attr("id","");c.video.list[b].player=new YT.Player(f, {height:"100%",width:"100%",videoId:g,playerVars:k,events:{onReady:function(a){c.video.list[b].status=a.data},onStateChange:function(a){c.video.list[b].status=a.data}}});clearInterval(h)}60<++e&&clearInterval(h)},1E3)},cont:function(c,a,b){c.options.resumeOnVisible&&2===c.video.list[b].status&&c.video.list[b].player&&c.video.list[b].player.playVideo()},pause:function(c,a,b){c.video.list[b].player&&c.video.list[b].player.pauseVideo()},isPlaying:function(c,a,b){c=c.video.list[b].status;return 1===c|| 2<c?!0:!1}},youtube2:{selector:"object[data-url*=youtube], embed[src*=youtube]",api:{initParam:"&enablejsapi=1",playerId:"&iv_load_policy=3&version=3&playerapiid="},cont:function(c,a){c.options.resumeOnVisible&&a.length&&("function"===typeof a[0].getPlayerState&&0<a[0].getPlayerState())&&a[0].playVideo()},pause:function(){d("object[data-url*=youtube], embed[src*=youtube]").each(function(){var c="EMBED"===this.tagName?d(this).parent()[0]:this;"function"===typeof c.getPlayerState&&0<c.getPlayerState()&& c.pauseVideo()})},isPlaying:function(c,a){return"function"===typeof a[0].getPlayerState&&(1===a[0].getPlayerState()||2<a[0].getPlayerState())?!0:!1}}}})(jQuery);function onYouTubeIframeAPIReady(){$.fn.anythingSliderVideo.youTubeReady=!0};

var browserName=navigator.appName;var browserVer=parseInt(navigator.appVersion);var version="";var msie4=(browserName=="Microsoft Internet Explorer"&&browserVer>=4);if((browserName=="Netscape"&&browserVer>=3)||msie4||browserName=="Konqueror"||browserName=="Opera"){version="n3";}else{version="n2";}
function blurLink(theObject){if(msie4){theObject.blur();}}
function decryptCharcode(n,start,end,offset){n=n+offset;if(offset>0&&n>end){n=start+(n-end-1);}else if(offset<0&&n<start){n=end-(start-n-1);}
return String.fromCharCode(n);}
function decryptString(enc,offset){var dec="";var len=enc.length;for(var i=0;i<len;i++){var n=enc.charCodeAt(i);if(n>=0x2B&&n<=0x3A){dec+=decryptCharcode(n,0x2B,0x3A,offset);}else if(n>=0x40&&n<=0x5A){dec+=decryptCharcode(n,0x40,0x5A,offset);}else if(n>=0x61&&n<=0x7A){dec+=decryptCharcode(n,0x61,0x7A,offset);}else{dec+=enc.charAt(i);}}
return dec;}
function linkTo_UnCryptMailto(s){location.href=decryptString(s,3);}