window.log = function(){
  log.history = log.history || [];
  log.history.push(arguments);
  arguments.callee = arguments.callee.caller;  
  if(this.console) console.log( Array.prototype.slice.call(arguments) );
};
(function(b){function c(){}for(var d="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","),a;a=d.pop();)b[a]=b[a]||c})(window.console=window.console||{});







(function(p,j){function u(){if(!c.isReady){try{v.documentElement.doScroll("left")}catch(a){setTimeout(u,1);return}c.ready()}}function t(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function o(a,b,e,g,f,l){var k=a.length;if(typeof b==="object"){for(var s in b)o(a,s,b[s],g,f,e);return a}if(e!==j){g=!l&&g&&c.isFunction(e);for(s=0;s<k;s++)f(a[s],b,g?e.call(a[s],s,f(a[s],b)):e,l);return a}return k?
f(a[0],b):j}function z(){return(new Date).getTime()}function G(){return false}function U(){return true}function R(a,b,e){e[0].type=a;return c.event.handle.apply(b,e)}function S(a){var b,e=[],g=[],f=arguments,l,k,s,m,r,y;k=c.data(this,"events");if(!(a.liveFired===this||!k||!k.live||a.button&&a.type==="click")){a.liveFired=this;var B=k.live.slice(0);for(m=0;m<B.length;m++){k=B[m];k.origType.replace(da,"")===a.type?g.push(k.selector):B.splice(m--,1)}l=c(a.target).closest(g,a.currentTarget);r=0;for(y=
l.length;r<y;r++)for(m=0;m<B.length;m++){k=B[m];if(l[r].selector===k.selector){s=l[r].elem;g=null;if(k.preType==="mouseenter"||k.preType==="mouseleave")g=c(a.relatedTarget).closest(k.selector)[0];if(!g||g!==s)e.push({elem:s,handleObj:k})}}r=0;for(y=e.length;r<y;r++){l=e[r];a.currentTarget=l.elem;a.data=l.handleObj.data;a.handleObj=l.handleObj;if(l.handleObj.origHandler.apply(l.elem,f)===false){b=false;break}}return b}}function L(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
"&")}function Z(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ea(a,b){var e=0;b.each(function(){if(this.nodeName===(a[e]&&a[e].nodeName)){var g=c.data(a[e++]),f=c.data(this,g);if(g=g&&g.events){delete f.handle;f.events={};for(var l in g)for(var k in g[l])c.event.add(this,l,g[l][k],g[l][k].data)}}})}function fa(a,b,e){var g,f,l;b=b&&b[0]?b[0].ownerDocument||b[0]:v;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===v&&!Ca.test(a[0])&&(c.support.checkClone||!Da.test(a[0]))){f=
true;if(l=c.fragments[a[0]])if(l!==1)g=l}if(!g){g=b.createDocumentFragment();c.clean(a,b,g,e)}if(f)c.fragments[a[0]]=l?g:1;return{fragment:g,cacheable:f}}function T(a,b){var e={};c.each(Ea.concat.apply([],Ea.slice(0,b)),function(){e[this]=a});return e}function V(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},oa=p.jQuery,J=p.$,v=p.document,N,K=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,M=/^.[^:#\[\.,]*$/,ka=/\S/,$=
/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Ya=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,ga=navigator.userAgent,Fa=false,ha=[],aa,pa=Object.prototype.toString,qa=Object.prototype.hasOwnProperty,ra=Array.prototype.push,ia=Array.prototype.slice,Ga=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var e,g;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=v;this[0]=v.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((e=K.exec(a))&&
(e[1]||!b))if(e[1]){g=b?b.ownerDocument||b:v;if(a=Ya.exec(a))if(c.isPlainObject(b)){a=[v.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[g.createElement(a[1])];else{a=fa([e[1]],[g]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=v.getElementById(e[2])){if(b.id!==e[2])return N.find(a);this.length=1;this[0]=b}this.context=v;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=v;a=v.getElementsByTagName(a);return c.merge(this,
a)}else return!b||b.jquery?(b||N).find(a):c(b).find(a);else if(c.isFunction(a))return N.ready(a);if(a.selector!==j){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return ia.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,e){var g=c();c.isArray(a)?ra.apply(g,a):c.merge(g,a);g.prevObject=this;g.context=this.context;if(b===
"find")g.selector=this.selector+(this.selector?" ":"")+e;else if(b)g.selector=this.selector+"."+b+"("+e+")";return g},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(v,c);else ha&&ha.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(ia.apply(this,arguments),"slice",ia.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
function(b,e){return a.call(b,e,b)}))},end:function(){return this.prevObject||c(null)},push:ra,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,e=arguments.length,g=false,f,l,k,s;if(typeof a==="boolean"){g=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(e===b){a=this;--b}for(;b<e;b++)if((f=arguments[b])!=null)for(l in f){k=a[l];s=f[l];if(a!==s)if(g&&s&&(c.isPlainObject(s)||c.isArray(s))){k=k&&(c.isPlainObject(k)||
c.isArray(k))?k:c.isArray(s)?[]:{};a[l]=c.extend(g,k,s)}else if(s!==j)a[l]=s}return a};c.extend({noConflict:function(a){p.$=J;if(a)p.jQuery=oa;return c},isReady:false,ready:function(){if(!c.isReady){if(!v.body)return setTimeout(c.ready,13);c.isReady=true;if(ha){for(var a,b=0;a=ha[b++];)a.call(v,c);ha=null}c.fn.triggerHandler&&c(v).triggerHandler("ready")}},bindReady:function(){if(!Fa){Fa=true;if(v.readyState==="complete")return c.ready();if(v.addEventListener){v.addEventListener("DOMContentLoaded",
aa,false);p.addEventListener("load",c.ready,false)}else if(v.attachEvent){v.attachEvent("onreadystatechange",aa);p.attachEvent("onload",c.ready);var a=false;try{a=p.frameElement==null}catch(b){}v.documentElement.doScroll&&a&&u()}}},isFunction:function(a){return pa.call(a)==="[object Function]"},isArray:function(a){return pa.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||pa.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!qa.call(a,"constructor")&&
!qa.call(a.constructor.prototype,"isPrototypeOf"))return false;var b;for(b in a);return b===j||qa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return p.JSON&&p.JSON.parse?p.JSON.parse(a):
(new Function("return "+a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&ka.test(a)){var b=v.getElementsByTagName("head")[0]||v.documentElement,e=v.createElement("script");e.type="text/javascript";if(c.support.scriptEval)e.appendChild(v.createTextNode(a));else e.text=a;b.insertBefore(e,b.firstChild);b.removeChild(e)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,e){var g,f=0,l=a.length,k=l===j||c.isFunction(a);
if(e)if(k)for(g in a){if(b.apply(a[g],e)===false)break}else for(;f<l;){if(b.apply(a[f++],e)===false)break}else if(k)for(g in a){if(b.call(a[g],g,a[g])===false)break}else for(e=a[0];f<l&&b.call(e,f,e)!==false;e=a[++f]);return a},trim:function(a){return(a||"").replace($,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ra.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var e=
0,g=b.length;e<g;e++)if(b[e]===a)return e;return-1},merge:function(a,b){var e=a.length,g=0;if(typeof b.length==="number")for(var f=b.length;g<f;g++)a[e++]=b[g];else for(;b[g]!==j;)a[e++]=b[g++];a.length=e;return a},grep:function(a,b,e){for(var g=[],f=0,l=a.length;f<l;f++)!e!==!b(a[f],f)&&g.push(a[f]);return g},map:function(a,b,e){for(var g=[],f,l=0,k=a.length;l<k;l++){f=b(a[l],l,e);if(f!=null)g[g.length]=f}return g.concat.apply([],g)},guid:1,proxy:function(a,b,e){if(arguments.length===2)if(typeof b===
"string"){e=a;a=e[b];b=j}else if(b&&!c.isFunction(b)){e=b;b=j}if(!b&&a)b=function(){return a.apply(e||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});ga=c.uaMatch(ga);if(ga.browser){c.browser[ga.browser]=true;
c.browser.version=ga.version}if(c.browser.webkit)c.browser.safari=true;if(Ga)c.inArray=function(a,b){return Ga.call(b,a)};N=c(v);if(v.addEventListener)aa=function(){v.removeEventListener("DOMContentLoaded",aa,false);c.ready()};else if(v.attachEvent)aa=function(){if(v.readyState==="complete"){v.detachEvent("onreadystatechange",aa);c.ready()}};(function(){c.support={};var a=v.documentElement,b=v.createElement("script"),e=v.createElement("div"),g="script"+z();e.style.display="none";e.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
var f=e.getElementsByTagName("*"),l=e.getElementsByTagName("a")[0];if(!(!f||!f.length||!l)){c.support={leadingWhitespace:e.firstChild.nodeType===3,tbody:!e.getElementsByTagName("tbody").length,htmlSerialize:!!e.getElementsByTagName("link").length,style:/red/.test(l.getAttribute("style")),hrefNormalized:l.getAttribute("href")==="/a",opacity:/^0.55$/.test(l.style.opacity),cssFloat:!!l.style.cssFloat,checkOn:e.getElementsByTagName("input")[0].value==="on",optSelected:v.createElement("select").appendChild(v.createElement("option")).selected,
parentNode:e.removeChild(e.appendChild(v.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(v.createTextNode("window."+g+"=1;"))}catch(k){}a.insertBefore(b,a.firstChild);if(p[g]){c.support.scriptEval=true;delete p[g]}try{delete b.test}catch(s){c.support.deleteExpando=false}a.removeChild(b);if(e.attachEvent&&e.fireEvent){e.attachEvent("onclick",function m(){c.support.noCloneEvent=
false;e.detachEvent("onclick",m)});e.cloneNode(true).fireEvent("onclick")}e=v.createElement("div");e.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=v.createDocumentFragment();a.appendChild(e.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var m=v.createElement("div");m.style.width=m.style.paddingLeft="1px";v.body.appendChild(m);c.boxModel=c.support.boxModel=m.offsetWidth===2;v.body.removeChild(m).style.display="none"});a=function(m){var r=
v.createElement("div");m="on"+m;var y=m in r;if(!y){r.setAttribute(m,"return;");y=typeof r[m]==="function"}return y};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=e=f=l=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var W="jQuery"+z(),Za=0,Ha={};c.extend({cache:{},expando:W,noData:{embed:true,object:true,
applet:true},data:function(a,b,e){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==p?Ha:a;var g=a[W],f=c.cache;if(!g&&typeof b==="string"&&e===j)return null;g||(g=++Za);if(typeof b==="object"){a[W]=g;f[g]=c.extend(true,{},b)}else if(!f[g]){a[W]=g;f[g]={}}a=f[g];if(e!==j)a[b]=e;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==p?Ha:a;var e=a[W],g=c.cache,f=g[e];if(b){if(f){delete f[b];c.isEmptyObject(f)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];
else a.removeAttribute&&a.removeAttribute(c.expando);delete g[e]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var e=a.split(".");e[1]=e[1]?"."+e[1]:"";if(b===j){var g=this.triggerHandler("getData"+e[1]+"!",[e[0]]);if(g===j&&this.length)g=c.data(this[0],a);return g===j&&e[1]?this.data(e[0]):g}else return this.trigger("setData"+e[1]+"!",[e[0],b]).each(function(){c.data(this,
a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,e){if(a){b=(b||"fx")+"queue";var g=c.data(a,b);if(!e)return g||[];if(!g||c.isArray(e))g=c.data(a,b,c.makeArray(e));else g.push(e);return g}},dequeue:function(a,b){b=b||"fx";var e=c.queue(a,b),g=e.shift();if(g==="inprogress")g=e.shift();if(g){b==="fx"&&e.unshift("inprogress");g.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===
j)return c.queue(this[0],a);return this.each(function(){var e=c.queue(this,a,b);a==="fx"&&e[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var e=this;setTimeout(function(){c.dequeue(e,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Ia=/[\n\t]/g,sa=/\s+/,$a=/\r/g,ab=/href|src|style/,bb=/(button|input)/i,cb=/(button|input|object|select|textarea)/i,
db=/^(a|area)$/i,Ja=/radio|checkbox/;c.fn.extend({attr:function(a,b){return o(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(r){var y=c(this);y.addClass(a.call(this,r,y.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(sa),e=0,g=this.length;e<g;e++){var f=this[e];if(f.nodeType===1)if(f.className){for(var l=" "+f.className+" ",
k=f.className,s=0,m=b.length;s<m;s++)if(l.indexOf(" "+b[s]+" ")<0)k+=" "+b[s];f.className=c.trim(k)}else f.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(m){var r=c(this);r.removeClass(a.call(this,m,r.attr("class")))});if(a&&typeof a==="string"||a===j)for(var b=(a||"").split(sa),e=0,g=this.length;e<g;e++){var f=this[e];if(f.nodeType===1&&f.className)if(a){for(var l=(" "+f.className+" ").replace(Ia," "),k=0,s=b.length;k<s;k++)l=l.replace(" "+b[k]+" ",
" ");f.className=c.trim(l)}else f.className=""}return this},toggleClass:function(a,b){var e=typeof a,g=typeof b==="boolean";if(c.isFunction(a))return this.each(function(f){var l=c(this);l.toggleClass(a.call(this,f,l.attr("class"),b),b)});return this.each(function(){if(e==="string")for(var f,l=0,k=c(this),s=b,m=a.split(sa);f=m[l++];){s=g?s:!k.hasClass(f);k[s?"addClass":"removeClass"](f)}else if(e==="undefined"||e==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=
this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,e=this.length;b<e;b++)if((" "+this[b].className+" ").replace(Ia," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===j){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var e=b.selectedIndex,g=[],f=b.options;b=b.type==="select-one";if(e<0)return null;var l=b?e:0;for(e=b?e+1:f.length;l<e;l++){var k=
f[l];if(k.selected){a=c(k).val();if(b)return a;g.push(a)}}return g}if(Ja.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace($a,"")}return j}var s=c.isFunction(a);return this.each(function(m){var r=c(this),y=a;if(this.nodeType===1){if(s)y=a.call(this,m,r.val());if(typeof y==="number")y+="";if(c.isArray(y)&&Ja.test(this.type))this.checked=c.inArray(r.val(),y)>=0;else if(c.nodeName(this,"select")){var B=c.makeArray(y);c("option",this).each(function(){this.selected=
c.inArray(c(this).val(),B)>=0});if(!B.length)this.selectedIndex=-1}else this.value=y}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,e,g){if(!a||a.nodeType===3||a.nodeType===8)return j;if(g&&b in c.attrFn)return c(a)[b](e);g=a.nodeType!==1||!c.isXMLDoc(a);var f=e!==j;b=g&&c.props[b]||b;if(a.nodeType===1){var l=ab.test(b);if(b in a&&g&&!l){if(f){b==="type"&&bb.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
a[b]=e}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:cb.test(a.nodeName)||db.test(a.nodeName)&&a.href?0:j;return a[b]}if(!c.support.style&&g&&b==="style"){if(f)a.style.cssText=""+e;return a.style.cssText}f&&a.setAttribute(b,""+e);a=!c.support.hrefNormalized&&g&&l?a.getAttribute(b,2):a.getAttribute(b);return a===null?j:a}return c.style(a,b,e)}});var da=/\.(.*)$/,eb=function(a){return a.replace(/[^\w\s\.\|`]/g,
function(b){return"\\"+b})};c.event={add:function(a,b,e,g){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==p&&!a.frameElement)a=p;var f,l;if(e.handler){f=e;e=f.handler}if(!e.guid)e.guid=c.guid++;if(l=c.data(a)){var k=l.events=l.events||{},s=l.handle;if(!s)l.handle=s=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(s.elem,arguments):j};s.elem=a;b=b.split(" ");for(var m,r=0,y;m=b[r++];){l=f?c.extend({},f):{handler:e,data:g};if(m.indexOf(".")>-1){y=m.split(".");
m=y.shift();l.namespace=y.slice(0).sort().join(".")}else{y=[];l.namespace=""}l.type=m;l.guid=e.guid;var B=k[m],F=c.event.special[m]||{};if(!B){B=k[m]=[];if(!F.setup||F.setup.call(a,g,y,s)===false)if(a.addEventListener)a.addEventListener(m,s,false);else a.attachEvent&&a.attachEvent("on"+m,s)}if(F.add){F.add.call(a,l);if(!l.handler.guid)l.handler.guid=e.guid}B.push(l);c.event.global[m]=true}a=null}}},global:{},remove:function(a,b,e,g){if(!(a.nodeType===3||a.nodeType===8)){var f,l=0,k,s,m,r,y,B,F=c.data(a),
I=F&&F.events;if(F&&I){if(b&&b.type){e=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(f in I)c.event.remove(a,f+b)}else{for(b=b.split(" ");f=b[l++];){r=f;k=f.indexOf(".")<0;s=[];if(!k){s=f.split(".");f=s.shift();m=new RegExp("(^|\\.)"+c.map(s.slice(0).sort(),eb).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(y=I[f])if(e){r=c.event.special[f]||{};for(H=g||0;H<y.length;H++){B=y[H];if(e.guid===B.guid){if(k||m.test(B.namespace)){g==null&&y.splice(H--,1);r.remove&&r.remove.call(a,B)}if(g!=
null)break}}if(y.length===0||g!=null&&y.length===1){if(!r.teardown||r.teardown.call(a,s)===false)Ka(a,f,F.handle);delete I[f]}}else for(var H=0;H<y.length;H++){B=y[H];if(k||m.test(B.namespace)){c.event.remove(a,r,B.handler,H);y.splice(H--,1)}}}if(c.isEmptyObject(I)){if(b=F.handle)b.elem=null;delete F.events;delete F.handle;c.isEmptyObject(F)&&c.removeData(a)}}}}},trigger:function(a,b,e,g){var f=a.type||a;if(!g){a=typeof a==="object"?a[W]?a:c.extend(c.Event(f),a):c.Event(f);if(f.indexOf("!")>=0){a.type=
f=f.slice(0,-1);a.exclusive=true}if(!e){a.stopPropagation();c.event.global[f]&&c.each(c.cache,function(){this.events&&this.events[f]&&c.event.trigger(a,b,this.handle.elem)})}if(!e||e.nodeType===3||e.nodeType===8)return j;a.result=j;a.target=e;b=c.makeArray(b);b.unshift(a)}a.currentTarget=e;(g=c.data(e,"handle"))&&g.apply(e,b);g=e.parentNode||e.ownerDocument;try{if(!(e&&e.nodeName&&c.noData[e.nodeName.toLowerCase()]))if(e["on"+f]&&e["on"+f].apply(e,b)===false)a.result=false}catch(l){}if(!a.isPropagationStopped()&&
g)c.event.trigger(a,b,g,true);else if(!a.isDefaultPrevented()){g=a.target;var k,s=c.nodeName(g,"a")&&f==="click",m=c.event.special[f]||{};if((!m._default||m._default.call(e,a)===false)&&!s&&!(g&&g.nodeName&&c.noData[g.nodeName.toLowerCase()])){try{if(g[f]){if(k=g["on"+f])g["on"+f]=null;c.event.triggered=true;g[f]()}}catch(r){}if(k)g["on"+f]=k;c.event.triggered=false}}},handle:function(a){var b,e,g,f;a=arguments[0]=c.event.fix(a||p.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
if(!b){e=a.type.split(".");a.type=e.shift();g=new RegExp("(^|\\.)"+e.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}f=c.data(this,"events");e=f[a.type];if(f&&e){e=e.slice(0);f=0;for(var l=e.length;f<l;f++){var k=e[f];if(b||g.test(k.namespace)){a.handler=k.handler;a.data=k.data;a.handleObj=k;k=k.handler.apply(this,arguments);if(k!==j){a.result=k;if(k===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
fix:function(a){if(a[W])return a;var b=a;a=c.Event(b);for(var e=this.props.length,g;e;){g=this.props[--e];a[g]=b[g]}if(!a.target)a.target=a.srcElement||v;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=v.documentElement;e=v.body;a.pageX=a.clientX+(b&&b.scrollLeft||e&&e.scrollLeft||0)-(b&&b.clientLeft||e&&e.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
e&&e.scrollTop||0)-(b&&b.clientTop||e&&e.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==j)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:S}))},remove:function(a){var b=true,e=a.origType.replace(da,"");c.each(c.data(this,
"events").live||[],function(){if(e===this.origType.replace(da,""))return b=false});b&&c.event.remove(this,a.origType,S)}},beforeunload:{setup:function(a,b,e){if(this.setInterval)this.onbeforeunload=e;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ka=v.removeEventListener?function(a,b,e){a.removeEventListener(b,e,false)}:function(a,b,e){a.detachEvent("on"+b,e)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=
a;this.type=a.type}else this.type=a;this.timeStamp=z();this[W]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=U;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=U;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=U;this.stopPropagation()},isDefaultPrevented:G,isPropagationStopped:G,
isImmediatePropagationStopped:G};var La=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(e){}},Ma=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(e){c.event.add(this,b,e&&e.selector?Ma:La,a)},teardown:function(e){c.event.remove(this,b,e&&e.selector?Ma:La)}}});if(!c.support.submitBubbles)c.event.special.submit=
{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,e=b.type;if((e==="submit"||e==="image")&&c(b).closest("form").length)return R("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,e=b.type;if((e==="text"||e==="password")&&c(b).closest("form").length&&a.keyCode===13)return R("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};if(!c.support.changeBubbles){var ta=
/textarea|input|select/i,ua,Na=function(a){var b=a.type,e=a.value;if(b==="radio"||b==="checkbox")e=a.checked;else if(b==="select-multiple")e=a.selectedIndex>-1?c.map(a.options,function(g){return g.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")e=a.selectedIndex;return e},va=function(a,b){var e=a.target,g,f;if(!(!ta.test(e.nodeName)||e.readOnly)){g=c.data(e,"_change_data");f=Na(e);if(a.type!=="focusout"||e.type!=="radio")c.data(e,"_change_data",f);if(!(g===j||f===g))if(g!=null||
f){a.type="change";return c.event.trigger(a,b,e)}}};c.event.special.change={filters:{focusout:va,click:function(a){var b=a.target,e=b.type;if(e==="radio"||e==="checkbox"||b.nodeName.toLowerCase()==="select")return va.call(this,a)},keydown:function(a){var b=a.target,e=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(e==="checkbox"||e==="radio")||e==="select-multiple")return va.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",Na(a))}},setup:function(){if(this.type===
"file")return false;for(var a in ua)c.event.add(this,a+".specialChange",ua[a]);return ta.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return ta.test(this.nodeName)}};ua=c.event.special.change.filters}v.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function e(g){g=c.event.fix(g);g.type=b;return c.event.handle.call(this,g)}c.event.special[b]={setup:function(){this.addEventListener(a,e,true)},teardown:function(){this.removeEventListener(a,
e,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(e,g,f){if(typeof e==="object"){for(var l in e)this[b](l,g,e[l],f);return this}if(c.isFunction(g)){f=g;g=j}var k=b==="one"?c.proxy(f,function(m){c(this).unbind(m,k);return f.apply(this,arguments)}):f;if(e==="unload"&&b!=="one")this.one(e,g,f);else{l=0;for(var s=this.length;l<s;l++)c.event.add(this[l],e,k,g)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&!a.preventDefault)for(var e in a)this.unbind(e,a[e]);else{e=
0;for(var g=this.length;e<g;e++)c.event.remove(this[e],a,b)}return this},delegate:function(a,b,e,g){return this.live(b,e,g,a)},undelegate:function(a,b,e){return arguments.length===0?this.unbind("live"):this.die(b,null,e,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},toggle:function(a){for(var b=arguments,e=1;e<b.length;)c.proxy(a,
b[e++]);return this.click(c.proxy(a,function(g){var f=(c.data(this,"lastToggle"+a.guid)||0)%e;c.data(this,"lastToggle"+a.guid,f+1);g.preventDefault();return b[f].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Oa={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(e,g,f,l){var k,s=0,m,r,y=l||this.selector,B=l?this:c(this.context);if(c.isFunction(g)){f=g;g=j}for(e=
(e||"").split(" ");(k=e[s++])!=null;){l=da.exec(k);m="";if(l){m=l[0];k=k.replace(da,"")}if(k==="hover")e.push("mouseenter"+m,"mouseleave"+m);else{r=k;if(k==="focus"||k==="blur"){e.push(Oa[k]+m);k+=m}else k=(Oa[k]||k)+m;b==="live"?B.each(function(){c.event.add(this,L(k,y),{data:g,selector:y,handler:f,origType:k,origHandler:f,preType:r})}):B.unbind(L(k,y),f)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),
function(a,b){c.fn[b]=function(e){return e?this.bind(b,e):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});p.attachEvent&&!p.addEventListener&&p.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(h){for(var i="",n,q=0;h[q];q++){n=h[q];if(n.nodeType===3||n.nodeType===4)i+=n.nodeValue;else if(n.nodeType!==8)i+=a(n.childNodes)}return i}function b(h,i,n,q,x,w){x=0;for(var C=q.length;x<C;x++){var A=q[x];
if(A){A=A[h];for(var E=false;A;){if(A.sizcache===n){E=q[A.sizset];break}if(A.nodeType===1&&!w){A.sizcache=n;A.sizset=x}if(A.nodeName.toLowerCase()===i){E=A;break}A=A[h]}q[x]=E}}}function e(h,i,n,q,x,w){x=0;for(var C=q.length;x<C;x++){var A=q[x];if(A){A=A[h];for(var E=false;A;){if(A.sizcache===n){E=q[A.sizset];break}if(A.nodeType===1){if(!w){A.sizcache=n;A.sizset=x}if(typeof i!=="string"){if(A===i){E=true;break}}else if(m.filter(i,[A]).length>0){E=A;break}}A=A[h]}q[x]=E}}}var g=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
f=0,l=Object.prototype.toString,k=false,s=true;[0,0].sort(function(){s=false;return 0});var m=function(h,i,n,q){n=n||[];var x=i=i||v;if(i.nodeType!==1&&i.nodeType!==9)return[];if(!h||typeof h!=="string")return n;for(var w=[],C,A,E,ja,X=true,ba=D(i),Y=h;(g.exec(""),C=g.exec(Y))!==null;){Y=C[3];w.push(C[1]);if(C[2]){ja=C[3];break}}if(w.length>1&&y.exec(h))if(w.length===2&&r.relative[w[0]])A=wa(w[0]+w[1],i);else for(A=r.relative[w[0]]?[i]:m(w.shift(),i);w.length;){h=w.shift();if(r.relative[h])h+=w.shift();
A=wa(h,A)}else{if(!q&&w.length>1&&i.nodeType===9&&!ba&&r.match.ID.test(w[0])&&!r.match.ID.test(w[w.length-1])){C=m.find(w.shift(),i,ba);i=C.expr?m.filter(C.expr,C.set)[0]:C.set[0]}if(i){C=q?{expr:w.pop(),set:F(q)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&i.parentNode?i.parentNode:i,ba);A=C.expr?m.filter(C.expr,C.set):C.set;if(w.length>0)E=F(A);else X=false;for(;w.length;){var O=w.pop();C=O;if(r.relative[O])C=w.pop();else O="";if(C==null)C=i;r.relative[O](E,C,ba)}}else E=[]}E||(E=A);
E||m.error(O||h);if(l.call(E)==="[object Array]")if(X)if(i&&i.nodeType===1)for(h=0;E[h]!=null;h++){if(E[h]&&(E[h]===true||E[h].nodeType===1&&P(i,E[h])))n.push(A[h])}else for(h=0;E[h]!=null;h++)E[h]&&E[h].nodeType===1&&n.push(A[h]);else n.push.apply(n,E);else F(E,n);if(ja){m(ja,x,n,q);m.uniqueSort(n)}return n};m.uniqueSort=function(h){if(H){k=s;h.sort(H);if(k)for(var i=1;i<h.length;i++)h[i]===h[i-1]&&h.splice(i--,1)}return h};m.matches=function(h,i){return m(h,null,null,i)};m.find=function(h,i,n){var q,
x;if(!h)return[];for(var w=0,C=r.order.length;w<C;w++){var A=r.order[w];if(x=r.leftMatch[A].exec(h)){var E=x[1];x.splice(1,1);if(E.substr(E.length-1)!=="\\"){x[1]=(x[1]||"").replace(/\\/g,"");q=r.find[A](x,i,n);if(q!=null){h=h.replace(r.match[A],"");break}}}}q||(q=i.getElementsByTagName("*"));return{set:q,expr:h}};m.filter=function(h,i,n,q){for(var x=h,w=[],C=i,A,E,ja=i&&i[0]&&D(i[0]);h&&i.length;){for(var X in r.filter)if((A=r.leftMatch[X].exec(h))!=null&&A[2]){var ba=r.filter[X],Y,O;O=A[1];E=false;
A.splice(1,1);if(O.substr(O.length-1)!=="\\"){if(C===w)w=[];if(r.preFilter[X])if(A=r.preFilter[X](A,C,n,w,q,ja)){if(A===true)continue}else E=Y=true;if(A)for(var la=0;(O=C[la])!=null;la++)if(O){Y=ba(O,A,la,C);var Pa=q^!!Y;if(n&&Y!=null)if(Pa)E=true;else C[la]=false;else if(Pa){w.push(O);E=true}}if(Y!==j){n||(C=w);h=h.replace(r.match[X],"");if(!E)return[];break}}}if(h===x)if(E==null)m.error(h);else break;x=h}return C};m.error=function(h){throw"Syntax error, unrecognized expression: "+h;};var r=m.selectors=
{order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},
attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(h){return h.getAttribute("href")}},relative:{"+":function(h,i){var n=typeof i==="string",q=n&&!/\W/.test(i);n=n&&!q;if(q)i=i.toLowerCase();q=0;for(var x=h.length,w;q<x;q++)if(w=h[q]){for(;(w=w.previousSibling)&&w.nodeType!==1;);h[q]=n||w&&w.nodeName.toLowerCase()===i?w||false:w===i}n&&m.filter(i,h,true)},">":function(h,i){var n=typeof i==="string";if(n&&!/\W/.test(i)){i=i.toLowerCase();for(var q=0,x=h.length;q<x;q++){var w=h[q];
if(w){n=w.parentNode;h[q]=n.nodeName.toLowerCase()===i?n:false}}}else{q=0;for(x=h.length;q<x;q++)if(w=h[q])h[q]=n?w.parentNode:w.parentNode===i;n&&m.filter(i,h,true)}},"":function(h,i,n){var q=f++,x=e;if(typeof i==="string"&&!/\W/.test(i)){var w=i=i.toLowerCase();x=b}x("parentNode",i,q,h,w,n)},"~":function(h,i,n){var q=f++,x=e;if(typeof i==="string"&&!/\W/.test(i)){var w=i=i.toLowerCase();x=b}x("previousSibling",i,q,h,w,n)}},find:{ID:function(h,i,n){if(typeof i.getElementById!=="undefined"&&!n)return(h=
i.getElementById(h[1]))?[h]:[]},NAME:function(h,i){if(typeof i.getElementsByName!=="undefined"){var n=[];i=i.getElementsByName(h[1]);for(var q=0,x=i.length;q<x;q++)i[q].getAttribute("name")===h[1]&&n.push(i[q]);return n.length===0?null:n}},TAG:function(h,i){return i.getElementsByTagName(h[1])}},preFilter:{CLASS:function(h,i,n,q,x,w){h=" "+h[1].replace(/\\/g,"")+" ";if(w)return h;w=0;for(var C;(C=i[w])!=null;w++)if(C)if(x^(C.className&&(" "+C.className+" ").replace(/[\t\n]/g," ").indexOf(h)>=0))n||
q.push(C);else if(n)i[w]=false;return false},ID:function(h){return h[1].replace(/\\/g,"")},TAG:function(h){return h[1].toLowerCase()},CHILD:function(h){if(h[1]==="nth"){var i=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(h[2]==="even"&&"2n"||h[2]==="odd"&&"2n+1"||!/\D/.test(h[2])&&"0n+"+h[2]||h[2]);h[2]=i[1]+(i[2]||1)-0;h[3]=i[3]-0}h[0]=f++;return h},ATTR:function(h,i,n,q,x,w){i=h[1].replace(/\\/g,"");if(!w&&r.attrMap[i])h[1]=r.attrMap[i];if(h[2]==="~=")h[4]=" "+h[4]+" ";return h},PSEUDO:function(h,i,n,q,x){if(h[1]===
"not")if((g.exec(h[3])||"").length>1||/^\w/.test(h[3]))h[3]=m(h[3],null,null,i);else{h=m.filter(h[3],i,n,true^x);n||q.push.apply(q,h);return false}else if(r.match.POS.test(h[0])||r.match.CHILD.test(h[0]))return true;return h},POS:function(h){h.unshift(true);return h}},filters:{enabled:function(h){return h.disabled===false&&h.type!=="hidden"},disabled:function(h){return h.disabled===true},checked:function(h){return h.checked===true},selected:function(h){return h.selected===true},parent:function(h){return!!h.firstChild},
empty:function(h){return!h.firstChild},has:function(h,i,n){return!!m(n[3],h).length},header:function(h){return/h\d/i.test(h.nodeName)},text:function(h){return"text"===h.type},radio:function(h){return"radio"===h.type},checkbox:function(h){return"checkbox"===h.type},file:function(h){return"file"===h.type},password:function(h){return"password"===h.type},submit:function(h){return"submit"===h.type},image:function(h){return"image"===h.type},reset:function(h){return"reset"===h.type},button:function(h){return"button"===
h.type||h.nodeName.toLowerCase()==="button"},input:function(h){return/input|select|textarea|button/i.test(h.nodeName)}},setFilters:{first:function(h,i){return i===0},last:function(h,i,n,q){return i===q.length-1},even:function(h,i){return i%2===0},odd:function(h,i){return i%2===1},lt:function(h,i,n){return i<n[3]-0},gt:function(h,i,n){return i>n[3]-0},nth:function(h,i,n){return n[3]-0===i},eq:function(h,i,n){return n[3]-0===i}},filter:{PSEUDO:function(h,i,n,q){var x=i[1],w=r.filters[x];if(w)return w(h,
n,i,q);else if(x==="contains")return(h.textContent||h.innerText||a([h])||"").indexOf(i[3])>=0;else if(x==="not"){i=i[3];n=0;for(q=i.length;n<q;n++)if(i[n]===h)return false;return true}else m.error("Syntax error, unrecognized expression: "+x)},CHILD:function(h,i){var n=i[1],q=h;switch(n){case "only":case "first":for(;q=q.previousSibling;)if(q.nodeType===1)return false;if(n==="first")return true;q=h;case "last":for(;q=q.nextSibling;)if(q.nodeType===1)return false;return true;case "nth":n=i[2];var x=
i[3];if(n===1&&x===0)return true;i=i[0];var w=h.parentNode;if(w&&(w.sizcache!==i||!h.nodeIndex)){var C=0;for(q=w.firstChild;q;q=q.nextSibling)if(q.nodeType===1)q.nodeIndex=++C;w.sizcache=i}h=h.nodeIndex-x;return n===0?h===0:h%n===0&&h/n>=0}},ID:function(h,i){return h.nodeType===1&&h.getAttribute("id")===i},TAG:function(h,i){return i==="*"&&h.nodeType===1||h.nodeName.toLowerCase()===i},CLASS:function(h,i){return(" "+(h.className||h.getAttribute("class"))+" ").indexOf(i)>-1},ATTR:function(h,i){var n=
i[1];h=r.attrHandle[n]?r.attrHandle[n](h):h[n]!=null?h[n]:h.getAttribute(n);n=h+"";var q=i[2];i=i[4];return h==null?q==="!=":q==="="?n===i:q==="*="?n.indexOf(i)>=0:q==="~="?(" "+n+" ").indexOf(i)>=0:!i?n&&h!==false:q==="!="?n!==i:q==="^="?n.indexOf(i)===0:q==="$="?n.substr(n.length-i.length)===i:q==="|="?n===i||n.substr(0,i.length+1)===i+"-":false},POS:function(h,i,n,q){var x=r.setFilters[i[2]];if(x)return x(h,n,i,q)}}},y=r.match.POS;for(var B in r.match){r.match[B]=new RegExp(r.match[B].source+/(?![^\[]*\])(?![^\(]*\))/.source);
r.leftMatch[B]=new RegExp(/(^(?:.|\r|\n)*?)/.source+r.match[B].source.replace(/\\(\d+)/g,function(h,i){return"\\"+(i-0+1)}))}var F=function(h,i){h=Array.prototype.slice.call(h,0);if(i){i.push.apply(i,h);return i}return h};try{Array.prototype.slice.call(v.documentElement.childNodes,0)}catch(I){F=function(h,i){i=i||[];if(l.call(h)==="[object Array]")Array.prototype.push.apply(i,h);else if(typeof h.length==="number")for(var n=0,q=h.length;n<q;n++)i.push(h[n]);else for(n=0;h[n];n++)i.push(h[n]);return i}}var H;
if(v.documentElement.compareDocumentPosition)H=function(h,i){if(!h.compareDocumentPosition||!i.compareDocumentPosition){if(h==i)k=true;return h.compareDocumentPosition?-1:1}h=h.compareDocumentPosition(i)&4?-1:h===i?0:1;if(h===0)k=true;return h};else if("sourceIndex"in v.documentElement)H=function(h,i){if(!h.sourceIndex||!i.sourceIndex){if(h==i)k=true;return h.sourceIndex?-1:1}h=h.sourceIndex-i.sourceIndex;if(h===0)k=true;return h};else if(v.createRange)H=function(h,i){if(!h.ownerDocument||!i.ownerDocument){if(h==
i)k=true;return h.ownerDocument?-1:1}var n=h.ownerDocument.createRange(),q=i.ownerDocument.createRange();n.setStart(h,0);n.setEnd(h,0);q.setStart(i,0);q.setEnd(i,0);h=n.compareBoundaryPoints(Range.START_TO_END,q);if(h===0)k=true;return h};(function(){var h=v.createElement("div"),i="script"+(new Date).getTime();h.innerHTML="<a name='"+i+"'/>";var n=v.documentElement;n.insertBefore(h,n.firstChild);if(v.getElementById(i)){r.find.ID=function(q,x,w){if(typeof x.getElementById!=="undefined"&&!w)return(x=
x.getElementById(q[1]))?x.id===q[1]||typeof x.getAttributeNode!=="undefined"&&x.getAttributeNode("id").nodeValue===q[1]?[x]:j:[]};r.filter.ID=function(q,x){var w=typeof q.getAttributeNode!=="undefined"&&q.getAttributeNode("id");return q.nodeType===1&&w&&w.nodeValue===x}}n.removeChild(h);n=h=null})();(function(){var h=v.createElement("div");h.appendChild(v.createComment(""));if(h.getElementsByTagName("*").length>0)r.find.TAG=function(i,n){n=n.getElementsByTagName(i[1]);if(i[1]==="*"){i=[];for(var q=
0;n[q];q++)n[q].nodeType===1&&i.push(n[q]);n=i}return n};h.innerHTML="<a href='#'></a>";if(h.firstChild&&typeof h.firstChild.getAttribute!=="undefined"&&h.firstChild.getAttribute("href")!=="#")r.attrHandle.href=function(i){return i.getAttribute("href",2)};h=null})();v.querySelectorAll&&function(){var h=m,i=v.createElement("div");i.innerHTML="<p class='TEST'></p>";if(!(i.querySelectorAll&&i.querySelectorAll(".TEST").length===0)){m=function(q,x,w,C){x=x||v;if(!C&&x.nodeType===9&&!D(x))try{return F(x.querySelectorAll(q),
w)}catch(A){}return h(q,x,w,C)};for(var n in h)m[n]=h[n];i=null}}();(function(){var h=v.createElement("div");h.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!h.getElementsByClassName||h.getElementsByClassName("e").length===0)){h.lastChild.className="e";if(h.getElementsByClassName("e").length!==1){r.order.splice(1,0,"CLASS");r.find.CLASS=function(i,n,q){if(typeof n.getElementsByClassName!=="undefined"&&!q)return n.getElementsByClassName(i[1])};h=null}}})();var P=v.compareDocumentPosition?
function(h,i){return!!(h.compareDocumentPosition(i)&16)}:function(h,i){return h!==i&&(h.contains?h.contains(i):true)},D=function(h){return(h=(h?h.ownerDocument||h:0).documentElement)?h.nodeName!=="HTML":false},wa=function(h,i){var n=[],q="",x;for(i=i.nodeType?[i]:i;x=r.match.PSEUDO.exec(h);){q+=x[0];h=h.replace(r.match.PSEUDO,"")}h=r.relative[h]?h+"*":h;x=0;for(var w=i.length;x<w;x++)m(h,i[x],n);return m.filter(q,n)};c.find=m;c.expr=m.selectors;c.expr[":"]=c.expr.filters;c.unique=m.uniqueSort;c.text=
a;c.isXMLDoc=D;c.contains=P})();var fb=/Until$/,gb=/^(?:parents|prevUntil|prevAll)/,hb=/,/;ia=Array.prototype.slice;var Qa=function(a,b,e){if(c.isFunction(b))return c.grep(a,function(f,l){return!!b.call(f,l,f)===e});else if(b.nodeType)return c.grep(a,function(f){return f===b===e});else if(typeof b==="string"){var g=c.grep(a,function(f){return f.nodeType===1});if(M.test(b))return c.filter(b,g,!e);else b=c.filter(b,g)}return c.grep(a,function(f){return c.inArray(f,b)>=0===e})};c.fn.extend({find:function(a){for(var b=
this.pushStack("","find",a),e=0,g=0,f=this.length;g<f;g++){e=b.length;c.find(a,this[g],b);if(g>0)for(var l=e;l<b.length;l++)for(var k=0;k<e;k++)if(b[k]===b[l]){b.splice(l--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var e=0,g=b.length;e<g;e++)if(c.contains(this,b[e]))return true})},not:function(a){return this.pushStack(Qa(this,a,false),"not",a)},filter:function(a){return this.pushStack(Qa(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>
0},closest:function(a,b){if(c.isArray(a)){var e=[],g=this[0],f,l={},k;if(g&&a.length){f=0;for(var s=a.length;f<s;f++){k=a[f];l[k]||(l[k]=c.expr.match.POS.test(k)?c(k,b||this.context):k)}for(;g&&g.ownerDocument&&g!==b;){for(k in l){f=l[k];if(f.jquery?f.index(g)>-1:c(g).is(f)){e.push({selector:k,elem:g});delete l[k]}}g=g.parentNode}}return e}var m=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(r,y){for(;y&&y.ownerDocument&&y!==b;){if(m?m.index(y)>-1:c(y).is(a))return y;
y=y.parentNode}return null})},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(Z(a[0])||Z(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},
parentsUntil:function(a,b,e){return c.dir(a,"parentNode",e)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,e){return c.dir(a,"nextSibling",e)},prevUntil:function(a,b,e){return c.dir(a,"previousSibling",e)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},
contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(e,g){var f=c.map(this,b,e);fb.test(a)||(g=e);if(g&&typeof g==="string")f=c.filter(g,f);f=this.length>1?c.unique(f):f;if((this.length>1||hb.test(g))&&gb.test(a))f=f.reverse();return this.pushStack(f,a,ia.call(arguments).join(","))}});c.extend({filter:function(a,b,e){if(e)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,e){var g=[];for(a=
a[b];a&&a.nodeType!==9&&(e===j||a.nodeType!==1||!c(a).is(e));){a.nodeType===1&&g.push(a);a=a[b]}return g},nth:function(a,b,e){b=b||1;for(var g=0;a;a=a[e])if(a.nodeType===1&&++g===b)break;return a},sibling:function(a,b){for(var e=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&e.push(a);return e}});var Ra=/ jQuery\d+="(?:\d+|null)"/g,ma=/^\s+/,Sa=/(<([\w:]+)[^>]*?)\/>/g,ib=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,Ta=/<([\w:]+)/,jb=/<tbody/i,kb=/<|&#?\w+;/,Ca=/<script|<object|<embed|<option|<style/i,
Da=/checked\s*(?:[^=]|=\s*.checked.)/i,Ua=function(a,b,e){return ib.test(e)?a:b+"></"+e+">"},Q={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,"",""]};Q.optgroup=Q.option;Q.tbody=Q.tfoot=Q.colgroup=Q.caption=Q.thead;Q.th=Q.td;if(!c.support.htmlSerialize)Q._default=
[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var e=c(this);e.text(a.call(this,b,e.text()))});if(typeof a!=="object"&&a!==j)return this.empty().append((this[0]&&this[0].ownerDocument||v).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(e){c(this).wrapAll(a.call(this,e))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var e=
this;e.firstChild&&e.firstChild.nodeType===1;)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),e=b.contents();e.length?e.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,
true,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,
false,function(b){this.parentNode.insertBefore(b,this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var e=0,g;(g=this[e])!=null;e++)if(!a||c.filter(a,[g]).length){if(!b&&g.nodeType===1){c.cleanData(g.getElementsByTagName("*"));c.cleanData([g])}g.parentNode&&g.parentNode.removeChild(g)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var e=this.outerHTML,g=this.ownerDocument;if(!e){e=g.createElement("div");e.appendChild(this.cloneNode(true));e=e.innerHTML}return c.clean([e.replace(Ra,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(ma,"")],g)[0]}else return this.cloneNode(true)});if(a===true){ea(this,b);ea(this.find("*"),b.find("*"))}return b},html:function(a){if(a===j)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ra,
""):null;else if(typeof a==="string"&&!Ca.test(a)&&(c.support.leadingWhitespace||!ma.test(a))&&!Q[(Ta.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Sa,Ua);try{for(var b=0,e=this.length;b<e;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(g){this.empty().append(a)}}else c.isFunction(a)?this.each(function(f){var l=c(this),k=l.html();l.empty().append(function(){return a.call(this,f,k)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&
this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var e=c(this),g=e.html();e.replaceWith(a.call(this,b,g))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,e=this.parentNode;c(this).remove();b?c(b).before(a):c(e).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,e){function g(B){return c.nodeName(B,"table")?B.getElementsByTagName("tbody")[0]||
B.appendChild(B.ownerDocument.createElement("tbody")):B}var f,l,k=a[0],s=[],m;if(!c.support.checkClone&&arguments.length===3&&typeof k==="string"&&Da.test(k))return this.each(function(){c(this).domManip(a,b,e,true)});if(c.isFunction(k))return this.each(function(B){var F=c(this);a[0]=k.call(this,B,b?F.html():j);F.domManip(a,b,e)});if(this[0]){f=k&&k.parentNode;f=c.support.parentNode&&f&&f.nodeType===11&&f.childNodes.length===this.length?{fragment:f}:fa(a,this,s);m=f.fragment;if(l=m.childNodes.length===
1?(m=m.firstChild):m.firstChild){b=b&&c.nodeName(l,"tr");for(var r=0,y=this.length;r<y;r++)e.call(b?g(this[r],l):this[r],r>0||f.cacheable||this.length>1?m.cloneNode(true):m)}s.length&&c.each(s,t)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(e){var g=[];e=c(e);var f=this.length===1&&this[0].parentNode;if(f&&f.nodeType===11&&f.childNodes.length===1&&e.length===1){e[b](this[0]);
return this}else{f=0;for(var l=e.length;f<l;f++){var k=(f>0?this.clone(true):this).get();c.fn[b].apply(c(e[f]),k);g=g.concat(k)}return this.pushStack(g,a,e.selector)}}});c.extend({clean:function(a,b,e,g){b=b||v;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||v;for(var f=[],l=0,k;(k=a[l])!=null;l++){if(typeof k==="number")k+="";if(k){if(typeof k==="string"&&!kb.test(k))k=b.createTextNode(k);else if(typeof k==="string"){k=k.replace(Sa,Ua);var s=(Ta.exec(k)||["",
""])[1].toLowerCase(),m=Q[s]||Q._default,r=m[0],y=b.createElement("div");for(y.innerHTML=m[1]+k+m[2];r--;)y=y.lastChild;if(!c.support.tbody){r=jb.test(k);s=s==="table"&&!r?y.firstChild&&y.firstChild.childNodes:m[1]==="<table>"&&!r?y.childNodes:[];for(m=s.length-1;m>=0;--m)c.nodeName(s[m],"tbody")&&!s[m].childNodes.length&&s[m].parentNode.removeChild(s[m])}!c.support.leadingWhitespace&&ma.test(k)&&y.insertBefore(b.createTextNode(ma.exec(k)[0]),y.firstChild);k=y.childNodes}if(k.nodeType)f.push(k);else f=
c.merge(f,k)}}if(e)for(l=0;f[l];l++)if(g&&c.nodeName(f[l],"script")&&(!f[l].type||f[l].type.toLowerCase()==="text/javascript"))g.push(f[l].parentNode?f[l].parentNode.removeChild(f[l]):f[l]);else{f[l].nodeType===1&&f.splice.apply(f,[l+1,0].concat(c.makeArray(f[l].getElementsByTagName("script"))));e.appendChild(f[l])}return f},cleanData:function(a){for(var b,e,g=c.cache,f=c.event.special,l=c.support.deleteExpando,k=0,s;(s=a[k])!=null;k++)if(e=s[c.expando]){b=g[e];if(b.events)for(var m in b.events)f[m]?
c.event.remove(s,m):Ka(s,m,b.handle);if(l)delete s[c.expando];else s.removeAttribute&&s.removeAttribute(c.expando);delete g[e]}}});var lb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Va=/alpha\([^)]*\)/,Wa=/opacity=([^)]*)/,xa=/float/i,ya=/-([a-z])/ig,mb=/([A-Z])/g,nb=/^-?\d+(?:px)?$/i,ob=/^-?\d/,pb={position:"absolute",visibility:"hidden",display:"block"},qb=["Left","Right"],rb=["Top","Bottom"],sb=v.defaultView&&v.defaultView.getComputedStyle,Xa=c.support.cssFloat?"cssFloat":"styleFloat",za=
function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return o(this,a,b,true,function(e,g,f){if(f===j)return c.curCSS(e,g);if(typeof f==="number"&&!lb.test(g))f+="px";c.style(e,g,f)})};c.extend({style:function(a,b,e){if(!a||a.nodeType===3||a.nodeType===8)return j;if((b==="width"||b==="height")&&parseFloat(e)<0)e=j;var g=a.style||a,f=e!==j;if(!c.support.opacity&&b==="opacity"){if(f){g.zoom=1;b=parseInt(e,10)+""==="NaN"?"":"alpha(opacity="+e*100+")";a=g.filter||c.curCSS(a,"filter")||"";g.filter=
Va.test(a)?a.replace(Va,b):b}return g.filter&&g.filter.indexOf("opacity=")>=0?parseFloat(Wa.exec(g.filter)[1])/100+"":""}if(xa.test(b))b=Xa;b=b.replace(ya,za);if(f)g[b]=e;return g[b]},css:function(a,b,e,g){if(b==="width"||b==="height"){var f,l=b==="width"?qb:rb;function k(){f=b==="width"?a.offsetWidth:a.offsetHeight;g!=="border"&&c.each(l,function(){g||(f-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(g==="margin")f+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else f-=parseFloat(c.curCSS(a,
"border"+this+"Width",true))||0})}a.offsetWidth!==0?k():c.swap(a,pb,k);return Math.max(0,Math.round(f))}return c.curCSS(a,b,e)},curCSS:function(a,b,e){var g,f=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){g=Wa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return g===""?"1":g}if(xa.test(b))b=Xa;if(!e&&f&&f[b])g=f[b];else if(sb){if(xa.test(b))b="float";b=b.replace(mb,"-$1").toLowerCase();f=a.ownerDocument.defaultView;if(!f)return null;if(a=f.getComputedStyle(a,null))g=
a.getPropertyValue(b);if(b==="opacity"&&g==="")g="1"}else if(a.currentStyle){e=b.replace(ya,za);g=a.currentStyle[b]||a.currentStyle[e];if(!nb.test(g)&&ob.test(g)){b=f.left;var l=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;f.left=e==="fontSize"?"1em":g||0;g=f.pixelLeft+"px";f.left=b;a.runtimeStyle.left=l}}return g},swap:function(a,b,e){var g={};for(var f in b){g[f]=a.style[f];a.style[f]=b[f]}e.call(a);for(f in b)a.style[f]=g[f]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=
a.offsetWidth,e=a.offsetHeight,g=a.nodeName.toLowerCase()==="tr";return b===0&&e===0&&!g?true:b>0&&e>0&&!g?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var tb=z(),ub=/<script(.|\s)*?\/script>/gi,vb=/select|textarea/i,wb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,ca=/=\?(&|$)/,Aa=/\?/,xb=/(\?|&)_=.*?(&|$)/,yb=/^(\w+:)?\/\/([^\/?#]+)/,zb=/%20/g,Ab=c.fn.load;c.fn.extend({load:function(a,b,
e){if(typeof a!=="string")return Ab.call(this,a);else if(!this.length)return this;var g=a.indexOf(" ");if(g>=0){var f=a.slice(g,a.length);a=a.slice(0,g)}g="GET";if(b)if(c.isFunction(b)){e=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);g="POST"}var l=this;c.ajax({url:a,type:g,dataType:"html",data:b,complete:function(k,s){if(s==="success"||s==="notmodified")l.html(f?c("<div />").append(k.responseText.replace(ub,"")).find(f):k.responseText);e&&l.each(e,[k.responseText,
s,k])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||vb.test(this.nodeName)||wb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(e){return{name:b.name,value:e}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
function(a,b){c.fn[b]=function(e){return this.bind(b,e)}});c.extend({get:function(a,b,e,g){if(c.isFunction(b)){g=g||e;e=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:e,dataType:g})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,e){return c.get(a,b,e,"json")},post:function(a,b,e,g){if(c.isFunction(b)){g=g||e;e=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:e,dataType:g})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,
global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:p.XMLHttpRequest&&(p.location.protocol!=="file:"||!p.ActiveXObject)?function(){return new p.XMLHttpRequest}:function(){try{return new p.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){f.success&&
f.success.call(m,s,k,D);f.global&&g("ajaxSuccess",[D,f])}function e(){f.complete&&f.complete.call(m,D,k);f.global&&g("ajaxComplete",[D,f]);f.global&&!--c.active&&c.event.trigger("ajaxStop")}function g(x,w){(f.context?c(f.context):c.event).trigger(x,w)}var f=c.extend(true,{},c.ajaxSettings,a),l,k,s,m=a&&a.context||f,r=f.type.toUpperCase();if(f.data&&f.processData&&typeof f.data!=="string")f.data=c.param(f.data,f.traditional);if(f.dataType==="jsonp"){if(r==="GET")ca.test(f.url)||(f.url+=(Aa.test(f.url)?
"&":"?")+(f.jsonp||"callback")+"=?");else if(!f.data||!ca.test(f.data))f.data=(f.data?f.data+"&":"")+(f.jsonp||"callback")+"=?";f.dataType="json"}if(f.dataType==="json"&&(f.data&&ca.test(f.data)||ca.test(f.url))){l=f.jsonpCallback||"jsonp"+tb++;if(f.data)f.data=(f.data+"").replace(ca,"="+l+"$1");f.url=f.url.replace(ca,"="+l+"$1");f.dataType="script";p[l]=p[l]||function(x){s=x;b();e();p[l]=j;try{delete p[l]}catch(w){}F&&F.removeChild(I)}}if(f.dataType==="script"&&f.cache===null)f.cache=false;if(f.cache===
false&&r==="GET"){var y=z(),B=f.url.replace(xb,"$1_="+y+"$2");f.url=B+(B===f.url?(Aa.test(f.url)?"&":"?")+"_="+y:"")}if(f.data&&r==="GET")f.url+=(Aa.test(f.url)?"&":"?")+f.data;f.global&&!c.active++&&c.event.trigger("ajaxStart");y=(y=yb.exec(f.url))&&(y[1]&&y[1]!==location.protocol||y[2]!==location.host);if(f.dataType==="script"&&r==="GET"&&y){var F=v.getElementsByTagName("head")[0]||v.documentElement,I=v.createElement("script");I.src=f.url;if(f.scriptCharset)I.charset=f.scriptCharset;if(!l){var H=
false;I.onload=I.onreadystatechange=function(){if(!H&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){H=true;b();e();I.onload=I.onreadystatechange=null;F&&I.parentNode&&F.removeChild(I)}}}F.insertBefore(I,F.firstChild);return j}var P=false,D=f.xhr();if(D){f.username?D.open(r,f.url,f.async,f.username,f.password):D.open(r,f.url,f.async);try{if(f.data||a&&a.contentType)D.setRequestHeader("Content-Type",f.contentType);if(f.ifModified){c.lastModified[f.url]&&D.setRequestHeader("If-Modified-Since",
c.lastModified[f.url]);c.etag[f.url]&&D.setRequestHeader("If-None-Match",c.etag[f.url])}y||D.setRequestHeader("X-Requested-With","XMLHttpRequest");D.setRequestHeader("Accept",f.dataType&&f.accepts[f.dataType]?f.accepts[f.dataType]+", */*":f.accepts._default)}catch(wa){}if(f.beforeSend&&f.beforeSend.call(m,D,f)===false){f.global&&!--c.active&&c.event.trigger("ajaxStop");D.abort();return false}f.global&&g("ajaxSend",[D,f]);var h=D.onreadystatechange=function(x){if(!D||D.readyState===0||x==="abort"){P||
e();P=true;if(D)D.onreadystatechange=c.noop}else if(!P&&D&&(D.readyState===4||x==="timeout")){P=true;D.onreadystatechange=c.noop;k=x==="timeout"?"timeout":!c.httpSuccess(D)?"error":f.ifModified&&c.httpNotModified(D,f.url)?"notmodified":"success";var w;if(k==="success")try{s=c.httpData(D,f.dataType,f)}catch(C){k="parsererror";w=C}if(k==="success"||k==="notmodified")l||b();else c.handleError(f,D,k,w);e();x==="timeout"&&D.abort();if(f.async)D=null}};try{var i=D.abort;D.abort=function(){D&&i.call(D);
h("abort")}}catch(n){}f.async&&f.timeout>0&&setTimeout(function(){D&&!P&&h("timeout")},f.timeout);try{D.send(r==="POST"||r==="PUT"||r==="DELETE"?f.data:null)}catch(q){c.handleError(f,D,null,q);e()}f.async||h();return D}},handleError:function(a,b,e,g){if(a.error)a.error.call(a.context||a,b,e,g);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,g])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===
1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var e=a.getResponseHeader("Last-Modified"),g=a.getResponseHeader("Etag");if(e)c.lastModified[b]=e;if(g)c.etag[b]=g;return a.status===304||a.status===0},httpData:function(a,b,e){var g=a.getResponseHeader("content-type")||"",f=b==="xml"||!b&&g.indexOf("xml")>=0;a=f?a.responseXML:a.responseText;f&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(e&&e.dataFilter)a=e.dataFilter(a,b);if(typeof a==="string")if(b===
"json"||!b&&g.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&g.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function e(k,s){if(c.isArray(s))c.each(s,function(m,r){b||/\[\]$/.test(k)?g(k,r):e(k+"["+(typeof r==="object"||c.isArray(r)?m:"")+"]",r)});else!b&&s!=null&&typeof s==="object"?c.each(s,function(m,r){e(k+"["+m+"]",r)}):g(k,s)}function g(k,s){s=c.isFunction(s)?s():s;f[f.length]=encodeURIComponent(k)+"="+encodeURIComponent(s)}var f=[];if(b===j)b=c.ajaxSettings.traditional;
if(c.isArray(a)||a.jquery)c.each(a,function(){g(this.name,this.value)});else for(var l in a)e(l,a[l]);return f.join("&").replace(zb,"+")}});var Ba={},Bb=/toggle|show|hide/,Cb=/^([+-]=)?([\d+-.]+)(.*)$/,na,Ea=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(T("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var e=c.data(this[a],"olddisplay");
this[a].style.display=e||"";if(c.css(this[a],"display")==="none"){e=this[a].nodeName;var g;if(Ba[e])g=Ba[e];else{var f=c("<"+e+" />").appendTo("body");g=f.css("display");if(g==="none")g="block";f.remove();Ba[e]=g}c.data(this[a],"olddisplay",g)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(T("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var e=c.data(this[a],"olddisplay");!e&&e!=="none"&&c.data(this[a],
"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var e=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||e?this.each(function(){var g=e?a:c(this).is(":hidden");c(this)[g?"show":"hide"]()}):this.animate(T("toggle",3),a,b);return this},fadeTo:function(a,b,e){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,e)},
animate:function(a,b,e,g){var f=c.speed(b,e,g);if(c.isEmptyObject(a))return this.each(f.complete);return this[f.queue===false?"each":"queue"](function(){var l=c.extend({},f),k,s=this.nodeType===1&&c(this).is(":hidden"),m=this;for(k in a){var r=k.replace(ya,za);if(k!==r){a[r]=a[k];delete a[k];k=r}if(a[k]==="hide"&&s||a[k]==="show"&&!s)return l.complete.call(this);if((k==="height"||k==="width")&&this.style){l.display=c.css(this,"display");l.overflow=this.style.overflow}if(c.isArray(a[k])){(l.specialEasing=
l.specialEasing||{})[k]=a[k][1];a[k]=a[k][0]}}if(l.overflow!=null)this.style.overflow="hidden";l.curAnim=c.extend({},a);c.each(a,function(y,B){var F=new c.fx(m,l,y);if(Bb.test(B))F[B==="toggle"?s?"show":"hide":B](a);else{var I=Cb.exec(B),H=F.cur(true)||0;if(I){B=parseFloat(I[2]);var P=I[3]||"px";if(P!=="px"){m.style[y]=(B||1)+P;H=(B||1)/F.cur(true)*H;m.style[y]=H+P}if(I[1])B=(I[1]==="-="?-1:1)*B+H;F.custom(H,B,P)}else F.custom(H,B,"")}});return true})},stop:function(a,b){var e=c.timers;a&&this.queue([]);
this.each(function(){for(var g=e.length-1;g>=0;g--)if(e[g].elem===this){b&&e[g](true);e.splice(g,1)}});b||this.dequeue();return this}});c.each({slideDown:T("show",1),slideUp:T("hide",1),slideToggle:T("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(e,g){return this.animate(b,e,g)}});c.extend({speed:function(a,b,e){var g=a&&typeof a==="object"?a:{complete:e||!e&&b||c.isFunction(a)&&a,duration:a,easing:e&&b||b&&!c.isFunction(b)&&b};g.duration=c.fx.off?0:typeof g.duration===
"number"?g.duration:c.fx.speeds[g.duration]||c.fx.speeds._default;g.old=g.complete;g.complete=function(){g.queue!==false&&c(this).dequeue();c.isFunction(g.old)&&g.old.call(this)};return g},easing:{linear:function(a,b,e,g){return e+g*a},swing:function(a,b,e,g){return(-Math.cos(a*Math.PI)/2+0.5)*g+e}},timers:[],fx:function(a,b,e){this.options=b;this.elem=a;this.prop=e;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||
c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,e){function g(l){return f.step(l)}this.startTime=z();this.start=a;this.end=b;this.unit=e||this.unit||"px";this.now=this.start;
this.pos=this.state=0;var f=this;g.elem=this.elem;if(g()&&c.timers.push(g)&&!na)na=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=z(),e=true;if(a||b>=this.options.duration+this.startTime){this.now=
this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var g in this.options.curAnim)if(this.options.curAnim[g]!==true)e=false;if(e){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var f in this.options.curAnim)c.style(this.elem,
f,this.options.orig[f]);this.options.complete.call(this.elem)}return false}else{f=b-this.startTime;this.state=f/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,f,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||
c.fx.stop()},stop:function(){clearInterval(na);na=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in
v.documentElement?function(a){var b=this[0];if(a)return this.each(function(f){c.offset.setOffset(this,a,f)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var e=b.getBoundingClientRect(),g=b.ownerDocument;b=g.body;g=g.documentElement;return{top:e.top+(self.pageYOffset||c.support.boxModel&&g.scrollTop||b.scrollTop)-(g.clientTop||b.clientTop||0),left:e.left+(self.pageXOffset||c.support.boxModel&&g.scrollLeft||b.scrollLeft)-(g.clientLeft||b.clientLeft||
0)}}:function(a){var b=this[0];if(a)return this.each(function(y){c.offset.setOffset(this,a,y)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var e=b.offsetParent,g=b,f=b.ownerDocument,l,k=f.documentElement,s=f.body;g=(f=f.defaultView)?f.getComputedStyle(b,null):b.currentStyle;for(var m=b.offsetTop,r=b.offsetLeft;(b=b.parentNode)&&b!==s&&b!==k;){if(c.offset.supportsFixedPosition&&g.position==="fixed")break;l=f?f.getComputedStyle(b,
null):b.currentStyle;m-=b.scrollTop;r-=b.scrollLeft;if(b===e){m+=b.offsetTop;r+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){m+=parseFloat(l.borderTopWidth)||0;r+=parseFloat(l.borderLeftWidth)||0}g=e;e=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&l.overflow!=="visible"){m+=parseFloat(l.borderTopWidth)||0;r+=parseFloat(l.borderLeftWidth)||0}g=l}if(g.position==="relative"||g.position==="static"){m+=s.offsetTop;
r+=s.offsetLeft}if(c.offset.supportsFixedPosition&&g.position==="fixed"){m+=Math.max(k.scrollTop,s.scrollTop);r+=Math.max(k.scrollLeft,s.scrollLeft)}return{top:m,left:r}};c.offset={initialize:function(){var a=v.body,b=v.createElement("div"),e,g,f,l=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
a.insertBefore(b,a.firstChild);e=b.firstChild;g=e.firstChild;f=e.nextSibling.firstChild.firstChild;this.doesNotAddBorder=g.offsetTop!==5;this.doesAddBorderForTableAndCells=f.offsetTop===5;g.style.position="fixed";g.style.top="20px";this.supportsFixedPosition=g.offsetTop===20||g.offsetTop===15;g.style.position=g.style.top="";e.style.overflow="hidden";e.style.position="relative";this.subtractsBorderForOverflowNotVisible=g.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==l;a.removeChild(b);
c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,e=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;e+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:e}},setOffset:function(a,b,e){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var g=c(a),f=g.offset(),l=parseInt(c.curCSS(a,"top",true),10)||0,k=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,
e,f);e={top:b.top-f.top+l,left:b.left-f.left+k};"using"in b?b.using.call(a,e):g.css(e)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),e=this.offset(),g=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();e.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;e.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;g.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;g.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:e.top-
g.top,left:e.left-g.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||v.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var e="scroll"+b;c.fn[e]=function(g){var f=this[0],l;if(!f)return null;if(g!==j)return this.each(function(){if(l=V(this))l.scrollTo(!a?g:c(l).scrollLeft(),a?g:c(l).scrollTop());else this[e]=g});else return(l=V(f))?"pageXOffset"in l?l[a?"pageYOffset":"pageXOffset"]:
c.support.boxModel&&l.document.documentElement[e]||l.document.body[e]:f[e]}});c.each(["Height","Width"],function(a,b){var e=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],e,false,"padding"):null};c.fn["outer"+b]=function(g){return this[0]?c.css(this[0],e,false,g?"margin":"border"):null};c.fn[e]=function(g){var f=this[0];if(!f)return g==null?null:this;if(c.isFunction(g))return this.each(function(l){var k=c(this);k[e](g.call(this,l,k[e]()))});return"scrollTo"in f&&f.document?
f.document.compatMode==="CSS1Compat"&&f.document.documentElement["client"+b]||f.document.body["client"+b]:f.nodeType===9?Math.max(f.documentElement["client"+b],f.body["scroll"+b],f.documentElement["scroll"+b],f.body["offset"+b],f.documentElement["offset"+b]):g===j?c.css(f,e):this.css(e,typeof g==="string"?g:g+"px")}});p.jQuery=p.$=c})(window);jQuery.easing.jswing=jQuery.easing.swing;
jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(p,j,u,t,o){return jQuery.easing[jQuery.easing.def](p,j,u,t,o)},easeInQuad:function(p,j,u,t,o){return t*(j/=o)*j+u},easeOutQuad:function(p,j,u,t,o){return-t*(j/=o)*(j-2)+u},easeInOutQuad:function(p,j,u,t,o){if((j/=o/2)<1)return t/2*j*j+u;return-t/2*(--j*(j-2)-1)+u},easeInCubic:function(p,j,u,t,o){return t*(j/=o)*j*j+u},easeOutCubic:function(p,j,u,t,o){return t*((j=j/o-1)*j*j+1)+u},easeInOutCubic:function(p,j,u,t,o){if((j/=o/2)<1)return t/
2*j*j*j+u;return t/2*((j-=2)*j*j+2)+u},easeInQuart:function(p,j,u,t,o){return t*(j/=o)*j*j*j+u},easeOutQuart:function(p,j,u,t,o){return-t*((j=j/o-1)*j*j*j-1)+u},easeInOutQuart:function(p,j,u,t,o){if((j/=o/2)<1)return t/2*j*j*j*j+u;return-t/2*((j-=2)*j*j*j-2)+u},easeInQuint:function(p,j,u,t,o){return t*(j/=o)*j*j*j*j+u},easeOutQuint:function(p,j,u,t,o){return t*((j=j/o-1)*j*j*j*j+1)+u},easeInOutQuint:function(p,j,u,t,o){if((j/=o/2)<1)return t/2*j*j*j*j*j+u;return t/2*((j-=2)*j*j*j*j+2)+u},easeInSine:function(p,
j,u,t,o){return-t*Math.cos(j/o*(Math.PI/2))+t+u},easeOutSine:function(p,j,u,t,o){return t*Math.sin(j/o*(Math.PI/2))+u},easeInOutSine:function(p,j,u,t,o){return-t/2*(Math.cos(Math.PI*j/o)-1)+u},easeInExpo:function(p,j,u,t,o){return j==0?u:t*Math.pow(2,10*(j/o-1))+u},easeOutExpo:function(p,j,u,t,o){return j==o?u+t:t*(-Math.pow(2,-10*j/o)+1)+u},easeInOutExpo:function(p,j,u,t,o){if(j==0)return u;if(j==o)return u+t;if((j/=o/2)<1)return t/2*Math.pow(2,10*(j-1))+u;return t/2*(-Math.pow(2,-10*--j)+2)+u},
easeInCirc:function(p,j,u,t,o){return-t*(Math.sqrt(1-(j/=o)*j)-1)+u},easeOutCirc:function(p,j,u,t,o){return t*Math.sqrt(1-(j=j/o-1)*j)+u},easeInOutCirc:function(p,j,u,t,o){if((j/=o/2)<1)return-t/2*(Math.sqrt(1-j*j)-1)+u;return t/2*(Math.sqrt(1-(j-=2)*j)+1)+u},easeInElastic:function(p,j,u,t,o){p=1.70158;var z=0,G=t;if(j==0)return u;if((j/=o)==1)return u+t;z||(z=o*0.3);if(G<Math.abs(t)){G=t;p=z/4}else p=z/(2*Math.PI)*Math.asin(t/G);return-(G*Math.pow(2,10*(j-=1))*Math.sin((j*o-p)*2*Math.PI/z))+u},easeOutElastic:function(p,
j,u,t,o){p=1.70158;var z=0,G=t;if(j==0)return u;if((j/=o)==1)return u+t;z||(z=o*0.3);if(G<Math.abs(t)){G=t;p=z/4}else p=z/(2*Math.PI)*Math.asin(t/G);return G*Math.pow(2,-10*j)*Math.sin((j*o-p)*2*Math.PI/z)+t+u},easeInOutElastic:function(p,j,u,t,o){p=1.70158;var z=0,G=t;if(j==0)return u;if((j/=o/2)==2)return u+t;z||(z=o*0.3*1.5);if(G<Math.abs(t)){G=t;p=z/4}else p=z/(2*Math.PI)*Math.asin(t/G);if(j<1)return-0.5*G*Math.pow(2,10*(j-=1))*Math.sin((j*o-p)*2*Math.PI/z)+u;return G*Math.pow(2,-10*(j-=1))*Math.sin((j*
o-p)*2*Math.PI/z)*0.5+t+u},easeInBack:function(p,j,u,t,o,z){if(z==undefined)z=1.70158;return t*(j/=o)*j*((z+1)*j-z)+u},easeOutBack:function(p,j,u,t,o,z){if(z==undefined)z=1.70158;return t*((j=j/o-1)*j*((z+1)*j+z)+1)+u},easeInOutBack:function(p,j,u,t,o,z){if(z==undefined)z=1.70158;if((j/=o/2)<1)return t/2*j*j*(((z*=1.525)+1)*j-z)+u;return t/2*((j-=2)*j*(((z*=1.525)+1)*j+z)+2)+u},easeInBounce:function(p,j,u,t,o){return t-jQuery.easing.easeOutBounce(p,o-j,0,t,o)+u},easeOutBounce:function(p,j,u,t,o){return(j/=
o)<1/2.75?t*7.5625*j*j+u:j<2/2.75?t*(7.5625*(j-=1.5/2.75)*j+0.75)+u:j<2.5/2.75?t*(7.5625*(j-=2.25/2.75)*j+0.9375)+u:t*(7.5625*(j-=2.625/2.75)*j+0.984375)+u},easeInOutBounce:function(p,j,u,t,o){if(j<o/2)return jQuery.easing.easeInBounce(p,j*2,0,t,o)*0.5+u;return jQuery.easing.easeOutBounce(p,j*2-o,0,t,o)*0.5+t*0.5+u}});
(function(p){function j(t){for(var o=["transform","WebkitTransform","MozTransform"],z;z=o.shift();)if(typeof t.style[z]!="undefined")return z;return"transform"}var u=p.fn.css;p.fn.css=function(t){if(typeof p.props.transform=="undefined"&&(t=="transform"||typeof t=="object"&&typeof t.transform!="undefined"))p.props.transform=j(this.get(0));if(t=="transform")t=p.props.transform;return u.apply(this,arguments)}})(jQuery);
(function(p){var j="deg";p.fn.rotate=function(o){var z=p(this).css("transform")||"none";if(typeof o=="undefined"){if(z)if((o=z.match(/rotate\(([^)]+)\)/))&&o[1])return o[1];return 0}if(o=o.toString().match(/^(-?\d+(\.\d+)?)(.+)?$/)){if(o[3])j=o[3];p(this).css("transform",z.replace(/none|rotate\([^)]*\)/,"")+"rotate("+o[1]+j+")")}};p.fn.scale=function(o){var z=p(this).css("transform");if(typeof o=="undefined"){if(z)if((o=z.match(/scale\(([^)]+)\)/))&&o[1])return o[1];return 1}p(this).css("transform",
z.replace(/none|scale\([^)]*\)/,"")+"scale("+o+")")};var u=p.fx.prototype.cur;p.fx.prototype.cur=function(){if(this.prop=="rotate")return parseFloat(p(this.elem).rotate());else if(this.prop=="scale")return parseFloat(p(this.elem).scale());return u.apply(this,arguments)};p.fx.step.rotate=function(o){p(o.elem).rotate(o.now+j)};p.fx.step.scale=function(o){p(o.elem).scale(o.now)};var t=p.fn.animate;p.fn.animate=function(o){if(typeof o.rotate!="undefined"){var z=o.rotate.toString().match(/^(([+-]=)?(-?\d+(\.\d+)?))(.+)?$/);
if(z&&z[5])j=z[5];o.rotate=z[1]}return t.apply(this,arguments)}})(jQuery);
(function(p){p.fn.quicksand=function(j,u,t){var o={duration:750,easing:"swing",attribute:"data-id",adjustHeight:"auto",useScaling:true,enhancement:function(){},selector:"> *"};p.extend(o,u);if(p.browser.msie||typeof p.fn.scale=="undefined")o.useScaling=false;var z;if(typeof u=="function")z=u;else if(typeof(t=="function"))z=t;return this.each(function(G){var U,R=[],S=p(j).clone(),L=p(this);G=p(this).css("height");var Z,ea=false,fa=p(L).offset(),T=[],V=p(this).find(o.selector);if(p.browser.msie&&p.browser.version.substr(0,
1)<7)L.html("").append(S);else{var c=0,oa=function(){if(!c){L.html(N.html());typeof z=="function"&&z.call(this);ea&&L.css("height",Z);o.enhancement(L);c=1}},J=L.offsetParent(),v=J.offset();if(J.css("position")=="relative"){if(J.get(0).nodeName.toLowerCase()!="body"){v.top+=parseFloat(J.css("border-top-width"));v.left+=parseFloat(J.css("border-left-width"))}}else{v.top-=parseFloat(J.css("border-top-width"));v.left-=parseFloat(J.css("border-left-width"));v.top-=parseFloat(J.css("margin-top"));v.left-=
parseFloat(J.css("margin-left"))}L.css("height",p(this).height());V.each(function(K){T[K]=p(this).offset()});p(this).stop();V.each(function(K){p(this).stop();var M=p(this).get(0);M.style.position="absolute";M.style.margin="0";M.style.top=T[K].top-parseFloat(M.style.marginTop)-v.top+"px";M.style.left=T[K].left-parseFloat(M.style.marginLeft)-v.left+"px"});var N=p(L).clone();J=N.get(0);J.innerHTML="";J.setAttribute("id","");J.style.height="auto";J.style.width=L.width()+"px";N.append(S);N.insertBefore(L);
N.css("opacity",0);J.style.zIndex=-1;J.style.margin="0";J.style.position="absolute";J.style.top=fa.top-v.top+"px";J.style.left=fa.left-v.left+"px";if(o.adjustHeight==="dynamic")L.animate({height:N.height()},o.duration,o.easing);else if(o.adjustHeight==="auto"){Z=N.height();if(parseFloat(G)<parseFloat(Z))L.css("height",Z);else ea=true}V.each(function(){var K=[];if(typeof o.attribute=="function"){U=o.attribute(p(this));S.each(function(){if(o.attribute(this)==U){K=p(this);return false}})}else K=S.filter("["+
o.attribute+"="+p(this).attr(o.attribute)+"]");if(K.length)o.useScaling?R.push({element:p(this),animation:{top:K.offset().top-v.top,left:K.offset().left-v.left,opacity:1,scale:"1.0"}}):R.push({element:p(this),animation:{top:K.offset().top-v.top,left:K.offset().left-v.left,opacity:1}});else o.useScaling?R.push({element:p(this),animation:{opacity:"0.0",scale:"0.0"}}):R.push({element:p(this),animation:{opacity:"0.0"}})});S.each(function(){var K=[],M=[];if(typeof o.attribute=="function"){U=o.attribute(p(this));
V.each(function(){if(o.attribute(this)==U){K=p(this);return false}});S.each(function(){if(o.attribute(this)==U){M=p(this);return false}})}else{K=V.filter("["+o.attribute+"="+p(this).attr(o.attribute)+"]");M=S.filter("["+o.attribute+"="+p(this).attr(o.attribute)+"]")}var ka;if(K.length===0){ka=o.useScaling?{opacity:"1.0",scale:"1.0"}:{opacity:"1.0"};d=M.clone();var $=d.get(0);$.style.position="absolute";$.style.margin="0";$.style.top=M.offset().top-v.top+"px";$.style.left=M.offset().left-v.left+"px";
d.css("opacity",0);o.useScaling&&d.css("transform","scale(0.0)");d.appendTo(L);R.push({element:p(d),animation:ka})}});N.remove();o.enhancement(L);for(G=0;G<R.length;G++)R[G].element.animate(R[G].animation,o.duration,o.easing,oa)}})}})(jQuery);















/**
 * RUZEE.ShadedBorder 0.6.2
 * (c) 2006 Steffen Rusitschka
 *
 * RUZEE.ShadedBorder is freely distributable under the terms of an MIT-style license.
 * For details, see http://www.ruzee.com/
 */

var RUZEE = window.RUZEE || {};

RUZEE.ShadedBorder = {

create: function(opts) {
  var isie = /msie/i.test(navigator.userAgent) && !window.opera;
  var isie6 = isie && !window.XMLHttpRequest;
  function sty(el, h) {
    for(k in h) {
      if (/ie_/.test(k)) {
        if (isie) el.style[k.substr(3)]=h[k];
      } else el.style[k]=h[k];
    }
  }
  function crdiv(h) {
    var el=document.createElement("div");
    el.className = "sb-gen";
    sty(el, h);
    return el;
  }
  function op(v) {
    v = v<0 ? 0 : v;
    if (v>0.99999) return "";
    return isie ? " filter:alpha(opacity=" + (v*100) + ");" : " opacity:" + v + ';';
  }

  var sr = opts.shadow || 0;
  var r = opts.corner || 0;
  var bor = 0;
  var bow = opts.border || 0;
  var boo = opts.borderOpacity || 1;
  var shadow = sr != 0;
  var lw = r > sr ? r : sr;
  var rw = lw;
  var th = lw;
  var bh = lw;
  if (bow > 0) {
    bor = r;
    r = r - bow;
  }
  var cx = r != 0 && shadow ? Math.round(lw/3) : 0;
  var cy = cx;
  var cs = Math.round(cx/2);
  var iclass = r > 0 ? "sb-inner" : "sb-shadow";
  var sclass = "sb-shadow";
  var bclass = "sb-border";
  var edges = opts.edges || "trlb";
  if (!/t/i.test(edges)) th=0;
  if (!/b/i.test(edges)) bh=0;
  if (!/l/i.test(edges)) lw=0;
  if (!/r/i.test(edges)) rw=0;

  var p = { position:"absolute", left:"0", top:"0", width:lw + "px", height:th + "px", 
            ie_fontSize:"1px", overflow:"hidden", margin:"0", padding:"0" }; var tl = crdiv(p);
  delete p.left; p.right="0"; p.width=rw + "px"; var tr = crdiv(p);
  delete p.top; p.bottom="0"; p.height=bh + "px"; var br = crdiv(p);
  delete p.right; p.left="0"; p.width=lw + "px"; var bl = crdiv(p);

  var tw = crdiv({ position:"absolute", width:"100%", height:th + "px", ie_fontSize:"1px",
                   top:"0", left:"0", overflow:"hidden", margin:"0", padding:"0" });
  var t = crdiv({ position:"relative", height:th + "px", ie_fontSize:"1px",
                  margin:"0 "+ rw + "px 0 " + lw + "px", overflow:"hidden", padding:"0" });
  tw.appendChild(t);

  var bw = crdiv({ position:"absolute", left:"0", bottom:"0", width:"100%", height:bh + "px", 
                   ie_fontSize:"1px", overflow:"hidden", margin:"0", padding:"0" });
                   
  var b = crdiv({ position:"relative", height:bh + "px", ie_fontSize:"1px",
                  margin:"0 "+ rw + "px 0 " + lw + "px", overflow:"hidden", padding:"0" });
                  
  bw.appendChild(b);

  var mw = crdiv({ position:"absolute", top:(-bh)+"px", left:"0", width:"100%", height:"100%",
                   overflow:"hidden", ie_fontSize:"1px", padding:"0", margin:"0" });

  function corner(el,t,l) {
    var w = l ? lw : rw;
    var h = t ? th : bh;
    var s = t ? cs : -cs;
    var dsb = []; var dsi = []; var dss = [];
    
    var xp=0; var xd=1; if (l) { xp=w-1; xd=-1; }
    for (var x=0; x<w; ++x) {
      var yp=h-1; var yd=-1; if (t) { yp=0; yd=1; }
      var finished=false;
      for (var y=h-1; y>=0 && !finished; --y) {
        var div = '<div style="position:absolute; top:' + yp + 'px; left:' + xp + 'px; ' +
                  'width:1px; height:1px; overflow:hidden; margin:0; padding:0;';

        var xc = x - cx; var yc = y - cy - s;
        var d = Math.sqrt(xc*xc+yc*yc);
        var doShadow = false;

        if (r > 0) {
          // draw border
          if (xc < 0 && yc < bor && yc >= r || yc < 0 && xc < bor && xc >= r) {
            dsb.push(div + op(boo) + '" class="' + bclass + '"></div>');
          } else
          if (d<bor && d>=r-1 && xc>=0 && yc>=0) {
            var dd = div;
            if (d>=bor-1) {
              dd += op((bor-d)*boo);
              doShadow = true;
            } else dd += op(boo);
            dsb.push(dd + '" class="' + bclass + '"></div>');
          }
          
          // draw inner
          var dd = div + ' z-index:2;' + (t ? 'background-position:0 -' + (r-yc-1) + 'px;' : 'background-image:none;');
          var finish = function() {
            if (!t) dd = dd.replace(/top\:\d+px/, "top:0px");
            dd = dd.replace(/height\:1px/, "height:" + (y+1) + "px");
            dsi.push(dd + '" class="' + iclass + '"></div>');
            finished = true;
          };
          if (xc < 0 && yc < r || yc < 0 && xc < r) {
            finish();
          } else
          if (d<r && xc>=0 && yc>=0) {
            if (d>=r-1) {
              dd += op(r-d);
              doShadow = true;
              dsi.push(dd + '" class="' + iclass + '"></div>');
            } else {
              finish();
            }
          } else doShadow = true;
        } else doShadow = true;
        
        // draw shadow
        if (sr > 0 && doShadow) {
          d = Math.sqrt(x*x+y*y);
          if (d<sr) {
            dss.push(div + ' z-index:0; ' + op(1-(d/sr)) + '" class="' + sclass + '"></div>');
          }
        }
        yp += yd;
      }
      xp += xd;
    }
    el.innerHTML = dss.concat(dsb.concat(dsi)).join('');
  }
  
  function mid(mw) {
    var ds = [];

    ds.push('<div style="position:relative; top:' + (th+bh) + 'px; height:2048px; ' +
            ' margin:0 ' + (rw-r-cx) + 'px 0 ' + (lw-r-cx) + 'px; ' +
            ' padding:0; overflow:hidden;' +
            ' background-position:0 ' + (th > 0 ? -(r+cy+cs) : '0') + 'px;"' +
            ' class="' + iclass + '"></div>');

    var dd = '<div style="position:absolute; width:1px;' +
        ' top:' + (th+bh) + 'px; height:2048px; padding:0; margin:0;';
    if (sr>0) {
      for (var x=0; x<lw-r-cx; ++x) {
        ds.push(dd + ' left:' + x + 'px;' + op((x+1.0)/lw) + 
            '" class="' + sclass + '"></div>');
      }

      for (var x=0; x<rw-r-cx; ++x) {
        ds.push(dd + ' right:' + x + 'px;' + op((x+1.0)/rw) + 
            '" class="' + sclass + '"></div>');
      }
    }

    if (bow > 0) {
      var su = ' width:' + bow + 'px;' + op(boo) + '" class="' + bclass + '"></div>';
      ds.push(dd + ' left:' + (lw-bor-cx) + 'px;' + su);
      ds.push(dd + ' right:' + (rw-bor-cx) + 'px;' + su);
    }

    mw.innerHTML = ds.join('');
  }

  function tb(el, t) {
    var ds = [];
    var h = t ? th : bh;
    var dd = '<div style="height:1px; overflow:hidden; positioDDDDDDn:absolute; margin:0; padding:0;' +
        ' width:100%; left:0px; ';
    var s = t ? cs : -cs;
    for (var y=0; y<h-s-cy-r; ++y) {
      if (sr>0) ds.push(dd + (t ? 'top:' : 'bottom:') + y + 'px;' + op((y+1)*1.0/h) + 
          '" class="' + sclass + '"></div>');
    }
    if (y >= bow) {
      ds.push(dd + (t ? 'top:' : 'bottom:') + (y - bow) + 'px;' + op(boo) +
          ' height:' + bow + 'px;" class="' + bclass + '"></div>');
    }

    ds.push(dd + (t ? 'background-position-y:0; top:' : 
                      'background-image:none; bottom:') + y + 'px;' +
        ' height:' + (r+cy+s) + 'px;" class="' + iclass + '"></div>');

    el.innerHTML = ds.join('');
  }

  corner(tl, true, true); corner(tr, true, false);
  corner(bl, false, true); corner(br, false, false);
  mid(mw); tb(t, true); tb(b, false);
  needsCloning = false;

  return {
    render: function(el) {
      if (typeof el == 'string') el = document.getElementById(el);
      if (el.length != undefined) {
        for (var i=0; i<el.length; ++i) this.render(el[i]);
        return;
      }
      el.className += " sb";
      sty(el, { position:"relative", background:"transparent" });

      // remove generated children
      var node = el.firstChild;
      while (node) {
        var nextNode = node.nextSibling;
        if (node.nodeType == 1 && node.className == 'sb-gen')
          el.removeChild(node);
        node = nextNode;
      }

      var iel = el.firstChild;

      var twc = needsCloning ? tw.cloneNode(true) : tw;
      var mwc = needsCloning ? mw.cloneNode(true) : mw;
      var bwc = needsCloning ? bw.cloneNode(true) : bw;
      var tlc = needsCloning ? tl.cloneNode(true) : tl;
      var trc = needsCloning ? tr.cloneNode(true) : tr;
      var blc = needsCloning ? bl.cloneNode(true) : bl;
      var brc = needsCloning ? br.cloneNode(true) : br;
      
      el.insertBefore(tlc, iel); el.insertBefore(trc, iel);
      el.insertBefore(blc, iel); el.insertBefore(brc, iel);
      el.insertBefore(twc, iel); el.insertBefore(mwc, iel);
      el.insertBefore(bwc, iel);

      if (isie6) {
        el.onmouseover=function() { this.className += " hover"; }
        el.onmouseout=function() { this.className = this.className.replace(/ hover/,""); }
      }
      if (isie) {
        function resize() {
          twc.style.width = bwc.style.width = mwc.style.width = el.offsetWidth + "px";
          if (isie6) {
            mwc.firstChild.style.height = el.offsetHeight + "px";
          } else {
            for (var i=0; i<mwc.childNodes.length; ++i) {
              mwc.childNodes[i].style.height = (el.offsetHeight - bh - th)  + "px";
            }
          }
          trc.style.right = brc.style.right = null;
          trc.style.left  = brc.style.left  = (el.offsetWidth - rw) + "px";
        }
        el.onresize=resize;
        resize();
      }
      needsCloning = true;
    }
  };
}
}

// add our styles to the document
document.write('\
  <style type="text/css">\
  .sb, .sbi, .sb *, .sbi * { position:relative; z-index:1; }\
  * html .sb, * html .sbi { height:1%; }\
  .sbi { display:inline-block; }\
  .sb-inner { background:#ddd; }\
  .sb-shadow { background:#000; }\
  .sb-border { background:#bbb; }\
  </style>\
');
















/*
 * 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. 
 *
 */















 /*-----------------------
 * jQuery Plugin: Scroll to Top
 * by Craig Wilson, Ph.Creative http://www.ph-creative.com
 * 
 * Copyright (c) 2009 Ph.Creative Ltd.
 * Licensed under the MIT License http://www.opensource.org/licenses/mit-license.php
 *
 * Description: Adds an unobtrusive "Scroll to Top" link to your page with smooth scrolling.
 * For usage instructions and version updates to go http://blog.ph-creative.com/post/jquery-plugin-scroll-to-top-v3.aspx
 * 
 * Version: 3.1, 29/07/2010
 -----------------------*/
 (function($){$.fn.extend({scrollToTop:function(options){var defaults={speed:"slow",ease:"jswing",start:0}
 var options=$.extend(defaults,options);return this.each(function(){var o=options;var scrollDiv=$(this);$(this).hide().removeAttr("href").css("cursor","pointer");if($(window).scrollTop()>o.start){$(this).fadeIn("slow");}$(window).scroll(function(){if($(window).scrollTop()>o.start){$(scrollDiv).fadeIn("slow");}else{$(scrollDiv).fadeOut("slow");}});scrollDiv.click(function(event){$("html, body").animate({scrollTop:"0px"},o.speed,o.ease);});});}});})(jQuery);















 /*
 	AnythingSlider v1.5.14

 	By Chris Coyier: http://css-tricks.com
 	with major improvements by Doug Neiner: http://pixelgraphics.us/
 	based on work by Remy Sharp: http://jqueryfordesigners.com/
 	and crazy mods by Rob Garrison (aka Mottie): https://github.com/ProLoser/AnythingSlider

 	To use the navigationFormatter function, you must have a function that
 	accepts two paramaters, and returns a string of HTML text.

 	index = integer index (1 based);
 	panel = jQuery wrapped LI item this tab references
 	@return = Must return a string of HTML/Text

 	navigationFormatter: function(index, panel){
 		return "Panel #" + index; // This would have each tab with the text 'Panel #X' where X = index
 	}
 */

 (function($) {

 	$.anythingSlider = function(el, options) {

 		// To avoid scope issues, use 'base' instead of 'this'
 		// to reference this class from internal events and functions.
 		var base = this;

 		// Wraps the ul in the necessary divs and then gives Access to jQuery element
 		base.$el = $(el).addClass('anythingBase').wrap('<div class="anythingSlider"><div class="anythingWindow" /></div>');

 		// Add a reverse reference to the DOM object
 		base.$el.data("AnythingSlider", base);

 		base.init = function(){

 			base.options = $.extend({}, $.anythingSlider.defaults, options);

 			if ($.isFunction(base.options.onBeforeInitialize)) { base.$el.bind('before_initialize', base.options.onBeforeInitialize); }
 			base.$el.trigger('before_initialize', base);

 			// Cache existing DOM elements for later
 			// base.$el = original ul
 			// for wrap - get parent() then closest in case the ul has "anythingSlider" class
 			base.$wrapper = base.$el.parent().closest('div.anythingSlider').addClass('anythingSlider-' + base.options.theme);
 			base.$window = base.$el.closest('div.anythingWindow');
 			base.$controls = $('<div class="anythingControls"></div>').appendTo( (base.options.appendControlsTo !== null && $(base.options.appendControlsTo).length) ? $(base.options.appendControlsTo) : base.$wrapper); // change so this works in jQuery 1.3.2
 			base.win = window;
 			base.$win = $(base.win);

 			base.$nav = $('<ul class="thumbNav" />').appendTo(base.$controls);

 			// Set up a few defaults & get details
 			base.timer   = null;  // slideshow timer (setInterval) container
 			base.flag    = false; // event flag to prevent multiple calls (used in control click/focusin)
 			base.playing = false; // slideshow state
 			base.slideshow = false; // slideshow flag
 			base.hovered = false; // actively hovering over the slider
 			base.panelSize = [];  // will contain dimensions and left position of each panel
 			base.currentPage = base.options.startPanel;
 			base.adjustLimit = (base.options.infiniteSlides) ? 0 : 1; // adjust page limits for infinite or limited modes
 			if (base.options.playRtl) { base.$wrapper.addClass('rtl'); }

 			// save some options
 			base.original = [ base.options.autoPlay, base.options.buildNavigation, base.options.buildArrows];
 			base.updateSlider();

 			base.$lastPage = base.$currentPage;

 			// Get index (run time) of this slider on the page
 			base.runTimes = $('div.anythingSlider').index(base.$wrapper) + 1;
 			base.regex = new RegExp('panel' + base.runTimes + '-(\\d+)', 'i'); // hash tag regex

 			// Make sure easing function exists.
 			if (!$.isFunction($.easing[base.options.easing])) { base.options.easing = "swing"; }

 			// Add theme stylesheet, if it isn't already loaded
 			if (base.options.theme !== 'default' && !$('link[href*=' + base.options.theme + ']').length){
 				$('head').append('<link rel="stylesheet" href="' + base.options.themeDirectory.replace(/\{themeName\}/g, base.options.theme) + '" type="text/css" />');
 			}

 			// If pauseOnHover then add hover effects
 			if (base.options.pauseOnHover) {
 				base.$wrapper.hover(function() {
 					if (base.playing) {
 						base.$el.trigger('slideshow_paused', base);
 						base.clearTimer(true);
 					}
 				}, function() {
 					if (base.playing) {
 						base.$el.trigger('slideshow_unpaused', base);
 						base.startStop(base.playing, true);
 					}
 				});
 			}

 			// If a hash can not be used to trigger the plugin, then go to start panel
 			var triggers, startPanel = (base.options.hashTags) ? base.gotoHash() || base.options.startPanel : base.options.startPanel;
 			base.setCurrentPage(startPanel, false); // added to trigger events for FX code

 			// Hide/Show navigation & play/stop controls
 			base.slideControls(false);
 			base.$wrapper.bind('mouseenter mouseleave', function(e){
 				base.hovered = (e.type === "mouseenter") ? true : false;
 				base.slideControls( base.hovered, false );
 			});

 			// Add keyboard navigation
 			if (base.options.enableKeyboard) {
 				$(document).keyup(function(e){
 					// Stop arrow keys from working when focused on form items
 					if (base.$wrapper.is('.activeSlider') && !e.target.tagName.match('TEXTAREA|INPUT|SELECT')) {
 						switch (e.which) {
 							case 39: // right arrow
 								base.goForward();
 								break;
 							case 37: //left arrow
 								base.goBack();
 								break;
 						}
 					}
 				});
 			}

 			// Binds events
 			triggers = "slideshow_paused slideshow_unpaused slide_init slide_begin slideshow_stop slideshow_start initialized swf_completed".split(" ");
 			$.each("onShowPause onShowUnpause onSlideInit onSlideBegin onShowStop onShowStart onInitialized onSWFComplete".split(" "), function(i,o){
 				if ($.isFunction(base.options[o])){
 					base.$el.bind(triggers[i], base.options[o]);
 				}
 			});
 			if ($.isFunction(base.options.onSlideComplete)){
 				// Added setTimeout (zero time) to ensure animation is complete... see this bug report: http://bugs.jquery.com/ticket/7157
 				base.$el.bind('slide_complete', function(){
 					setTimeout(function(){ base.options.onSlideComplete(base); }, 0);
 				});
 			}
 			base.$el.trigger('initialized', base);

 		};

 		// called during initialization & to update the slider if a panel is added or deleted
 		base.updateSlider = function(){
 			// needed for updating the slider
 			base.$el.find('li.cloned').remove();
 			base.$nav.empty();

 			base.$items = base.$el.find('> li'); 
 			base.pages = base.$items.length;

 			if (base.options.showMultiple > 1) {
 				if (base.options.showMultiple > base.pages) { base.options.showMultiple = base.pages; }
 				base.adjustMultiple = (base.options.infiniteSlides) ? 0 : parseInt(base.options.showMultiple, 10) - 1;
 				base.pages = base.$items.length - base.adjustMultiple;
 			}

 			// Remove navigation & player if there is only one page
 			if (base.pages <= 1) {
 				base.options.autoPlay = false;
 				base.options.buildNavigation = false;
 				base.options.buildArrows = false;
 				base.$controls.hide();
 				base.$nav.hide();
 				if (base.$forward) { base.$forward.add(base.$back).hide(); }
 			} else {
 				base.options.autoPlay = base.original[0];
 				base.options.buildNavigation = base.original[1];
 				base.options.buildArrows = base.original[2];
 				base.$controls.show();
 				base.$nav.show();
 				if (base.$forward) { base.$forward.add(base.$back).show(); }

 				// Build navigation tabs
 				base.buildNavigation();

 				// If autoPlay functionality is included, then initialize the settings
 				if (base.options.autoPlay) {
 					base.playing = !base.options.startStopped; // Sets the playing variable to false if startStopped is true
 					base.buildAutoPlay();
 				}

 				// Build forwards/backwards buttons
 				if (base.options.buildArrows) { base.buildNextBackButtons(); }
 			}

 			// Top and tail the list with 'visible' number of items, top has the last section, and tail has the first
 			// This supports the "infinite" scrolling, also ensures any cloned elements don't duplicate an ID
 			if (base.options.infiniteSlides && base.pages > 1) {
 				base.$el.prepend( base.$items.last().clone().addClass('cloned').removeAttr('id') );
 				// Add support for multiple sliders shown at the same time
 				if (base.options.showMultiple > 1) {
 					base.$el.append( base.$items.filter(':lt(' + base.options.showMultiple + ')').clone().addClass('cloned').addClass('multiple').removeAttr('id') );
 				} else {
 					base.$el.append( base.$items.first().clone().addClass('cloned').removeAttr('id') );
 				}
 				base.$el.find('li.cloned').each(function(){
 					// disable all <a> in cloned panels to prevent shifting the panels by tabbing
 					$(this).find('a,input,textarea,select').attr('disabled', 'disabled');
 					$(this).find('[id]').removeAttr('id');
 				});
 			}

 			// We just added two items, time to re-cache the list, then get the dimensions of each panel
 			base.$items = base.$el.find('> li').addClass('panel');
 			base.setDimensions();
 			if (!base.options.resizeContents) { base.$win.load(function(){ base.setDimensions(); }); } // set dimensions after all images load

 			// Set the dimensions of each panel
 			if (base.options.resizeContents) {
 				if (base.options.width) {
 					base.$items.css('width', base.options.width);
 					base.$wrapper.css('width', base.getDim(base.currentPage)[0]);
 				}
 				if (base.options.height) { base.$wrapper.add(base.$items).css('height', base.options.height); }
 			}

 			if (base.currentPage > base.pages) {
 				base.currentPage = base.pages;
 				base.setCurrentPage(base.pages, false);
 			}
 			base.$nav.find('a').eq(base.currentPage - 1).addClass('cur'); // update current selection

 			base.hasEmb = base.$items.find('embed[src*=youtube]').length; // embedded youtube objects exist in the slider
 			base.hasSwfo = (typeof(swfobject) !== 'undefined' && swfobject.hasOwnProperty('embedSWF') && $.isFunction(swfobject.embedSWF)) ? true : false; // is swfobject loaded?

 			// Initialize YouTube javascript api, if YouTube video is present
 			if (base.hasEmb && base.hasSwfo) {
 				base.$items.find('embed[src*=youtube]').each(function(i){
 					// Older IE doesn't have an object - just make sure we are wrapping the correct element
 					var $tar = ($(this).parent()[0].tagName === "OBJECT") ? $(this).parent() : $(this);
 					$tar.wrap('<div id="ytvideo' + i + '"></div>');
 					// use SWFObject if it exists, it replaces the wrapper with the object/embed
 					swfobject.embedSWF($(this).attr('src') + '&enablejsapi=1&version=3&playerapiid=ytvideo' + i, 'ytvideo' + i,
 						$tar.attr('width'), $tar.attr('height'), '10', null, null,
 						{ allowScriptAccess: "always", wmode : base.options.addWmodeToObject, allowfullscreen : true },
 						{ 'class' : $tar.attr('class'), 'style' : $tar.attr('style') }, 
 						function(){ if (i >= base.hasEmb - 1) { base.$el.trigger('swf_completed', base); } } // swf callback
 					);
 				});
 			}

 			// Fix tabbing through the page
 			base.$items.find('a').unbind('focus').bind('focus', function(e){
 				base.$items.find('.focusedLink').removeClass('focusedLink');
 				$(this).addClass('focusedLink');
 				var panel = $(this).closest('.panel');
 				if (!panel.is('.activePage')) {
 					base.gotoPage(base.$items.index(panel));
 					e.preventDefault();
 				}
 			});

 		};

 		// Creates the numbered navigation links
 		base.buildNavigation = function() {
 			var tmp, klass, $a;
 			if (base.options.buildNavigation && (base.pages > 1)) {
 				base.$items.filter(':not(.cloned)').each(function(i) {
 					var index = i + 1;
 					klass = ((index === 1) ? 'first' : '') + ((index === base.pages) ? 'last' : '');
 					$a = $('<a href="#"></a>').addClass('panel' + index).wrap('<li class="' + klass + '" />');
 					base.$nav.append($a.parent()); // use $a.parent() so it will add <li> instead of only the <a> to the <ul>

 					// If a formatter function is present, use it
 					if ($.isFunction(base.options.navigationFormatter)) {
 						tmp = base.options.navigationFormatter(index, $(this));
 						$a.html('<span>' + tmp + '</span>');
 						// Add formatting to title attribute if text is hidden
 						if (parseInt($a.find('span').css('text-indent'),10) < 0) { $a.addClass(base.options.tooltipClass).attr('title', tmp); }
 					} else {
 						$a.html('<span>' + index + '</span>');
 					}

 					$a.bind(base.options.clickControls, function(e) {
 						if (!base.flag && base.options.enableNavigation) {
 							// prevent running functions twice (once for click, second time for focusin)
 							base.flag = true; setTimeout(function(){ base.flag = false; }, 100);
 							base.gotoPage(index);
 							if (base.options.hashTags) { base.setHash(index); }
 						}
 						e.preventDefault();
 					});
 				});
 			}
 		};

 		// Creates the Forward/Backward buttons
 		base.buildNextBackButtons = function() {
 			if (base.$forward) { return; }
 			base.$forward = $('<span class="arrow forward"><a href="#"><span>' + base.options.forwardText + '</span></a></span>');
 			base.$back = $('<span class="arrow back"><a href="#"><span>' + base.options.backText + '</span></a></span>');

 			// Bind to the forward and back buttons
 			base.$back.bind(base.options.clickArrows, function(e) {
 				base.goBack();
 				e.preventDefault();
 			});
 			base.$forward.bind(base.options.clickArrows, function(e) {
 				base.goForward();
 				e.preventDefault();
 			});
 			// using tab to get to arrow links will show they have focus (outline is disabled in css)
 			base.$back.add(base.$forward).find('a').bind('focusin focusout',function(){
 			 $(this).toggleClass('hover');
 			});

 			// Append elements to page
 			base.$wrapper.prepend(base.$forward).prepend(base.$back);
 			base.$arrowWidth = base.$forward.width();
 		};

 		// Creates the Start/Stop button
 		base.buildAutoPlay = function(){
 			if (base.$startStop || base.pages < 2) { return; }
 			base.$startStop = $("<a href='#' class='start-stop'></a>").html('<span>' + (base.playing ? base.options.stopText : base.options.startText) + '</span>');
 			base.$controls.prepend(base.$startStop);
 			base.$startStop
 				.bind(base.options.clickSlideshow, function(e) {
 					if (base.options.enablePlay) {
 						base.startStop(!base.playing);
 						if (base.playing) {
 							if (base.options.playRtl) {
 								base.goBack(true);
 							} else {
 								base.goForward(true);
 							}
 						}
 					}
 					e.preventDefault();
 				})
 				// show button has focus while tabbing
 				.bind('focusin focusout',function(){
 					$(this).toggleClass('hover');
 				});

 			// Use the same setting, but trigger the start;
 			base.startStop(base.playing);
 		};

 		// Set panel dimensions to either resize content or adjust panel to content
 		base.setDimensions = function(){
 			var w, h, c, cw, dw, leftEdge = 0,
 				// showMultiple must have base.options.width set!!
 				bww = (base.options.showMultiple > 1) ? base.options.width || base.$window.width() : base.$window.width(),
 				winw = base.$win.width();
 			base.$items.each(function(i){
 				c = $(this).children('*');
 				if (base.options.resizeContents){
 					// get viewport width & height from options (if set), or css
 					w = parseInt(base.options.width,10) || bww;
 					h = parseInt(base.options.height,10) || base.$window.height();
 					// resize panel
 					$(this).css({ width: w, height: h });
 					// resize panel contents, if solitary (wrapped content or solitary image)
 					if (c.length === 1){
 						c.css({ width: '100%', height: '100%' });
 						if (c[0].tagName === "OBJECT") { c.find('embed').andSelf().attr({ width: '100%', height: '100%' }); }
 					}
 				} else {
 					// get panel width & height and save it
 					w = $(this).width(); // if not defined, it will return the width of the ul parent
 					dw = (w >= winw) ? true : false; // width defined from css?
 					if (c.length === 1 && dw){
 						cw = (c.width() >= winw) ? bww : c.width(); // get width of solitary child
 						$(this).css('width', cw); // set width of panel
 						c.css('max-width', cw);   // set max width for all children
 						w = cw;
 					}
 					w = (dw) ? base.options.width || bww : w;
 					$(this).css('width', w);
 					h = $(this).outerHeight(); // get height after setting width
 					$(this).css('height', h);
 				}
 				base.panelSize[i] = [w,h,leftEdge];
 				leftEdge += w;
 			});
 			// Set total width of slider, but don't go beyond the set max overall width (limited by Opera)
 			base.$el.css('width', (leftEdge < base.options.maxOverallWidth) ? leftEdge : base.options.maxOverallWidth);
 		};

 		// get dimension of multiple panels, as needed
 		base.getDim = function(page){
 			page = (base.options.infiniteSlides) ? page : page - 1;
 			var i,
 				w = base.panelSize[page][0],
 				h = base.panelSize[page][1];
 			if (base.options.showMultiple > 1) {
 				for (i=1; i < base.options.showMultiple; i++) {
 					w += base.panelSize[(page + i)%base.options.showMultiple][0];
 					h = Math.max(h, base.panelSize[page + i][1]);
 				}
 			}
 			return [w,h];
 		};

 		base.gotoPage = function(page, autoplay, callback) {
 			if (base.pages <= 1) { return; }
 			base.$lastPage = base.$currentPage;
 			if (typeof(page) !== "number") {
 				page = base.options.startPage;
 				base.setCurrentPage(base.options.startPage);
 			}

 			// pause YouTube videos before scrolling or prevent change if playing
 			if (base.hasEmb && base.checkVideo(base.playing)) { return; }

 			if (page > base.pages + 1 - base.adjustLimit) { page = (!base.options.infiniteSlides && !base.options.stopAtEnd) ? 1 : base.pages; }
 			if (page < base.adjustLimit ) { page = (!base.options.infiniteSlides && !base.options.stopAtEnd) ? base.pages : 1; }
 			base.currentPage = ( page > base.pages ) ? base.pages : ( page < 1 ) ? 1 : base.currentPage;
 			base.$currentPage = base.$items.eq(base.currentPage - 1);
 			base.exactPage = page;
 			base.$el.trigger('slide_init', base);

 			base.slideControls(true, false);

 			// When autoplay isn't passed, we stop the timer
 			if (autoplay !== true) { autoplay = false; }
 			// Stop the slider when we reach the last page, if the option stopAtEnd is set to true
 			if (!autoplay || (base.options.stopAtEnd && page === base.pages)) { base.startStop(false); }

 			base.$el.trigger('slide_begin', base);

 			// resize slider if content size varies
 			if (!base.options.resizeContents) {
 				// animating the wrapper resize before the window prevents flickering in Firefox
 				var d = base.getDim(page);
 				base.$wrapper.filter(':not(:animated)').animate(
 					{ width: d[0], height: d[1] },
 					{ queue: false, duration: base.options.animationTime, easing: base.options.easing }
 				);
 			}

 			// Animate Slider
 			base.$el.filter(':not(:animated)').animate(
 				{ left : -base.panelSize[(base.options.infiniteSlides) ? page : page - 1][2] },
 				{ queue: false, duration: base.options.animationTime, easing: base.options.easing, complete: function(){ base.endAnimation(page, callback); } }
 			);
 		};

 		base.endAnimation = function(page, callback){
 			if (page === 0) {
 				base.$el.css('left', -base.panelSize[base.pages][2]);
 				page = base.pages;
 			} else if (page > base.pages) {
 				// reset back to start position
 				base.$el.css('left', -base.panelSize[1][2]);
 				page = 1;
 			}
 			base.exactPage = page;
 			base.setCurrentPage(page, false);
 			// Add active panel class
 			base.$items.removeClass('activePage').eq(page - base.adjustLimit).addClass('activePage');

 			if (!base.hovered) { base.slideControls(false); }

 			// continue YouTube video if in current panel
 			if (base.hasEmb){
 				var emb = base.$currentPage.find('object[id*=ytvideo], embed[id*=ytvideo]');
 				// player states: unstarted (-1), ended (0), playing (1), paused (2), buffering (3), video cued (5).
 				if (emb.length && $.isFunction(emb[0].getPlayerState) && emb[0].getPlayerState() > 0 && emb[0].getPlayerState() !== 5) {
 					emb[0].playVideo();
 				}
 			}

 			base.$el.trigger('slide_complete', base);
 			// callback from external slide control: $('#slider').anythingSlider(4, function(slider){ })
 			if (typeof callback === 'function') { callback(base); }
 			// Continue slideshow after a delay
 			if (base.options.autoPlayLocked && !base.playing) {
 				setTimeout(function(){
 					base.startStop(true);
 				// subtract out slide delay as the slideshow waits that additional time.
 				}, base.options.resumeDelay - base.options.delay);
 			}
 		};

 		base.setCurrentPage = function(page, move) {
 			if (base.pages <= 1) { return; }
 			if (page > base.pages + 1 - base.adjustLimit) { page = base.pages - base.adjustLimit; }
 			if (page < base.adjustLimit ) { page = 1; }

 			// Set visual
 			if (base.options.buildNavigation){
 				base.$nav.find('.cur').removeClass('cur');
 				base.$nav.find('a').eq(page - 1).addClass('cur');
 			}

 			// hide/show arrows based on infinite scroll mode
 			if (!base.options.infiniteSlides && base.options.stopAtEnd){
 				base.$wrapper.find('span.forward')[ page === base.pages ? 'addClass' : 'removeClass']('disabled');
 				base.$wrapper.find('span.back')[ page === 1 ? 'addClass' : 'removeClass']('disabled');
 				if (page === base.pages && base.playing) { base.startStop(); }
 			}

 			// Only change left if move does not equal false
 			if (!move) {
 				var d = base.getDim(page);
 				base.$wrapper.css({ width: d[0], height: d[1] });
 				base.$wrapper.scrollLeft(0); // reset in case tabbing changed this scrollLeft
 				base.$el.css('left', -base.panelSize[(base.options.infiniteSlides) ? page : page - 1][2] );
 			}
 			// Update local variable
 			base.currentPage = page;
 			base.$currentPage = base.$items.eq(page).addClass('activePage');

 			// Set current slider as active so keyboard navigation works properly
 			if (!base.$wrapper.is('.activeSlider')){
 				$('.activeSlider').removeClass('activeSlider');
 				base.$wrapper.addClass('activeSlider');
 			}
 		};

 		base.goForward = function(autoplay) {
 			if (autoplay !== true) { autoplay = false; base.startStop(false); }
 			base.gotoPage(base.currentPage + 1, autoplay);
 		};

 		base.goBack = function(autoplay) {
 			if (autoplay !== true) { autoplay = false; base.startStop(false); }
 			base.gotoPage(base.currentPage - 1, autoplay);
 		};

 		// This method tries to find a hash that matches panel-X
 		// If found, it tries to find a matching item
 		// If that is found as well, then that item starts visible
 		base.gotoHash = function(){
 			var n = base.win.location.hash.match(base.regex);
 			return (n===null) ? '' : parseInt(n[1],10);
 		};

 		base.setHash = function(n){
 			var s = 'panel' + base.runTimes + '-',
 				h = base.win.location.hash;
 			if ( typeof h !== 'undefined' ) {
 				base.win.location.hash = (h.indexOf(s) > 0) ? h.replace(base.regex, s + n) : h + "&" + s + n;
 			}
 		};

 		// Slide controls (nav and play/stop button up or down)
 		base.slideControls = function(toggle){
 			var dir = (toggle) ? 'slideDown' : 'slideUp',
 				t1 = (toggle) ? 0 : base.options.animationTime,
 				t2 = (toggle) ? base.options.animationTime: 0,
 				op = (toggle) ? 1: 0,
 				sign = (toggle) ? 0 : 1; // 0 = visible, 1 = hidden
 			if (base.options.toggleControls) {
 				base.$controls.stop(true,true).delay(t1)[dir](base.options.animationTime/2).delay(t2); 
 			}
 			if (base.options.buildArrows && base.options.toggleArrows) {
 				if (!base.hovered && base.playing) { sign = 1; op = 0; } // don't animate arrows during slideshow
 				base.$forward.stop(true,true).delay(t1).animate({ right: sign * base.$arrowWidth, opacity: op }, base.options.animationTime/2);
 				base.$back.stop(true,true).delay(t1).animate({ left: sign * base.$arrowWidth, opacity: op }, base.options.animationTime/2);
 			}
 		};

 		base.clearTimer = function(paused){
 			// Clear the timer only if it is set
 			if (base.timer) { 
 				base.win.clearInterval(base.timer); 
 				if (!paused && base.slideshow) {
 					base.$el.trigger('slideshow_stop', base); 
 					base.slideshow = false;
 				}
 			}
 		};

 		// Handles stopping and playing the slideshow
 		// Pass startStop(false) to stop and startStop(true) to play
 		base.startStop = function(playing, paused) {
 			if (playing !== true) { playing = false; } // Default if not supplied is false

 			if (playing && !paused) {
 				base.$el.trigger('slideshow_start', base);
 				base.slideshow = true;
 			}

 			// Update variable
 			base.playing = playing;

 			// Toggle playing and text
 			if (base.options.autoPlay) {
 				base.$startStop.toggleClass('playing', playing).html('<span>' + (playing ? base.options.stopText : base.options.startText) + '</span>');
 				// add button text to title attribute if it is hidden by text-indent
 				if (parseInt(base.$startStop.find('span').css('text-indent'),10) < 0) {
 					base.$startStop.addClass(base.options.tooltipClass).attr('title', playing ? 'Stop' : 'Start');
 				}
 			}

 			if (playing){
 				base.clearTimer(true); // Just in case this was triggered twice in a row
 				base.timer = base.win.setInterval(function() {
 					// prevent autoplay if video is playing
 					if (!(base.hasEmb && base.checkVideo(playing))) {
 						if (base.options.playRtl) {
 							base.goBack(true);
 						} else {
 							base.goForward(true);
 						}
 					}
 				}, base.options.delay);
 			} else {
 				base.clearTimer();
 			}
 		};

 		base.checkVideo = function(playing){
 			// pause YouTube videos before scrolling?
 			var emb, ps, stopAdvance = false;
 			base.$items.find('object[id*=ytvideo], embed[id*=ytvideo]').each(function(){ // include embed for IE; if not using SWFObject, old detach/append code needs "object embed" here
 				emb = $(this);
 				if (emb.length && $.isFunction(emb[0].getPlayerState)) {
 					// player states: unstarted (-1), ended (0), playing (1), paused (2), buffering (3), video cued (5).
 					ps = emb[0].getPlayerState();
 					// if autoplay, video playing, video is in current panel and resume option are true, then don't advance
 					if (playing && (ps === 1 || ps > 2) && base.$items.index(emb.closest('li.panel')) === base.currentPage && base.options.resumeOnVideoEnd) {
 						stopAdvance = true;
 					} else {
 						// pause video if not autoplaying (if already initialized)
 						if (ps > 0) { emb[0].pauseVideo(); }
 					}
 				}
 			});
 			return stopAdvance;
 		};

 		// Trigger the initialization
 		base.init();
 	};

 	$.anythingSlider.defaults = {
 		// Appearance
 		width               : null,      // Override the default CSS width
 		height              : null,      // Override the default CSS height
 		resizeContents      : true,      // If true, solitary images/objects in the panel will expand to fit the viewport
 		tooltipClass        : 'tooltip', // Class added to navigation & start/stop button (text copied to title if it is hidden by a negative text indent)
 		theme               : 'default', // Theme name
 		themeDirectory      : '/css/theme-{themeName}.css', // Theme directory & filename {themeName} is replaced by the theme value above

 		// Navigation
 		startPanel          : 1,         // This sets the initial panel
 		hashTags            : true,      // Should links change the hashtag in the URL?
 		infiniteSlides      : true,      // if false, the slider will not wrap
 		enableKeyboard      : true,      // if false, keyboard arrow keys will not work for the current panel.
 		buildArrows         : true,      // If true, builds the forwards and backwards buttons
 		toggleArrows        : false,     // If true, side navigation arrows will slide out on hovering & hide @ other times
 		buildNavigation     : true,      // If true, builds a list of anchor links to link to each panel
 		enableNavigation    : true,      // if false, navigation links will still be visible, but not clickable.
 		toggleControls      : false,     // if true, slide in controls (navigation + play/stop button) on hover and slide change, hide @ other times
 		appendControlsTo    : null,      // A HTML element (jQuery Object, selector or HTMLNode) to which the controls will be appended if not null
 		navigationFormatter : null,      // Details at the top of the file on this use (advanced use)
 		forwardText         : "&raquo;", // Link text used to move the slider forward (hidden by CSS, replaced with arrow image)
 		backText            : "&laquo;", // Link text used to move the slider back (hidden by CSS, replace with arrow image)

 		// Slideshow options
 		enablePlay          : true,      // if false, the play/stop button will still be visible, but not clickable.
 		autoPlay            : true,      // This turns off the entire slideshow FUNCTIONALY, not just if it starts running or not
 		autoPlayLocked      : false,     // If true, user changing slides will not stop the slideshow
 		startStopped        : false,     // If autoPlay is on, this can force it to start stopped
 		pauseOnHover        : false,      // If true & the slideshow is active, the slideshow will pause on hover
 		resumeOnVideoEnd    : true,      // If true & the slideshow is active & a youtube video is playing, it will pause the autoplay until the video is complete
 		stopAtEnd           : false,     // If true & the slideshow is active, the slideshow will stop on the last page. This also stops the rewind effect when infiniteSlides is false.
 		playRtl             : false,     // If true, the slideshow will move right-to-left
 		startText           : "Start",   // Start button text
 		stopText            : "Stop",    // Stop button text
 		delay               : 5000,      // How long between slideshow transitions in AutoPlay mode (in milliseconds)
 		resumeDelay         : 15000,     // Resume slideshow after user interaction, only if autoplayLocked is true (in milliseconds).
 		animationTime       : 600,       // How long the slideshow transition takes (in milliseconds)
 		easing              : "easeInOutExpo",   // Anything other than "linear" or "swing" requires the easing plugin

 		// Callbacks - removed from options to reduce size - they still work

 		// Interactivity
 		clickArrows         : "click",         // Event used to activate arrow functionality (e.g. "click" or "mouseenter")
 		clickControls       : "click focusin", // Events used to activate navigation control functionality
 		clickSlideshow      : "click",         // Event used to activate slideshow play/stop button

 		// Misc options
 		addWmodeToObject    : "opaque", // If your slider has an embedded object, the script will automatically add a wmode parameter with this setting
 		maxOverallWidth     : 32766     // Max width (in pixels) of combined sliders (side-to-side); set to 32766 to prevent problems with Opera
 	};

 	$.fn.anythingSlider = function(options, callback) {

 		return this.each(function(){
 			var page, anySlide = $(this).data('AnythingSlider');

 			// initialize the slider but prevent multiple initializations
 			if ((typeof(options)).match('object|undefined')){
 				if (!anySlide) {
 					(new $.anythingSlider(this, options));
 				} else {
 					anySlide.updateSlider();
 				}
 			// If options is a number, process as an external link to page #: $(element).anythingSlider(#)
 			} else if (/\d/.test(options) && !isNaN(options) && anySlide) {
 				page = (typeof(options) === "number") ? options : parseInt($.trim(options),10); // accepts "  2  "
 				// ignore out of bound pages
 				if ( page >= 1 && page <= anySlide.pages ) {
 					anySlide.gotoPage(page, false, callback); // page #, autoplay, one time callback
 				}
 			}
 		});
 	};

 })(jQuery);

 /* AnythingSlider works with works with jQuery 1.4+, but you can uncomment the code below to make it
    work with jQuery 1.3.2. You'll have to manually add the code below to the minified copy if needed */
 /*
  // Copied from jQuery 1.4.4 to make AnythingSlider backwards compatible to jQuery 1.3.2
  if (typeof jQuery.fn.delay === 'undefined') {
   jQuery.fn.extend({
    delay: function( time, type ) {
     time = jQuery.fx ? jQuery.fx.speeds[time] || time : time; type = type || "fx";
     return this.queue( type, function() { var elem = this; setTimeout(function() { jQuery.dequeue( elem, type ); }, time ); });
    }
   });
  }
 */















 /* START applesearch object */

 if (!applesearch)	var applesearch = {};

 applesearch.init = function ()
 {
 	// add applesearch css for non-safari, dom-capable browsers
 	if ( navigator.userAgent.toLowerCase().indexOf('safari') < 0  && document.getElementById )
 	{
 		this.clearBtn = false;

 		// add style sheet if not safari
 		var dummy = document.getElementById("dummy_css");
 		if (dummy)	dummy.href = "/css/applesearch.css";
 	}
 }

 // called when on user input - toggles clear fld btn
 applesearch.onChange = function (fldID, btnID)
 {
 	// check whether to show delete button
 	var fld = document.getElementById( fldID );
 	var btn = document.getElementById( btnID );
 	if (fld.value.length > 0 && !this.clearBtn)
 	{
 		btn.style.background = "black url('/Images/srch_r_f2.gif') no-repeat top left";
 		btn.fldID = fldID; // btn remembers it's field
 		btn.onclick = this.clearBtnClick;
 		this.clearBtn = true;
 	} else if (fld.value.length == 0 && this.clearBtn)
 	{
 		btn.style.background = "black url('/Images/srch_r.gif') no-repeat top left";
 		btn.onclick = null;
 		this.clearBtn = false;
 	}
 }


 // clears field
 applesearch.clearFld = function (fldID,btnID)
 {
 	var fld = document.getElementById( fldID );
 	fld.value = "";
 	this.onChange(fldID,btnID);
 }

 // called by btn.onclick event handler - calls clearFld for this button
 applesearch.clearBtnClick = function ()
 {
 	applesearch.clearFld(this.fldID, this.id);
 }

 /* END applesearch object */















 /*
  * 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. 
  *
  */














  (function($) {
      $.fn.tipsy = function(options) {

          options = $.extend({}, $.fn.tipsy.defaults, options);

          return this.each(function() {

              var opts = $.fn.tipsy.elementOptions(this, options);

              $(this).hover(function() {

                  $.data(this, 'cancel.tipsy', true);

                  var tip = $.data(this, 'active.tipsy');
                  if (!tip) {
                      tip = $('<div class="tipsy"><div class="tipsy-inner"/></div>');
                      tip.css({position: 'absolute', zIndex: 100000});
                      $.data(this, 'active.tipsy', tip);
                  }

                  if ($(this).attr('title') || typeof($(this).attr('original-title')) != 'string') {
                      $(this).attr('original-title', $(this).attr('title') || '').removeAttr('title');
                  }

                  var title;
                  if (typeof opts.title == 'string') {
                      title = $(this).attr(opts.title == 'title' ? 'original-title' : opts.title);
                  } else if (typeof opts.title == 'function') {
                      title = opts.title.call(this);
                  }

                  tip.find('.tipsy-inner')[opts.html ? 'html' : 'text'](title || opts.fallback);

                  var pos = $.extend({}, $(this).offset(), {width: this.offsetWidth, height: this.offsetHeight});
                  tip.get(0).className = 'tipsy'; // reset classname in case of dynamic gravity
                  tip.remove().css({top: 0, left: 0, visibility: 'hidden', display: 'block'}).appendTo(document.body);
                  var actualWidth = tip[0].offsetWidth, actualHeight = tip[0].offsetHeight;
                  var gravity = (typeof opts.gravity == 'function') ? opts.gravity.call(this) : opts.gravity;

                  switch (gravity.charAt(0)) {
                      case 'n':
                          tip.css({top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}).addClass('tipsy-north');
                          break;
                      case 's':
                          tip.css({top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}).addClass('tipsy-south');
                          break;
                      case 'e':
                          tip.css({top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}).addClass('tipsy-east');
                          break;
                      case 'w':
                          tip.css({top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}).addClass('tipsy-west');
                          break;
                  }

                  if (opts.fade) {
                      tip.css({opacity: 0, display: 'block', visibility: 'visible'}).animate({opacity: 0.8});
                  } else {
                      tip.css({visibility: 'visible'});
                  }

              }, function() {
                  $.data(this, 'cancel.tipsy', false);
                  var self = this;
                  setTimeout(function() {
                      if ($.data(this, 'cancel.tipsy')) return;
                      var tip = $.data(self, 'active.tipsy');
                      if (opts.fade) {
                          tip.stop().fadeOut(function() { $(this).remove(); });
                      } else {
                          tip.remove();
                      }
                  }, 100);

              });

          });

      };

      // Overwrite this method to provide options on a per-element basis.
      // For example, you could store the gravity in a 'tipsy-gravity' attribute:
      // return $.extend({}, options, {gravity: $(ele).attr('tipsy-gravity') || 'n' });
      // (remember - do not modify 'options' in place!)
      $.fn.tipsy.elementOptions = function(ele, options) {
          return $.metadata ? $.extend({}, options, $(ele).metadata()) : options;
      };

      $.fn.tipsy.defaults = {
          fade: false,
          fallback: '',
          gravity: 'n',
          html: false,
          title: 'title'
      };

      $.fn.tipsy.autoNS = function() {
          return $(this).offset().top > ($(document).scrollTop() + $(window).height() / 2) ? 's' : 'n';
      };

      $.fn.tipsy.autoWE = function() {
          return $(this).offset().left > ($(document).scrollLeft() + $(window).width() / 2) ? 'e' : 'w';
      };

  })(jQuery);
