if(typeof (dojo)!="undefined"){dojo.provide("MochiKit.Base")}if(typeof (MochiKit)=="undefined"){MochiKit={}}if(typeof (MochiKit.Base)=="undefined"){MochiKit.Base={}}if(typeof (MochiKit.__export__)=="undefined"){MochiKit.__export__=(MochiKit.__compat__||(typeof (JSAN)=="undefined"&&typeof (dojo)=="undefined"))}MochiKit.Base.VERSION="1.5";MochiKit.Base.NAME="MochiKit.Base";MochiKit.Base.update=function(B,D){if(B===null||B===undefined){B={}}for(var C=1;C<arguments.length;C++){var E=arguments[C];if(typeof (E)!="undefined"&&E!==null){for(var A in E){B[A]=E[A]}}}return B};MochiKit.Base.update(MochiKit.Base,{__repr__:function(){return"["+this.NAME+" "+this.VERSION+"]"},toString:function(){return this.__repr__()},camelize:function(B){var A=B.split("-");var D=A[0];for(var C=1;C<A.length;C++){D+=A[C].charAt(0).toUpperCase()+A[C].substring(1)}return D},counter:function(A){if(arguments.length===0){A=1}return function(){return A++}},clone:function(B){var A=arguments.callee;if(arguments.length==1){A.prototype=B;return new A()}},_deps:function(B,C){if(!(B in MochiKit)){MochiKit[B]={}}if(typeof (dojo)!="undefined"){dojo.provide("MochiKit."+B)}for(var A=0;A<C.length;A++){if(typeof (dojo)!="undefined"){dojo.require("MochiKit."+C[A])}if(typeof (JSAN)!="undefined"){JSAN.use("MochiKit."+C[A],[])}if(!(C[A] in MochiKit)){throw"MochiKit."+B+" depends on MochiKit."+C[A]+"!"}}},_flattenArray:function(C,A){for(var B=0;B<A.length;B++){var D=A[B];if(D instanceof Array){arguments.callee(C,D)}else{C.push(D)}}return C},flattenArray:function(A){return MochiKit.Base._flattenArray([],A)},flattenArguments:function(B){var E=[];var A=MochiKit.Base;var C=A.extend(null,arguments);while(C.length){var F=C.shift();if(F&&typeof (F)=="object"&&typeof (F.length)=="number"){for(var D=F.length-1;D>=0;D--){C.unshift(F[D])}}else{E.push(F)}}return E},extend:function(B,E,D){if(!D){D=0}if(E){var A=E.length;if(typeof (A)!="number"){if(typeof (MochiKit.Iter)!="undefined"){E=MochiKit.Iter.list(E);A=E.length}else{throw new TypeError("Argument not an array-like and MochiKit.Iter not present")}}if(!B){B=[]}for(var C=D;C<A;C++){B.push(E[C])}}return B},updatetree:function(C,E){if(C===null||C===undefined){C={}}for(var D=1;D<arguments.length;D++){var F=arguments[D];if(typeof (F)!="undefined"&&F!==null){for(var B in F){var A=F[B];if(typeof (C[B])=="object"&&typeof (A)=="object"){arguments.callee(C[B],A)}else{C[B]=A}}}}return C},setdefault:function(B,D){if(B===null||B===undefined){B={}}for(var C=1;C<arguments.length;C++){var E=arguments[C];for(var A in E){if(!(A in B)){B[A]=E[A]}}}return B},keys:function(B){var A=[];for(var C in B){A.push(C)}return A},values:function(B){var A=[];for(var C in B){A.push(B[C])}return A},items:function(D){var C=[];var B;for(var E in D){var A;try{A=D[E]}catch(B){continue}C.push([E,A])}return C},_newNamedError:function(B,A,C){C.prototype=new MochiKit.Base.NamedError(B.NAME+"."+A);B[A]=C},operator:{truth:function(A){return !!A},lognot:function(A){return !A},identity:function(A){return A},not:function(A){return ~A},neg:function(A){return -A},add:function(B,A){return B+A},sub:function(B,A){return B-A},div:function(B,A){return B/A},mod:function(B,A){return B%A},mul:function(B,A){return B*A},and:function(B,A){return B&A},or:function(B,A){return B|A},xor:function(B,A){return B^A},lshift:function(B,A){return B<<A},rshift:function(B,A){return B>>A},zrshift:function(B,A){return B>>>A},eq:function(B,A){return B==A},ne:function(B,A){return B!=A},gt:function(B,A){return B>A},ge:function(B,A){return B>=A},lt:function(B,A){return B<A},le:function(B,A){return B<=A},seq:function(B,A){return B===A},sne:function(B,A){return B!==A},ceq:function(B,A){return MochiKit.Base.compare(B,A)===0},cne:function(B,A){return MochiKit.Base.compare(B,A)!==0},cgt:function(B,A){return MochiKit.Base.compare(B,A)==1},cge:function(B,A){return MochiKit.Base.compare(B,A)!=-1},clt:function(B,A){return MochiKit.Base.compare(B,A)==-1},cle:function(B,A){return MochiKit.Base.compare(B,A)!=1},logand:function(B,A){return B&&A},logor:function(B,A){return B||A},contains:function(B,A){return A in B}},forwardCall:function(A){return function(){return this[A].apply(this,arguments)}},itemgetter:function(A){return function(B){return B[A]}},typeMatcher:function(){var B={};for(var A=0;A<arguments.length;A++){var C=arguments[A];B[C]=C}return function(){for(var D=0;D<arguments.length;D++){if(!(typeof (arguments[D]) in B)){return false}}return true}},isNull:function(){for(var A=0;A<arguments.length;A++){if(arguments[A]!==null){return false}}return true},isUndefinedOrNull:function(){for(var A=0;A<arguments.length;A++){var B=arguments[A];if(!(typeof (B)=="undefined"||B===null)){return false}}return true},isEmpty:function(A){return !MochiKit.Base.isNotEmpty.apply(this,arguments)},isNotEmpty:function(B){for(var A=0;A<arguments.length;A++){var C=arguments[A];if(!(C&&C.length)){return false}}return true},isArrayLike:function(){for(var A=0;A<arguments.length;A++){var C=arguments[A];var B=typeof (C);if((B!="object"&&!(B=="function"&&typeof (C.item)=="function"))||C===null||typeof (C.length)!="number"||C.nodeType===3||C.nodeType===4){return false}}return true},isDateLike:function(){for(var A=0;A<arguments.length;A++){var B=arguments[A];if(typeof (B)!="object"||B===null||typeof (B.getTime)!="function"){return false}}return true},xmap:function(B){if(B===null){return MochiKit.Base.extend(null,arguments,1)}var C=[];for(var A=1;A<arguments.length;A++){C.push(B(arguments[A]))}return C},map:function(J,F){var B=MochiKit.Base;var H=MochiKit.Iter;var K=B.isArrayLike;if(arguments.length<=2){if(!K(F)){if(H){F=H.list(F);if(J===null){return F}}else{throw new TypeError("Argument not an array-like and MochiKit.Iter not present")}}if(J===null){return B.extend(null,F)}var G=[];for(var E=0;E<F.length;E++){G.push(J(F[E]))}return G}else{if(J===null){J=Array}var A=null;for(E=1;E<arguments.length;E++){if(!K(arguments[E])){if(H){return H.list(H.imap.apply(null,arguments))}else{throw new TypeError("Argument not an array-like and MochiKit.Iter not present")}}var C=arguments[E].length;if(A===null||A>C){A=C}}G=[];for(E=0;E<A;E++){var I=[];for(var D=1;D<arguments.length;D++){I.push(arguments[D][E])}G.push(J.apply(this,I))}return G}},xfilter:function(B){var C=[];if(B===null){B=MochiKit.Base.operator.truth}for(var A=1;A<arguments.length;A++){var D=arguments[A];if(B(D)){C.push(D)}}return C},filter:function(E,B,C){var F=[];var A=MochiKit.Base;if(!A.isArrayLike(B)){if(MochiKit.Iter){B=MochiKit.Iter.list(B)}else{throw new TypeError("Argument not an array-like and MochiKit.Iter not present")}}if(E===null){E=A.operator.truth}if(typeof (Array.prototype.filter)=="function"){return Array.prototype.filter.call(B,E,C)}else{if(typeof (C)=="undefined"||C===null){for(var D=0;D<B.length;D++){var G=B[D];if(E(G)){F.push(G)}}}else{for(D=0;D<B.length;D++){G=B[D];if(E.call(C,G)){F.push(G)}}}}return F},_wrapDumbFunction:function(func){return function(){switch(arguments.length){case 0:return func();case 1:return func(arguments[0]);case 2:return func(arguments[0],arguments[1]);case 3:return func(arguments[0],arguments[1],arguments[2])}var args=[];for(var i=0;i<arguments.length;i++){args.push("arguments["+i+"]")}return eval("(func("+args.join(",")+"))")}},methodcaller:function(B){var A=MochiKit.Base.extend(null,arguments,1);if(typeof (B)=="function"){return function(C){return B.apply(C,A)}}else{return function(C){return C[B].apply(C,A)}}},method:function(B,C){var A=MochiKit.Base;return A.bind.apply(this,A.extend([C,B],arguments,2))},compose:function(B,F){var E=[];var A=MochiKit.Base;if(arguments.length===0){throw new TypeError("compose() requires at least one argument")}for(var C=0;C<arguments.length;C++){var D=arguments[C];if(typeof (D)!="function"){throw new TypeError(A.repr(D)+" is not a function")}E.push(D)}return function(){var G=arguments;for(var H=E.length-1;H>=0;H--){G=[E[H].apply(this,G)]}return G[0]}},bind:function(E,C){if(typeof (E)=="string"){E=C[E]}var D=E.im_func;var G=E.im_preargs;var B=E.im_self;var A=MochiKit.Base;if(typeof (E)=="function"&&typeof (E.apply)=="undefined"){E=A._wrapDumbFunction(E)}if(typeof (D)!="function"){D=E}if(typeof (C)!="undefined"){B=C}if(typeof (G)=="undefined"){G=[]}else{G=G.slice()}A.extend(G,arguments,2);var F=function(){var I=arguments;var J=arguments.callee;if(J.im_preargs.length>0){I=A.concat(J.im_preargs,I)}var H=J.im_self;if(!H){H=this}return J.im_func.apply(H,I)};F.im_self=B;F.im_func=D;F.im_preargs=G;return F},bindLate:function(C,B){var A=MochiKit.Base;if(typeof (C)!="string"){return A.bind.apply(this,arguments)}var E=A.extend([],arguments,2);var D=function(){var G=arguments;var H=arguments.callee;if(H.im_preargs.length>0){G=A.concat(H.im_preargs,G)}var F=H.im_self;if(!F){F=this}return F[H.im_func].apply(F,G)};D.im_self=B;D.im_func=C;D.im_preargs=E;return D},bindMethods:function(B){var D=MochiKit.Base.bind;for(var A in B){var C=B[A];if(typeof (C)=="function"){B[A]=D(C,B)}}},registerComparator:function(C,B,A,D){MochiKit.Base.comparatorRegistry.register(C,B,A,D)},_primitives:{"boolean":true,string:true,number:true},compare:function(F,B){if(F==B){return 0}var E=(typeof (F)=="undefined"||F===null);var G=(typeof (B)=="undefined"||B===null);if(E&&G){return 0}else{if(E){return -1}else{if(G){return 1}}}var A=MochiKit.Base;var D=A._primitives;if(!(typeof (F) in D&&typeof (B) in D)){try{return A.comparatorRegistry.match(F,B)}catch(H){if(H!=A.NotFound){throw H}}}if(F<B){return -1}else{if(F>B){return 1}}var C=A.repr;throw new TypeError(C(F)+" and "+C(B)+" can not be compared")},compareDateLike:function(B,A){return MochiKit.Base.compare(B.getTime(),A.getTime())},compareArrayLike:function(B,A){var F=MochiKit.Base.compare;var E=B.length;var G=0;if(E>A.length){G=1;E=A.length}else{if(E<A.length){G=-1}}for(var C=0;C<E;C++){var D=F(B[C],A[C]);if(D){return D}}return G},registerRepr:function(B,A,D,C){MochiKit.Base.reprRegistry.register(B,A,D,C)},repr:function(D){if(typeof (D)=="undefined"){return"undefined"}else{if(D===null){return"null"}}try{if(typeof (D.__repr__)=="function"){return D.__repr__()}else{if(typeof (D.repr)=="function"&&D.repr!=arguments.callee){return D.repr()}}return MochiKit.Base.reprRegistry.match(D)}catch(B){if(typeof (D.NAME)=="string"&&(D.toString==Function.prototype.toString||D.toString==Object.prototype.toString)){return D.NAME}}try{var C=(D+"")}catch(B){return"["+typeof (D)+"]"}if(typeof (D)=="function"){C=C.replace(/^\s+/,"").replace(/\s+/g," ");C=C.replace(/,(\S)/,", $1");var A=C.indexOf("{");if(A!=-1){C=C.substr(0,A)+"{...}"}}return C},reprArrayLike:function(B){var A=MochiKit.Base;return"["+A.map(A.repr,B).join(", ")+"]"},reprString:function(A){return('"'+A.replace(/(["\\])/g,"\\$1")+'"').replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\v]/g,"\\v").replace(/[\r]/g,"\\r")},reprNumber:function(A){return A+""},registerJSON:function(B,A,D,C){MochiKit.Base.jsonRegistry.register(B,A,D,C)},evalJSON:function(){return eval("("+MochiKit.Base._filterJSON(arguments[0])+")")},_filterJSON:function(B){var A=B.match(/^\s*\/\*(.*)\*\/\s*$/);if(A){return A[1]}return B},serializeJSON:function(A){var M=typeof (A);if(M=="number"||M=="boolean"){return A+""}else{if(A===null){return"null"}else{if(M=="string"){var J="";for(var H=0;H<A.length;H++){var K=A.charAt(H);if(K=='"'){J+='\\"'}else{if(K=="\\"){J+="\\\\"}else{if(K=="\b"){J+="\\b"}else{if(K=="\f"){J+="\\f"}else{if(K=="\n"){J+="\\n"}else{if(K=="\r"){J+="\\r"}else{if(K=="\t"){J+="\\t"}else{if(A.charCodeAt(H)<=31){var D=A.charCodeAt(H).toString(16);if(D.length<2){D="0"+D}J+="\\u00"+D.toUpperCase()}else{J+=K}}}}}}}}}return'"'+J+'"'}}}var L=arguments.callee;var F;if(typeof (A.__json__)=="function"){F=A.__json__();if(A!==F){return L(F)}}if(typeof (A.json)=="function"){F=A.json();if(A!==F){return L(F)}}if(M!="function"&&typeof (A.length)=="number"){var J=[];for(var H=0;H<A.length;H++){var B=L(A[H]);if(typeof (B)!="string"){continue}J.push(B)}return"["+J.join(", ")+"]"}var C=MochiKit.Base;try{F=C.jsonRegistry.match(A);if(A!==F){return L(F)}}catch(I){if(I!=C.NotFound){throw I}}if(M=="undefined"){throw new TypeError("undefined can not be serialized as JSON")}if(M=="function"){return null}J=[];for(var E in A){var G;if(typeof (E)=="number"){G='"'+E+'"'}else{if(typeof (E)=="string"){G=L(E)}else{continue}}B=L(A[E]);if(typeof (B)!="string"){continue}J.push(G+":"+B)}return"{"+J.join(", ")+"}"},objEqual:function(B,A){return(MochiKit.Base.compare(B,A)===0)},arrayEqual:function(B,A){if(B.length!=A.length){return false}return(MochiKit.Base.compare(B,A)===0)},concat:function(){var B=[];var C=MochiKit.Base.extend;for(var A=0;A<arguments.length;A++){C(B,arguments[A])}return B},keyComparator:function(B){var A=MochiKit.Base;var D=A.compare;if(arguments.length==1){return function(F,E){return D(F[B],E[B])}}var C=A.extend(null,arguments);return function(F,E){var I=0;for(var H=0;(I===0)&&(H<C.length);H++){var G=C[H];I=D(F[G],E[G])}return I}},reverseKeyComparator:function(B){var A=MochiKit.Base.keyComparator.apply(this,arguments);return function(D,C){return A(C,D)}},partial:function(B){var A=MochiKit.Base;return A.bind.apply(this,A.extend([B,undefined],arguments,1))},listMinMax:function(F,A){if(A.length===0){return null}var E=A[0];var C=MochiKit.Base.compare;for(var B=1;B<A.length;B++){var D=A[B];if(C(D,E)==F){E=D}}return E},objMax:function(){return MochiKit.Base.listMinMax(1,arguments)},objMin:function(){return MochiKit.Base.listMinMax(-1,arguments)},findIdentical:function(A,D,E,B){if(typeof (B)=="undefined"||B===null){B=A.length}if(typeof (E)=="undefined"||E===null){E=0}for(var C=E;C<B;C++){if(A[C]===D){return C}}return -1},mean:function(){var D=0;var A=MochiKit.Base;var B=A.extend(null,arguments);var E=B.length;while(B.length){var F=B.shift();if(F&&typeof (F)=="object"&&typeof (F.length)=="number"){E+=F.length-1;for(var C=F.length-1;C>=0;C--){D+=F[C]}}else{D+=F}}if(E<=0){throw new TypeError("mean() requires at least one argument")}return D/E},median:function(){var B=MochiKit.Base.flattenArguments(arguments);if(B.length===0){throw new TypeError("median() requires at least one argument")}B.sort(compare);if(B.length%2==0){var A=B.length/2;return(B[A]+B[A-1])/2}else{return B[(B.length-1)/2]}},findValue:function(A,E,F,B){if(typeof (B)=="undefined"||B===null){B=A.length}if(typeof (F)=="undefined"||F===null){F=0}var D=MochiKit.Base.compare;for(var C=F;C<B;C++){if(D(A[C],E)===0){return C}}return -1},nodeWalk:function(C,D){var A=[C];var E=MochiKit.Base.extend;while(A.length){var B=D(A.shift());if(B){E(A,B)}}},nameFunctions:function(B){var C=B.NAME;if(typeof (C)=="undefined"){C=""}else{C=C+"."}for(var A in B){var E=B[A];if(typeof (E)=="function"&&typeof (E.NAME)=="undefined"){try{E.NAME=C+A}catch(D){}}}},queryString:function(H,I){if(typeof (MochiKit.DOM)!="undefined"&&arguments.length==1&&(typeof (H)=="string"||(typeof (H.nodeType)!="undefined"&&H.nodeType>0))){var G=MochiKit.DOM.formContents(H);H=G[0];I=G[1]}else{if(arguments.length==1){if(typeof (H.length)=="number"&&H.length==2){return arguments.callee(H[0],H[1])}var A=H;H=[];I=[];for(var B in A){var J=A[B];if(typeof (J)=="function"){continue}else{if(MochiKit.Base.isArrayLike(J)){for(var D=0;D<J.length;D++){H.push(B);I.push(J[D])}}else{H.push(B);I.push(J)}}}}}var E=[];var F=Math.min(H.length,I.length);var C=MochiKit.Base.urlEncode;for(var D=0;D<F;D++){J=I[D];if(typeof (J)!="undefined"&&J!==null){E.push(C(H[D])+"="+C(J))}}return E.join("&")},parseQueryString:function(I,J){var E=(I.charAt(0)=="?")?I.substring(1):I;var C=E.replace(/\+/g,"%20").split(/\&amp\;|\&\#38\;|\&#x26;|\&/);var D={};var A;if(typeof (decodeURIComponent)!="undefined"){A=decodeURIComponent}else{A=unescape}if(J){for(var G=0;G<C.length;G++){var F=C[G].split("=");var B=A(F.shift());if(!B){continue}var H=D[B];if(!(H instanceof Array)){H=[];D[B]=H}H.push(A(F.join("=")))}}else{for(G=0;G<C.length;G++){F=C[G].split("=");var B=F.shift();if(!B){continue}D[A(B)]=A(F.join("="))}}return D}});MochiKit.Base.AdapterRegistry=function(){this.pairs=[]};MochiKit.Base.AdapterRegistry.prototype={register:function(B,A,D,C){if(C){this.pairs.unshift([B,A,D])}else{this.pairs.push([B,A,D])}},match:function(){for(var A=0;A<this.pairs.length;A++){var B=this.pairs[A];if(B[1].apply(this,arguments)){return B[2].apply(this,arguments)}}throw MochiKit.Base.NotFound},unregister:function(A){for(var B=0;B<this.pairs.length;B++){var C=this.pairs[B];if(C[0]==A){this.pairs.splice(B,1);return true}}return false}};MochiKit.Base.EXPORT=["flattenArray","noop","camelize","counter","clone","extend","update","updatetree","setdefault","keys","values","items","NamedError","operator","forwardCall","itemgetter","typeMatcher","isCallable","isUndefined","isUndefinedOrNull","isNull","isEmpty","isNotEmpty","isArrayLike","isDateLike","xmap","map","xfilter","filter","methodcaller","compose","bind","bindLate","bindMethods","NotFound","AdapterRegistry","registerComparator","compare","registerRepr","repr","objEqual","arrayEqual","concat","keyComparator","reverseKeyComparator","partial","merge","listMinMax","listMax","listMin","objMax","objMin","nodeWalk","zip","urlEncode","queryString","serializeJSON","registerJSON","evalJSON","parseQueryString","findValue","findIdentical","flattenArguments","method","average","mean","median"];MochiKit.Base.EXPORT_OK=["nameFunctions","comparatorRegistry","reprRegistry","jsonRegistry","compareDateLike","compareArrayLike","reprArrayLike","reprString","reprNumber"];MochiKit.Base._exportSymbols=function(D,B){if(!MochiKit.__export__){return }var C=B.EXPORT_TAGS[":all"];for(var A=0;A<C.length;A++){D[C[A]]=B[C[A]]}};MochiKit.Base.__new__=function(){var A=this;A.noop=A.operator.identity;A.forward=A.forwardCall;A.find=A.findValue;if(typeof (encodeURIComponent)!="undefined"){A.urlEncode=function(C){return encodeURIComponent(C).replace(/\'/g,"%27")}}else{A.urlEncode=function(C){return escape(C).replace(/\+/g,"%2B").replace(/\"/g,"%22").rval.replace(/\'/g,"%27")}}A.NamedError=function(C){this.message=C;this.name=C};A.NamedError.prototype=new Error();A.update(A.NamedError.prototype,{repr:function(){if(this.message&&this.message!=this.name){return this.name+"("+A.repr(this.message)+")"}else{return this.name+"()"}},toString:A.forwardCall("repr")});A.NotFound=new A.NamedError("MochiKit.Base.NotFound");A.listMax=A.partial(A.listMinMax,1);A.listMin=A.partial(A.listMinMax,-1);A.isCallable=A.typeMatcher("function");A.isUndefined=A.typeMatcher("undefined");A.merge=A.partial(A.update,null);A.zip=A.partial(A.map,null);A.average=A.mean;A.comparatorRegistry=new A.AdapterRegistry();A.registerComparator("dateLike",A.isDateLike,A.compareDateLike);A.registerComparator("arrayLike",A.isArrayLike,A.compareArrayLike);A.reprRegistry=new A.AdapterRegistry();A.registerRepr("arrayLike",A.isArrayLike,A.reprArrayLike);A.registerRepr("string",A.typeMatcher("string"),A.reprString);A.registerRepr("numbers",A.typeMatcher("number","boolean"),A.reprNumber);A.jsonRegistry=new A.AdapterRegistry();var B=A.concat(A.EXPORT,A.EXPORT_OK);A.EXPORT_TAGS={":common":A.concat(A.EXPORT_OK),":all":B};A.nameFunctions(this)};MochiKit.Base.__new__();if(MochiKit.__export__){compare=MochiKit.Base.compare;compose=MochiKit.Base.compose;serializeJSON=MochiKit.Base.serializeJSON;mean=MochiKit.Base.mean;median=MochiKit.Base.median}MochiKit.Base._exportSymbols(this,MochiKit.Base);MochiKit.Base._deps("Iter",["Base"]);MochiKit.Iter.NAME="MochiKit.Iter";MochiKit.Iter.VERSION="1.5";MochiKit.Base.update(MochiKit.Iter,{__repr__:function(){return"["+this.NAME+" "+this.VERSION+"]"},toString:function(){return this.__repr__()},registerIteratorFactory:function(B,A,D,C){MochiKit.Iter.iteratorRegistry.register(B,A,D,C)},isIterable:function(A){return A!=null&&(typeof (A.next)=="function"||typeof (A.iter)=="function")},iter:function(D,C){var B=MochiKit.Iter;if(arguments.length==2){return B.takewhile(function(F){return F!=C},D)}if(typeof (D.next)=="function"){return D}else{if(typeof (D.iter)=="function"){return D.iter()}}try{return B.iteratorRegistry.match(D)}catch(E){var A=MochiKit.Base;if(E==A.NotFound){E=new TypeError(typeof (D)+": "+A.repr(D)+" is not iterable")}throw E}},count:function(B){if(!B){B=0}var A=MochiKit.Base;return{repr:function(){return"count("+B+")"},toString:A.forwardCall("repr"),next:A.counter(B)}},cycle:function(E){var C=MochiKit.Iter;var B=MochiKit.Base;var A=[];var D=C.iter(E);return{repr:function(){return"cycle(...)"},toString:B.forwardCall("repr"),next:function(){try{var H=D.next();A.push(H);return H}catch(G){if(G!=C.StopIteration){throw G}if(A.length===0){this.next=function(){throw C.StopIteration}}else{var F=-1;this.next=function(){F=(F+1)%A.length;return A[F]}}return this.next()}}}},repeat:function(B,C){var A=MochiKit.Base;if(typeof (C)=="undefined"){return{repr:function(){return"repeat("+A.repr(B)+")"},toString:A.forwardCall("repr"),next:function(){return B}}}return{repr:function(){return"repeat("+A.repr(B)+", "+C+")"},toString:A.forwardCall("repr"),next:function(){if(C<=0){throw MochiKit.Iter.StopIteration}C-=1;return B}}},next:function(A){return A.next()},izip:function(F,E){var A=MochiKit.Base;var C=MochiKit.Iter;var D=C.next;var B=A.map(C.iter,arguments);return{repr:function(){return"izip(...)"},toString:A.forwardCall("repr"),next:function(){return A.map(D,B)}}},ifilter:function(C,B){var A=MochiKit.Base;B=MochiKit.Iter.iter(B);if(C===null){C=A.operator.truth}return{repr:function(){return"ifilter(...)"},toString:A.forwardCall("repr"),next:function(){while(true){var D=B.next();if(C(D)){return D}}return undefined}}},ifilterfalse:function(C,B){var A=MochiKit.Base;B=MochiKit.Iter.iter(B);if(C===null){C=A.operator.truth}return{repr:function(){return"ifilterfalse(...)"},toString:A.forwardCall("repr"),next:function(){while(true){var D=B.next();if(!C(D)){return D}}return undefined}}},islice:function(C){var B=MochiKit.Iter;var A=MochiKit.Base;C=B.iter(C);var G=0;var E=0;var F=1;var D=-1;if(arguments.length==2){E=arguments[1]}else{if(arguments.length==3){G=arguments[1];E=arguments[2]}else{G=arguments[1];E=arguments[2];F=arguments[3]}}return{repr:function(){return"islice("+["...",G,E,F].join(", ")+")"},toString:A.forwardCall("repr"),next:function(){var H;while(D<G){H=C.next();D++}if(G>=E){throw B.StopIteration}G+=F;return H}}},imap:function(C,H,F){var A=MochiKit.Base;var D=MochiKit.Iter;var B=A.map(D.iter,A.extend(null,arguments,1));var G=A.map;var E=D.next;return{repr:function(){return"imap(...)"},toString:A.forwardCall("repr"),next:function(){return C.apply(this,G(E,B))}}},applymap:function(B,D,C){D=MochiKit.Iter.iter(D);var A=MochiKit.Base;return{repr:function(){return"applymap(...)"},toString:A.forwardCall("repr"),next:function(){return B.apply(C,D.next())}}},chain:function(E,D){var C=MochiKit.Iter;var B=MochiKit.Base;if(arguments.length==1){return C.iter(arguments[0])}var A=B.map(C.iter,arguments);return{repr:function(){return"chain(...)"},toString:B.forwardCall("repr"),next:function(){while(A.length>1){try{var G=A[0].next();return G}catch(H){if(H!=C.StopIteration){throw H}A.shift();var G=A[0].next();return G}}if(A.length==1){var F=A.shift();this.next=B.bind("next",F);return this.next()}throw C.StopIteration}}},takewhile:function(C,B){var A=MochiKit.Iter;B=A.iter(B);return{repr:function(){return"takewhile(...)"},toString:MochiKit.Base.forwardCall("repr"),next:function(){var D=B.next();if(!C(D)){this.next=function(){throw A.StopIteration};this.next()}return D}}},dropwhile:function(C,B){B=MochiKit.Iter.iter(B);var A=MochiKit.Base;var D=A.bind;return{repr:function(){return"dropwhile(...)"},toString:A.forwardCall("repr"),next:function(){while(true){var E=B.next();if(!C(E)){break}}this.next=D("next",B);return E}}},_tee:function(E,C,D){C.pos[E]=-1;var A=MochiKit.Base;var B=A.listMin;return{repr:function(){return"tee("+E+", ...)"},toString:A.forwardCall("repr"),next:function(){var G;var F=C.pos[E];if(F==C.max){G=D.next();C.deque.push(G);C.max+=1;C.pos[E]+=1}else{G=C.deque[F-C.min];C.pos[E]+=1;if(F==C.min&&B(C.pos)!=C.min){C.min+=1;C.deque.shift()}}return G}}},tee:function(E,G){var F=[];var D={pos:[],deque:[],max:-1,min:-1};if(arguments.length==1||typeof (G)=="undefined"||G===null){G=2}var B=MochiKit.Iter;E=B.iter(E);var A=B._tee;for(var C=0;C<G;C++){F.push(A(C,D,E))}return F},list:function(C){var E;if(C instanceof Array){return C.slice()}if(typeof (C)=="function"&&!(C instanceof Function)&&typeof (C.length)=="number"){E=[];for(var B=0;B<C.length;B++){E.push(C[B])}return E}var A=MochiKit.Iter;C=A.iter(C);var E=[];var F;try{while(true){F=C.next();E.push(F)}}catch(D){if(D!=A.StopIteration){throw D}return E}return undefined},reduce:function(E,F,C){var D=0;var A=C;var B=MochiKit.Iter;F=B.iter(F);if(arguments.length<3){try{A=F.next()}catch(G){if(G==B.StopIteration){G=new TypeError("reduce() of empty sequence with no initial value")}throw G}D++}try{while(true){A=E(A,F.next())}}catch(G){if(G!=B.StopIteration){throw G}}return A},range:function(){var C=0;var A=0;var B=1;if(arguments.length==1){A=arguments[0]}else{if(arguments.length==2){C=arguments[0];A=arguments[1]}else{if(arguments.length==3){C=arguments[0];A=arguments[1];B=arguments[2]}else{throw new TypeError("range() takes 1, 2, or 3 arguments!")}}}if(B===0){throw new TypeError("range() step must not be 0")}return{next:function(){if((B>0&&C>=A)||(B<0&&C<=A)){throw MochiKit.Iter.StopIteration}var D=C;C+=B;return D},repr:function(){return"range("+[C,A,B].join(", ")+")"},toString:MochiKit.Base.forwardCall("repr")}},sum:function(C,E){if(typeof (E)=="undefined"||E===null){E=0}var A=E;var B=MochiKit.Iter;C=B.iter(C);try{while(true){A+=C.next()}}catch(D){if(D!=B.StopIteration){throw D}}return A},exhaust:function(B){var A=MochiKit.Iter;B=A.iter(B);try{while(true){B.next()}}catch(C){if(C!=A.StopIteration){throw C}}},forEach:function(E,D,G){var A=MochiKit.Base;var B=MochiKit.Iter;if(arguments.length>2){D=A.bind(D,G)}if(A.isArrayLike(E)&&!B.isIterable(E)){try{for(var C=0;C<E.length;C++){D(E[C])}}catch(F){if(F!=B.StopIteration){throw F}}}else{B.exhaust(B.imap(D,E))}},every:function(C,B){var A=MochiKit.Iter;try{A.ifilterfalse(B,C).next();return false}catch(D){if(D!=A.StopIteration){throw D}return true}},sorted:function(B,A){var C=MochiKit.Iter.list(B);if(arguments.length==1){A=MochiKit.Base.compare}C.sort(A);return C},reversed:function(A){var B=MochiKit.Iter.list(A);B.reverse();return B},some:function(C,B){var A=MochiKit.Iter;try{A.ifilter(B,C).next();return true}catch(D){if(D!=A.StopIteration){throw D}return false}},iextend:function(B,E){var A=MochiKit.Base;var C=MochiKit.Iter;if(A.isArrayLike(E)&&!C.isIterable(E)){for(var D=0;D<E.length;D++){B.push(E[D])}}else{E=C.iter(E);try{while(true){B.push(E.next())}}catch(F){if(F!=C.StopIteration){throw F}}}return B},groupby:function(D,I){var E=MochiKit.Base;var K=MochiKit.Iter;if(arguments.length<2){I=E.operator.identity}D=K.iter(D);var G=undefined;var F=undefined;var J;function A(){J=D.next();F=I(J)}function C(){var L=J;J=undefined;return L}var H=true;var B=E.compare;return{repr:function(){return"groupby(...)"},next:function(){while(B(F,G)===0){A();if(H){H=false;break}}G=F;return[F,{next:function(){if(J==undefined){A()}if(B(F,G)!==0){throw K.StopIteration}return C()}}]}}},groupby_as_array:function(B,G){var C=MochiKit.Base;var K=MochiKit.Iter;if(arguments.length<2){G=C.operator.identity}B=K.iter(B);var L=[];var D=true;var E;var A=C.compare;while(true){try{var H=B.next();var J=G(H)}catch(F){if(F==K.StopIteration){break}throw F}if(D||A(J,E)!==0){var I=[];L.push([J,I])}I.push(H);D=false;E=J}return L},arrayLikeIter:function(B){var A=0;return{repr:function(){return"arrayLikeIter(...)"},toString:MochiKit.Base.forwardCall("repr"),next:function(){if(A>=B.length){throw MochiKit.Iter.StopIteration}return B[A++]}}},hasIterateNext:function(A){return(A&&typeof (A.iterateNext)=="function")},iterateNextIter:function(A){return{repr:function(){return"iterateNextIter(...)"},toString:MochiKit.Base.forwardCall("repr"),next:function(){var B=A.iterateNext();if(B===null||B===undefined){throw MochiKit.Iter.StopIteration}return B}}}});MochiKit.Iter.EXPORT_OK=["iteratorRegistry","arrayLikeIter","hasIterateNext","iterateNextIter"];MochiKit.Iter.EXPORT=["StopIteration","registerIteratorFactory","iter","count","cycle","repeat","next","izip","ifilter","ifilterfalse","islice","imap","applymap","chain","takewhile","dropwhile","tee","list","reduce","range","sum","exhaust","forEach","every","sorted","reversed","some","iextend","groupby","groupby_as_array"];MochiKit.Iter.__new__=function(){var A=MochiKit.Base;if(typeof (StopIteration)!="undefined"){this.StopIteration=StopIteration}else{this.StopIteration=new A.NamedError("StopIteration")}this.iteratorRegistry=new A.AdapterRegistry();this.registerIteratorFactory("arrayLike",A.isArrayLike,this.arrayLikeIter);this.registerIteratorFactory("iterateNext",this.hasIterateNext,this.iterateNextIter);this.EXPORT_TAGS={":common":this.EXPORT,":all":A.concat(this.EXPORT,this.EXPORT_OK)};A.nameFunctions(this)};MochiKit.Iter.__new__();if(MochiKit.__export__){reduce=MochiKit.Iter.reduce}MochiKit.Base._exportSymbols(this,MochiKit.Iter);MochiKit.Base._deps("DOM",["Base"]);MochiKit.DOM.NAME="MochiKit.DOM";MochiKit.DOM.VERSION="1.5";MochiKit.DOM.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]"};MochiKit.DOM.toString=function(){return this.__repr__()};MochiKit.DOM.EXPORT=["removeEmptyTextNodes","formContents","currentWindow","currentDocument","withWindow","withDocument","registerDOMConverter","coerceToDOM","createDOM","createDOMFunc","isChildNode","getNodeAttribute","removeNodeAttribute","setNodeAttribute","updateNodeAttributes","appendChildNodes","insertSiblingNodesAfter","insertSiblingNodesBefore","replaceChildNodes","removeElement","swapDOM","BUTTON","TT","PRE","H1","H2","H3","H4","H5","H6","BR","CANVAS","HR","LABEL","TEXTAREA","FORM","STRONG","SELECT","OPTION","OPTGROUP","LEGEND","FIELDSET","P","UL","OL","LI","DL","DT","DD","TD","TR","THEAD","TBODY","TFOOT","TABLE","TH","INPUT","SPAN","A","DIV","IMG","getElement","$","getElementsByTagAndClassName","addToCallStack","addLoadEvent","focusOnLoad","setElementClass","toggleElementClass","addElementClass","removeElementClass","swapElementClass","hasElementClass","computedStyle","escapeHTML","toHTML","emitHTML","scrapeText","getFirstParentByTagAndClassName","getFirstElementByTagAndClassName"];MochiKit.DOM.EXPORT_OK=["domConverters"];MochiKit.DOM.DEPRECATED=[["computedStyle","MochiKit.Style.getStyle","1.4"],["elementDimensions","MochiKit.Style.getElementDimensions","1.4"],["elementPosition","MochiKit.Style.getElementPosition","1.4"],["getViewportDimensions","MochiKit.Style.getViewportDimensions","1.4"],["hideElement","MochiKit.Style.hideElement","1.4"],["makeClipping","MochiKit.Style.makeClipping","1.4.1"],["makePositioned","MochiKit.Style.makePositioned","1.4.1"],["setElementDimensions","MochiKit.Style.setElementDimensions","1.4"],["setElementPosition","MochiKit.Style.setElementPosition","1.4"],["setDisplayForElement","MochiKit.Style.setDisplayForElement","1.4"],["setOpacity","MochiKit.Style.setOpacity","1.4"],["showElement","MochiKit.Style.showElement","1.4"],["undoClipping","MochiKit.Style.undoClipping","1.4.1"],["undoPositioned","MochiKit.Style.undoPositioned","1.4.1"],["Coordinates","MochiKit.Style.Coordinates","1.4"],["Dimensions","MochiKit.Style.Dimensions","1.4"]];MochiKit.Base.update(MochiKit.DOM,{currentWindow:function(){return MochiKit.DOM._window},currentDocument:function(){return MochiKit.DOM._document},withWindow:function(G,D){var C=MochiKit.DOM;var B=C._document;var A=C._window;var F;try{C._window=G;C._document=G.document;F=D()}catch(E){C._window=A;C._document=B;throw E}C._window=A;C._document=B;return F},formContents:function(D){var E=[];var C=[];var A=MochiKit.Base;var B=MochiKit.DOM;if(typeof (D)=="undefined"||D===null){D=B._document.body}else{D=B.getElement(D)}A.nodeWalk(D,function(M){var G=M.name;if(A.isNotEmpty(G)){var J=M.tagName.toUpperCase();if(J==="INPUT"&&(M.type=="radio"||M.type=="checkbox")&&!M.checked){return null}if(J==="SELECT"){if(M.type=="select-one"){if(M.selectedIndex>=0){var I=M.options[M.selectedIndex];var F=I.value;if(!F){var K=I.outerHTML;if(K&&!K.match(/^[^>]+\svalue\s*=/i)){F=I.text}}E.push(G);C.push(F);return null}E.push(G);C.push("");return null}else{var L=M.options;if(!L.length){E.push(G);C.push("");return null}for(var H=0;H<L.length;H++){var I=L[H];if(!I.selected){continue}var F=I.value;if(!F){var K=I.outerHTML;if(K&&!K.match(/^[^>]+\svalue\s*=/i)){F=I.text}}E.push(G);C.push(F)}return null}}if(J==="FORM"||J==="P"||J==="SPAN"||J==="DIV"){return M.childNodes}E.push(G);C.push(M.value||"");return null}return M.childNodes});return[E,C]},withDocument:function(F,C){var B=MochiKit.DOM;var A=B._document;var E;try{B._document=F;E=C()}catch(D){B._document=A;throw D}B._document=A;return E},registerDOMConverter:function(B,A,D,C){MochiKit.DOM.domConverters.register(B,A,D,C)},coerceToDOM:function(D,M){var E=MochiKit.Base;var I=MochiKit.Iter;var L=MochiKit.DOM;if(I){var J=I.iter;var B=I.repeat;var A=E.map}var K=L.domConverters;var C=arguments.callee;var G=E.NotFound;while(true){if(typeof (D)=="undefined"||D===null){return null}if(typeof (D)=="function"&&typeof (D.length)=="number"&&!(D instanceof Function)){D=I.list(D)}if(typeof (D.nodeType)!="undefined"&&D.nodeType>0){return D}if(typeof (D)=="number"||typeof (D)=="boolean"){D=D.toString()}if(typeof (D)=="string"){return L._document.createTextNode(D)}if(typeof (D.__dom__)=="function"){D=D.__dom__(M);continue}if(typeof (D.dom)=="function"){D=D.dom(M);continue}if(typeof (D)=="function"){D=D.apply(M,[M]);continue}if(I){var F=null;try{F=J(D)}catch(H){}if(F){return A(C,F,B(M))}}try{D=K.match(D,M);continue}catch(H){if(H!=G){throw H}}return L._document.createTextNode(D.toString())}return undefined},isChildNode:function(B,C){var A=MochiKit.DOM;if(typeof (B)=="string"){B=A.getElement(B)}if(typeof (C)=="string"){C=A.getElement(C)}if(typeof (B)=="undefined"||B===null){return false}while(B!=null&&B!==A._document){if(B===C){return true}B=B.parentNode}return false},setNodeAttribute:function(B,A,C){var E={};E[A]=C;try{return MochiKit.DOM.updateNodeAttributes(B,E)}catch(D){}return null},getNodeAttribute:function(E,A){var D=MochiKit.DOM;var C=D.attributeArray.renames[A];var B=D.attributeArray.ignoreAttr[A];E=D.getElement(E);try{if(C){return E[C]}var F=E.getAttribute(A);if(F!=B){return F}}catch(G){}return null},removeNodeAttribute:function(D,A){var C=MochiKit.DOM;var B=C.attributeArray.renames[A];D=C.getElement(D);try{if(B){return D[B]}return D.removeAttribute(A)}catch(E){}return null},updateNodeAttributes:function(B,F){var C=B;var I=MochiKit.DOM;if(typeof (B)=="string"){C=I.getElement(B)}if(F){var H=MochiKit.Base.updatetree;if(I.attributeArray.compliant){for(var D in F){var G=F[D];if(typeof (G)=="object"&&typeof (C[D])=="object"){if(D=="style"&&MochiKit.Style){MochiKit.Style.setStyle(C,G)}else{H(C[D],G)}}else{if(D.substring(0,2)=="on"){if(typeof (G)=="string"){G=new Function(G)}C[D]=G}else{C.setAttribute(D,G)}}if(typeof (C[D])=="string"&&C[D]!=G){C[D]=G}}}else{var E=I.attributeArray.renames;for(var D in F){G=F[D];var A=E[D];if(D=="style"&&typeof (G)=="string"){C.style.cssText=G}else{if(typeof (A)=="string"){C[A]=G}else{if(typeof (C[D])=="object"&&typeof (G)=="object"){if(D=="style"&&MochiKit.Style){MochiKit.Style.setStyle(C,G)}else{H(C[D],G)}}else{if(D.substring(0,2)=="on"){if(typeof (G)=="string"){G=new Function(G)}C[D]=G}else{C.setAttribute(D,G)}}}}if(typeof (C[D])=="string"&&C[D]!=G){C[D]=G}}}}return C},appendChildNodes:function(C){var B=C;var A=MochiKit.DOM;if(typeof (C)=="string"){B=A.getElement(C)}var D=[A.coerceToDOM(MochiKit.Base.extend(null,arguments,1),B)];var E=MochiKit.Base.concat;while(D.length){var F=D.shift();if(typeof (F)=="undefined"||F===null){}else{if(typeof (F.nodeType)=="number"){B.appendChild(F)}else{D=E(F,D)}}}return B},insertSiblingNodesBefore:function(D){var C=D;var A=MochiKit.DOM;if(typeof (D)=="string"){C=A.getElement(D)}var E=[A.coerceToDOM(MochiKit.Base.extend(null,arguments,1),C)];var B=C.parentNode;var F=MochiKit.Base.concat;while(E.length){var G=E.shift();if(typeof (G)=="undefined"||G===null){}else{if(typeof (G.nodeType)=="number"){B.insertBefore(G,C)}else{E=F(G,E)}}}return B},insertSiblingNodesAfter:function(C){var B=C;var A=MochiKit.DOM;if(typeof (C)=="string"){B=A.getElement(C)}var D=[A.coerceToDOM(MochiKit.Base.extend(null,arguments,1),B)];if(B.nextSibling){return A.insertSiblingNodesBefore(B.nextSibling,D)}else{return A.appendChildNodes(B.parentNode,D)}},replaceChildNodes:function(C){var B=C;var A=MochiKit.DOM;if(typeof (C)=="string"){B=A.getElement(C);arguments[0]=B}var D;while((D=B.firstChild)){B.removeChild(D)}if(arguments.length<2){return B}else{return A.appendChildNodes.apply(this,arguments)}},createDOM:function(B,H){var C;var I=MochiKit.DOM;var E=MochiKit.Base;if(typeof (H)=="string"||typeof (H)=="number"){var G=E.extend([B,null],arguments,1);return arguments.callee.apply(this,G)}if(typeof (B)=="string"){var A=I._xhtml;if(H&&!I.attributeArray.compliant){var D="";if("name" in H){D+=' name="'+I.escapeHTML(H.name)+'"'}if(B=="input"&&"type" in H){D+=' type="'+I.escapeHTML(H.type)+'"'}if(D){B="<"+B+D+">";A=false}}var F=I._document;if(A&&F===document){C=F.createElementNS("http://www.w3.org/1999/xhtml",B)}else{C=F.createElement(B)}}else{C=B}if(H){I.updateNodeAttributes(C,H)}if(arguments.length<=2){return C}else{var G=E.extend([C],arguments,2);return I.appendChildNodes.apply(this,G)}},createDOMFunc:function(){var A=MochiKit.Base;return A.partial.apply(this,A.extend([MochiKit.DOM.createDOM],arguments))},removeElement:function(B){var A=MochiKit.DOM;var C=A.coerceToDOM(A.getElement(B));C.parentNode.removeChild(C);return C},swapDOM:function(B,D){var A=MochiKit.DOM;B=A.getElement(B);var C=B.parentNode;if(D){D=A.coerceToDOM(A.getElement(D),C);C.replaceChild(D,B)}else{C.removeChild(B)}return D},getElement:function(B){var A=MochiKit.DOM;if(arguments.length==1){return((typeof (B)=="string")?A._document.getElementById(B):B)}else{return MochiKit.Base.map(A.getElement,arguments)}},getElementsByTagAndClassName:function(E,H,I){var K=MochiKit.DOM;if(typeof (E)=="undefined"||E===null){E="*"}if(typeof (I)=="undefined"||I===null){I=K._document}I=K.getElement(I);if(I==null){return[]}var D=(I.getElementsByTagName(E)||K._document.all);if(typeof (H)=="undefined"||H===null){return MochiKit.Base.extend(null,D)}var B=[];for(var G=0;G<D.length;G++){var C=D[G];var J=C.className;if(typeof (J)!="string"){J=C.getAttribute("class")}if(typeof (J)=="string"){var A=J.split(" ");for(var F=0;F<A.length;F++){if(A[F]==H){B.push(C);break}}}}return B},_newCallStack:function(C,A){var B=function(){var D=arguments.callee.callStack;for(var E=0;E<D.length;E++){if(D[E].apply(this,arguments)===false){break}}if(A){try{this[C]=null}catch(F){}}};B.callStack=[];return B},addToCallStack:function(G,F,E,C){var B=MochiKit.DOM;var D=G[F];var A=D;if(!(typeof (D)=="function"&&typeof (D.callStack)=="object"&&D.callStack!==null)){A=B._newCallStack(F,C);if(typeof (D)=="function"){A.callStack.push(D)}G[F]=A}A.callStack.push(E)},addLoadEvent:function(B){var A=MochiKit.DOM;A.addToCallStack(A._window,"onload",B,true)},focusOnLoad:function(B){var A=MochiKit.DOM;A.addLoadEvent(function(){B=A.getElement(B);if(B){B.focus()}})},setElementClass:function(B,C){var A=MochiKit.DOM;var D=A.getElement(B);if(A.attributeArray.compliant){D.setAttribute("class",C)}else{D.setAttribute("className",C)}},toggleElementClass:function(C){var A=MochiKit.DOM;for(var B=1;B<arguments.length;B++){var D=A.getElement(arguments[B]);if(!A.addElementClass(D,C)){A.removeElementClass(D,C)}}},addElementClass:function(E,F){var B=MochiKit.DOM;var G=B.getElement(E);var A=G.className;if(typeof (A)!="string"){A=G.getAttribute("class")}if(typeof (A)!="string"||A.length===0){B.setElementClass(G,F);return true}if(A==F){return false}var D=A.split(" ");for(var C=0;C<D.length;C++){if(D[C]==F){return false}}B.setElementClass(G,A+" "+F);return true},removeElementClass:function(E,F){var B=MochiKit.DOM;var G=B.getElement(E);var A=G.className;if(typeof (A)!="string"){A=G.getAttribute("class")}if(typeof (A)!="string"||A.length===0){return false}if(A==F){B.setElementClass(G,"");return true}var D=A.split(" ");for(var C=0;C<D.length;C++){if(D[C]==F){D.splice(C,1);B.setElementClass(G,D.join(" "));return true}}return false},swapElementClass:function(C,E,A){var D=MochiKit.DOM.getElement(C);var B=MochiKit.DOM.removeElementClass(D,E);if(B){MochiKit.DOM.addElementClass(D,A)}return B},hasElementClass:function(E,F){var H=MochiKit.DOM.getElement(E);if(H==null){return false}var A=H.className;if(typeof (A)!="string"){A=H.getAttribute("class")}if(typeof (A)!="string"){return false}var D=A.split(" ");for(var C=1;C<arguments.length;C++){var G=false;for(var B=0;B<D.length;B++){if(D[B]==arguments[C]){G=true;break}}if(!G){return false}}return true},escapeHTML:function(A){return A.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},toHTML:function(A){return MochiKit.DOM.emitHTML(A).join("")},emitHTML:function(C,F){if(typeof (F)=="undefined"||F===null){F=[]}var H=[C];var M=MochiKit.DOM;var L=M.escapeHTML;var A=M.attributeArray;while(H.length){C=H.pop();if(typeof (C)=="string"){F.push(C)}else{if(C.nodeType==1){F.push("<"+C.tagName.toLowerCase());var D=[];var I=A(C);for(var E=0;E<I.length;E++){var J=I[E];D.push([" ",J.name,'="',L(J.value),'"'])}D.sort();for(E=0;E<D.length;E++){var K=D[E];for(var B=0;B<K.length;B++){F.push(K[B])}}if(C.hasChildNodes()){F.push(">");H.push("</"+C.tagName.toLowerCase()+">");var G=C.childNodes;for(E=G.length-1;E>=0;E--){H.push(G[E])}}else{F.push("/>")}}else{if(C.nodeType==3){F.push(L(C.nodeValue))}}}}return F},scrapeText:function(B,A){var C=[];(function(F){var G=F.childNodes;if(G){for(var E=0;E<G.length;E++){arguments.callee.call(this,G[E])}}var D=F.nodeValue;if(typeof (D)=="string"){C.push(D)}})(MochiKit.DOM.getElement(B));if(A){return C}else{return C.join("")}},removeEmptyTextNodes:function(B){B=MochiKit.DOM.getElement(B);for(var A=0;A<B.childNodes.length;A++){var C=B.childNodes[A];if(C.nodeType==3&&!/\S/.test(C.nodeValue)){C.parentNode.removeChild(C)}}},getFirstElementByTagAndClassName:function(D,G,H){var I=MochiKit.DOM;if(typeof (D)=="undefined"||D===null){D="*"}if(typeof (H)=="undefined"||H===null){H=I._document}H=I.getElement(H);if(H==null){return null}var C=(H.getElementsByTagName(D)||I._document.all);if(C.length<=0){return null}else{if(typeof (G)=="undefined"||G===null){return C[0]}}for(var F=0;F<C.length;F++){var B=C[F];var J=B.className;if(typeof (J)!="string"){J=B.getAttribute("class")}if(typeof (J)=="string"){var A=J.split(" ");for(var E=0;E<A.length;E++){if(A[E]==G){return B}}}}return null},getFirstParentByTagAndClassName:function(E,C,D){var A=MochiKit.DOM;E=A.getElement(E);if(typeof (C)=="undefined"||C===null){C="*"}else{C=C.toUpperCase()}if(typeof (D)=="undefined"||D===null){D=null}if(E){E=E.parentNode}while(E&&E.tagName){var B=E.tagName.toUpperCase();if((C==="*"||C==B)&&(D===null||A.hasElementClass(E,D))){return E}E=E.parentNode}return null},__new__:function(I){var E=MochiKit.Base;if(typeof (document)!="undefined"){this._document=document;var D="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";this._xhtml=(document.documentElement&&document.createElementNS&&document.documentElement.namespaceURI===D)}else{if(MochiKit.MockDOM){this._document=MochiKit.MockDOM.document}}this._window=I;this.domConverters=new E.AdapterRegistry();var K=this._document.createElement("span");var A;if(K&&K.attributes&&K.attributes.length>0){var B=E.filter;A=function(M){return B(A.ignoreAttrFilter,M.attributes)};A.ignoreAttr={};var L=K.attributes;var F=A.ignoreAttr;for(var H=0;H<L.length;H++){var J=L[H];F[J.name]=J.value}A.ignoreAttrFilter=function(M){return(A.ignoreAttr[M.name]!=M.value)};A.compliant=false;A.renames={"class":"className",checked:"defaultChecked",usemap:"useMap","for":"htmlFor",readonly:"readOnly",colspan:"colSpan",bgcolor:"bgColor",cellspacing:"cellSpacing",cellpadding:"cellPadding"}}else{A=function(M){return M.attributes};A.compliant=true;A.ignoreAttr={};A.renames={}}this.attributeArray=A;var G=function(R,M){var O=M[0];var N=M[1];var Q=N.split(".")[1];var P="";P+="if (!MochiKit."+Q+') { throw new Error("';P+="This function has been deprecated and depends on MochiKit.";P+=Q+'.");}';P+="return "+N+".apply(this, arguments);";MochiKit[R][O]=new Function(P)};for(var H=0;H<MochiKit.DOM.DEPRECATED.length;H++){G("DOM",MochiKit.DOM.DEPRECATED[H])}var C=this.createDOMFunc;this.UL=C("ul");this.OL=C("ol");this.LI=C("li");this.DL=C("dl");this.DT=C("dt");this.DD=C("dd");this.TD=C("td");this.TR=C("tr");this.TBODY=C("tbody");this.THEAD=C("thead");this.TFOOT=C("tfoot");this.TABLE=C("table");this.TH=C("th");this.INPUT=C("input");this.SPAN=C("span");this.A=C("a");this.DIV=C("div");this.IMG=C("img");this.BUTTON=C("button");this.TT=C("tt");this.PRE=C("pre");this.H1=C("h1");this.H2=C("h2");this.H3=C("h3");this.H4=C("h4");this.H5=C("h5");this.H6=C("h6");this.BR=C("br");this.HR=C("hr");this.LABEL=C("label");this.TEXTAREA=C("textarea");this.FORM=C("form");this.P=C("p");this.SELECT=C("select");this.OPTION=C("option");this.OPTGROUP=C("optgroup");this.LEGEND=C("legend");this.FIELDSET=C("fieldset");this.STRONG=C("strong");this.CANVAS=C("canvas");this.$=this.getElement;this.EXPORT_TAGS={":common":this.EXPORT,":all":E.concat(this.EXPORT,this.EXPORT_OK)};E.nameFunctions(this)}});MochiKit.DOM.__new__(((typeof (window)=="undefined")?this:window));if(MochiKit.__export__){withWindow=MochiKit.DOM.withWindow;withDocument=MochiKit.DOM.withDocument}MochiKit.Base._exportSymbols(this,MochiKit.DOM);MochiKit.Base._deps("Style",["Base","DOM"]);MochiKit.Style.NAME="MochiKit.Style";MochiKit.Style.VERSION="1.5";MochiKit.Style.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]"};MochiKit.Style.toString=function(){return this.__repr__()};MochiKit.Style.EXPORT_OK=[];MochiKit.Style.EXPORT=["setStyle","setOpacity","getStyle","getElementDimensions","elementDimensions","setElementDimensions","getElementPosition","elementPosition","setElementPosition","makePositioned","undoPositioned","makeClipping","undoClipping","setDisplayForElement","hideElement","showElement","getViewportDimensions","getViewportPosition","Dimensions","Coordinates"];MochiKit.Style.Dimensions=function(A,B){this.w=A;this.h=B};MochiKit.Style.Dimensions.prototype.__repr__=function(){var A=MochiKit.Base.repr;return"{w: "+A(this.w)+", h: "+A(this.h)+"}"};MochiKit.Style.Dimensions.prototype.toString=function(){return this.__repr__()};MochiKit.Style.Coordinates=function(A,B){this.x=A;this.y=B};MochiKit.Style.Coordinates.prototype.__repr__=function(){var A=MochiKit.Base.repr;return"{x: "+A(this.x)+", y: "+A(this.y)+"}"};MochiKit.Style.Coordinates.prototype.toString=function(){return this.__repr__()};MochiKit.Base.update(MochiKit.Style,{getStyle:function(B,H){var C=MochiKit.DOM;var G=C._document;B=C.getElement(B);H=MochiKit.Base.camelize(H);if(!B||B==G){return undefined}if(H=="opacity"&&typeof (B.filters)!="undefined"){var F=(MochiKit.Style.getStyle(B,"filter")||"").match(/alpha\(opacity=(.*)\)/);if(F&&F[1]){return parseFloat(F[1])/100}return 1}if(H=="float"||H=="cssFloat"||H=="styleFloat"){if(B.style["float"]){return B.style["float"]}else{if(B.style.cssFloat){return B.style.cssFloat}else{if(B.style.styleFloat){return B.style.styleFloat}else{return"none"}}}}var I=B.style?B.style[H]:null;if(!I){if(G.defaultView&&G.defaultView.getComputedStyle){var D=G.defaultView.getComputedStyle(B,null);H=H.replace(/([A-Z])/g,"-$1").toLowerCase();I=D?D.getPropertyValue(H):null}else{if(B.currentStyle){I=B.currentStyle[H];if(/^\d/.test(I)&&!/px$/.test(I)&&H!="fontWeight"){var A=B.style.left;var E=B.runtimeStyle.left;B.runtimeStyle.left=B.currentStyle.left;B.style.left=I||0;I=B.style.pixelLeft+"px";B.style.left=A;B.runtimeStyle.left=E}}}}if(H=="opacity"){I=parseFloat(I)}if(/Opera/.test(navigator.userAgent)&&(MochiKit.Base.findValue(["left","top","right","bottom"],H)!=-1)){if(MochiKit.Style.getStyle(B,"position")=="static"){I="auto"}}return I=="auto"?null:I},setStyle:function(C,B){C=MochiKit.DOM.getElement(C);for(var A in B){switch(A){case"opacity":MochiKit.Style.setOpacity(C,B[A]);break;case"float":case"cssFloat":case"styleFloat":if(typeof (C.style["float"])!="undefined"){C.style["float"]=B[A]}else{if(typeof (C.style.cssFloat)!="undefined"){C.style.cssFloat=B[A]}else{C.style.styleFloat=B[A]}}break;default:C.style[MochiKit.Base.camelize(A)]=B[A]}}},setOpacity:function(C,D){C=MochiKit.DOM.getElement(C);var A=MochiKit.Style;if(D==1){var B=/Gecko/.test(navigator.userAgent)&&!(/Konqueror|AppleWebKit|KHTML/.test(navigator.userAgent));C.style.opacity=B?0.999999:1;if(/MSIE/.test(navigator.userAgent)){C.style.filter=A.getStyle(C,"filter").replace(/alpha\([^\)]*\)/gi,"")}}else{if(D<0.00001){D=0}C.style.opacity=D;if(/MSIE/.test(navigator.userAgent)){C.style.filter=A.getStyle(C,"filter").replace(/alpha\([^\)]*\)/gi,"")+"alpha(opacity="+D*100+")"}}},getElementPosition:function(C,D){var M=MochiKit.Style;var E=MochiKit.DOM;C=E.getElement(C);if(!C||(!(C.x&&C.y)&&(!C.parentNode===null||M.getStyle(C,"display")=="none"))){return undefined}var H=new M.Coordinates(0,0);var F=null;var K=null;var G=MochiKit.DOM._document;var J=G.documentElement;var I=G.body;if(!C.parentNode&&C.x&&C.y){H.x+=C.x||0;H.y+=C.y||0}else{if(C.getBoundingClientRect){F=C.getBoundingClientRect();H.x+=F.left+(J.scrollLeft||I.scrollLeft)-(J.clientLeft||0);H.y+=F.top+(J.scrollTop||I.scrollTop)-(J.clientTop||0)}else{if(C.offsetParent){H.x+=C.offsetLeft;H.y+=C.offsetTop;K=C.offsetParent;if(K!=C){while(K){H.x+=parseInt(K.style.borderLeftWidth)||0;H.y+=parseInt(K.style.borderTopWidth)||0;H.x+=K.offsetLeft;H.y+=K.offsetTop;K=K.offsetParent}}var A=navigator.userAgent.toLowerCase();if((typeof (opera)!="undefined"&&parseFloat(opera.version())<9)||(A.indexOf("AppleWebKit")!=-1&&M.getStyle(C,"position")=="absolute")){H.x-=I.offsetLeft;H.y-=I.offsetTop}if(C.parentNode){K=C.parentNode}else{K=null}while(K){var B=K.tagName.toUpperCase();if(B==="BODY"||B==="HTML"){break}var L=M.getStyle(K,"display");if(L.search(/^inline|table-row.*$/i)){H.x-=K.scrollLeft;H.y-=K.scrollTop}if(K.parentNode){K=K.parentNode}else{K=null}}}}}if(typeof (D)!="undefined"){D=arguments.callee(D);if(D){H.x-=(D.x||0);H.y-=(D.y||0)}}return H},setElementPosition:function(E,B,A){E=MochiKit.DOM.getElement(E);if(typeof (A)=="undefined"){A="px"}var D={};var C=MochiKit.Base.isUndefinedOrNull;if(!C(B.x)){D.left=B.x+A}if(!C(B.y)){D.top=B.y+A}MochiKit.DOM.updateNodeAttributes(E,{style:D})},makePositioned:function(A){A=MochiKit.DOM.getElement(A);var B=MochiKit.Style.getStyle(A,"position");if(B=="static"||!B){A.style.position="relative";if(/Opera/.test(navigator.userAgent)){A.style.top=0;A.style.left=0}}},undoPositioned:function(A){A=MochiKit.DOM.getElement(A);if(A.style.position=="relative"){A.style.position=A.style.top=A.style.left=A.style.bottom=A.style.right=""}},makeClipping:function(B){B=MochiKit.DOM.getElement(B);var C=B.style;var A={overflow:C.overflow,"overflow-x":C.overflowX,"overflow-y":C.overflowY};if((MochiKit.Style.getStyle(B,"overflow")||"visible")!="hidden"){B.style.overflow="hidden";B.style.overflowX="hidden";B.style.overflowY="hidden"}return A},undoClipping:function(A,B){A=MochiKit.DOM.getElement(A);if(typeof (B)=="string"){A.style.overflow=B}else{if(B!=null){A.style.overflow=B.overflow;A.style.overflowX=B["overflow-x"];A.style.overflowY=B["overflow-y"]}}},getElementDimensions:function(E,D){var N=MochiKit.Style;var F=MochiKit.DOM;if(typeof (E.w)=="number"||typeof (E.h)=="number"){return new N.Dimensions(E.w||0,E.h||0)}E=F.getElement(E);if(!E){return undefined}var L=N.getStyle(E,"display");if(L=="none"||L==""||typeof (L)=="undefined"){var P=E.style;var M=P.visibility;var H=P.position;var C=P.display;P.visibility="hidden";P.position="absolute";P.display=N._getDefaultDisplay(E);var B=E.offsetWidth;var G=E.offsetHeight;P.display=C;P.position=H;P.visibility=M}else{B=E.offsetWidth||0;G=E.offsetHeight||0}if(D){var J="colSpan" in E&&"rowSpan" in E;var K=(J&&E.parentNode&&N.getStyle(E.parentNode,"borderCollapse")=="collapse");if(K){if(/MSIE/.test(navigator.userAgent)){var O=E.previousSibling?0.5:1;var A=E.nextSibling?0.5:1}else{var O=0.5;var A=0.5}}else{var O=1;var A=1}B-=Math.round((parseFloat(N.getStyle(E,"paddingLeft"))||0)+(parseFloat(N.getStyle(E,"paddingRight"))||0)+O*(parseFloat(N.getStyle(E,"borderLeftWidth"))||0)+A*(parseFloat(N.getStyle(E,"borderRightWidth"))||0));if(J){if(/Gecko|Opera/.test(navigator.userAgent)&&!/Konqueror|AppleWebKit|KHTML/.test(navigator.userAgent)){var I=0}else{if(/MSIE/.test(navigator.userAgent)){var I=1}else{var I=K?0.5:1}}}else{var I=1}G-=Math.round((parseFloat(N.getStyle(E,"paddingTop"))||0)+(parseFloat(N.getStyle(E,"paddingBottom"))||0)+I*((parseFloat(N.getStyle(E,"borderTopWidth"))||0)+(parseFloat(N.getStyle(E,"borderBottomWidth"))||0)))}return new N.Dimensions(B,G)},setElementDimensions:function(E,B,A){E=MochiKit.DOM.getElement(E);if(typeof (A)=="undefined"){A="px"}var D={};var C=MochiKit.Base.isUndefinedOrNull;if(!C(B.w)){D.width=B.w+A}if(!C(B.h)){D.height=B.h+A}MochiKit.DOM.updateNodeAttributes(E,{style:D})},_getDefaultDisplay:function(C){var A=MochiKit.Style;var D=MochiKit.DOM;C=D.getElement(C);if(!C){return undefined}var B=C.tagName.toUpperCase();return A._defaultDisplay[B]||"block"},setDisplayForElement:function(E,B){var D=MochiKit.Base.extend(null,arguments,1);var C=MochiKit.DOM.getElement;for(var A=0;A<D.length;A++){B=C(D[A]);if(B){B.style.display=E}}},getViewportDimensions:function(){var C=new MochiKit.Style.Dimensions();var B=MochiKit.DOM._window;var A=MochiKit.DOM._document.body;if(B.innerWidth){C.w=B.innerWidth;C.h=B.innerHeight}else{if(A.parentElement.clientWidth){C.w=A.parentElement.clientWidth;C.h=A.parentElement.clientHeight}else{if(A&&A.clientWidth){C.w=A.clientWidth;C.h=A.clientHeight}}}return C},getViewportPosition:function(){var D=new MochiKit.Style.Coordinates(0,0);var B=MochiKit.DOM._document;var C=B.documentElement;var A=B.body;if(C&&(C.scrollTop||C.scrollLeft)){D.x=C.scrollLeft;D.y=C.scrollTop}else{if(A){D.x=A.scrollLeft;D.y=A.scrollTop}}return D},__new__:function(){var A=MochiKit.Base;var D=["A","ABBR","ACRONYM","B","BASEFONT","BDO","BIG","BR","CITE","CODE","DFN","EM","FONT","I","IMG","KBD","LABEL","Q","S","SAMP","SMALL","SPAN","STRIKE","STRONG","SUB","SUP","TEXTAREA","TT","U","VAR"];this._defaultDisplay={TABLE:"table",THEAD:"table-header-group",TBODY:"table-row-group",TFOOT:"table-footer-group",COLGROUP:"table-column-group",COL:"table-column",TR:"table-row",TD:"table-cell",TH:"table-cell",CAPTION:"table-caption",LI:"list-item",INPUT:"inline-block",SELECT:"inline-block"};if(/MSIE/.test(navigator.userAgent)){for(var C in this._defaultDisplay){var B=this._defaultDisplay[C];if(B.indexOf("table")==0){this._defaultDisplay[C]="block"}}}for(var E=0;E<D.length;E++){this._defaultDisplay[D[E]]="inline"}this.elementPosition=this.getElementPosition;this.elementDimensions=this.getElementDimensions;this.hideElement=A.partial(this.setDisplayForElement,"none");this.showElement=A.partial(this.setDisplayForElement,"block");this.EXPORT_TAGS={":common":this.EXPORT,":all":A.concat(this.EXPORT,this.EXPORT_OK)};A.nameFunctions(this)}});MochiKit.Style.__new__();MochiKit.Base._exportSymbols(this,MochiKit.Style);MochiKit.Base._deps("Color",["Base","DOM","Style"]);MochiKit.Color.NAME="MochiKit.Color";MochiKit.Color.VERSION="1.5";MochiKit.Color.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]"};MochiKit.Color.toString=function(){return this.__repr__()};MochiKit.Color.Color=function(D,B,A,C){if(typeof (C)=="undefined"||C===null){C=1}this.rgb={r:D,g:B,b:A,a:C}};MochiKit.Color.Color.prototype={__class__:MochiKit.Color.Color,colorWithAlpha:function(C){var B=this.rgb;var A=MochiKit.Color;return A.Color.fromRGB(B.r,B.g,B.b,C)},colorWithHue:function(C){var B=this.asHSL();B.h=C;var A=MochiKit.Color;return A.Color.fromHSL(B)},colorWithSaturation:function(C){var B=this.asHSL();B.s=C;var A=MochiKit.Color;return A.Color.fromHSL(B)},colorWithLightness:function(C){var B=this.asHSL();B.l=C;var A=MochiKit.Color;return A.Color.fromHSL(B)},darkerColorWithLevel:function(C){var B=this.asHSL();B.l=Math.max(B.l-C,0);var A=MochiKit.Color;return A.Color.fromHSL(B)},lighterColorWithLevel:function(C){var B=this.asHSL();B.l=Math.min(B.l+C,1);var A=MochiKit.Color;return A.Color.fromHSL(B)},blendedColor:function(A,C){if(typeof (C)=="undefined"||C===null){C=0.5}var D=1-C;var B=this.rgb;var F=A.rgb;var E=C;return MochiKit.Color.Color.fromRGB((B.r*D)+(F.r*E),(B.g*D)+(F.g*E),(B.b*D)+(F.b*E),(B.a*D)+(F.a*E))},compareRGB:function(B){var C=this.asRGB();var A=B.asRGB();return MochiKit.Base.compare([C.r,C.g,C.b,C.a],[A.r,A.g,A.b,A.a])},isLight:function(){return this.asHSL().b>0.5},isDark:function(){return(!this.isLight())},toHSLString:function(){var E=this.asHSL();var D=MochiKit.Color.clampColorComponent;var C=this._hslString;if(!C){var B=(D(E.h,360).toFixed(0)+","+D(E.s,100).toPrecision(4)+"%,"+D(E.l,100).toPrecision(4)+"%");var A=E.a;if(A>=1){A=1;C="hsl("+B+")"}else{if(A<=0){A=0}C="hsla("+B+","+A+")"}this._hslString=C}return C},toRGBString:function(){var D=this.rgb;var C=MochiKit.Color.clampColorComponent;var B=this._rgbString;if(!B){var A=(C(D.r,255).toFixed(0)+","+C(D.g,255).toFixed(0)+","+C(D.b,255).toFixed(0));if(D.a!=1){B="rgba("+A+","+D.a+")"}else{B="rgb("+A+")"}this._rgbString=B}return B},asRGB:function(){return MochiKit.Base.clone(this.rgb)},toHexString:function(){var A=MochiKit.Color;var D=this.rgb;var C=MochiKit.Color.clampColorComponent;var B=this._hexString;if(!B){B=("#"+A.toColorPart(C(D.r,255))+A.toColorPart(C(D.g,255))+A.toColorPart(C(D.b,255)));this._hexString=B}return B},asHSV:function(){var A=this.hsv;var B=this.rgb;if(typeof (A)=="undefined"||A===null){A=MochiKit.Color.rgbToHSV(this.rgb);this.hsv=A}return MochiKit.Base.clone(A)},asHSL:function(){var A=this.hsl;var B=this.rgb;if(typeof (A)=="undefined"||A===null){A=MochiKit.Color.rgbToHSL(this.rgb);this.hsl=A}return MochiKit.Base.clone(A)},toString:function(){return this.toRGBString()},repr:function(){var B=this.rgb;var A=[B.r,B.g,B.b,B.a];return this.__class__.NAME+"("+A.join(", ")+")"}};MochiKit.Base.update(MochiKit.Color.Color,{fromRGB:function(F,C,A,E){var D=MochiKit.Color.Color;if(arguments.length==1){var B=F;F=B.r;C=B.g;A=B.b;if(typeof (B.a)=="undefined"){E=undefined}else{E=B.a}}return new D(F,C,A,E)},fromHSL:function(B,C,E,D){var A=MochiKit.Color;return A.Color.fromRGB(A.hslToRGB.apply(A,arguments))},fromHSV:function(B,C,D,E){var A=MochiKit.Color;return A.Color.fromRGB(A.hsvToRGB.apply(A,arguments))},fromName:function(A){var C=MochiKit.Color.Color;if(A.charAt(0)=='"'){A=A.substr(1,A.length-2)}var B=C._namedColors[A.toLowerCase()];if(typeof (B)=="string"){return C.fromHexString(B)}else{if(A=="transparent"){return C.transparentColor()}}return null},fromString:function(A){var B=MochiKit.Color.Color;var C=A.substr(0,3);if(C=="rgb"){return B.fromRGBString(A)}else{if(C=="hsl"){return B.fromHSLString(A)}else{if(A.charAt(0)=="#"){return B.fromHexString(A)}}}return B.fromName(A)},fromHexString:function(B){if(B.charAt(0)=="#"){B=B.substring(1)}var D=[];var A,C;if(B.length==3){for(A=0;A<3;A++){C=B.substr(A,1);D.push(parseInt(C+C,16)/255)}}else{for(A=0;A<6;A+=2){C=B.substr(A,2);D.push(parseInt(C,16)/255)}}var E=MochiKit.Color.Color;return E.fromRGB.apply(E,D)},_fromColorString:function(F,B,I,J){if(J.indexOf(F)===0){J=J.substring(J.indexOf("(",3)+1,J.length-1)}var C=J.split(/\s*,\s*/);var E=[];for(var G=0;G<C.length;G++){var H=C[G];var D;var A=H.substring(H.length-3);if(H.charAt(H.length-1)=="%"){D=0.01*parseFloat(H.substring(0,H.length-1))}else{if(A=="deg"){D=parseFloat(H)/360}else{if(A=="rad"){D=parseFloat(H)/(Math.PI*2)}else{D=I[G]*parseFloat(H)}}}E.push(D)}return this[B].apply(this,E)},fromComputedStyle:function(E,D){var F=MochiKit.DOM;var A=MochiKit.Color.Color;for(E=F.getElement(E);E;E=E.parentNode){var C=MochiKit.Style.getStyle.apply(F,arguments);if(!C){continue}var B=A.fromString(C);if(!B){break}if(B.asRGB().a>0){return B}}return null},fromBackground:function(B){var A=MochiKit.Color.Color;return A.fromComputedStyle(B,"backgroundColor","background-color")||A.whiteColor()},fromText:function(B){var A=MochiKit.Color.Color;return A.fromComputedStyle(B,"color","color")||A.blackColor()},namedColors:function(){return MochiKit.Base.clone(MochiKit.Color.Color._namedColors)}});MochiKit.Base.update(MochiKit.Color,{clampColorComponent:function(A,B){A*=B;if(A<0){return 0}else{if(A>B){return B}else{return A}}},_hslValue:function(C,B,A){if(A>6){A-=6}else{if(A<0){A+=6}}var D;if(A<1){D=C+(B-C)*A}else{if(A<3){D=B}else{if(A<4){D=C+(B-C)*(4-A)}else{D=C}}}return D},hsvToRGB:function(I,G,K,D){if(arguments.length==1){var H=I;I=H.h;G=H.s;K=H.v;D=H.a}var C;var E;var L;if(G===0){C=K;E=K;L=K}else{var F=Math.floor(I*6);var J=(I*6)-F;var B=K*(1-G);var A=K*(1-(G*J));var M=K*(1-(G*(1-J)));switch(F){case 1:C=A;E=K;L=B;break;case 2:C=B;E=K;L=M;break;case 3:C=B;E=A;L=K;break;case 4:C=M;E=B;L=K;break;case 5:C=K;E=B;L=A;break;case 6:case 0:C=K;E=M;L=B;break}}return{r:C,g:E,b:L,a:D}},hslToRGB:function(F,E,I,B){if(arguments.length==1){var K=F;F=K.h;E=K.s;I=K.l;B=K.a}var A;var C;var H;if(E===0){A=I;C=I;H=I}else{var J;if(I<=0.5){J=I*(1+E)}else{J=I+E-(I*E)}var L=(2*I)-J;var G=MochiKit.Color._hslValue;var D=F*6;A=G(L,J,D+2);C=G(L,J,D);H=G(L,J,D-2)}return{r:A,g:C,b:H,a:B}},rgbToHSV:function(A,C,J,B){if(arguments.length==1){var G=A;A=G.r;C=G.g;J=G.b;B=G.a}var H=Math.max(Math.max(A,C),J);var D=Math.min(Math.min(A,C),J);var F;var E;var I=H;if(D==H){F=0;E=0}else{var K=(H-D);E=K/H;if(A==H){F=(C-J)/K}else{if(C==H){F=2+((J-A)/K)}else{F=4+((A-C)/K)}}F/=6;if(F<0){F+=1}if(F>1){F-=1}}return{h:F,s:E,v:I,a:B}},rgbToHSL:function(A,C,I,B){if(arguments.length==1){var G=A;A=G.r;C=G.g;I=G.b;B=G.a}var H=Math.max(A,Math.max(C,I));var D=Math.min(A,Math.min(C,I));var F;var E;var K=(H+D)/2;var J=H-D;if(J===0){F=0;E=0}else{if(K<=0.5){E=J/(H+D)}else{E=J/(2-H-D)}if(A==H){F=(C-I)/J}else{if(C==H){F=2+((I-A)/J)}else{F=4+((A-C)/J)}}F/=6;if(F<0){F+=1}if(F>1){F-=1}}return{h:F,s:E,l:K,a:B}},toColorPart:function(A){A=Math.round(A);var B=A.toString(16);if(A<16){return"0"+B}return B},__new__:function(){var D=MochiKit.Base;this.Color.fromRGBString=D.bind(this.Color._fromColorString,this.Color,"rgb","fromRGB",[1/255,1/255,1/255,1]);this.Color.fromHSLString=D.bind(this.Color._fromColorString,this.Color,"hsl","fromHSL",[1/360,0.01,0.01,1]);var H=1/3;var A={black:[0,0,0],blue:[0,0,1],brown:[0.6,0.4,0.2],cyan:[0,1,1],darkGray:[H,H,H],gray:[0.5,0.5,0.5],green:[0,1,0],lightGray:[2*H,2*H,2*H],magenta:[1,0,1],orange:[1,0.5,0],purple:[0.5,0,0.5],red:[1,0,0],transparent:[0,0,0,0],white:[1,1,1],yellow:[1,1,0]};var I=function(L,N,M,J,K){var O=this.fromRGB(N,M,J,K);this[L]=function(){return O};return O};for(var E in A){var B=E+"Color";var F=D.concat([I,this.Color,B],A[E]);this.Color[B]=D.bind.apply(null,F)}var C=function(){for(var J=0;J<arguments.length;J++){if(!(arguments[J] instanceof MochiKit.Color.Color)){return false}}return true};var G=function(K,J){return K.compareRGB(J)};D.nameFunctions(this);D.registerComparator(this.Color.NAME,C,G);this.EXPORT_TAGS={":common":this.EXPORT,":all":D.concat(this.EXPORT,this.EXPORT_OK)}}});MochiKit.Color.EXPORT=["Color"];MochiKit.Color.EXPORT_OK=["clampColorComponent","rgbToHSL","hslToRGB","rgbToHSV","hsvToRGB","toColorPart"];MochiKit.Color.__new__();MochiKit.Base._exportSymbols(this,MochiKit.Color);MochiKit.Color.Color._namedColors={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};MochiKit.Base._deps("Position",["Base","DOM","Style"]);MochiKit.Position.NAME="MochiKit.Position";MochiKit.Position.VERSION="1.5";MochiKit.Position.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]"};MochiKit.Position.toString=function(){return this.__repr__()};MochiKit.Position.EXPORT_OK=[];MochiKit.Position.EXPORT=[];MochiKit.Base.update(MochiKit.Position,{includeScrollOffsets:false,prepare:function(){var B=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;var A=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;this.windowOffset=new MochiKit.Style.Coordinates(B,A)},cumulativeOffset:function(B){var A=0;var C=0;do{A+=B.offsetTop||0;C+=B.offsetLeft||0;B=B.offsetParent}while(B);return new MochiKit.Style.Coordinates(C,A)},realOffset:function(B){var A=0;var C=0;do{A+=B.scrollTop||0;C+=B.scrollLeft||0;B=B.parentNode}while(B);return new MochiKit.Style.Coordinates(C,A)},within:function(B,A,C){if(this.includeScrollOffsets){return this.withinIncludingScrolloffsets(B,A,C)}this.xcomp=A;this.ycomp=C;this.offset=this.cumulativeOffset(B);if(B.style.position=="fixed"){this.offset.x+=this.windowOffset.x;this.offset.y+=this.windowOffset.y}return(C>=this.offset.y&&C<this.offset.y+B.offsetHeight&&A>=this.offset.x&&A<this.offset.x+B.offsetWidth)},withinIncludingScrolloffsets:function(B,A,D){var C=this.realOffset(B);this.xcomp=A+C.x-this.windowOffset.x;this.ycomp=D+C.y-this.windowOffset.y;this.offset=this.cumulativeOffset(B);return(this.ycomp>=this.offset.y&&this.ycomp<this.offset.y+B.offsetHeight&&this.xcomp>=this.offset.x&&this.xcomp<this.offset.x+B.offsetWidth)},overlap:function(B,A){if(!B){return 0}if(B=="vertical"){return((this.offset.y+A.offsetHeight)-this.ycomp)/A.offsetHeight}if(B=="horizontal"){return((this.offset.x+A.offsetWidth)-this.xcomp)/A.offsetWidth}},absolutize:function(C){C=MochiKit.DOM.getElement(C);if(C.style.position=="absolute"){return }MochiKit.Position.prepare();var E=MochiKit.Position.positionedOffset(C);var D=C.clientWidth;var A=C.clientHeight;var B={position:C.style.position,left:E.x-parseFloat(C.style.left||0),top:E.y-parseFloat(C.style.top||0),width:C.style.width,height:C.style.height};C.style.position="absolute";C.style.top=E.y+"px";C.style.left=E.x+"px";C.style.width=D+"px";C.style.height=A+"px";return B},positionedOffset:function(B){var A=0,C=0;do{A+=B.offsetTop||0;C+=B.offsetLeft||0;B=B.offsetParent;if(B){p=MochiKit.Style.getStyle(B,"position");if(p=="relative"||p=="absolute"){break}}}while(B);return new MochiKit.Style.Coordinates(C,A)},relativize:function(B,A){B=MochiKit.DOM.getElement(B);if(B.style.position=="relative"){return }MochiKit.Position.prepare();var D=parseFloat(B.style.top||0)-(A.top||0);var C=parseFloat(B.style.left||0)-(A.left||0);B.style.position=A.position;B.style.top=D+"px";B.style.left=C+"px";B.style.width=A.width;B.style.height=A.height},clone:function(B,C){B=MochiKit.DOM.getElement(B);C=MochiKit.DOM.getElement(C);C.style.position="absolute";var A=this.cumulativeOffset(B);C.style.top=A.y+"px";C.style.left=A.x+"px";C.style.width=B.offsetWidth+"px";C.style.height=B.offsetHeight+"px"},page:function(D){var A=0;var C=0;var B=D;do{A+=B.offsetTop||0;C+=B.offsetLeft||0;if(B.offsetParent==document.body&&MochiKit.Style.getStyle(B,"position")=="absolute"){break}}while(B=B.offsetParent);B=D;do{A-=B.scrollTop||0;C-=B.scrollLeft||0}while(B=B.parentNode);return new MochiKit.Style.Coordinates(C,A)}});MochiKit.Position.__new__=function(B){var A=MochiKit.Base;this.EXPORT_TAGS={":common":this.EXPORT,":all":A.concat(this.EXPORT,this.EXPORT_OK)};A.nameFunctions(this)};MochiKit.Position.__new__(this);MochiKit.Base._exportSymbols(this,MochiKit.Position);MochiKit.Base._deps("Signal",["Base","DOM","Style"]);MochiKit.Signal.NAME="MochiKit.Signal";MochiKit.Signal.VERSION="1.5";MochiKit.Signal._observers=[];MochiKit.Signal.Event=function(B,A){this._event=A||window.event;this._src=B};MochiKit.Base.update(MochiKit.Signal.Event.prototype,{__repr__:function(){var A=MochiKit.Base.repr;var B="{event(): "+A(this.event())+", src(): "+A(this.src())+", type(): "+A(this.type())+", target(): "+A(this.target());if(this.type()&&this.type().indexOf("key")===0||this.type().indexOf("mouse")===0||this.type().indexOf("click")!=-1||this.type()=="contextmenu"){B+=", modifier(): {alt: "+A(this.modifier().alt)+", ctrl: "+A(this.modifier().ctrl)+", meta: "+A(this.modifier().meta)+", shift: "+A(this.modifier().shift)+", any: "+A(this.modifier().any)+"}"}if(this.type()&&this.type().indexOf("key")===0){B+=", key(): {code: "+A(this.key().code)+", string: "+A(this.key().string)+"}"}if(this.type()&&(this.type().indexOf("mouse")===0||this.type().indexOf("click")!=-1||this.type()=="contextmenu")){B+=", mouse(): {page: "+A(this.mouse().page)+", client: "+A(this.mouse().client);if(this.type()!="mousemove"&&this.type()!="mousewheel"){B+=", button: {left: "+A(this.mouse().button.left)+", middle: "+A(this.mouse().button.middle)+", right: "+A(this.mouse().button.right)+"}"}if(this.type()=="mousewheel"){B+=", wheel: "+A(this.mouse().wheel)}B+="}"}if(this.type()=="mouseover"||this.type()=="mouseout"||this.type()=="mouseenter"||this.type()=="mouseleave"){B+=", relatedTarget(): "+A(this.relatedTarget())}B+="}";return B},toString:function(){return this.__repr__()},src:function(){return this._src},event:function(){return this._event},type:function(){if(this._event.type==="DOMMouseScroll"){return"mousewheel"}else{return this._event.type||undefined}},target:function(){return this._event.target||this._event.srcElement},_relatedTarget:null,relatedTarget:function(){if(this._relatedTarget!==null){return this._relatedTarget}var A=null;if(this.type()=="mouseover"||this.type()=="mouseenter"){A=(this._event.relatedTarget||this._event.fromElement)}else{if(this.type()=="mouseout"||this.type()=="mouseleave"){A=(this._event.relatedTarget||this._event.toElement)}}try{if(A!==null&&A.nodeType!==null){this._relatedTarget=A;return A}}catch(B){}return undefined},_modifier:null,modifier:function(){if(this._modifier!==null){return this._modifier}var A={};A.alt=this._event.altKey;A.ctrl=this._event.ctrlKey;A.meta=this._event.metaKey||false;A.shift=this._event.shiftKey;A.any=A.alt||A.ctrl||A.shift||A.meta;this._modifier=A;return A},_key:null,key:function(){if(this._key!==null){return this._key}var A={};if(this.type()&&this.type().indexOf("key")===0){if(this.type()=="keydown"||this.type()=="keyup"){A.code=this._event.keyCode;A.string=(MochiKit.Signal._specialKeys[A.code]||"KEY_UNKNOWN");this._key=A;return A}else{if(this.type()=="keypress"){A.code=0;A.string="";if(typeof (this._event.charCode)!="undefined"&&this._event.charCode!==0&&!MochiKit.Signal._specialMacKeys[this._event.charCode]){A.code=this._event.charCode;A.string=String.fromCharCode(A.code)}else{if(this._event.keyCode&&typeof (this._event.charCode)=="undefined"){A.code=this._event.keyCode;A.string=String.fromCharCode(A.code)}}this._key=A;return A}}}return undefined},_mouse:null,mouse:function(){if(this._mouse!==null){return this._mouse}var B={};var C=this._event;if(this.type()&&(this.type().indexOf("mouse")===0||this.type().indexOf("click")!=-1||this.type()=="contextmenu")){B.client=new MochiKit.Style.Coordinates(0,0);if(C.clientX||C.clientY){B.client.x=(!C.clientX||C.clientX<0)?0:C.clientX;B.client.y=(!C.clientY||C.clientY<0)?0:C.clientY}B.page=new MochiKit.Style.Coordinates(0,0);if(C.pageX||C.pageY){B.page.x=(!C.pageX||C.pageX<0)?0:C.pageX;B.page.y=(!C.pageY||C.pageY<0)?0:C.pageY}else{var D=MochiKit.DOM._document.documentElement;var A=MochiKit.DOM._document.body;B.page.x=C.clientX+(D.scrollLeft||A.scrollLeft)-(D.clientLeft||0);B.page.y=C.clientY+(D.scrollTop||A.scrollTop)-(D.clientTop||0)}if(this.type()!="mousemove"&&this.type()!="mousewheel"){B.button={};B.button.left=false;B.button.right=false;B.button.middle=false;if(C.which){B.button.left=(C.which==1);B.button.middle=(C.which==2);B.button.right=(C.which==3)}else{B.button.left=!!(C.button&1);B.button.right=!!(C.button&2);B.button.middle=!!(C.button&4)}}if(this.type()=="mousewheel"){B.wheel=new MochiKit.Style.Coordinates(0,0);if(C.wheelDeltaX||C.wheelDeltaY){B.wheel.x=C.wheelDeltaX/-40||0;B.wheel.y=C.wheelDeltaY/-40||0}else{if(C.wheelDelta){B.wheel.y=C.wheelDelta/-40}else{B.wheel.y=C.detail||0}}}this._mouse=B;return B}return undefined},stop:function(){this.stopPropagation();this.preventDefault()},stopPropagation:function(){if(this._event.stopPropagation){this._event.stopPropagation()}else{this._event.cancelBubble=true}},preventDefault:function(){if(this._event.preventDefault){this._event.preventDefault()}else{if(this._confirmUnload===null){this._event.returnValue=false}}},_confirmUnload:null,confirmUnload:function(A){if(this.type()=="beforeunload"){this._confirmUnload=A;this._event.returnValue=A}}});MochiKit.Signal._specialMacKeys={3:"KEY_ENTER",63289:"KEY_NUM_PAD_CLEAR",63276:"KEY_PAGE_UP",63277:"KEY_PAGE_DOWN",63275:"KEY_END",63273:"KEY_HOME",63234:"KEY_ARROW_LEFT",63232:"KEY_ARROW_UP",63235:"KEY_ARROW_RIGHT",63233:"KEY_ARROW_DOWN",63302:"KEY_INSERT",63272:"KEY_DELETE"};(function(){var A=MochiKit.Signal._specialMacKeys;for(i=63236;i<=63242;i++){A[i]="KEY_F"+(i-63236+1)}})();MochiKit.Signal._specialKeys={8:"KEY_BACKSPACE",9:"KEY_TAB",12:"KEY_NUM_PAD_CLEAR",13:"KEY_ENTER",16:"KEY_SHIFT",17:"KEY_CTRL",18:"KEY_ALT",19:"KEY_PAUSE",20:"KEY_CAPS_LOCK",27:"KEY_ESCAPE",32:"KEY_SPACEBAR",33:"KEY_PAGE_UP",34:"KEY_PAGE_DOWN",35:"KEY_END",36:"KEY_HOME",37:"KEY_ARROW_LEFT",38:"KEY_ARROW_UP",39:"KEY_ARROW_RIGHT",40:"KEY_ARROW_DOWN",44:"KEY_PRINT_SCREEN",45:"KEY_INSERT",46:"KEY_DELETE",59:"KEY_SEMICOLON",91:"KEY_WINDOWS_LEFT",92:"KEY_WINDOWS_RIGHT",93:"KEY_SELECT",106:"KEY_NUM_PAD_ASTERISK",107:"KEY_NUM_PAD_PLUS_SIGN",109:"KEY_NUM_PAD_HYPHEN-MINUS",110:"KEY_NUM_PAD_FULL_STOP",111:"KEY_NUM_PAD_SOLIDUS",144:"KEY_NUM_LOCK",145:"KEY_SCROLL_LOCK",186:"KEY_SEMICOLON",187:"KEY_EQUALS_SIGN",188:"KEY_COMMA",189:"KEY_HYPHEN-MINUS",190:"KEY_FULL_STOP",191:"KEY_SOLIDUS",192:"KEY_GRAVE_ACCENT",219:"KEY_LEFT_SQUARE_BRACKET",220:"KEY_REVERSE_SOLIDUS",221:"KEY_RIGHT_SQUARE_BRACKET",222:"KEY_APOSTROPHE"};(function(){var B=MochiKit.Signal._specialKeys;for(var A=48;A<=57;A++){B[A]="KEY_"+(A-48)}for(A=65;A<=90;A++){B[A]="KEY_"+String.fromCharCode(A)}for(A=96;A<=105;A++){B[A]="KEY_NUM_PAD_"+(A-96)}for(A=112;A<=123;A++){B[A]="KEY_F"+(A-112+1)}})();MochiKit.Signal.Ident=function(A){this.source=A.source;this.signal=A.signal;this.listener=A.listener;this.isDOM=A.isDOM;this.objOrFunc=A.objOrFunc;this.funcOrStr=A.funcOrStr;this.connected=A.connected};MochiKit.Signal.Ident.prototype={};MochiKit.Base.update(MochiKit.Signal,{__repr__:function(){return"["+this.NAME+" "+this.VERSION+"]"},toString:function(){return this.__repr__()},_unloadCache:function(){var A=MochiKit.Signal;var C=A._observers;for(var B=0;B<C.length;B++){if(C[B].signal!=="onload"&&C[B].signal!=="onunload"){A._disconnect(C[B])}}},_listener:function(H,G,C,F,B){var A=MochiKit.Signal;var D=A.Event;if(!B){if(typeof (C.im_self)=="undefined"){return MochiKit.Base.bindLate(C,F)}else{return C}}F=F||H;if(typeof (C)=="string"){if(G==="onload"||G==="onunload"){return function(E){F[C].apply(F,[new D(H,E)]);var I=new MochiKit.Signal.Ident({source:H,signal:G,objOrFunc:F,funcOrStr:C});MochiKit.Signal._disconnect(I)}}else{return function(E){F[C].apply(F,[new D(H,E)])}}}else{if(G==="onload"||G==="onunload"){return function(E){C.apply(F,[new D(H,E)]);var I=new MochiKit.Signal.Ident({source:H,signal:G,objOrFunc:C});MochiKit.Signal._disconnect(I)}}else{return function(E){C.apply(F,[new D(H,E)])}}}},_browserAlreadyHasMouseEnterAndLeave:function(){return/MSIE/.test(navigator.userAgent)},_browserLacksMouseWheelEvent:function(){return/Gecko/.test(navigator.userAgent)},_mouseEnterListener:function(F,D,A,C){var B=MochiKit.Signal.Event;return function(E){var H=new B(F,E);try{H.relatedTarget().nodeName}catch(G){return }H.stop();if(MochiKit.DOM.isChildNode(H.relatedTarget(),F)){return }H.type=function(){return D};if(typeof (A)=="string"){return C[A].apply(C,[H])}else{return A.apply(C,[H])}}},_getDestPair:function(B,A){var D=null;var C=null;if(typeof (A)!="undefined"){D=B;C=A;if(typeof (A)=="string"){if(typeof (B[A])!="function"){throw new Error("'funcOrStr' must be a function on 'objOrFunc'")}}else{if(typeof (A)!="function"){throw new Error("'funcOrStr' must be a function or string")}}}else{if(typeof (B)!="function"){throw new Error("'objOrFunc' must be a function if 'funcOrStr' is not given")}else{C=B}}return[D,C]},connect:function(A,L,J,B){A=MochiKit.DOM.getElement(A);var K=MochiKit.Signal;if(typeof (L)!="string"){throw new Error("'sig' must be a string")}var H=K._getDestPair(J,B);var F=H[0];var D=H[1];if(typeof (F)=="undefined"||F===null){F=A}var I=!!(A.addEventListener||A.attachEvent);if(I&&(L==="onmouseenter"||L==="onmouseleave")&&!K._browserAlreadyHasMouseEnterAndLeave()){var C=K._mouseEnterListener(A,L.substr(2),D,F);if(L==="onmouseenter"){L="onmouseover"}else{L="onmouseout"}}else{if(I&&L=="onmousewheel"&&K._browserLacksMouseWheelEvent()){var C=K._listener(A,L,D,F,I);L="onDOMMouseScroll"}else{var C=K._listener(A,L,D,F,I)}}if(A.addEventListener){A.addEventListener(L.substr(2),C,false)}else{if(A.attachEvent){A.attachEvent(L,C)}}var E=new MochiKit.Signal.Ident({source:A,signal:L,listener:C,isDOM:I,objOrFunc:J,funcOrStr:B,connected:true});K._observers.push(E);if(!I&&typeof (A.__connect__)=="function"){var G=MochiKit.Base.extend([E],arguments,1);A.__connect__.apply(A,G)}return E},_disconnect:function(B){if(!B.connected){return }B.connected=false;var D=B.source;var C=B.signal;var A=B.listener;if(!B.isDOM){if(typeof (D.__disconnect__)=="function"){D.__disconnect__(B,C,B.objOrFunc,B.funcOrStr)}return }if(D.removeEventListener){D.removeEventListener(C.substr(2),A,false)}else{if(D.detachEvent){D.detachEvent(C,A)}else{throw new Error("'src' must be a DOM element")}}},disconnect:function(G){var J=MochiKit.Signal;var H=J._observers;var D=MochiKit.Base;if(arguments.length>1){var A=MochiKit.DOM.getElement(arguments[0]);var K=arguments[1];var F=arguments[2];var C=arguments[3];for(var E=H.length-1;E>=0;E--){var B=H[E];if(B.source===A&&B.signal===K&&B.objOrFunc===F&&B.funcOrStr===C){J._disconnect(B);if(!J._lock){H.splice(E,1)}else{J._dirty=true}return true}}}else{var I=D.findIdentical(H,G);if(I>=0){J._disconnect(G);if(!J._lock){H.splice(I,1)}else{J._dirty=true}return true}}return false},disconnectAllTo:function(H,B){var I=MochiKit.Signal;var F=I._observers;var G=I._disconnect;var E=I._lock;var A=I._dirty;if(typeof (B)==="undefined"){B=null}for(var D=F.length-1;D>=0;D--){var C=F[D];if(C.objOrFunc===H&&(B===null||C.funcOrStr===B)){G(C);if(E){A=true}else{F.splice(D,1)}}}I._dirty=A},disconnectAll:function(A,L){A=MochiKit.DOM.getElement(A);var C=MochiKit.Base;var D=C.flattenArguments(C.extend(null,arguments,1));var J=MochiKit.Signal;var I=J._disconnect;var H=J._observers;var G,F;var E=J._lock;var B=J._dirty;if(D.length===0){for(G=H.length-1;G>=0;G--){F=H[G];if(F.source===A){I(F);if(!E){H.splice(G,1)}else{B=true}}}}else{var K={};for(G=0;G<D.length;G++){K[D[G]]=true}for(G=H.length-1;G>=0;G--){F=H[G];if(F.source===A&&F.signal in K){I(F);if(!E){H.splice(G,1)}else{B=true}}}}J._dirty=B},signal:function(A,I){var H=MochiKit.Signal;var D=H._observers;A=MochiKit.DOM.getElement(A);var F=MochiKit.Base.extend(null,arguments,2);var G=[];H._lock=true;for(var C=0;C<D.length;C++){var B=D[C];if(B.source===A&&B.signal===I&&B.connected){try{B.listener.apply(A,F)}catch(E){G.push(E)}}}H._lock=false;if(H._dirty){H._dirty=false;for(var C=D.length-1;C>=0;C--){if(!D[C].connected){D.splice(C,1)}}}if(G.length==1){throw G[0]}else{if(G.length>1){var E=new Error("Multiple errors thrown in handling 'sig', see errors property");E.errors=G;throw E}}}});MochiKit.Signal.EXPORT_OK=[];MochiKit.Signal.EXPORT=["connect","disconnect","signal","disconnectAll","disconnectAllTo"];MochiKit.Signal.__new__=function(C){var A=MochiKit.Base;this._document=document;this._window=C;this._lock=false;this._dirty=false;try{this.connect(window,"onunload",this._unloadCache)}catch(B){}this.EXPORT_TAGS={":common":this.EXPORT,":all":A.concat(this.EXPORT,this.EXPORT_OK)};A.nameFunctions(this)};MochiKit.Signal.__new__(this);if(MochiKit.__export__){connect=MochiKit.Signal.connect;disconnect=MochiKit.Signal.disconnect;disconnectAll=MochiKit.Signal.disconnectAll;signal=MochiKit.Signal.signal}MochiKit.Base._exportSymbols(this,MochiKit.Signal);MochiKit.Base._deps("Visual",["Base","DOM","Style","Color","Position"]);MochiKit.Visual.NAME="MochiKit.Visual";MochiKit.Visual.VERSION="1.5";MochiKit.Visual.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]"};MochiKit.Visual.toString=function(){return this.__repr__()};MochiKit.Visual._RoundCorners=function(E,B){E=MochiKit.DOM.getElement(E);this._setOptions(B);if(this.options.__unstable__wrapElement){E=this._doWrap(E)}var A=this.options.color;var F=MochiKit.Color.Color;if(this.options.color==="fromElement"){A=F.fromBackground(E)}else{if(!(A instanceof F)){A=F.fromString(A)}}this.isTransparent=(A.asRGB().a<=0);var D=this.options.bgColor;if(this.options.bgColor==="fromParent"){D=F.fromBackground(E.offsetParent)}else{if(!(D instanceof F)){D=F.fromString(D)}}this._roundCornersImpl(E,A,D)};MochiKit.Visual._RoundCorners.prototype={_doWrap:function(D){var B=D.parentNode;var C=MochiKit.DOM.currentDocument();if(typeof (C.defaultView)==="undefined"||C.defaultView===null){return D}var A=C.defaultView.getComputedStyle(D,null);if(typeof (A)==="undefined"||A===null){return D}var E=MochiKit.DOM.DIV({style:{display:"block",marginTop:A.getPropertyValue("padding-top"),marginRight:A.getPropertyValue("padding-right"),marginBottom:A.getPropertyValue("padding-bottom"),marginLeft:A.getPropertyValue("padding-left"),padding:"0px"}});E.innerHTML=D.innerHTML;D.innerHTML="";D.appendChild(E);return D},_roundCornersImpl:function(C,A,B){if(this.options.border){this._renderBorder(C,B)}if(this._isTopRounded()){this._roundTopCorners(C,A,B)}if(this._isBottomRounded()){this._roundBottomCorners(C,A,B)}},_renderBorder:function(D,E){var B="1px solid "+this._borderColor(E);var A="border-left: "+B;var F="border-right: "+B;var C="style='"+A+";"+F+"'";D.innerHTML="<div "+C+">"+D.innerHTML+"</div>"},_roundTopCorners:function(C,A,E){var D=this._createCorner(E);for(var B=0;B<this.options.numSlices;B++){D.appendChild(this._createCornerSlice(A,E,B,"top"))}C.style.paddingTop=0;C.insertBefore(D,C.firstChild)},_roundBottomCorners:function(C,A,E){var D=this._createCorner(E);for(var B=(this.options.numSlices-1);B>=0;B--){D.appendChild(this._createCornerSlice(A,E,B,"bottom"))}C.style.paddingBottom=0;C.appendChild(D)},_createCorner:function(A){var B=MochiKit.DOM;return B.DIV({style:{backgroundColor:A.toString()}})},_createCornerSlice:function(C,D,G,A){var E=MochiKit.DOM.SPAN();var B=E.style;B.backgroundColor=C.toString();B.display="block";B.height="1px";B.overflow="hidden";B.fontSize="1px";var F=this._borderColor(C,D);if(this.options.border&&G===0){B.borderTopStyle="solid";B.borderTopWidth="1px";B.borderLeftWidth="0px";B.borderRightWidth="0px";B.borderBottomWidth="0px";B.height="0px";B.borderColor=F.toString()}else{if(F){B.borderColor=F.toString();B.borderStyle="solid";B.borderWidth="0px 1px"}}if(!this.options.compact&&(G==(this.options.numSlices-1))){B.height="2px"}this._setMargin(E,G,A);this._setBorder(E,G,A);return E},_setOptions:function(A){this.options={corners:"all",color:"fromElement",bgColor:"fromParent",blend:true,border:false,compact:false,__unstable__wrapElement:false};MochiKit.Base.update(this.options,A);this.options.numSlices=(this.options.compact?2:4)},_whichSideTop:function(){var A=this.options.corners;if(this._hasString(A,"all","top")){return""}var C=(A.indexOf("tl")!=-1);var B=(A.indexOf("tr")!=-1);if(C&&B){return""}if(C){return"left"}if(B){return"right"}return""},_whichSideBottom:function(){var B=this.options.corners;if(this._hasString(B,"all","bottom")){return""}var C=(B.indexOf("bl")!=-1);var A=(B.indexOf("br")!=-1);if(C&&A){return""}if(C){return"left"}if(A){return"right"}return""},_borderColor:function(A,B){if(A=="transparent"){return B}else{if(this.options.border){return this.options.border}else{if(this.options.blend){return B.blendedColor(A)}}}return""},_setMargin:function(E,F,B){var C=this._marginSize(F)+"px";var A=(B=="top"?this._whichSideTop():this._whichSideBottom());var D=E.style;if(A=="left"){D.marginLeft=C;D.marginRight="0px"}else{if(A=="right"){D.marginRight=C;D.marginLeft="0px"}else{D.marginLeft=C;D.marginRight=C}}},_setBorder:function(E,F,B){var C=this._borderSize(F)+"px";var A=(B=="top"?this._whichSideTop():this._whichSideBottom());var D=E.style;if(A=="left"){D.borderLeftWidth=C;D.borderRightWidth="0px"}else{if(A=="right"){D.borderRightWidth=C;D.borderLeftWidth="0px"}else{D.borderLeftWidth=C;D.borderRightWidth=C}}},_marginSize:function(F){if(this.isTransparent){return 0}var E=this.options;if(E.compact&&E.blend){var B=[1,0];return B[F]}else{if(E.compact){var D=[2,1];return D[F]}else{if(E.blend){var A=[3,2,1,0];return A[F]}else{var C=[5,3,2,1];return C[F]}}}},_borderSize:function(C){var B=this.options;var A;if(B.compact&&(B.blend||this.isTransparent)){return 1}else{if(B.compact){A=[1,0]}else{if(B.blend){A=[2,1,1,1]}else{if(B.border){A=[0,2,0,0]}else{if(this.isTransparent){A=[5,3,2,1]}else{return 0}}}}}return A[C]},_hasString:function(B){for(var A=1;A<arguments.length;A++){if(B.indexOf(arguments[A])!=-1){return true}}return false},_isTopRounded:function(){return this._hasString(this.options.corners,"all","top","tl","tr")},_isBottomRounded:function(){return this._hasString(this.options.corners,"all","bottom","bl","br")},_hasSingleTextChild:function(A){return(A.childNodes.length==1&&A.childNodes[0].nodeType==3)}};MochiKit.Visual.roundElement=function(B,A){new MochiKit.Visual._RoundCorners(B,A)};MochiKit.Visual.roundClass=function(C,D,A){var E=MochiKit.DOM.getElementsByTagAndClassName(C,D);for(var B=0;B<E.length;B++){MochiKit.Visual.roundElement(E[B],A)}};MochiKit.Visual.tagifyText=function(A,B){B=B||"position:relative";if(/MSIE/.test(navigator.userAgent)){B+=";zoom:1"}A=MochiKit.DOM.getElement(A);var C=MochiKit.Base.map;C(function(D){if(D.nodeType==3){C(function(E){A.insertBefore(MochiKit.DOM.SPAN({style:B},E==" "?String.fromCharCode(160):E),D)},D.nodeValue.split(""));MochiKit.DOM.removeElement(D)}},A.childNodes)};MochiKit.Visual.forceRerendering=function(A){try{A=MochiKit.DOM.getElement(A);var C=document.createTextNode(" ");A.appendChild(C);A.removeChild(C)}catch(B){}};MochiKit.Visual.multiple=function(E,C,B){B=MochiKit.Base.update({speed:0.1,delay:0},B);var D=B.delay;var A=0;MochiKit.Base.map(function(F){B.delay=A*B.speed+D;new C(F,B);A+=1},E)};MochiKit.Visual.PAIRS={slide:["slideDown","slideUp"],blind:["blindDown","blindUp"],appear:["appear","fade"],size:["grow","shrink"]};MochiKit.Visual.toggle=function(C,D,B){C=MochiKit.DOM.getElement(C);D=(D||"appear").toLowerCase();B=MochiKit.Base.update({queue:{position:"end",scope:(C.id||"global"),limit:1}},B);var A=MochiKit.Visual;A[MochiKit.Style.getStyle(C,"display")!="none"?A.PAIRS[D][1]:A.PAIRS[D][0]](C,B)};MochiKit.Visual.Transitions={};MochiKit.Visual.Transitions.linear=function(A){return A};MochiKit.Visual.Transitions.sinoidal=function(A){return 0.5-Math.cos(A*Math.PI)/2};MochiKit.Visual.Transitions.reverse=function(A){return 1-A};MochiKit.Visual.Transitions.flicker=function(A){return 0.25-Math.cos(A*Math.PI)/4+Math.random()/2};MochiKit.Visual.Transitions.wobble=function(A){return 0.5-Math.cos(9*A*Math.PI)/2};MochiKit.Visual.Transitions.pulse=function(C,B){if(B){C*=2*B}else{C*=10}var A=C-Math.floor(C);return(Math.floor(C)%2==0)?A:1-A};MochiKit.Visual.Transitions.parabolic=function(A){return A*A};MochiKit.Visual.Transitions.none=function(A){return 0};MochiKit.Visual.Transitions.full=function(A){return 1};MochiKit.Visual.ScopedQueue=function(){var A=arguments.callee;if(!(this instanceof A)){return new A()}this.__init__()};MochiKit.Base.update(MochiKit.Visual.ScopedQueue.prototype,{__init__:function(){this.effects=[];this.interval=null},add:function(C){var D=new Date().getTime();var A=(typeof (C.options.queue)=="string")?C.options.queue:C.options.queue.position;var E=MochiKit.Base.map;switch(A){case"front":E(function(F){if(F.state=="idle"){F.startOn+=C.finishOn;F.finishOn+=C.finishOn}},this.effects);break;case"end":var B;E(function(G){var F=G.finishOn;if(F>=(B||F)){B=F}},this.effects);D=B||D;break;case"break":E(function(F){F.finalize()},this.effects);break}C.startOn+=D;C.finishOn+=D;if(!C.options.queue.limit||this.effects.length<C.options.queue.limit){this.effects.push(C)}if(!this.interval){this.interval=this.startLoop(MochiKit.Base.bind(this.loop,this),40)}},startLoop:function(B,A){return setInterval(B,A)},remove:function(A){this.effects=MochiKit.Base.filter(function(B){return B!=A},this.effects);if(!this.effects.length){this.stopLoop(this.interval);this.interval=null}},stopLoop:function(A){clearInterval(A)},loop:function(){var A=new Date().getTime();MochiKit.Base.map(function(B){B.loop(A)},this.effects)}});MochiKit.Visual.Queues={instances:{},get:function(A){if(typeof (A)!="string"){return A}if(!this.instances[A]){this.instances[A]=new MochiKit.Visual.ScopedQueue()}return this.instances[A]}};MochiKit.Visual.Queue=MochiKit.Visual.Queues.get("global");MochiKit.Visual.DefaultOptions={transition:MochiKit.Visual.Transitions.sinoidal,duration:1,fps:25,sync:false,from:0,to:1,delay:0,queue:"parallel"};MochiKit.Visual.Base=function(){};MochiKit.Visual.Base.prototype={__class__:MochiKit.Visual.Base,start:function(B){var A=MochiKit.Visual;this.options=MochiKit.Base.setdefault(B,A.DefaultOptions);this.currentFrame=0;this.state="idle";this.startOn=this.options.delay*1000;this.finishOn=this.startOn+(this.options.duration*1000);this.event("beforeStart");if(!this.options.sync){A.Queues.get(typeof (this.options.queue)=="string"?"global":this.options.queue.scope).add(this)}},loop:function(C){if(C>=this.startOn){if(C>=this.finishOn){return this.finalize()}var B=(C-this.startOn)/(this.finishOn-this.startOn);var A=Math.round(B*this.options.fps*this.options.duration);if(A>this.currentFrame){this.render(B);this.currentFrame=A}}},render:function(A){if(this.state=="idle"){this.state="running";this.event("beforeSetup");this.setup();this.event("afterSetup")}if(this.state=="running"){if(this.options.transition){A=this.options.transition(A)}A*=(this.options.to-this.options.from);A+=this.options.from;this.event("beforeUpdate");this.update(A);this.event("afterUpdate")}},cancel:function(){if(!this.options.sync){MochiKit.Visual.Queues.get(typeof (this.options.queue)=="string"?"global":this.options.queue.scope).remove(this)}this.state="finished"},finalize:function(){this.render(1);this.cancel();this.event("beforeFinish");this.finish();this.event("afterFinish")},setup:function(){},finish:function(){},update:function(A){},event:function(A){if(this.options[A+"Internal"]){this.options[A+"Internal"](this)}if(this.options[A]){this.options[A](this)}},repr:function(){return"["+this.__class__.NAME+", options:"+MochiKit.Base.repr(this.options)+"]"}};MochiKit.Visual.Parallel=function(C,B){var A=arguments.callee;if(!(this instanceof A)){return new A(C,B)}this.__init__(C,B)};MochiKit.Visual.Parallel.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Parallel.prototype,{__class__:MochiKit.Visual.Parallel,__init__:function(B,A){this.effects=B||[];this.start(A)},update:function(A){MochiKit.Base.map(function(B){B.render(A)},this.effects)},finish:function(){MochiKit.Base.map(function(A){A.finalize()},this.effects)}});MochiKit.Visual.Sequence=function(C,B){var A=arguments.callee;if(!(this instanceof A)){return new A(C,B)}this.__init__(C,B)};MochiKit.Visual.Sequence.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Sequence.prototype,{__class__:MochiKit.Visual.Sequence,__init__:function(C,B){var A={transition:MochiKit.Visual.Transitions.linear,duration:0};this.effects=C||[];MochiKit.Base.map(function(D){A.duration+=D.options.duration},this.effects);MochiKit.Base.setdefault(B,A);this.start(B)},update:function(A){var D=A*this.options.duration;for(var B=0;B<this.effects.length;B++){var C=this.effects[B];if(D<=C.options.duration){C.render(D/C.options.duration);break}else{D-=C.options.duration}}},finish:function(){MochiKit.Base.map(function(A){A.finalize()},this.effects)}});MochiKit.Visual.Opacity=function(C,B){var A=arguments.callee;if(!(this instanceof A)){return new A(C,B)}this.__init__(C,B)};MochiKit.Visual.Opacity.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Opacity.prototype,{__class__:MochiKit.Visual.Opacity,__init__:function(C,B){var A=MochiKit.Base;var D=MochiKit.Style;this.element=MochiKit.DOM.getElement(C);if(this.element.currentStyle&&(!this.element.currentStyle.hasLayout)){D.setStyle(this.element,{zoom:1})}B=A.update({from:D.getStyle(this.element,"opacity")||0,to:1},B);this.start(B)},update:function(A){MochiKit.Style.setStyle(this.element,{opacity:A})}});MochiKit.Visual.Move=function(C,B){var A=arguments.callee;if(!(this instanceof A)){return new A(C,B)}this.__init__(C,B)};MochiKit.Visual.Move.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Move.prototype,{__class__:MochiKit.Visual.Move,__init__:function(B,A){this.element=MochiKit.DOM.getElement(B);A=MochiKit.Base.update({x:0,y:0,mode:"relative"},A);this.start(A)},setup:function(){MochiKit.Style.makePositioned(this.element);var B=this.element.style;var C=B.visibility;var A=B.display;if(A=="none"){B.visibility="hidden";B.display=""}this.originalLeft=parseFloat(MochiKit.Style.getStyle(this.element,"left")||"0");this.originalTop=parseFloat(MochiKit.Style.getStyle(this.element,"top")||"0");if(this.options.mode=="absolute"){this.options.x-=this.originalLeft;this.options.y-=this.originalTop}if(A=="none"){B.visibility=C;B.display=A}},update:function(A){MochiKit.Style.setStyle(this.element,{left:Math.round(this.options.x*A+this.originalLeft)+"px",top:Math.round(this.options.y*A+this.originalTop)+"px"})}});MochiKit.Visual.Scale=function(C,D,B){var A=arguments.callee;if(!(this instanceof A)){return new A(C,D,B)}this.__init__(C,D,B)};MochiKit.Visual.Scale.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Scale.prototype,{__class__:MochiKit.Visual.Scale,__init__:function(B,C,A){this.element=MochiKit.DOM.getElement(B);A=MochiKit.Base.update({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:"box",scaleFrom:100,scaleTo:C},A);this.start(A)},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=MochiKit.Style.getStyle(this.element,"position");var C=MochiKit.Base.map;var A=MochiKit.Base.bind;this.originalStyle={};C(A(function(D){this.originalStyle[D]=this.element.style[D]},this),["top","left","width","height","fontSize"]);this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var B=MochiKit.Style.getStyle(this.element,"font-size")||"100%";C(A(function(D){if(B.indexOf(D)>0){this.fontSize=parseFloat(B);this.fontSizeType=D}},this),["em","px","%"]);this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;if(/^content/.test(this.options.scaleMode)){this.dims=[this.element.scrollHeight,this.element.scrollWidth]}else{if(this.options.scaleMode=="box"){this.dims=[this.element.offsetHeight,this.element.offsetWidth]}else{this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth]}}},update:function(A){var B=(this.options.scaleFrom/100)+(this.factor*A);if(this.options.scaleContent&&this.fontSize){MochiKit.Style.setStyle(this.element,{fontSize:this.fontSize*B+this.fontSizeType})}this.setDimensions(this.dims[0]*B,this.dims[1]*B)},finish:function(){if(this.restoreAfterFinish){MochiKit.Style.setStyle(this.element,this.originalStyle)}},setDimensions:function(A,D){var F={};var E=Math.round;if(/MSIE/.test(navigator.userAgent)){E=Math.ceil}if(this.options.scaleX){F.width=E(D)+"px"}if(this.options.scaleY){F.height=E(A)+"px"}if(this.options.scaleFromCenter){var C=(A-this.dims[0])/2;var B=(D-this.dims[1])/2;if(this.elementPositioning=="absolute"){if(this.options.scaleY){F.top=this.originalTop-C+"px"}if(this.options.scaleX){F.left=this.originalLeft-B+"px"}}else{if(this.options.scaleY){F.top=-C+"px"}if(this.options.scaleX){F.left=-B+"px"}}}MochiKit.Style.setStyle(this.element,F)}});MochiKit.Visual.Highlight=function(C,B){var A=arguments.callee;if(!(this instanceof A)){return new A(C,B)}this.__init__(C,B)};MochiKit.Visual.Highlight.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Highlight.prototype,{__class__:MochiKit.Visual.Highlight,__init__:function(B,A){this.element=MochiKit.DOM.getElement(B);A=MochiKit.Base.update({startcolor:"#ffff99"},A);this.start(A)},setup:function(){var A=MochiKit.Base;var B=MochiKit.Style;if(B.getStyle(this.element,"display")=="none"){this.cancel();return }this.oldStyle={backgroundImage:B.getStyle(this.element,"background-image")};B.setStyle(this.element,{backgroundImage:"none"});if(!this.options.endcolor){this.options.endcolor=MochiKit.Color.Color.fromBackground(this.element).toHexString()}if(A.isUndefinedOrNull(this.options.restorecolor)){this.options.restorecolor=B.getStyle(this.element,"background-color")}this._base=A.map(A.bind(function(C){return parseInt(this.options.startcolor.slice(C*2+1,C*2+3),16)},this),[0,1,2]);this._delta=A.map(A.bind(function(C){return parseInt(this.options.endcolor.slice(C*2+1,C*2+3),16)-this._base[C]},this),[0,1,2])},update:function(B){var A="#";MochiKit.Base.map(MochiKit.Base.bind(function(C){A+=MochiKit.Color.toColorPart(Math.round(this._base[C]+this._delta[C]*B))},this),[0,1,2]);MochiKit.Style.setStyle(this.element,{backgroundColor:A})},finish:function(){MochiKit.Style.setStyle(this.element,MochiKit.Base.update(this.oldStyle,{backgroundColor:this.options.restorecolor}))}});MochiKit.Visual.ScrollTo=function(C,B){var A=arguments.callee;if(!(this instanceof A)){return new A(C,B)}this.__init__(C,B)};MochiKit.Visual.ScrollTo.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.ScrollTo.prototype,{__class__:MochiKit.Visual.ScrollTo,__init__:function(B,A){this.element=MochiKit.DOM.getElement(B);this.start(A)},setup:function(){var C=MochiKit.Position;C.prepare();var B=C.cumulativeOffset(this.element);if(this.options.offset){B.y+=this.options.offset}var A;if(window.innerHeight){A=window.innerHeight-window.height}else{if(document.documentElement&&document.documentElement.clientHeight){A=document.documentElement.clientHeight-document.body.scrollHeight}else{if(document.body){A=document.body.clientHeight-document.body.scrollHeight}}}this.scrollStart=C.windowOffset.y;this.delta=(B.y>A?A:B.y)-this.scrollStart},update:function(A){var B=MochiKit.Position;B.prepare();window.scrollTo(B.windowOffset.x,this.scrollStart+(A*this.delta))}});MochiKit.Visual.CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;MochiKit.Visual.Morph=function(C,B){var A=arguments.callee;if(!(this instanceof A)){return new A(C,B)}this.__init__(C,B)};MochiKit.Visual.Morph.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Morph.prototype,{__class__:MochiKit.Visual.Morph,__init__:function(B,A){this.element=MochiKit.DOM.getElement(B);this.start(A)},setup:function(){var A=MochiKit.Base;var C=this.options.style;this.styleStart={};this.styleEnd={};this.units={};var F,E;for(var B in C){F=C[B];B=A.camelize(B);if(MochiKit.Visual.CSS_LENGTH.test(F)){var D=F.match(/^([\+\-]?[0-9\.]+)(.*)$/);F=parseFloat(D[1]);E=(D.length==3)?D[2]:null;this.styleEnd[B]=F;this.units[B]=E;F=MochiKit.Style.getStyle(this.element,B);D=F.match(/^([\+\-]?[0-9\.]+)(.*)$/);F=parseFloat(D[1]);this.styleStart[B]=F}else{if(/[Cc]olor$/.test(B)){var G=MochiKit.Color.Color;F=G.fromString(F);if(F){this.units[B]="color";this.styleEnd[B]=F.toHexString();F=MochiKit.Style.getStyle(this.element,B);this.styleStart[B]=G.fromString(F).toHexString();this.styleStart[B]=A.map(A.bind(function(H){return parseInt(this.styleStart[B].slice(H*2+1,H*2+3),16)},this),[0,1,2]);this.styleEnd[B]=A.map(A.bind(function(H){return parseInt(this.styleEnd[B].slice(H*2+1,H*2+3),16)},this),[0,1,2])}}else{this.element.style[B]=F}}}},update:function(B){var E;for(var D in this.styleStart){if(this.units[D]=="color"){var A="#";var F=this.styleStart[D];var C=this.styleEnd[D];MochiKit.Base.map(MochiKit.Base.bind(function(G){A+=MochiKit.Color.toColorPart(Math.round(F[G]+(C[G]-F[G])*B))},this),[0,1,2]);this.element.style[D]=A}else{E=this.styleStart[D]+Math.round((this.styleEnd[D]-this.styleStart[D])*B*1000)/1000+this.units[D];this.element.style[D]=E}}}});MochiKit.Visual.fade=function(C,B){var D=MochiKit.Style;var A=D.getStyle(C,"opacity");B=MochiKit.Base.update({from:D.getStyle(C,"opacity")||1,to:0,afterFinishInternal:function(E){if(E.options.to!==0){return }D.hideElement(E.element);D.setStyle(E.element,{opacity:A})}},B);return new MochiKit.Visual.Opacity(C,B)};MochiKit.Visual.appear=function(C,B){var D=MochiKit.Style;var A=MochiKit.Visual;B=MochiKit.Base.update({from:(D.getStyle(C,"display")=="none"?0:D.getStyle(C,"opacity")||0),to:1,afterFinishInternal:function(E){A.forceRerendering(E.element)},beforeSetupInternal:function(E){D.setStyle(E.element,{opacity:E.options.from});D.showElement(E.element)}},B);return new A.Opacity(C,B)};MochiKit.Visual.puff=function(E,D){var F=MochiKit.Style;var C=MochiKit.Visual;E=MochiKit.DOM.getElement(E);var B=MochiKit.Style.getElementDimensions(E,true);var A={position:F.getStyle(E,"position"),top:E.style.top,left:E.style.left,width:E.style.width,height:E.style.height,opacity:F.getStyle(E,"opacity")};D=MochiKit.Base.update({beforeSetupInternal:function(G){MochiKit.Position.absolutize(G.effects[0].element)},afterFinishInternal:function(G){F.hideElement(G.effects[0].element);F.setStyle(G.effects[0].element,A)},scaleContent:true,scaleFromCenter:true},D);return new C.Parallel([new C.Scale(E,200,{sync:true,scaleFromCenter:D.scaleFromCenter,scaleMode:{originalHeight:B.h,originalWidth:B.w},scaleContent:D.scaleContent,restoreAfterFinish:true}),new C.Opacity(E,{sync:true,to:0})],D)};MochiKit.Visual.blindUp=function(C,B){var E=MochiKit.DOM;var D=MochiKit.Style;C=E.getElement(C);var A=D.getElementDimensions(C,true);var F=D.makeClipping(C);B=MochiKit.Base.update({scaleContent:false,scaleX:false,scaleMode:{originalHeight:A.h,originalWidth:A.w},restoreAfterFinish:true,afterFinishInternal:function(G){D.hideElement(G.element);D.undoClipping(G.element,F)}},B);return new MochiKit.Visual.Scale(C,0,B)};MochiKit.Visual.blindDown=function(C,B){var E=MochiKit.DOM;var D=MochiKit.Style;C=E.getElement(C);var A=D.getElementDimensions(C,true);var F;B=MochiKit.Base.update({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:A.h,originalWidth:A.w},restoreAfterFinish:true,afterSetupInternal:function(G){F=D.makeClipping(G.element);D.setStyle(G.element,{height:"0px"});D.showElement(G.element)},afterFinishInternal:function(G){D.undoClipping(G.element,F)}},B);return new MochiKit.Visual.Scale(C,100,B)};MochiKit.Visual.switchOff=function(E,D){var G=MochiKit.DOM;var F=MochiKit.Style;E=G.getElement(E);var A=F.getElementDimensions(E,true);var C=F.getStyle(E,"opacity");var H;D=MochiKit.Base.update({duration:0.7,restoreAfterFinish:true,beforeSetupInternal:function(I){F.makePositioned(E);H=F.makeClipping(E)},afterFinishInternal:function(I){F.hideElement(E);F.undoClipping(E,H);F.undoPositioned(E);F.setStyle(E,{opacity:C})}},D);var B=MochiKit.Visual;return new B.Sequence([new B.appear(E,{sync:true,duration:0.57*D.duration,from:0,transition:B.Transitions.flicker}),new B.Scale(E,1,{sync:true,duration:0.43*D.duration,scaleFromCenter:true,scaleX:false,scaleMode:{originalHeight:A.h,originalWidth:A.w},scaleContent:false,restoreAfterFinish:true})],D)};MochiKit.Visual.dropOut=function(D,C){var F=MochiKit.DOM;var E=MochiKit.Style;D=F.getElement(D);var A={top:E.getStyle(D,"top"),left:E.getStyle(D,"left"),opacity:E.getStyle(D,"opacity")};C=MochiKit.Base.update({duration:0.5,distance:100,beforeSetupInternal:function(G){E.makePositioned(G.effects[0].element)},afterFinishInternal:function(G){E.hideElement(G.effects[0].element);E.undoPositioned(G.effects[0].element);E.setStyle(G.effects[0].element,A)}},C);var B=MochiKit.Visual;return new B.Parallel([new B.Move(D,{x:0,y:C.distance,sync:true}),new B.Opacity(D,{sync:true,to:0})],C)};MochiKit.Visual.shake=function(D,C){var F=MochiKit.DOM;var B=MochiKit.Visual;var E=MochiKit.Style;D=F.getElement(D);var A={top:E.getStyle(D,"top"),left:E.getStyle(D,"left")};C=MochiKit.Base.update({duration:0.5,afterFinishInternal:function(G){E.undoPositioned(D);E.setStyle(D,A)}},C);return new B.Sequence([new B.Move(D,{sync:true,duration:0.1*C.duration,x:20,y:0}),new B.Move(D,{sync:true,duration:0.2*C.duration,x:-40,y:0}),new B.Move(D,{sync:true,duration:0.2*C.duration,x:40,y:0}),new B.Move(D,{sync:true,duration:0.2*C.duration,x:-40,y:0}),new B.Move(D,{sync:true,duration:0.2*C.duration,x:40,y:0}),new B.Move(D,{sync:true,duration:0.1*C.duration,x:-20,y:0})],C)};MochiKit.Visual.slideDown=function(E,D){var G=MochiKit.DOM;var B=MochiKit.Base;var F=MochiKit.Style;E=G.getElement(E);if(!E.firstChild){throw new Error("MochiKit.Visual.slideDown must be used on a element with a child")}G.removeEmptyTextNodes(E);var A=F.getStyle(E.firstChild,"bottom")||0;var C=F.getElementDimensions(E,true);var H;D=B.update({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:C.h,originalWidth:C.w},restoreAfterFinish:true,afterSetupInternal:function(I){F.makePositioned(I.element);F.makePositioned(I.element.firstChild);if(/Opera/.test(navigator.userAgent)){F.setStyle(I.element,{top:""})}H=F.makeClipping(I.element);F.setStyle(I.element,{height:"0px"});F.showElement(I.element)},afterUpdateInternal:function(J){var I=F.getElementDimensions(J.element,true);F.setStyle(J.element.firstChild,{bottom:(J.dims[0]-I.h)+"px"})},afterFinishInternal:function(I){F.undoClipping(I.element,H);if(/MSIE/.test(navigator.userAgent)){F.undoPositioned(I.element);F.undoPositioned(I.element.firstChild)}else{F.undoPositioned(I.element.firstChild);F.undoPositioned(I.element)}F.setStyle(I.element.firstChild,{bottom:A})}},D);return new MochiKit.Visual.Scale(E,100,D)};MochiKit.Visual.slideUp=function(E,D){var G=MochiKit.DOM;var B=MochiKit.Base;var F=MochiKit.Style;E=G.getElement(E);if(!E.firstChild){throw new Error("MochiKit.Visual.slideUp must be used on a element with a child")}G.removeEmptyTextNodes(E);var A=F.getStyle(E.firstChild,"bottom");var C=F.getElementDimensions(E,true);var H;D=B.update({scaleContent:false,scaleX:false,scaleMode:{originalHeight:C.h,originalWidth:C.w},scaleFrom:100,restoreAfterFinish:true,beforeStartInternal:function(I){F.makePositioned(I.element);F.makePositioned(I.element.firstChild);if(/Opera/.test(navigator.userAgent)){F.setStyle(I.element,{top:""})}H=F.makeClipping(I.element);F.showElement(I.element)},afterUpdateInternal:function(J){var I=F.getElementDimensions(J.element,true);F.setStyle(J.element.firstChild,{bottom:(J.dims[0]-I.h)+"px"})},afterFinishInternal:function(I){F.hideElement(I.element);F.undoClipping(I.element,H);F.undoPositioned(I.element.firstChild);F.undoPositioned(I.element);F.setStyle(I.element.firstChild,{bottom:A})}},D);return new MochiKit.Visual.Scale(E,0,D)};MochiKit.Visual.squish=function(D,C){var F=MochiKit.DOM;var A=MochiKit.Base;var E=MochiKit.Style;var B=E.getElementDimensions(D,true);var G;C=A.update({restoreAfterFinish:true,scaleMode:{originalHeight:B.w,originalWidth:B.h},beforeSetupInternal:function(H){G=E.makeClipping(H.element)},afterFinishInternal:function(H){E.hideElement(H.element);E.undoClipping(H.element,G)}},C);return new MochiKit.Visual.Scale(D,/Opera/.test(navigator.userAgent)?1:0,C)};MochiKit.Visual.grow=function(F,L){var G=MochiKit.DOM;var J=MochiKit.Visual;var K=MochiKit.Style;F=G.getElement(F);L=MochiKit.Base.update({direction:"center",moveTransition:J.Transitions.sinoidal,scaleTransition:J.Transitions.sinoidal,opacityTransition:J.Transitions.full,scaleContent:true,scaleFromCenter:false},L);var D={top:F.style.top,left:F.style.left,height:F.style.height,width:F.style.width,opacity:K.getStyle(F,"opacity")};var I=K.getElementDimensions(F,true);var E,C;var B,A;switch(L.direction){case"top-left":E=C=B=A=0;break;case"top-right":E=I.w;C=A=0;B=-I.w;break;case"bottom-left":E=B=0;C=I.h;A=-I.h;break;case"bottom-right":E=I.w;C=I.h;B=-I.w;A=-I.h;break;case"center":E=I.w/2;C=I.h/2;B=-I.w/2;A=-I.h/2;break}var H=MochiKit.Base.update({beforeSetupInternal:function(M){K.setStyle(M.effects[0].element,{height:"0px"});K.showElement(M.effects[0].element)},afterFinishInternal:function(M){K.undoClipping(M.effects[0].element);K.undoPositioned(M.effects[0].element);K.setStyle(M.effects[0].element,D)}},L);return new J.Move(F,{x:E,y:C,duration:0.01,beforeSetupInternal:function(M){K.hideElement(M.element);K.makeClipping(M.element);K.makePositioned(M.element)},afterFinishInternal:function(M){new J.Parallel([new J.Opacity(M.element,{sync:true,to:1,from:0,transition:L.opacityTransition}),new J.Move(M.element,{x:B,y:A,sync:true,transition:L.moveTransition}),new J.Scale(M.element,100,{scaleMode:{originalHeight:I.h,originalWidth:I.w},sync:true,scaleFrom:/Opera/.test(navigator.userAgent)?1:0,transition:L.scaleTransition,scaleContent:L.scaleContent,scaleFromCenter:L.scaleFromCenter,restoreAfterFinish:true})],H)}})};MochiKit.Visual.shrink=function(E,K){var F=MochiKit.DOM;var I=MochiKit.Visual;var J=MochiKit.Style;E=F.getElement(E);K=MochiKit.Base.update({direction:"center",moveTransition:I.Transitions.sinoidal,scaleTransition:I.Transitions.sinoidal,opacityTransition:I.Transitions.none,scaleContent:true,scaleFromCenter:false},K);var C={top:E.style.top,left:E.style.left,height:E.style.height,width:E.style.width,opacity:J.getStyle(E,"opacity")};var H=J.getElementDimensions(E,true);var B,A;switch(K.direction){case"top-left":B=A=0;break;case"top-right":B=H.w;A=0;break;case"bottom-left":B=0;A=H.h;break;case"bottom-right":B=H.w;A=H.h;break;case"center":B=H.w/2;A=H.h/2;break}var D;var G=MochiKit.Base.update({beforeStartInternal:function(L){J.makePositioned(L.effects[0].element);D=J.makeClipping(L.effects[0].element)},afterFinishInternal:function(L){J.hideElement(L.effects[0].element);J.undoClipping(L.effects[0].element,D);J.undoPositioned(L.effects[0].element);J.setStyle(L.effects[0].element,C)}},K);return new I.Parallel([new I.Opacity(E,{sync:true,to:0,from:1,transition:K.opacityTransition}),new I.Scale(E,/Opera/.test(navigator.userAgent)?1:0,{scaleMode:{originalHeight:H.h,originalWidth:H.w},sync:true,transition:K.scaleTransition,scaleContent:K.scaleContent,scaleFromCenter:K.scaleFromCenter,restoreAfterFinish:true}),new I.Move(E,{x:B,y:A,sync:true,transition:K.moveTransition})],G)};MochiKit.Visual.pulsate=function(E,D){var G=MochiKit.DOM;var C=MochiKit.Visual;var A=MochiKit.Base;var B=MochiKit.Style.getStyle(E,"opacity");D=A.update({duration:3,from:0,afterFinishInternal:function(H){MochiKit.Style.setStyle(H.element,{opacity:B})}},D);var F=D.transition||C.Transitions.sinoidal;D.transition=function(H){return F(1-C.Transitions.pulse(H,D.pulses))};return new C.Opacity(E,D)};MochiKit.Visual.fold=function(E,D){var G=MochiKit.DOM;var C=MochiKit.Visual;var F=MochiKit.Style;E=G.getElement(E);var B=F.getElementDimensions(E,true);var A={top:E.style.top,left:E.style.left,width:E.style.width,height:E.style.height};var H=F.makeClipping(E);D=MochiKit.Base.update({scaleContent:false,scaleX:false,scaleMode:{originalHeight:B.h,originalWidth:B.w},afterFinishInternal:function(I){new C.Scale(E,1,{scaleContent:false,scaleY:false,scaleMode:{originalHeight:B.h,originalWidth:B.w},afterFinishInternal:function(J){F.hideElement(J.element);F.undoClipping(J.element,H);F.setStyle(J.element,A)}})}},D);return new C.Scale(E,5,D)};MochiKit.Visual.Color=MochiKit.Color.Color;MochiKit.Visual.getElementsComputedStyle=MochiKit.DOM.computedStyle;MochiKit.Visual.__new__=function(){var A=MochiKit.Base;A.nameFunctions(this);this.EXPORT_TAGS={":common":this.EXPORT,":all":A.concat(this.EXPORT,this.EXPORT_OK)}};MochiKit.Visual.EXPORT=["roundElement","roundClass","tagifyText","multiple","toggle","Parallel","Sequence","Opacity","Move","Scale","Highlight","ScrollTo","Morph","fade","appear","puff","blindUp","blindDown","switchOff","dropOut","shake","slideDown","slideUp","squish","grow","shrink","pulsate","fold"];MochiKit.Visual.EXPORT_OK=["Base","PAIRS"];MochiKit.Visual.__new__();MochiKit.Base._exportSymbols(this,MochiKit.Visual);MochiKit.Base._deps("Selector",["Base","DOM","Iter"]);MochiKit.Selector.NAME="MochiKit.Selector";MochiKit.Selector.VERSION="1.5";MochiKit.Selector.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]"};MochiKit.Selector.toString=function(){return this.__repr__()};MochiKit.Selector.EXPORT=["Selector","findChildElements","findDocElements","$$"];MochiKit.Selector.EXPORT_OK=[];MochiKit.Selector.Selector=function(A){this.params={classNames:[],pseudoClassNames:[]};this.expression=A.toString().replace(/(^\s+|\s+$)/g,"");this.parseExpression();this.compileMatcher()};MochiKit.Selector.Selector.prototype={__class__:MochiKit.Selector.Selector,parseExpression:function(){function H(I){throw"Parse error in selector: "+I}if(this.expression==""){H("empty expression")}var B=MochiKit.Base.repr;var G=this.params;var F=this.expression;var C,A,E,D;while(C=F.match(/^(.*)\[([a-z0-9_:-]+?)(?:([~\|!^$*]?=)(?:"([^"]*)"|([^\]\s]*)))?\]$/i)){G.attributes=G.attributes||[];G.attributes.push({name:C[2],operator:C[3],value:C[4]||C[5]||""});F=C[1]}if(F=="*"){return this.params.wildcard=true}while(C=F.match(/^([^a-z0-9_-])?([a-z0-9_-]+(?:\([^)]*\))?)(.*)/i)){A=C[1];E=C[2];D=C[3];switch(A){case"#":G.id=E;break;case".":G.classNames.push(E);break;case":":G.pseudoClassNames.push(E);break;case"":case undefined:G.tagName=E.toUpperCase();break;default:H(B(F))}F=D}if(F.length>0){H(B(F))}},buildMatchExpression:function(){var B=MochiKit.Base.repr;var C=this.params;var J=[];var G,D;function K(M){return"MochiKit.Base.filter(function (node) { return node.nodeType == 1; }, "+M+".childNodes)"}if(C.wildcard){J.push("true")}if(G=C.id){J.push("element.id == "+B(G))}if(G=C.tagName){J.push("element.tagName.toUpperCase() == "+B(G))}if((G=C.classNames).length>0){for(D=0;D<G.length;D++){J.push("MochiKit.DOM.hasElementClass(element, "+B(G[D])+")")}}if((G=C.pseudoClassNames).length>0){for(D=0;D<G.length;D++){var E=G[D].match(/^([^(]+)(?:\((.*)\))?$/);var L=E[1];var A=E[2];switch(L){case"root":J.push("element.nodeType == 9 || element === element.ownerDocument.documentElement");break;case"nth-child":case"nth-last-child":case"nth-of-type":case"nth-last-of-type":E=A.match(/^((?:(\d+)n\+)?(\d+)|odd|even)$/);if(!E){throw"Invalid argument to pseudo element nth-child: "+A}var I,F;if(E[0]=="odd"){I=2;F=1}else{if(E[0]=="even"){I=2;F=0}else{I=E[2]&&parseInt(E)||null;F=parseInt(E[3])}}J.push("this.nthChild(element,"+I+","+F+","+!!L.match("^nth-last")+","+!!L.match("of-type$")+")");break;case"first-child":J.push("this.nthChild(element, null, 1)");break;case"last-child":J.push("this.nthChild(element, null, 1, true)");break;case"first-of-type":J.push("this.nthChild(element, null, 1, false, true)");break;case"last-of-type":J.push("this.nthChild(element, null, 1, true, true)");break;case"only-child":J.push(K("element.parentNode")+".length == 1");break;case"only-of-type":J.push("MochiKit.Base.filter(function (node) { return node.tagName == element.tagName; }, "+K("element.parentNode")+").length == 1");break;case"empty":J.push("element.childNodes.length == 0");break;case"enabled":J.push("(this.isUIElement(element) && element.disabled === false)");break;case"disabled":J.push("(this.isUIElement(element) && element.disabled === true)");break;case"checked":J.push("(this.isUIElement(element) && element.checked === true)");break;case"not":var H=new MochiKit.Selector.Selector(A);J.push("!( "+H.buildMatchExpression()+")");break}}}if(G=C.attributes){MochiKit.Base.map(function(N){var O="MochiKit.DOM.getNodeAttribute(element, "+B(N.name)+")";var M=function(P){return O+".split("+B(P)+")"};J.push(O+" != null");switch(N.operator){case"=":J.push(O+" == "+B(N.value));break;case"~=":J.push("MochiKit.Base.findValue("+M(" ")+", "+B(N.value)+") > -1");break;case"^=":J.push(O+".substring(0, "+N.value.length+") == "+B(N.value));break;case"$=":J.push(O+".substring("+O+".length - "+N.value.length+") == "+B(N.value));break;case"*=":J.push(O+".match("+B(N.value)+")");break;case"|=":J.push(M("-")+"[0].toUpperCase() == "+B(N.value.toUpperCase()));break;case"!=":J.push(O+" != "+B(N.value));break;case"":case undefined:break;default:throw"Unknown operator "+N.operator+" in selector"}},G)}return J.join(" && ")},compileMatcher:function(){var A="return (!element.tagName) ? false : "+this.buildMatchExpression()+";";this.match=new Function("element",A)},nthChild:function(D,B,A,C,F){var G=MochiKit.Base.filter(function(H){return H.nodeType==1},D.parentNode.childNodes);if(F){G=MochiKit.Base.filter(function(H){return H.tagName==D.tagName},G)}if(C){G=MochiKit.Iter.reversed(G)}if(B){var E=MochiKit.Base.findIdentical(G,D);return((E+1-A)/B)%1==0}else{return A==MochiKit.Base.findIdentical(G,D)+1}},isUIElement:function(A){return MochiKit.Base.findValue(["input","button","select","option","textarea","object"],A.tagName.toLowerCase())>-1},findElements:function(G,F){var E;if(F==undefined){F=""}function B(H,J){if(F==""){return MochiKit.DOM.isChildNode(H,J)}else{if(F==">"){return H.parentNode===J}else{if(F=="+"){return H===C(J)}else{if(F=="~"){var I=J;while(I=C(I)){if(H===I){return true}}return false}else{throw"Invalid axis: "+F}}}}}if(E=MochiKit.DOM.getElement(this.params.id)){if(this.match(E)){if(!G||B(E,G)){return[E]}}}function C(H){H=H.nextSibling;while(H&&H.nodeType!=1){H=H.nextSibling}return H}if(F==""){G=(G||MochiKit.DOM.currentDocument()).getElementsByTagName(this.params.tagName||"*")}else{if(F==">"){if(!G){throw"> combinator not allowed without preceeding expression"}G=MochiKit.Base.filter(function(H){return H.nodeType==1},G.childNodes)}else{if(F=="+"){if(!G){throw"+ combinator not allowed without preceeding expression"}G=C(G)&&[C(G)]}else{if(F=="~"){if(!G){throw"~ combinator not allowed without preceeding expression"}var A=[];while(C(G)){G=C(G);A.push(G)}G=A}}}}if(!G){return[]}var D=MochiKit.Base.filter(MochiKit.Base.bind(function(H){return this.match(H)},this),G);return D},repr:function(){return"Selector("+this.expression+")"},toString:MochiKit.Base.forwardCall("repr")};MochiKit.Base.update(MochiKit.Selector,{findChildElements:function(A,B){var C=function(D){var F=[];for(var E=0;E<D.length;E++){if(MochiKit.Base.findIdentical(F,D[E])<0){F.push(D[E])}}return F};return MochiKit.Base.flattenArray(MochiKit.Base.map(function(G){var D="";var F=function(I,K){if(match=K.match(/^[>+~]$/)){D=match[0];return I}else{var H=new MochiKit.Selector.Selector(K);var J=MochiKit.Iter.reduce(function(M,L){return MochiKit.Base.extend(M,H.findElements(L||A,D))},I,[]);D="";return J}};var E=G.replace(/(^\s+|\s+$)/g,"").split(/\s+/);return C(MochiKit.Iter.reduce(F,E,[null]))},B))},findDocElements:function(){return MochiKit.Selector.findChildElements(MochiKit.DOM.currentDocument(),arguments)},__new__:function(){var A=MochiKit.Base;this.$$=this.findDocElements;this.EXPORT_TAGS={":common":this.EXPORT,":all":A.concat(this.EXPORT,this.EXPORT_OK)};A.nameFunctions(this)}});MochiKit.Selector.__new__();MochiKit.Base._exportSymbols(this,MochiKit.Selector);MochiKit.Base._deps("Async",["Base"]);MochiKit.Async.NAME="MochiKit.Async";MochiKit.Async.VERSION="1.5";MochiKit.Async.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]"};MochiKit.Async.toString=function(){return this.__repr__()};MochiKit.Async.Deferred=function(A){this.chain=[];this.id=this._nextId();this.fired=-1;this.paused=0;this.results=[null,null];this.canceller=A;this.silentlyCancelled=false;this.chained=false};MochiKit.Async.Deferred.prototype={repr:function(){var A;if(this.fired==-1){A="unfired"}else{if(this.fired===0){A="success"}else{A="error"}}return"Deferred("+this.id+", "+A+")"},toString:MochiKit.Base.forwardCall("repr"),_nextId:MochiKit.Base.counter(),cancel:function(){var A=MochiKit.Async;if(this.fired==-1){if(this.canceller){this.canceller(this)}else{this.silentlyCancelled=true}if(this.fired==-1){this.errback(new A.CancelledError(this))}}else{if((this.fired===0)&&(this.results[0] instanceof A.Deferred)){this.results[0].cancel()}}},_resback:function(A){this.fired=((A instanceof Error)?1:0);this.results[this.fired]=A;this._fire()},_check:function(){if(this.fired!=-1){if(!this.silentlyCancelled){throw new MochiKit.Async.AlreadyCalledError(this)}this.silentlyCancelled=false;return }},callback:function(A){this._check();if(A instanceof MochiKit.Async.Deferred){throw new Error("Deferred instances can only be chained if they are the result of a callback")}this._resback(A)},errback:function(B){this._check();var A=MochiKit.Async;if(B instanceof A.Deferred){throw new Error("Deferred instances can only be chained if they are the result of a callback")}if(!(B instanceof Error)){B=new A.GenericError(B)}this._resback(B)},addBoth:function(A){if(arguments.length>1){A=MochiKit.Base.partial.apply(null,arguments)}return this.addCallbacks(A,A)},addCallback:function(A){if(arguments.length>1){A=MochiKit.Base.partial.apply(null,arguments)}return this.addCallbacks(A,null)},addErrback:function(A){if(arguments.length>1){A=MochiKit.Base.partial.apply(null,arguments)}return this.addCallbacks(null,A)},addCallbacks:function(A,B){if(this.chained){throw new Error("Chained Deferreds can not be re-used")}this.chain.push([A,B]);if(this.fired>=0){this._fire()}return this},_fire:function(){var D=this.chain;var G=this.fired;var C=this.results[G];var B=this;var A=null;while(D.length>0&&this.paused===0){var H=D.shift();var F=H[G];if(F===null){continue}try{C=F(C);G=((C instanceof Error)?1:0);if(C instanceof MochiKit.Async.Deferred){A=function(I){B._resback(I);B.paused--;if((B.paused===0)&&(B.fired>=0)){B._fire()}};this.paused++}}catch(E){G=1;if(!(E instanceof Error)){E=new MochiKit.Async.GenericError(E)}C=E}}this.fired=G;this.results[G]=C;if(A&&this.paused){C.addBoth(A);C.chained=true}}};MochiKit.Base.update(MochiKit.Async,{evalJSONRequest:function(A){return MochiKit.Base.evalJSON(A.responseText)},succeed:function(A){var B=new MochiKit.Async.Deferred();B.callback.apply(B,arguments);return B},fail:function(A){var B=new MochiKit.Async.Deferred();B.errback.apply(B,arguments);return B},getXMLHttpRequest:function(){var A=arguments.callee;if(!A.XMLHttpRequest){var E=[function(){return new XMLHttpRequest()},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")},function(){return new ActiveXObject("Msxml2.XMLHTTP.4.0")},function(){throw new MochiKit.Async.BrowserComplianceError("Browser does not support XMLHttpRequest")}];for(var B=0;B<E.length;B++){var C=E[B];try{A.XMLHttpRequest=C;return C()}catch(D){}}}return A.XMLHttpRequest()},_xhr_onreadystatechange:function(E){var A=MochiKit.Base;if(this.readyState==4){try{this.onreadystatechange=null}catch(D){try{this.onreadystatechange=A.noop}catch(D){}}var B=null;try{B=this.status;if(!B&&A.isNotEmpty(this.responseText)){B=304}}catch(D){}if(B==200||B==201||B==204||B==304||B==1223){E.callback(this)}else{var C=new MochiKit.Async.XMLHttpRequestError(this,"Request failed");if(C.number){E.errback(C)}else{E.errback(C)}}}},_xhr_canceller:function(A){try{A.onreadystatechange=null}catch(B){try{A.onreadystatechange=MochiKit.Base.noop}catch(B){}}A.abort()},sendXMLHttpRequest:function(D,C){if(typeof (C)=="undefined"||C===null){C=""}var A=MochiKit.Base;var B=MochiKit.Async;var F=new B.Deferred(A.partial(B._xhr_canceller,D));try{D.onreadystatechange=A.bind(B._xhr_onreadystatechange,D,F);D.send(C)}catch(E){try{D.onreadystatechange=null}catch(G){}F.errback(E)}return F},doXHR:function(B,C){var A=MochiKit.Async;return A.callLater(0,A._doXHR,B,C)},_doXHR:function(C,A){var E=MochiKit.Base;A=E.update({method:"GET",sendContent:""},A);var K=MochiKit.Async;var I=K.getXMLHttpRequest();if(A.queryString){var H=E.queryString(A.queryString);if(H){C+="?"+H}}if("username" in A){I.open(A.method,C,true,A.username,A.password)}else{I.open(A.method,C,true)}if(I.overrideMimeType&&A.mimeType){I.overrideMimeType(A.mimeType)}I.setRequestHeader("X-Requested-With","XMLHttpRequest");if(A.headers){var D=A.headers;if(!E.isArrayLike(D)){D=E.items(D)}for(var F=0;F<D.length;F++){var G=D[F];var B=G[0];var J=G[1];I.setRequestHeader(B,J)}}return K.sendXMLHttpRequest(I,A.sendContent)},_buildURL:function(C){if(arguments.length>1){var B=MochiKit.Base;var A=B.queryString.apply(null,B.extend(null,arguments,1));if(A){return C+"?"+A}}return C},doSimpleXMLHttpRequest:function(B){var A=MochiKit.Async;B=A._buildURL.apply(A,arguments);return A.doXHR(B)},loadJSONDoc:function(B){var A=MochiKit.Async;B=A._buildURL.apply(A,arguments);var C=A.doXHR(B,{mimeType:"text/plain",headers:[["Accept","application/json"]]});C=C.addCallback(A.evalJSONRequest);return C},wait:function(E,C){var D=new MochiKit.Async.Deferred();var A=MochiKit.Base;if(typeof (C)!="undefined"){D.addCallback(function(){return C})}var B=setTimeout(A.bind("callback",D),Math.floor(E*1000));D.canceller=function(){try{clearTimeout(B)}catch(F){}};return D},callLater:function(D,B){var A=MochiKit.Base;var C=A.partial.apply(A,A.extend(null,arguments,1));return MochiKit.Async.wait(D).addCallback(function(E){return C()})}});MochiKit.Async.DeferredLock=function(){this.waiting=[];this.locked=false;this.id=this._nextId()};MochiKit.Async.DeferredLock.prototype={__class__:MochiKit.Async.DeferredLock,acquire:function(){var A=new MochiKit.Async.Deferred();if(this.locked){this.waiting.push(A)}else{this.locked=true;A.callback(this)}return A},release:function(){if(!this.locked){throw TypeError("Tried to release an unlocked DeferredLock")}this.locked=false;if(this.waiting.length>0){this.locked=true;this.waiting.shift().callback(this)}},_nextId:MochiKit.Base.counter(),repr:function(){var A;if(this.locked){A="locked, "+this.waiting.length+" waiting"}else{A="unlocked"}return"DeferredLock("+this.id+", "+A+")"},toString:MochiKit.Base.forwardCall("repr")};MochiKit.Async.DeferredList=function(G,F,B,D,I){MochiKit.Async.Deferred.apply(this,[I]);this.list=G;var A=[];this.resultList=A;this.finishedCount=0;this.fireOnOneCallback=F;this.fireOnOneErrback=B;this.consumeErrors=D;var C=MochiKit.Base.bind(this._cbDeferred,this);for(var E=0;E<G.length;E++){var H=G[E];A.push(undefined);H.addCallback(C,E,true);H.addErrback(C,E,false)}if(G.length===0&&!F){this.callback(this.resultList)}};MochiKit.Async.DeferredList.prototype=new MochiKit.Async.Deferred();MochiKit.Async.DeferredList.prototype._cbDeferred=function(B,C,A){this.resultList[B]=[C,A];this.finishedCount+=1;if(this.fired==-1){if(C&&this.fireOnOneCallback){this.callback([B,A])}else{if(!C&&this.fireOnOneErrback){this.errback(A)}else{if(this.finishedCount==this.list.length){this.callback(this.resultList)}}}}if(!C&&this.consumeErrors){A=null}return A};MochiKit.Async.gatherResults=function(A){var B=new MochiKit.Async.DeferredList(A,false,true,false);B.addCallback(function(E){var C=[];for(var D=0;D<E.length;D++){C.push(E[D][1])}return C});return B};MochiKit.Async.maybeDeferred=function(D){var B=MochiKit.Async;var A;try{var C=D.apply(null,MochiKit.Base.extend([],arguments,1));if(C instanceof B.Deferred){A=C}else{if(C instanceof Error){A=B.fail(C)}else{A=B.succeed(C)}}}catch(E){A=B.fail(E)}return A};MochiKit.Async.EXPORT=["AlreadyCalledError","CancelledError","BrowserComplianceError","GenericError","XMLHttpRequestError","Deferred","succeed","fail","getXMLHttpRequest","doSimpleXMLHttpRequest","loadJSONDoc","wait","callLater","sendXMLHttpRequest","DeferredLock","DeferredList","gatherResults","maybeDeferred","doXHR"];MochiKit.Async.EXPORT_OK=["evalJSONRequest"];MochiKit.Async.__new__=function(){var A=MochiKit.Base;var B=A.partial(A._newNamedError,this);B("AlreadyCalledError",function(C){this.deferred=C});B("CancelledError",function(C){this.deferred=C});B("BrowserComplianceError",function(C){this.message=C});B("GenericError",function(C){this.message=C});B("XMLHttpRequestError",function(C,E){this.req=C;this.message=E;try{this.number=C.status}catch(D){}});this.EXPORT_TAGS={":common":this.EXPORT,":all":A.concat(this.EXPORT,this.EXPORT_OK)};A.nameFunctions(this)};MochiKit.Async.__new__();MochiKit.Base._exportSymbols(this,MochiKit.Async);MochiKit.Base._deps("Format",["Base"]);MochiKit.Format.NAME="MochiKit.Format";MochiKit.Format.VERSION="1.5";MochiKit.Format.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]"};MochiKit.Format.toString=function(){return this.__repr__()};MochiKit.Format._numberFormatter=function(H,D,G,F,A,E,I,B,C){return function(O){O=parseFloat(O);if(typeof (O)=="undefined"||O===null||isNaN(O)){return H}var K=D;var P=G;if(O<0){O=-O}else{K=K.replace(/-/,"")}var R=arguments.callee;var L=MochiKit.Format.formatLocale(F);if(A){O=O*100;P=L.percent+P}O=MochiKit.Format.roundToFixed(O,E);var M=O.split(/\./);var S=M[0];var J=(M.length==1)?"":M[1];var Q="";while(S.length<I){S="0"+S}if(B){while(S.length>B){var N=S.length-B;Q=L.separator+S.substring(N,S.length)+Q;S=S.substring(0,N)}}Q=S+Q;if(E>0){while(J.length<C){J=J+"0"}Q=Q+L.decimal+J}return K+Q+P}};MochiKit.Format.numberFormatter=function(M,F,K){if(typeof (F)=="undefined"){F=""}var G=M.match(/((?:[0#]+,)?[0#]+)(?:\.([0#]+))?(%)?/);if(!G){throw TypeError("Invalid pattern")}var L=M.substr(0,G.index);var I=M.substr(G.index+G[0].length);if(L.search(/-/)==-1){L=L+"-"}var P=G[1];var E=(typeof (G[2])=="string"&&G[2]!="")?G[2]:"";var A=(typeof (G[3])=="string"&&G[3]!="");var O=P.split(/,/);var Q;if(typeof (K)=="undefined"){K="default"}if(O.length==1){Q=null}else{Q=O[1].length}var C=P.length-P.replace(/0/g,"").length;var D=E.length-E.replace(/0/g,"").length;var N=E.length;var R=MochiKit.Format._numberFormatter(F,L,I,K,A,N,C,Q,D);var J=MochiKit.Base;if(J){var H=arguments.callee;var B=J.concat(arguments);R.repr=function(){return[self.NAME,"(",map(J.repr,B).join(", "),")"].join("")}}return R};MochiKit.Format.formatLocale=function(A){if(typeof (A)=="undefined"||A===null){A="default"}if(typeof (A)=="string"){var B=MochiKit.Format.LOCALE[A];if(typeof (B)=="string"){B=arguments.callee(B);MochiKit.Format.LOCALE[A]=B}return B}else{return A}};MochiKit.Format.twoDigitAverage=function(B,C){if(C){var A=B/C;if(!isNaN(A)){return MochiKit.Format.twoDigitFloat(A)}}return"0"};MochiKit.Format.twoDigitFloat=function(B){var A=roundToFixed(B,2);if(A.indexOf(".00")>0){return A.substring(0,A.length-3)}else{if(A.charAt(A.length-1)=="0"){return A.substring(0,A.length-1)}else{return A}}};MochiKit.Format.lstrip=function(B,A){B=B+"";if(typeof (B)!="string"){return null}if(!A){return B.replace(/^\s+/,"")}else{return B.replace(new RegExp("^["+A+"]+"),"")}};MochiKit.Format.rstrip=function(B,A){B=B+"";if(typeof (B)!="string"){return null}if(!A){return B.replace(/\s+$/,"")}else{return B.replace(new RegExp("["+A+"]+$"),"")}};MochiKit.Format.strip=function(C,B){var A=MochiKit.Format;return A.rstrip(A.lstrip(C,B),B)};MochiKit.Format.truncToFixed=function(D,A){var C=Math.floor(D).toFixed(0);if(D<0){C=Math.ceil(D).toFixed(0);if(C.charAt(0)!="-"&&A>0){C="-"+C}}if(C.indexOf("e")<0&&A>0){var B=D.toString();if(B.indexOf("e")>0){B="."}else{if(B.indexOf(".")<0){B="."}else{B=B.substring(B.indexOf("."))}}if(B.length-1>A){B=B.substring(0,A+1)}while(B.length-1<A){B+="0"}C+=B}return C};MochiKit.Format.roundToFixed=function(C,A){var D=Math.abs(C)+0.5*Math.pow(10,-A);var B=MochiKit.Format.truncToFixed(D,A);if(C<0){B="-"+B}return B};MochiKit.Format.percentFormat=function(A){return MochiKit.Format.twoDigitFloat(100*A)+"%"};MochiKit.Format.EXPORT=["truncToFixed","roundToFixed","numberFormatter","formatLocale","twoDigitAverage","twoDigitFloat","percentFormat","lstrip","rstrip","strip"];MochiKit.Format.LOCALE={en_US:{separator:",",decimal:".",percent:"%"},de_DE:{separator:".",decimal:",",percent:"%"},pt_BR:{separator:".",decimal:",",percent:"%"},fr_FR:{separator:" ",decimal:",",percent:"%"},"default":"en_US"};MochiKit.Format.EXPORT_OK=[];MochiKit.Format.EXPORT_TAGS={":all":MochiKit.Format.EXPORT,":common":MochiKit.Format.EXPORT};MochiKit.Format.__new__=function(){var C=this.NAME+".";var B,A,E;for(B in this.LOCALE){E=this.LOCALE[B];if(typeof (E)=="object"){E.repr=function(){return this.NAME};E.NAME=C+"LOCALE."+B}}for(B in this){E=this[B];if(typeof (E)=="function"&&typeof (E.NAME)=="undefined"){try{E.NAME=C+B}catch(D){}}}};MochiKit.Format.__new__();if(typeof (MochiKit.Base)!="undefined"){MochiKit.Base._exportSymbols(this,MochiKit.Format)}else{(function(D,B){if((typeof (JSAN)=="undefined"&&typeof (dojo)=="undefined")||(MochiKit.__export__===false)){var C=B.EXPORT_TAGS[":all"];for(var A=0;A<C.length;A++){D[C[A]]=B[C[A]]}}})(this,MochiKit.Format)};MochiKit.Base._deps("DateTime",["Base"]);MochiKit.DateTime.NAME="MochiKit.DateTime";MochiKit.DateTime.VERSION="1.5";MochiKit.DateTime.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]"};MochiKit.DateTime.toString=function(){return this.__repr__()};MochiKit.DateTime.isoDate=function(C){C=C+"";if(typeof (C)!="string"||C.length===0){return null}var B=C.split("-");if(B.length===0){return null}var A=new Date(B[0],B[1]-1,B[2]);A.setFullYear(B[0]);A.setMonth(B[1]-1);A.setDate(B[2]);return A};MochiKit.DateTime._isoRegexp=/(\d{4,})(?:-(\d{1,2})(?:-(\d{1,2})(?:[T ](\d{1,2}):(\d{1,2})(?::(\d{1,2})(?:\.(\d+))?)?(?:(Z)|([+-])(\d{1,2})(?::(\d{1,2}))?)?)?)?)?/;MochiKit.DateTime.isoTimestamp=function(H){H=H+"";if(typeof (H)!="string"||H.length===0){return null}var G=H.match(MochiKit.DateTime._isoRegexp);if(typeof (G)=="undefined"||G===null){return null}var I,E,J,B,C,D,A;I=parseInt(G[1],10);if(typeof (G[2])=="undefined"||G[2]===""){return new Date(I)}E=parseInt(G[2],10)-1;J=parseInt(G[3],10);if(typeof (G[4])=="undefined"||G[4]===""){return new Date(I,E,J)}B=parseInt(G[4],10);C=parseInt(G[5],10);D=(typeof (G[6])!="undefined"&&G[6]!=="")?parseInt(G[6],10):0;if(typeof (G[7])!="undefined"&&G[7]!==""){A=Math.round(1000*parseFloat("0."+G[7]))}else{A=0}if((typeof (G[8])=="undefined"||G[8]==="")&&(typeof (G[9])=="undefined"||G[9]==="")){return new Date(I,E,J,B,C,D,A)}var F;if(typeof (G[9])!="undefined"&&G[9]!==""){F=parseInt(G[10],10)*3600000;if(typeof (G[11])!="undefined"&&G[11]!==""){F+=parseInt(G[11],10)*60000}if(G[9]=="-"){F=-F}}else{F=0}return new Date(Date.UTC(I,E,J,B,C,D,A)-F)};MochiKit.DateTime.toISOTime=function(C,B){if(typeof (C)=="undefined"||C===null){return null}var E=C.getHours();var F=C.getMinutes();var D=C.getSeconds();var A=[((B&&(E<10))?"0"+E:E),((F<10)?"0"+F:F),((D<10)?"0"+D:D)];return A.join(":")};MochiKit.DateTime.toISOTimestamp=function(C,A){if(typeof (C)=="undefined"||C===null){return null}var B=A?"T":" ";var D=A?"Z":"";if(A){C=new Date(C.getTime()+(C.getTimezoneOffset()*60000))}return MochiKit.DateTime.toISODate(C)+B+MochiKit.DateTime.toISOTime(C,A)+D};MochiKit.DateTime.toISODate=function(A){if(typeof (A)=="undefined"||A===null){return null}var C=MochiKit.DateTime._padTwo;var B=MochiKit.DateTime._padFour;return[B(A.getFullYear()),C(A.getMonth()+1),C(A.getDate())].join("-")};MochiKit.DateTime.americanDate=function(B){B=B+"";if(typeof (B)!="string"||B.length===0){return null}var A=B.split("/");return new Date(A[2],A[0]-1,A[1])};MochiKit.DateTime._padTwo=function(A){return(A>9)?A:"0"+A};MochiKit.DateTime._padFour=function(A){switch(A.toString().length){case 1:return"000"+A;break;case 2:return"00"+A;break;case 3:return"0"+A;break;case 4:default:return A}};MochiKit.DateTime.toPaddedAmericanDate=function(A){if(typeof (A)=="undefined"||A===null){return null}var B=MochiKit.DateTime._padTwo;return[B(A.getMonth()+1),B(A.getDate()),A.getFullYear()].join("/")};MochiKit.DateTime.toAmericanDate=function(A){if(typeof (A)=="undefined"||A===null){return null}return[A.getMonth()+1,A.getDate(),A.getFullYear()].join("/")};MochiKit.DateTime.EXPORT=["isoDate","isoTimestamp","toISOTime","toISOTimestamp","toISODate","americanDate","toPaddedAmericanDate","toAmericanDate"];MochiKit.DateTime.EXPORT_OK=[];MochiKit.DateTime.EXPORT_TAGS={":common":MochiKit.DateTime.EXPORT,":all":MochiKit.DateTime.EXPORT};MochiKit.DateTime.__new__=function(){var B=this.NAME+".";for(var A in this){var D=this[A];if(typeof (D)=="function"&&typeof (D.NAME)=="undefined"){try{D.NAME=B+A}catch(C){}}}};MochiKit.DateTime.__new__();if(typeof (MochiKit.Base)!="undefined"){MochiKit.Base._exportSymbols(this,MochiKit.DateTime)}else{(function(D,B){if((typeof (JSAN)=="undefined"&&typeof (dojo)=="undefined")||(MochiKit.__export__===false)){var C=B.EXPORT_TAGS[":all"];for(var A=0;A<C.length;A++){D[C[A]]=B[C[A]]}}})(this,MochiKit.DateTime)};