/*
 * jQuery JavaScript Library v1.4.4
 * http://jquery.com/
 *
 * Copyright 2010, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 * Copyright 2010, The Dojo Foundation
 * Released under the MIT, BSD, and GPL Licenses.
 *
 * Date: Thu Nov 11 19:04:53 2010 -0500
 */
(function(ax,aB){function k(t,c,E){if(E===aB&&t.nodeType===1){E=t.getAttribute("data-"+c);if(typeof E==="string"){try{E=E==="true"?true:E==="false"?false:E==="null"?null:!R.isNaN(E)?parseFloat(E):ac.test(E)?R.parseJSON(E):E}catch(B){}R.data(t,c,E)}else{E=aB}}return E}function am(){return false}function K(){return true}function aZ(t,c,B){B[0].type=t;return R.event.handle.apply(c,B)}function C(aa){var X,W,V,U,T,P,S,E,Z,c,B,t=[];U=[];T=R.data(this,this.nodeType?"events":"__events__");if(typeof T==="function"){T=T.events}if(!(aa.liveFired===this||!T||!T.live||aa.button&&aa.type==="click")){if(aa.namespace){B=RegExp("(^|\\.)"+aa.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")}aa.liveFired=this;var Y=T.live.slice(0);for(S=0;S<Y.length;S++){T=Y[S];T.origType.replace(aj,"")===aa.type?U.push(T.selector):Y.splice(S--,1)}U=R(aa.target).closest(U,aa.currentTarget);E=0;for(Z=U.length;E<Z;E++){c=U[E];for(S=0;S<Y.length;S++){T=Y[S];if(c.selector===T.selector&&(!B||B.test(T.namespace))){P=c.elem;V=null;if(T.preType==="mouseenter"||T.preType==="mouseleave"){aa.type=T.preType;V=R(aa.relatedTarget).closest(T.selector)[0]}if(!V||V!==P){t.push({elem:P,handleObj:T,level:c.level})}}}}E=0;for(Z=t.length;E<Z;E++){U=t[E];if(W&&U.level>W){break}aa.currentTarget=U.elem;aa.data=U.handleObj.data;aa.handleObj=U.handleObj;B=U.handleObj.origHandler.apply(U.elem,arguments);if(B===false||aa.isPropagationStopped()){W=U.level;if(B===false){X=false}if(aa.isImmediatePropagationStopped()){break}}}return X}}function ai(t,c){return(t&&t!=="*"?t+".":"")+c.replace(o,"`").replace(a3,"&")}function aM(t,c,E){if(R.isFunction(c)){return R.grep(t,function(S,P){return !!c.call(S,P,S)===E})}else{if(c.nodeType){return R.grep(t,function(P){return P===c===E})}else{if(typeof c==="string"){var B=R.grep(t,function(P){return P.nodeType===1});if(aR.test(c)){return R.filter(c,B,!E)}else{c=R.filter(c,B)}}}}return R.grep(t,function(P){return R.inArray(P,c)>=0===E})}function ay(t,c){var B=0;c.each(function(){if(this.nodeName===(t[B]&&t[B].nodeName)){var T=R.data(t[B++]),S=R.data(this,T);if(T=T&&T.events){delete S.handle;S.events={};for(var P in T){for(var E in T[P]){R.event.add(this,P,T[P][E],T[P][E].data)}}}}})}function aE(t,c){c.src?R.ajax({url:c.src,async:false,dataType:"script"}):R.globalEval(c.text||c.textContent||c.innerHTML||"");c.parentNode&&c.parentNode.removeChild(c)}function Q(t,c,E){var B=c==="width"?t.offsetWidth:t.offsetHeight;if(E==="border"){return B}R.each(c==="width"?af:G,function(){E||(B-=parseFloat(R.css(t,"padding"+this))||0);if(E==="margin"){B+=parseFloat(R.css(t,"margin"+this))||0}else{B-=parseFloat(R.css(t,"border"+this+"Width"))||0}});return B}function v(t,c,E,B){if(R.isArray(c)&&c.length){R.each(c,function(S,P){E||r.test(t)?B(t,P):v(t+"["+(typeof P==="object"||R.isArray(P)?S:"")+"]",P,E,B)})}else{if(!E&&c!=null&&typeof c==="object"){R.isEmptyObject(c)?B(t,""):R.each(c,function(S,P){v(t+"["+S+"]",P,E,B)})}else{B(t,c)}}}function ao(t,c){var B={};R.each(A.concat.apply([],A.slice(0,c)),function(){B[this]=t});return B}function n(t){if(!i[t]){var c=R("<"+t+">").appendTo("body"),B=c.css("display");c.remove();if(B==="none"||B===""){B="block"}i[t]=B}return i[t]}function aW(c){return R.isWindow(c)?c:c.nodeType===9?c.defaultView||c.parentWindow:false}var I=ax.document,R=function(){function bj(){if(!bi.isReady){try{I.documentElement.doScroll("left")}catch(bk){setTimeout(bj,1);return}bi.ready()}}var bi=function(bk,bl){return new bi.fn.init(bk,bl)},bh=ax.jQuery,bg=ax.$,bf,bd=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,ba=/\S/,bb=/^\s+/,a7=/\s+$/,V=/\W/,ab=/\d/,a6=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,aa=/^[\],:{}\s]*$/,T=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,W=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,U=/(?:^|:|,)(?:\s*\[)+/g,P=/(webkit)[ \/]([\w.]+)/,be=/(opera)(?:.*version)?[ \/]([\w.]+)/,bc=/(msie) ([\w.]+)/,a8=/(mozilla)(?:.*? rv:([\w.]+))?/,a9=navigator.userAgent,a5=false,a4=[],Y,S=Object.prototype.toString,X=Object.prototype.hasOwnProperty,E=Array.prototype.push,B=Array.prototype.slice,t=String.prototype.trim,Z=Array.prototype.indexOf,c={};bi.fn=bi.prototype={init:function(bl,bn){var bk,bo,bm;if(!bl){return this}if(bl.nodeType){this.context=this[0]=bl;this.length=1;return this}if(bl==="body"&&!bn&&I.body){this.context=I;this[0]=I.body;this.selector="body";this.length=1;return this}if(typeof bl==="string"){if((bk=bd.exec(bl))&&(bk[1]||!bn)){if(bk[1]){bm=bn?bn.ownerDocument||bn:I;if(bo=a6.exec(bl)){if(bi.isPlainObject(bn)){bl=[I.createElement(bo[1])];bi.fn.attr.call(bl,bn,true)}else{bl=[bm.createElement(bo[1])]}}else{bo=bi.buildFragment([bk[1]],[bm]);bl=(bo.cacheable?bo.fragment.cloneNode(true):bo.fragment).childNodes}return bi.merge(this,bl)}else{if((bo=I.getElementById(bk[2]))&&bo.parentNode){if(bo.id!==bk[2]){return bf.find(bl)}this.length=1;this[0]=bo}this.context=I;this.selector=bl;return this}}else{if(!bn&&!V.test(bl)){this.selector=bl;this.context=I;bl=I.getElementsByTagName(bl);return bi.merge(this,bl)}else{return !bn||bn.jquery?(bn||bf).find(bl):bi(bn).find(bl)}}}else{if(bi.isFunction(bl)){return bf.ready(bl)}}if(bl.selector!==aB){this.selector=bl.selector;this.context=bl.context}return bi.makeArray(bl,this)},selector:"",jquery:"1.4.4",length:0,size:function(){return this.length},toArray:function(){return B.call(this,0)},get:function(bk){return bk==null?this.toArray():bk<0?this.slice(bk)[0]:this[bk]},pushStack:function(bl,bm,bk){var bn=bi();bi.isArray(bl)?E.apply(bn,bl):bi.merge(bn,bl);bn.prevObject=this;bn.context=this.context;if(bm==="find"){bn.selector=this.selector+(this.selector?" ":"")+bk}else{if(bm){bn.selector=this.selector+"."+bm+"("+bk+")"}}return bn},each:function(bk,bl){return bi.each(this,bk,bl)},ready:function(bk){bi.bindReady();if(bi.isReady){bk.call(I,bi)}else{a4&&a4.push(bk)}return this},eq:function(bk){return bk===-1?this.slice(bk):this.slice(bk,+bk+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(B.apply(this,arguments),"slice",B.call(arguments).join(","))},map:function(bk){return this.pushStack(bi.map(this,function(bm,bl){return bk.call(bm,bl,bm)}))},end:function(){return this.prevObject||bi(null)},push:E,sort:[].sort,splice:[].splice};bi.fn.init.prototype=bi.fn;bi.extend=bi.fn.extend=function(){var bk,bs,bp,bm,bo,bq=arguments[0]||{},bn=1,bl=arguments.length,br=false;if(typeof bq==="boolean"){br=bq;bq=arguments[1]||{};bn=2}if(typeof bq!=="object"&&!bi.isFunction(bq)){bq={}}if(bl===bn){bq=this;--bn}for(;bn<bl;bn++){if((bk=arguments[bn])!=null){for(bs in bk){bp=bq[bs];bm=bk[bs];if(bq!==bm){if(br&&bm&&(bi.isPlainObject(bm)||(bo=bi.isArray(bm)))){if(bo){bo=false;bp=bp&&bi.isArray(bp)?bp:[]}else{bp=bp&&bi.isPlainObject(bp)?bp:{}}bq[bs]=bi.extend(br,bp,bm)}else{if(bm!==aB){bq[bs]=bm}}}}}}return bq};bi.extend({noConflict:function(bk){ax.$=bg;if(bk){ax.jQuery=bh}return bi},isReady:false,readyWait:1,ready:function(bl){bl===true&&bi.readyWait--;if(!bi.readyWait||bl!==true&&!bi.isReady){if(!I.body){return setTimeout(bi.ready,1)}bi.isReady=true;if(!(bl!==true&&--bi.readyWait>0)){if(a4){var bm=0,bk=a4;for(a4=null;bl=bk[bm++];){bl.call(I,bi)}bi.fn.trigger&&bi(I).trigger("ready").unbind("ready")}}}},bindReady:function(){if(!a5){a5=true;if(I.readyState==="complete"){return setTimeout(bi.ready,1)}if(I.addEventListener){I.addEventListener("DOMContentLoaded",Y,false);ax.addEventListener("load",bi.ready,false)}else{if(I.attachEvent){I.attachEvent("onreadystatechange",Y);ax.attachEvent("onload",bi.ready);var bk=false;try{bk=ax.frameElement==null}catch(bl){}I.documentElement.doScroll&&bk&&bj()}}}},isFunction:function(bk){return bi.type(bk)==="function"},isArray:Array.isArray||function(bk){return bi.type(bk)==="array"},isWindow:function(bk){return bk&&typeof bk==="object"&&"setInterval" in bk},isNaN:function(bk){return bk==null||!ab.test(bk)||isNaN(bk)},type:function(bk){return bk==null?String(bk):c[S.call(bk)]||"object"},isPlainObject:function(bk){if(!bk||bi.type(bk)!=="object"||bk.nodeType||bi.isWindow(bk)){return false}if(bk.constructor&&!X.call(bk,"constructor")&&!X.call(bk.constructor.prototype,"isPrototypeOf")){return false}for(var bl in bk){}return bl===aB||X.call(bk,bl)},isEmptyObject:function(bk){for(var bl in bk){return false}return true},error:function(bk){throw bk},parseJSON:function(bk){if(typeof bk!=="string"||!bk){return null}bk=bi.trim(bk);if(aa.test(bk.replace(T,"@").replace(W,"]").replace(U,""))){return ax.JSON&&ax.JSON.parse?ax.JSON.parse(bk):(new Function("return "+bk))()}else{bi.error("Invalid JSON: "+bk)}},noop:function(){},globalEval:function(bl){if(bl&&ba.test(bl)){var bm=I.getElementsByTagName("head")[0]||I.documentElement,bk=I.createElement("script");bk.type="text/javascript";if(bi.support.scriptEval){bk.appendChild(I.createTextNode(bl))}else{bk.text=bl}bm.insertBefore(bk,bm.firstChild);bm.removeChild(bk)}},nodeName:function(bk,bl){return bk.nodeName&&bk.nodeName.toUpperCase()===bl.toUpperCase()},each:function(bm,bp,bl){var bq,bn=0,bo=bm.length,bk=bo===aB||bi.isFunction(bm);if(bl){if(bk){for(bq in bm){if(bp.apply(bm[bq],bl)===false){break}}}else{for(;bn<bo;){if(bp.apply(bm[bn++],bl)===false){break}}}}else{if(bk){for(bq in bm){if(bp.call(bm[bq],bq,bm[bq])===false){break}}}else{for(bl=bm[0];bn<bo&&bp.call(bl,bn,bl)!==false;bl=bm[++bn]){}}}return bm},trim:t?function(bk){return bk==null?"":t.call(bk)}:function(bk){return bk==null?"":bk.toString().replace(bb,"").replace(a7,"")},makeArray:function(bl,bm){var bk=bm||[];if(bl!=null){var bn=bi.type(bl);bl.length==null||bn==="string"||bn==="function"||bn==="regexp"||bi.isWindow(bl)?E.call(bk,bl):bi.merge(bk,bl)}return bk},inArray:function(bl,bm){if(bm.indexOf){return bm.indexOf(bl)}for(var bk=0,bn=bm.length;bk<bn;bk++){if(bm[bk]===bl){return bk}}return -1},merge:function(bl,bn){var bk=bl.length,bo=0;if(typeof bn.length==="number"){for(var bm=bn.length;bo<bm;bo++){bl[bk++]=bn[bo]}}else{for(;bn[bo]!==aB;){bl[bk++]=bn[bo++]}}bl.length=bk;return bl},grep:function(bm,bp,bl){var bq=[],bn;bl=!!bl;for(var bo=0,bk=bm.length;bo<bk;bo++){bn=!!bp(bm[bo],bo);bl!==bn&&bq.push(bm[bo])}return bq},map:function(bm,bp,bl){for(var bq=[],bn,bo=0,bk=bm.length;bo<bk;bo++){bn=bp(bm[bo],bo,bl);if(bn!=null){bq[bq.length]=bn}}return bq.concat.apply([],bq)},guid:1,proxy:function(bl,bm,bk){if(arguments.length===2){if(typeof bm==="string"){bk=bl;bl=bk[bm];bm=aB}else{if(bm&&!bi.isFunction(bm)){bk=bm;bm=aB}}}if(!bm&&bl){bm=function(){return bl.apply(bk||this,arguments)}}if(bl){bm.guid=bl.guid=bl.guid||bm.guid||bi.guid++}return bm},access:function(bm,bp,bl,br,bn,bo){var bk=bm.length;if(typeof bp==="object"){for(var bq in bp){bi.access(bm,bq,bp[bq],br,bn,bl)}return bm}if(bl!==aB){br=!bo&&br&&bi.isFunction(bl);for(bq=0;bq<bk;bq++){bn(bm[bq],bp,br?bl.call(bm[bq],bq,bn(bm[bq],bp)):bl,bo)}return bm}return bk?bn(bm[0],bp):aB},now:function(){return(new Date).getTime()},uaMatch:function(bk){bk=bk.toLowerCase();bk=P.exec(bk)||be.exec(bk)||bc.exec(bk)||bk.indexOf("compatible")<0&&a8.exec(bk)||[];return{browser:bk[1]||"",version:bk[2]||"0"}},browser:{}});bi.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(bk,bl){c["[object "+bl+"]"]=bl.toLowerCase()});a9=bi.uaMatch(a9);if(a9.browser){bi.browser[a9.browser]=true;bi.browser.version=a9.version}if(bi.browser.webkit){bi.browser.safari=true}if(Z){bi.inArray=function(bk,bl){return Z.call(bl,bk)}}if(!/\s/.test("\u00a0")){bb=/^[\s\xA0]+/;a7=/[\s\xA0]+$/}bf=bi(I);if(I.addEventListener){Y=function(){I.removeEventListener("DOMContentLoaded",Y,false);bi.ready()}}else{if(I.attachEvent){Y=function(){if(I.readyState==="complete"){I.detachEvent("onreadystatechange",Y);bi.ready()}}}}return ax.jQuery=ax.$=bi}();(function(){R.support={};var X=I.documentElement,V=I.createElement("script"),U=I.createElement("div"),T="script"+R.now();U.style.display="none";U.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var S=U.getElementsByTagName("*"),P=U.getElementsByTagName("a")[0],B=I.createElement("select"),E=B.appendChild(I.createElement("option"));if(!(!S||!S.length||!P)){R.support={leadingWhitespace:U.firstChild.nodeType===3,tbody:!U.getElementsByTagName("tbody").length,htmlSerialize:!!U.getElementsByTagName("link").length,style:/red/.test(P.getAttribute("style")),hrefNormalized:P.getAttribute("href")==="/a",opacity:/^0.55$/.test(P.style.opacity),cssFloat:!!P.style.cssFloat,checkOn:U.getElementsByTagName("input")[0].value==="on",optSelected:E.selected,deleteExpando:true,optDisabled:false,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};B.disabled=true;R.support.optDisabled=!E.disabled;V.type="text/javascript";try{V.appendChild(I.createTextNode("window."+T+"=1;"))}catch(t){}X.insertBefore(V,X.firstChild);if(ax[T]){R.support.scriptEval=true;delete ax[T]}try{delete V.test}catch(W){R.support.deleteExpando=false}X.removeChild(V);if(U.attachEvent&&U.fireEvent){U.attachEvent("onclick",function c(){R.support.noCloneEvent=false;U.detachEvent("onclick",c)});U.cloneNode(true).fireEvent("onclick")}U=I.createElement("div");U.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";X=I.createDocumentFragment();X.appendChild(U.firstChild);R.support.checkClone=X.cloneNode(true).cloneNode(true).lastChild.checked;R(function(){var Z=I.createElement("div");Z.style.width=Z.style.paddingLeft="1px";I.body.appendChild(Z);R.boxModel=R.support.boxModel=Z.offsetWidth===2;if("zoom" in Z.style){Z.style.display="inline";Z.style.zoom=1;R.support.inlineBlockNeedsLayout=Z.offsetWidth===2;Z.style.display="";Z.innerHTML="<div style='width:4px;'></div>";R.support.shrinkWrapBlocks=Z.offsetWidth!==2}Z.innerHTML="<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>";var Y=Z.getElementsByTagName("td");R.support.reliableHiddenOffsets=Y[0].offsetHeight===0;Y[0].style.display="";Y[1].style.display="none";R.support.reliableHiddenOffsets=R.support.reliableHiddenOffsets&&Y[0].offsetHeight===0;Z.innerHTML="";I.body.removeChild(Z).style.display="none"});X=function(Z){var Y=I.createElement("div");Z="on"+Z;var aa=Z in Y;if(!aa){Y.setAttribute(Z,"return;");aa=typeof Y[Z]==="function"}return aa};R.support.submitBubbles=X("submit");R.support.changeBubbles=X("change");X=V=U=S=P=null}})();var a2={},ac=/^(?:\{.*\}|\[.*\])$/;R.extend({cache:{},uuid:0,expando:"jQuery"+R.now(),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},data:function(t,c,S){if(R.acceptData(t)){t=t==ax?a2:t;var P=t.nodeType,E=P?t[R.expando]:null,B=R.cache;if(!(P&&!E&&typeof c==="string"&&S===aB)){if(P){E||(t[R.expando]=E=++R.uuid)}else{B=t}if(typeof c==="object"){if(P){B[E]=R.extend(B[E],c)}else{R.extend(B,c)}}else{if(P&&!B[E]){B[E]={}}}t=P?B[E]:B;if(S!==aB){t[c]=S}return typeof c==="string"?t[c]:t}}},removeData:function(B,c){if(R.acceptData(B)){B=B==ax?a2:B;var T=B.nodeType,S=T?B[R.expando]:B,P=R.cache,E=T?P[S]:S;if(c){if(E){delete E[c];T&&R.isEmptyObject(E)&&R.removeData(B)}}else{if(T&&R.support.deleteExpando){delete B[R.expando]}else{if(B.removeAttribute){B.removeAttribute(R.expando)}else{if(T){delete P[S]}else{for(var t in B){delete B[t]}}}}}}},acceptData:function(t){if(t.nodeName){var c=R.noData[t.nodeName.toLowerCase()];if(c){return !(c===true||t.getAttribute("classid")!==c)}}return true}});R.fn.extend({data:function(B,c){var U=null;if(typeof B==="undefined"){if(this.length){var T=this[0].attributes,S;U=R.data(this[0]);for(var P=0,t=T.length;P<t;P++){S=T[P].name;if(S.indexOf("data-")===0){S=S.substr(5);k(this[0],S,U[S])}}}return U}else{if(typeof B==="object"){return this.each(function(){R.data(this,B)})}}var E=B.split(".");E[1]=E[1]?"."+E[1]:"";if(c===aB){U=this.triggerHandler("getData"+E[1]+"!",[E[0]]);if(U===aB&&this.length){U=R.data(this[0],B);U=k(this[0],B,U)}return U===aB&&E[1]?this.data(E[0]):U}else{return this.each(function(){var W=R(this),V=[E[0],c];W.triggerHandler("setData"+E[1]+"!",V);R.data(this,B,c);W.triggerHandler("changeData"+E[1]+"!",V)})}},removeData:function(c){return this.each(function(){R.removeData(this,c)})}});R.extend({queue:function(t,c,E){if(t){c=(c||"fx")+"queue";var B=R.data(t,c);if(!E){return B||[]}if(!B||R.isArray(E)){B=R.data(t,c,R.makeArray(E))}else{B.push(E)}return B}},dequeue:function(t,c){c=c||"fx";var E=R.queue(t,c),B=E.shift();if(B==="inprogress"){B=E.shift()}if(B){c==="fx"&&E.unshift("inprogress");B.call(t,function(){R.dequeue(t,c)})}}});R.fn.extend({queue:function(t,c){if(typeof t!=="string"){c=t;t="fx"}if(c===aB){return R.queue(this[0],t)}return this.each(function(){var B=R.queue(this,t,c);t==="fx"&&B[0]!=="inprogress"&&R.dequeue(this,t)})},dequeue:function(c){return this.each(function(){R.dequeue(this,c)})},delay:function(t,c){t=R.fx?R.fx.speeds[t]||t:t;c=c||"fx";return this.queue(c,function(){var B=this;setTimeout(function(){R.dequeue(B,c)},t)})},clearQueue:function(c){return this.queue(c||"fx",[])}});var aQ=/[\n\t]/g,au=/\s+/,d=/\r/g,aT=/^(?:href|src|style)$/,aG=/^(?:button|input)$/i,ah=/^(?:button|input|object|select|textarea)$/i,H=/^a(?:rea)?$/i,aD=/^(?:radio|checkbox)$/i;R.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};R.fn.extend({attr:function(t,c){return R.access(this,t,c,true,R.attr)},removeAttr:function(c){return this.each(function(){R.attr(this,c,"");this.nodeType===1&&this.removeAttribute(c)})},addClass:function(V){if(R.isFunction(V)){return this.each(function(W){var X=R(this);X.addClass(V.call(this,W,X.attr("class")))})}if(V&&typeof V==="string"){for(var U=(V||"").split(au),T=0,S=this.length;T<S;T++){var P=this[T];if(P.nodeType===1){if(P.className){for(var E=" "+P.className+" ",t=P.className,B=0,c=U.length;B<c;B++){if(E.indexOf(" "+U[B]+" ")<0){t+=" "+U[B]}}P.className=R.trim(t)}else{P.className=V}}}}return this},removeClass:function(B){if(R.isFunction(B)){return this.each(function(W){var V=R(this);V.removeClass(B.call(this,W,V.attr("class")))})}if(B&&typeof B==="string"||B===aB){for(var c=(B||"").split(au),U=0,T=this.length;U<T;U++){var S=this[U];if(S.nodeType===1&&S.className){if(B){for(var P=(" "+S.className+" ").replace(aQ," "),t=0,E=c.length;t<E;t++){P=P.replace(" "+c[t]+" "," ")}S.className=R.trim(P)}else{S.className=""}}}}return this},toggleClass:function(t,c){var E=typeof t,B=typeof c==="boolean";if(R.isFunction(t)){return this.each(function(S){var P=R(this);P.toggleClass(t.call(this,S,P.attr("class"),c),c)})}return this.each(function(){if(E==="string"){for(var U,T=0,P=R(this),S=c,V=t.split(au);U=V[T++];){S=B?S:!P.hasClass(U);P[S?"addClass":"removeClass"](U)}}else{if(E==="undefined"||E==="boolean"){this.className&&R.data(this,"__className__",this.className);this.className=this.className||t===false?"":R.data(this,"__className__")||""}}})},hasClass:function(t){t=" "+t+" ";for(var c=0,B=this.length;c<B;c++){if((" "+this[c].className+" ").replace(aQ," ").indexOf(t)>-1){return true}}return false},val:function(B){if(!arguments.length){var c=this[0];if(c){if(R.nodeName(c,"option")){var U=c.attributes.value;return !U||U.specified?c.value:c.text}if(R.nodeName(c,"select")){var T=c.selectedIndex;U=[];var S=c.options;c=c.type==="select-one";if(T<0){return null}var P=c?T:0;for(T=c?T+1:S.length;P<T;P++){var t=S[P];if(t.selected&&(R.support.optDisabled?!t.disabled:t.getAttribute("disabled")===null)&&(!t.parentNode.disabled||!R.nodeName(t.parentNode,"optgroup"))){B=R(t).val();if(c){return B}U.push(B)}}return U}if(aD.test(c.type)&&!R.support.checkOn){return c.getAttribute("value")===null?"on":c.value}return(c.value||"").replace(d,"")}return aB}var E=R.isFunction(B);return this.each(function(Y){var W=R(this),X=B;if(this.nodeType===1){if(E){X=B.call(this,Y,W.val())}if(X==null){X=""}else{if(typeof X==="number"){X+=""}else{if(R.isArray(X)){X=R.map(X,function(Z){return Z==null?"":Z+""})}}}if(R.isArray(X)&&aD.test(this.type)){this.checked=R.inArray(W.val(),X)>=0}else{if(R.nodeName(this,"select")){var V=R.makeArray(X);R("option",this).each(function(){this.selected=R.inArray(R(this).val(),V)>=0});if(!V.length){this.selectedIndex=-1}}else{this.value=X}}}})}});R.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(t,c,S,P){if(!t||t.nodeType===3||t.nodeType===8){return aB}if(P&&c in R.attrFn){return R(t)[c](S)}P=t.nodeType!==1||!R.isXMLDoc(t);var E=S!==aB;c=P&&R.props[c]||c;var B=aT.test(c);if((c in t||t[c]!==aB)&&P&&!B){if(E){c==="type"&&aG.test(t.nodeName)&&t.parentNode&&R.error("type property can't be changed");if(S===null){t.nodeType===1&&t.removeAttribute(c)}else{t[c]=S}}if(R.nodeName(t,"form")&&t.getAttributeNode(c)){return t.getAttributeNode(c).nodeValue}if(c==="tabIndex"){return(c=t.getAttributeNode("tabIndex"))&&c.specified?c.value:ah.test(t.nodeName)||H.test(t.nodeName)&&t.href?0:aB}return t[c]}if(!R.support.style&&P&&c==="style"){if(E){t.style.cssText=""+S}return t.style.cssText}E&&t.setAttribute(c,""+S);if(!t.attributes[c]&&t.hasAttribute&&!t.hasAttribute(c)){return aB}t=!R.support.hrefNormalized&&P&&B?t.getAttribute(c,2):t.getAttribute(c);return t===null?aB:t}});var aj=/\.(.*)$/,M=/^(?:textarea|input|select)$/i,o=/\./g,a3=/ /g,s=/[^\w\s.|`]/g,e=function(c){return c.replace(s,"\\$&")},ae={focusin:0,focusout:0};R.event={add:function(Z,X,W,V){if(!(Z.nodeType===3||Z.nodeType===8)){if(R.isWindow(Z)&&Z!==ax&&!Z.frameElement){Z=ax}if(W===false){W=am}else{if(!W){return}}var U,T;if(W.handler){U=W;W=U.handler}if(!W.guid){W.guid=R.guid++}if(T=R.data(Z)){var P=Z.nodeType?"events":"__events__",S=T[P],E=T.handle;if(typeof S==="function"){E=S.handle;S=S.events}else{if(!S){Z.nodeType||(T[P]=T=function(){});T.events=S={}}}if(!E){T.handle=E=function(){return typeof R!=="undefined"&&!R.event.triggered?R.event.handle.apply(E.elem,arguments):aB}}E.elem=Z;X=X.split(" ");for(var Y=0,c;P=X[Y++];){T=U?R.extend({},U):{handler:W,data:V};if(P.indexOf(".")>-1){c=P.split(".");P=c.shift();T.namespace=c.slice(0).sort().join(".")}else{c=[];T.namespace=""}T.type=P;if(!T.guid){T.guid=W.guid}var B=S[P],t=R.event.special[P]||{};if(!B){B=S[P]=[];if(!t.setup||t.setup.call(Z,V,c,E)===false){if(Z.addEventListener){Z.addEventListener(P,E,false)}else{Z.attachEvent&&Z.attachEvent("on"+P,E)}}}if(t.add){t.add.call(Z,T);if(!T.handler.guid){T.handler.guid=W.guid}}B.push(T);R.event.global[P]=true}Z=null}}},global:{},remove:function(aa,X,W,V){if(!(aa.nodeType===3||aa.nodeType===8)){if(W===false){W=am}var U,T,P=0,S,E,Z,c,B,t,Y=aa.nodeType?"events":"__events__",a4=R.data(aa),ab=a4&&a4[Y];if(a4&&ab){if(typeof ab==="function"){a4=ab;ab=ab.events}if(X&&X.type){W=X.handler;X=X.type}if(!X||typeof X==="string"&&X.charAt(0)==="."){X=X||"";for(U in ab){R.event.remove(aa,U+X)}}else{for(X=X.split(" ");U=X[P++];){c=U;S=U.indexOf(".")<0;E=[];if(!S){E=U.split(".");U=E.shift();Z=RegExp("(^|\\.)"+R.map(E.slice(0).sort(),e).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(B=ab[U]){if(W){c=R.event.special[U]||{};for(T=V||0;T<B.length;T++){t=B[T];if(W.guid===t.guid){if(S||Z.test(t.namespace)){V==null&&B.splice(T--,1);c.remove&&c.remove.call(aa,t)}if(V!=null){break}}}if(B.length===0||V!=null&&B.length===1){if(!c.teardown||c.teardown.call(aa,E)===false){R.removeEvent(aa,U,a4.handle)}delete ab[U]}}else{for(T=0;T<B.length;T++){t=B[T];if(S||Z.test(t.namespace)){R.event.remove(aa,c,t.handler,T);B.splice(T--,1)}}}}}if(R.isEmptyObject(ab)){if(X=a4.handle){X.elem=null}delete a4.events;delete a4.handle;if(typeof a4==="function"){R.removeData(aa,Y)}else{R.isEmptyObject(a4)&&R.removeData(aa)}}}}}},trigger:function(X,V,U,T){var S=X.type||X;if(!T){X=typeof X==="object"?X[R.expando]?X:R.extend(R.Event(S),X):R.Event(S);if(S.indexOf("!")>=0){X.type=S=S.slice(0,-1);X.exclusive=true}if(!U){X.stopPropagation();R.event.global[S]&&R.each(R.cache,function(){this.events&&this.events[S]&&R.event.trigger(X,V,this.handle.elem)})}if(!U||U.nodeType===3||U.nodeType===8){return aB}X.result=aB;X.target=U;V=R.makeArray(V);V.unshift(X)}X.currentTarget=U;(T=U.nodeType?R.data(U,"handle"):(R.data(U,"__events__")||{}).handle)&&T.apply(U,V);T=U.parentNode||U.ownerDocument;try{if(!(U&&U.nodeName&&R.noData[U.nodeName.toLowerCase()])){if(U["on"+S]&&U["on"+S].apply(U,V)===false){X.result=false;X.preventDefault()}}}catch(P){}if(!X.isPropagationStopped()&&T){R.event.trigger(X,V,T,true)}else{if(!X.isDefaultPrevented()){var B;T=X.target;var E=S.replace(aj,""),t=R.nodeName(T,"a")&&E==="click",W=R.event.special[E]||{};if((!W._default||W._default.call(U,X)===false)&&!t&&!(T&&T.nodeName&&R.noData[T.nodeName.toLowerCase()])){try{if(T[E]){if(B=T["on"+E]){T["on"+E]=null}R.event.triggered=true;T[E]()}}catch(c){}if(B){T["on"+E]=B}R.event.triggered=false}}}},handle:function(B){var c,U,T,S;U=[];var P=R.makeArray(arguments);B=P[0]=R.event.fix(B||ax.event);B.currentTarget=this;c=B.type.indexOf(".")<0&&!B.exclusive;if(!c){T=B.type.split(".");B.type=T.shift();U=T.slice(0).sort();T=RegExp("(^|\\.)"+U.join("\\.(?:.*\\.)?")+"(\\.|$)")}B.namespace=B.namespace||U.join(".");S=R.data(this,this.nodeType?"events":"__events__");if(typeof S==="function"){S=S.events}U=(S||{})[B.type];if(S&&U){U=U.slice(0);S=0;for(var t=U.length;S<t;S++){var E=U[S];if(c||T.test(E.namespace)){B.handler=E.handler;B.data=E.data;B.handleObj=E;E=E.handler.apply(this,P);if(E!==aB){B.result=E;if(E===false){B.preventDefault();B.stopPropagation()}}if(B.isImmediatePropagationStopped()){break}}}}return B.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(t){if(t[R.expando]){return t}var c=t;t=R.Event(c);for(var E=this.props.length,B;E;){B=this.props[--E];t[B]=c[B]}if(!t.target){t.target=t.srcElement||I}if(t.target.nodeType===3){t.target=t.target.parentNode}if(!t.relatedTarget&&t.fromElement){t.relatedTarget=t.fromElement===t.target?t.toElement:t.fromElement}if(t.pageX==null&&t.clientX!=null){c=I.documentElement;E=I.body;t.pageX=t.clientX+(c&&c.scrollLeft||E&&E.scrollLeft||0)-(c&&c.clientLeft||E&&E.clientLeft||0);t.pageY=t.clientY+(c&&c.scrollTop||E&&E.scrollTop||0)-(c&&c.clientTop||E&&E.clientTop||0)}if(t.which==null&&(t.charCode!=null||t.keyCode!=null)){t.which=t.charCode!=null?t.charCode:t.keyCode}if(!t.metaKey&&t.ctrlKey){t.metaKey=t.ctrlKey}if(!t.which&&t.button!==aB){t.which=t.button&1?1:t.button&2?3:t.button&4?2:0}return t},guid:100000000,proxy:R.proxy,special:{ready:{setup:R.bindReady,teardown:R.noop},live:{add:function(c){R.event.add(this,ai(c.origType,c.selector),R.extend({},c,{handler:C,guid:c.handler.guid}))},remove:function(c){R.event.remove(this,ai(c.origType,c.selector),c)}},beforeunload:{setup:function(t,c,B){if(R.isWindow(this)){this.onbeforeunload=B}},teardown:function(t,c){if(this.onbeforeunload===c){this.onbeforeunload=null}}}}};R.removeEvent=I.removeEventListener?function(t,c,B){t.removeEventListener&&t.removeEventListener(c,B,false)}:function(t,c,B){t.detachEvent&&t.detachEvent("on"+c,B)};R.Event=function(c){if(!this.preventDefault){return new R.Event(c)}if(c&&c.type){this.originalEvent=c;this.type=c.type}else{this.type=c}this.timeStamp=R.now();this[R.expando]=true};R.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var c=this.originalEvent;if(c){if(c.preventDefault){c.preventDefault()}else{c.returnValue=false}}},stopPropagation:function(){this.isPropagationStopped=K;var c=this.originalEvent;if(c){c.stopPropagation&&c.stopPropagation();c.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K;this.stopPropagation()},isDefaultPrevented:am,isPropagationStopped:am,isImmediatePropagationStopped:am};var F=function(t){var c=t.relatedTarget;try{for(;c&&c!==this;){c=c.parentNode}if(c!==this){t.type=t.data;R.event.handle.apply(this,arguments)}}catch(B){}},q=function(c){c.type=c.data;R.event.handle.apply(this,arguments)};R.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(t,c){R.event.special[t]={setup:function(B){R.event.add(this,c,B&&B.selector?q:F,t)},teardown:function(B){R.event.remove(this,c,B&&B.selector?q:F)}}});if(!R.support.submitBubbles){R.event.special.submit={setup:function(){if(this.nodeName.toLowerCase()!=="form"){R.event.add(this,"click.specialSubmit",function(t){var c=t.target,B=c.type;if((B==="submit"||B==="image")&&R(c).closest("form").length){t.liveFired=aB;return aZ("submit",this,arguments)}});R.event.add(this,"keypress.specialSubmit",function(t){var c=t.target,B=c.type;if((B==="text"||B==="password")&&R(c).closest("form").length&&t.keyCode===13){t.liveFired=aB;return aZ("submit",this,arguments)}})}else{return false}},teardown:function(){R.event.remove(this,".specialSubmit")}}}if(!R.support.changeBubbles){var al,b=function(t){var c=t.type,B=t.value;if(c==="radio"||c==="checkbox"){B=t.checked}else{if(c==="select-multiple"){B=t.selectedIndex>-1?R.map(t.options,function(E){return E.selected}).join("-"):""}else{if(t.nodeName.toLowerCase()==="select"){B=t.selectedIndex}}}return B},ag=function(t,c){var P=t.target,E,B;if(!(!M.test(P.nodeName)||P.readOnly)){E=R.data(P,"_change_data");B=b(P);if(t.type!=="focusout"||P.type!=="radio"){R.data(P,"_change_data",B)}if(!(E===aB||B===E)){if(E!=null||B){t.type="change";t.liveFired=aB;return R.event.trigger(t,c,P)}}}};R.event.special.change={filters:{focusout:ag,beforedeactivate:ag,click:function(t){var c=t.target,B=c.type;if(B==="radio"||B==="checkbox"||c.nodeName.toLowerCase()==="select"){return ag.call(this,t)}},keydown:function(t){var c=t.target,B=c.type;if(t.keyCode===13&&c.nodeName.toLowerCase()!=="textarea"||t.keyCode===32&&(B==="checkbox"||B==="radio")||B==="select-multiple"){return ag.call(this,t)}},beforeactivate:function(c){c=c.target;R.data(c,"_change_data",b(c))}},setup:function(){if(this.type==="file"){return false}for(var c in al){R.event.add(this,c+".specialChange",al[c])}return M.test(this.nodeName)},teardown:function(){R.event.remove(this,".specialChange");return M.test(this.nodeName)}};al=R.event.special.change.filters;al.focus=al.beforeactivate}I.addEventListener&&R.each({focus:"focusin",blur:"focusout"},function(t,c){function B(E){E=R.event.fix(E);E.type=c;return R.event.trigger(E,null,E.target)}R.event.special[c]={setup:function(){ae[c]++===0&&I.addEventListener(t,B,true)},teardown:function(){--ae[c]===0&&I.removeEventListener(t,B,true)}}});R.each(["bind","one"],function(t,c){R.fn[c]=function(U,T,S){if(typeof U==="object"){for(var P in U){this[c](P,T,U[P],S)}return this}if(R.isFunction(T)||T===false){S=T;T=aB}var B=c==="one"?R.proxy(S,function(V){R(this).unbind(V,B);return S.apply(this,arguments)}):S;if(U==="unload"&&c!=="one"){this.one(U,T,S)}else{P=0;for(var E=this.length;P<E;P++){R.event.add(this[P],U,B,T)}}return this}});R.fn.extend({unbind:function(t,c){if(typeof t==="object"&&!t.preventDefault){for(var E in t){this.unbind(E,t[E])}}else{E=0;for(var B=this.length;E<B;E++){R.event.remove(this[E],t,c)}}return this},delegate:function(t,c,E,B){return this.live(c,E,B,t)},undelegate:function(t,c,B){return arguments.length===0?this.unbind("live"):this.die(c,null,B,t)},trigger:function(t,c){return this.each(function(){R.event.trigger(t,c,this)})},triggerHandler:function(t,c){if(this[0]){var B=R.Event(t);B.preventDefault();B.stopPropagation();R.event.trigger(B,c,this[0]);return B.result}},toggle:function(t){for(var c=arguments,B=1;B<c.length;){R.proxy(t,c[B++])}return this.click(R.proxy(t,function(P){var E=(R.data(this,"lastToggle"+t.guid)||0)%B;R.data(this,"lastToggle"+t.guid,E+1);P.preventDefault();return c[E].apply(this,arguments)||false}))},hover:function(t,c){return this.mouseenter(t).mouseleave(c||t)}});var aS={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};R.each(["live","die"],function(t,c){R.fn[c]=function(X,W,V,U){var S,T=0,P,Y,B=U||this.selector;U=U?this:R(this.context);if(typeof X==="object"&&!X.preventDefault){for(S in X){U[c](S,W,X[S],B)}return this}if(R.isFunction(W)){V=W;W=aB}for(X=(X||"").split(" ");(S=X[T++])!=null;){P=aj.exec(S);Y="";if(P){Y=P[0];S=S.replace(aj,"")}if(S==="hover"){X.push("mouseenter"+Y,"mouseleave"+Y)}else{P=S;if(S==="focus"||S==="blur"){X.push(aS[S]+Y);S+=Y}else{S=(aS[S]||S)+Y}if(c==="live"){Y=0;for(var E=U.length;Y<E;Y++){R.event.add(U[Y],"live."+ai(S,B),{data:W,selector:B,handler:V,origType:S,origHandler:V,preType:P})}}else{U.unbind("live."+ai(S,B),V)}}}return this}});R.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(t,c){R.fn[c]=function(E,B){if(B==null){B=E;E=null}return arguments.length>0?this.bind(c,E,B):this.trigger(c)};if(R.attrFn){R.attrFn[c]=true}});ax.attachEvent&&!ax.addEventListener&&R(ax).bind("unload",function(){for(var t in R.cache){if(R.cache[t].handle){try{R.event.remove(R.cache[t].handle.elem)}catch(c){}}}});(function(){function ab(bb,ba,a8,a9,a7,a6){a7=0;for(var bd=a9.length;a7<bd;a7++){var bc=a9[a7];if(bc){var be=false;for(bc=bc[bb];bc;){if(bc.sizcache===a8){be=a9[bc.sizset];break}if(bc.nodeType===1&&!a6){bc.sizcache=a8;bc.sizset=a7}if(bc.nodeName.toLowerCase()===ba){be=bc;break}bc=bc[bb]}a9[a7]=be}}}function Y(bb,ba,a8,a9,a7,a6){a7=0;for(var bd=a9.length;a7<bd;a7++){var bc=a9[a7];if(bc){var be=false;for(bc=bc[bb];bc;){if(bc.sizcache===a8){be=a9[bc.sizset];break}if(bc.nodeType===1){if(!a6){bc.sizcache=a8;bc.sizset=a7}if(typeof ba!=="string"){if(bc===ba){be=true;break}}else{if(S.filter(ba,[bc]).length>0){be=bc;break}}}bc=bc[bb]}a9[a7]=be}}}var W=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,V=0,U=Object.prototype.toString,T=false,P=true;[0,0].sort(function(){P=false;return 0});var S=function(bd,bc,a9,ba){a9=a9||[];var a8=bc=bc||I;if(bc.nodeType!==1&&bc.nodeType!==9){return[]}if(!bd||typeof bd!=="string"){return a9}var a7,bi,bh,bj,bg,bf=true,be=S.isXML(bc),a6=[],bb=bd;do{W.exec("");if(a7=W.exec(bb)){bb=a7[3];a6.push(a7[1]);if(a7[2]){bj=a7[3];break}}}while(a7);if(a6.length>1&&aa.exec(bd)){if(a6.length===2&&E.relative[a6[0]]){bi=X(a6[0]+a6[1],bc)}else{for(bi=E.relative[a6[0]]?[bc]:S(a6.shift(),bc);a6.length;){bd=a6.shift();if(E.relative[bd]){bd+=a6.shift()}bi=X(bd,bi)}}}else{if(!ba&&a6.length>1&&bc.nodeType===9&&!be&&E.match.ID.test(a6[0])&&!E.match.ID.test(a6[a6.length-1])){a7=S.find(a6.shift(),bc,be);bc=a7.expr?S.filter(a7.expr,a7.set)[0]:a7.set[0]}if(bc){a7=ba?{expr:a6.pop(),set:t(ba)}:S.find(a6.pop(),a6.length===1&&(a6[0]==="~"||a6[0]==="+")&&bc.parentNode?bc.parentNode:bc,be);bi=a7.expr?S.filter(a7.expr,a7.set):a7.set;if(a6.length>0){bh=t(bi)}else{bf=false}for(;a6.length;){a7=bg=a6.pop();if(E.relative[bg]){a7=a6.pop()}else{bg=""}if(a7==null){a7=bc}E.relative[bg](bh,a7,be)}}else{bh=[]}}bh||(bh=bi);bh||S.error(bg||bd);if(U.call(bh)==="[object Array]"){if(bf){if(bc&&bc.nodeType===1){for(bd=0;bh[bd]!=null;bd++){if(bh[bd]&&(bh[bd]===true||bh[bd].nodeType===1&&S.contains(bc,bh[bd]))){a9.push(bi[bd])}}}else{for(bd=0;bh[bd]!=null;bd++){bh[bd]&&bh[bd].nodeType===1&&a9.push(bi[bd])}}}else{a9.push.apply(a9,bh)}}else{t(bh,a9)}if(bj){S(bj,a8,a9,ba);S.uniqueSort(a9)}return a9};S.uniqueSort=function(a7){if(a5){T=P;a7.sort(a5);if(T){for(var a6=1;a6<a7.length;a6++){a7[a6]===a7[a6-1]&&a7.splice(a6--,1)}}}return a7};S.matches=function(a7,a6){return S(a7,null,null,a6)};S.matchesSelector=function(a7,a6){return S(a6,null,null,[a7]).length>0};S.find=function(bb,ba,a8){var a9;if(!bb){return[]}for(var a7=0,a6=E.order.length;a7<a6;a7++){var bd,bc=E.order[a7];if(bd=E.leftMatch[bc].exec(bb)){var be=bd[1];bd.splice(1,1);if(be.substr(be.length-1)!=="\\"){bd[1]=(bd[1]||"").replace(/\\/g,"");a9=E.find[bc](bd,ba,a8);if(a9!=null){bb=bb.replace(E.match[bc],"");break}}}}a9||(a9=ba.getElementsByTagName("*"));return{set:a9,expr:bb}};S.filter=function(be,bd,a9,ba){for(var a8,a7,bj=be,bi=[],bk=bd,bh=bd&&bd[0]&&S.isXML(bd[0]);be&&bd.length;){for(var bg in E.filter){if((a8=E.leftMatch[bg].exec(be))!=null&&a8[2]){var bf,a6,bc=E.filter[bg];a6=a8[1];a7=false;a8.splice(1,1);if(a6.substr(a6.length-1)!=="\\"){if(bk===bi){bi=[]}if(E.preFilter[bg]){if(a8=E.preFilter[bg](a8,bk,a9,bi,ba,bh)){if(a8===true){continue}}else{a7=bf=true}}if(a8){for(var bb=0;(a6=bk[bb])!=null;bb++){if(a6){bf=bc(a6,a8,bb,bk);var bl=ba^!!bf;if(a9&&bf!=null){if(bl){a7=true}else{bk[bb]=false}}else{if(bl){bi.push(a6);a7=true}}}}}if(bf!==aB){a9||(bk=bi);be=be.replace(E.match[bg],"");if(!a7){return[]}break}}}}if(be===bj){if(a7==null){S.error(be)}else{break}}bj=be}return bk};S.error=function(a6){throw"Syntax error, unrecognized expression: "+a6};var E=S.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(a6){return a6.getAttribute("href")}},relative:{"+":function(a8,a7){var bb=typeof a7==="string",a6=bb&&!/\W/.test(a7);bb=bb&&!a6;if(a6){a7=a7.toLowerCase()}a6=0;for(var ba=a8.length,a9;a6<ba;a6++){if(a9=a8[a6]){for(;(a9=a9.previousSibling)&&a9.nodeType!==1;){}a8[a6]=bb||a9&&a9.nodeName.toLowerCase()===a7?a9||false:a9===a7}}bb&&S.filter(a7,a8,true)},">":function(a8,a7){var bb,a6=typeof a7==="string",ba=0,a9=a8.length;if(a6&&!/\W/.test(a7)){for(a7=a7.toLowerCase();ba<a9;ba++){if(bb=a8[ba]){bb=bb.parentNode;a8[ba]=bb.nodeName.toLowerCase()===a7?bb:false}}}else{for(;ba<a9;ba++){if(bb=a8[ba]){a8[ba]=a6?bb.parentNode:bb.parentNode===a7}}a6&&S.filter(a7,a8,true)}},"":function(a8,a7,bb){var a6,ba=V++,a9=Y;if(typeof a7==="string"&&!/\W/.test(a7)){a6=a7=a7.toLowerCase();a9=ab}a9("parentNode",a7,ba,a8,a6,bb)},"~":function(a8,a7,bb){var a6,ba=V++,a9=Y;if(typeof a7==="string"&&!/\W/.test(a7)){a6=a7=a7.toLowerCase();a9=ab}a9("previousSibling",a7,ba,a8,a6,bb)}},find:{ID:function(a7,a6,a8){if(typeof a6.getElementById!=="undefined"&&!a8){return(a7=a6.getElementById(a7[1]))&&a7.parentNode?[a7]:[]}},NAME:function(a8,a7){if(typeof a7.getElementsByName!=="undefined"){for(var bb=[],a6=a7.getElementsByName(a8[1]),ba=0,a9=a6.length;ba<a9;ba++){a6[ba].getAttribute("name")===a8[1]&&bb.push(a6[ba])}return bb.length===0?null:bb}},TAG:function(a7,a6){return a6.getElementsByTagName(a7[1])}},preFilter:{CLASS:function(a9,a8,bc,a6,bb,ba){a9=" "+a9[1].replace(/\\/g,"")+" ";if(ba){return a9}ba=0;for(var a7;(a7=a8[ba])!=null;ba++){if(a7){if(bb^(a7.className&&(" "+a7.className+" ").replace(/[\t\n]/g," ").indexOf(a9)>=0)){bc||a6.push(a7)}else{if(bc){a8[ba]=false}}}}return false},ID:function(a6){return a6[1].replace(/\\/g,"")},TAG:function(a6){return a6[1].toLowerCase()},CHILD:function(a7){if(a7[1]==="nth"){var a6=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(a7[2]==="even"&&"2n"||a7[2]==="odd"&&"2n+1"||!/\D/.test(a7[2])&&"0n+"+a7[2]||a7[2]);a7[2]=a6[1]+(a6[2]||1)-0;a7[3]=a6[3]-0}a7[0]=V++;return a7},ATTR:function(a8,a7,bb,a6,ba,a9){a7=a8[1].replace(/\\/g,"");if(!a9&&E.attrMap[a7]){a8[1]=E.attrMap[a7]}if(a8[2]==="~="){a8[4]=" "+a8[4]+" "}return a8},PSEUDO:function(a8,a7,ba,a6,a9){if(a8[1]==="not"){if((W.exec(a8[3])||"").length>1||/^\w/.test(a8[3])){a8[3]=S(a8[3],null,null,a7)}else{a8=S.filter(a8[3],a7,ba,true^a9);ba||a6.push.apply(a6,a8);return false}}else{if(E.match.POS.test(a8[0])||E.match.CHILD.test(a8[0])){return true}}return a8},POS:function(a6){a6.unshift(true);return a6}},filters:{enabled:function(a6){return a6.disabled===false&&a6.type!=="hidden"},disabled:function(a6){return a6.disabled===true},checked:function(a6){return a6.checked===true},selected:function(a6){return a6.selected===true},parent:function(a6){return !!a6.firstChild},empty:function(a6){return !a6.firstChild},has:function(a7,a6,a8){return !!S(a8[3],a7).length},header:function(a6){return/h\d/i.test(a6.nodeName)},text:function(a6){return"text"===a6.type},radio:function(a6){return"radio"===a6.type},checkbox:function(a6){return"checkbox"===a6.type},file:function(a6){return"file"===a6.type},password:function(a6){return"password"===a6.type},submit:function(a6){return"submit"===a6.type},image:function(a6){return"image"===a6.type},reset:function(a6){return"reset"===a6.type},button:function(a6){return"button"===a6.type||a6.nodeName.toLowerCase()==="button"},input:function(a6){return/input|select|textarea|button/i.test(a6.nodeName)}},setFilters:{first:function(a7,a6){return a6===0},last:function(a8,a7,a9,a6){return a7===a6.length-1},even:function(a7,a6){return a6%2===0},odd:function(a7,a6){return a6%2===1},lt:function(a7,a6,a8){return a6<a8[3]-0},gt:function(a7,a6,a8){return a6>a8[3]-0},nth:function(a7,a6,a8){return a8[3]-0===a6},eq:function(a7,a6,a8){return a8[3]-0===a6}},filter:{PSEUDO:function(a8,a7,bb,a6){var ba=a7[1],a9=E.filters[ba];if(a9){return a9(a8,bb,a7,a6)}else{if(ba==="contains"){return(a8.textContent||a8.innerText||S.getText([a8])||"").indexOf(a7[3])>=0}else{if(ba==="not"){a7=a7[3];bb=0;for(a6=a7.length;bb<a6;bb++){if(a7[bb]===a8){return false}}return true}else{S.error("Syntax error, unrecognized expression: "+ba)}}}},CHILD:function(a9,a8){var bd=a8[1],a6=a9;switch(bd){case"only":case"first":for(;a6=a6.previousSibling;){if(a6.nodeType===1){return false}}if(bd==="first"){return true}a6=a9;case"last":for(;a6=a6.nextSibling;){if(a6.nodeType===1){return false}}return true;case"nth":bd=a8[2];var bb=a8[3];if(bd===1&&bb===0){return true}var ba=a8[0],a7=a9.parentNode;if(a7&&(a7.sizcache!==ba||!a9.nodeIndex)){var bc=0;for(a6=a7.firstChild;a6;a6=a6.nextSibling){if(a6.nodeType===1){a6.nodeIndex=++bc}}a7.sizcache=ba}a6=a9.nodeIndex-bb;return bd===0?a6===0:a6%bd===0&&a6/bd>=0}},ID:function(a7,a6){return a7.nodeType===1&&a7.getAttribute("id")===a6},TAG:function(a7,a6){return a6==="*"&&a7.nodeType===1||a7.nodeName.toLowerCase()===a6},CLASS:function(a7,a6){return(" "+(a7.className||a7.getAttribute("class"))+" ").indexOf(a6)>-1},ATTR:function(a8,a7){var bb=a7[1];bb=E.attrHandle[bb]?E.attrHandle[bb](a8):a8[bb]!=null?a8[bb]:a8.getAttribute(bb);var a6=bb+"",ba=a7[2],a9=a7[4];return bb==null?ba==="!=":ba==="="?a6===a9:ba==="*="?a6.indexOf(a9)>=0:ba==="~="?(" "+a6+" ").indexOf(a9)>=0:!a9?a6&&bb!==false:ba==="!="?a6!==a9:ba==="^="?a6.indexOf(a9)===0:ba==="$="?a6.substr(a6.length-a9.length)===a9:ba==="|="?a6===a9||a6.substr(0,a9.length+1)===a9+"-":false},POS:function(a8,a7,ba,a6){var a9=E.setFilters[a7[2]];if(a9){return a9(a8,ba,a7,a6)}}}},aa=E.match.POS,c=function(a7,a6){return"\\"+(a6-0+1)},B;for(B in E.match){E.match[B]=RegExp(E.match[B].source+/(?![^\[]*\])(?![^\(]*\))/.source);E.leftMatch[B]=RegExp(/(^(?:.|\r|\n)*?)/.source+E.match[B].source.replace(/\\(\d+)/g,c))}var t=function(a7,a6){a7=Array.prototype.slice.call(a7,0);if(a6){a6.push.apply(a6,a7);return a6}return a7};try{Array.prototype.slice.call(I.documentElement.childNodes,0)}catch(Z){t=function(a8,a7){var ba=0,a6=a7||[];if(U.call(a8)==="[object Array]"){Array.prototype.push.apply(a6,a8)}else{if(typeof a8.length==="number"){for(var a9=a8.length;ba<a9;ba++){a6.push(a8[ba])}}else{for(;a8[ba];ba++){a6.push(a8[ba])}}}return a6}}var a5,a4;if(I.documentElement.compareDocumentPosition){a5=function(a7,a6){if(a7===a6){T=true;return 0}if(!a7.compareDocumentPosition||!a6.compareDocumentPosition){return a7.compareDocumentPosition?-1:1}return a7.compareDocumentPosition(a6)&4?-1:1}}else{a5=function(a9,a8){var bc,a6,bb=[],ba=[];bc=a9.parentNode;a6=a8.parentNode;var a7=bc;if(a9===a8){T=true;return 0}else{if(bc===a6){return a4(a9,a8)}else{if(bc){if(!a6){return 1}}else{return -1}}}for(;a7;){bb.unshift(a7);a7=a7.parentNode}for(a7=a6;a7;){ba.unshift(a7);a7=a7.parentNode}bc=bb.length;a6=ba.length;for(a7=0;a7<bc&&a7<a6;a7++){if(bb[a7]!==ba[a7]){return a4(bb[a7],ba[a7])}}return a7===bc?a4(a9,ba[a7],-1):a4(bb[a7],a8,1)};a4=function(a7,a6,a8){if(a7===a6){return a8}for(a7=a7.nextSibling;a7;){if(a7===a6){return -1}a7=a7.nextSibling}return 1}}S.getText=function(a8){for(var a7="",a9,a6=0;a8[a6];a6++){a9=a8[a6];if(a9.nodeType===3||a9.nodeType===4){a7+=a9.nodeValue}else{if(a9.nodeType!==8){a7+=S.getText(a9.childNodes)}}}return a7};(function(){var a7=I.createElement("div"),a6="script"+(new Date).getTime(),a8=I.documentElement;a7.innerHTML="<a name='"+a6+"'/>";a8.insertBefore(a7,a8.firstChild);if(I.getElementById(a6)){E.find.ID=function(a9,bb,ba){if(typeof bb.getElementById!=="undefined"&&!ba){return(bb=bb.getElementById(a9[1]))?bb.id===a9[1]||typeof bb.getAttributeNode!=="undefined"&&bb.getAttributeNode("id").nodeValue===a9[1]?[bb]:aB:[]}};E.filter.ID=function(a9,bb){var ba=typeof a9.getAttributeNode!=="undefined"&&a9.getAttributeNode("id");return a9.nodeType===1&&ba&&ba.nodeValue===bb}}a8.removeChild(a7);a8=a7=null})();(function(){var a6=I.createElement("div");a6.appendChild(I.createComment(""));if(a6.getElementsByTagName("*").length>0){E.find.TAG=function(a8,bb){var a7=bb.getElementsByTagName(a8[1]);if(a8[1]==="*"){for(var ba=[],a9=0;a7[a9];a9++){a7[a9].nodeType===1&&ba.push(a7[a9])}a7=ba}return a7}}a6.innerHTML="<a href='#'></a>";if(a6.firstChild&&typeof a6.firstChild.getAttribute!=="undefined"&&a6.firstChild.getAttribute("href")!=="#"){E.attrHandle.href=function(a7){return a7.getAttribute("href",2)}}a6=null})();I.querySelectorAll&&function(){var a7=S,a6=I.createElement("div");a6.innerHTML="<p class='TEST'></p>";if(!(a6.querySelectorAll&&a6.querySelectorAll(".TEST").length===0)){S=function(a9,bd,bc,ba){bd=bd||I;a9=a9.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!ba&&!S.isXML(bd)){if(bd.nodeType===9){try{return t(bd.querySelectorAll(a9),bc)}catch(bg){}}else{if(bd.nodeType===1&&bd.nodeName.toLowerCase()!=="object"){var bb=bd.getAttribute("id"),bf=bb||"__sizzle__";bb||bd.setAttribute("id",bf);try{return t(bd.querySelectorAll("#"+bf+" "+a9),bc)}catch(be){}finally{bb||bd.removeAttribute("id")}}}}return a7(a9,bd,bc,ba)};for(var a8 in a7){S[a8]=a7[a8]}a6=null}}();(function(){var a8=I.documentElement,a7=a8.matchesSelector||a8.mozMatchesSelector||a8.webkitMatchesSelector||a8.msMatchesSelector,a9=false;try{a7.call(I.documentElement,"[test!='']:sizzle")}catch(a6){a9=true}if(a7){S.matchesSelector=function(bc,bb){bb=bb.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!S.isXML(bc)){try{if(a9||!E.match.PSEUDO.test(bb)&&!/!=/.test(bb)){return a7.call(bc,bb)}}catch(ba){}}return S(bb,null,null,[bc]).length>0}}})();(function(){var a6=I.createElement("div");a6.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!a6.getElementsByClassName||a6.getElementsByClassName("e").length===0)){a6.lastChild.className="e";if(a6.getElementsByClassName("e").length!==1){E.order.splice(1,0,"CLASS");E.find.CLASS=function(a8,a9,a7){if(typeof a9.getElementsByClassName!=="undefined"&&!a7){return a9.getElementsByClassName(a8[1])}};a6=null}}})();S.contains=I.documentElement.contains?function(a7,a6){return a7!==a6&&(a7.contains?a7.contains(a6):true)}:I.documentElement.compareDocumentPosition?function(a7,a6){return !!(a7.compareDocumentPosition(a6)&16)}:function(){return false};S.isXML=function(a6){return(a6=(a6?a6.ownerDocument||a6:0).documentElement)?a6.nodeName!=="HTML":false};var X=function(a9,a8){for(var bc,a6=[],bb="",ba=a8.nodeType?[a8]:a8;bc=E.match.PSEUDO.exec(a9);){bb+=bc[0];a9=a9.replace(E.match.PSEUDO,"")}a9=E.relative[a9]?a9+"*":a9;bc=0;for(var a7=ba.length;bc<a7;bc++){S(a9,ba[bc],a6)}return S.filter(bb,a6)};R.find=S;R.expr=S.selectors;R.expr[":"]=R.expr.filters;R.unique=S.uniqueSort;R.text=S.getText;R.isXMLDoc=S.isXML;R.contains=S.contains})();var aU=/Until$/,aA=/^(?:parents|prevUntil|prevAll)/,aH=/,/,aR=/^.[^:#\[\.,]*$/,ap=Array.prototype.slice,J=R.expr.match.POS;R.fn.extend({find:function(B){for(var c=this.pushStack("","find",B),T=0,S=0,P=this.length;S<P;S++){T=c.length;R.find(B,this[S],c);if(S>0){for(var E=T;E<c.length;E++){for(var t=0;t<T;t++){if(c[t]===c[E]){c.splice(E--,1);break}}}}}return c},has:function(t){var c=R(t);return this.filter(function(){for(var E=0,B=c.length;E<B;E++){if(R.contains(this,c[E])){return true}}})},not:function(c){return this.pushStack(aM(this,c,false),"not",c)},filter:function(c){return this.pushStack(aM(this,c,true),"filter",c)},is:function(c){return !!c&&R.filter(c,this).length>0},closest:function(V,U){var T=[],S,P,E=this[0];if(R.isArray(V)){var t,B={},c=1;if(E&&V.length){S=0;for(P=V.length;S<P;S++){t=V[S];B[t]||(B[t]=R.expr.match.POS.test(t)?R(t,U||this.context):t)}for(;E&&E.ownerDocument&&E!==U;){for(t in B){S=B[t];if(S.jquery?S.index(E)>-1:R(E).is(S)){T.push({selector:t,elem:E,level:c})}}E=E.parentNode;c++}}return T}t=J.test(V)?R(V,U||this.context):null;S=0;for(P=this.length;S<P;S++){for(E=this[S];E;){if(t?t.index(E)>-1:R.find.matchesSelector(E,V)){T.push(E);break}else{E=E.parentNode;if(!E||!E.ownerDocument||E===U){break}}}}T=T.length>1?R.unique(T):T;return this.pushStack(T,"closest",V)},index:function(c){if(!c||typeof c==="string"){return R.inArray(this[0],c?R(c):this.parent().children())}return R.inArray(c.jquery?c[0]:c,this)},add:function(t,c){var E=typeof t==="string"?R(t,c||this.context):R.makeArray(t),B=R.merge(this.get(),E);return this.pushStack(!E[0]||!E[0].parentNode||E[0].parentNode.nodeType===11||!B[0]||!B[0].parentNode||B[0].parentNode.nodeType===11?B:R.unique(B))},andSelf:function(){return this.add(this.prevObject)}});R.each({parent:function(c){return(c=c.parentNode)&&c.nodeType!==11?c:null},parents:function(c){return R.dir(c,"parentNode")},parentsUntil:function(t,c,B){return R.dir(t,"parentNode",B)},next:function(c){return R.nth(c,2,"nextSibling")},prev:function(c){return R.nth(c,2,"previousSibling")},nextAll:function(c){return R.dir(c,"nextSibling")},prevAll:function(c){return R.dir(c,"previousSibling")},nextUntil:function(t,c,B){return R.dir(t,"nextSibling",B)},prevUntil:function(t,c,B){return R.dir(t,"previousSibling",B)},siblings:function(c){return R.sibling(c.parentNode.firstChild,c)},children:function(c){return R.sibling(c.firstChild)},contents:function(c){return R.nodeName(c,"iframe")?c.contentDocument||c.contentWindow.document:R.makeArray(c.childNodes)}},function(t,c){R.fn[t]=function(P,E){var B=R.map(this,c,P);aU.test(t)||(E=P);if(E&&typeof E==="string"){B=R.filter(E,B)}B=this.length>1?R.unique(B):B;if((this.length>1||aH.test(E))&&aA.test(t)){B=B.reverse()}return this.pushStack(B,t,ap.call(arguments).join(","))}});R.extend({filter:function(t,c,B){if(B){t=":not("+t+")"}return c.length===1?R.find.matchesSelector(c[0],t)?[c[0]]:[]:R.find.matches(t,c)},dir:function(t,c,E){var B=[];for(t=t[c];t&&t.nodeType!==9&&(E===aB||t.nodeType!==1||!R(t).is(E));){t.nodeType===1&&B.push(t);t=t[c]}return B},nth:function(t,c,E){c=c||1;for(var B=0;t;t=t[E]){if(t.nodeType===1&&++B===c){break}}return t},sibling:function(t,c){for(var B=[];t;t=t.nextSibling){t.nodeType===1&&t!==c&&B.push(t)}return B}});var aF=/ jQuery\d+="(?:\d+|null)"/g,aO=/^\s+/,aX=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,aK=/<([\w:]+)/,u=/<tbody/i,f=/<|&#?\w+;/,av=/<(?:script|object|embed|option|style)/i,N=/checked\s*(?:[^=]|=\s*.checked.)/i,aV=/\=([^="'>\s]+\/)>/g,aq={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,"",""]};aq.optgroup=aq.option;aq.tbody=aq.tfoot=aq.colgroup=aq.caption=aq.thead;aq.th=aq.td;if(!R.support.htmlSerialize){aq._default=[1,"div<div>","</div>"]}R.fn.extend({text:function(c){if(R.isFunction(c)){return this.each(function(t){var B=R(this);B.text(c.call(this,t,B.text()))})}if(typeof c!=="object"&&c!==aB){return this.empty().append((this[0]&&this[0].ownerDocument||I).createTextNode(c))}return R.text(this)},wrapAll:function(t){if(R.isFunction(t)){return this.each(function(B){R(this).wrapAll(t.call(this,B))})}if(this[0]){var c=R(t,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&c.insertBefore(this[0]);c.map(function(){for(var B=this;B.firstChild&&B.firstChild.nodeType===1;){B=B.firstChild}return B}).append(this)}return this},wrapInner:function(c){if(R.isFunction(c)){return this.each(function(t){R(this).wrapInner(c.call(this,t))})}return this.each(function(){var t=R(this),B=t.contents();B.length?B.wrapAll(c):t.append(c)})},wrap:function(c){return this.each(function(){R(this).wrapAll(c)})},unwrap:function(){return this.parent().each(function(){R.nodeName(this,"body")||R(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(c){this.nodeType===1&&this.appendChild(c)})},prepend:function(){return this.domManip(arguments,true,function(c){this.nodeType===1&&this.insertBefore(c,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(t){this.parentNode.insertBefore(t,this)})}else{if(arguments.length){var c=R(arguments[0]);c.push.apply(c,this.toArray());return this.pushStack(c,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(t){this.parentNode.insertBefore(t,this.nextSibling)})}else{if(arguments.length){var c=this.pushStack(this,"after",arguments);c.push.apply(c,R(arguments[0]).toArray());return c}}},remove:function(t,c){for(var E=0,B;(B=this[E])!=null;E++){if(!t||R.filter(t,[B]).length){if(!c&&B.nodeType===1){R.cleanData(B.getElementsByTagName("*"));R.cleanData([B])}B.parentNode&&B.parentNode.removeChild(B)}}return this},empty:function(){for(var t=0,c;(c=this[t])!=null;t++){for(c.nodeType===1&&R.cleanData(c.getElementsByTagName("*"));c.firstChild;){c.removeChild(c.firstChild)}}return this},clone:function(t){var c=this.map(function(){if(!R.support.noCloneEvent&&!R.isXMLDoc(this)){var E=this.outerHTML,B=this.ownerDocument;if(!E){E=B.createElement("div");E.appendChild(this.cloneNode(true));E=E.innerHTML}return R.clean([E.replace(aF,"").replace(aV,'="$1">').replace(aO,"")],B)[0]}else{return this.cloneNode(true)}});if(t===true){ay(this,c);ay(this.find("*"),c.find("*"))}return c},html:function(t){if(t===aB){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(aF,""):null}else{if(typeof t==="string"&&!av.test(t)&&(R.support.leadingWhitespace||!aO.test(t))&&!aq[(aK.exec(t)||["",""])[1].toLowerCase()]){t=t.replace(aX,"<$1></$2>");try{for(var c=0,E=this.length;c<E;c++){if(this[c].nodeType===1){R.cleanData(this[c].getElementsByTagName("*"));this[c].innerHTML=t}}}catch(B){this.empty().append(t)}}else{R.isFunction(t)?this.each(function(S){var P=R(this);P.html(t.call(this,S,P.html()))}):this.empty().append(t)}}return this},replaceWith:function(c){if(this[0]&&this[0].parentNode){if(R.isFunction(c)){return this.each(function(t){var E=R(this),B=E.html();E.replaceWith(c.call(this,t,B))})}if(typeof c!=="string"){c=R(c).detach()}return this.each(function(){var t=this.nextSibling,B=this.parentNode;R(this).remove();t?R(t).before(c):R(B).append(c)})}else{return this.pushStack(R(R.isFunction(c)?c():c),"replaceWith",c)}},detach:function(c){return this.remove(c,true)},domManip:function(V,U,T){var S,P,E,t=V[0],B=[];if(!R.support.checkClone&&arguments.length===3&&typeof t==="string"&&N.test(t)){return this.each(function(){R(this).domManip(V,U,T,true)})}if(R.isFunction(t)){return this.each(function(W){var X=R(this);V[0]=t.call(this,W,U?X.html():aB);X.domManip(V,U,T)})}if(this[0]){S=t&&t.parentNode;S=R.support.parentNode&&S&&S.nodeType===11&&S.childNodes.length===this.length?{fragment:S}:R.buildFragment(V,this,B);E=S.fragment;if(P=E.childNodes.length===1?E=E.firstChild:E.firstChild){U=U&&R.nodeName(P,"tr");P=0;for(var c=this.length;P<c;P++){T.call(U?R.nodeName(this[P],"table")?this[P].getElementsByTagName("tbody")[0]||this[P].appendChild(this[P].ownerDocument.createElement("tbody")):this[P]:this[P],P>0||S.cacheable||this.length>1?E.cloneNode(true):E)}}B.length&&R.each(B,aE)}return this}});R.buildFragment=function(t,c,S){var P,E,B;c=c&&c[0]?c[0].ownerDocument||c[0]:I;if(t.length===1&&typeof t[0]==="string"&&t[0].length<512&&c===I&&!av.test(t[0])&&(R.support.checkClone||!N.test(t[0]))){E=true;if(B=R.fragments[t[0]]){if(B!==1){P=B}}}if(!P){P=c.createDocumentFragment();R.clean(t,c,P,S)}if(E){R.fragments[t[0]]=B?P:1}return{fragment:P,cacheable:E}};R.fragments={};R.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(t,c){R.fn[t]=function(T){var S=[];T=R(T);var P=this.length===1&&this[0].parentNode;if(P&&P.nodeType===11&&P.childNodes.length===1&&T.length===1){T[c](this[0]);return this}else{P=0;for(var E=T.length;P<E;P++){var B=(P>0?this.clone(true):this).get();R(T[P])[c](B);S=S.concat(B)}return this.pushStack(S,t,T.selector)}}});R.extend({clean:function(X,V,U,T){V=V||I;if(typeof V.createElement==="undefined"){V=V.ownerDocument||V[0]&&V[0].ownerDocument||I}for(var S=[],P=0,B;(B=X[P])!=null;P++){if(typeof B==="number"){B+=""}if(B){if(typeof B==="string"&&!f.test(B)){B=V.createTextNode(B)}else{if(typeof B==="string"){B=B.replace(aX,"<$1></$2>");var E=(aK.exec(B)||["",""])[1].toLowerCase(),t=aq[E]||aq._default,W=t[0],c=V.createElement("div");for(c.innerHTML=t[1]+B+t[2];W--;){c=c.lastChild}if(!R.support.tbody){W=u.test(B);E=E==="table"&&!W?c.firstChild&&c.firstChild.childNodes:t[1]==="<table>"&&!W?c.childNodes:[];for(t=E.length-1;t>=0;--t){R.nodeName(E[t],"tbody")&&!E[t].childNodes.length&&E[t].parentNode.removeChild(E[t])}}!R.support.leadingWhitespace&&aO.test(B)&&c.insertBefore(V.createTextNode(aO.exec(B)[0]),c.firstChild);B=c.childNodes}}if(B.nodeType){S.push(B)}else{S=R.merge(S,B)}}}if(U){for(P=0;S[P];P++){if(T&&R.nodeName(S[P],"script")&&(!S[P].type||S[P].type.toLowerCase()==="text/javascript")){T.push(S[P].parentNode?S[P].parentNode.removeChild(S[P]):S[P])}else{S[P].nodeType===1&&S.splice.apply(S,[P+1,0].concat(R.makeArray(S[P].getElementsByTagName("script"))));U.appendChild(S[P])}}}return S},cleanData:function(V){for(var U,T,S=R.cache,P=R.event.special,E=R.support.deleteExpando,t=0,B;(B=V[t])!=null;t++){if(!(B.nodeName&&R.noData[B.nodeName.toLowerCase()])){if(T=B[R.expando]){if((U=S[T])&&U.events){for(var c in U.events){P[c]?R.event.remove(B,c):R.removeEvent(B,c,U.handle)}}if(E){delete B[R.expando]}else{B.removeAttribute&&B.removeAttribute(R.expando)}delete S[T]}}}}});var y=/alpha\([^)]*\)/i,aJ=/opacity=([^)]*)/,at=/-([a-z])/ig,L=/([A-Z])/g,l=/^-?\d+(?:px)?$/i,w=/^-?\d/,j={position:"absolute",visibility:"hidden",display:"block"},af=["Left","Right"],G=["Top","Bottom"],ak,a0,aI,aY=function(t,c){return c.toUpperCase()};R.fn.css=function(t,c){if(arguments.length===2&&c===aB){return this}return R.access(this,t,c,true,function(P,E,B){return B!==aB?R.style(P,E,B):R.css(P,E)})};R.extend({cssHooks:{opacity:{get:function(t,c){if(c){var B=ak(t,"opacity","opacity");return B===""?"1":B}else{return t.style.opacity}}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true,zoom:true,lineHeight:true},cssProps:{"float":R.support.cssFloat?"cssFloat":"styleFloat"},style:function(V,U,T,S){if(!(!V||V.nodeType===3||V.nodeType===8||!V.style)){var P,E=R.camelCase(U),t=V.style,B=R.cssHooks[E];U=R.cssProps[E]||E;if(T!==aB){if(!(typeof T==="number"&&isNaN(T)||T==null)){if(typeof T==="number"&&!R.cssNumber[E]){T+="px"}if(!B||!("set" in B)||(T=B.set(V,T))!==aB){try{t[U]=T}catch(c){}}}}else{if(B&&"get" in B&&(P=B.get(V,false,S))!==aB){return P}return t[U]}}},css:function(t,c,S){var P,E=R.camelCase(c),B=R.cssHooks[E];c=R.cssProps[E]||E;if(B&&"get" in B&&(P=B.get(t,true,S))!==aB){return P}else{if(ak){return ak(t,c,E)}}},swap:function(t,c,P){var E={},B;for(B in c){E[B]=t.style[B];t.style[B]=c[B]}P.call(t);for(B in c){t.style[B]=E[B]}},camelCase:function(c){return c.replace(at,aY)}});R.curCSS=R.css;R.each(["height","width"],function(t,c){R.cssHooks[c]={get:function(S,P,E){var B;if(P){if(S.offsetWidth!==0){B=Q(S,c,E)}else{R.swap(S,j,function(){B=Q(S,c,E)})}if(B<=0){B=ak(S,c,c);if(B==="0px"&&aI){B=aI(S,c,c)}if(B!=null){return B===""||B==="auto"?"0px":B}}if(B<0||B==null){B=S.style[c];return B===""||B==="auto"?"0px":B}return typeof B==="string"?B:B+"px"}},set:function(E,B){if(l.test(B)){B=parseFloat(B);if(B>=0){return B+"px"}}else{return B}}}});if(!R.support.opacity){R.cssHooks.opacity={get:function(t,c){return aJ.test((c&&t.currentStyle?t.currentStyle.filter:t.style.filter)||"")?parseFloat(RegExp.$1)/100+"":c?"1":""},set:function(t,c){var P=t.style;P.zoom=1;var E=R.isNaN(c)?"":"alpha(opacity="+c*100+")",B=P.filter||"";P.filter=y.test(B)?B.replace(y,E):P.filter+" "+E}}}if(I.defaultView&&I.defaultView.getComputedStyle){a0=function(t,c,E){var B;E=E.replace(L,"-$1").toLowerCase();if(!(c=t.ownerDocument.defaultView)){return aB}if(c=c.getComputedStyle(t,null)){B=c.getPropertyValue(E);if(B===""&&!R.contains(t.ownerDocument.documentElement,t)){B=R.style(t,E)}}return B}}if(I.documentElement.currentStyle){aI=function(t,c){var S,P,E=t.currentStyle&&t.currentStyle[c],B=t.style;if(!l.test(E)&&w.test(E)){S=B.left;P=t.runtimeStyle.left;t.runtimeStyle.left=t.currentStyle.left;B.left=c==="fontSize"?"1em":E||0;E=B.pixelLeft+"px";B.left=S;t.runtimeStyle.left=P}return E===""?"auto":E}}ak=a0||aI;if(R.expr&&R.expr.filters){R.expr.filters.hidden=function(t){var c=t.offsetHeight;return t.offsetWidth===0&&c===0||!R.support.reliableHiddenOffsets&&(t.style.display||R.css(t,"display"))==="none"};R.expr.filters.visible=function(c){return !R.expr.filters.hidden(c)}}var aL=R.now(),aw=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,O=/^(?:select|textarea)/i,z=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,m=/^(?:GET|HEAD)$/,r=/\[\]$/,an=/\=\?(&|$)/,x=/\?/,a1=/([?&])_=[^&]*/,aP=/^(\w+:)?\/\/([^\/?#]+)/,aC=/%20/g,ad=/#.*$/,aN=R.fn.load;R.fn.extend({load:function(t,c,S){if(typeof t!=="string"&&aN){return aN.apply(this,arguments)}else{if(!this.length){return this}}var P=t.indexOf(" ");if(P>=0){var E=t.slice(P,t.length);t=t.slice(0,P)}P="GET";if(c){if(R.isFunction(c)){S=c;c=null}else{if(typeof c==="object"){c=R.param(c,R.ajaxSettings.traditional);P="POST"}}}var B=this;R.ajax({url:t,type:P,dataType:"html",data:c,complete:function(T,U){if(U==="success"||U==="notmodified"){B.html(E?R("<div>").append(T.responseText.replace(aw,"")).find(E):T.responseText)}S&&B.each(S,[T.responseText,U,T])}});return this},serialize:function(){return R.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?R.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||O.test(this.nodeName)||z.test(this.type))}).map(function(t,c){var B=R(this).val();return B==null?null:R.isArray(B)?R.map(B,function(E){return{name:c.name,value:E}}):{name:c.name,value:B}}).get()}});R.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(t,c){R.fn[c]=function(B){return this.bind(c,B)}});R.extend({get:function(t,c,E,B){if(R.isFunction(c)){B=B||E;E=c;c=null}return R.ajax({type:"GET",url:t,data:c,success:E,dataType:B})},getScript:function(t,c){return R.get(t,null,c,"script")},getJSON:function(t,c,B){return R.get(t,c,B,"json")},post:function(t,c,E,B){if(R.isFunction(c)){B=B||E;E=c;c={}}return R.ajax({type:"POST",url:t,data:c,success:E,dataType:B})},ajaxSetup:function(c){R.extend(R.ajaxSettings,c)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return new ax.XMLHttpRequest},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},ajax:function(a8){var a7=R.extend(true,{},R.ajaxSettings,a8),a6,a5,a4,aa=a7.type.toUpperCase(),X=m.test(aa);a7.url=a7.url.replace(ad,"");a7.context=a8&&a8.context!=null?a8.context:a7;if(a7.data&&a7.processData&&typeof a7.data!=="string"){a7.data=R.param(a7.data,a7.traditional)}if(a7.dataType==="jsonp"){if(aa==="GET"){an.test(a7.url)||(a7.url+=(x.test(a7.url)?"&":"?")+(a7.jsonp||"callback")+"=?")}else{if(!a7.data||!an.test(a7.data)){a7.data=(a7.data?a7.data+"&":"")+(a7.jsonp||"callback")+"=?"}}a7.dataType="json"}if(a7.dataType==="json"&&(a7.data&&an.test(a7.data)||an.test(a7.url))){a6=a7.jsonpCallback||"jsonp"+aL++;if(a7.data){a7.data=(a7.data+"").replace(an,"="+a6+"$1")}a7.url=a7.url.replace(an,"="+a6+"$1");a7.dataType="script";var Y=ax[a6];ax[a6]=function(a9){if(R.isFunction(Y)){Y(a9)}else{ax[a6]=aB;try{delete ax[a6]}catch(ba){}}a4=a9;R.handleSuccess(a7,P,a5,a4);R.handleComplete(a7,P,a5,a4);T&&T.removeChild(U)}}if(a7.dataType==="script"&&a7.cache===null){a7.cache=false}if(a7.cache===false&&X){var V=R.now(),E=a7.url.replace(a1,"$1_="+V);a7.url=E+(E===a7.url?(x.test(a7.url)?"&":"?")+"_="+V:"")}if(a7.data&&X){a7.url+=(x.test(a7.url)?"&":"?")+a7.data}a7.global&&R.active++===0&&R.event.trigger("ajaxStart");V=(V=aP.exec(a7.url))&&(V[1]&&V[1].toLowerCase()!==location.protocol||V[2].toLowerCase()!==location.host);if(a7.dataType==="script"&&aa==="GET"&&V){var T=I.getElementsByTagName("head")[0]||I.documentElement,U=I.createElement("script");if(a7.scriptCharset){U.charset=a7.scriptCharset}U.src=a7.url;if(!a6){var S=false;U.onload=U.onreadystatechange=function(){if(!S&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){S=true;R.handleSuccess(a7,P,a5,a4);R.handleComplete(a7,P,a5,a4);U.onload=U.onreadystatechange=null;T&&U.parentNode&&T.removeChild(U)}}}T.insertBefore(U,T.firstChild);return aB}var t=false,P=a7.xhr();if(P){a7.username?P.open(aa,a7.url,a7.async,a7.username,a7.password):P.open(aa,a7.url,a7.async);try{if(a7.data!=null&&!X||a8&&a8.contentType){P.setRequestHeader("Content-Type",a7.contentType)}if(a7.ifModified){R.lastModified[a7.url]&&P.setRequestHeader("If-Modified-Since",R.lastModified[a7.url]);R.etag[a7.url]&&P.setRequestHeader("If-None-Match",R.etag[a7.url])}V||P.setRequestHeader("X-Requested-With","XMLHttpRequest");P.setRequestHeader("Accept",a7.dataType&&a7.accepts[a7.dataType]?a7.accepts[a7.dataType]+", */*; q=0.01":a7.accepts._default)}catch(B){}if(a7.beforeSend&&a7.beforeSend.call(a7.context,P,a7)===false){a7.global&&R.active--===1&&R.event.trigger("ajaxStop");P.abort();return false}a7.global&&R.triggerGlobal(a7,"ajaxSend",[P,a7]);var c=P.onreadystatechange=function(a9){if(!P||P.readyState===0||a9==="abort"){t||R.handleComplete(a7,P,a5,a4);t=true;if(P){P.onreadystatechange=R.noop}}else{if(!t&&P&&(P.readyState===4||a9==="timeout")){t=true;P.onreadystatechange=R.noop;a5=a9==="timeout"?"timeout":!R.httpSuccess(P)?"error":a7.ifModified&&R.httpNotModified(P,a7.url)?"notmodified":"success";var bb;if(a5==="success"){try{a4=R.httpData(P,a7.dataType,a7)}catch(ba){a5="parsererror";bb=ba}}if(a5==="success"||a5==="notmodified"){a6||R.handleSuccess(a7,P,a5,a4)}else{R.handleError(a7,P,a5,bb)}a6||R.handleComplete(a7,P,a5,a4);a9==="timeout"&&P.abort();if(a7.async){P=null}}}};try{var ab=P.abort;P.abort=function(){P&&Function.prototype.call.call(ab,P);c("abort")}}catch(Z){}a7.async&&a7.timeout>0&&setTimeout(function(){P&&!t&&c("timeout")},a7.timeout);try{P.send(X||a7.data==null?null:a7.data)}catch(W){R.handleError(a7,P,null,W);R.handleComplete(a7,P,a5,a4)}a7.async||c();return P}},param:function(t,c){var P=[],E=function(T,S){S=R.isFunction(S)?S():S;P[P.length]=encodeURIComponent(T)+"="+encodeURIComponent(S)};if(c===aB){c=R.ajaxSettings.traditional}if(R.isArray(t)||t.jquery){R.each(t,function(){E(this.name,this.value)})}else{for(var B in t){v(B,t[B],c,E)}}return P.join("&").replace(aC,"+")}});R.extend({active:0,lastModified:{},etag:{},handleError:function(t,c,E,B){t.error&&t.error.call(t.context,c,E,B);t.global&&R.triggerGlobal(t,"ajaxError",[c,t,B])},handleSuccess:function(t,c,E,B){t.success&&t.success.call(t.context,B,E,c);t.global&&R.triggerGlobal(t,"ajaxSuccess",[c,t])},handleComplete:function(t,c,B){t.complete&&t.complete.call(t.context,c,B);t.global&&R.triggerGlobal(t,"ajaxComplete",[c,t]);t.global&&R.active--===1&&R.event.trigger("ajaxStop")},triggerGlobal:function(t,c,B){(t.context&&t.context.url==null?R(t.context):R.event).trigger(c,B)},httpSuccess:function(t){try{return !t.status&&location.protocol==="file:"||t.status>=200&&t.status<300||t.status===304||t.status===1223}catch(c){}return false},httpNotModified:function(t,c){var E=t.getResponseHeader("Last-Modified"),B=t.getResponseHeader("Etag");if(E){R.lastModified[c]=E}if(B){R.etag[c]=B}return t.status===304},httpData:function(t,c,P){var E=t.getResponseHeader("content-type")||"",B=c==="xml"||!c&&E.indexOf("xml")>=0;t=B?t.responseXML:t.responseText;B&&t.documentElement.nodeName==="parsererror"&&R.error("parsererror");if(P&&P.dataFilter){t=P.dataFilter(t,c)}if(typeof t==="string"){if(c==="json"||!c&&E.indexOf("json")>=0){t=R.parseJSON(t)}else{if(c==="script"||!c&&E.indexOf("javascript")>=0){R.globalEval(t)}}}return t}});if(ax.ActiveXObject){R.ajaxSettings.xhr=function(){if(ax.location.protocol!=="file:"){try{return new ax.XMLHttpRequest}catch(t){}}try{return new ax.ActiveXObject("Microsoft.XMLHTTP")}catch(c){}}}R.support.ajax=!!R.ajaxSettings.xhr();var i={},D=/^(?:toggle|show|hide)$/,p=/^([+\-]=)?([\d+.\-]+)(.*)$/,ar,A=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];R.fn.extend({show:function(t,c,E){if(t||t===0){return this.animate(ao("show",3),t,c,E)}else{E=0;for(var B=this.length;E<B;E++){t=this[E];c=t.style.display;if(!R.data(t,"olddisplay")&&c==="none"){c=t.style.display=""}c===""&&R.css(t,"display")==="none"&&R.data(t,"olddisplay",n(t.nodeName))}for(E=0;E<B;E++){t=this[E];c=t.style.display;if(c===""||c==="none"){t.style.display=R.data(t,"olddisplay")||""}}return this}},hide:function(t,c,B){if(t||t===0){return this.animate(ao("hide",3),t,c,B)}else{t=0;for(c=this.length;t<c;t++){B=R.css(this[t],"display");B!=="none"&&R.data(this[t],"olddisplay",B)}for(t=0;t<c;t++){this[t].style.display="none"}return this}},_toggle:R.fn.toggle,toggle:function(t,c,E){var B=typeof t==="boolean";if(R.isFunction(t)&&R.isFunction(c)){this._toggle.apply(this,arguments)}else{t==null||B?this.each(function(){var P=B?t:R(this).is(":hidden");R(this)[P?"show":"hide"]()}):this.animate(ao("toggle",3),t,c,E)}return this},fadeTo:function(t,c,E,B){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:c},t,E,B)},animate:function(t,c,P,E){var B=R.speed(c,P,E);if(R.isEmptyObject(t)){return this.each(B.complete)}return this[B.queue===false?"each":"queue"](function(){var V=R.extend({},B),T,U=this.nodeType===1,X=U&&R(this).is(":hidden"),S=this;for(T in t){var W=R.camelCase(T);if(T!==W){t[W]=t[T];delete t[T];T=W}if(t[T]==="hide"&&X||t[T]==="show"&&!X){return V.complete.call(this)}if(U&&(T==="height"||T==="width")){V.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(R.css(this,"display")==="inline"&&R.css(this,"float")==="none"){if(R.support.inlineBlockNeedsLayout){if(n(this.nodeName)==="inline"){this.style.display="inline-block"}else{this.style.display="inline";this.style.zoom=1}}else{this.style.display="inline-block"}}}if(R.isArray(t[T])){(V.specialEasing=V.specialEasing||{})[T]=t[T][1];t[T]=t[T][0]}}if(V.overflow!=null){this.style.overflow="hidden"}V.curAnim=R.extend({},t);R.each(t,function(Z,a6){var ab=new R.fx(S,V,Z);if(D.test(a6)){ab[a6==="toggle"?X?"show":"hide":a6](t)}else{var aa=p.exec(a6),a4=ab.cur()||0;if(aa){var Y=parseFloat(aa[2]),a5=aa[3]||"px";if(a5!=="px"){R.style(S,Z,(Y||1)+a5);a4=(Y||1)/ab.cur()*a4;R.style(S,Z,a4+a5)}if(aa[1]){Y=(aa[1]==="-="?-1:1)*Y+a4}ab.custom(a4,Y,a5)}else{ab.custom(a4,a6,"")}}});return true})},stop:function(t,c){var B=R.timers;t&&this.queue([]);this.each(function(){for(var E=B.length-1;E>=0;E--){if(B[E].elem===this){c&&B[E](true);B.splice(E,1)}}});c||this.dequeue();return this}});R.each({slideDown:ao("show",1),slideUp:ao("hide",1),slideToggle:ao("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(t,c){R.fn[t]=function(P,E,B){return this.animate(c,P,E,B)}});R.extend({speed:function(t,c,E){var B=t&&typeof t==="object"?R.extend({},t):{complete:E||!E&&c||R.isFunction(t)&&t,duration:t,easing:E&&c||c&&!R.isFunction(c)&&c};B.duration=R.fx.off?0:typeof B.duration==="number"?B.duration:B.duration in R.fx.speeds?R.fx.speeds[B.duration]:R.fx.speeds._default;B.old=B.complete;B.complete=function(){B.queue!==false&&R(this).dequeue();R.isFunction(B.old)&&B.old.call(this)};return B},easing:{linear:function(t,c,E,B){return E+B*t},swing:function(t,c,E,B){return(-Math.cos(t*Math.PI)/2+0.5)*B+E}},timers:[],fx:function(t,c,B){this.options=c;this.elem=t;this.prop=B;if(!c.orig){c.orig={}}}});R.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(R.fx.step[this.prop]||R.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var c=parseFloat(R.css(this.elem,this.prop));return c&&c>-10000?c:0},custom:function(t,c,S){function P(T){return E.step(T)}var E=this,B=R.fx;this.startTime=R.now();this.start=t;this.end=c;this.unit=S||this.unit||"px";this.now=this.start;this.pos=this.state=0;P.elem=this.elem;if(P()&&R.timers.push(P)&&!ar){ar=setInterval(B.tick,B.interval)}},show:function(){this.options.orig[this.prop]=R.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());R(this.elem).show()},hide:function(){this.options.orig[this.prop]=R.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(B){var c=R.now(),T=true;if(B||c>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var S in this.options.curAnim){if(this.options.curAnim[S]!==true){T=false}}if(T){if(this.options.overflow!=null&&!R.support.shrinkWrapBlocks){var P=this.elem,E=this.options;R.each(["","X","Y"],function(U,V){P.style["overflow"+V]=E.overflow[U]})}this.options.hide&&R(this.elem).hide();if(this.options.hide||this.options.show){for(var t in this.options.curAnim){R.style(this.elem,t,this.options.orig[t])}}this.options.complete.call(this.elem)}return false}else{B=c-this.startTime;this.state=B/this.options.duration;c=this.options.easing||(R.easing.swing?"swing":"linear");this.pos=R.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||c](this.state,B,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};R.extend(R.fx,{tick:function(){for(var t=R.timers,c=0;c<t.length;c++){t[c]()||t.splice(c--,1)}t.length||R.fx.stop()},interval:13,stop:function(){clearInterval(ar);ar=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(c){R.style(c.elem,"opacity",c.now)},_default:function(c){if(c.elem.style&&c.elem.style[c.prop]!=null){c.elem.style[c.prop]=(c.prop==="width"||c.prop==="height"?Math.max(0,c.now):c.now)+c.unit}else{c.elem[c.prop]=c.now}}}});if(R.expr&&R.expr.filters){R.expr.filters.animated=function(c){return R.grep(R.timers,function(t){return c===t.elem}).length}}var a=/^t(?:able|d|h)$/i,az=/^(?:body|html)$/i;R.fn.offset="getBoundingClientRect" in I.documentElement?function(t){var c=this[0],S;if(t){return this.each(function(T){R.offset.setOffset(this,t,T)})}if(!c||!c.ownerDocument){return null}if(c===c.ownerDocument.body){return R.offset.bodyOffset(c)}try{S=c.getBoundingClientRect()}catch(P){}var E=c.ownerDocument,B=E.documentElement;if(!S||!R.contains(B,c)){return S||{top:0,left:0}}c=E.body;E=aW(E);return{top:S.top+(E.pageYOffset||R.support.boxModel&&B.scrollTop||c.scrollTop)-(B.clientTop||c.clientTop||0),left:S.left+(E.pageXOffset||R.support.boxModel&&B.scrollLeft||c.scrollLeft)-(B.clientLeft||c.clientLeft||0)}}:function(V){var U=this[0];if(V){return this.each(function(W){R.offset.setOffset(this,V,W)})}if(!U||!U.ownerDocument){return null}if(U===U.ownerDocument.body){return R.offset.bodyOffset(U)}R.offset.initialize();var T,S=U.offsetParent,P=U.ownerDocument,E=P.documentElement,t=P.body;T=(P=P.defaultView)?P.getComputedStyle(U,null):U.currentStyle;for(var B=U.offsetTop,c=U.offsetLeft;(U=U.parentNode)&&U!==t&&U!==E;){if(R.offset.supportsFixedPosition&&T.position==="fixed"){break}T=P?P.getComputedStyle(U,null):U.currentStyle;B-=U.scrollTop;c-=U.scrollLeft;if(U===S){B+=U.offsetTop;c+=U.offsetLeft;if(R.offset.doesNotAddBorder&&!(R.offset.doesAddBorderForTableAndCells&&a.test(U.nodeName))){B+=parseFloat(T.borderTopWidth)||0;c+=parseFloat(T.borderLeftWidth)||0}S=U.offsetParent}if(R.offset.subtractsBorderForOverflowNotVisible&&T.overflow!=="visible"){B+=parseFloat(T.borderTopWidth)||0;c+=parseFloat(T.borderLeftWidth)||0}T=T}if(T.position==="relative"||T.position==="static"){B+=t.offsetTop;c+=t.offsetLeft}if(R.offset.supportsFixedPosition&&T.position==="fixed"){B+=Math.max(E.scrollTop,t.scrollTop);c+=Math.max(E.scrollLeft,t.scrollLeft)}return{top:B,left:c}};R.offset={initialize:function(){var t=I.body,c=I.createElement("div"),S,P,E,B=parseFloat(R.css(t,"marginTop"))||0;R.extend(c.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});c.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>";t.insertBefore(c,t.firstChild);S=c.firstChild;P=S.firstChild;E=S.nextSibling.firstChild.firstChild;this.doesNotAddBorder=P.offsetTop!==5;this.doesAddBorderForTableAndCells=E.offsetTop===5;P.style.position="fixed";P.style.top="20px";this.supportsFixedPosition=P.offsetTop===20||P.offsetTop===15;P.style.position=P.style.top="";S.style.overflow="hidden";S.style.position="relative";this.subtractsBorderForOverflowNotVisible=P.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=t.offsetTop!==B;t.removeChild(c);R.offset.initialize=R.noop},bodyOffset:function(t){var c=t.offsetTop,B=t.offsetLeft;R.offset.initialize();if(R.offset.doesNotIncludeMarginInBodyOffset){c+=parseFloat(R.css(t,"marginTop"))||0;B+=parseFloat(R.css(t,"marginLeft"))||0}return{top:c,left:B}},setOffset:function(W,U,T){var S=R.css(W,"position");if(S==="static"){W.style.position="relative"}var P=R(W),E=P.offset(),t=R.css(W,"top"),B=R.css(W,"left"),c=S==="absolute"&&R.inArray("auto",[t,B])>-1;S={};var V={};if(c){V=P.position()}t=c?V.top:parseInt(t,10)||0;B=c?V.left:parseInt(B,10)||0;if(R.isFunction(U)){U=U.call(W,T,E)}if(U.top!=null){S.top=U.top-E.top+t}if(U.left!=null){S.left=U.left-E.left+B}"using" in U?U.using.call(W,S):P.css(S)}};R.fn.extend({position:function(){if(!this[0]){return null}var t=this[0],c=this.offsetParent(),E=this.offset(),B=az.test(c[0].nodeName)?{top:0,left:0}:c.offset();E.top-=parseFloat(R.css(t,"marginTop"))||0;E.left-=parseFloat(R.css(t,"marginLeft"))||0;B.top+=parseFloat(R.css(c[0],"borderTopWidth"))||0;B.left+=parseFloat(R.css(c[0],"borderLeftWidth"))||0;return{top:E.top-B.top,left:E.left-B.left}},offsetParent:function(){return this.map(function(){for(var c=this.offsetParent||I.body;c&&!az.test(c.nodeName)&&R.css(c,"position")==="static";){c=c.offsetParent}return c})}});R.each(["Left","Top"],function(t,c){var B="scroll"+c;R.fn[B]=function(S){var P=this[0],E;if(!P){return null}if(S!==aB){return this.each(function(){if(E=aW(this)){E.scrollTo(!t?S:R(E).scrollLeft(),t?S:R(E).scrollTop())}else{this[B]=S}})}else{return(E=aW(P))?"pageXOffset" in E?E[t?"pageYOffset":"pageXOffset"]:R.support.boxModel&&E.document.documentElement[B]||E.document.body[B]:P[B]}}});R.each(["Height","Width"],function(t,c){var B=c.toLowerCase();R.fn["inner"+c]=function(){return this[0]?parseFloat(R.css(this[0],B,"padding")):null};R.fn["outer"+c]=function(E){return this[0]?parseFloat(R.css(this[0],B,E?"margin":"border")):null};R.fn[B]=function(S){var P=this[0];if(!P){return S==null?null:this}if(R.isFunction(S)){return this.each(function(T){var U=R(this);U[B](S.call(this,T,U[B]()))})}if(R.isWindow(P)){return P.document.compatMode==="CSS1Compat"&&P.document.documentElement["client"+c]||P.document.body["client"+c]}else{if(P.nodeType===9){return Math.max(P.documentElement["client"+c],P.body["scroll"+c],P.documentElement["scroll"+c],P.body["offset"+c],P.documentElement["offset"+c])}else{if(S===aB){P=R.css(P,B);var E=parseFloat(P);return R.isNaN(E)?P:E}else{return this.css(B,typeof S==="string"?S:S+"px")}}}}})})(window);
/*
 * jQuery hashchange event - v1.0 - 1/9/2010
 * http://benalman.com/projects/jquery-hashchange-plugin/
 * 
 * Copyright (c) 2010 "Cowboy" Ben Alman
 * Dual licensed under the MIT and GPL licenses.
 * http://benalman.com/about/license/
 */
(function($,i){var f=i.location,j,k=$.event.special,b="hashchange",d=$.browser,e=d.msie&&d.version<8,c="on"+b in i&&!e;function a(l){l=l||f.href;return l.replace(/^[^#]*#?(.*)$/,"$1")}$[b+"Delay"]=100;k[b]=$.extend(k[b],{setup:function(){if(c){return false}j.start()},teardown:function(){if(c){return false}j.stop()}});j=(function(){var l={},q,m,n,p;function o(){n=p=function(r){return r};if(e){m=$('<iframe src="javascript:0"/>').hide().appendTo("body")[0].contentWindow;p=function(){return a(m.document.location.href)};n=function(t,r){if(t!==r){var s=m.document;s.open().close();s.location.hash="#"+t}};n(a())}}l.start=function(){if(q){return}var s=a();n||o();(function r(){var u=a(),t=p(s);if(u!==s){n(s=u,t);$(i).trigger(b)}else{if(t!==s){f.href=f.href.replace(/#.*/,"")+"#"+t}}q=setTimeout(r,$[b+"Delay"])})()};l.stop=function(){if(!m){q&&clearTimeout(q);q=0}};return l})()})(jQuery,this);(function(c){c.fn.getPath=function(i){var i=c.extend({full:false,limit:false},i);if(typeof this.get(0).tagName==="undefined"){return false}var j=c(this).get(0),k=[],o=o?o:0,m=0,l=0,e=c(j).closest("body").length?true:false,n=false;do{if(typeof j.tagName==="undefined"){break}m++;if(i.limit&&l==i.limit){continue}l++;var f=b.apply(j);if(f){k[k.length]=f;if(!i.full){break}continue}else{f=a.apply(j)+d.apply(j)}k[k.length]=f}while(j=c(j).parent().get(0));if(!e&&m===l&&k[k.length-1]==="div"){k.splice(k.length-1,1)}return k.reverse().join(" > ")};function b(){var e=c(this).attr("id");if(e){e="#"+e}return e||""}function a(){return this.tagName.toLowerCase()}function d(){if(!this.parentNode){return""}var e=c(this.parentNode).children(this.tagName);if(e.length===1){return""}return":eq("+e.index(this)+")"}})(jQuery);jQuery.cookie=function(b,l,o){if(typeof l!="undefined"){o=o||{};if(l===null){l="";o.expires=-1}var e="";if(o.expires&&(typeof o.expires=="number"||o.expires.toUTCString)){var f;if(typeof o.expires=="number"){f=new Date();f.setTime(f.getTime()+(o.expires*24*60*60*1000))}else{f=o.expires}e="; expires="+f.toUTCString()}var n=o.path?"; path="+(o.path):"";var j=o.domain?"; domain="+(o.domain):"";var a=o.secure?"; secure":"";document.cookie=[b,"=",encodeURIComponent(l),e,n,j,a].join("")}else{var d=null;if(document.cookie&&document.cookie!=""){var m=document.cookie.split(";");for(var k=0;k<m.length;k++){var c=jQuery.trim(m[k]);if(c.substring(0,b.length+1)==(b+"=")){d=decodeURIComponent(c.substring(b.length+1));break}}}return d}return false};
/*
 * Copyright (c) 2010 Nick Galbreath
 * http://code.google.com/p/stringencoders/source/browse/#svn/trunk/javascript
 *
 * Permission is hereby granted, free of charge, to any person
 * obtaining a copy of this software and associated documentation
 * files (the "Software"), to deal in the Software without
 * restriction, including without limitation the rights to use,
 * copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following
 * conditions:
 *
 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 * OTHER DEALINGS IN THE SOFTWARE.
 */
var base64={};base64.PADCHAR="=";base64.ALPHA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";base64.makeDOMException=function(){var c,b;try{return new DOMException(DOMException.INVALID_CHARACTER_ERR)}catch(b){var a=new Error("DOM Exception 5");a.code=a.number=5;a.name=a.description="INVALID_CHARACTER_ERR";a.toString=function(){return"Error: "+a.name+": "+a.message};return a}};base64.getbyte64=function(c,b){var a=base64.ALPHA.indexOf(c.charAt(b));if(a===-1){throw base64.makeDOMException()}return a};base64.decode=function(d){d=""+d;var j=base64.getbyte64;var f,c,e;var b=d.length;if(b===0){return d}if(b%4!==0){throw base64.makeDOMException()}f=0;if(d.charAt(b-1)===base64.PADCHAR){f=1;if(d.charAt(b-2)===base64.PADCHAR){f=2}b-=4}var a=[];for(c=0;c<b;c+=4){e=(j(d,c)<<18)|(j(d,c+1)<<12)|(j(d,c+2)<<6)|j(d,c+3);a.push(String.fromCharCode(e>>16,(e>>8)&255,e&255))}switch(f){case 1:e=(j(d,c)<<18)|(j(d,c+1)<<12)|(j(d,c+2)<<6);a.push(String.fromCharCode(e>>16,(e>>8)&255));break;case 2:e=(j(d,c)<<18)|(j(d,c+1)<<12);a.push(String.fromCharCode(e>>16));break}return a.join("")};base64.getbyte=function(c,b){var a=c.charCodeAt(b);if(a>255){throw base64.makeDOMException()}return a};base64.encode=function(e){if(arguments.length!==1){throw new SyntaxError("Not enough arguments")}var b=base64.PADCHAR;var j=base64.ALPHA;var f=base64.getbyte;var d,k;var a=[];e=""+e;var c=e.length-e.length%3;if(e.length===0){return e}for(d=0;d<c;d+=3){k=(f(e,d)<<16)|(f(e,d+1)<<8)|f(e,d+2);a.push(j.charAt(k>>18));a.push(j.charAt((k>>12)&63));a.push(j.charAt((k>>6)&63));a.push(j.charAt(k&63))}switch(e.length-c){case 1:k=f(e,d)<<16;a.push(j.charAt(k>>18)+j.charAt((k>>12)&63)+b+b);break;case 2:k=(f(e,d)<<16)|(f(e,d+1)<<8);a.push(j.charAt(k>>18)+j.charAt((k>>12)&63)+j.charAt((k>>6)&63)+b);break}return a.join("")}
/* Thanks John Resig et al: http://ejohn.org/blog/javascript-array-remove/ 
 * Array Remove - By John Resig (MIT Licensed)
 */
;Array.prototype.remove=function(b,a){this.splice(b,!a||1+a-b+(!(a<0^b>=0)&&(a<0||-1)*this.length));return this.length};(function(){var a=24*60*60*1000;var e=function(k,l){k=String(k);while(k.length<l){k="0"+k}return k};var j={millisecond:1,second:1000,minute:60*1000,hour:60*60*1000,day:a,week:7*a,month:{add:function(m,k){j.year.add(m,Math[k>0?"floor":"ceil"](k/12));var l=m.getMonth()+(k%12);if(l==12){l=0;m.setYear(m.getFullYear()+1)}else{if(l==-1){l=11;m.setYear(m.getFullYear()-1)}}m.setMonth(l)},diff:function(o,m){var k=o.getFullYear()-m.getFullYear();var l=o.getMonth()-m.getMonth()+(k*12);var n=o.getDate()-m.getDate();return l+(n/30)}},year:{add:function(l,k){l.setYear(l.getFullYear()+Math[k>0?"floor":"ceil"](k))},diff:function(l,k){return j.month.diff(l,k)/12}}};for(var d in j){if(d.substring(d.length-1)!="s"){j[d+"s"]=j[d]}}var i=function(n,m){if(Date.prototype.strftime.formatShortcuts[m]){return n.strftime(Date.prototype.strftime.formatShortcuts[m])}else{var k=(Date.prototype.strftime.formatCodes[m]||"").split(".");var l=n["get"+k[0]]?n["get"+k[0]]():"";if(k[1]){l=e(l,k[1])}return l}};var c={succ:function(k){return this.clone().add(1,k)},add:function(m,l){var k=j[l]||j.day;if(typeof k=="number"){this.setTime(this.getTime()+(k*m))}else{k.add(this,m)}return this},diff:function(l,o,k){l=Date.create(l);if(l===null){return null}var m=j[o]||j.day;if(typeof m=="number"){var n=(this.getTime()-l.getTime())/m}else{var n=m.diff(this,l)}return(k?n:Math[n>0?"floor":"ceil"](n))},strftime:function(l){var n=l||"%Y-%m-%d",k="",m;while(n.length>0){if(m=n.match(Date.prototype.strftime.formatCodes.matcher)){k+=n.slice(0,m.index);k+=(m[1]||"")+i(this,m[2]);n=n.slice(m.index+m[0].length)}else{k+=n,n=""}}return k},getShortYear:function(){return this.getYear()%100},getMonthNumber:function(){return this.getMonth()+1},getMonthName:function(){return Date.MONTHNAMES[this.getMonth()]},getAbbrMonthName:function(){return Date.ABBR_MONTHNAMES[this.getMonth()]},getDayName:function(){return Date.DAYNAMES[this.getDay()]},getAbbrDayName:function(){return Date.ABBR_DAYNAMES[this.getDay()]},getDayOrdinal:function(){return Date.ORDINALNAMES[this.getDate()%10]},getHours12:function(){var k=this.getHours();return k>12?k-12:(k==0?12:k)},getAmPm:function(){return this.getHours()>=12?"PM":"AM"},getUnix:function(){return Math.round(this.getTime()/1000,0)},getGmtOffset:function(){var k=this.getTimezoneOffset()/60;var l=k<0?"+":"-";k=Math.abs(k);return l+e(Math.floor(k),2)+":"+e((k%1)*60,2)},getTimezoneName:function(){var k=/(?:\((.+)\)$| ([A-Z]{3}) )/.exec(this.toString());return k[1]||k[2]||"GMT"+this.getGmtOffset()},toYmdInt:function(){return(this.getFullYear()*10000)+(this.getMonthNumber()*100)+this.getDate()},clone:function(){return new Date(this.getTime())}};for(var b in c){Date.prototype[b]=c[b]}var f={create:function(k){if(k instanceof Date){return k}if(typeof k=="number"){return new Date(k*1000)}var p=String(k).replace(/^\s*(.+)\s*$/,"$1"),l=0,m=Date.create.patterns.length,n;var o=p;while(l<m){ms=Date.parse(o);if(!isNaN(ms)){return new Date(ms)}n=Date.create.patterns[l];if(typeof n=="function"){obj=n(o);if(obj instanceof Date){return obj}}else{o=p.replace(n[0],n[1])}l++}return NaN},MONTHNAMES:gettext("January February March April May June July August September October November December").split(" "),ABBR_MONTHNAMES:gettext("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec").split(" "),DAYNAMES:gettext("Sunday Monday Tuesday Wednesday Thursday Friday Saturday").split(" "),ABBR_DAYNAMES:gettext("Sun Mon Tue Wed Thu Fri Sat").split(" "),ORDINALNAMES:"th st nd rd th th th th th th".split(" "),ISO:"%Y-%m-%dT%H:%M:%S.%N%G",SQL:"%Y-%m-%d %H:%M:%S",daysInMonth:function(k,l){if(l==2){return new Date(k,1,29).getDate()==29?29:28}return[undefined,31,undefined,31,30,31,30,31,31,30,31,30,31][l]}};for(var b in f){Date[b]=f[b]}Date.prototype.strftime.formatCodes={matcher:/()%(#?(%|[a-z]))/i,Y:"FullYear",y:"ShortYear.2",m:"MonthNumber.2","#m":"MonthNumber",B:"MonthName",b:"AbbrMonthName",d:"Date.2","#d":"Date",e:"Date",A:"DayName",a:"AbbrDayName",w:"Day",o:"DayOrdinal",H:"Hours.2","#H":"Hours",I:"Hours12.2","#I":"Hours12",p:"AmPm",M:"Minutes.2","#M":"Minutes",S:"Seconds.2","#S":"Seconds",s:"Unix",N:"Milliseconds.3","#N":"Milliseconds",O:"TimezoneOffset",Z:"TimezoneName",G:"GmtOffset"};Date.prototype.strftime.formatShortcuts={F:"%Y-%m-%d",T:"%H:%M:%S",X:"%H:%M:%S",x:"%m/%d/%y",D:"%m/%d/%y","#c":"%a %b %e %H:%M:%S %Y",v:"%e-%b-%Y",R:"%H:%M",r:"%I:%M:%S %p",t:"\t",n:"\n","%":"%"};Date.create.patterns=[[/-/g,"/"],[/st|nd|rd|th/g,""],[/(3[01]|[0-2]\d)\s*\.\s*(1[0-2]|0\d)\s*\.\s*([1-9]\d{3})/,"$2/$1/$3"],[/([1-9]\d{3})\s*-\s*(1[0-2]|0\d)\s*-\s*(3[01]|[0-2]\d)/,"$2/$3/$1"],function(n){var l=n.match(/^(?:(.+)\s+)?([1-9]|1[012])(?:\s*\:\s*(\d\d))?(?:\s*\:\s*(\d\d))?\s*(am|pm)\s*$/i);if(l){if(l[1]){var m=Date.create(l[1]);if(isNaN(m)){return}}else{var m=new Date();m.setMilliseconds(0)}var k=parseFloat(l[2]);k=l[5].toLowerCase()=="am"?(k==12?0:k):(k==12?12:k+12);m.setHours(k,parseFloat(l[3]||0),parseFloat(l[4]||0));return m}}]})();var $D=Date.create;if(!g.DEBUG){g.DEBUG=false}if(!g.TESTING){g.TESTING=false}g.BASE_API_URL="/nest/api";g.BASE_API_PATH="/nest/api";g.userAgent=navigator.userAgent;g.book_id=function(a){return base64.encode(a||"")};g.book_uri=null;g.catalog=null;g.chapter=null;g.label=null;g.bookmark_selectors={};g.book_uri_to_be_acquired=null;g.db=null;g.db_initialized=false;g.is_app=window.navigator.standalone;g.login_cookie_name="ibis_reader";g.api_cookie_name="ibis_api";g.is_iphone=navigator.appVersion.indexOf("iPhone OS ")!==-1;g.is_ipad=navigator.appVersion.indexOf("iPad")!==-1;g.is_ios=g.is_iphone||g.is_ipad;g.is_android=navigator.appVersion.indexOf("Android")!==-1;g.is_webkit=navigator.appVersion.indexOf("WebKit")!==-1&&!g.is_iphone&&!g.is_android&&!g.is_ipad;g.is_mobile_html5_compatible=g.is_iphone||g.is_android;g.is_mobile=g.is_mobile_html5_compatible;g.supports_touch_events=false;g.is_online=null;g.screen={};g.pagination_implementations={};g.position_implementations={};g.PAGINATION_IMPLEMENTATION="columns";g.magic_horizontal_scrollbar_height_landscape=30;g.magic_horizontal_scrollbar_height_portrait=10;g.parse_xml=function(b){if(window.DOMParser){var c=new DOMParser();return c.parseFromString(b,"text/xml")}else{var a=new ActiveXObject("Microsoft.XMLDOM");a.async="false";a.loadXML(b)}};g.DB_DISPLAY_NAME="Ibis Reader offline storage";g.DB_NAME="ibisreader_1.0.1";g.DB_VERSION="1.0.7";g.IPHONE_DB_SIZE=52428800;g.ANDROID_DB_SIZE=5242880;g.DB_MAX_SIZE=g.is_iphone||g.is_ipad?g.IPHONE_DB_SIZE:g.ANDROID_DB_SIZE;g.MAX_CONTENT_LENGTH=300000;g.IBIS_BOOK_CLASS="#content";g.font_preference_style=null;g.font_preference_style_cache=null;g.FONT_NAME_DEFAULT="Georgia";g.FONT_SIZE_DEFAULT="16px";g.FONT_SIZE_STEP_VALUE=2;g.FONT_SIZE_MIN=4;g.FONT_SIZE_MAX=144;g.ORIENTATION="portrait";g.LOADING_DELAY=2000;g.MAX_NUM_ITEMS_IN_BOOK_LIST=25;g.SHRINK_TITLE_THRESHOLD=60;g.ELIDE_TITLE_THRESHOLD=120;g.ELIDE_DESCRIPTION_THRESHOLD=500;g.ICON_WIDTH=g.is_ipad?75:30;g.COVER_INFO_PAGE_HEIGHT=120;g.TOP_NAV_HEIGHT=10;g.TOP_NAV_EXPANDED_HEIGHT=40;g.BOOKMARK_WIDTH=40;g.BOOKMARK_HEIGHT=40;g.TOC_NESTING_MARGIN=10;g.TOP_MARGIN=15+g.TOP_NAV_HEIGHT;g.BOTTOM_MARGIN=10;g.LAST_SELECTOR="#ibis-final-content";g.FIRST_SELECTOR=g.IBIS_BOOK_CLASS+" *:first";g.BRIGHTNESS_STEP_VALUE=25;g.BRIGHTNESS_MIN=50;g.BRIGHTNESS_MAX=255;g.DEFAULT_BOOK_BACKGROUND_IMAGE="-webkit-gradient(linear, 100% 0, 0 0, from(rgba(237,218,181,0.2)), color-stop(0.1, rgba(255,255,255,0)), color-stop(0.9, rgba(255,255,255,0)), to(rgba(237,218,181,0.2))), url('"+MEDIA_URL+"images/paper-grain.png')";g.HREF_SEPARATOR=";";g.PAGINATION_HINT_DISPLAY_MS=500;g.IS_WEB_INTERFACE=false;g.WEB_LIBRARY_LABEL=gettext("Online Bookshelf");g.POSITION_UPDATE_INTERVAL=30*1000;g.SHORT_DATE_FORMAT="%b %e";g.LONG_DATE_FORMAT="%B %e %Y";var h={};h.last_debug_time=null;h.utc_milliseconds=function(a){var b=a.getTime()+(a.getTimezoneOffset()*60000);return b};h.db_datetime_to_date=function(c){var a=c.replace(/[TZ]/g," ").replace(/\..*/,"").replace(/-/g,"/");var b=new Date(a);return b};h.utc_iso8601_to_date=function(d){var a=d.replace(/[TZ]/g," ").replace(/\..*/,"");var c=new Date();var b=a.split(" ");var e=b[0].split("-");var f=b[1].split(":");c.setUTCFullYear(e[0]);c.setUTCMonth(e[1]-1);c.setUTCDate(e[2]);c.setUTCHours(f[0]);c.setUTCMinutes(f[1]);c.setUTCSeconds(f[2]);return c};h.debug=function(a){if(g.DEBUG){h.last_debug_time=new Date().getTime();a="["+h.last_debug_time+"] "+a;if(window.console&&console.log){console.log(a)}jQuery.post("/debug/",{message:a})}};h.test=function(a){if(g.TESTING){jQuery.post("/debug/",{message:a})}};h.debug_data=function(b){var a=null;jQuery.each(b,function(c,d){if(d!==null&&d.substring!==null){a+=d.substring(1,25)+" |  "}});return a};h.debug_item=function(a){var b;jQuery.each(window.getComputedStyle(a),function(c,d){b+=d+" = "+window.getComputedStyle(a).getPropertyValue(d)+"\n"});jQuery.each(a,function(c,d){b+=c+" = "+d+"\n"});return b};h.current_datetime=function(){return new Date().strftime(Date.ISO)};h.date_from_iso=function(a){return new Date(a.replace(/-/g,"/").replace(/[TZ]/g," "))};jQuery.fn.exists=function(){return jQuery(this).length>0};jQuery.fn.reverse=[].reverse;g.NO_QUOTES_R=/^["'](.+)["']$/;g.noquotes=function(a){return a.replace(g.NO_QUOTES_R,"$1")};g.set_orientation=function(){if(window.orientation){g.ORIENTATION=Math.abs(window.orientation)===90?"landscape":"portrait"}else{g.ORIENTATION="portrait"}$("body").attr("class",g.ORIENTATION);g.pagination.change_orientation();g.MAX_IMAGE_HEIGHT=Math.floor(g.VIEWPORT_HEIGHT*0.8);$("#book").css("height",g.VIEWPORT_HEIGHT+"px");$("#body-container").css("width",g.VIEWPORT_WIDTH);$("#body-container").css("height",g.VIEWPORT_HEIGHT);$("#turning-previous").css("height",g.VIEWPORT_HEIGHT+"px");$("#turning-next").css("height",g.VIEWPORT_HEIGHT+"px");$("#state").css("height",g.VIEWPORT_HEIGHT+g.magic_horizontal_scrollbar_height_portrait+"px");$("#state-overlay").css("height",g.VIEWPORT_HEIGHT+g.magic_horizontal_scrollbar_height_portrait+"px");g.MAX_IMAGE_WIDTH=Math.floor(g.VIEWPORT_WIDTH*0.9);$(g.IBIS_BOOK_CLASS).css("width",g.VIEWPORT_WIDTH-40+"px");h.debug("****** viewport height="+g.VIEWPORT_HEIGHT+" viewport width="+g.VIEWPORT_WIDTH+" body class="+$("body").attr("class")+" CSS #book width="+$("#book").width()+" CSS #content width="+$("#content").width())};g.update_orientation=function(){g.set_orientation();if(hash.parse_hash().protocol==="epub"){g.pagination.reset_pagination()}};if(g.supports_touch_events){$("#book").live("touchend click",function(a){return ibis.delegate_touch_events("#book",a,ibis.register_book_events)})}else{$("#book").bind("click",function(a){ibis.register_book_events(a)})}var ui={};ui.show_app=function(){ui.clear_startup_loading_image();ui.hide_login();ui.hide_errors();ui.hide_welcome();$("#main").show().cssFadeIn()};ui.hide_search=function(){$("#load-more").hide();$("#searchbox").hide()};ui.show_global_nav=function(){$("#ibis-header").show();$("#nav-top-selector").hide();$("#nav-top-book-title").empty()};ui.hide_global_nav=function(){$("#ibis-header").hide();$("#searchbox").hide()};ui.hide_results=function(){$("#load-more").hide();$("#results-container").hide();$("#results").cssFadeOut();$("#load-more").hide();$("#book-list-dropdown").hide()};ui.clear_results=function(){$("#results li").remove();$("#results-header").empty().hide();$("#results-subheader").empty().hide();$("#book-list-dropdown").hide();ui.hide_results();ui.hide_search()};ui.show_results=function(){$("#book-list-dropdown").hide();$("#results-container").show();$("#results").show().cssFadeIn()};ui.show_search=function(){$("#searchbox").show()};ui.clear_book=function(){$("#book").empty();$("#nav-top-selector").hide();$("#nav-top-book-title").empty()};ui.hide_book=function(){$("#book").hide(0,function(){$("#nav-top-selector").hide();$("#nav-top-book-title").empty();bookmark.marker_off()})};ui.hide_content=function(){$("#book").css("visibility","hidden")};ui.show_content=function(){$("#book").css("visibility","visible");$("#content").removeClass(effects.translucent).removeClass(effects.fadeOut)};ui.show_book=function(){$("#book").show();bookmark.marker_off();$("#nav-top-selector").show();ui.hide_login();ui.hide_global_nav()};ui.clear_book_info=function(){$(".book-info .value").text("");$(".book-title").text("");$(".book-author").text("");$(".book-description").text("");$(".book-cover-holder img").remove()};ui.show_overlay=function(a,b){$("#main").css("opacity",0);$(a).css("opacity",0);$(a).show();$(a).cssFadeIn();if(b){b()}};ui.hide_overlay=function(a,b){$(a).cssFadeOut();$("#main").cssFadeIn();if(b){b()}};ui.select_nav=function(a){$("#main .selected").removeClass("selected");if(a){$("."+a).addClass("selected")}};ui.disable_touch_events=function(){$(document).bind("touchmove",ui._cancel_touches)};ui.enable_touch_events=function(){$(document).unbind("touchmove",ui._cancel_touches)};ui._cancel_touches=function(a){a.stopPropagation();return false};ui.show_thinking_indicator=function(){$("#working").show();setTimeout(function(){$("#working-cancel").css("opacity",1)},50);window.scrollTo(0,1);ui.disable_touch_events()};ui.hide_thinking_indicator=function(){$("#working-cancel").css("opacity",0);$("#working").hide();ui.enable_touch_events()};ui.hide_welcome=function(){$("#welcome-text").hide()};ui.show_my_web_library=function(){if(g.is_authenticated){var b=$('<li class="catalog-item" id="my-web-library"/>').prependTo("#results");var a=$('<a class="no-icon">');a.html(interpolate(gettext("Browse your %(WEB_LIBRARY_LABEL)s &#8594;"),g,true));a.attr("href","#opds:"+api.user_library_api_url(api.user_email()));a.appendTo(b)}else{var c=interpolate(gettext("Sign in to access %(WEB_LIBRARY_LABEL)s"),g,true);$("#results-subheader").text(c).show()}};ui.display_no_books=function(){$(".nav-my-books").addClass("unavailable").removeClass("selected");$("#results-header").text(gettext("You have no books yet.")).show();$("#my-web-library").css("border","none")};ui.display_some_books=function(){$(".nav-my-books").removeClass("unavailable").addClass("selected");$("#results-header").empty().hide()};ui.show_list_loader=function(a){};ui.hide_list_loaders=function(){};ui.show_book_info=function(){$("#book-info").show();state.hide_state()};$(".nav-back-to-book-link").click(function(){ui.hide_book_info();return false});ui.hide_book_info=function(){$("#book-info").hide()};ui.hide_book_list_dropdown=function(){$("#book-list-dropdown").cssFadeOut();setTimeout(function(){$("#book-list-dropdown").hide()},500)};ui.show_book_acquisition=function(){$("#book-acquisition").show();$("#book-acquisition").css("-webkit-transform","translate3d(0, "+(1000+window.pageYOffset)+"px, 0)")};$("#book-acquisition").bind("webkitTransitionEnd",function(){if($("#book-acquisition").data("adding")){$("#book-acquisition").data("adding",false)}setTimeout(function(){$("#results li a.catalog-item").removeClass("clicking-disabled");$("#results ll a.catalog-item").unbind("click",ibis.disable_links);ui.hide_list_loaders()},2000)});ui.hide_book_acquisition=function(){$("#book-acquisition").css("-webkit-transform","translate3d(0, 0px, 0)");$("#book-acquisition").hide()};ui.show_options=function(){$("#options").show();g.font_preference_style_cache=g.font_preference_style;if(g.is_ipad){$("#options").data("showing",true).css("-webkit-transform","translate3d(0, 1999px, 0)")}else{$("#options").data("showing",true).css("top","-1px")}return false};ui.hide_options=function(){$("#options").data("hiding",true);if(g.is_ipad){$("#options").css("-webkit-transform","translate3d(0, 0px, 0)")}else{$("#options").css("top","-2000px")}$("#options").hide();return false};$("#book-info-link").click(function(){bookinfo.load_info_pane();return false});$("#options").bind("webkitTransitionEnd",function(){if($(this).data("hiding")){$(this).data("hiding",false)}else{if($(this).data("showing")){state.hide_state();$(this).data("showing",false)}}});ui.show_errors=function(){$("#error").show()};ui.hide_errors=function(){$("#error").hide()};ui.show_login=function(){if(g.book_uri_to_be_acquired){$("#login-register-notes").text(gettext("The book you selected will open after you sign in."));ui.show_login_notes()}$("#main").hide();$("#login").show()};ui.hide_login=function(){$("#login").hide();$("#main").show()};ui.show_login_notes=function(){$("#login-register-notes").show()};ui.hide_login_notes=function(){$("#login-register-notes").text("");$("#login-register-notes").hide()};ui.show_export_link=function(b){if(g.is_online&&(g.is_iphone||g.is_android||g.is_ipad)){var c="epub://"+b.substring(7);if(api.is_api_local_url(b)){c=api.append_api_key_param(c)}var a=$("#book-export a").attr("href",c);if(g.is_iphone||g.is_ipad){a.text(gettext("Open in Stanza"));$("#book-export-help").text(gettext("Stanza is a popular App for reading ebooks. You can find it in the iTunes App Store. You should install it before clicking the button above."));$("#book-export").show()}else{a.text(gettext("Open in Aldiko"));$("#book-export-help").text(gettext("Aldiko is a popular App for reading ebooks. You can find it in the Android Market. You should install it before clicking the button above."));$("#book-export").show()}}};$("#installicon").click(function(){if(g.is_ipad){alert(gettext("Touch the + icon at the very top to install Ibis Reader."))}else{alert(gettext("Touch the + icon at the very bottom to install Ibis Reader."))}});ui.in_page_previous_area=function(b){var a=2*Math.floor(g.VIEWPORT_WIDTH*0.2);return(b.pageX<=a)};ui.in_page_next_area=function(b){var a=g.VIEWPORT_WIDTH-(2*Math.floor(g.VIEWPORT_WIDTH*0.2));return(b.pageX>=a)};ui.location_to_percent=function(a){var b="";if(!isNaN(a)){b=(a*100).toFixed(0)}return b+"%"};ui.extent_into_label=function(a,b){var c={percent:a+"%",label:ui.prettify_label(b)};return interpolate(gettext("%(percent)s into &ldquo;%(label)s&rdquo;"),c,true)};ui.pages_into_label=function(c,a){var b={cur_page:(g.pagination.page_for_position(c)||""),total_pages:(g.pagination.current_total_pages()||""),label:ui.prettify_label(a)};return interpolate(gettext("Page %(cur_page)s of %(total_pages)s into &ldquo;%(label)s&rdquo;"),b,true)};ui.prettify_label=function(a){if(!a){return gettext("(Unlabeled)")}else{return a}};ui.clear_android_nav=function(){if(g.is_android){setTimeout(function(){window.scrollTo(0,1)},100)}};ui.add_reflection=function(a){if(g.is_phone||g.is_webkit||g.is_ipad){a.css("-webkit-box-reflect","below 1px -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0.8, transparent), to(rgba(255, 255, 255, 0.5)))")}};ui.clear_startup_loading_image=function(){setTimeout(function(){$("#loading-image-phone").remove()},g.LOADING_DELAY)};$("#working-cancel").click(function(){hash.update_hash("books");ui.hide_thinking_indicator()});var effects={};effects.fadeIn="fx-fade-in";effects.fadeOut="fx-fade-out";effects.translucent="fx-fade-partial";effects.transparent="fx-transparent";effects.opaque="fx-opaque";$.fn.cssFadeIn=function(a,b){$(this).data("fade","in");return $(this).addClass(effects.fadeIn)};$.fn.cssFadeOut=function(a,b){$(this).data("fade","out");return $(this).removeClass(effects.fadeIn)};var bookinfo={};bookinfo.show_toc=function(b,a){if(!a){$("#book-toc").empty();db.query("SELECT book.title, book.entry, item.*, status.chapter AS current_chapter FROM item, book LEFT OUTER JOIN status ON item.book_id=status.book_id WHERE item.book_id=? AND book.book_id=? AND item.label IS NOT NULL ORDER BY item.item_order",[g.book_id(b),g.book_id(b)],function(j,m){for(var f=0;f<m.rows.length;f++){var k=m.rows.item(f);var d=$('<a class="toc-item no-icon">').attr("href",k.uri).text(ui.prettify_label(k.label));var c=$("<li>").appendTo($("#book-toc"));if(k.depth>1){var e=(k.depth*g.TOC_NESTING_MARGIN)+"px";d.css("margin-left",e)}if(k.current_chapter===k.uri){c.addClass("currently-reading")}d.appendTo(c)}bookmark.show_bookmark_list(b,false)})}else{if($("#book-toc li.currently-reading a").attr("href")!==g.chapter){$("#book-toc li.currently-reading").removeClass("currently-reading");$("#book-toc li a[href="+g.chapter+"]").addClass("currently-reading");bookmark.show_bookmark_list(b,false)}}};bookinfo.set_metadata=function(a){$(".book-title").text(a.title);$(".book-author").text(a.author);if(a.date){$(".book-date .value").text(a.date).parent().show();$(".book-date .label").show()}else{$(".book-date .value").empty();$(".book-date .label").hide()}if(a.publisher){$(".book-publisher .value").text(a.publisher).parent().show();$(".book-publisher .label").show()}else{$(".book-publisher .value").empty();$(".book-publisher .label").hide()}if(a.rights){$(".book-rights .value").text(a.rights).parent().show();$(".book-rights .label").show()}else{$(".book-rights .value").empty();$(".book-rights .label").hide()}if(a.language){$(".book-language .value").text(a.language).parent().show();$(".book-language .label").show()}else{$(".book-language .value").empty();$(".book-language .label").hide()}$(".book-description").html(a.description)};bookinfo.get_book_info=function(e,b,i,j){var f=i?$("#book-info"):$("#book-acquisition");h.debug("Getting info for "+e+" have_book="+i);$(".book-cover-holder").empty();$(".book-thumbnail-holder").empty();$(".book-title").text(b.title);if(b.title.length>g.SHRINK_TITLE_THRESHOLD){$(".book-title").addClass("small-title")}else{$(".book-title.small-title").removeClass("small-title")}bookinfo.set_metadata(b);if(i){bookinfo.show_toc(e,false);if(j){var d=$(ibis.render_cached_image(j,null,g.COVER_INFO_PAGE_HEIGHT)).addClass("book-cover").css("max-height",g.COVER_INFO_PAGE_HEIGHT).appendTo(f.find(".book-cover-holder").show());ui.add_reflection(d)}else{f.find(".book-cover-holder").hide()}f.find("#book-delete a").attr("href",e);ui.show_export_link(e);h.debug("Showing book info");ui.show_book_info()}else{if(b.cover){var a=$('<img class="book-cover" style="max-height:'+g.COVER_INFO_PAGE_HEIGHT+'px">').attr("src","/nest/image-proxy/?image="+b.cover).appendTo(f.find(".book-cover-holder").show());ui.add_reflection(a)}else{f.find(".book-cover-holder").hide()}if(b.thumbnail){$('<img class="book-thumbnail">').attr("src","/nest/image-proxy/?image="+b.thumbnail).appendTo(f.find(".book-thumbnail-holder"))}var c=e;if(api.is_api_local_url(c)){c=api.append_api_key_param(c)}$("#book-add a").attr("href","#epub:"+c);$("#book-add a").removeClass("clicking-disabled");$("#book-add-top a").attr("href","#epub:"+c);$("#book-add-top a").removeClass("clicking-disabled");$("#book-add-top").show();ui.show_book_acquisition();$("#results").css("min-height",$("#book-acquisition").height()+"px")}return false};$("#book-add a, #book-add-top a").click(function(){$("#book-acquisition").data("adding",true);ui.hide_book_acquisition();$("#book-add a").addClass("clicking-disabled");$("#book-add-top a").addClass("clicking-disabled");return true});$("#catalog-back").click(function(){ui.hide_book_acquisition();return false});bookinfo.load_info_pane=function(){var a=false;var c=g.book_uri;var b=g.book_id(c);if(!$("#book-info").data("book_id")){$("#book-info").data("book_id",b)}else{a=$("#book-info").data("book_id")===b}if(!a){$("#book-info").data("book_id",b)}if(!a){ui.clear_book_info();db.query("SELECT entry, cover FROM book WHERE book_id=?",[b],function(f,i){if(i.rows.length===0){h.debug("Tried to get info for "+b+" but don't have it");hash.update_hash("catalogs");return false}var e=i.rows.item(0);var d=new catalogs.JFeedItem($(g.parse_xml(e.entry)),e.entry);bookinfo.get_book_info(c,d,true,e.cover)})}else{bookinfo.show_toc(c,false);if(g.TESTING){ui.show_export_link(c)}ui.show_book_info()}};var db={};db.query=function(c,b,e,a){e=e||db.success_handler;b=b||[];e=e||db.success_handler;var d=null;if(g.DEBUG){d='Executing "'+c+'"';if(b.length>0){d+=" with data ";jQuery.each(b,function(f,i){if(typeof i==="string"&&i.length>20){d+=i.substring(0,20)}else{d+=i}d+=", "})}h.debug(d)}g.db.transaction(function(f){f.executeSql(c,b,e,a)},function(i,f){db.error_handler(i,f,d);if(a!==undefined){a()}},db.success_handler)};db.query_all=function(b,d,a){d=d||db.success_handler;var c=null;g.db.transaction(function(e){jQuery.each(b,function(j,f){if(f.length!==2){throw"Each query block must be exactly two items: a query string and a data list. query_block was="+f}if(g.DEBUG){c+=f[0];c+=" with data ";jQuery.each(f[1],function(i,k){if(typeof k==="string"&&k.length>20){c+=k.substring(0,20)}else{c+=k}c+=", "});h.debug(c)}e.executeSql(f[0],f[1],db.success_handler,function(k,i){db.error_handler(k,i,c)})})},function(f,e){db.error_handler(f,e,c);if(a!==undefined){a()}},d)};db.db_setup_complete=function(){g.db_initialized=true};db.initiate_tables=function(){db.query("INSERT OR IGNORE INTO preference (id, font_size, font_name) VALUES (1,?,?) ",[g.FONT_SIZE_DEFAULT,g.FONT_NAME_DEFAULT],function(){options.set_display_preferences(db.db_setup_complete)})};db.create_tables=function(){var a=[];a.push(["CREATE TABLE IF NOT EXISTS book   (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, book_id NVARCHAR(255) NOT NULL UNIQUE, book_uri NVARCHAR(1000) NOT NULL UNIQUE, title NVARCHAR(1000) NOT NULL, first_chapter NVARCHAR(255), cover TEXT, thumbnail TEXT, entry TEXT, date_added TEXT, num_items INTEGER default(0));",[]]);a.push(["CREATE TABLE IF NOT EXISTS item   (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, book_id NVARCHAR(255) NOT NULL, uri NVARCHAR(1000) NOT NULL, label NVARCHAR(1000), content TEXT, cached TEXT, item_order INTEGER DEFAULT(0), depth INTEGER DEFAULT(0), content_length INTEGER DEFAULT(0), content_type NVARCHAR(50), date_added TEXT, date_modified TEXT, encoding NVARCHAR(20), checksum NVARCHAR(32));",[]]);a.push(["CREATE TABLE IF NOT EXISTS status (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, book_id NVARCHAR(255),          chapter NVARCHAR(1000), position INTEGER DEFAULT(0), selector NVARCHAR(1000), top_percentage INTEGER DEFAULT(0), date_modified TEXT,                         FOREIGN KEY (book_id) REFERENCES book(book_id), FOREIGN KEY (chapter) REFERENCES item(uri));",[]]);a.push(["CREATE TABLE IF NOT EXISTS mark   (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, book_id NVARCHAR(255),          chapter NVARCHAR(1000), selector NVARCHAR(1000), top_percentage INTEGER DEFAULT(0), location REAL, label NVARCHAR(1000), content TEXT, date_added TEXT, date_modified TEXT, FOREIGN KEY (book_id) REFERENCES book(book_id), FOREIGN KEY (chapter) REFERENCES item(uri));",[]]);a.push(["CREATE TABLE IF NOT EXISTS preference (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, font_size VARCHAR(10), font_name NVARCHAR(100), date_modified TEXT);",[]]);db.query_all(a,db.initiate_tables)};function update_db_fail(a){h.debug("Failed to update db to version "+g.DB_VERSION);if(g.is_android){alert(gettext("Please completely close all Ibis Reader windows to continue after the upgrade"))}else{alert(gettext("Please close and reopen Ibis Reader to continue after the upgrade"))}}function update_db_success(a){alert(interpolate(gettext("Ibis was successfully upgraded to version %(DB_VERSION)s. Please close Ibis Reader then reopen to continue."),g,true))}db.reset_handler=function(b,a){h.debug("Setting db_initialized to false");g.db_initialized=false};db.reset_db=function(){if(confirm(gettext("Delete all local books and reload DB?"))){h.debug("Resetting");ibis.logout();var a=[];a.push(["DROP TABLE book",[]]);a.push(["DROP TABLE item",[]]);a.push(["DROP TABLE status",[]]);a.push(["DROP TABLE mark",[]]);a.push(["DROP TABLE preference",[]]);db.query_all(a,db.reset_handler)}};db.success_handler=function success_handler(a){};db.Error=new Error("Database error");db.error_handler=function(d,a,c){var b=null;if(a!==undefined){b="DB error.  Error was "+a.message+" (Code "+a.code+"), query="+c;h.debug(b);throw b}else{b="DB error.  Error was "+d.message+" (Code "+d.code+"), query="+c;h.debug(b);throw b}};function cv_1_0_to_1_0_1(){}function cv_1_0_1_to_1_0_2(a){a.executeSql("ALTER TABLE item ADD date_modified TEXT",[],db.success_handler,db.error_handler);a.executeSql("ALTER TABLE item ADD cached TEXT",[],db.success_handler,db.error_handler);a.executeSql("ALTER TABLE preference ADD date_modified TEXT",[],db.success_handler,db.error_handler)}function cv_1_0_2_to_1_0_3(a){a.executeSql("ALTER TABLE status ADD selector NVARCHAR(1000)",[],db.success_handler,db.error_handler)}function cv_1_0_3_to_1_0_4(a){a.executeSql("ALTER TABLE item ADD content_length INTEGER DEFAULT(0)",[],db.success_handler,db.error_handler)}function cv_1_0_4_to_1_0_5(a){a.executeSql("ALTER TABLE status ADD top_percentage INTEGER DEFAULT(0)",[],db.success_handler,db.error_handler);a.executeSql("ALTER TABLE mark ADD top_percentage INTEGER DEFAULT(0)",[],db.success_handler,db.error_handler)}function cv_1_0_5_to_1_0_6(a){a.executeSql("ALTER TABLE item ADD encoding NVARCHAR(20)",[],db.success_handler,db.error_handler)}function cv_1_0_6_to_1_0_7(a){a.executeSql("ALTER TABLE item ADD checksum NVARCHAR(32)",[],db.success_handler,db.error_handler)}db.setup_db=function(){try{if(window.openDatabase){h.debug("Requesting a DB of "+g.DB_MAX_SIZE);g.db=window.openDatabase(g.DB_NAME,g.DB_VERSION,g.DB_DISPLAY_NAME,g.DB_MAX_SIZE);if(!g.db){throw ("Warning: openDatabase returned null")}else{db.create_tables()}}else{alert(gettext("Your web browser doesn't support HTML5 databases for use reading books offline."));throw ("This client doesn't support HTML5 databases.")}}catch(a){if(a.code===DOMException.INVALID_STATE_ERR){g.db=openDatabase(g.DB_NAME,"",g.DB_DISPLAY_NAME,g.DB_MAX_SIZE);h.debug("Working with database version "+g.db.version);if(g.db.version==="1.0"){g.db.changeVersion("1.0","1.0.1",cv_1_0_to_1_0_1,update_db_fail,update_db_success)}else{if(g.db.version==="1.0.1"){h.debug("Attempting 1.0.1 to 1.0.2 upgrade");g.db.changeVersion("1.0.1","1.0.2",cv_1_0_1_to_1_0_2,update_db_fail,update_db_success)}else{if(g.db.version==="1.0.2"){h.debug("Attempting 1.0.2 to 1.0.3 upgrade");g.db.changeVersion("1.0.2","1.0.3",cv_1_0_2_to_1_0_3,update_db_fail,update_db_success)}else{if(g.db.version==="1.0.3"){h.debug("Attempting 1.0.3 to 1.0.4 upgrade");g.db.changeVersion("1.0.3","1.0.4",cv_1_0_3_to_1_0_4,update_db_fail,update_db_success)}else{if(g.db.version==="1.0.4"){h.debug("Attempting 1.0.4 to 1.0.5 upgrade");g.db.changeVersion("1.0.4","1.0.5",cv_1_0_4_to_1_0_5,update_db_fail,update_db_success)}else{if(g.db.version==="1.0.5"){h.debug("Attempting 1.0.5 to 1.0.6 upgrade");g.db.changeVersion("1.0.5","1.0.6",cv_1_0_5_to_1_0_6,update_db_fail,update_db_success)}else{if(g.db.version==="1.0.6"){h.debug("Attempting 1.0.6 to 1.0.7 upgrade");g.db.changeVersion("1.0.6","1.0.7",cv_1_0_6_to_1_0_7,update_db_fail,update_db_success)}else{h.debug("DB upgrade error: No known version scenario found")}}}}}}}}else{h.debug("Got an unexpected database setup exception "+a)}}};function CustomPositioner(){var a=this;this.current_selector=null;this.chunk_location_for_position=function(f){var d=$("#content").width();var b=d*$("#content").height();var c=d*f;var e=c/b;return e};this.calculate_current_selector=function(f,d){if(!this.current_selector){this.current_selector=g.FIRST_SELECTOR}var c="*:not(div):not(.ibis-padding):not(.ibis-span)";var b=g.pagination.get_position_offset("next")-g.pagination.get_current_y()-g.TOP_MARGIN;if(d){var e=$(this.current_selector);$("#content").find(c).each(function(){if(this.nodeType===Node.ELEMENT_NODE){var j=this.node_top(this);if(g.is_iphone){j=j-g.pagination.get_current_y()}var i=this.node_top(e);if(g.pagination.node_top_visible(this)){this.current_selector=$(this).getPath();return this.current_selector}else{if(i<0&&j>=b){this.current_selector=$(e).getPath();return this.current_selector}else{e=this}}}})}else{$("#content").find(c).reverse().each(function(){if(this.nodeType===Node.ELEMENT_NODE){var i=this.node_top(this);if(g.is_iphone){i=i-g.pagination.get_current_y()}if(i<=b){this.current_selector=$(this).getPath();return this.current_selector}}})}};this.node_top=function(b){if($(b).exists()){return Math.floor($(b).offset().top)}else{return 0}};this.node_bottom=function(b){return this.node_top(b)+$(b).height()}}g.position_implementations.custom=CustomPositioner;function ColumnsPositioner(){var a=this;this.page_stack=[];this.current_page_position=0;this.chunk_location_for_position=function(c){var b=g.pagination.page_for_position(this.get_current_position());return b/g.pagination.current_total_pages()};this.begin_positioning=function(){a.page_stack=[];for(var b=0;b<=g.pagination.total_opf_item_size;b+=(g.VIEWPORT_WIDTH+g.pagination.column_offset)){a.page_stack.push(b)}h.debug(a.page_stack)}}g.position_implementations.columns=ColumnsPositioner;function Positioner(){}Positioner.current_page_position=0;Positioner.current_percenage=0;Positioner.page_stack={};Positioner.book_location_for_chunk_and_location=function(c,a,i){var b=null;var f=null;var e=0;var d=0;db.query('SELECT content_length, uri FROM item WHERE book_id = ? AND content_type = "application/xhtml+xml" ORDER BY item_order',[g.book_id(g.book_uri)],function(k,m){for(var j=0;j<m.rows.length;j++){var l=m.rows.item(j).content_length;if(m.rows.item(j).uri===c){f=l}if(!f){e+=l}d+=l}b=((e/d)+((f/d)*a));i(b,d)})};Positioner.get_book_completion=function(b,a){db.query('SELECT item.item_order FROM item, status WHERE item.uri = status.chapter AND status.book_id = ? AND item.book_id = ? AND item.content_type = "application/xhtml+xml"',[b,b],function(d,e){if(e.rows.length>0){var c=e.rows.item(0).item_order-1;$(".book-result:eq("+a+") .num-items span").each(function(f,i){if(f<c){$(i).addClass("read")}})}})};Positioner.chunk_location_for_position=function(a){};Positioner.update_stored_position=function(c,b,a){h.debug("Updating local database with current percentage="+c);db.query("UPDATE status SET top_percentage = ?, chapter = ?, date_modified = ? WHERE book_id = ?",[c,b,h.current_datetime(),a])};Positioner.begin_positioning=function(){};Positioner.get_current_position=function(){return this.current_page_position};Positioner.set_current_position=function(a){this.current_page_position=a};Positioner.get_current_percentage=function(){return this.current_percentage};Positioner.set_current_percentage=function(a){this.current_percentage=a};var PositionerClass=g.position_implementations[g.PAGINATION_IMPLEMENTATION];$.each(Positioner,function(b,a){PositionerClass.prototype[b]=a});g.position=new PositionerClass();var hash={};hash.update_hash=function(c,a){h.debug("updating hash with "+c+" and "+a);var b;if(!c){b=""}else{if(!a){b=c}else{b=c+":"+a}}document.location.hash=b};hash.parse_hash=function(){var a={};var b=document.location.hash.replace("#","").split(":");a.protocol=b[0];a.uri=document.location.hash.replace("#"+a.protocol+":","");return a};var catalogs={};catalogs.get_selected_catalog_handler=function(a,b){if(a.message){ui.hide_results();$("#error p").text(a.message);alert($("#error p").text());ui.hide_list_loaders();$("#results li.catalog-item a").removeClass("clicking-disabled");$("#results li.catalog-item a").unbind(ibis.disable_links);hash.update_hash("catalogs");return false}$("#load-more").hide();if(!a.previous){ui.clear_results();ui.clear_book_info();ui.show_global_nav();ui.show_search();$("#results-header").empty().hide();$("#results-subheader").empty().hide();$("#searchterm").val(gettext("Search..."))}if(b){$("#results-header").text(g.WEB_LIBRARY_LABEL).show();$("#results-subheader").text(gettext("All the books you've uploaded on Ibis Reader:")).show()}if(a.search_description){$("#search-description").val(a.search_description);$("#searchbox").show()}else{$("#searchbox").hide()}if(a.items.length===0){$("#results-header").text(gettext("No items were found in this catalog.")).show();$("#results-subheader").empty()}jQuery.each(a.items,function(k,q){var o="";if(q.epub){o="#acquire:"+q.epub}else{if(q.subcatalog){o="#opds:"+q.subcatalog}}var j=$('<li class="catalog-item"/>');var u=q.title;var p=$('<a class="catalog-item"/>');var e=q.thumbnail;if(u.length>g.ELIDE_TITLE_THRESHOLD){p.addClass("small-title");p.text(u.substring(0,60));$('<span class="elide">').text(". . .").appendTo(p)}else{if(u.length>g.SHRINK_TITLE_THRESHOLD){p.text(u);p.addClass("small-title")}else{p.text(u)}}if(e){var n=$('<a class="catalog-item">').addClass("img-holder");if(q.epub||q.subcatalog){n.attr("href",o)}else{n.click(function(){alert(gettext("Sorry! This book cannot be opened because it does not have an EPUB version available."))})}if(e.substring(0,5)==="data:"){$('<img class="feed-thumbnail" width="'+g.ICON_WIDTH+'">').attr("src",e).appendTo(n)}else{var s="/nest/image-proxy/?image="+encodeURIComponent(q.thumbnail);$('<img class="feed-thumbnail" width="'+g.ICON_WIDTH+'">').attr("src",s).appendTo(n)}n.appendTo(j)}else{p.addClass("no-icon")}if(q.author){$('<span class="author">').text(q.author).appendTo(p)}if(b){var r={updated:h.date_from_iso(q.updated).strftime(g.LONG_DATE_FORMAT)};$('<span class="date">').text(interpolate(gettext("Added on %(updated)s"),r,true)).appendTo(p)}if(g.is_ipad){if(q.date){var f=interpolate(gettext("Published: %(date)s"),q,true);$('<span class="date">').text(f).appendTo(p)}if(q.publisher){$('<span class="publisher">').text(q.publisher).appendTo(p)}if(q.description){var m=q.description;if(m.length>g.ELIDE_DESCRIPTION_THRESHOLD){m=m.substring(0,g.ELIDE_DESCRIPTION_THRESHOLD)+" . . . "}$('<span class="summary">').text(m).appendTo(p)}}if(q.epub||q.subcatalog){p.attr("href",o)}else{p.click(function(){alert(gettext("Sorry! This book cannot be opened because it does not have an EPUB version available."))})}p.appendTo(j);j.appendTo("#results")});var c={length:$("#results li").length,search_results:a.search_results};var d;if(c.search_results>c.length){d=interpolate(gettext("Showing the first %(length)s results out of %(search_results)s."),c,true);$("#results-header").text(d).show()}else{if(c.search_results!==""&&c.search_results>1){d=interpolate(gettext("%(length)s items were found for your search."),c,true);$("#results-header").text(d).show()}}ui.show_results();ui.hide_list_loaders();if(a.next){$("#load-more a").removeClass("clicking-disabled");$("#load-more").show()}return false};catalogs.get_selected_catalog=function(a,b){h.debug("Getting catalog "+a+" (my_web_library: "+b+")");$("#catalog-back").attr("href","#opds:"+a);if(b){h.debug("Loading My Web Library without proxy");catalogs.getCatalog({url:a,success:function(c){catalogs.get_selected_catalog_handler(c,b)}})}else{catalogs.getCatalog({url:"/nest/proxy/",data:{feed:a},success:catalogs.get_selected_catalog_handler})}return false};catalogs.get_epub_entry=function(a){catalogs.getCatalog({url:"/nest/entry/",data:{feed:a},first:true,success:function(b){ibis.get_epub_file(b.epub)},error:function(b){if(b.error){$("#error p").html(b.error);$("#error").show()}}});return false};catalogs.get_catalog_list_handler=function(e){ui.clear_results();ui.clear_book();ui.show_global_nav();for(var c in e){if(e.hasOwnProperty(c)){var d=e[c];var b=$('<li class="catalog-item"/>').appendTo("#results");var a=$("<a>");a.attr("href","#opds:"+d.fields.url);if(d.icon){$("<img>").attr("src",d.icon).appendTo(b)}else{a.addClass("no-icon")}a.appendTo(b);a.text(d.fields.name)}}ibis.add_load_from_url_button();ui.show_results()};catalogs.get_catalog_list=function(){ui.select_nav("nav-library");var b="/nest/catalogs/list/";var a=api.user_email();if(a){b=api.user_catalogs_api_url(a)}jQuery.ajax({url:b,success:catalogs.get_catalog_list_handler,error:function(e,c,d){alert(gettext("Unable to retrieve the list of catalogs."));h.debug("Could not load catalog:"+d)},type:"GET",dataType:"json"})};catalogs.JFeedItem=function(a,b){this.create(a,b)};catalogs.JFeedItem.prototype={title:"",link:"",description:"",updated:"",id:"",subcatalog:"",epub:"",pdf:"",create:function(a,b){this.title=a.find("title:first").text();this.author=a.find("author:first name").text();this.link=a.find("link:first").attr("href");this.thumbnail=a.find('link[rel="http://opds-spec.org/image/thumbnail"]').attr("href");this.cover=a.find('link[rel="http://opds-spec.org/image"]').attr("href");this.description=a.find("summary").text();if(!this.description){this.description=a.find('content[type="text"]').text()}this.language=a.find("language").text();this.publisher=a.find("publisher").text();this.date=a.find("issued").text();this.rights=a.find("rights").text();this.updated=a.find("updated").text();this.id=a.find("id").text();this.subcatalog=a.find('link[type^="application/atom+xml"][rel!="alternate"]').attr("href");this.epub=a.find('link[type="application/epub+zip"]').attr("href");this.pdf=a.find('link[type="application/pdf"]').attr("href");this.xml=b}};catalogs.ErrorFeed=function(a){this._parse(a)};catalogs.ErrorFeed.prototype={_parse:function(a){this.message=jQuery("error",a).find("message").text()}};catalogs.JAtom=function(a){this._parse(a)};catalogs.JAtom.prototype={_parse:function(a){var b=jQuery("feed",a).eq(0);this.version="1.0";this.title=b.find("title:first").text();this.author=b.find("author:first").text();this.link=b.find("link:first").attr("href");this.self=b.find('link[rel="self"]').attr("href");this.next=b.find('link[rel="next"]').attr("href");this.previous=b.find('link[rel="previous"]').attr("href");this.search_description=b.find('link[type="application/opensearchdescription+xml"]').attr("href");this.search_results=parseInt(b.find("totalResults").text(),10);this.search_start_index=parseInt(b.find("startIndex").text(),10);if(this.self&&this.self.indexOf("http")===-1){this.self=this.base+this.self}this.description=jQuery(b).find("summary:first").text();this.language=jQuery(b).attr("xml:lang");this.updated=jQuery(b).find("updated:first").text();this.items=[];this.entries=[];var c=this;jQuery("entry",a).each(function(){var d=jQuery(this);var e=new catalogs.JFeedItem(d,this);c.items.push(e);c.entries[e.epub]=e})}};catalogs.Catalog=function(a){if(a){this.parse(a)}};catalogs.Catalog.prototype={type:"",version:"",title:"",link:"",next:"",description:"",epub:"",pdf:"",self:"",search_description:"",search_total:"",search_start_index:"",icon:"",parse:function(a){var b=null;if(jQuery("error",a).length===1){b=new catalogs.ErrorFeed(a)}else{if(jQuery("feed",a).length===1){b=new catalogs.JAtom(a)}else{if(jQuery("entry",a).length===1){b=new catalogs.Book(a)}}}jQuery.extend(this,b)}};catalogs.getCatalog=function(a){a=jQuery.extend({url:null,data:null,success:null,error:null},a);if(a.url){$.ajax({type:"GET",url:a.url,data:a.data,dataType:"xml",success:function(b){g.catalog=new catalogs.Catalog(b);if(jQuery.isFunction(a.success)){a.success(g.catalog,a.first)}},error:function(d,b,c){h.debug("Got error retrieving catalog: xhr was="+d.status+" status was="+b+" error was="+c.message);alert(gettext("There was a problem loading this catalog."))}})}};catalogs.catalog_item_handler=function(){$("#results li a.catalog-item").addClass("clicking-disabled");$("#results ll a.catalog-item").bind("click",ibis.disable_links);ui.show_list_loader($(this).parent());return true};$("#results li.catalog-item a").live("click",catalogs.catalog_item_handler);function CustomPaginator(){var k=/^[\s]*$/;var a=null;var e=this;function m(){var n=new Date();return n.getTime()}function f(n,o){return g.position.node_bottom(n)<o-g.BOTTOM_MARGIN}function l(v,B,D){var q=0;var H=v.nodeValue.replace(/^\s+|\s+$/g,"");var A=H.split(/\s/);var w=0;var t=g.position.node_top(B);var F=t;var y=A.length-2;var n=g.position.node_bottom(B);var E=undefined;var x=[];var J=[];var s=n;var I=true;while(w<y){if(y-w>=10){var r=(D-F)/(n-F);E=Math.floor(w+r*(y-w));if(E<w+3){E=w+3}if(E>y-3){E=y-3}}else{E=Math.floor((w+y+1)/2)}x=A.slice(0,E);v.nodeValue=x.join(" ");s=g.position.node_bottom(B);if(f(B,D)){w=E;F=s}else{y=E-1;n=s}q++}if(w!==E){x=A.slice(0,w);v.nodeValue=x.join(" ");s=g.position.node_bottom(B)}var p=(w===0);var o=D+g.TOP_MARGIN-(p?t:s);if(p&&t===g.higher_node_y&&g.higher_node_to_pad){g.higher_node_to_pad.addClass("ibis-padding "+g.font_preference_style);g.higher_node_to_pad.css("margin-top",o+"px");D+=g.VIEWPORT_HEIGHT;v.nodeValue=A.join(" ");return D}J=A.slice(w);var z="is-"+m();var G=$('<img src="'+MEDIA_URL+'images/t.gif" style="opacity:0" class="ibis-padding '+g.font_preference_style+'" height="'+o+'" width="98%" id="'+z+'"/>').insertAfter($(v));var u=$(document.createTextNode(" "+J.join(" "))).insertAfter(G);D+=g.VIEWPORT_HEIGHT;if(g.position.node_bottom(B)>D){for(var C=B.contents().length-1;C>0;C--){if(B.contents()[C].nodeType===Node.TEXT_NODE){D=l(B.contents()[C],B,D);break}}}return D}var i=function(o,n,p){if(g.position.node_top(n)>p+g.TOP_MARGIN){return p+g.VIEWPORT_HEIGHT}else{return l(o,n,p)}};function d(n){return($(n)[0].nodeName==="IMG"||$(n)[0].nodeName==="CANVAS")}function c(n,r,p){if(f(n,r)){return r}else{var o=g.position.node_top(n);if(o>r+g.TOP_MARGIN){return r+g.VIEWPORT_HEIGHT}else{var q=r-o+g.TOP_MARGIN;if($(n)[0].nodeName==="TR"){n.children().each(function(){$(this).addClass("ibis-padding "+g.font_preference_style);$(this).css("padding-top",q+"px")});return r+g.VIEWPORT_HEIGHT}else{if(d(n)){$(n).addClass("ibis-padding "+g.font_preference_style);$(n).css("padding-top",q+"px");return r+g.VIEWPORT_HEIGHT}else{if($(n)[0].nodeName==="LI"){g.higher_node_to_pad=$(n);g.higher_node_y=g.position.node_top(n)}}}$(n).contents().each(function(){if(this.nodeType===Node.TEXT_NODE){if(k.test(this.nodeValue)){}else{r=i(this,n,r)}}else{if(this.nodeType===Node.COMMENT_NODE){}else{r=c($(this),r,p+1);g.higher_node_to_pad=null;g.higher_node_y=-1}}});return r}}}function j(){db.query("UPDATE item SET cached=?, date_modified=? WHERE book_id=? AND uri=?",[$("#book").html(),h.current_datetime(),g.book_id(g.book_uri),g.chapter])}function b(o,q){var p=0;h.debug("Starting process_all_pages with "+o+" "+q);c($("#content"),p+g.VIEWPORT_HEIGHT,0);if(q){var n=e.calculate_last_page_position();e.move_to(n);g.position.current_selector=g.LAST_SELECTOR;g.position.update_current_position(n,g.chapter,g.book_id(g.book_uri))}else{if(!o&&o!==0){o=e.calculate_selector_y(g.position.current_selector)}e.move_to(o);g.position.update_current_position(o,g.chapter,g.book_id(g.book_uri))}ui.show_content();bookmark.update_bookmark_positions(g.book_id(g.book_uri),g.chapter);setTimeout(function(){db.query("UPDATE item SET cached=?, date_modified=? WHERE book_id=? AND uri=?",[$("#book").html(),h.current_datetime(),g.book_id(g.book_uri),g.chapter])},1000)}this.reset_pagination=function(){h.debug("Got orientation change that required a pagination change: orientation="+g.ORIENTATION+" viewport_height="+g.VIEWPORT_HEIGHT+" #book CSS height="+$("#book").css("height")+" width="+$("#book").css("width"));db.query("UPDATE status SET position=NULL WHERE book_id=?",[g.book_id(g.book_uri)],function(){ibis.load_opf_content_item(g.chapter,g.book_uri)})};this.current_page_for_position=function(n){return Math.floor(n/g.VIEWPORT_HEIGHT)+1};this.current_total_pages=function(){var n=Math.floor($("#content").height());return Math.floor(n/g.VIEWPORT_HEIGHT)+1};this.calculate_last_page_position=function(){var n=Math.floor($("#content").height());return Math.floor(n/g.VIEWPORT_HEIGHT)*g.VIEWPORT_HEIGHT};this.calculate_selector_page=function(n){while(!$(n).exists()){if(n.indexOf(">")===-1){n=g.IBIS_BOOK_CLASS;break}n=n.slice(0,n.lastIndexOf(">"));h.debug("Unwrapping provided selector to "+n)}var p=g.position.node_top(n);var o=Math.floor(p/g.VIEWPORT_HEIGHT)*g.VIEWPORT_HEIGHT;return o};this.process_content=function(n,o){b(n,o)};this.get_current_y=function(){if(!$("#content").css("-webkit-transform")){return 0}var n=Math.floor($("#content").css("-webkit-transform").replace("translateY(","").replace("-","").replace("px)",""));if(isNaN(n)){return 0}return n};this.get_position_offset=function(o){var n=this.get_current_position();if(o==="next"){return n+g.VIEWPORT_HEIGHT}else{return n-g.VIEWPORT_HEIGHT}};this.move_to=function(n){$("#content").css("-webkit-transform","translateY(-"+n+"px)")};this.next=function(){var p=this.get_position_offset("next");var n=$("#content").height();if(p>n){var o=$("#nav-next").attr("href");return this.spine_next(o)}this.move_to(p);g.position.update_reading_position(p,true);bookmark.update_marker_status()};this.previous=function(){if(this.get_current_y()===0){var n=$("#nav-previous").attr("href");return this.spine_previous(n)}var o=this.get_position_offset("prev");this.move_to(o);g.position.update_reading_position(o,false);bookmark.update_marker_status()};this.spine_next=function(n){if(n){g.position.update_stored_position(0,n,g.book_id(g.book_uri));h.debug("Next page starts in new OPF item: "+n);return ibis.load_opf_content_item(n,g.book_uri)}else{alert(gettext("You've reached the end of this book."));return}};this.spine_previous=function(n){if(n){ui.hide_content();var o=true;return ibis.load_opf_content_item(n,g.book_uri,o)}else{return false}};this.node_top_visible=function(o){var p=g.position.node_top($(o));var n=this.get_position_offset("next")-this.get_current_y()-g.TOP_MARGIN;if(g.is_iphone||g.is_ipad){p=p-this.get_current_y()}return(p>0&&p<=n)};this.begin_pagination=function(){var n=true;if(g.use_cached_content){h.debug("Using cached content with position: "+a+", a "+typeof(a)+" and selector "+g.position.current_selector+" (jump_to_end: "+this.jump_to_end+").");if(this.jump_to_end){this.seek_to=this.calculate_last_page_position();g.position.current_selector=g.LAST_SELECTOR;n=false}else{if(this.seek_to!==0&&!this.seek_to&&g.position.current_selector){this.move_to(0);this.seek_to=this.calculate_selector_page(g.position.current_selector)}}this.move_to(a);ui.show_content();if(this.seek_to!==0){g.position.calculate_current_selector(a,n)}g.position.update_current_position(a,g.chapter,g.book_id(g.book_uri));bookmark.update_bookmark_positions(g.book_id(g.book_uri),g.chapter)}else{h.debug("Don't think there's a cache for this content. Starting process for position: "+this.seek_to+" (jump_to_end: "+this.jump_to_end+").");ui.show_content();this.process_content(this.seek_to,this.jump_to_end)}$("a.nav-next").click(function(o){o.preventDefault();g.pagination.spine_next($(this).attr("href"));return false});$("a.nav-previous").click(function(o){o.preventDefault();g.pagination.spine_previous($(this).attr("href"));return false})};this.show_pagination_hint=function(n){$("#turning-"+n).show()};this.hide_pagination_hint=function(){$("#turning-previous").hide();$("#turning-next").hide()};this.change_orientation=function(n){if(g.is_ipad){g.VIEWPORT_WIDTH=window.innerWidth;g.VIEWPORT_HEIGHT=window.innerHeight}else{if(g.is_iphone&&g.ORIENTATION==="landscape"){g.VIEWPORT_HEIGHT=g.screen.width-g.magic_horizontal_scrollbar_height_landscape;h.debug("Setting special VIEWPORT_HEIGHT for iPhone/custom pagination in landscape to "+g.VIEWPORT_HEIGHT)}else{g.VIEWPORT_HEIGHT=g.ORIENTATION==="portrait"?g.screen.height:g.screen.width}}if(g.ORIENTATION==="portrait"){g.VIEWPORT_HEIGHT-=g.magic_horizontal_scrollbar_height_portrait}else{g.VIEWPORT_HEIGHT-=g.magic_horizontal_scrollbar_height_portrait}}}g.pagination_implementations.custom=CustomPaginator;function ColumnsPaginator(){var a=this;this.total_opf_item_size=0;this.column_gap=g.is_ipad?160:40;this.column_offset=this.column_gap/2;this.process_content=function(b,c){};this.reset_pagination=function(){h.debug("Got orientation change that required a pagination change: orientation="+g.ORIENTATION+" viewport_height="+g.VIEWPORT_HEIGHT+" #book CSS height="+$("#book").css("height")+" width="+$("#book").css("width"));db.query("UPDATE status SET position=NULL WHERE book_id=?",[g.book_id(g.book_uri)],function(){ibis.load_opf_content_item(g.chapter,g.book_uri)})};this.page_for_position=function(c){var b=0;$.each(g.position.page_stack,function(d,e){if(Math.floor(e)<=Math.floor(c)){b=d}else{return false}});return b+1};this.position_for_selector=function(b){var c=$(b).offset().left;var e=g.pagination.page_for_position(c);var d=g.pagination.position_for_page(e);return d};this.page_for_percentage=function(b){if(b===0){return 0}var c=this.position_for_percentage(b);return this.page_for_position(c)};this.percentage_for_page=function(b){var c=this.position_for_page(b);return this.percentage_for_position(c)};this.position_for_page=function(b){return g.position.page_stack[b-1]};this.position_for_percentage=function(c){var b=c*g.pagination.total_opf_item_size/100;return b};this.percentage_for_position=function(c){var b=0;if(c){b=c/g.pagination.total_opf_item_size*100}return b};this.current_total_pages=function(){return g.position.page_stack.length};this.calculate_last_page_position=function(){return g.position.page_stack[g.position.page_stack.length-1]};this.move_to=function(c){$("#content").css("-webkit-transform","translate3d(-"+c+"px, 0, 0)");g.position.set_current_position(c);setTimeout(function(){},50);g.position.set_current_position(c);var d=this.page_for_position(c);var b=this.percentage_for_page(d);g.position.set_current_percentage(b);g.position.update_stored_position(b,g.chapter,g.book_id(g.book_uri));bookmark.update_marker_status()};this.next=function(){var c=g.position.get_current_position()+g.VIEWPORT_WIDTH+this.column_offset;h.debug("Comparing new column position "+c+" to "+this.total_opf_item_size);if(c>=this.total_opf_item_size){var b=$("#nav-next").attr("href");return this.spine_next(b)}h.debug("Moving column to "+c+" px");this.move_to(c)};this.previous=function(){if(g.position.get_current_position()<=0){var c=$("#nav-previous").attr("href");return this.spine_previous(c)}var b=g.position.get_current_position()-g.VIEWPORT_WIDTH-this.column_offset;this.move_to(b)};this.spine_next=function(b){if(b){g.position.update_stored_position(0,b,g.book_id(g.book_uri));h.debug("Next page starts in new OPF item: "+b);return ibis.load_opf_content_item(b,g.book_uri)}else{alert(gettext("You've reached the end of this book."));return}};this.spine_previous=function(b){if(b){ui.hide_content();var c=true;return ibis.load_opf_content_item(b,g.book_uri,c)}else{return false}};this.percentage_visible=function(c){var b=g.position.get_current_position();var f=this.page_for_position(b);var e=g.position.get_current_percentage();var d=this.percentage_for_page(f+1);return e<=c&&c<d};this.begin_pagination=function(e,f){var b=0;this.total_opf_item_size=document.getElementById("book").scrollWidth;g.position.begin_positioning();h.debug("last el offset left: "+$("#content ").offset().left);if(this.current_total_pages()===2&&$(g.LAST_SELECTOR).exists()&&$(g.LAST_SELECTOR).offset().left<g.VIEWPORT_WIDTH){h.debug("Think this is a book with a single page that is being pushed out to 2");this.total_opf_item_size=this.total_opf_item_size-g.VIEWPORT_WIDTH;g.position.page_stack.pop()}if(f){b=this.calculate_last_page_position();if(!b){h.debug("Not able to calculate last page position")}}else{b=this.position_for_percentage(e)}var d=this.page_for_position(b);var c=this.position_for_page(d);this.move_to(c);$("#content").addClass("content-slideable");bookmark.update_bookmark_positions(g.book_id(g.book_uri),g.chapter);$("a.nav-next").click(function(i){i.preventDefault();g.pagination.spine_next($(this).attr("href"));return false});$("a.nav-previous").click(function(i){i.preventDefault();g.pagination.spine_previous($(this).attr("href"));return false})};this.show_pagination_hint=function(){};this.hide_pagination_hint=function(){};this.change_orientation=function(b){if(g.is_ipad){g.VIEWPORT_WIDTH=window.innerWidth;g.VIEWPORT_HEIGHT=window.innerHeight}else{if(g.is_iphone){g.VIEWPORT_HEIGHT=g.screen.height;if(g.ORIENTATION==="landscape"){g.VIEWPORT_HEIGHT=g.screen.width-g.magic_horizontal_scrollbar_height_landscape}g.VIEWPORT_WIDTH=g.ORIENTATION==="portrait"?g.screen.width:g.screen.height+g.magic_horizontal_scrollbar_height_landscape}else{var c=false;if(g.ORIENTATION==="landscape"){if(window.innerWidth>window.innerHeight){c=true;g.VIEWPORT_WIDTH=screen.availWidth}else{g.VIEWPORT_WIDTH=520}}else{g.VIEWPORT_WIDTH=g.screen.width}g.VIEWPORT_HEIGHT=g.ORIENTATION==="portrait"?g.screen.height:g.screen.width}}h.debug("----- Orientation is "+g.ORIENTATION+" viewport width="+g.VIEWPORT_WIDTH+" viewport height="+g.VIEWPORT_HEIGHT+" window.innerHeight="+window.innerHeight+" window.outerHeight="+window.outerHeight+" screen.availHeight="+screen.availHeight+" screen.height="+screen.height)}}g.pagination_implementations.columns=ColumnsPaginator;function Paginator(){}Paginator.total_opf_item_size=0;Paginator.process_content=function(a,b){};Paginator.jump_to_end=false;Paginator.reset_pagination=function(){};Paginator.page_for_position=function(a){};Paginator.page_for_percentage=function(a){};Paginator.current_total_pages=function(){};Paginator.calculate_last_page_position=function(){};Paginator.get_position_offset=function(a){};Paginator.move_to=function(a){};Paginator.next=function(){};Paginator.previous=function(){};Paginator.spine_next=function(a){};Paginator.spine_previous=function(a){};Paginator.node_top_visible=function(a){};Paginator.begin_pagination=function(a,b){};Paginator.show_pagination_hint=function(){};Paginator.hide_pagination_hint=function(){};Paginator.change_orientation=function(a){};h.debug("Using pagination impl "+g.PAGINATION_IMPLEMENTATION);$("#book").addClass("pagination-"+g.PAGINATION_IMPLEMENTATION);var PaginatorClass=g.pagination_implementations[g.PAGINATION_IMPLEMENTATION];$.each(Paginator,function(b,a){PaginatorClass.prototype[b]=a});g.pagination=new PaginatorClass();var bookmark={};bookmark.percentages={};bookmark.in_bookmark_toggle_area=function(a){return(((g.VIEWPORT_WIDTH-a.pageX)<=g.BOOKMARK_WIDTH)&&(a.pageY<=g.BOOKMARK_HEIGHT))};bookmark.toggle=function(){h.debug("Toggling");if(!$("#bookmark:visible").exists()){bookmark.marker_on();bookmark.add_mark_record(g.position.get_current_percentage())}else{bookmark.marker_off();bookmark.drop_mark_record(g.position.get_current_percentage())}};bookmark.update_bookmark_positions=function(a,b){bookmark.percentages={};db.query("SELECT top_percentage FROM mark WHERE book_id = ? AND chapter = ?",[a,b],function(d,e){for(var c=0;c<e.rows.length;c++){var f=e.rows.item(c);h.debug("Updating bookmark.percentages with "+f.top_percentage);bookmark.percentages[f.top_percentage]=true}bookmark.update_marker_status()})};bookmark.update_marker_status=function(){var a=true;$.each(bookmark.percentages,function(b,c){h.debug("Checking visibility of bookmarked percentage "+b);if(g.pagination.percentage_visible(b)){h.debug("Found a bookmarked percentage that should be visible ("+b+")!");bookmark.marker_on();a=false;return false}});if(a){bookmark.marker_off()}};bookmark.marker_on=function(){$("#bookmark").show()};bookmark.marker_off=function(){$("#bookmark").hide()};bookmark.add_mark_record=function(b){h.debug("Trying to add bookmark record for current percentage "+b);if(b!==undefined){bookmark.percentages[b]=true;var a=g.book_id(g.book_uri);var c=h.current_datetime();db.query("INSERT INTO mark (book_id, chapter, top_percentage, label, date_added, date_modified) VALUES (?,?,?,?,?,?)",[a,g.chapter,b,g.label,c,c])}};bookmark.drop_mark_record=function(b){var a=g.book_id(g.book_uri);if(bookmark.percentages[b]){bookmark.percentages[b]=undefined;db.query("DELETE FROM mark WHERE book_id = ? AND chapter = ? AND top_percentage = ?",[a,g.chapter,b])}else{var c=[];$.each(bookmark.percentages,function(e,d){if(g.pagination.percentage_visible(e)){bookmark.percentages[e]=undefined;c.push(["DELETE FROM mark WHERE book_id = ? AND chapter = ? AND top_percentage = ?",[a,g.chapter,e]])}});db.query_all(c)}};bookmark.show_bookmark_list=function(b){var a=$("#book-bookmarks ol");a.empty();db.query("SELECT DISTINCT mark.chapter, mark.top_percentage, mark.label, mark.location, mark.date_added FROM mark JOIN item ON item.uri = mark.chapter WHERE  mark.book_id = ? ORDER BY item.item_order, mark.location ASC",[g.book_id(b)],function(n,c){if(c.rows.length===0){$('<li class="no-icon"><a class="clicking-disabled">'+gettext("None")+"</a></li>").appendTo(a)}else{for(var j=0;j<c.rows.length;j++){var f=c.rows.item(j);var m=interpolate(gettext("Added on %(date_added)s"),f,true);var k=ui.extent_into_label(Math.floor(f.top_percentage),f.label);var d=f.chapter+g.HREF_SEPARATOR+f.top_percentage;var e=$('<a class="bookmark-item">').attr("href",d).attr("title",m).html(k);var l=$('<li class="no-icon">').appendTo(a);e.appendTo(l)}}ui.show_book_info()})};$("#bookmark").click(function(a){bookmark.toggle();a.stopPropagation()});$("a.bookmark-item").live("click",function(){ui.hide_book_info();var b=g.book_id(g.book_uri);var c=$(this).attr("href").split(g.HREF_SEPARATOR);var d=c[0];var a=c[1];h.debug("Unpacked percentage as "+a);db.query("UPDATE status SET top_percentage = ?, chapter = ?, date_modified = ?, position = NULL  WHERE book_id = ?",[a,d,h.current_datetime(),b],function(){ibis.get_epub_file(g.book_uri)});return false});var state={};state.CURRENT_STATE_CLICKABLE_TOP_HEIGHT=50;state.load_state_content=function(){db.query("SELECT title FROM book WHERE book_id = ?",[g.book_id(g.book_uri)],function(c,d){if(d.rows.length>0){$("#state-title").text(d.rows.item(0).title)}var b=g.position.get_current_position();$("#state-label").html(ui.pages_into_label(b,g.label));var a=g.position.chunk_location_for_position(b);g.position.book_location_for_chunk_and_location(g.chapter,a,function(e){var f=interpolate(gettext("%(percent)s into book"),{percent:ui.location_to_percent(e)},true);$("#state-book-position").html(f)})})};state.show_state=function(a){h.debug("Showing state pane");$("#nav-top").css("top","0px");$("#state").show();setTimeout(function(){state.load_state_content();$("#state").cssFadeIn()},50);if(a){a.stopPropagation()}return false};state.hide_state=function(a){if(g.is_android){state.remove_state_ui_elements()}else{h.debug("Hiding state pane via opacity and then hiding with transitionEnd");$("#state").cssFadeOut()}};$("#state").bind("webkitTransitionEnd",function(){h.debug("In transition end");if($(this).data("fade")==="out"){h.debug("Think this is fading out");state.remove_state_ui_elements()}});state.remove_state_ui_elements=function(){$("#state").hide();$("#nav-top").css("top","-50px")};state.in_current_state_area=function(a){if(a.pageY<state.CURRENT_STATE_CLICKABLE_TOP_HEIGHT){return true}else{return(!ui.in_page_previous_area(a)&&!ui.in_page_next_area(a))}};if(g.supports_touch_events){$("#state").bind("touchend",function(a){ibis.delegate_touch_events("#state",a,state.register_state_events)})}else{$("#state").bind("click",function(a){h.debug("Got click on state pane");state.register_state_events(a)})}state.register_state_events=function(){state.hide_state();bookmark.update_marker_status()};var options={};options.font_divider_char="|";options.set_font_preference_style=function(a,c,b){g.font_preference_style=a+options.font_divider_char+c+options.font_divider_char+b};options.get_font_preferences=function(){var a={};a.font_size=g.font_preference_style.split(options.font_divider_char)[0];a.font_name=g.font_preference_style.split(options.font_divider_char)[1];return a};options.set_display_preferences=function(a){db.query("SELECT font_size, font_name, date_modified FROM preference WHERE id = 1",[],function(c,d){if(d.rows.length===0){h.debug("Warning: no font preferences were stored.  This is an error.");a();return}var b=d.rows.item(0);options.update_font_sample(b);options.set_font_preference_style(b.font_size,b.font_name,g.ORIENTATION);$("#font-family option:selected").attr("selected",null);$('#font-family option[value="'+b.font_name+'"]').attr("selected","selected");if(a){a(b.date_modified)}})};var bg_re=/rgb\((\d+)/;options.update_brightness=function(d){var b=$("#font-sample").css("backgroundColor");var a=Math.floor(bg_re.exec(b)[1]);if(d==="darker"){a=Math.max(g.BRIGHTNESS_MIN,a-g.BRIGHTNESS_STEP_VALUE)}else{a=Math.min(g.BRIGHTNESS_MAX,a+g.BRIGHTNESS_STEP_VALUE)}var c="rgb("+a+", "+a+","+a+")";$("#font-sample").css("backgroundColor",c);$("#working").css("backgroundColor",c);$("#working-cancel").css("backgroundColor",c);$("#results").css("backgroundColor",c);$("#main").css("backgroundColor",c);$("#book-info").css("backgroundColor",c);$(".book-info").css("backgroundColor",c);$("#book").css("backgroundColor",c).css("backgroundImage","none");$("#nav-top-selector").css("backgroundColor",c).css("backgroundImage","none");return false};options.reset_brightness=function(){var a="rgb("+g.BRIGHTNESS_MAX+", "+g.BRIGHTNESS_MAX+","+g.BRIGHTNESS_MAX+")";$("#font-sample").css("backgroundColor",a);$("#working").css("backgroundColor",a);$("#working-cancel").css("backgroundColor",a);$("#results").css("backgroundColor",a);$("#main").css("backgroundColor",a);$("#book-info").css("backgroundColor",a);$(".book-info").css("backgroundColor",a);$("#book").css("backgroundColor",a).css("backgroundImage",g.DEFAULT_BOOK_BACKGROUND_IMAGE);$("#nav-top-selector").css("backgroundColor",a).css("backgroundImage",g.DEFAULT_BOOK_BACKGROUND_IMAGE)};options.update_font_size=function(d){var a=options.get_font_preferences();var c=a.font_size.substring(0,a.font_size.length-2)*1;var b=null;h.debug("Current font_size: "+c);if(d==="larger"){b=Math.min(g.FONT_SIZE_MAX,c+g.FONT_SIZE_STEP_VALUE)+"px"}else{b=Math.max(g.FONT_SIZE_MIN,c-g.FONT_SIZE_STEP_VALUE)+"px"}options.set_font_preference_style(b,a.font_name,g.ORIENTATION);options.update_font_sample(options.get_font_preferences());return false};options.update_font_sample=function(a){$("#font-sample").css("font-size",a.font_size);$("#font-sample").css("font-family",a.font_name)};options.update_font_name=function(b){var a=options.get_font_preferences();options.set_font_preference_style(a.font_size,b,g.ORIENTATION);options.update_font_sample(options.get_font_preferences())};$("#brighter").click(function(){options.update_brightness("brighter")});$("#darker").click(function(){options.update_brightness("darker")});$("#font-family").change(function(){var a=$(this).val();options.update_font_name(a)});$("#font-larger").click(function(){options.update_font_size("larger")});$("#font-smaller").click(function(){options.update_font_size("smaller")});$("#book-options-link").click(ui.show_options);$("#options-reset a").click(function(){options.set_font_preference_style(g.FONT_SIZE_DEFAULT,g.FONT_NAME_DEFAULT,g.ORIENTATION);var a=options.get_font_preferences();db.query("UPDATE preference SET font_size=?, font_name=?, date_modified=? WHERE id = 1",[a.font_size,a.font_name,h.current_datetime()],function(){options.update_font_sample(a);$(".setting a").removeClass("selected");$("#font-family option:selected").attr("selected",null);$('#font-family option[value="'+a.font_name+'"]').attr("selected","selected");options.reset_brightness()});return false});$("#options-close a").click(function(){if(g.font_preference_style!==g.font_preference_style_cache){var a=options.get_font_preferences();db.query("UPDATE preference SET font_size=?, font_name=?, date_modified=? WHERE id = 1",[a.font_size,a.font_name,h.current_datetime()],function(){options.set_display_preferences(function(){db.query("UPDATE status SET position=NULL WHERE book_id=?",[g.book_id(g.book_uri)],function(){ibis.load_opf_content_item(g.chapter,g.book_uri);ui.hide_options()})})})}else{ui.hide_options()}return false});$(".setting td").click(function(){$(this).siblings().find("a").removeClass("selected");$(this).find("a").addClass("selected");return false});var api={};api.position_sync_interval_ms=g.POSITION_UPDATE_INTERVAL;api.user_position_cache={chapter_uri:g.chapter,top_percentage:0,book_id:g.book_id(g.book_uri)};api.user_api_url=function(a,c){var b=g.BASE_API_PATH+"/user/"+encodeURIComponent(a)+"/"+c+"/";return api.append_api_key_param(b)};api.user_catalogs_api_url=function(a){return api.user_api_url(a,"catalogs")};api.user_library_api_url=function(a){return api.user_api_url(a,"library")};api.user_position_api_url=function(a){return api.user_api_url(a,"position")};api.user_update_position=function(b,c,e){var d=(b!==api.user_position_cache.book_id||c!==api.user_position_cache.chapter_uri||e!==api.user_position_cache.top_percentage);if(d){api.user_position_cache={chapter_uri:c,top_percentage:e,book_id:b};var a=api.user_email();if(g.is_online&&a&&api.user_apikey()&&c){h.debug("Sending position update for "+c+" at "+e);h.test("Sending position update for "+c+" at "+e+" as "+api.user_position_api_url(a));jQuery.ajax({async:true,url:api.user_position_api_url(a),data:{chapter_uri:c,book_id:b,top_percentage:e},type:"POST"})}else{h.debug("Position not sent to server because user was not logged in or wasn't online")}}};api.user_last_position=function(b,d){var a=api.user_email();if(g.is_online&&a&&api.user_apikey()){var c=api.user_position_api_url(a)+"&book_id="+encodeURIComponent(b);jQuery.ajax({async:false,dataType:"json",url:c,success:function(f,e,i){d(f)},error:function(f,e,i){d(null)},type:"GET"})}else{h.debug("Position not requested from server because user was not logged in or wasn't online")}};api.user_apikey=function(){var a=$.cookie(g.api_cookie_name);if(a){a=g.noquotes(a)}else{a=""}return a};api.is_api_local_url=function(b){var a=new RegExp(g.WEB_UI_URL);return a.test(b)};api.append_api_key_param=function(a){if(a.indexOf("?")<0){return a+"?apikey="+encodeURIComponent(api.user_apikey())}else{return a+"&apikey="+encodeURIComponent(api.user_apikey())}};api.user_email=function(){var a=$.cookie(g.login_cookie_name);if(a){a=g.noquotes(a)}return a};api.update_response_nodes=function(a,b,c){if(g.DEBUG||g.TESTING){h.debug("Writing to test-response");h.test("Writing to test-response: "+a);$("#test-response-code").text(c.status);if(a.body){$("#test-response-body").text(a.body)}else{$("#test-response-body").text(a)}$("#test-response-body").text(a);$("#test-request-path").text(b)}};var ibis={};ibis.check_hash=function(){var d=hash.parse_hash();h.debug("Hash was changed to "+d.protocol+":"+d.uri);ui.clear_android_nav();switch(d.protocol){case"epub":g.book_uri=d.uri;ibis.get_epub_file(g.book_uri);return true;case"opds":ui.show_app();ui.select_nav("nav-library");ui.show_global_nav();var b=d.uri;var a=false;if(api.user_library_api_url(api.user_email())===b){a=true}catalogs.get_selected_catalog(b,a);return true;case"catalogs":ui.show_app();ibis.check_online(function(){if(g.is_online){catalogs.get_catalog_list()}else{alert(gettext("You don't appear to be online. Please turn on internet service to download books."));hash.update_hash("books")}});return true;case"books":ui.show_app();ibis.update_auth_status();ibis.get_book_list();return true;case"logout":ibis.logout();return true;case"acquire":var c=d.uri;if(!g.catalog){hash.update_hash("catalogs");return false}bookinfo.get_book_info(c,g.catalog.entries[c],false,null);return true;case"login":ui.show_login();return true;default:return false}};ibis.add_book=function(c,e,i,j,n,a,b,m){if(api.is_api_local_url(e)){e=e.split("?")[0]}h.debug("Adding book "+e);var f=new XMLSerializer();var k=undefined;var l=undefined;if(g.catalog){k=g.catalog.entries[e];l=f.serializeToString(k.xml)}var d=[];d.push(["INSERT INTO book (book_id, book_uri, title, first_chapter, entry, cover, thumbnail, num_items, date_added) VALUES (?,?,?,?,?,?,?,?,?)",[c,e,i,j,l,n,a,b,h.current_datetime()]]);d.push(["INSERT INTO status (position, book_id, chapter, date_modified) VALUES (?,?,?,?)",[0,c,j,h.current_datetime()]]);db.query_all(d,m)};ibis.render_cached_image=function(c,d,a){var b=new Image();b.onload=function(){var e=d||b.width;var f=a||b.height;if(b.height<a){f=b.height}if(b.width<d){e=b.width}if(d&&b.width>d){f=Math.floor(b.height*d/b.width);h.debug("Resetting new height from "+b.height+" to "+f)}else{if(a&&!d&&b.height>a){e=Math.floor(b.width*a/b.height);h.debug("Resetting new width from "+b.width+" to "+e)}else{if(b.width>g.MAX_IMAGE_WIDTH){f=Math.floor(b.height*g.MAX_IMAGE_WIDTH/b.width);e=g.MAX_IMAGE_WIDTH}}}if(f>g.MAX_IMAGE_HEIGHT){e=Math.floor(e*g.MAX_IMAGE_HEIGHT/f);f=g.MAX_IMAGE_HEIGHT}b.width=e;b.height=f};b.src=c;return b};ibis.load_opf_content_item=function(c,b,f,e){var a=g.book_id(b);var d="";h.debug("Loading content uri "+c);ui.show_thinking_indicator();$("#content").remove();g.catalog=null;g.chapter=c;g.book_uri=b;ui.hide_global_nav();ui.hide_results();ui.show_book();ui.select_nav();bookmark.marker_off();db.query("SELECT top_percentage FROM status WHERE book_id=? AND chapter=?",[a,c],function(j,i){var k=0;if(i.rows.length>0){k=i.rows.item(0).top_percentage}ui.show_content();db.query("SELECT content, label, encoding, checksum, date_modified FROM item WHERE uri=? AND book_id=?",[c,a],function(n,l){if(l.rows.length===0){h.debug("No local chapter found for "+c+", possibly not loaded yet?");alert(gettext("This book is still loading, please retry in a moment."));ui.hide_thinking_indicator();return}var m=l.rows.item(0);g.label=ui.prettify_label(m.label);ui.hide_results();db.query("SELECT content FROM item WHERE content_type='text/css' AND book_id=?",[a],function(q,o){for(var p=0;p<o.rows.length;p++){d+=" "+o.rows.item(p).content}db.query("SELECT font_size, font_name, date_modified FROM preference WHERE id = 1",[],function(t,r){if(r.rows.length===0){h.debug("Warning: no font preferences were stored.  This is an error.");return}var z=r.rows.item(0);options.set_font_preference_style(z.font_size,z.font_name,g.ORIENTATION);d+=" #content > div{ margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important;} ";d+=" #content div.chapter { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important;} ";d+=" #content { margin: 0 !important; }";var y="2%";var w="10px";if(g.is_ipad){w="40px";if(g.ORIENTATION==="portrait"){y="8%"}else{y="2%"}}if(g.is_iphone||g.is_ipad){d+=" #book.pagination-columns #content { -webkit-perspective: 1000; -webkit-backface-visibility: hidden;}"}else{if(g.DEBUG){d+="#book.pagination-columns #content { -webkit-column-gap: 40px; }"}}d+=" #content{ padding: "+y+" "+w+" 0 "+w+" !important;}";var s=20;if(g.VIEWPORT_HEIGHT>750){s=100}d+="#book.pagination-columns #content { height: "+(g.VIEWPORT_HEIGHT-s)+"px; }";d+=" #book{ font-size: "+z.font_size+" !important; font-family: "+z.font_name+" !important;} ";$('style[title="ibis-book"]').text(d);var x=m.content;if(m.encoding==="crypt64"){try{x=protection.decrypt(a,c,x);if(protection.checksum(x)!==m.checksum){throw new Error(gettext("This chapter couldn't be decrypted."))}}catch(v){alert(v.message);setTimeout(ui.hide_thinking_indicator,500);hash.update_hash("books");return false}}var u=$(x);$("#book").html(u);if(e){k=g.pagination.percentage_for_position(g.pagination.position_for_selector(e));h.debug("Overriding target as target_top_percentage="+k)}g.pagination.begin_pagination(k,f);ui.hide_thinking_indicator();ui.hide_book_info()})})})});return false};$("#content a").live("click",function(a){return ibis.register_book_anchors(a)});ibis.register_book_anchors=function(f){if($(f.target).parents("a").length===1){f.target=$(f.target).parents("a")[0]}var i=$(f.target).attr("href");var b;if(i.indexOf("/")!==-1){b=new URI(i).resolve(new URI(g.chapter)).toString()}else{var l="/"+g.chapter;var j=new URI(i).resolve(new URI(l)).toString();b=j.replace(/^\/(.*)/,"$1")}if(b.indexOf(".epub")===b.length-5){var c=interpolate(gettext("Add ePub from %(href)s to your library?"),{href:b},true);if(confirm(c)){g.catalog=null;hash.update_hash("epub",b)}return false}else{if(b.indexOf("http://")===0){h.debug("Returning true from an external link; the link event should now be processed");return true}else{if(b.indexOf("#")===0){g.pagination.move_to(g.pagination.position_for_selector(b));return false}else{if(b.indexOf("#")>0){var a=b.split("#");var k=a[0];var d="#"+a[1];db.query("UPDATE status SET selector=?, chapter=?, date_modified=?, position=NULL WHERE book_id=?",[d,k,h.current_datetime(),g.book_id(g.book_uri)],function(){ibis.load_opf_content_item(k,g.book_uri,null,d)});return false}else{db.query("UPDATE status SET chapter=?, date_modified=?, top_percentage = 0, position = NULL  WHERE book_id=?",[b,h.current_datetime(),g.book_id(g.book_uri)],function(){ibis.load_opf_content_item(b,g.book_uri)});return false}}}}h.debug("Should have returned by now!")};ibis.serialize_image=function(a,b){$.ajax({url:a,data:{as_data_url:true},success:function(c){b(c)},error:function(e,c,d){h.debug("Got error when attempting to retrieve serializable image: "+d+". Processing book will continue.");b()}})};ibis.add_epub_contents=function(b){h.debug("Adding new book and item records for "+b.book_id);h.test("Adding new book and item records for "+b.book_id);if(b.error){h.debug("Acquisition Error: Alerting User: "+b.error);alert(b.error);setTimeout(ui.hide_thinking_indicator,500);hash.update_hash("opds");return false}if($("#book-acquisition .book-thumbnail-holder img").length===0){ibis._insert_epub_contents(b,null,null)}else{var c=$("#book-acquisition .book-thumbnail-holder img").attr("src");var a=$("#book-acquisition .book-cover-holder img").attr("src");ibis.serialize_image(c,function(d){ibis.serialize_image(a,function(e){ibis._insert_epub_contents(b,e,d)})})}};ibis._insert_epub_contents=function(a,c,d){h.debug("INSERTing EPUB files...");var b=[];ibis.add_book(a.book_id,a.book_uri,a.title,a.first_item_href,c,d,a.items.length,function(){jQuery.each(a.contents,function(e,f){b.push(["INSERT INTO item (book_id, uri, label, content, item_order, depth, content_length, content_type, date_added, encoding, checksum) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[a.book_id,f.chapter_href,f.chapter_label,f.content,f.item_order,f.chapter_depth,f.content_length,f.content_type,h.current_datetime(),f.encoding,f.checksum]])});db.query_all(b,function(){ui.hide_thinking_indicator();h.debug("Added all EPUB content into database.");ibis.load_opf_content_item(a.first_item_href,a.book_uri)})})};var OPFSizeException=function(a){this.message=a;this.name="OPFSizeException"};OPFSizeException.prototype.toString=function(){return this.name+': "'+this.message+'"'};ibis.check_content_length=function(a){if(a>g.MAX_CONTENT_LENGTH){throw new OPFSizeException(interpolate(gettext("Content length of %(content_length)s exceeded maximum!"),{content_length:a},true))}};ibis.delegate_book_to_other_reader=function(b,a){h.debug("Deleting then delegating "+a+" to something that can handle it");ibis.delete_book(a,function(){hash.update_hash("");ui.show_global_nav();ui.hide_results();ui.hide_search();ui.hide_book();$("#error").html("");var i={title:b,WEB_UI_URL:g.WEB_UI_URL};var k=gettext("Sorry! %(title)s has chapters that are too large to load into this version of Ibis Reader.  Please try the web version at <a href='%(WEB_UI_URL)s'>ibisreader.com</a>.");var d=$("<p>").html(interpolate(k,i,true));d.appendTo($("#error"));if(g.is_iphone||g.is_android){var c=$("<p>").text(gettext("Alternately: "));var f="epub://"+a.substring(7);var j="";if(api.is_api_local_url(a)){f=api.append_api_key_param(f)}var e=$("<a>").attr("href",f);if(g.is_iphone){e.text(gettext("Open this book in Stanza?"));j=gettext("Stanza is a popular App for reading ebooks. You can find it in the iTunes App Store.")}else{e.text(gettext("Open this book in Aldiko?"));j=gettext("Aldiko is a popular App for reading ebooks. You can find it in the Android Market.")}e.appendTo(c);c.append(" "+j);c.appendTo($("#error"))}ui.show_errors()})};ibis.get_book_list=function(){ui.hide_book();ui.select_nav("nav-my-books");ui.show_global_nav();ui.hide_results();ui.hide_search();ui.clear_results();ui.show_my_web_library();state.hide_state();var a=0;db.query("SELECT * FROM book ORDER BY title",[],function(p,b){if(b.rows.length===0){ui.display_no_books()}else{ui.display_some_books()}for(var m=0;m<b.rows.length;m++){var d=b.rows.item(m);var l=$("<a>").attr("href","#epub:"+d.book_uri);l.text(d.title);var c=$('<li class="book-result">').appendTo("#results");$('<div class="book-list-controls" />').bind("click",function(k){var i=$(this).parent().find("a:last").attr("href").substring(6);$("#book-list-delete").attr("href",i);$("#book-list-dropdown").css("top",($(this).position().top+25)+"px").show().cssFadeIn();k.stopPropagation()}).appendTo(c);if(d.thumbnail&&d.thumbnail!=="data:,"){var n=$("<a>").attr("href","#epub:"+d.book_uri).addClass("img-holder").addClass("epub");$(ibis.render_cached_image(d.thumbnail,g.ICON_WIDTH)).addClass("my-books-thumbnail").appendTo(n);n.appendTo(c)}else{l.addClass("no-icon")}l.appendTo(c);if(d.entry){var o=new catalogs.JFeedItem($(g.parse_xml(d.entry)));if(o.author){$('<span class="author">').text(o.author).appendTo(l)}}var f=[];for(var e=0;e<d.num_items&&e<g.MAX_NUM_ITEMS_IN_BOOK_LIST;e++){f.push("<span>• </span>")}var j=$('<span class="num-items">').html(f.join("")).appendTo(l);g.position.get_book_completion(d.book_id,m)}ui.show_results();return false})};ibis.add_load_from_url_button=function(){var b=$('<li class="catalog-item" id="add-from-url"/>').appendTo("#results");var a=$('<a class="no-icon">');a.text(gettext("Add book (download from URL)"));a.appendTo(b);$("#add-from-url").click(function(){var d="http://";var c=prompt(gettext("Enter ePub download URL"),d);if(c&&c!==d){h.debug("User trying to load ePub from URL: "+c);if(c.indexOf("http://")===0){g.catalog=null;hash.update_hash("epub",c)}else{alert(gettext("Not a valid ePub URL!"));return false}}else{return false}})};ibis.delete_book=function(b,d){var a=g.book_id(b);h.debug("Going to delete book "+b);var c=[];c.push(["DELETE from book WHERE book_id=?",[a]]);c.push(["DELETE from status WHERE book_id=?",[a]]);c.push(["DELETE from item WHERE book_id=?",[a]]);c.push(["DELETE from mark WHERE book_id=?",[a]]);db.query_all(c,function(e,f){if(d){d()}else{if(hash.parse_hash().protocol==="books"){$("#results li a[href='#epub:"+b+"']").parent().remove();$("#results").click()}else{hash.update_hash("books");setTimeout(function(){ui.hide_book_info();ui.clear_book_info()},500)}}})};ibis.get_epub_file=function(b){g.book_uri=b;var a=g.book_id(b);db.query("SELECT book.title, status.chapter, status.date_modified, status.top_percentage FROM status, book WHERE status.book_id=? AND book.book_id=?",[a,a],function(c,d){if(d.rows.length===0){h.debug("The book "+b+" isn't in the user's current library; downloading it.");if(g.is_authenticated){jQuery.ajax({url:"/nest/epub/package/",data:{epub:b,screen_width:g.MAX_IMAGE_WIDTH,screen_height:g.MAX_IMAGE_HEIGHT},dataType:"json",success:ibis.add_epub_contents,error:function(i,j,f){h.debug("Alerting User: Unable to download this book. Error: "+j);h.test("Alerting User: Unable to download this book. Error: "+j);alert(j);setTimeout(ui.hide_thinking_indicator,500);hash.update_hash("books")}})}else{alert(gettext("You need to be logged in before you can acquire a new book."));g.book_uri_to_be_acquired=b;hash.update_hash("login")}}else{var e=d.rows.item(0);$("#nav-top-book-title").html(e.title);if(g.is_online&&g.is_authenticated){api.user_last_position(a,function(l){if(l){var i={last_date:h.date_from_iso(l.created_time).strftime(g.SHORT_DATE_FORMAT),client:l.client};var o=interpolate(gettext("Jump to where you stopped reading on %(last_date)s (from %(client)s)?"),i,true);var k=h.utc_iso8601_to_date(l.created_time);var j=h.db_datetime_to_date(e.date_modified);var m=k-j;h.debug("Positions: local: "+j+", remote: "+k+", delta: "+m);var n=(m>(2*g.POSITION_UPDATE_INTERVAL));var f=(l.chapter_uri!==e.chapter||l.top_percentage!==e.top_percentage);if(n&&f&&confirm(o)){h.debug("User confirmed API position jump to "+l.chapter_uri+" & "+l.created_time);db.query("UPDATE status SET top_percentage=?, chapter=?, date_modified=?, position=NULL WHERE book_id=?",[l.top_percentage,l.chapter_uri,h.current_datetime(),a],function(){ibis.load_opf_content_item(l.chapter_uri,b)})}else{ibis.load_opf_content_item(e.chapter,b)}}else{ibis.load_opf_content_item(e.chapter,b)}})}else{ibis.load_opf_content_item(e.chapter,b)}}});return false};ibis.update_auth_status=function(){g.is_authenticated=$.cookie(g.login_cookie_name)!==null;if(g.is_authenticated){$("#signout-link").show();$("#signin-link").hide()}else{$("#signout-link").hide();$("#signin-link").show()}};ibis.logout=function(){$.cookie(g.login_cookie_name,null,{expires:-1});jQuery.get("/nest/signout/");ibis.update_auth_status();protection.clear_user_key();hash.update_hash("books")};ibis.set_size=function(a,b,c){$(a).css(b,c+"px")};ibis.check_user_agent=function(){if(/iPhone OS 2_/.test(g.userAgent)||/iPhone; U; CPU like Mac/.test(g.userAgent)||/Android 1\./.test(g.userAgent)){h.debug("Redirecting to "+g.WEB_UI_URL+" for "+g.userAgent);window.location=g.WEB_UI_URL}};ibis.app_exit=function(){h.debug("USER IS LEAVING THE APP!")};jQuery(document).ready(function(){ibis.check_user_agent();$(window).bind("hashchange",ibis.check_hash);setInterval(function(){api.user_update_position(g.book_id(g.book_uri),g.chapter,g.position.get_current_percentage())},api.position_sync_interval_ms);g.screen.height=window.innerHeight;g.screen.width=window.innerWidth;if((g.DEBUG||g.TESTING)&&g.is_webkit){g.screen.height=460;g.screen.width=320}else{if(g.is_iphone){g.screen.height=460-g.magic_horizontal_scrollbar_height_portrait;g.screen.width=320}else{if(g.is_ipad){g.screen.height=window.innerHeight-g.magic_horizontal_scrollbar_height_portrait;g.screen.width=window.innerWidth}else{g.screen.height=window.innerHeight;g.screen.width=window.innerWidth}}}ibis.set_size("#body-container","width",g.screen.width);ibis.set_size("#body-container","height",g.screen.height);h.debug("***** Got screen height="+g.screen.height+" and width="+g.screen.width+" / browser is_iphone="+g.is_iphone+" is android="+g.is_android+" is webkit-non-mobile="+g.is_webkit+" is_ipad="+g.is_ipad);ibis.set_size("#book-info-controls","min-height",Math.floor(g.screen.height/2));g.set_orientation();options.set_font_preference_style(g.FONT_SIZE_DEFAULT,g.FONT_NAME_DEFAULT,g.ORIENTATION);$("#registrationform").submit(function(){$("#login-register-errors").empty();var a=$(this).serialize();$.post("/accounts/register/",a,function(b){if(b.errors){$("#login-register-errors").html(b.errors)}else{h.debug("Registered or logged in account for "+b.email);ibis.update_auth_status();if(g.book_uri_to_be_acquired){ui.hide_login_notes();hash.update_hash("epub",g.book_uri_to_be_acquired);g.book_uri_to_be_acquired=null}else{hash.update_hash("books")}}},"json");return false});ibis.update_auth_status();if(!g.is_app&&g.is_ios){$("#loading-image-phone").remove();$("#main").hide(function(){$("#installme").show();$("#install-arrow-ipad").cssFadeIn()});db.setup_db();return}ibis.check_online(function(){if(!g.is_online){$("#signout-link").hide();$("#signin-link").hide()}});db.setup_db();if(!ibis.check_hash()){h.debug("Got false from check-hash; checking if we have a book to open");db.query("SELECT status.book_id, book.book_uri FROM status INNER JOIN book ON status.book_id=book.book_id ORDER BY status.date_modified DESC LIMIT 1",null,function(a,b){if(b.rows.length===0){ui.hide_global_nav();$("#welcome-text").show()}else{g.book_uri=b.rows.item(0).book_uri;h.debug("Opening book "+g.book_uri);hash.update_hash("epub",g.book_uri)}})}if(hash.parse_hash().protocol!=="login"){ui.show_app()}ui.clear_android_nav()});ibis.set_online=function(a,b){if(g.online===a){if(b){b()}}if(a){g.is_online=true;$(".button.online").removeClass("unavailable")}else{g.is_online=false;$(".button.online").addClass("unavailable")}if(b){b()}};ibis.check_online=function(a){if(g.TESTING){return ibis.set_online(true,a)}if(g.is_mobile_html5_compatible&&window.navigator.onLine){return ibis.set_online(true,a)}jQuery.ajax({url:"/nest/ping/",dataType:"json",error:function(c,d,b){h.debug(d);h.debug(b);ibis.set_online(false,a)},success:function(b){if(b.alive){ibis.set_online(true,a)}else{ibis.set_online(false,a)}}})};$("a.toc-item").live("click",function(){var a=g.book_id(g.book_uri);ui.show_thinking_indicator();db.query("UPDATE status SET position=?, chapter=?, date_modified=?, top_percentage=0 WHERE book_id=?",[0,$(this).attr("href"),h.current_datetime(),a],function(){ibis.get_epub_file(g.book_uri)});return false});$("a.delete").click(function(){if(confirm(gettext("Are you sure you want to delete this book and all its bookmarks?"))){var a=$(this).attr("href").replace("#epub:","");ibis.delete_book(a)}return false});$("#error-close").click(function(){ui.hide_overlay("#error")});$("#load-more").click(function(){$("#load-more a").addClass("clicking-disabled");var a=g.catalog.next;ui.show_list_loader("#load-more");catalogs.get_selected_catalog(a);return false});$("#searchform").submit(function(){var a=$(this).serialize();catalogs.getCatalog({url:$(this).attr("action"),data:a,success:catalogs.get_selected_catalog_handler});return false});$("#searchterm").live("click",function(){if($(this).val()===gettext("Search...")){$(this).val("")}});ibis.delegate_touch_events=function(a,c,b){h.debug("Delegating with event="+c.type+", selector="+a);if(c.type==="touchend"&&!g.supports_touch_events){return false}else{if(c.type==="touchend"&&g.supports_touch_events){c.target=$(c.target).closest(a);h.debug("Got event for "+a);if($(c.target).is("a")||$(c.target).parents("a").length===1){h.debug("event.target was an anchor");return false}}else{if(g.supports_touch_events){if($(c.target).is("a")||$(c.target).parents("a").length===1){h.debug("Passing through anchor link")}else{h.debug("This device supports touch over click; dropping this click event.");return false}}}}return b(c)};ibis.register_book_events=function(a){if($(event.target).is("a")||$(event.target).parents("a").length===1){h.debug("Think e.target is an anchor: "+a.target);return true}if(bookmark.in_bookmark_toggle_area(a)){h.debug("Toggling bookmark from #book");bookmark.toggle()}else{if(state.in_current_state_area(a)){bookmark.marker_off();if($("#state:visible").exists()){state.hide_state()}else{if(g.is_android){$("#nav-top a").bind("click",ibis.disable_links).addClass("clicking-disabled");$("#book-options-link").unbind("click",ui.show_options);setTimeout(function(){$("#nav-top a").unbind("click",ibis.disable_links).removeClass("clicking-disabled");$("#book-options-link").click(ui.show_options)},800)}state.show_state(a)}}else{bookmark.marker_off();if($("#state:visible").exists()){state.hide_state()}if(ui.in_page_previous_area(a)){g.pagination.show_pagination_hint("previous");g.pagination.previous();setTimeout(function(){g.pagination.hide_pagination_hint()},g.PAGINATION_HINT_DISPLAY_MS)}else{if(ui.in_page_next_area(a)){g.pagination.show_pagination_hint("next");g.pagination.next();setTimeout(function(){g.pagination.hide_pagination_hint()},g.PAGINATION_HINT_DISPLAY_MS)}}}}return false};$("#nav-top-arrow").click(function(a){ui.show_top_nav();state.show_state();return false});$("#results").click(function(){ui.hide_book_list_dropdown();if(hash.parse_hash().protocol==="books"&&!$("#results li.book-result").exists()){ui.display_no_books()}});ibis.disable_links=function(a){return false};
/*
 * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
 * Digest Algorithm, as defined in RFC 1321.
 * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009
 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
 * Distributed under the BSD License
 * See http://pajhome.org.uk/crypt/md5 for more info.
 */
var hexcase=0;var b64pad="";function hex_md5(a){return rstr2hex(rstr_md5(str2rstr_utf8(a)))}function b64_md5(a){return rstr2b64(rstr_md5(str2rstr_utf8(a)))}function any_md5(a,b){return rstr2any(rstr_md5(str2rstr_utf8(a)),b)}function hex_hmac_md5(a,b){return rstr2hex(rstr_hmac_md5(str2rstr_utf8(a),str2rstr_utf8(b)))}function b64_hmac_md5(a,b){return rstr2b64(rstr_hmac_md5(str2rstr_utf8(a),str2rstr_utf8(b)))}function any_hmac_md5(a,c,b){return rstr2any(rstr_hmac_md5(str2rstr_utf8(a),str2rstr_utf8(c)),b)}function md5_vm_test(){return hex_md5("abc").toLowerCase()=="900150983cd24fb0d6963f7d28e17f72"}function rstr_md5(a){return binl2rstr(binl_md5(rstr2binl(a),a.length*8))}function rstr_hmac_md5(c,f){var e=rstr2binl(c);if(e.length>16){e=binl_md5(e,c.length*8)}var a=Array(16),d=Array(16);for(var b=0;b<16;b++){a[b]=e[b]^909522486;d[b]=e[b]^1549556828}var j=binl_md5(a.concat(rstr2binl(f)),512+f.length*8);return binl2rstr(binl_md5(d.concat(j),512+128))}function rstr2hex(c){try{hexcase}catch(j){hexcase=0}var f=hexcase?"0123456789ABCDEF":"0123456789abcdef";var b="";var a;for(var d=0;d<c.length;d++){a=c.charCodeAt(d);b+=f.charAt((a>>>4)&15)+f.charAt(a&15)}return b}function rstr2b64(c){try{b64pad}catch(l){b64pad=""}var k="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var b="";var a=c.length;for(var f=0;f<a;f+=3){var m=(c.charCodeAt(f)<<16)|(f+1<a?c.charCodeAt(f+1)<<8:0)|(f+2<a?c.charCodeAt(f+2):0);for(var d=0;d<4;d++){if(f*8+d*6>c.length*8){b+=b64pad}else{b+=k.charAt((m>>>6*(3-d))&63)}}}return b}function rstr2any(o,c){var b=c.length;var n,f,a,p,e;var m=Array(Math.ceil(o.length/2));for(n=0;n<m.length;n++){m[n]=(o.charCodeAt(n*2)<<8)|o.charCodeAt(n*2+1)}var l=Math.ceil(o.length*8/(Math.log(c.length)/Math.log(2)));var k=Array(l);for(f=0;f<l;f++){e=Array();p=0;for(n=0;n<m.length;n++){p=(p<<16)+m[n];a=Math.floor(p/b);p-=a*b;if(e.length>0||a>0){e[e.length]=a}}k[f]=p;m=e}var d="";for(n=k.length-1;n>=0;n--){d+=c.charAt(k[n])}return d}function str2rstr_utf8(c){var b="";var d=-1;var a,e;while(++d<c.length){a=c.charCodeAt(d);e=d+1<c.length?c.charCodeAt(d+1):0;if(55296<=a&&a<=56319&&56320<=e&&e<=57343){a=65536+((a&1023)<<10)+(e&1023);d++}if(a<=127){b+=String.fromCharCode(a)}else{if(a<=2047){b+=String.fromCharCode(192|((a>>>6)&31),128|(a&63))}else{if(a<=65535){b+=String.fromCharCode(224|((a>>>12)&15),128|((a>>>6)&63),128|(a&63))}else{if(a<=2097151){b+=String.fromCharCode(240|((a>>>18)&7),128|((a>>>12)&63),128|((a>>>6)&63),128|(a&63))}}}}}return b}function str2rstr_utf16le(b){var a="";for(var c=0;c<b.length;c++){a+=String.fromCharCode(b.charCodeAt(c)&255,(b.charCodeAt(c)>>>8)&255)}return a}function str2rstr_utf16be(b){var a="";for(var c=0;c<b.length;c++){a+=String.fromCharCode((b.charCodeAt(c)>>>8)&255,b.charCodeAt(c)&255)}return a}function rstr2binl(b){var a=Array(b.length>>2);for(var c=0;c<a.length;c++){a[c]=0}for(var c=0;c<b.length*8;c+=8){a[c>>5]|=(b.charCodeAt(c/8)&255)<<(c%32)}return a}function binl2rstr(b){var a="";for(var c=0;c<b.length*32;c+=8){a+=String.fromCharCode((b[c>>5]>>>(c%32))&255)}return a}function binl_md5(r,m){r[m>>5]|=128<<((m)%32);r[(((m+64)>>>9)<<4)+14]=m;var q=1732584193;var p=-271733879;var o=-1732584194;var n=271733878;for(var j=0;j<r.length;j+=16){var l=q;var k=p;var f=o;var e=n;q=md5_ff(q,p,o,n,r[j+0],7,-680876936);n=md5_ff(n,q,p,o,r[j+1],12,-389564586);o=md5_ff(o,n,q,p,r[j+2],17,606105819);p=md5_ff(p,o,n,q,r[j+3],22,-1044525330);q=md5_ff(q,p,o,n,r[j+4],7,-176418897);n=md5_ff(n,q,p,o,r[j+5],12,1200080426);o=md5_ff(o,n,q,p,r[j+6],17,-1473231341);p=md5_ff(p,o,n,q,r[j+7],22,-45705983);q=md5_ff(q,p,o,n,r[j+8],7,1770035416);n=md5_ff(n,q,p,o,r[j+9],12,-1958414417);o=md5_ff(o,n,q,p,r[j+10],17,-42063);p=md5_ff(p,o,n,q,r[j+11],22,-1990404162);q=md5_ff(q,p,o,n,r[j+12],7,1804603682);n=md5_ff(n,q,p,o,r[j+13],12,-40341101);o=md5_ff(o,n,q,p,r[j+14],17,-1502002290);p=md5_ff(p,o,n,q,r[j+15],22,1236535329);q=md5_gg(q,p,o,n,r[j+1],5,-165796510);n=md5_gg(n,q,p,o,r[j+6],9,-1069501632);o=md5_gg(o,n,q,p,r[j+11],14,643717713);p=md5_gg(p,o,n,q,r[j+0],20,-373897302);q=md5_gg(q,p,o,n,r[j+5],5,-701558691);n=md5_gg(n,q,p,o,r[j+10],9,38016083);o=md5_gg(o,n,q,p,r[j+15],14,-660478335);p=md5_gg(p,o,n,q,r[j+4],20,-405537848);q=md5_gg(q,p,o,n,r[j+9],5,568446438);n=md5_gg(n,q,p,o,r[j+14],9,-1019803690);o=md5_gg(o,n,q,p,r[j+3],14,-187363961);p=md5_gg(p,o,n,q,r[j+8],20,1163531501);q=md5_gg(q,p,o,n,r[j+13],5,-1444681467);n=md5_gg(n,q,p,o,r[j+2],9,-51403784);o=md5_gg(o,n,q,p,r[j+7],14,1735328473);p=md5_gg(p,o,n,q,r[j+12],20,-1926607734);q=md5_hh(q,p,o,n,r[j+5],4,-378558);n=md5_hh(n,q,p,o,r[j+8],11,-2022574463);o=md5_hh(o,n,q,p,r[j+11],16,1839030562);p=md5_hh(p,o,n,q,r[j+14],23,-35309556);q=md5_hh(q,p,o,n,r[j+1],4,-1530992060);n=md5_hh(n,q,p,o,r[j+4],11,1272893353);o=md5_hh(o,n,q,p,r[j+7],16,-155497632);p=md5_hh(p,o,n,q,r[j+10],23,-1094730640);q=md5_hh(q,p,o,n,r[j+13],4,681279174);n=md5_hh(n,q,p,o,r[j+0],11,-358537222);o=md5_hh(o,n,q,p,r[j+3],16,-722521979);p=md5_hh(p,o,n,q,r[j+6],23,76029189);q=md5_hh(q,p,o,n,r[j+9],4,-640364487);n=md5_hh(n,q,p,o,r[j+12],11,-421815835);o=md5_hh(o,n,q,p,r[j+15],16,530742520);p=md5_hh(p,o,n,q,r[j+2],23,-995338651);q=md5_ii(q,p,o,n,r[j+0],6,-198630844);n=md5_ii(n,q,p,o,r[j+7],10,1126891415);o=md5_ii(o,n,q,p,r[j+14],15,-1416354905);p=md5_ii(p,o,n,q,r[j+5],21,-57434055);q=md5_ii(q,p,o,n,r[j+12],6,1700485571);n=md5_ii(n,q,p,o,r[j+3],10,-1894986606);o=md5_ii(o,n,q,p,r[j+10],15,-1051523);p=md5_ii(p,o,n,q,r[j+1],21,-2054922799);q=md5_ii(q,p,o,n,r[j+8],6,1873313359);n=md5_ii(n,q,p,o,r[j+15],10,-30611744);o=md5_ii(o,n,q,p,r[j+6],15,-1560198380);p=md5_ii(p,o,n,q,r[j+13],21,1309151649);q=md5_ii(q,p,o,n,r[j+4],6,-145523070);n=md5_ii(n,q,p,o,r[j+11],10,-1120210379);o=md5_ii(o,n,q,p,r[j+2],15,718787259);p=md5_ii(p,o,n,q,r[j+9],21,-343485551);q=safe_add(q,l);p=safe_add(p,k);o=safe_add(o,f);n=safe_add(n,e)}return Array(q,p,o,n)}function md5_cmn(j,e,d,c,i,f){return safe_add(bit_rol(safe_add(safe_add(e,j),safe_add(c,f)),i),d)}function md5_ff(i,f,m,l,e,k,j){return md5_cmn((f&m)|((~f)&l),i,f,e,k,j)}function md5_gg(i,f,m,l,e,k,j){return md5_cmn((f&l)|(m&(~l)),i,f,e,k,j)}function md5_hh(i,f,m,l,e,k,j){return md5_cmn(f^m^l,i,f,e,k,j)}function md5_ii(i,f,m,l,e,k,j){return md5_cmn(m^(f|(~l)),i,f,e,k,j)}function safe_add(a,d){var c=(a&65535)+(d&65535);var b=(a>>16)+(d>>16)+(c>>16);return(b<<16)|(c&65535)}function bit_rol(a,b){return(a<<b)|(a>>>(32-b))}var protection=(function(){var d="blowfish_key";var a="";var i=function(){if(!a){var j=localStorage[d];if(!j){if(!g.is_authenticated){throw new Error(gettext("You must be signed in to read this book."))}$.ajax({async:false,url:"/nest/key/",dataType:"json",error:function(m,k,l){h.debug("Got error when retrieving user key: "+l);throw new Error(gettext("Unable to decrypt content"))},success:function(k){j=k.key}});localStorage[d]=j}a=j}return a};var f=function(){a="";localStorage.removeItem(d)};var c=rstr2binl;var e=function(k){var j=binl2rstr(k);while(!j.charCodeAt(j.length-1)){j=j.slice(0,-1)}return j};var b=function(t,A){var o=c(A);var B=c(t);var l=B.length;var w,u,r,j,C,s;var q=2654435769;var m=function(k){return k&4294967295};var x=function(){return(((u>>>5^(w<<2))+(w>>>3^(u<<4)))^((r^w)+(o[(j&3)^s]^u)))};C=6+Math.floor(52/l);r=m(C*q);w=B[0];do{s=(r>>>2)&3;for(j=l-1;j>0;j--){u=B[j-1];w=B[j]=m(B[j]-x())}u=B[l-1];w=B[0]=m(B[0]-x());r=m(r-q)}while(r!==0);return e(B)};return{set_user_key:function(j){a=j},clear_user_key:f,compute_key:function(m,p){var l=i();var k=Math.max(l.length,m.length,p.length);var j=[];for(var n=0;n<k;n++){j[n%16]^=l.charCodeAt(n)^m.charCodeAt(n)^p.charCodeAt(n)}var o="";for(n=0;n<16;n++){o+=String.fromCharCode(j[n])}return o},decrypt:function(j,m,k){var l=this.compute_key(j,m);return b(base64.decode(k),l)},checksum:function(j){var k=j.substr(0,256)+j.substr(-256,256);return hex_md5(k)}}}());(function(){var f,d,j,i;var c;var a=60,b=20;var e=$("#book");e.live("touchstart",function(k){k=k.originalEvent;if(k.touches.length===1){f=k.touches[0].pageX;d=k.touches[0].pageY;c=false}});e.live("touchmove",function(k){k=k.originalEvent;if(k.touches.length===1){j=k.touches[0].pageX;i=k.touches[0].pageY;if(!c&&Math.abs(j-f)>a&&Math.abs(i-d)<b){c=true}return false}});e.live("touchend",function(l){if(c){var k=j-f;if(k<-a){g.pagination.next()}else{if(k>a){g.pagination.previous()}}return false}})}());var URI;var URIQuery;(function(){function f(i,k){var j=/^(.*)\//;if(i.authority&&!i.path){return"/"+k}else{return i.getPath().match(j)[0]+k}}var e=/(^|\/)((?!\.\.\/)[^\/]*)\/\.\.\//;function a(i){if(!i){return""}var j=i.replace(/\/\.\//g,"/");j=j.replace(/\/\.$/,"/");while(j.match(e)){j=j.replace(e,"$1")}j=j.replace(/\/([^\/]*)\/\.\.$/,"/");while(j.match(/\/\.\.\//)){j=j.replace(/\/\.\.\//,"/")}return j}function d(k){var j=[];for(var i in k){if(k.hasOwnProperty(i)){j.push(i)}}return j.sort()}function b(i){return i}function c(i){return i}URI=function(o){if(!o){o=""}var p=/^(?:([^:\/?\#]+):)?(?:\/\/([^\/?\#]*))?([^?\#]*)(?:\?([^\#]*))?(?:\#(.*))?/;var i=o.match(p);var j=i[1]||null;var n=i[2]||null;var m=i[3]||null;var l=i[4]||null;var k=i[5]||null;this.getScheme=function(){return j};this.setScheme=function(q){j=q};this.getAuthority=function(){return n};this.setAuthority=function(q){n=q};this.getPath=function(){return m};this.setPath=function(q){m=q};this.getQuery=function(){return l};this.setQuery=function(q){l=q};this.getFragment=function(){return k};this.setFragment=function(q){k=q}};URI.prototype.toString=function(){var i="";if(this.getScheme()){i+=this.getScheme()+":"}if(this.getAuthority()){i+="//"+this.getAuthority()}if(this.getPath()){i+=this.getPath()}if(this.getQuery()){i+="?"+this.getQuery()}if(this.getFragment()){i+="#"+this.getFragment()}return i};URI.prototype.resolve=function(i){var j=new URI();if(this.getScheme()){j.setScheme(this.getScheme());j.setAuthority(this.getAuthority());j.setPath(a(this.getPath()));j.setQuery(this.getQuery())}else{if(this.getAuthority()){j.setAuthority(this.getAuthority());j.setPath(a(this.getPath()));j.setQuery(this.getQuery())}else{if(!this.getPath()){j.setPath(i.getPath());if(this.getQuery()){j.setQuery(this.getQuery())}else{j.setQuery(i.getQuery())}}else{if(this.getPath().charAt(0)==="/"){j.setPath(a(this.getPath()))}else{j.setPath(f(i,this.getPath()));j.setPath(a(j.getPath()))}j.setQuery(this.getQuery())}j.setAuthority(i.getAuthority())}j.setScheme(i.getScheme())}j.setFragment(this.getFragment());return j};URI.prototype.parseQuery=function(){return URIQuery.fromString(this.getQuery(),this.querySeparator)};URIQuery=function(){this.params={};this.separator="&"};URIQuery.fromString=function(k,j){var i=new URIQuery();if(j){i.separator=j}i.addStringParams(k);return i};URIQuery.prototype.addStringParams=function(o){var j=o.split(this.separator);var n,l,m;for(var k=0;k<j.length;k++){n=j[k].split("=",2);l=c(n[0].replace(/\+/g," "));m=c(n[1].replace(/\+/g," "));if(!this.params.hasOwnProperty(l)){this.params[l]=[]}this.params[l].push(m)}};URIQuery.prototype.getParam=function(i){if(this.params.hasOwnProperty(i)){return this.params[i][0]}return null};URIQuery.prototype.toString=function(){var j=[];var k=d(this.params);var i,l;for(i=0;i<k.length;i++){for(l=0;l<this.params[k[i]].length;l++){j.push(k[i].replace(/ /g,"+")+"="+this.params[k[i]][l].replace(/ /g,"+"))}}return j.join(this.separator)}})();
