/***

MochiKit 1.4

See <http://mochikit.com/> for documentation, downloads, license, etc.

(c) 2005 Bob Ippolito.  All rights Reserved.


MIT License
===========

Copyright (c) 2005 Bob Ippolito.  All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

***/
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.4";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},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," ");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(/[\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 K=typeof (A);if(K=="number"||K=="boolean"){return A+""}else{if(A===null){return"null"}}var C=MochiKit.Base;var L=C.reprString;if(K=="string"){return L(A)}var J=arguments.callee;var E;if(typeof (A.__json__)=="function"){E=A.__json__();if(A!==E){return J(E)}}if(typeof (A.json)=="function"){E=A.json();if(A!==E){return J(E)}}if(K!="function"&&typeof (A.length)=="number"){var I=[];for(var G=0;G<A.length;G++){var B=J(A[G]);if(typeof (B)!="string"){B="undefined"}I.push(B)}return"["+I.join(", ")+"]"}try{E=C.jsonRegistry.match(A);if(A!==E){return J(E)}}catch(H){if(H!=C.NotFound){throw H}}if(K=="undefined"){throw new TypeError("undefined can not be serialized as JSON")}if(K=="function"){return null}I=[];for(var D in A){var F;if(typeof (D)=="number"){F='"'+D+'"'}else{if(typeof (D)=="string"){F=L(D)}else{continue}}B=J(A[D]);if(typeof (B)!="string"){continue}I.push(F+":"+B)}return"{"+I.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","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("DateTime",["Base"]);MochiKit.DateTime.NAME="MochiKit.DateTime";MochiKit.DateTime.VERSION="1.4";MochiKit.DateTime.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]"};MochiKit.DateTime.toString=function(){return this.__repr__()};MochiKit.DateTime.isoDate=function(B){B=B+"";if(typeof (B)!="string"||B.length===0){return null}var A=B.split("-");if(A.length===0){return null}return new Date(A[0],A[1]-1,A[2])};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=A.getFullYear();if(B<1000){B="0"+B}if(B<100){B="0"+B}if(B<10){B="0"+B}return[B,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.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)}MochiKit.Base._deps("DOM",["Base"]);MochiKit.DOM.NAME="MochiKit.DOM";MochiKit.DOM.VERSION="1.4";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","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","escapeHTML","toHTML","emitHTML","scrapeText","isParent","getFirstParentByTagAndClassName","makeClipping","undoClipping","makePositioned","undoPositioned","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"],["hideElement","MochiKit.Style.hideElement","1.4"],["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"],["Coordinates","MochiKit.Style.Coordinates","1.4"],["Dimensions","MochiKit.Style.Dimensions","1.4"]];MochiKit.DOM.getViewportDimensions=new Function('if (!MochiKit["Style"]) {    throw new Error("This function has been deprecated and depends on MochiKit.Style.");}return MochiKit.Style.getViewportDimensions.apply(this, arguments);');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(C,D){var A=MochiKit.DOM;if(typeof (C)=="string"){C=A.getElement(C)}if(typeof (D)=="string"){D=A.getElement(D)}if(typeof (C)=="undefined"||C===null||C===A._document){return false}do{if(C===D){return true}var B=C.tagName;C=C.parentNode;if(!B){break}B=B.toUpperCase()}while(B!="BODY"&&B!="HTML");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(D,A){var C=MochiKit.DOM;var B=C.attributeArray.renames[A];D=C.getElement(D);try{if(B){return D[B]}return D.getAttribute(A)}catch(E){}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)}}}}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)}}}}}}}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(A){var B=MochiKit.DOM.getElement(A);B.parentNode.removeChild(B);return B},swapDOM:function(B,D){var A=MochiKit.DOM;B=A.getElement(B);var C=B.parentNode;if(D){D=A.getElement(D);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);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(!J){continue}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(A==undefined||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(A==undefined||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);var A=H.className;if(!A){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)}}},makeClipping:function(B){B=MochiKit.DOM.getElement(B);var A=B.style.overflow;if((MochiKit.Style.getStyle(B,"overflow")||"visible")!="hidden"){B.style.overflow="hidden"}return A},undoClipping:function(A,B){A=MochiKit.DOM.getElement(A);if(!B){return }A.style.overflow=B},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=""}},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);var C=(H.getElementsByTagName(D)||I._document.all);if(typeof (G)=="undefined"||G===null){return C[0]}for(var F=0;F<C.length;F++){var B=C[F];var A=B.className.split(" ");for(var E=0;E<A.length;E++){if(A[E]==G){return B}}}},getFirstParentByTagAndClassName:function(F,D,E){var A=MochiKit.DOM;F=A.getElement(F);if(typeof (D)=="undefined"||D===null){D="*"}else{D=D.toUpperCase()}if(typeof (E)=="undefined"||E===null){E=null}var G="";var C="";while(F&&F.tagName){F=F.parentNode;if(D=="*"&&E===null){return F}G=F.className.split(" ");C=F.tagName.toUpperCase();if(E===null&&D==C){return F}else{if(E!==null){for(var B=0;B<G.length;B++){if(D=="*"&&G[B]==E){return F}else{if(D==C&&G[B]==E){return F}}}}}}return F},isParent:function(B,A){if(!B.parentNode||B==A){return false}if(B.parentNode==A){return true}return MochiKit.DOM.isParent(B.parentNode,A)},__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.renames={}}this.attributeArray=A;var G=function(Q,M){var N=M[1].split(".");var P="";var O={};P+="if (!MochiKit."+N[1]+') { throw new Error("';P+="This function has been deprecated and depends on MochiKit.";P+=N[1]+'.");}';P+="return MochiKit."+N[1]+"."+M[0];P+=".apply(this, arguments);";O[N[2]]=new Function(P);MochiKit.Base.update(MochiKit[Q],O)};for(var H;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.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.4";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","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(D,A){var G=MochiKit.DOM;var F=G._document;D=G.getElement(D);A=MochiKit.Base.camelize(A);if(!D||D==F){return undefined}if(A=="opacity"&&D.filters){var B=(MochiKit.Style.getStyle(D,"filter")||"").match(/alpha\(opacity=(.*)\)/);if(B&&B[1]){return parseFloat(B[1])/100}return 1}var E=D.style?D.style[A]:null;if(!E){if(F.defaultView&&F.defaultView.getComputedStyle){var C=F.defaultView.getComputedStyle(D,null);A=A.replace(/([A-Z])/g,"-$1").toLowerCase();E=C?C.getPropertyValue(A):null}else{if(D.currentStyle){E=D.currentStyle[A]}}}if(A=="opacity"){E=parseFloat(E)}if(/Opera/.test(navigator.userAgent)&&(MochiKit.Base.find(["left","top","right","bottom"],A)!=-1)){if(MochiKit.Style.getStyle(D,"position")=="static"){E="auto"}}return E=="auto"?null:E},setStyle:function(C,B){C=MochiKit.DOM.getElement(C);for(var A in B){if(A=="opacity"){MochiKit.Style.setOpacity(C,B[A])}else{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);return H}else{if(C.offsetParent){H.x+=C.offsetLeft;H.y+=C.offsetTop;K=C.offsetParent;if(K!=C){while(K){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(typeof (D)!="undefined"){D=arguments.callee(D);if(D){H.x-=(D.x||0);H.y-=(D.y||0)}}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}}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})},getElementDimensions:function(B){var H=MochiKit.Style;var C=MochiKit.DOM;if(typeof (B.w)=="number"||typeof (B.h)=="number"){return new H.Dimensions(B.w||0,B.h||0)}B=C.getElement(B);if(!B){return undefined}var F=H.getStyle(B,"display");if(F!="none"&&F!==""&&typeof (F)!="undefined"){return new H.Dimensions(B.offsetWidth||0,B.offsetHeight||0)}var I=B.style;var G=I.visibility;var E=I.position;I.visibility="hidden";I.position="absolute";I.display="";var A=B.offsetWidth;var D=B.offsetHeight;I.display="none";I.position=E;I.visibility=G;return new H.Dimensions(A,D)},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})},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;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("Signal",["Base","DOM","Style"]);MochiKit.Signal.NAME="MochiKit.Signal";MochiKit.Signal.VERSION="1.4";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"){B+=", button: {left: "+A(this.mouse().button.left)+", middle: "+A(this.mouse().button.middle)+", right: "+A(this.mouse().button.right)+"}}"}else{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(){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)}}if(A!==null){this._relatedTarget=A;return A}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"){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)}}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.bind(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)},_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{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;if(!B.isDOM){return }var D=B.source;var C=B.signal;var A=B.listener;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("Logging",["Base"]);MochiKit.Logging.NAME="MochiKit.Logging";MochiKit.Logging.VERSION="1.4";MochiKit.Logging.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]"};MochiKit.Logging.toString=function(){return this.__repr__()};MochiKit.Logging.EXPORT=["LogLevel","LogMessage","Logger","alertListener","logger","log","logError","logDebug","logFatal","logWarning"];MochiKit.Logging.EXPORT_OK=["logLevelAtLeast","isLogMessage","compareLogMessage"];MochiKit.Logging.LogMessage=function(A,C,B){this.num=A;this.level=C;this.info=B;this.timestamp=new Date()};MochiKit.Logging.LogMessage.prototype={repr:function(){var A=MochiKit.Base;return"LogMessage("+A.map(A.repr,[this.num,this.level,this.info]).join(", ")+")"},toString:MochiKit.Base.forwardCall("repr")};MochiKit.Base.update(MochiKit.Logging,{logLevelAtLeast:function(B){var A=MochiKit.Logging;if(typeof (B)=="string"){B=A.LogLevel[B]}return function(D){var C=D.level;if(typeof (C)=="string"){C=A.LogLevel[C]}return C>=B}},isLogMessage:function(){var B=MochiKit.Logging.LogMessage;for(var A=0;A<arguments.length;A++){if(!(arguments[A] instanceof B)){return false}}return true},compareLogMessage:function(B,A){return MochiKit.Base.compare([B.level,B.info],[A.level,A.info])},alertListener:function(A){alert("num: "+A.num+"\nlevel: "+A.level+"\ninfo: "+A.info.join(" "))}});MochiKit.Logging.Logger=function(A){this.counter=0;if(typeof (A)=="undefined"||A===null){A=-1}this.maxSize=A;this._messages=[];this.listeners={};this.useNativeConsole=false};MochiKit.Logging.Logger.prototype={clear:function(){this._messages.splice(0,this._messages.length)},logToConsole:function(A){if(typeof (window)!="undefined"&&window.console&&window.console.log){window.console.log(A.replace(/%/g,"\uFF05"))}else{if(typeof (opera)!="undefined"&&opera.postError){opera.postError(A)}else{if(typeof (printfire)=="function"){printfire(A)}else{if(typeof (Debug)!="undefined"&&Debug.writeln){Debug.writeln(A)}else{if(typeof (debug)!="undefined"&&debug.trace){debug.trace(A)}}}}}},dispatchListeners:function(C){for(var A in this.listeners){var B=this.listeners[A];if(B.ident!=A||(B[0]&&!B[0](C))){continue}B[1](C)}},addListener:function(D,A,C){if(typeof (A)=="string"){A=MochiKit.Logging.logLevelAtLeast(A)}var B=[A,C];B.ident=D;this.listeners[D]=B},removeListener:function(A){delete this.listeners[A]},baseLog:function(C,A){var B=new MochiKit.Logging.LogMessage(this.counter,C,MochiKit.Base.extend(null,arguments,1));this._messages.push(B);this.dispatchListeners(B);if(this.useNativeConsole){this.logToConsole(B.level+": "+B.info.join(" "))}this.counter+=1;while(this.maxSize>=0&&this._messages.length>this.maxSize){this._messages.shift()}},getMessages:function(A){var B=0;if(!(typeof (A)=="undefined"||A===null)){B=Math.max(0,this._messages.length-A)}return this._messages.slice(B)},getMessageText:function(B){if(typeof (B)=="undefined"||B===null){B=30}var C=this.getMessages(B);if(C.length){var A=map(function(D){return"\n  ["+D.num+"] "+D.level+": "+D.info.join(" ")},C);A.unshift("LAST "+C.length+" MESSAGES:");return A.join("")}return""},debuggingBookmarklet:function(A){if(typeof (MochiKit.LoggingPane)=="undefined"){alert(this.getMessageText())}else{MochiKit.LoggingPane.createLoggingPane(A||false)}}};MochiKit.Logging.__new__=function(){this.LogLevel={ERROR:40,FATAL:50,WARNING:30,INFO:20,DEBUG:10};var A=MochiKit.Base;A.registerComparator("LogMessage",this.isLogMessage,this.compareLogMessage);var D=A.partial;var C=this.Logger;var F=C.prototype.baseLog;A.update(this.Logger.prototype,{debug:D(F,"DEBUG"),log:D(F,"INFO"),error:D(F,"ERROR"),fatal:D(F,"FATAL"),warning:D(F,"WARNING")});var B=this;var E=function(G){return function(){B.logger[G].apply(B.logger,arguments)}};this.log=E("log");this.logError=E("error");this.logDebug=E("debug");this.logFatal=E("fatal");this.logWarning=E("warning");this.logger=new C();this.logger.useNativeConsole=true;this.EXPORT_TAGS={":common":this.EXPORT,":all":A.concat(this.EXPORT,this.EXPORT_OK)};A.nameFunctions(this)};if(typeof (printfire)=="undefined"&&typeof (document)!="undefined"&&document.createEvent&&typeof (dispatchEvent)!="undefined"){printfire=function(){printfire.args=arguments;var A=document.createEvent("Events");A.initEvent("printfire",false,true);dispatchEvent(A)}}MochiKit.Logging.__new__();MochiKit.Base._exportSymbols(this,MochiKit.Logging)