/*See <http://mochikit.com/> for documentation, downloads, license, etc. (c) 2005 Bob Ippolito. All rights Reserved.*/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(y,V){if(y===null){y={};}for(var M=1;M<arguments.length;M++){var s=arguments[M];if(typeof (s)!="undefined"&&s!==null){for(var a in s){y[a]=s[a];}}}return y;};MochiKit.Base.update(MochiKit.Base,{__repr__:function(){return "["+this.NAME+" "+this.VERSION+"]";},toString:function(){return this.__repr__();},camelize:function(M){var a=M.split("-");var y=a[0];for(var V=1;V<a.length;V++){y+=a[V].charAt(0).toUpperCase()+a[V].substring(1);}return y;},counter:function(a){if(arguments.length===0){a=1;}return function(){return a++;};},clone:function(M){var a=arguments.callee;if(arguments.length==1){a.prototype=M;return new a();}},_flattenArray:function(V,a){for(var M=0;M<a.length;M++){var y=a[M];if(y instanceof Array){arguments.callee(V,y);}else{V.push(y);}}return V;},flattenArray:function(a){return MochiKit.Base._flattenArray([],a);},flattenArguments:function(M){var y=[];var a=MochiKit.Base;var s=a.extend(null,arguments);while(s.length){var g=s.shift();if(g&&typeof (g)=="object"&&typeof (g.length)=="number"){for(var V=g.length-1;V>=0;V--){s.unshift(g[V]);}}else{y.push(g);}}return y;},extend:function(y,s,M){if(!M){M=0;}if(s){var a=s.length;if(typeof (a)!="number"){if(typeof (MochiKit.Iter)!="undefined"){s=MochiKit.Iter.list(s);a=s.length;}else{throw new TypeError("Argument not an array-like and MochiKit.Iter not present");}}if(!y){y=[];}for(var V=M;V<a;V++){y.push(s[V]);}}return y;},updatetree:function(a,s){if(a===null){a={};}for(var y=1;y<arguments.length;y++){var g=arguments[y];if(typeof (g)!="undefined"&&g!==null){for(var V in g){var M=g[V];if(typeof (a[V])=="object"&&typeof (M)=="object"){arguments.callee(a[V],M);}else{a[V]=M;}}}}return a;},setdefault:function(a,y){if(a===null){a={};}for(var V=1;V<arguments.length;V++){var s=arguments[V];for(var M in s){if(!(M in a)){a[M]=s[M];}}}return a;},keys:function(a){var V=[];for(var M in a){V.push(M);}return V;},values:function(V){var M=[];for(var a in V){M.push(V[a]);}return M;},items:function(s){var V=[];var y;for(var M in s){var a;try{a=s[M];}catch(y){continue;}V.push([M,a]);}return V;},_newNamedError:function(V,M,a){a.prototype=new MochiKit.Base.NamedError(V.NAME+"."+M);V[M]=a;},operator:{truth:function(M){return !!M;},lognot:function(M){return !M;},identity:function(M){return M;},not:function(M){return ~M;},neg:function(M){return -M;},add:function(V,M){return V+M;},sub:function(V,M){return V-M;},div:function(V,M){return V/M;},mod:function(V,M){return V%M;},mul:function(V,M){return V*M;},and:function(V,M){return V&M;},or:function(V,M){return V|M;},xor:function(V,M){return V^M;},lshift:function(V,M){return V<<M;},rshift:function(V,M){return V>>M;},zrshift:function(V,M){return V>>>M;},eq:function(V,M){return V==M;},ne:function(V,M){return V!=M;},gt:function(V,M){return V>M;},ge:function(V,M){return V>=M;},lt:function(V,M){return V<M;},le:function(V,M){return V<=M;},seq:function(V,M){return V===M;},sne:function(V,M){return V!==M;},ceq:function(V,M){return MochiKit.Base.compare(V,M)===0;},cne:function(V,M){return MochiKit.Base.compare(V,M)!==0;},cgt:function(V,M){return MochiKit.Base.compare(V,M)==1;},cge:function(V,M){return MochiKit.Base.compare(V,M)!=-1;},clt:function(V,M){return MochiKit.Base.compare(V,M)==-1;},cle:function(V,M){return MochiKit.Base.compare(V,M)!=1;},logand:function(V,M){return V&&M;},logor:function(V,M){return V||M;},contains:function(V,M){return M in V;}},forwardCall:function(a){return function(){return this[a].apply(this,arguments);};},itemgetter:function(a){return function(M){return M[a];};},typeMatcher:function(){var V={};for(var a=0;a<arguments.length;a++){var M=arguments[a];V[M]=M;}return function(){for(var y=0;y<arguments.length;y++){if(!(typeof (arguments[y]) in V)){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 M=arguments[a];if(!(typeof (M)=="undefined"||M===null)){return false;}}return true;},isEmpty:function(a){return !MochiKit.Base.isNotEmpty.apply(this,arguments);},isNotEmpty:function(M){for(var a=0;a<arguments.length;a++){var V=arguments[a];if(!(V&&V.length)){return false;}}return true;},isArrayLike:function(){for(var a=0;a<arguments.length;a++){var V=arguments[a];var M=typeof (V);if((M!="object"&&!(M=="function"&&typeof (V.item)=="function"))||V===null||typeof (V.length)!="number"||V.nodeType===3){return false;}}return true;},isDateLike:function(){for(var a=0;a<arguments.length;a++){var M=arguments[a];if(typeof (M)!="object"||M===null||typeof (M.getTime)!="function"){return false;}}return true;},xmap:function(V){if(V===null){return MochiKit.Base.extend(null,arguments,1);}var M=[];for(var a=1;a<arguments.length;a++){M.push(V(arguments[a]));}return M;},map:function(L,X){var M=MochiKit.Base;var J=MochiKit.Iter;var N=M.isArrayLike;if(arguments.length<=2){if(!N(X)){if(J){X=J.list(X);if(L===null){return X;}}else{throw new TypeError("Argument not an array-like and MochiKit.Iter not present");}}if(L===null){return M.extend(null,X);}var s=[];for(var o=0;o<X.length;o++){s.push(L(X[o]));}return s;}else{if(L===null){L=Array;}var y=null;for(o=1;o<arguments.length;o++){if(!N(arguments[o])){if(J){return J.list(J.imap.apply(null,arguments));}else{throw new TypeError("Argument not an array-like and MochiKit.Iter not present");}}var V=arguments[o].length;if(y===null||y>V){y=V;}}s=[];for(o=0;o<y;o++){var a=[];for(var g=1;g<arguments.length;g++){a.push(arguments[g][o]);}s.push(L.apply(this,a));}return s;}},xfilter:function(M){var y=[];if(M===null){M=MochiKit.Base.operator.truth;}for(var a=1;a<arguments.length;a++){var V=arguments[a];if(M(V)){y.push(V);}}return y;},filter:function(y,M,g){var s=[];var a=MochiKit.Base;if(!a.isArrayLike(M)){if(MochiKit.Iter){M=MochiKit.Iter.list(M);}else{throw new TypeError("Argument not an array-like and MochiKit.Iter not present");}}if(y===null){y=a.operator.truth;}if(typeof (Array.prototype.filter)=="function"){return Array.prototype.filter.call(M,y,g);}else{if(typeof (g)=="undefined"||g===null){for(var V=0;V<M.length;V++){var N=M[V];if(y(N)){s.push(N);}}}else{for(V=0;V<M.length;V++){N=M[V];if(y.call(g,N)){s.push(N);}}}}return s;},_wrapDumbFunction:function(_50){return function(){switch(arguments.length){case 0:return _50();case 1:return _50(arguments[0]);case 2:return _50(arguments[0],arguments[1]);case 3:return _50(arguments[0],arguments[1],arguments[2]);}var _51=[];for(var i=0;i<arguments.length;i++){_51.push("arguments["+i+"]");}return eval("(func("+_51.join(",")+"))");};},methodcaller:function(M){var a=MochiKit.Base.extend(null,arguments,1);if(typeof (M)=="function"){return function(V){return M.apply(V,a);};}else{return function(V){return V[M].apply(V,a);};}},method:function(V,M){var a=MochiKit.Base;return a.bind.apply(this,a.extend([M,V],arguments,2));},compose:function(M,g){var s=[];var a=MochiKit.Base;if(arguments.length===0){throw new TypeError("compose() requires at least one argument");}for(var V=0;V<arguments.length;V++){var y=arguments[V];if(typeof (y)!="function"){throw new TypeError(a.repr(y)+" is not a function");}s.push(y);}return function(){var o=arguments;for(var N=s.length-1;N>=0;N--){o=[s[N].apply(this,o)];}return o[0];};},bind:function(N,g){if(typeof (N)=="string"){N=g[N];}var s=N.im_func;var y=N.im_preargs;var V=N.im_self;var a=MochiKit.Base;if(typeof (N)=="function"&&typeof (N.apply)=="undefined"){N=a._wrapDumbFunction(N);}if(typeof (s)!="function"){s=N;}if(typeof (g)!="undefined"){V=g;}if(typeof (y)=="undefined"){y=[];}else{y=y.slice();}a.extend(y,arguments,2);var M=function(){var o=arguments;var X=arguments.callee;if(X.im_preargs.length>0){o=a.concat(X.im_preargs,o);}var J=X.im_self;if(!J){J=this;}return X.im_func.apply(J,o);};M.im_self=V;M.im_func=s;M.im_preargs=y;return M;},bindMethods:function(y){var M=MochiKit.Base.bind;for(var V in y){var a=y[V];if(typeof (a)=="function"){y[V]=M(a,y);}}},registerComparator:function(a,y,V,M){MochiKit.Base.comparatorRegistry.register(a,y,V,M);},_primitives:{"boolean":true,"string":true,"number":true},compare:function(y,V){if(y==V){return 0;}var o=(typeof (y)=="undefined"||y===null);var N=(typeof (V)=="undefined"||V===null);if(o&&N){return 0;}else{if(o){return -1;}else{if(N){return 1;}}}var M=MochiKit.Base;var g=M._primitives;if(!(typeof (y) in g&&typeof (V) in g)){try{return M.comparatorRegistry.match(y,V);}catch(X){if(X!=M.NotFound){throw X;}}}if(y<V){return -1;}else{if(y>V){return 1;}}var s=M.repr;throw new TypeError(s(y)+" and "+s(V)+" can not be compared");},compareDateLike:function(V,M){return MochiKit.Base.compare(V.getTime(),M.getTime());},compareArrayLike:function(V,M){var g=MochiKit.Base.compare;var s=V.length;var y=0;if(s>M.length){y=1;s=M.length;}else{if(s<M.length){y=-1;}}for(var N=0;N<s;N++){var o=g(V[N],M[N]);if(o){return o;}}return y;},registerRepr:function(a,y,V,M){MochiKit.Base.reprRegistry.register(a,y,V,M);},repr:function(y){if(typeof (y)=="undefined"){return "undefined";}else{if(y===null){return "null";}}try{if(typeof (y.__repr__)=="function"){return y.__repr__();}else{if(typeof (y.repr)=="function"&&y.repr!=arguments.callee){return y.repr();}}return MochiKit.Base.reprRegistry.match(y);}catch(V){if(typeof (y.NAME)=="string"&&(y.toString==Function.prototype.toString||y.toString==Object.prototype.toString)){return y.NAME;}}try{var M=(y+"");}catch(V){return "["+typeof (y)+"]";}if(typeof (y)=="function"){y=M.replace(/^\s+/,"");var a=y.indexOf("{");if(a!=-1){y=y.substr(0,a)+"{...}";}}return M;},reprArrayLike:function(M){var a=MochiKit.Base;return "["+a.map(a.repr,M).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(y,V,M,a){MochiKit.Base.jsonRegistry.register(y,V,M,a);},evalJSON:function(){return eval("("+arguments[0]+")");},serializeJSON:function(a){var f=typeof (a);if(f=="number"||f=="boolean"){return a+"";}else{if(a===null){return "null";}}var V=MochiKit.Base;var J=V.reprString;if(f=="string"){return J(a);}var b=arguments.callee;var N;if(typeof (a.__json__)=="function"){N=a.__json__();if(a!==N){return b(N);}}if(typeof (a.json)=="function"){N=a.json();if(a!==N){return b(N);}}if(f!="function"&&typeof (a.length)=="number"){var L=[];for(var s=0;s<a.length;s++){var M=b(a[s]);if(typeof (M)!="string"){M="undefined";}L.push(M);}return "["+L.join(", ")+"]";}try{N=V.jsonRegistry.match(a);if(a!==N){return b(N);}}catch(X){if(X!=V.NotFound){throw X;}}if(f=="undefined"){throw new TypeError("undefined can not be serialized as JSON");}if(f=="function"){return null;}L=[];for(var y in a){var g;if(typeof (y)=="number"){g="\""+y+"\"";}else{if(typeof (y)=="string"){g=J(y);}else{continue;}}M=b(a[y]);if(typeof (M)!="string"){continue;}L.push(g+":"+M);}return "{"+L.join(", ")+"}";},objEqual:function(V,M){return (MochiKit.Base.compare(V,M)===0);},arrayEqual:function(M,a){if(M.length!=a.length){return false;}return (MochiKit.Base.compare(M,a)===0);},concat:function(){var V=[];var M=MochiKit.Base.extend;for(var a=0;a<arguments.length;a++){M(V,arguments[a]);}return V;},keyComparator:function(y){var a=MochiKit.Base;var V=a.compare;if(arguments.length==1){return function(g,s){return V(g[y],s[y]);};}var M=a.extend(null,arguments);return function(g,s){var X=0;for(var o=0;(X===0)&&(o<M.length);o++){var N=M[o];X=V(g[N],s[N]);}return X;};},reverseKeyComparator:function(M){var a=MochiKit.Base.keyComparator.apply(this,arguments);return function(y,V){return a(V,y);};},partial:function(M){var a=MochiKit.Base;return a.bind.apply(this,a.extend([M,undefined],arguments,1));},listMinMax:function(g,a){if(a.length===0){return null;}var s=a[0];var V=MochiKit.Base.compare;for(var M=1;M<a.length;M++){var y=a[M];if(V(y,s)==g){s=y;}}return s;},objMax:function(){return MochiKit.Base.listMinMax(1,arguments);},objMin:function(){return MochiKit.Base.listMinMax(-1,arguments);},findIdentical:function(a,s,y,M){if(typeof (M)=="undefined"||M===null){M=a.length;}if(typeof (y)=="undefined"||y===null){y=0;}for(var V=y;V<M;V++){if(a[V]===s){return V;}}return -1;},mean:function(){var s=0;var a=MochiKit.Base;var V=a.extend(null,arguments);var M=V.length;while(V.length){var g=V.shift();if(g&&typeof (g)=="object"&&typeof (g.length)=="number"){M+=g.length-1;for(var y=g.length-1;y>=0;y--){s+=g[y];}}else{s+=g;}}if(M<=0){throw new TypeError("mean() requires at least one argument");}return s/M;},median:function(){var M=MochiKit.Base.flattenArguments(arguments);if(M.length===0){throw new TypeError("median() requires at least one argument");}M.sort(compare);if(M.length%2==0){var a=M.length/2;return (M[a]+M[a-1])/2;}else{return M[(M.length-1)/2];}},findValue:function(M,a,g,V){if(typeof (V)=="undefined"||V===null){V=M.length;}if(typeof (g)=="undefined"||g===null){g=0;}var s=MochiKit.Base.compare;for(var y=g;y<V;y++){if(s(M[y],a)===0){return y;}}return -1;},nodeWalk:function(M,s){var y=[M];var V=MochiKit.Base.extend;while(y.length){var a=s(y.shift());if(a){V(y,a);}}},nameFunctions:function(M){var V=M.NAME;if(typeof (V)=="undefined"){V="";}else{V=V+".";}for(var a in M){var s=M[a];if(typeof (s)=="function"&&typeof (s.NAME)=="undefined"){try{s.NAME=V+a;}catch(y){}}}},queryString:function(M,a){if(typeof (MochiKit.DOM)!="undefined"&&arguments.length==1&&(typeof (M)=="string"||(typeof (M.nodeType)!="undefined"&&M.nodeType>0))){var X=MochiKit.DOM.formContents(M);M=X[0];a=X[1];}else{if(arguments.length==1){if(typeof (M.length)=="number"&&M.length==2){return arguments.callee(M[0],M[1]);}var V=M;M=[];a=[];for(var y in V){var J=V[y];if(typeof (J)=="function"){continue;}else{if(typeof (J)!="string"&&typeof (J.length)=="number"){for(var s=0;s<J.length;s++){M.push(y);a.push(J[s]);}}else{M.push(y);a.push(J);}}}}}var g=[];var N=Math.min(M.length,a.length);var L=MochiKit.Base.urlEncode;for(var s=0;s<N;s++){J=a[s];if(typeof (J)!="undefined"&&J!==null){g.push(L(M[s])+"="+L(J));}}return g.join("&");},parseQueryString:function(L,J){var V=(L.charAt(0)=="?")?L.substring(1):L;var X=V.replace(/\+/g,"%20").split(/(\&amp\;|\&\#38\;|\&#x26;|\&)/);var M={};var N;if(typeof (decodeURIComponent)!="undefined"){N=decodeURIComponent;}else{N=unescape;}if(J){for(var s=0;s<X.length;s++){var y=X[s].split("=");if(y.length!==2){continue;}var a=N(y[0]);var g=M[a];if(!(g instanceof Array)){g=[];M[a]=g;}g.push(N(y[1]));}}else{for(s=0;s<X.length;s++){y=X[s].split("=");if(y.length!==2){continue;}M[N(y[0])]=N(y[1]);}}return M;}});MochiKit.Base.AdapterRegistry=function(){this.pairs=[];};MochiKit.Base.AdapterRegistry.prototype={register:function(M,V,y,a){if(a){this.pairs.unshift([M,V,y]);}else{this.pairs.push([M,V,y]);}},match:function(){for(var a=0;a<this.pairs.length;a++){var M=this.pairs[a];if(M[1].apply(this,arguments)){return M[2].apply(this,arguments);}}throw MochiKit.Base.NotFound;},unregister:function(a){for(var M=0;M<this.pairs.length;M++){var V=this.pairs[M];if(V[0]==a){this.pairs.splice(M,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(M,a){if(!MochiKit.__export__){return ;}var y=a.EXPORT_TAGS[":all"];for(var V=0;V<y.length;V++){M[y[V]]=a[y[V]];}};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(V){return encodeURIComponent(V).replace(/\'/g,"%27");};}else{a.urlEncode=function(V){return escape(V).replace(/\+/g,"%2B").replace(/\"/g,"%22").rval.replace(/\'/g,"%27");};}a.NamedError=function(V){this.message=V;this.name=V;};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 M=a.concat(a.EXPORT,a.EXPORT_OK);a.EXPORT_TAGS={":common":a.concat(a.EXPORT_OK),":all":M};a.nameFunctions(this);};MochiKit.Base.__new__();if(MochiKit.__export__){compare=MochiKit.Base.compare;compose=MochiKit.Base.compose;serializeJSON=MochiKit.Base.serializeJSON;}MochiKit.Base._exportSymbols(this,MochiKit.Base);if(typeof (dojo)!="undefined"){dojo.provide("MochiKit.Iter");dojo.require("MochiKit.Base");}if(typeof (JSAN)!="undefined"){JSAN.use("MochiKit.Base",[]);}try{if(typeof (MochiKit.Base)=="undefined"){throw "";}}catch(e){throw "MochiKit.Iter depends on MochiKit.Base!";}if(typeof (MochiKit.Iter)=="undefined"){MochiKit.Iter={};}MochiKit.Iter.NAME="MochiKit.Iter";MochiKit.Iter.VERSION="1.4";MochiKit.Base.update(MochiKit.Iter,{__repr__:function(){return "["+this.NAME+" "+this.VERSION+"]";},toString:function(){return this.__repr__();},registerIteratorFactory:function(a,y,V,M){MochiKit.Iter.iteratorRegistry.register(a,y,V,M);},iter:function(y,V){var M=MochiKit.Iter;if(arguments.length==2){return M.takewhile(function(g){return g!=V;},y);}if(typeof (y.next)=="function"){return y;}else{if(typeof (y.iter)=="function"){return y.iter();}}try{return M.iteratorRegistry.match(y);}catch(s){var a=MochiKit.Base;if(s==a.NotFound){s=new TypeError(typeof (y)+": "+a.repr(y)+" is not iterable");}throw s;}},count:function(M){if(!M){M=0;}var a=MochiKit.Base;return {repr:function(){return "count("+M+")";},toString:a.forwardCall("repr"),next:a.counter(M)};},cycle:function(s){var y=MochiKit.Iter;var M=MochiKit.Base;var a=[];var V=y.iter(s);return {repr:function(){return "cycle(...)";},toString:M.forwardCall("repr"),next:function(){try{var o=V.next();a.push(o);return o;}catch(N){if(N!=y.StopIteration){throw N;}if(a.length===0){this.next=function(){throw y.StopIteration;};}else{var g=-1;this.next=function(){g=(g+1)%a.length;return a[g];};}return this.next();}}};},repeat:function(M,V){var a=MochiKit.Base;if(typeof (V)=="undefined"){return {repr:function(){return "repeat("+a.repr(M)+")";},toString:a.forwardCall("repr"),next:function(){return M;}};}return {repr:function(){return "repeat("+a.repr(M)+", "+V+")";},toString:a.forwardCall("repr"),next:function(){if(V<=0){throw MochiKit.Iter.StopIteration;}V-=1;return M;}};},next:function(a){return a.next();},izip:function(g,y){var a=MochiKit.Base;var M=MochiKit.Iter;var V=M.next;var s=a.map(M.iter,arguments);return {repr:function(){return "izip(...)";},toString:a.forwardCall("repr"),next:function(){return a.map(V,s);}};},ifilter:function(V,M){var a=MochiKit.Base;M=MochiKit.Iter.iter(M);if(V===null){V=a.operator.truth;}return {repr:function(){return "ifilter(...)";},toString:a.forwardCall("repr"),next:function(){while(true){var y=M.next();if(V(y)){return y;}}return undefined;}};},ifilterfalse:function(V,M){var a=MochiKit.Base;M=MochiKit.Iter.iter(M);if(V===null){V=a.operator.truth;}return {repr:function(){return "ifilterfalse(...)";},toString:a.forwardCall("repr"),next:function(){while(true){var y=M.next();if(!V(y)){return y;}}return undefined;}};},islice:function(V){var M=MochiKit.Iter;var a=MochiKit.Base;V=M.iter(V);var N=0;var s=0;var g=1;var y=-1;if(arguments.length==2){s=arguments[1];}else{if(arguments.length==3){N=arguments[1];s=arguments[2];}else{N=arguments[1];s=arguments[2];g=arguments[3];}}return {repr:function(){return "islice("+["...",N,s,g].join(", ")+")";},toString:a.forwardCall("repr"),next:function(){var o;while(y<N){o=V.next();y++;}if(N>=s){throw M.StopIteration;}N+=g;return o;}};},imap:function(M,o,g){var a=MochiKit.Base;var y=MochiKit.Iter;var V=a.map(y.iter,a.extend(null,arguments,1));var N=a.map;var s=y.next;return {repr:function(){return "imap(...)";},toString:a.forwardCall("repr"),next:function(){return M.apply(this,N(s,V));}};},applymap:function(M,y,V){y=MochiKit.Iter.iter(y);var a=MochiKit.Base;return {repr:function(){return "applymap(...)";},toString:a.forwardCall("repr"),next:function(){return M.apply(V,y.next());}};},chain:function(s,y){var V=MochiKit.Iter;var M=MochiKit.Base;if(arguments.length==1){return V.iter(arguments[0]);}var a=M.map(V.iter,arguments);return {repr:function(){return "chain(...)";},toString:M.forwardCall("repr"),next:function(){while(a.length>1){try{return a[0].next();}catch(N){if(N!=V.StopIteration){throw N;}a.shift();}}if(a.length==1){var g=a.shift();this.next=M.bind("next",g);return this.next();}throw V.StopIteration;}};},takewhile:function(V,M){var a=MochiKit.Iter;M=a.iter(M);return {repr:function(){return "takewhile(...)";},toString:MochiKit.Base.forwardCall("repr"),next:function(){var y=M.next();if(!V(y)){this.next=function(){throw a.StopIteration;};this.next();}return y;}};},dropwhile:function(V,M){M=MochiKit.Iter.iter(M);var a=MochiKit.Base;var y=a.bind;return {"repr":function(){return "dropwhile(...)";},"toString":a.forwardCall("repr"),"next":function(){while(true){var s=M.next();if(!V(s)){break;}}this.next=y("next",M);return s;}};},_tee:function(s,M,y){M.pos[s]=-1;var a=MochiKit.Base;var V=a.listMin;return {repr:function(){return "tee("+s+", ...)";},toString:a.forwardCall("repr"),next:function(){var N;var g=M.pos[s];if(g==M.max){N=y.next();M.deque.push(N);M.max+=1;M.pos[s]+=1;}else{N=M.deque[g-M.min];M.pos[s]+=1;if(g==M.min&&V(M.pos)!=M.min){M.min+=1;M.deque.shift();}}return N;}};},tee:function(s,N){var g=[];var y={"pos":[],"deque":[],"max":-1,"min":-1};if(arguments.length==1||typeof (N)=="undefined"||N===null){N=2;}var M=MochiKit.Iter;s=M.iter(s);var a=M._tee;for(var V=0;V<N;V++){g.push(a(V,y,s));}return g;},list:function(V){var a=MochiKit.Base;if(typeof (V.slice)=="function"){return V.slice();}else{if(a.isArrayLike(V)){return a.concat(V);}}var M=MochiKit.Iter;V=M.iter(V);var s=[];try{while(true){s.push(V.next());}}catch(y){if(y!=M.StopIteration){throw y;}return s;}return undefined;},reduce:function(g,y,V){var s=0;var a=V;var M=MochiKit.Iter;y=M.iter(y);if(arguments.length<3){try{a=y.next();}catch(N){if(N==M.StopIteration){N=new TypeError("reduce() of empty sequence with no initial value");}throw N;}s++;}try{while(true){a=g(a,y.next());}}catch(N){if(N!=M.StopIteration){throw N;}}return a;},range:function(){var a=0;var M=0;var V=1;if(arguments.length==1){M=arguments[0];}else{if(arguments.length==2){a=arguments[0];M=arguments[1];}else{if(arguments.length==3){a=arguments[0];M=arguments[1];V=arguments[2];}else{throw new TypeError("range() takes 1, 2, or 3 arguments!");}}}if(V===0){throw new TypeError("range() step must not be 0");}return {next:function(){if((V>0&&a>=M)||(V<0&&a<=M)){throw MochiKit.Iter.StopIteration;}var y=a;a+=V;return y;},repr:function(){return "range("+[a,M,V].join(", ")+")";},toString:MochiKit.Base.forwardCall("repr")};},sum:function(M,s){if(typeof (s)=="undefined"||s===null){s=0;}var a=s;var V=MochiKit.Iter;M=V.iter(M);try{while(true){a+=M.next();}}catch(y){if(y!=V.StopIteration){throw y;}}return a;},exhaust:function(V){var a=MochiKit.Iter;V=a.iter(V);try{while(true){V.next();}}catch(M){if(M!=a.StopIteration){throw M;}}},forEach:function(g,y,M){var a=MochiKit.Base;if(arguments.length>2){y=a.bind(y,M);}if(a.isArrayLike(g)){try{for(var V=0;V<g.length;V++){y(g[V]);}}catch(s){if(s!=MochiKit.Iter.StopIteration){throw s;}}}else{M=MochiKit.Iter;M.exhaust(M.imap(y,g));}},every:function(V,M){var a=MochiKit.Iter;try{a.ifilterfalse(M,V).next();return false;}catch(y){if(y!=a.StopIteration){throw y;}return true;}},sorted:function(M,a){var V=MochiKit.Iter.list(M);if(arguments.length==1){a=MochiKit.Base.compare;}V.sort(a);return V;},reversed:function(a){var M=MochiKit.Iter.list(a);M.reverse();return M;},some:function(M,V){var a=MochiKit.Iter;try{a.ifilter(V,M).next();return true;}catch(y){if(y!=a.StopIteration){throw y;}return false;}},iextend:function(a,V){if(MochiKit.Base.isArrayLike(V)){for(var y=0;y<V.length;y++){a.push(V[y]);}}else{var M=MochiKit.Iter;V=M.iter(V);try{while(true){a.push(V.next());}}catch(s){if(s!=M.StopIteration){throw s;}}}return a;},groupby:function(X,J){var V=MochiKit.Base;var L=MochiKit.Iter;if(arguments.length<2){J=V.operator.identity;}X=L.iter(X);var s=undefined;var y=undefined;var o;function a(){o=X.next();y=J(o);}function M(){var f=o;o=undefined;return f;}var N=true;var g=V.compare;return {repr:function(){return "groupby(...)";},next:function(){while(g(y,s)===0){a();if(N){N=false;break;}}s=y;return [y,{next:function(){if(o==undefined){a();}if(g(y,s)!==0){throw L.StopIteration;}return M();}}];}};},groupby_as_array:function(J,X){var V=MochiKit.Base;var f=MochiKit.Iter;if(arguments.length<2){X=V.operator.identity;}J=f.iter(J);var o=[];var N=true;var s;var y=V.compare;while(true){try{var M=J.next();var L=X(M);}catch(g){if(g==f.StopIteration){break;}throw g;}if(N||y(L,s)!==0){var a=[];o.push([L,a]);}a.push(M);N=false;s=L;}return o;},arrayLikeIter:function(M){var a=0;return {repr:function(){return "arrayLikeIter(...)";},toString:MochiKit.Base.forwardCall("repr"),next:function(){if(a>=M.length){throw MochiKit.Iter.StopIteration;}return M[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 M=a.iterateNext();if(M===null||M===undefined){throw MochiKit.Iter.StopIteration;}return M;}};}});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);if(typeof (dojo)!="undefined"){dojo.provide("MochiKit.Logging");dojo.require("MochiKit.Base");}if(typeof (JSAN)!="undefined"){JSAN.use("MochiKit.Base",[]);}try{if(typeof (MochiKit.Base)=="undefined"){throw "";}}catch(e){throw "MochiKit.Logging depends on MochiKit.Base!";}if(typeof (MochiKit.Logging)=="undefined"){MochiKit.Logging={};}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,M,V){this.num=a;this.level=M;this.info=V;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(M){var a=MochiKit.Logging;if(typeof (M)=="string"){M=a.LogLevel[M];}return function(y){var V=y.level;if(typeof (V)=="string"){V=a.LogLevel[V];}return V>=M;};},isLogMessage:function(){var a=MochiKit.Logging.LogMessage;for(var M=0;M<arguments.length;M++){if(!(arguments[M] instanceof a)){return false;}}return true;},compareLogMessage:function(V,M){return MochiKit.Base.compare([V.level,V.info],[M.level,M.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,"％"));}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(V){for(var a in this.listeners){var M=this.listeners[a];if(M.ident!=a||(M[0]&&!M[0](V))){continue;}M[1](V);}},addListener:function(a,y,V){if(typeof (y)=="string"){y=MochiKit.Logging.logLevelAtLeast(y);}var M=[y,V];M.ident=a;this.listeners[a]=M;},removeListener:function(a){delete this.listeners[a];},baseLog:function(M,a){var V=new MochiKit.Logging.LogMessage(this.counter,M,MochiKit.Base.extend(null,arguments,1));this._messages.push(V);this.dispatchListeners(V);if(this.useNativeConsole){this.logToConsole(V.level+": "+V.info.join(" "));}this.counter+=1;while(this.maxSize>=0&&this._messages.length>this.maxSize){this._messages.shift();}},getMessages:function(M){var a=0;if(!(typeof (M)=="undefined"||M===null)){a=Math.max(0,this._messages.length-M);}return this._messages.slice(a);},getMessageText:function(V){if(typeof (V)=="undefined"||V===null){V=30;}var M=this.getMessages(V);if(M.length){var a=map(function(y){return "\n  ["+y.num+"] "+y.level+": "+y.info.join(" ");},M);a.unshift("LAST "+M.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 M=MochiKit.Base;M.registerComparator("LogMessage",this.isLogMessage,this.compareLogMessage);var a=M.partial;var g=this.Logger;var s=g.prototype.baseLog;M.update(this.Logger.prototype,{debug:a(s,"DEBUG"),log:a(s,"INFO"),error:a(s,"ERROR"),fatal:a(s,"FATAL"),warning:a(s,"WARNING")});var V=this;var y=function(N){return function(){V.logger[N].apply(V.logger,arguments);};};this.log=y("log");this.logError=y("error");this.logDebug=y("debug");this.logFatal=y("fatal");this.logWarning=y("warning");this.logger=new g();this.logger.useNativeConsole=true;this.EXPORT_TAGS={":common":this.EXPORT,":all":M.concat(this.EXPORT,this.EXPORT_OK)};M.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);if(typeof (dojo)!="undefined"){dojo.provide("MochiKit.DateTime");}if(typeof (MochiKit)=="undefined"){MochiKit={};}if(typeof (MochiKit.DateTime)=="undefined"){MochiKit.DateTime={};}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(M){M=M+"";if(typeof (M)!="string"||M.length===0){return null;}var a=M.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(o){o=o+"";if(typeof (o)!="string"||o.length===0){return null;}var N=o.match(MochiKit.DateTime._isoRegexp);if(typeof (N)=="undefined"||N===null){return null;}var X,s,J,M,V,y,a;X=parseInt(N[1],10);if(typeof (N[2])=="undefined"||N[2]===""){return new Date(X);}s=parseInt(N[2],10)-1;J=parseInt(N[3],10);if(typeof (N[4])=="undefined"||N[4]===""){return new Date(X,s,J);}M=parseInt(N[4],10);V=parseInt(N[5],10);y=(typeof (N[6])!="undefined"&&N[6]!=="")?parseInt(N[6],10):0;if(typeof (N[7])!="undefined"&&N[7]!==""){a=Math.round(1000*parseFloat("0."+N[7]));}else{a=0;}if((typeof (N[8])=="undefined"||N[8]==="")&&(typeof (N[9])=="undefined"||N[9]==="")){return new Date(X,s,J,M,V,y,a);}var g;if(typeof (N[9])!="undefined"&&N[9]!==""){g=parseInt(N[10],10)*3600000;if(typeof (N[11])!="undefined"&&N[11]!==""){g+=parseInt(N[11],10)*60000;}if(N[9]=="-"){g=-g;}}else{g=0;}return new Date(Date.UTC(X,s,J,M,V,y,a)-g);};MochiKit.DateTime.toISOTime=function(V,M){if(typeof (V)=="undefined"||V===null){return null;}var s=V.getHours();var g=V.getMinutes();var y=V.getSeconds();var a=[((M&&(s<10))?"0"+s:s),((g<10)?"0"+g:g),((y<10)?"0"+y:y)];return a.join(":");};MochiKit.DateTime.toISOTimestamp=function(M,y){if(typeof (M)=="undefined"||M===null){return null;}var a=y?"T":" ";var V=y?"Z":"";if(y){M=new Date(M.getTime()+(M.getTimezoneOffset()*60000));}return MochiKit.DateTime.toISODate(M)+a+MochiKit.DateTime.toISOTime(M,y)+V;};MochiKit.DateTime.toISODate=function(a){if(typeof (a)=="undefined"||a===null){return null;}var M=MochiKit.DateTime._padTwo;return [a.getFullYear(),M(a.getMonth()+1),M(a.getDate())].join("-");};MochiKit.DateTime.americanDate=function(V){V=V+"";if(typeof (V)!="string"||V.length===0){return null;}var M=V.split("/");return new Date(M[2],M[0]-1,M[1]);};MochiKit.DateTime._padTwo=function(a){return (a>9)?a:"0"+a;};MochiKit.DateTime.toPaddedAmericanDate=function(M){if(typeof (M)=="undefined"||M===null){return null;}var a=MochiKit.DateTime._padTwo;return [a(M.getMonth()+1),a(M.getDate()),M.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 M=this.NAME+".";for(var a in this){var y=this[a];if(typeof (y)=="function"&&typeof (y.NAME)=="undefined"){try{y.NAME=M+a;}catch(V){}}}};MochiKit.DateTime.__new__();if(typeof (MochiKit.Base)!="undefined"){MochiKit.Base._exportSymbols(this,MochiKit.DateTime);}else{(function(V,a){if((typeof (JSAN)=="undefined"&&typeof (dojo)=="undefined")||(MochiKit.__export__===false)){var y=a.EXPORT_TAGS[":all"];for(var M=0;M<y.length;M++){V[y[M]]=a[y[M]];}}})(this,MochiKit.DateTime);}if(typeof (dojo)!="undefined"){dojo.provide("MochiKit.Format");}if(typeof (MochiKit)=="undefined"){MochiKit={};}if(typeof (MochiKit.Format)=="undefined"){MochiKit.Format={};}MochiKit.Format.NAME="MochiKit.Format";MochiKit.Format.VERSION="1.4";MochiKit.Format.__repr__=function(){return "["+this.NAME+" "+this.VERSION+"]";};MochiKit.Format.toString=function(){return this.__repr__();};MochiKit.Format._numberFormatter=function(o,g,X,N,s,y,V,M,a){return function(D){D=parseFloat(D);if(typeof (D)=="undefined"||D===null||isNaN(D)){return o;}var d=g;var f=X;if(D<0){D=-D;}else{d=d.replace(/-/,"");}var x=arguments.callee;var c=MochiKit.Format.formatLocale(N);if(s){D=D*100;f=c.percent+f;}D=MochiKit.Format.roundToFixed(D,y);var b=D.split(/\./);var L=b[0];var J=(b.length==1)?"":b[1];var l="";while(L.length<V){L="0"+L;}if(M){while(L.length>M){var B=L.length-M;l=c.separator+L.substring(B,L.length)+l;L=L.substring(0,B);}}l=L+l;if(y>0){while(J.length<a){J=J+"0";}l=l+c.decimal+J;}return d+l+f;};};MochiKit.Format.numberFormatter=function(s,y,V){if(typeof (y)=="undefined"){y="";}var M=s.match(/((?:[0#]+,)?[0#]+)(?:\.([0#]+))?(%)?/);if(!M){throw TypeError("Invalid pattern");}var a=s.substr(0,M.index);var l=s.substr(M.index+M[0].length);if(a.search(/-/)==-1){a=a+"-";}var B=M[1];var N=(typeof (M[2])=="string"&&M[2]!="")?M[2]:"";var b=(typeof (M[3])=="string"&&M[3]!="");var d=B.split(/,/);var f;if(typeof (V)=="undefined"){V="default";}if(d.length==1){f=null;}else{f=d[1].length;}var L=B.length-B.replace(/0/g,"").length;var J=N.length-N.replace(/0/g,"").length;var X=N.length;var D=MochiKit.Format._numberFormatter(y,a,l,V,b,X,L,f,J);var c=MochiKit.Base;if(c){var o=arguments.callee;var g=c.concat(arguments);D.repr=function(){return [self.NAME,"(",map(c.repr,g).join(", "),")"].join("");};}return D;};MochiKit.Format.formatLocale=function(M){if(typeof (M)=="undefined"||M===null){M="default";}if(typeof (M)=="string"){var a=MochiKit.Format.LOCALE[M];if(typeof (a)=="string"){a=arguments.callee(a);MochiKit.Format.LOCALE[M]=a;}return a;}else{return M;}};MochiKit.Format.twoDigitAverage=function(V,M){if(M){var a=V/M;if(!isNaN(a)){return MochiKit.Format.twoDigitFloat(V/M);}}return "0";};MochiKit.Format.twoDigitFloat=function(g){var a=(g<0?"-":"");var y=Math.floor(Math.abs(g)*100).toString();if(y=="0"){return y;}if(y.length<3){while(y.charAt(y.length-1)=="0"){y=y.substring(0,y.length-1);}return a+"0."+y;}var V=a+y.substring(0,y.length-2);var M=y.substring(y.length-2,y.length);if(M=="00"){return V;}else{if(M.charAt(1)=="0"){return V+"."+M.charAt(0);}else{return V+"."+M;}}};MochiKit.Format.lstrip=function(M,a){M=M+"";if(typeof (M)!="string"){return null;}if(!a){return M.replace(/^\s+/,"");}else{return M.replace(new RegExp("^["+a+"]+"),"");}};MochiKit.Format.rstrip=function(M,a){M=M+"";if(typeof (M)!="string"){return null;}if(!a){return M.replace(/\s+$/,"");}else{return M.replace(new RegExp("["+a+"]+$"),"");}};MochiKit.Format.strip=function(V,a){var M=MochiKit.Format;return M.rstrip(M.lstrip(V,a),a);};MochiKit.Format.truncToFixed=function(a,V){a=Math.floor(a*Math.pow(10,V));var M=(a*Math.pow(10,-V)).toFixed(V);if(M.charAt(0)=="."){M="0"+M;}return M;};MochiKit.Format.roundToFixed=function(M,a){return MochiKit.Format.truncToFixed(M+0.5*Math.pow(10,-a),a);};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:"%"},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 V=this.NAME+".";var M,a,s;for(M in this.LOCALE){s=this.LOCALE[M];if(typeof (s)=="object"){s.repr=function(){return this.NAME;};s.NAME=V+"LOCALE."+M;}}for(M in this){s=this[M];if(typeof (s)=="function"&&typeof (s.NAME)=="undefined"){try{s.NAME=V+M;}catch(y){}}}};MochiKit.Format.__new__();if(typeof (MochiKit.Base)!="undefined"){MochiKit.Base._exportSymbols(this,MochiKit.Format);}else{(function(y,V){if((typeof (JSAN)=="undefined"&&typeof (dojo)=="undefined")||(MochiKit.__export__===false)){var M=V.EXPORT_TAGS[":all"];for(var a=0;a<M.length;a++){y[M[a]]=V[M[a]];}}})(this,MochiKit.Format);}if(typeof (dojo)!="undefined"){dojo.provide("MochiKit.Async");dojo.require("MochiKit.Base");}if(typeof (JSAN)!="undefined"){JSAN.use("MochiKit.Base",[]);}try{if(typeof (MochiKit.Base)=="undefined"){throw "";}}catch(e){throw "MochiKit.Async depends on MochiKit.Base!";}if(typeof (MochiKit.Async)=="undefined"){MochiKit.Async={};}MochiKit.Async.NAME="MochiKit.Async";MochiKit.Async.VERSION="1.4";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(M){this._check();var a=MochiKit.Async;if(M instanceof a.Deferred){throw new Error("Deferred instances can only be chained if they are the result of a callback");}if(!(M instanceof Error)){M=new a.GenericError(M);}this._resback(M);},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,M){if(this.chained){throw new Error("Chained Deferreds can not be re-used");}this.chain.push([a,M]);if(this.fired>=0){this._fire();}return this;},_fire:function(){var V=this.chain;var M=this.fired;var s=this.results[M];var y=this;var a=null;while(V.length>0&&this.paused===0){var o=V.shift();var N=o[M];if(N===null){continue;}try{s=N(s);M=((s instanceof Error)?1:0);if(s instanceof MochiKit.Async.Deferred){a=function(X){y._resback(X);y.paused--;if((y.paused===0)&&(y.fired>=0)){y._fire();}};this.paused++;}}catch(g){M=1;if(!(g instanceof Error)){g=new MochiKit.Async.GenericError(g);}s=g;}}this.fired=M;this.results[M]=s;if(a&&this.paused){s.addBoth(a);s.chained=true;}}};MochiKit.Base.update(MochiKit.Async,{evalJSONRequest:function(){return eval("("+arguments[0].responseText+")");},succeed:function(a){var M=new MochiKit.Async.Deferred();M.callback.apply(M,arguments);return M;},fail:function(a){var M=new MochiKit.Async.Deferred();M.errback.apply(M,arguments);return M;},getXMLHttpRequest:function(){var a=arguments.callee;if(!a.XMLHttpRequest){var y=[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 M=0;M<y.length;M++){var V=y[M];try{a.XMLHttpRequest=V;return V();}catch(s){}}}return a.XMLHttpRequest();},_xhr_onreadystatechange:function(s){var a=MochiKit.Base;if(this.readyState==4){try{this.onreadystatechange=null;}catch(y){try{this.onreadystatechange=a.noop;}catch(y){}}var M=null;try{M=this.status;if(!M&&a.isNotEmpty(this.responseText)){M=304;}}catch(y){}if(M==200||M==201||M==204||M==304||M==1223){s.callback(this);}else{var V=new MochiKit.Async.XMLHttpRequestError(this,"Request failed");if(V.number){s.errback(V);}else{s.errback(V);}}}},_xhr_canceller:function(a){try{a.onreadystatechange=null;}catch(M){try{a.onreadystatechange=MochiKit.Base.noop;}catch(M){}}a.abort();},sendXMLHttpRequest:function(y,V){if(typeof (V)=="undefined"||V===null){V="";}var a=MochiKit.Base;var M=MochiKit.Async;var g=new M.Deferred(a.partial(M._xhr_canceller,y));try{y.onreadystatechange=a.bind(M._xhr_onreadystatechange,y,g);y.send(V);}catch(s){try{y.onreadystatechange=null;}catch(N){}g.errback(s);}return g;},doXHR:function(s,M){var N=MochiKit.Base;M=N.update({method:"GET",sendContent:""},M);var L=MochiKit.Async;var J=L.getXMLHttpRequest();if(M.queryString){var X=N.queryString(M.queryString);if(X){s+="?"+X;}}J.open(M.method,s,true,M.username,M.password);if(J.overrideMimeType&&M.mimeType){J.overrideMimeType(M.mimeType);}if(M.headers){var g=M.headers;if(!N.isArrayLike(g)){g=N.items(g);}for(var o=0;o<g.length;o++){var y=g[o];var V=y[0];var a=y[1];J.setRequestHeader(V,a);}}return L.sendXMLHttpRequest(J,M.sendContent);},_buildURL:function(V){if(arguments.length>1){var M=MochiKit.Base;var a=M.queryString.apply(null,M.extend(null,arguments,1));if(a){return V+"?"+a;}}return V;},doSimpleXMLHttpRequest:function(M){var a=MochiKit.Async;M=a._buildURL.apply(a,arguments);return a.doXHR(M);},loadJSONDoc:function(M){var a=MochiKit.Async;M=a._buildURL.apply(a,arguments);var V=a.doXHR(M,{"mimeType":"text/plain","headers":[["Accept","application/json"]]});V=V.addCallback(a.evalJSONRequest);return V;},wait:function(y,V){var s=new MochiKit.Async.Deferred();var a=MochiKit.Base;if(typeof (V)!="undefined"){s.addCallback(function(){return V;});}var M=setTimeout(a.bind("callback",s),Math.floor(y*1000));s.canceller=function(){try{clearTimeout(M);}catch(g){}};return s;},callLater:function(V,y){var a=MochiKit.Base;var M=a.partial.apply(a,a.extend(null,arguments,1));return MochiKit.Async.wait(V).addCallback(function(s){return M();});}});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(y,X,o,N,g){MochiKit.Async.Deferred.apply(this,[g]);this.list=y;var V=[];this.resultList=V;this.finishedCount=0;this.fireOnOneCallback=X;this.fireOnOneErrback=o;this.consumeErrors=N;var a=MochiKit.Base.bind(this._cbDeferred,this);for(var M=0;M<y.length;M++){var s=y[M];V.push(undefined);s.addCallback(a,M,true);s.addErrback(a,M,false);}if(y.length===0&&!X){this.callback(this.resultList);}};MochiKit.Async.DeferredList.prototype=new MochiKit.Async.Deferred();MochiKit.Async.DeferredList.prototype._cbDeferred=function(V,M,a){this.resultList[V]=[M,a];this.finishedCount+=1;if(this.fired==-1){if(M&&this.fireOnOneCallback){this.callback([V,a]);}else{if(!M&&this.fireOnOneErrback){this.errback(a);}else{if(this.finishedCount==this.list.length){this.callback(this.resultList);}}}}if(!M&&this.consumeErrors){a=null;}return a;};MochiKit.Async.gatherResults=function(a){var M=new MochiKit.Async.DeferredList(a,false,true,false);M.addCallback(function(s){var V=[];for(var y=0;y<s.length;y++){V.push(s[y][1]);}return V;});return M;};MochiKit.Async.maybeDeferred=function(y){var a=MochiKit.Async;var M;try{var V=y.apply(null,MochiKit.Base.extend([],arguments,1));if(V instanceof a.Deferred){M=V;}else{if(V instanceof Error){M=a.fail(V);}else{M=a.succeed(V);}}}catch(s){M=a.fail(s);}return M;};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 M=a.partial(a._newNamedError,this);M("AlreadyCalledError",function(V){this.deferred=V;});M("CancelledError",function(V){this.deferred=V;});M("BrowserComplianceError",function(V){this.message=V;});M("GenericError",function(V){this.message=V;});M("XMLHttpRequestError",function(V,s){this.req=V;this.message=s;try{this.number=V.status;}catch(y){}});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);if(typeof (dojo)!="undefined"){dojo.provide("MochiKit.DOM");dojo.require("MochiKit.Base");}if(typeof (JSAN)!="undefined"){JSAN.use("MochiKit.Base",[]);}try{if(typeof (MochiKit.Base)=="undefined"){throw "";}}catch(e){throw "MochiKit.DOM depends on MochiKit.Base!";}if(typeof (MochiKit.DOM)=="undefined"){MochiKit.DOM={};}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","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(N,M){var a=MochiKit.DOM;var g=a._document;var V=a._win;var s;try{a._window=N;a._document=N.document;s=M();}catch(y){a._window=V;a._document=g;throw y;}a._window=V;a._document=g;return s;},formContents:function(s){var y=[];var V=[];var a=MochiKit.Base;var M=MochiKit.DOM;if(typeof (s)=="undefined"||s===null){s=M._document.body;}else{s=M.getElement(s);}a.nodeWalk(s,function(b){var N=b.name;if(a.isNotEmpty(N)){var L=b.tagName.toUpperCase();if(L==="INPUT"&&(b.type=="radio"||b.type=="checkbox")&&!b.checked){return null;}if(L==="SELECT"){if(b.type=="select-one"){if(b.selectedIndex>=0){var X=b.options[b.selectedIndex];var g=X.value;if(!g){var J=X.outerHTML;if(J&&!J.match(/^[^>]+\svalue\s*=/i)){g=X.text;}}y.push(N);V.push(g);return null;}y.push(N);V.push("");return null;}else{var f=b.options;if(!f.length){y.push(N);V.push("");return null;}for(var o=0;o<f.length;o++){var X=f[o];if(!X.selected){continue;}var g=X.value;if(!g){var J=X.outerHTML;if(J&&!J.match(/^[^>]+\svalue\s*=/i)){g=X.text;}}y.push(N);V.push(g);}return null;}}if(L==="FORM"||L==="P"||L==="SPAN"||L==="DIV"){return b.childNodes;}y.push(N);V.push(b.value||"");return null;}return b.childNodes;});return [y,V];},withDocument:function(g,V){var M=MochiKit.DOM;var a=M._document;var s;try{M._document=g;s=V();}catch(y){M._document=a;throw y;}M._document=a;return s;},registerDOMConverter:function(M,a,V,y){MochiKit.DOM.domConverters.register(M,a,V,y);},coerceToDOM:function(M,b){var V=MochiKit.Base;var J=MochiKit.Iter;var f=MochiKit.DOM;if(J){var L=J.iter;var X=J.repeat;var a=V.map;}var o=f.domConverters;var N=arguments.callee;var g=V.NotFound;while(true){if(typeof (M)=="undefined"||M===null){return null;}if(typeof (M.nodeType)!="undefined"&&M.nodeType>0){return M;}if(typeof (M)=="number"||typeof (M)=="boolean"){M=M.toString();}if(typeof (M)=="string"){return f._document.createTextNode(M);}if(typeof (M.__dom__)=="function"){M=M.__dom__(b);continue;}if(typeof (M.dom)=="function"){M=M.dom(b);continue;}if(typeof (M)=="function"){M=M.apply(b,[b]);continue;}if(J){var y=null;try{y=L(M);}catch(s){}if(y){return a(N,y,X(b));}}try{M=o.match(M,b);continue;}catch(s){if(s!=g){throw s;}}return f._document.createTextNode(M.toString());}return undefined;},isChildNode:function(V,M){var a=MochiKit.DOM;if(typeof (V)=="string"){V=a.getElement(V);}if(typeof (M)=="string"){M=a.getElement(M);}if(V===M){return true;}while(V&&V.tagName.toUpperCase()!="BODY"){V=V.parentNode;if(V===M){return true;}}return false;},setNodeAttribute:function(V,M,a){var s={};s[M]=a;try{return MochiKit.DOM.updateNodeAttributes(V,s);}catch(y){}return null;},getNodeAttribute:function(V,a){var M=MochiKit.DOM;var s=M.attributeArray.renames[a];V=M.getElement(V);try{if(s){return V[s];}return V.getAttribute(a);}catch(y){}return null;},removeNodeAttribute:function(V,a){var M=MochiKit.DOM;var s=M.attributeArray.renames[a];V=M.getElement(V);try{if(s){return V[s];}return V.removeAttribute(a);}catch(y){}return null;},updateNodeAttributes:function(M,N){var V=M;var X=MochiKit.DOM;if(typeof (M)=="string"){V=X.getElement(M);}if(N){var s=MochiKit.Base.updatetree;if(X.attributeArray.compliant){for(var g in N){var o=N[g];if(typeof (o)=="object"&&typeof (V[g])=="object"){if(g=="style"&&MochiKit.Style){MochiKit.Style.setStyle(V,o);}else{s(V[g],o);}}else{if(g.substring(0,2)=="on"){if(typeof (o)=="string"){o=new Function(o);}V[g]=o;}else{V.setAttribute(g,o);}}}}else{var y=X.attributeArray.renames;for(g in N){o=N[g];var a=y[g];if(g=="style"&&typeof (o)=="string"){V.style.cssText=o;}else{if(typeof (a)=="string"){V[a]=o;}else{if(typeof (V[g])=="object"&&typeof (o)=="object"){if(g=="style"&&MochiKit.Style){MochiKit.Style.setStyle(V,o);}else{s(V[g],o);}}else{if(g.substring(0,2)=="on"){if(typeof (o)=="string"){o=new Function(o);}V[g]=o;}else{V.setAttribute(g,o);}}}}}}}return V;},appendChildNodes:function(s){var y=s;var a=MochiKit.DOM;if(typeof (s)=="string"){y=a.getElement(s);}var V=[a.coerceToDOM(MochiKit.Base.extend(null,arguments,1),y)];var M=MochiKit.Base.concat;while(V.length){var g=V.shift();if(typeof (g)=="undefined"||g===null){}else{if(typeof (g.nodeType)=="number"){y.appendChild(g);}else{V=M(g,V);}}}return y;},insertSiblingNodesBefore:function(g){var s=g;var V=MochiKit.DOM;if(typeof (g)=="string"){s=V.getElement(g);}var y=[V.coerceToDOM(MochiKit.Base.extend(null,arguments,1),s)];var M=s.parentNode;var a=MochiKit.Base.concat;while(y.length){var N=y.shift();if(typeof (N)=="undefined"||N===null){}else{if(typeof (N.nodeType)=="number"){M.insertBefore(N,s);}else{y=a(N,y);}}}return M;},insertSiblingNodesAfter:function(y){var V=y;var M=MochiKit.DOM;if(typeof (y)=="string"){V=M.getElement(y);}var a=[M.coerceToDOM(MochiKit.Base.extend(null,arguments,1),V)];if(V.nextSibling){return M.insertSiblingNodesBefore(V.nextSibling,a);}else{return M.appendChildNodes(V.parentNode,a);}},replaceChildNodes:function(y){var V=y;var M=MochiKit.DOM;if(typeof (y)=="string"){V=M.getElement(y);arguments[0]=V;}var a;while((a=V.firstChild)){V.removeChild(a);}if(arguments.length<2){return V;}else{return M.appendChildNodes.apply(this,arguments);}},createDOM:function(a,X){var M;var o=MochiKit.DOM;var V=MochiKit.Base;if(typeof (X)=="string"||typeof (X)=="number"){var s=V.extend([a,null],arguments,1);return arguments.callee.apply(this,s);}if(typeof (a)=="string"){var N=o._xhtml;if(X&&!o.attributeArray.compliant){var g="";if("name" in X){g+=" name=\""+o.escapeHTML(X.name)+"\"";}if(a=="input"&&"type" in X){g+=" type=\""+o.escapeHTML(X.type)+"\"";}if(g){a="<"+a+g+">";N=false;}}var y=o._document;if(N&&y===document){M=y.createElementNS("http://www.w3.org/1999/xhtml",a);}else{M=y.createElement(a);}}else{M=a;}if(X){o.updateNodeAttributes(M,X);}if(arguments.length<=2){return M;}else{var s=V.extend([M],arguments,2);return o.appendChildNodes.apply(this,s);}},createDOMFunc:function(){var a=MochiKit.Base;return a.partial.apply(this,a.extend([MochiKit.DOM.createDOM],arguments));},removeElement:function(a){var M=MochiKit.DOM.getElement(a);M.parentNode.removeChild(M);return M;},swapDOM:function(M,y){var a=MochiKit.DOM;M=a.getElement(M);var V=M.parentNode;if(y){y=a.getElement(y);V.replaceChild(y,M);}else{V.removeChild(M);}return y;},getElement:function(M){var a=MochiKit.DOM;if(arguments.length==1){return ((typeof (M)=="string")?a._document.getElementById(M):M);}else{return MochiKit.Base.map(a.getElement,arguments);}},getElementsByTagAndClassName:function(N,X,o){var L=MochiKit.DOM;if(typeof (N)=="undefined"||N===null){N="*";}if(typeof (o)=="undefined"||o===null){o=L._document;}o=L.getElement(o);var g=(o.getElementsByTagName(N)||L._document.all);if(typeof (X)=="undefined"||X===null){return MochiKit.Base.extend(null,g);}var s=[];for(var M=0;M<g.length;M++){var y=g[M];var J=y.className;if(!J){continue;}var V=J.split(" ");for(var a=0;a<V.length;a++){if(V[a]==X){s.push(y);break;}}}return s;},_newCallStack:function(V,a){var M=function(){var s=arguments.callee.callStack;for(var y=0;y<s.length;y++){if(s[y].apply(this,arguments)===false){break;}}if(a){try{this[V]=null;}catch(g){}}};M.callStack=[];return M;},addToCallStack:function(s,N,g,y){var a=MochiKit.DOM;var V=s[N];var M=V;if(!(typeof (V)=="function"&&typeof (V.callStack)=="object"&&V.callStack!==null)){M=a._newCallStack(N,y);if(typeof (V)=="function"){M.callStack.push(V);}s[N]=M;}M.callStack.push(g);},addLoadEvent:function(M){var a=MochiKit.DOM;a.addToCallStack(a._window,"onload",M,true);},focusOnLoad:function(M){var a=MochiKit.DOM;a.addLoadEvent(function(){M=a.getElement(M);if(M){M.focus();}});},setElementClass:function(M,a){var V=MochiKit.DOM;var y=V.getElement(M);if(V.attributeArray.compliant){y.setAttribute("class",a);}else{y.setAttribute("className",a);}},toggleElementClass:function(y){var a=MochiKit.DOM;for(var M=1;M<arguments.length;M++){var V=a.getElement(arguments[M]);if(!a.addElementClass(V,y)){a.removeElementClass(V,y);}}},addElementClass:function(N,g){var M=MochiKit.DOM;var s=M.getElement(N);var a=s.className;if(a==undefined||a.length===0){M.setElementClass(s,g);return true;}if(a==g){return false;}var y=a.split(" ");for(var V=0;V<y.length;V++){if(y[V]==g){return false;}}M.setElementClass(s,a+" "+g);return true;},removeElementClass:function(g,s){var M=MochiKit.DOM;var N=M.getElement(g);var a=N.className;if(a==undefined||a.length===0){return false;}if(a==s){M.setElementClass(N,"");return true;}var V=a.split(" ");for(var y=0;y<V.length;y++){if(V[y]==s){V.splice(y,1);M.setElementClass(N,V.join(" "));return true;}}return false;},swapElementClass:function(V,M,a){var s=MochiKit.DOM.getElement(V);var y=MochiKit.DOM.removeElementClass(s,M);if(y){MochiKit.DOM.addElementClass(s,a);}return y;},hasElementClass:function(o,N){var g=MochiKit.DOM.getElement(o);var a=g.className;if(!a){return false;}var s=a.split(" ");for(var V=1;V<arguments.length;V++){var y=false;for(var M=0;M<s.length;M++){if(s[M]==arguments[V]){y=true;break;}}if(!y){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(J,f){if(typeof (f)=="undefined"||f===null){f=[];}var o=[J];var c=MochiKit.DOM;var N=c.escapeHTML;var g=c.attributeArray;while(o.length){J=o.pop();if(typeof (J)=="string"){f.push(J);}else{if(J.nodeType==1){f.push("<"+J.tagName.toLowerCase());var s=[];var y=g(J);for(var L=0;L<y.length;L++){var b=y[L];s.push([" ",b.name,"=\"",N(b.value),"\""]);}s.sort();for(L=0;L<s.length;L++){var V=s[L];for(var X=0;X<V.length;X++){f.push(V[X]);}}if(J.hasChildNodes()){f.push(">");o.push("</"+J.tagName.toLowerCase()+">");var M=J.childNodes;for(L=M.length-1;L>=0;L--){o.push(M[L]);}}else{f.push("/>");}}else{if(J.nodeType==3){f.push(N(J.nodeValue));}}}}return f;},scrapeText:function(a,V){var M=[];(function(s){var N=s.childNodes;if(N){for(var y=0;y<N.length;y++){arguments.callee.call(this,N[y]);}}var g=s.nodeValue;if(typeof (g)=="string"){M.push(g);}})(MochiKit.DOM.getElement(a));if(V){return M;}else{return M.join("");}},removeEmptyTextNodes:function(V){V=MochiKit.DOM.getElement(V);for(var a=0;a<V.childNodes.length;a++){var M=V.childNodes[a];if(M.nodeType==3&&!/\S/.test(M.nodeValue)){M.parentNode.removeChild(M);}}},makeClipping:function(M){M=MochiKit.DOM.getElement(M);var a=M.style.overflow;if((MochiKit.Style.getStyle(M,"overflow")||"visible")!="hidden"){M.style.overflow="hidden";}return a;},undoClipping:function(M,a){M=MochiKit.DOM.getElement(M);if(!a){return ;}M.style.overflow=a;},makePositioned:function(a){a=MochiKit.DOM.getElement(a);var M=MochiKit.Style.getStyle(a,"position");if(M=="static"||!M){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(N,o,g){var X=MochiKit.DOM;if(typeof (N)=="undefined"||N===null){N="*";}if(typeof (g)=="undefined"||g===null){g=X._document;}g=X.getElement(g);var s=(g.getElementsByTagName(N)||X._document.all);if(typeof (o)=="undefined"||o===null){return s[0];}for(var M=0;M<s.length;M++){var y=s[M];var V=y.className.split(" ");for(var a=0;a<V.length;a++){if(V[a]==o){return y;}}}},getFirstParentByTagAndClassName:function(N,g,s){var a=MochiKit.DOM;N=a.getElement(N);if(typeof (g)=="undefined"||g===null){g="*";}else{g=g.toUpperCase();}if(typeof (s)=="undefined"||s===null){s=null;}var y="";var M="";while(N&&N.tagName){N=N.parentNode;if(g=="*"&&s===null){return N;}y=N.className.split(" ");M=N.tagName.toUpperCase();if(s===null&&g==M){return N;}else{if(s!==null){for(var V=0;V<y.length;V++){if(g=="*"&&y[V]==s){return N;}else{if(g==M&&y[V]==s){return N;}}}}}}return N;},isParent:function(M,a){if(!M.parentNode||M==a){return false;}if(M.parentNode==a){return true;}return MochiKit.DOM.isParent(M.parentNode,a);},__new__:function(L){var N=MochiKit.Base;if(typeof (document)!="undefined"){this._document=document;var X="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";this._xhtml=(document.documentElement&&document.createElementNS&&document.documentElement.namespaceURI===X);}else{if(MochiKit.MockDOM){this._document=MochiKit.MockDOM.document;}}this._window=L;this.domConverters=new N.AdapterRegistry();var o=this._document.createElement("span");var g;if(o&&o.attributes&&o.attributes.length>0){var s=N.filter;g=function(a){return s(g.ignoreAttrFilter,a.attributes);};g.ignoreAttr={};var y=o.attributes;var V=g.ignoreAttr;for(var J=0;J<y.length;J++){var f=y[J];V[f.name]=f.value;}g.ignoreAttrFilter=function(c){return (g.ignoreAttr[c.name]!=c.value);};g.compliant=false;g.renames={"class":"className","checked":"defaultChecked","usemap":"useMap","for":"htmlFor","readonly":"readOnly","colspan":"colSpan","bgcolor":"bgColor"};}else{g=function(a){return a.attributes;};g.compliant=true;g.renames={};}this.attributeArray=g;var M=function(d,a){var c=a[1].split(".");var D="";var B={};D+="if (!MochiKit."+c[1]+") { throw new Error(\"";D+="This function has been deprecated and depends on MochiKit.";D+=c[1]+".\");}";D+="return MochiKit."+c[1]+"."+a[0];D+=".apply(this, arguments);";B[c[2]]=new Function(D);MochiKit.Base.update(MochiKit[d],B);};for(var J;J<MochiKit.DOM.DEPRECATED.length;J++){M("DOM",MochiKit.DOM.DEPRECATED[J]);}var b=this.createDOMFunc;this.UL=b("ul");this.OL=b("ol");this.LI=b("li");this.TD=b("td");this.TR=b("tr");this.TBODY=b("tbody");this.THEAD=b("thead");this.TFOOT=b("tfoot");this.TABLE=b("table");this.TH=b("th");this.INPUT=b("input");this.SPAN=b("span");this.A=b("a");this.DIV=b("div");this.IMG=b("img");this.BUTTON=b("button");this.TT=b("tt");this.PRE=b("pre");this.H1=b("h1");this.H2=b("h2");this.H3=b("h3");this.BR=b("br");this.HR=b("hr");this.LABEL=b("label");this.TEXTAREA=b("textarea");this.FORM=b("form");this.P=b("p");this.SELECT=b("select");this.OPTION=b("option");this.OPTGROUP=b("optgroup");this.LEGEND=b("legend");this.FIELDSET=b("fieldset");this.STRONG=b("strong");this.CANVAS=b("canvas");this.$=this.getElement;this.EXPORT_TAGS={":common":this.EXPORT,":all":N.concat(this.EXPORT,this.EXPORT_OK)};N.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);if(typeof (dojo)!="undefined"){dojo.provide("MochiKit.Selector");dojo.require("MochiKit.Base");dojo.require("MochiKit.DOM");dojo.require("MochiKit.Iter");}if(typeof (JSAN)!="undefined"){JSAN.use("MochiKit.Base",[]);JSAN.use("MochiKit.DOM",[]);JSAN.use("MochiKit.Iter",[]);}try{if(typeof (MochiKit.Base)==="undefined"||typeof (MochiKit.DOM)==="undefined"||typeof (MochiKit.Iter)==="undefined"){throw "";}}catch(e){throw "MochiKit.Selector depends on MochiKit.Base, MochiKit.DOM and MochiKit.Iter!";}if(typeof (MochiKit.Selector)=="undefined"){MochiKit.Selector={};}MochiKit.Selector.NAME="MochiKit.Selector";MochiKit.Selector.VERSION="1.4";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 o(X){throw "Parse error in selector: "+X;}if(this.expression==""){o("empty expression");}var V=MochiKit.Base.repr;var M=this.params;var g=this.expression;var N,a,s,y;while(N=g.match(/^(.*)\[([a-z0-9_:-]+?)(?:([~\|!^$*]?=)(?:"([^"]*)"|([^\]\s]*)))?\]$/i)){M.attributes=M.attributes||[];M.attributes.push({name:N[2],operator:N[3],value:N[4]||N[5]||""});g=N[1];}if(g=="*"){return this.params.wildcard=true;}while(N=g.match(/^([^a-z0-9_-])?([a-z0-9_-]+(?:\([^)]*\))?)(.*)/i)){a=N[1];s=N[2];y=N[3];switch(a){case "#":M.id=s;break;case ".":M.classNames.push(s);break;case ":":M.pseudoClassNames.push(s);break;case "":case undefined:M.tagName=s.toUpperCase();break;default:o(V(g));}g=y;}if(g.length>0){o(V(g));}},buildMatchExpression:function(){var M=MochiKit.Base.repr;var J=this.params;var X=[];var N,V;function c(a){return "MochiKit.Base.filter(function (node) { return node.nodeType == 1; }, "+a+".childNodes)";}if(J.wildcard){X.push("true");}if(N=J.id){X.push("element.id == "+M(N));}if(N=J.tagName){X.push("element.tagName.toUpperCase() == "+M(N));}if((N=J.classNames).length>0){for(V=0;V<N.length;V++){X.push("MochiKit.DOM.hasElementClass(element, "+M(N[V])+")");}}if((N=J.pseudoClassNames).length>0){for(V=0;V<N.length;V++){var o=N[V].match(/^([^(]+)(?:\((.*)\))?$/);var g=o[1];var s=o[2];switch(g){case "root":X.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":o=s.match(/^((?:(\d+)n\+)?(\d+)|odd|even)$/);if(!o){throw "Invalid argument to pseudo element nth-child: "+s;}var f,L;if(o[0]=="odd"){f=2;L=1;}else{if(o[0]=="even"){f=2;L=0;}else{f=o[2]&&parseInt(o)||null;L=parseInt(o[3]);}}X.push("this.nthChild(element,"+f+","+L+","+!!g.match("^nth-last")+","+!!g.match("of-type$")+")");break;case "first-child":X.push("this.nthChild(element, null, 1)");break;case "last-child":X.push("this.nthChild(element, null, 1, true)");break;case "first-of-type":X.push("this.nthChild(element, null, 1, false, true)");break;case "last-of-type":X.push("this.nthChild(element, null, 1, true, true)");break;case "only-child":X.push(c("element.parentNode")+".length == 1");break;case "only-of-type":X.push("MochiKit.Base.filter(function (node) { return node.tagName == element.tagName; }, "+c("element.parentNode")+").length == 1");break;case "empty":X.push("element.childNodes.length == 0");break;case "enabled":X.push("(this.isUIElement(element) && element.disabled === false)");break;case "disabled":X.push("(this.isUIElement(element) && element.disabled === true)");break;case "checked":X.push("(this.isUIElement(element) && element.checked === true)");break;case "not":var y=new MochiKit.Selector.Selector(s);X.push("!( "+y.buildMatchExpression()+")");break;}}}if(N=J.attributes){MochiKit.Base.map(function(b){var a="MochiKit.DOM.getNodeAttribute(element, "+M(b.name)+")";var d=function(B){return a+" && "+a+".split("+M(B)+")";};switch(b.operator){case "=":X.push(a+" == "+M(b.value));break;case "~=":X.push("MochiKit.Base.findValue("+d(" ")+", "+M(b.value)+") > -1");break;case "^=":X.push(a+".substring(0, "+b.value.length+") == "+M(b.value));break;case "$=":X.push(a+".substring("+a+".length - "+b.value.length+") == "+M(b.value));break;case "*=":X.push(a+".match("+M(b.value)+")");break;case "|=":X.push(d("-")+"[0].toUpperCase() == "+M(b.value.toUpperCase()));break;case "!=":X.push(a+" != "+M(b.value));break;case "":case undefined:X.push(a+" != null");break;default:throw "Unknown operator "+b.operator+" in selector";}},N);}return X.join(" && ");},compileMatcher:function(){this.match=new Function("element","if (!element.tagName) return false;                 return "+this.buildMatchExpression());},nthChild:function(o,V,M,N,g){var s=MochiKit.Base.filter(function(a){return a.nodeType==1;},o.parentNode.childNodes);if(g){s=MochiKit.Base.filter(function(a){return a.tagName==o.tagName;},s);}if(N){s=MochiKit.Iter.reversed(s);}if(V){var y=MochiKit.Base.findIdentical(s,o);return ((y+1-M)/V)%1==0;}else{return M==MochiKit.Base.findIdentical(s,o)+1;}},isUIElement:function(a){return findValue(["input","button","select","option","textarea","object"],a.tagName.toLowerCase())>-1;},findElements:function(y,s){var M;if(s==undefined){s="";}function a(X,J){if(s==""){return MochiKit.DOM.isChildNode(X,J);}else{if(s==">"){return X.parentNode==J;}else{if(s=="+"){return X==V(J);}else{if(s=="~"){var o=J;while(o=V(o)){if(X==o){return true;}}return false;}else{throw "Invalid axis: "+s;}}}}}if(element=MochiKit.DOM.getElement(this.params.id)){if(this.match(element)){if(!scope||a(element,scope)){return [element];}}}function V(o){o=o.nextSibling;while(o&&o.nodeType!=1){o=o.nextSibling;}return o;}if(s==""){scope=(scope||currentDocument()).getElementsByTagName(this.params.tagName||"*");}else{if(s==">"){if(!scope){throw "> combinator not allowed without preceeding expression";}scope=MochiKit.Base.filter(function(o){return o.nodeType==1;},scope.childNodes);}else{if(s=="+"){if(!scope){throw "+ combinator not allowed without preceeding expression";}scope=V(scope)&&[V(scope)];}else{if(s=="~"){if(!scope){throw "~ combinator not allowed without preceeding expression";}var N=[];while(V(scope)){scope=V(scope);N.push(scope);}scope=N;}}}}if(!scope){return [];}var g=MochiKit.Base.filter(MochiKit.Base.bind(function(o){return this.match(o);},this),scope);return g;},repr:function(){return "Selector("+this.expression+")";},toString:MochiKit.Base.forwardCall("repr")};MochiKit.Base.update(MochiKit.Selector,{findChildElements:function(M,a){return MochiKit.Base.flattenArray(MochiKit.Base.map(function(y){var V="";return MochiKit.Iter.reduce(function(N,o){if(match=o.match(/^[>+~]$/)){V=match[0];return N;}else{var g=new MochiKit.Selector.Selector(o);var s=MochiKit.Iter.reduce(function(J,X){return MochiKit.Base.extend(J,g.findElements(X||M,V));},N,[]);V="";return elements;}},y.replace(/(^\s+|\s+$)/g,"").split(/\s+/),[null]);},a));},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);if(typeof (dojo)!="undefined"){dojo.provide("MochiKit.Style");dojo.require("MochiKit.Base");dojo.require("MochiKit.DOM");}if(typeof (JSAN)!="undefined"){JSAN.use("MochiKit.Base",[]);}try{if(typeof (MochiKit.Base)=="undefined"){throw "";}}catch(e){throw "MochiKit.Style depends on MochiKit.Base!";}try{if(typeof (MochiKit.DOM)=="undefined"){throw "";}}catch(e){throw "MochiKit.Style depends on MochiKit.DOM!";}if(typeof (MochiKit.Style)=="undefined"){MochiKit.Style={};}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,M){this.w=a;this.h=M;};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,M){this.x=a;this.y=M;};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(M,N){var g=MochiKit.DOM;var s=g._document;M=g.getElement(M);N=MochiKit.Base.camelize(N);if(!M||M==s){return undefined;}if(N=="opacity"&&M.filters){var y=(MochiKit.Style.getStyle(M,"filter")||"").match(/alpha\(opacity=(.*)\)/);if(y&&y[1]){return parseFloat(y[1])/100;}return 1;}var V=M.style?M.style[N]:null;if(!V){if(s.defaultView&&s.defaultView.getComputedStyle){var a=s.defaultView.getComputedStyle(M,null);N=N.replace(/([A-Z])/g,"-$1").toLowerCase();V=a?a.getPropertyValue(N):null;}else{if(M.currentStyle){V=M.currentStyle[N];}}}if(N=="opacity"){V=parseFloat(V);}if(/Opera/.test(navigator.userAgent)&&(MochiKit.Base.find(["left","top","right","bottom"],N)!=-1)){if(MochiKit.Style.getStyle(M,"position")=="static"){V="auto";}}return V=="auto"?null:V;},setStyle:function(M,a){M=MochiKit.DOM.getElement(M);for(name in a){if(name=="opacity"){MochiKit.Style.setOpacity(M,a[name]);}else{M.style[MochiKit.Base.camelize(name)]=a[name];}}},setOpacity:function(V,y){V=MochiKit.DOM.getElement(V);var a=MochiKit.Style;if(y==1){var M=/Gecko/.test(navigator.userAgent)&&!(/Konqueror|AppleWebKit|KHTML/.test(navigator.userAgent));V.style["opacity"]=M?0.999999:1;if(/MSIE/.test(navigator.userAgent)){V.style["filter"]=a.getStyle(V,"filter").replace(/alpha\([^\)]*\)/gi,"");}}else{if(y<0.00001){y=0;}V.style["opacity"]=y;if(/MSIE/.test(navigator.userAgent)){V.style["filter"]=a.getStyle(V,"filter").replace(/alpha\([^\)]*\)/gi,"")+"alpha(opacity="+y*100+")";}}},getElementPosition:function(M,V){var B=MochiKit.Style;var y=MochiKit.DOM;M=y.getElement(M);if(!M||(!(M.x&&M.y)&&(!M.parentNode===null||B.getStyle(M,"display")=="none"))){return undefined;}var N=new B.Coordinates(0,0);var s=null;var f=null;var g=MochiKit.DOM._document;var J=g.documentElement;var o=g.body;if(!M.parentNode&&M.x&&M.y){N.x+=M.x||0;N.y+=M.y||0;}else{if(M.getBoundingClientRect){s=M.getBoundingClientRect();N.x+=s.left+(J.scrollLeft||o.scrollLeft)-(J.clientLeft||0);N.y+=s.top+(J.scrollTop||o.scrollTop)-(J.clientTop||0);}else{if(M.offsetParent){N.x+=M.offsetLeft;N.y+=M.offsetTop;f=M.offsetParent;if(f!=M){while(f){N.x+=f.offsetLeft;N.y+=f.offsetTop;f=f.offsetParent;}}var a=navigator.userAgent.toLowerCase();if((typeof (opera)!="undefined"&&parseFloat(opera.version())<9)||(a.indexOf("AppleWebKit")!=-1&&B.getStyle(M,"position")=="absolute")){N.x-=o.offsetLeft;N.y-=o.offsetTop;}}}}if(typeof (V)!="undefined"){V=arguments.callee(V);if(V){N.x-=(V.x||0);N.y-=(V.y||0);}}if(M.parentNode){f=M.parentNode;}else{f=null;}while(f){var X=f.tagName.toUpperCase();if(X==="BODY"||X==="HTML"){break;}var L=B.getStyle(f,"display");if(L!="inline"&&L!="table-row"){N.x-=f.scrollLeft;N.y-=f.scrollTop;}if(f.parentNode){f=f.parentNode;}else{f=null;}}return N;},setElementPosition:function(s,y,V){s=MochiKit.DOM.getElement(s);if(typeof (V)=="undefined"){V="px";}var M={};var a=MochiKit.Base.isUndefinedOrNull;if(!a(y.x)){M["left"]=y.x+V;}if(!a(y.y)){M["top"]=y.y+V;}MochiKit.DOM.updateNodeAttributes(s,{"style":M});},getElementDimensions:function(a){var X=MochiKit.Style;var M=MochiKit.DOM;if(typeof (a.w)=="number"||typeof (a.h)=="number"){return new X.Dimensions(a.w||0,a.h||0);}a=M.getElement(a);if(!a){return undefined;}var o=X.getStyle(a,"display");if(o!="none"&&o!==""&&typeof (o)!="undefined"){return new X.Dimensions(a.offsetWidth||0,a.offsetHeight||0);}var J=a.style;var N=J.visibility;var g=J.position;J.visibility="hidden";J.position="absolute";J.display="";var y=a.offsetWidth;var V=a.offsetHeight;J.display="none";J.position=g;J.visibility=N;return new X.Dimensions(y,V);},setElementDimensions:function(a,s,y){a=MochiKit.DOM.getElement(a);if(typeof (y)=="undefined"){y="px";}var V={};var M=MochiKit.Base.isUndefinedOrNull;if(!M(s.w)){V["width"]=s.w+y;}if(!M(s.h)){V["height"]=s.h+y;}MochiKit.DOM.updateNodeAttributes(a,{"style":V});},setDisplayForElement:function(s,y){var V=MochiKit.Base.extend(null,arguments,1);var M=MochiKit.DOM.getElement;for(var a=0;a<V.length;a++){y=M(V[a]);if(y){y.style.display=s;}}},getViewportDimensions:function(){var V=new MochiKit.Style.Dimensions();var M=MochiKit.DOM._window;var a=MochiKit.DOM._document.body;if(M.innerWidth){V.w=M.innerWidth;V.h=M.innerHeight;}else{if(a.parentElement.clientWidth){V.w=a.parentElement.clientWidth;V.h=a.parentElement.clientHeight;}else{if(a&&a.clientWidth){V.w=a.clientWidth;V.h=a.clientHeight;}}}return V;},getViewportPosition:function(){var y=new MochiKit.Style.Coordinates(0,0);var M=MochiKit.DOM._document;var V=M.documentElement;var a=M.body;if(V&&(V.scrollTop||V.scrollLeft)){y.x=V.scrollLeft;y.y=V.scrollTop;}else{if(a){y.x=a.scrollLeft;y.y=a.scrollTop;}}return y;},__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);if(typeof (dojo)!="undefined"){dojo.provide("MochiKit.LoggingPane");dojo.require("MochiKit.Logging");dojo.require("MochiKit.Base");}if(typeof (JSAN)!="undefined"){JSAN.use("MochiKit.Logging",[]);JSAN.use("MochiKit.Base",[]);}try{if(typeof (MochiKit.Base)=="undefined"||typeof (MochiKit.Logging)=="undefined"){throw "";}}catch(e){throw "MochiKit.LoggingPane depends on MochiKit.Base and MochiKit.Logging!";}if(typeof (MochiKit.LoggingPane)=="undefined"){MochiKit.LoggingPane={};}MochiKit.LoggingPane.NAME="MochiKit.LoggingPane";MochiKit.LoggingPane.VERSION="1.4";MochiKit.LoggingPane.__repr__=function(){return "["+this.NAME+" "+this.VERSION+"]";};MochiKit.LoggingPane.toString=function(){return this.__repr__();};MochiKit.LoggingPane.createLoggingPane=function(M){var a=MochiKit.LoggingPane;M=!(!M);if(a._loggingPane&&a._loggingPane.inline!=M){a._loggingPane.closePane();a._loggingPane=null;}if(!a._loggingPane||a._loggingPane.closed){a._loggingPane=new a.LoggingPane(M,MochiKit.Logging.logger);}return a._loggingPane;};MochiKit.LoggingPane.LoggingPane=function(I,T){if(typeof (T)=="undefined"||T===null){T=MochiKit.Logging.logger;}this.logger=T;var C=MochiKit.Base.update;var Z=MochiKit.Base.updatetree;var g=MochiKit.Base.bind;var u=MochiKit.Base.clone;var q=window;var N="_MochiKit_LoggingPane";if(typeof (MochiKit.DOM)!="undefined"){q=MochiKit.DOM.currentWindow();}if(!I){var s=q.location.href.split("?")[0].replace(/[#:\/.><&-]/g,"_");var X=N+"_"+s;var r=q.open("",X,"dependent,resizable,height=200");if(!r){alert("Not able to open debugging window due to pop-up blocking.");return undefined;}r.document.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" "+"\"http://www.w3.org/TR/html4/loose.dtd\">"+"<html><head><title>[MochiKit.LoggingPane]</title></head>"+"<body></body></html>");r.document.close();r.document.title+=" "+q.document.title;q=r;}var o=q.document;this.doc=o;var P=o.getElementById(N);var G=!!P;if(P&&typeof (P.loggingPane)!="undefined"){P.loggingPane.logger=this.logger;P.loggingPane.buildAndApplyFilter();return P.loggingPane;}if(G){var Q;while((Q=P.firstChild)){P.removeChild(Q);}}else{P=o.createElement("div");P.id=N;}P.loggingPane=this;var H=o.createElement("input");var n=o.createElement("input");var A=o.createElement("button");var m=o.createElement("button");var x=o.createElement("button");var l=o.createElement("button");var D=o.createElement("div");var B=o.createElement("div");var d=N+"_Listener";this.colorTable=u(this.colorTable);var c=[];var b=null;var f=function(U){var S=U.level;if(typeof (S)=="number"){S=MochiKit.Logging.LogLevel[S];}return S;};var L=function(S){return S.info.join(" ");};var J=g(function(h){var S=f(h);var W=L(h);var z=this.colorTable[S];var U=o.createElement("span");U.className="MochiKit-LogMessage MochiKit-LogLevel-"+S;U.style.cssText="margin: 0px; white-space: -moz-pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; white-space: pre-line; word-wrap: break-word; wrap-option: emergency; color: "+z;U.appendChild(o.createTextNode(S+": "+W));B.appendChild(U);B.appendChild(o.createElement("br"));if(D.offsetHeight>D.scrollHeight){D.scrollTop=0;}else{D.scrollTop=D.scrollHeight;}},this);var y=function(S){c[c.length]=S;J(S);};var V=function(){var U,W;try{U=new RegExp(H.value);W=new RegExp(n.value);}catch(S){logDebug("Error in filter regex: "+S.message);return null;}return function(h){return (U.test(f(h))&&W.test(L(h)));};};var M=function(){while(B.firstChild){B.removeChild(B.firstChild);}};var a=function(){c=[];M();};var R=g(function(){if(this.closed){return ;}this.closed=true;if(MochiKit.LoggingPane._loggingPane==this){MochiKit.LoggingPane._loggingPane=null;}this.logger.removeListener(d);try{try{P.loggingPane=null;}catch(S){logFatal("Bookmarklet was closed incorrectly.");}if(I){P.parentNode.removeChild(P);}else{this.win.close();}}catch(S){}},this);var v=function(){M();for(var S=0;S<c.length;S++){var U=c[S];if(b===null||b(U)){J(U);}}};this.buildAndApplyFilter=function(){b=V();v();this.logger.removeListener(d);this.logger.addListener(d,b,y);};var k=g(function(){c=this.logger.getMessages();v();},this);var w=g(function(S){S=S||window.event;key=S.which||S.keyCode;if(key==13){this.buildAndApplyFilter();}},this);var j="display: block; z-index: 1000; left: 0px; bottom: 0px; position: fixed; width: 100%; background-color: white; font: "+this.logFont;if(I){j+="; height: 10em; border-top: 2px solid black";}else{j+="; height: 100%;";}P.style.cssText=j;if(!G){o.body.appendChild(P);}j={"cssText":"width: 33%; display: inline; font: "+this.logFont};Z(H,{"value":"FATAL|ERROR|WARNING|INFO|DEBUG","onkeypress":w,"style":j});P.appendChild(H);Z(n,{"value":".*","onkeypress":w,"style":j});P.appendChild(n);j="width: 8%; display:inline; font: "+this.logFont;A.appendChild(o.createTextNode("Filter"));A.onclick=g("buildAndApplyFilter",this);A.style.cssText=j;P.appendChild(A);m.appendChild(o.createTextNode("Load"));m.onclick=k;m.style.cssText=j;P.appendChild(m);x.appendChild(o.createTextNode("Clear"));x.onclick=a;x.style.cssText=j;P.appendChild(x);l.appendChild(o.createTextNode("Close"));l.onclick=R;l.style.cssText=j;P.appendChild(l);D.style.cssText="overflow: auto; width: 100%";B.style.cssText="width: 100%; height: "+(I?"8em":"100%");D.appendChild(B);P.appendChild(D);this.buildAndApplyFilter();k();if(I){this.win=undefined;}else{this.win=q;}this.inline=I;this.closePane=R;this.closed=false;return this;};MochiKit.LoggingPane.LoggingPane.prototype={"logFont":"8pt Verdana,sans-serif","colorTable":{"ERROR":"red","FATAL":"darkred","WARNING":"blue","INFO":"black","DEBUG":"green"}};MochiKit.LoggingPane.EXPORT_OK=["LoggingPane"];MochiKit.LoggingPane.EXPORT=["createLoggingPane"];MochiKit.LoggingPane.__new__=function(){this.EXPORT_TAGS={":common":this.EXPORT,":all":MochiKit.Base.concat(this.EXPORT,this.EXPORT_OK)};MochiKit.Base.nameFunctions(this);MochiKit.LoggingPane._loggingPane=null;};MochiKit.LoggingPane.__new__();MochiKit.Base._exportSymbols(this,MochiKit.LoggingPane);if(typeof (dojo)!="undefined"){dojo.provide("MochiKit.Color");dojo.require("MochiKit.Base");dojo.require("MochiKit.DOM");dojo.require("MochiKit.Style");}if(typeof (JSAN)!="undefined"){JSAN.use("MochiKit.Base",[]);JSAN.use("MochiKit.DOM",[]);JSAN.use("MochiKit.Style",[]);}try{if(typeof (MochiKit.Base)=="undefined"){throw "";}}catch(e){throw "MochiKit.Color depends on MochiKit.Base";}try{if(typeof (MochiKit.DOM)=="undefined"){throw "";}}catch(e){throw "MochiKit.Color depends on MochiKit.DOM";}try{if(typeof (MochiKit.Style)=="undefined"){throw "";}}catch(e){throw "MochiKit.Color depends on MochiKit.Style";}if(typeof (MochiKit.Color)=="undefined"){MochiKit.Color={};}MochiKit.Color.NAME="MochiKit.Color";MochiKit.Color.VERSION="1.4";MochiKit.Color.__repr__=function(){return "["+this.NAME+" "+this.VERSION+"]";};MochiKit.Color.toString=function(){return this.__repr__();};MochiKit.Color.Color=function(V,y,a,M){if(typeof (M)=="undefined"||M===null){M=1;}this.rgb={r:V,g:y,b:a,a:M};};MochiKit.Color.Color.prototype={__class__:MochiKit.Color.Color,colorWithAlpha:function(V){var M=this.rgb;var a=MochiKit.Color;return a.Color.fromRGB(M.r,M.g,M.b,V);},colorWithHue:function(V){var M=this.asHSL();M.h=V;var a=MochiKit.Color;return a.Color.fromHSL(M);},colorWithSaturation:function(V){var M=this.asHSL();M.s=V;var a=MochiKit.Color;return a.Color.fromHSL(M);},colorWithLightness:function(V){var M=this.asHSL();M.l=V;var a=MochiKit.Color;return a.Color.fromHSL(M);},darkerColorWithLevel:function(V){var M=this.asHSL();M.l=Math.max(M.l-V,0);var a=MochiKit.Color;return a.Color.fromHSL(M);},lighterColorWithLevel:function(M){var V=this.asHSL();V.l=Math.min(V.l+M,1);var a=MochiKit.Color;return a.Color.fromHSL(V);},blendedColor:function(a,N){if(typeof (N)=="undefined"||N===null){N=0.5;}var V=1-N;var M=this.rgb;var g=a.rgb;var y=N;return MochiKit.Color.Color.fromRGB((M.r*V)+(g.r*y),(M.g*V)+(g.g*y),(M.b*V)+(g.b*y),(M.a*V)+(g.a*y));},compareRGB:function(y){var V=this.asRGB();var M=y.asRGB();return MochiKit.Base.compare([V.r,V.g,V.b,V.a],[M.r,M.g,M.b,M.a]);},isLight:function(){return this.asHSL().b>0.5;},isDark:function(){return (!this.isLight());},toHSLString:function(){var g=this.asHSL();var s=MochiKit.Color.clampColorComponent;var y=this._hslString;if(!y){var V=(s(g.h,360).toFixed(0)+","+s(g.s,100).toPrecision(4)+"%"+","+s(g.l,100).toPrecision(4)+"%");var M=g.a;if(M>=1){M=1;y="hsl("+V+")";}else{if(M<=0){M=0;}y="hsla("+V+","+M+")";}this._hslString=y;}return y;},toRGBString:function(){var y=this.rgb;var V=MochiKit.Color.clampColorComponent;var M=this._rgbString;if(!M){var a=(V(y.r,255).toFixed(0)+","+V(y.g,255).toFixed(0)+","+V(y.b,255).toFixed(0));if(y.a!=1){M="rgba("+a+","+y.a+")";}else{M="rgb("+a+")";}this._rgbString=M;}return M;},asRGB:function(){return MochiKit.Base.clone(this.rgb);},toHexString:function(){var a=MochiKit.Color;var y=this.rgb;var V=MochiKit.Color.clampColorComponent;var M=this._hexString;if(!M){M=("#"+a.toColorPart(V(y.r,255))+a.toColorPart(V(y.g,255))+a.toColorPart(V(y.b,255)));this._hexString=M;}return M;},asHSV:function(){var a=this.hsv;var M=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 M=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 M=this.rgb;var a=[M.r,M.g,M.b,M.a];return this.__class__.NAME+"("+a.join(", ")+")";}};MochiKit.Base.update(MochiKit.Color.Color,{fromRGB:function(g,s,a,V){var M=MochiKit.Color.Color;if(arguments.length==1){var y=g;g=y.r;s=y.g;a=y.b;if(typeof (y.a)=="undefined"){V=undefined;}else{V=y.a;}}return new M(g,s,a,V);},fromHSL:function(V,M,s,y){var a=MochiKit.Color;return a.Color.fromRGB(a.hslToRGB.apply(a,arguments));},fromHSV:function(M,s,y,V){var a=MochiKit.Color;return a.Color.fromRGB(a.hsvToRGB.apply(a,arguments));},fromName:function(a){var V=MochiKit.Color.Color;if(a.charAt(0)=="\""){a=a.substr(1,a.length-2);}var M=V._namedColors[a.toLowerCase()];if(typeof (M)=="string"){return V.fromHexString(M);}else{if(a=="transparent"){return V.transparentColor();}}return null;},fromString:function(V){var a=MochiKit.Color.Color;var M=V.substr(0,3);if(M=="rgb"){return a.fromRGBString(V);}else{if(M=="hsl"){return a.fromHSLString(V);}else{if(V.charAt(0)=="#"){return a.fromHexString(V);}}}return a.fromName(V);},fromHexString:function(V){if(V.charAt(0)=="#"){V=V.substring(1);}var M=[];var y,s;if(V.length==3){for(y=0;y<3;y++){s=V.substr(y,1);M.push(parseInt(s+s,16)/255);}}else{for(y=0;y<6;y+=2){s=V.substr(y,2);M.push(parseInt(s,16)/255);}}var a=MochiKit.Color.Color;return a.fromRGB.apply(a,M);},_fromColorString:function(g,y,V,M){if(M.indexOf(g)===0){M=M.substring(M.indexOf("(",3)+1,M.length-1);}var a=M.split(/\s*,\s*/);var J=[];for(var N=0;N<a.length;N++){var o=a[N];var s;var X=o.substring(o.length-3);if(o.charAt(o.length-1)=="%"){s=0.01*parseFloat(o.substring(0,o.length-1));}else{if(X=="deg"){s=parseFloat(o)/360;}else{if(X=="rad"){s=parseFloat(o)/(Math.PI*2);}else{s=V[N]*parseFloat(o);}}}J.push(s);}return this[y].apply(this,J);},fromComputedStyle:function(s,y){var g=MochiKit.DOM;var V=MochiKit.Color.Color;for(s=g.getElement(s);s;s=s.parentNode){var M=MochiKit.Style.getStyle.apply(g,arguments);if(!M){continue;}var a=V.fromString(M);if(!a){break;}if(a.asRGB().a>0){return a;}}return null;},fromBackground:function(M){var a=MochiKit.Color.Color;return a.fromComputedStyle(M,"backgroundColor","background-color")||a.whiteColor();},fromText:function(M){var a=MochiKit.Color.Color;return a.fromComputedStyle(M,"color","color")||a.blackColor();},namedColors:function(){return MochiKit.Base.clone(MochiKit.Color.Color._namedColors);}});MochiKit.Base.update(MochiKit.Color,{clampColorComponent:function(a,M){a*=M;if(a<0){return 0;}else{if(a>M){return M;}else{return a;}}},_hslValue:function(V,M,a){if(a>6){a-=6;}else{if(a<0){a+=6;}}var y;if(a<1){y=V+(M-V)*a;}else{if(a<3){y=M;}else{if(a<4){y=V+(M-V)*(4-a);}else{y=V;}}}return y;},hsvToRGB:function(g,L,J,X){if(arguments.length==1){var s=g;g=s.h;L=s.s;J=s.v;X=s.a;}var V;var o;var b;if(L===0){V=0;o=0;b=0;}else{var y=Math.floor(g*6);var N=(g*6)-y;var M=J*(1-L);var a=J*(1-(L*N));var c=J*(1-(L*(1-N)));switch(y){case 1:V=a;o=J;b=M;break;case 2:V=M;o=J;b=c;break;case 3:V=M;o=a;b=J;break;case 4:V=c;o=M;b=J;break;case 5:V=J;o=M;b=a;break;case 6:case 0:V=J;o=c;b=M;break;}}return {r:V,g:o,b:b,a:X};},hslToRGB:function(N,g,y,M){if(arguments.length==1){var L=N;N=L.h;g=L.s;y=L.l;M=L.a;}var a;var s;var X;if(g===0){a=y;s=y;X=y;}else{var J;if(y<=0.5){J=y*(1+g);}else{J=y+g-(y*g);}var b=(2*y)-J;var o=MochiKit.Color._hslValue;var V=N*6;a=o(b,J,V+2);s=o(b,J,V);X=o(b,J,V-2);}return {r:a,g:s,b:X,a:M};},rgbToHSV:function(s,g,L,y){if(arguments.length==1){var X=s;s=X.r;g=X.g;L=X.b;y=X.a;}var J=Math.max(Math.max(s,g),L);var N=Math.min(Math.min(s,g),L);var o;var V;var a=J;if(N==J){o=0;V=0;}else{var M=(J-N);V=M/J;if(s==J){o=(g-L)/M;}else{if(g==J){o=2+((L-s)/M);}else{o=4+((s-g)/M);}}o/=6;if(o<0){o+=1;}if(o>1){o-=1;}}return {h:o,s:V,v:a,a:y};},rgbToHSL:function(V,M,o,a){if(arguments.length==1){var g=V;V=g.r;M=g.g;o=g.b;a=g.a;}var N=Math.max(V,Math.max(M,o));var y=Math.min(V,Math.min(M,o));var s;var L;var J=(N+y)/2;var X=N-y;if(X===0){s=0;L=0;}else{if(J<=0.5){L=X/(N+y);}else{L=X/(2-N-y);}if(V==N){s=(M-o)/X;}else{if(M==N){s=2+((o-V)/X);}else{s=4+((V-M)/X);}}s/=6;if(s<0){s+=1;}if(s>1){s-=1;}}return {h:s,s:L,l:J,a:a};},toColorPart:function(a){a=Math.round(a);var M=a.toString(16);if(a<16){return "0"+M;}return M;},__new__:function(){var M=MochiKit.Base;this.Color.fromRGBString=M.bind(this.Color._fromColorString,this.Color,"rgb","fromRGB",[1/255,1/255,1/255,1]);this.Color.fromHSLString=M.bind(this.Color._fromColorString,this.Color,"hsl","fromHSL",[1/360,0.01,0.01,1]);var X=1/3;var o={black:[0,0,0],blue:[0,0,1],brown:[0.6,0.4,0.2],cyan:[0,1,1],darkGray:[X,X,X],gray:[0.5,0.5,0.5],green:[0,1,0],lightGray:[2*X,2*X,2*X],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 g=function(f,d,c,J,L){var B=this.fromRGB(d,c,J,L);this[f]=function(){return B;};return B;};for(var V in o){var a=V+"Color";var N=M.concat([g,this.Color,a],o[V]);this.Color[a]=M.bind.apply(null,N);}var s=function(){for(var J=0;J<arguments.length;J++){if(!(arguments[J] instanceof Color)){return false;}}return true;};var y=function(L,J){return L.compareRGB(J);};M.nameFunctions(this);M.registerComparator(this.Color.NAME,s,y);this.EXPORT_TAGS={":common":this.EXPORT,":all":M.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"};if(typeof (dojo)!="undefined"){dojo.provide("MochiKit.Signal");dojo.require("MochiKit.Base");dojo.require("MochiKit.DOM");dojo.require("MochiKit.Style");}if(typeof (JSAN)!="undefined"){JSAN.use("MochiKit.Base",[]);JSAN.use("MochiKit.DOM",[]);JSAN.use("MochiKit.Style",[]);}try{if(typeof (MochiKit.Base)=="undefined"){throw "";}}catch(e){throw "MochiKit.Signal depends on MochiKit.Base!";}try{if(typeof (MochiKit.DOM)=="undefined"){throw "";}}catch(e){throw "MochiKit.Signal depends on MochiKit.DOM!";}try{if(typeof (MochiKit.Style)=="undefined"){throw "";}}catch(e){throw "MochiKit.Signal depends on MochiKit.Style!";}if(typeof (MochiKit.Signal)=="undefined"){MochiKit.Signal={};}MochiKit.Signal.NAME="MochiKit.Signal";MochiKit.Signal.VERSION="1.4";MochiKit.Signal._observers=[];MochiKit.Signal.Event=function(M,a){this._event=a||window.event;this._src=M;};MochiKit.Base.update(MochiKit.Signal.Event.prototype,{__repr__:function(){var a=MochiKit.Base.repr;var M="{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"){M+=", 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){M+=", 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")){M+=", mouse(): {page: "+a(this.mouse().page)+", client: "+a(this.mouse().client);if(this.type()!="mousemove"){M+=", button: {left: "+a(this.mouse().button.left)+", middle: "+a(this.mouse().button.middle)+", right: "+a(this.mouse().button.right)+"}}";}else{M+="}";}}if(this.type()=="mouseover"||this.type()=="mouseout"){M+=", relatedTarget(): "+a(this.relatedTarget());}M+="}";return M;},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"){a=(this._event.relatedTarget||this._event.fromElement);}else{if(this.type()=="mouseout"){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 M={};var V=this._event;if(this.type()&&(this.type().indexOf("mouse")===0||this.type().indexOf("click")!=-1||this.type()=="contextmenu")){M.client=new MochiKit.Style.Coordinates(0,0);if(V.clientX||V.clientY){M.client.x=(!V.clientX||V.clientX<0)?0:V.clientX;M.client.y=(!V.clientY||V.clientY<0)?0:V.clientY;}M.page=new MochiKit.Style.Coordinates(0,0);if(V.pageX||V.pageY){M.page.x=(!V.pageX||V.pageX<0)?0:V.pageX;M.page.y=(!V.pageY||V.pageY<0)?0:V.pageY;}else{var y=MochiKit.DOM._document.documentElement;var a=MochiKit.DOM._document.body;M.page.x=V.clientX+(y.scrollLeft||a.scrollLeft)-(y.clientLeft||0);M.page.y=V.clientY+(y.scrollTop||a.scrollTop)-(y.clientTop||0);}if(this.type()!="mousemove"){M.button={};M.button.left=false;M.button.right=false;M.button.middle=false;if(V.which){M.button.left=(V.which==1);M.button.middle=(V.which==2);M.button.right=(V.which==3);}else{M.button.left=!!(V.button&1);M.button.right=!!(V.button&2);M.button.middle=!!(V.button&4);}}this._mouse=M;return M;}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 a=MochiKit.Signal._specialKeys;for(var M=48;M<=57;M++){a[M]="KEY_"+(M-48);}for(M=65;M<=90;M++){a[M]="KEY_"+String.fromCharCode(M);}for(M=96;M<=105;M++){a[M]="KEY_NUM_PAD_"+(M-96);}for(M=112;M<=123;M++){a[M]="KEY_F"+(M-112+1);}})();MochiKit.Base.update(MochiKit.Signal,{__repr__:function(){return "["+this.NAME+" "+this.VERSION+"]";},toString:function(){return this.__repr__();},_unloadCache:function(){var a=MochiKit.Signal;var y=a._observers;for(var M=0;M<y.length;M++){a._disconnect(y[M]);}delete a._observers;try{window.onload=undefined;}catch(V){}try{window.onunload=undefined;}catch(V){}},_listener:function(g,M,y,s){var a=MochiKit.Signal;var V=a.Event;if(!s){return MochiKit.Base.bind(M,y);}y=y||g;if(typeof (M)=="string"){return function(N){y[M].apply(y,[new V(g,N)]);};}else{return function(N){M.apply(y,[new V(g,N)]);};}},_browserAlreadyHasMouseEnterAndLeave:function(){return /MSIE/.test(navigator.userAgent);},_mouseEnterListener:function(s,y,a,V){var M=MochiKit.Signal.Event;return function(g){var o=new M(s,g);try{o.relatedTarget().nodeName;}catch(N){return ;}o.stop();if(MochiKit.DOM.isChildNode(o.relatedTarget(),s)){return ;}o.type=function(){return y;};if(typeof (a)=="string"){return V[a].apply(V,[o]);}else{return a.apply(V,[o]);}};},_getDestPair:function(M,a){var y=null;var V=null;if(typeof (a)!="undefined"){y=M;V=a;if(typeof (a)=="string"){if(typeof (M[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 (M)!="function"){throw new Error("'objOrFunc' must be a function if 'funcOrStr' is not given");}else{V=M;}}return [y,V];},connect:function(M,f,N,g){M=MochiKit.DOM.getElement(M);var L=MochiKit.Signal;if(typeof (f)!="string"){throw new Error("'sig' must be a string");}var s=L._getDestPair(N,g);var X=s[0];var o=s[1];if(typeof (X)=="undefined"||X===null){X=M;}var y=!!(M.addEventListener||M.attachEvent);if(y&&(f==="onmouseenter"||f==="onmouseleave")&&!L._browserAlreadyHasMouseEnterAndLeave()){var a=L._mouseEnterListener(M,f.substr(2),o,X);if(f==="onmouseenter"){f="onmouseover";}else{f="onmouseout";}}else{var a=L._listener(M,o,X,y);}if(M.addEventListener){M.addEventListener(f.substr(2),a,false);}else{if(M.attachEvent){M.attachEvent(f,a);}}var V=[M,f,a,y,N,g,true];L._observers.push(V);if(!y&&typeof (M.__connect__)=="function"){var J=MochiKit.Base.extend([V],arguments,1);M.__connect__.apply(M,J);}return V;},_disconnect:function(M){if(!M[6]){return ;}M[6]=false;if(!M[3]){return ;}var y=M[0];var V=M[1];var a=M[2];if(y.removeEventListener){y.removeEventListener(V.substr(2),a,false);}else{if(y.detachEvent){y.detachEvent(V,a);}else{throw new Error("'src' must be a DOM element");}}},disconnect:function(J){var L=MochiKit.Signal;var X=L._observers;var y=MochiKit.Base;if(arguments.length>1){var a=MochiKit.DOM.getElement(arguments[0]);var f=arguments[1];var g=arguments[2];var V=arguments[3];for(var s=X.length-1;s>=0;s--){var M=X[s];if(M[0]===a&&M[1]===f&&M[4]===g&&M[5]===V){L._disconnect(M);if(!L._lock){X.splice(s,1);}else{L._dirty=true;}return true;}}}else{var N=y.findIdentical(X,J);if(N>=0){L._disconnect(J);if(!L._lock){X.splice(N,1);}else{L._dirty=true;}return true;}}return false;},disconnectAllTo:function(o,N){var X=MochiKit.Signal;var g=X._observers;var y=X._disconnect;var V=X._lock;var s=X._dirty;if(typeof (N)==="undefined"){N=null;}for(var a=g.length-1;a>=0;a--){var M=g[a];if(M[4]===o&&(N===null||M[5]===N)){y(M);if(V){s=true;}else{g.splice(a,1);}}}X._dirty=s;},disconnectAll:function(a,f){a=MochiKit.DOM.getElement(a);var M=MochiKit.Base;var X=M.flattenArguments(M.extend(null,arguments,1));var J=MochiKit.Signal;var o=J._disconnect;var N=J._observers;var y,V;var g=J._lock;var s=J._dirty;if(X.length===0){for(y=N.length-1;y>=0;y--){V=N[y];if(V[0]===a){o(V);if(!g){N.splice(y,1);}else{s=true;}}}}else{var L={};for(y=0;y<X.length;y++){L[X[y]]=true;}for(y=N.length-1;y>=0;y--){V=N[y];if(V[0]===a&&V[1] in L){o(V);if(!g){N.splice(y,1);}else{s=true;}}}}J._dirty=s;},signal:function(a,X){var o=MochiKit.Signal;var V=o._observers;a=MochiKit.DOM.getElement(a);var N=MochiKit.Base.extend(null,arguments,2);var M=[];o._lock=true;for(var s=0;s<V.length;s++){var y=V[s];if(y[0]===a&&y[1]===X){try{y[2].apply(a,N);}catch(g){M.push(g);}}}o._lock=false;if(o._dirty){o._dirty=false;for(var s=V.length-1;s>=0;s--){if(!V[s][6]){V.splice(s,1);}}}if(M.length==1){throw M[0];}else{if(M.length>1){var g=new Error("Multiple errors thrown in handling 'sig', see errors property");g.errors=M;throw g;}}}});MochiKit.Signal.EXPORT_OK=[];MochiKit.Signal.EXPORT=["connect","disconnect","signal","disconnectAll","disconnectAllTo"];MochiKit.Signal.__new__=function(V){var a=MochiKit.Base;this._document=document;this._window=V;this._lock=false;this._dirty=false;try{this.connect(window,"onunload",this._unloadCache);}catch(M){}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);if(typeof (dojo)!="undefined"){dojo.provide("MochiKit.Position");dojo.require("MochiKit.Base");dojo.require("MochiKit.DOM");dojo.require("MochiKit.Style");}if(typeof (JSAN)!="undefined"){JSAN.use("MochiKit.Base",[]);JSAN.use("MochiKit.DOM",[]);JSAN.use("MochiKit.Style",[]);}try{if(typeof (MochiKit.Base)=="undefined"||typeof (MochiKit.Style)=="undefined"||typeof (MochiKit.DOM)=="undefined"){throw "";}}catch(e){throw "MochiKit.Style depends on MochiKit.Base, MochiKit.DOM, and MochiKit.Style!";}if(typeof (MochiKit.Position)=="undefined"){MochiKit.Position={};}MochiKit.Position.NAME="MochiKit.Position";MochiKit.Position.VERSION="1.4";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 M=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(M,a);},cumulativeOffset:function(V){var M=0;var a=0;do{M+=V.offsetTop||0;a+=V.offsetLeft||0;V=V.offsetParent;}while(V);return new MochiKit.Style.Coordinates(a,M);},realOffset:function(V){var M=0;var a=0;do{M+=V.scrollTop||0;a+=V.scrollLeft||0;V=V.parentNode;}while(V);return new MochiKit.Style.Coordinates(a,M);},within:function(M,a,V){if(this.includeScrollOffsets){return this.withinIncludingScrolloffsets(M,a,V);}this.xcomp=a;this.ycomp=V;this.offset=this.cumulativeOffset(M);if(M.style.position=="fixed"){this.offset.x+=this.windowOffset.x;this.offset.y+=this.windowOffset.y;}return (V>=this.offset.y&&V<this.offset.y+M.offsetHeight&&a>=this.offset.x&&a<this.offset.x+M.offsetWidth);},withinIncludingScrolloffsets:function(V,a,s){var M=this.realOffset(V);this.xcomp=a+M.x-this.windowOffset.x;this.ycomp=s+M.y-this.windowOffset.y;this.offset=this.cumulativeOffset(V);return (this.ycomp>=this.offset.y&&this.ycomp<this.offset.y+V.offsetHeight&&this.xcomp>=this.offset.x&&this.xcomp<this.offset.x+V.offsetWidth);},overlap:function(M,a){if(!M){return 0;}if(M=="vertical"){return ((this.offset.y+a.offsetHeight)-this.ycomp)/a.offsetHeight;}if(M=="horizontal"){return ((this.offset.x+a.offsetWidth)-this.xcomp)/a.offsetWidth;}},absolutize:function(a){a=MochiKit.DOM.getElement(a);if(a.style.position=="absolute"){return ;}MochiKit.Position.prepare();var s=MochiKit.Position.positionedOffset(a);var y=a.clientWidth;var V=a.clientHeight;var M={"position":a.style.position,"left":s.x-parseFloat(a.style.left||0),"top":s.y-parseFloat(a.style.top||0),"width":a.style.width,"height":a.style.height};a.style.position="absolute";a.style.top=s.y+"px";a.style.left=s.x+"px";a.style.width=y+"px";a.style.height=V+"px";return M;},positionedOffset:function(M){var a=0,V=0;do{a+=M.offsetTop||0;V+=M.offsetLeft||0;M=M.offsetParent;if(M){p=MochiKit.Style.getStyle(M,"position");if(p=="relative"||p=="absolute"){break;}}}while(M);return new MochiKit.Style.Coordinates(V,a);},relativize:function(M,a){M=MochiKit.DOM.getElement(M);if(M.style.position=="relative"){return ;}MochiKit.Position.prepare();var y=parseFloat(M.style.top||0)-(a["top"]||0);var V=parseFloat(M.style.left||0)-(a["left"]||0);M.style.position=a["position"];M.style.top=y+"px";M.style.left=V+"px";M.style.width=a["width"];M.style.height=a["height"];},clone:function(V,M){V=MochiKit.DOM.getElement(V);M=MochiKit.DOM.getElement(M);M.style.position="absolute";var a=this.cumulativeOffset(V);M.style.top=a.y+"px";M.style.left=a.x+"px";M.style.width=V.offsetWidth+"px";M.style.height=V.offsetHeight+"px";},page:function(y){var V=0;var M=0;var a=y;do{V+=a.offsetTop||0;M+=a.offsetLeft||0;if(a.offsetParent==document.body&&MochiKit.Style.getStyle(a,"position")=="absolute"){break;}}while(a=a.offsetParent);a=y;do{V-=a.scrollTop||0;M-=a.scrollLeft||0;}while(a=a.parentNode);return new MochiKit.Style.Coordinates(M,V);}});if(typeof (dojo)!="undefined"){dojo.provide("MochiKit.Visual");dojo.require("MochiKit.Base");dojo.require("MochiKit.DOM");dojo.require("MochiKit.Style");dojo.require("MochiKit.Color");dojo.require("MochiKit.Position");}if(typeof (JSAN)!="undefined"){JSAN.use("MochiKit.Base",[]);JSAN.use("MochiKit.DOM",[]);JSAN.use("MochiKit.Style",[]);JSAN.use("MochiKit.Color",[]);JSAN.use("MochiKit.Position",[]);}try{if(typeof (MochiKit.Base)==="undefined"||typeof (MochiKit.DOM)==="undefined"||typeof (MochiKit.Style)==="undefined"||typeof (MochiKit.Position)==="undefined"||typeof (MochiKit.Color)==="undefined"){throw "";}}catch(e){throw "MochiKit.Visual depends on MochiKit.Base, MochiKit.DOM, MochiKit.Style, MochiKit.Position and MochiKit.Color!";}if(typeof (MochiKit.Visual)=="undefined"){MochiKit.Visual={};}MochiKit.Visual.NAME="MochiKit.Visual";MochiKit.Visual.VERSION="1.4";MochiKit.Visual.__repr__=function(){return "["+this.NAME+" "+this.VERSION+"]";};MochiKit.Visual.toString=function(){return this.__repr__();};MochiKit.Visual._RoundCorners=function(y,V){y=MochiKit.DOM.getElement(y);this._setOptions(V);if(this.options.__unstable__wrapElement){y=this._doWrap(y);}var M=this.options.color;var s=MochiKit.Color.Color;if(this.options.color==="fromElement"){M=s.fromBackground(y);}else{if(!(M instanceof s)){M=s.fromString(M);}}this.isTransparent=(M.asRGB().a<=0);var a=this.options.bgColor;if(this.options.bgColor==="fromParent"){a=s.fromBackground(y.offsetParent);}else{if(!(a instanceof s)){a=s.fromString(a);}}this._roundCornersImpl(y,M,a);};MochiKit.Visual._RoundCorners.prototype={_doWrap:function(V){var a=V.parentNode;var M=MochiKit.DOM.currentDocument();if(typeof (M.defaultView)==="undefined"||M.defaultView===null){return V;}var s=M.defaultView.getComputedStyle(V,null);if(typeof (s)==="undefined"||s===null){return V;}var y=MochiKit.DOM.DIV({"style":{display:"block",marginTop:s.getPropertyValue("padding-top"),marginRight:s.getPropertyValue("padding-right"),marginBottom:s.getPropertyValue("padding-bottom"),marginLeft:s.getPropertyValue("padding-left"),padding:"0px"}});y.innerHTML=V.innerHTML;V.innerHTML="";V.appendChild(y);return V;},_roundCornersImpl:function(V,M,a){if(this.options.border){this._renderBorder(V,a);}if(this._isTopRounded()){this._roundTopCorners(V,M,a);}if(this._isBottomRounded()){this._roundBottomCorners(V,M,a);}},_renderBorder:function(s,g){var y="1px solid "+this._borderColor(g);var V="border-left: "+y;var M="border-right: "+y;var a="style='"+V+";"+M+"'";s.innerHTML="<div "+a+">"+s.innerHTML+"</div>";},_roundTopCorners:function(y,M,a){var s=this._createCorner(a);for(var V=0;V<this.options.numSlices;V++){s.appendChild(this._createCornerSlice(M,a,V,"top"));}y.style.paddingTop=0;y.insertBefore(s,y.firstChild);},_roundBottomCorners:function(M,s,y){var V=this._createCorner(y);for(var a=(this.options.numSlices-1);a>=0;a--){V.appendChild(this._createCornerSlice(s,y,a,"bottom"));}M.style.paddingBottom=0;M.appendChild(V);},_createCorner:function(a){var M=MochiKit.DOM;return M.DIV({style:{backgroundColor:a.toString()}});},_createCornerSlice:function(g,s,N,y){var V=MochiKit.DOM.SPAN();var M=V.style;M.backgroundColor=g.toString();M.display="block";M.height="1px";M.overflow="hidden";M.fontSize="1px";var a=this._borderColor(g,s);if(this.options.border&&N===0){M.borderTopStyle="solid";M.borderTopWidth="1px";M.borderLeftWidth="0px";M.borderRightWidth="0px";M.borderBottomWidth="0px";M.height="0px";M.borderColor=a.toString();}else{if(a){M.borderColor=a.toString();M.borderStyle="solid";M.borderWidth="0px 1px";}}if(!this.options.compact&&(N==(this.options.numSlices-1))){M.height="2px";}this._setMargin(V,N,y);this._setBorder(V,N,y);return V;},_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 V=(a.indexOf("tl")!=-1);var M=(a.indexOf("tr")!=-1);if(V&&M){return "";}if(V){return "left";}if(M){return "right";}return "";},_whichSideBottom:function(){var V=this.options.corners;if(this._hasString(V,"all","bottom")){return "";}var M=(V.indexOf("bl")!=-1);var a=(V.indexOf("br")!=-1);if(M&&a){return "";}if(M){return "left";}if(a){return "right";}return "";},_borderColor:function(M,a){if(M=="transparent"){return a;}else{if(this.options.border){return this.options.border;}else{if(this.options.blend){return a.blendedColor(M);}}}return "";},_setMargin:function(s,g,y){var V=this._marginSize(g)+"px";var M=(y=="top"?this._whichSideTop():this._whichSideBottom());var a=s.style;if(M=="left"){a.marginLeft=V;a.marginRight="0px";}else{if(M=="right"){a.marginRight=V;a.marginLeft="0px";}else{a.marginLeft=V;a.marginRight=V;}}},_setBorder:function(M,g,a){var s=this._borderSize(g)+"px";var y=(a=="top"?this._whichSideTop():this._whichSideBottom());var V=M.style;if(y=="left"){V.borderLeftWidth=s;V.borderRightWidth="0px";}else{if(y=="right"){V.borderRightWidth=s;V.borderLeftWidth="0px";}else{V.borderLeftWidth=s;V.borderRightWidth=s;}}},_marginSize:function(g){if(this.isTransparent){return 0;}var s=this.options;if(s.compact&&s.blend){var y=[1,0];return y[g];}else{if(s.compact){var V=[2,1];return V[g];}else{if(s.blend){var M=[3,2,1,0];return M[g];}else{var a=[5,3,2,1];return a[g];}}}},_borderSize:function(V){var M=this.options;var a;if(M.compact&&(M.blend||this.isTransparent)){return 1;}else{if(M.compact){a=[1,0];}else{if(M.blend){a=[2,1,1,1];}else{if(M.border){a=[0,2,0,0];}else{if(this.isTransparent){a=[5,3,2,1];}else{return 0;}}}}}return a[V];},_hasString:function(M){for(var a=1;a<arguments.length;a++){if(M.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(M,a){new MochiKit.Visual._RoundCorners(M,a);};MochiKit.Visual.roundClass=function(V,M,a){var s=MochiKit.DOM.getElementsByTagAndClassName(V,M);for(var y=0;y<s.length;y++){MochiKit.Visual.roundElement(s[y],a);}};MochiKit.Visual.tagifyText=function(M,a){a=a||"position:relative";if(/MSIE/.test(navigator.userAgent)){a+=";zoom:1";}M=MochiKit.DOM.getElement(M);var V=MochiKit.Base.map;V(function(y){if(y.nodeType==3){V(function(s){M.insertBefore(MochiKit.DOM.SPAN({style:a},s==" "?String.fromCharCode(160):s),y);},y.nodeValue.split(""));MochiKit.DOM.removeElement(y);}},M.childNodes);};MochiKit.Visual.forceRerendering=function(a){try{a=MochiKit.DOM.getElement(a);var V=document.createTextNode(" ");a.appendChild(V);a.removeChild(V);}catch(M){}};MochiKit.Visual.multiple=function(s,y,V){V=MochiKit.Base.update({speed:0.1,delay:0},V||{});var M=V.delay;var a=0;MochiKit.Base.map(function(g){V.delay=a*V.speed+M;new y(g,V);a+=1;},s);};MochiKit.Visual.PAIRS={"slide":["slideDown","slideUp"],"blind":["blindDown","blindUp"],"appear":["appear","fade"],"size":["grow","shrink"]};MochiKit.Visual.toggle=function(y,V,M){y=MochiKit.DOM.getElement(y);V=(V||"appear").toLowerCase();M=MochiKit.Base.update({queue:{position:"end",scope:(y.id||"global"),limit:1}},M||{});var a=MochiKit.Visual;a[y.style.display!="none"?a.PAIRS[V][1]:a.PAIRS[V][0]](y,M);};MochiKit.Visual.Transitions={};MochiKit.Visual.Transitions.linear=function(a){return a;};MochiKit.Visual.Transitions.sinoidal=function(a){return (-Math.cos(a*Math.PI)/2)+0.5;};MochiKit.Visual.Transitions.reverse=function(a){return 1-a;};MochiKit.Visual.Transitions.flicker=function(a){return ((-Math.cos(a*Math.PI)/4)+0.75)+Math.random()/4;};MochiKit.Visual.Transitions.wobble=function(a){return (-Math.cos(a*Math.PI*(9*a))/2)+0.5;};MochiKit.Visual.Transitions.pulse=function(a){return (Math.floor(a*10)%2===0?(a*10-Math.floor(a*10)):1-(a*10-Math.floor(a*10)));};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(y){var V=new Date().getTime();var M=(typeof (y.options.queue)=="string")?y.options.queue:y.options.queue.position;var s=MochiKit.Base.map;switch(M){case "front":s(function(g){if(g.state=="idle"){g.startOn+=y.finishOn;g.finishOn+=y.finishOn;}},this.effects);break;case "end":var a;s(function(N){var g=N.finishOn;if(g>=(a||g)){a=g;}},this.effects);V=a||V;break;case "break":s(function(g){g.finalize();},this.effects);break;}y.startOn+=V;y.finishOn+=V;if(!y.options.queue.limit||this.effects.length<y.options.queue.limit){this.effects.push(y);}if(!this.interval){this.interval=this.startLoop(MochiKit.Base.bind(this.loop,this),40);}},startLoop:function(M,a){return setInterval(M,a);},remove:function(a){this.effects=MochiKit.Base.filter(function(M){return M!=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(M){M.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(M){var a=MochiKit.Visual;this.options=MochiKit.Base.setdefault(M||{},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(M){if(M>=this.startOn){if(M>=this.finishOn){return this.finalize();}var V=(M-this.startOn)/(this.finishOn-this.startOn);var a=Math.round(V*this.options.fps*this.options.duration);if(a>this.currentFrame){this.render(V);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(V,M){var a=arguments.callee;if(!(this instanceof a)){return new a(V,M);}this.__init__(V,M);};MochiKit.Visual.Parallel.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Parallel.prototype,{__init__:function(M,a){this.effects=M||[];this.start(a);},update:function(a){MochiKit.Base.map(function(M){M.render(a);},this.effects);},finish:function(){MochiKit.Base.map(function(a){a.finalize();},this.effects);}});MochiKit.Visual.Opacity=function(V,M){var a=arguments.callee;if(!(this instanceof a)){return new a(V,M);}this.__init__(V,M);};MochiKit.Visual.Opacity.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Opacity.prototype,{__init__:function(y,M){var a=MochiKit.Base;var V=MochiKit.Style;this.element=MochiKit.DOM.getElement(y);if(this.element.currentStyle&&(!this.element.currentStyle.hasLayout)){V.setStyle(this.element,{zoom:1});}M=a.update({from:V.getStyle(this.element,"opacity")||0,to:1},M||{});this.start(M);},update:function(a){MochiKit.Style.setStyle(this.element,{"opacity":a});}});MochiKit.Visual.Move=function(V,M){var a=arguments.callee;if(!(this instanceof a)){return new a(V,M);}this.__init__(V,M);};MochiKit.Visual.Move.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Move.prototype,{__init__:function(M,a){this.element=MochiKit.DOM.getElement(M);a=MochiKit.Base.update({x:0,y:0,mode:"relative"},a||{});this.start(a);},setup:function(){MochiKit.DOM.makePositioned(this.element);var a=this.element.style;var V=a.visibility;var M=a.display;if(M=="none"){a.visibility="hidden";a.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(M=="none"){a.visibility=V;a.display=M;}},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(y,V,M){var a=arguments.callee;if(!(this instanceof a)){return new a(y,V,M);}this.__init__(y,V,M);};MochiKit.Visual.Scale.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Scale.prototype,{__init__:function(V,M,a){this.element=MochiKit.DOM.getElement(V);a=MochiKit.Base.update({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:"box",scaleFrom:100,scaleTo:M},a||{});this.start(a);},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=MochiKit.Style.getStyle(this.element,"position");var V=MochiKit.Base.map;var a=MochiKit.Base.bind;this.originalStyle={};V(a(function(y){this.originalStyle[y]=this.element.style[y];},this),["top","left","width","height","fontSize"]);this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var M=MochiKit.Style.getStyle(this.element,"font-size")||"100%";V(a(function(y){if(M.indexOf(y)>0){this.fontSize=parseFloat(M);this.fontSizeType=y;}},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 M=(this.options.scaleFrom/100)+(this.factor*a);if(this.options.scaleContent&&this.fontSize){MochiKit.Style.setStyle(this.element,{fontSize:this.fontSize*M+this.fontSizeType});}this.setDimensions(this.dims[0]*M,this.dims[1]*M);},finish:function(){if(this.restoreAfterFinish){MochiKit.Style.setStyle(this.element,this.originalStyle);}},setDimensions:function(g,y){var s={};var V=Math.round;if(/MSIE/.test(navigator.userAgent)){V=Math.ceil;}if(this.options.scaleX){s.width=V(y)+"px";}if(this.options.scaleY){s.height=V(g)+"px";}if(this.options.scaleFromCenter){var a=(g-this.dims[0])/2;var M=(y-this.dims[1])/2;if(this.elementPositioning=="absolute"){if(this.options.scaleY){s.top=this.originalTop-a+"px";}if(this.options.scaleX){s.left=this.originalLeft-M+"px";}}else{if(this.options.scaleY){s.top=-a+"px";}if(this.options.scaleX){s.left=-M+"px";}}}MochiKit.Style.setStyle(this.element,s);}});MochiKit.Visual.Highlight=function(V,M){var a=arguments.callee;if(!(this instanceof a)){return new a(V,M);}this.__init__(V,M);};MochiKit.Visual.Highlight.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Highlight.prototype,{__init__:function(M,a){this.element=MochiKit.DOM.getElement(M);a=MochiKit.Base.update({startcolor:"#ffff99"},a||{});this.start(a);},setup:function(){var a=MochiKit.Base;var M=MochiKit.Style;if(M.getStyle(this.element,"display")=="none"){this.cancel();return ;}this.oldStyle={backgroundImage:M.getStyle(this.element,"background-image")};M.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=M.getStyle(this.element,"background-color");}this._base=a.map(a.bind(function(V){return parseInt(this.options.startcolor.slice(V*2+1,V*2+3),16);},this),[0,1,2]);this._delta=a.map(a.bind(function(V){return parseInt(this.options.endcolor.slice(V*2+1,V*2+3),16)-this._base[V];},this),[0,1,2]);},update:function(M){var a="#";MochiKit.Base.map(MochiKit.Base.bind(function(V){a+=MochiKit.Color.toColorPart(Math.round(this._base[V]+this._delta[V]*M));},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(V,a){var M=arguments.callee;if(!(this instanceof M)){return new M(V,a);}this.__init__(V,a);};MochiKit.Visual.ScrollTo.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.ScrollTo.prototype,{__init__:function(M,a){this.element=MochiKit.DOM.getElement(M);this.start(a||{});},setup:function(){var V=MochiKit.Position;V.prepare();var M=V.cumulativeOffset(this.element);if(this.options.offset){M.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=V.windowOffset.y;this.delta=(M.y>a?a:M.y)-this.scrollStart;},update:function(M){var a=MochiKit.Position;a.prepare();window.scrollTo(a.windowOffset.x,this.scrollStart+(M*this.delta));}});MochiKit.Visual.CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;MochiKit.Visual.Morph=function(V,M){var a=arguments.callee;if(!(this instanceof a)){return new a(V,M);}this.__init__(V,M);};MochiKit.Visual.Morph.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Morph.prototype,{__init__:function(M,a){this.element=MochiKit.DOM.getElement(M);this.start(a||{});},setup:function(){var a=MochiKit.Base;var y=this.options.style;this.styleStart={};this.styleEnd={};this.units={};var V,N;for(var g in y){V=y[g];g=a.camelize(g);if(MochiKit.Visual.CSS_LENGTH.test(V)){var M=V.match(/^([\+\-]?[0-9\.]+)(.*)$/);V=parseFloat(M[1]);N=(M.length==3)?M[2]:null;this.styleEnd[g]=V;this.units[g]=N;V=MochiKit.Style.getStyle(this.element,g);M=V.match(/^([\+\-]?[0-9\.]+)(.*)$/);V=parseFloat(M[1]);this.styleStart[g]=V;}else{var o=MochiKit.Color.Color;V=o.fromString(V);if(V){this.units[g]="color";this.styleEnd[g]=V.toHexString();V=MochiKit.Style.getStyle(this.element,g);this.styleStart[g]=o.fromString(V).toHexString();this.styleStart[g]=a.map(a.bind(function(s){return parseInt(this.styleStart[g].slice(s*2+1,s*2+3),16);},this),[0,1,2]);this.styleEnd[g]=a.map(a.bind(function(s){return parseInt(this.styleEnd[g].slice(s*2+1,s*2+3),16);},this),[0,1,2]);}}}},update:function(M){var N;for(var y in this.styleStart){if(this.units[y]=="color"){var a="#";var g=this.styleStart[y];var V=this.styleEnd[y];MochiKit.Base.map(MochiKit.Base.bind(function(s){a+=MochiKit.Color.toColorPart(Math.round(g[s]+(V[s]-g[s])*M));},this),[0,1,2]);this.element.style[y]=a;}else{N=this.styleStart[y]+Math.round((this.styleEnd[y]-this.styleStart[y])*M*1000)/1000+this.units[y];this.element.style[y]=N;}}}});MochiKit.Visual.fade=function(y,V){var a=MochiKit.Style;var M=a.getStyle(y,"opacity");V=MochiKit.Base.update({from:a.getStyle(y,"opacity")||1,to:0,afterFinishInternal:function(s){if(s.options.to!==0){return ;}a.hideElement(s.element);a.setStyle(s.element,{"opacity":M});}},V||{});return new MochiKit.Visual.Opacity(y,V);};MochiKit.Visual.appear=function(y,M){var V=MochiKit.Style;var a=MochiKit.Visual;M=MochiKit.Base.update({from:(V.getStyle(y,"display")=="none"?0:V.getStyle(y,"opacity")||0),to:1,afterFinishInternal:function(s){a.forceRerendering(s.element);},beforeSetupInternal:function(s){V.setStyle(s.element,{"opacity":s.options.from});V.showElement(s.element);}},M||{});return new a.Opacity(y,M);};MochiKit.Visual.puff=function(V,M){var g=MochiKit.Style;var y=MochiKit.Visual;V=MochiKit.DOM.getElement(V);var a={position:g.getStyle(V,"position"),top:V.style.top,left:V.style.left,width:V.style.width,height:V.style.height,opacity:g.getStyle(V,"opacity")};M=MochiKit.Base.update({beforeSetupInternal:function(s){MochiKit.Position.absolutize(s.effects[0].element);},afterFinishInternal:function(s){g.hideElement(s.effects[0].element);g.setStyle(s.effects[0].element,a);}},M||{});return new y.Parallel([new y.Scale(V,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new y.Opacity(V,{sync:true,to:0})],M);};MochiKit.Visual.blindUp=function(V,M){var y=MochiKit.DOM;V=y.getElement(V);var a=y.makeClipping(V);M=MochiKit.Base.update({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(s){MochiKit.Style.hideElement(s.element);y.undoClipping(s.element,a);}},M||{});return new MochiKit.Visual.Scale(V,0,M);};MochiKit.Visual.blindDown=function(y,V){var N=MochiKit.DOM;var g=MochiKit.Style;y=N.getElement(y);var M=g.getElementDimensions(y);var a;V=MochiKit.Base.update({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:M.h,originalWidth:M.w},restoreAfterFinish:true,afterSetupInternal:function(s){a=N.makeClipping(s.element);g.setStyle(s.element,{height:"0px"});g.showElement(s.element);},afterFinishInternal:function(s){N.undoClipping(s.element,a);}},V||{});return new MochiKit.Visual.Scale(y,100,V);};MochiKit.Visual.switchOff=function(g,s){var y=MochiKit.DOM;g=y.getElement(g);var V=MochiKit.Style.getStyle(g,"opacity");var M;s=MochiKit.Base.update({duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetupInternal:function(N){y.makePositioned(N.element);M=y.makeClipping(N.element);},afterFinishInternal:function(N){MochiKit.Style.hideElement(N.element);y.undoClipping(N.element,M);y.undoPositioned(N.element);MochiKit.Style.setStyle(N.element,{"opacity":V});}},s||{});var a=MochiKit.Visual;return new a.appear(g,{duration:0.4,from:0,transition:a.Transitions.flicker,afterFinishInternal:function(N){new a.Scale(N.element,1,s);}});};MochiKit.Visual.dropOut=function(y,V){var N=MochiKit.DOM;var g=MochiKit.Style;y=N.getElement(y);var M={top:g.getStyle(y,"top"),left:g.getStyle(y,"left"),opacity:g.getStyle(y,"opacity")};V=MochiKit.Base.update({duration:0.5,distance:100,beforeSetupInternal:function(s){N.makePositioned(s.effects[0].element);},afterFinishInternal:function(s){g.hideElement(s.effects[0].element);N.undoPositioned(s.effects[0].element);g.setStyle(s.effects[0].element,M);}},V||{});var a=MochiKit.Visual;return new a.Parallel([new a.Move(y,{x:0,y:V.distance,sync:true}),new a.Opacity(y,{sync:true,to:0})],V);};MochiKit.Visual.shake=function(N,g){var y=MochiKit.DOM;var a=MochiKit.Visual;var M=MochiKit.Style;N=y.getElement(N);g=MochiKit.Base.update({x:-20,y:0,duration:0.05,afterFinishInternal:function(s){y.undoPositioned(s.element);M.setStyle(s.element,oldStyle);}},g||{});var V={top:M.getStyle(N,"top"),left:M.getStyle(N,"left")};return new a.Move(N,{x:20,y:0,duration:0.05,afterFinishInternal:function(s){new a.Move(s.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(o){new a.Move(o.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(X){new a.Move(X.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(J){new a.Move(J.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(L){new a.Move(L.element,g);}});}});}});}});}});};MochiKit.Visual.slideDown=function(o,N){var X=MochiKit.DOM;var a=MochiKit.Base;var g=MochiKit.Style;o=X.getElement(o);if(!o.firstChild){throw "MochiKit.Visual.slideDown must be used on a element with a child";}X.removeEmptyTextNodes(o);var y=g.getStyle(o.firstChild,"bottom")||0;var V=g.getElementDimensions(o);var M;N=a.update({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:V.h,originalWidth:V.w},restoreAfterFinish:true,afterSetupInternal:function(s){X.makePositioned(s.element);X.makePositioned(s.element.firstChild);if(/Opera/.test(navigator.userAgent)){g.setStyle(s.element,{top:""});}M=X.makeClipping(s.element);g.setStyle(s.element,{height:"0px"});g.showElement(s.element);},afterUpdateInternal:function(s){g.setStyle(s.element.firstChild,{bottom:(s.dims[0]-s.element.clientHeight)+"px"});},afterFinishInternal:function(s){X.undoClipping(s.element,M);if(/MSIE/.test(navigator.userAgent)){X.undoPositioned(s.element);X.undoPositioned(s.element.firstChild);}else{X.undoPositioned(s.element.firstChild);X.undoPositioned(s.element);}g.setStyle(s.element.firstChild,{bottom:y});}},N||{});return new MochiKit.Visual.Scale(o,100,N);};MochiKit.Visual.slideUp=function(o,g){var N=MochiKit.DOM;var a=MochiKit.Base;var V=MochiKit.Style;o=N.getElement(o);if(!o.firstChild){throw "MochiKit.Visual.slideUp must be used on a element with a child";}N.removeEmptyTextNodes(o);var y=V.getStyle(o.firstChild,"bottom");var M;g=a.update({scaleContent:false,scaleX:false,scaleMode:"box",scaleFrom:100,restoreAfterFinish:true,beforeStartInternal:function(s){N.makePositioned(s.element);N.makePositioned(s.element.firstChild);if(/Opera/.test(navigator.userAgent)){V.setStyle(s.element,{top:""});}M=N.makeClipping(s.element);V.showElement(s.element);},afterUpdateInternal:function(s){V.setStyle(s.element.firstChild,{bottom:(s.dims[0]-s.element.clientHeight)+"px"});},afterFinishInternal:function(s){V.hideElement(s.element);N.undoClipping(s.element,M);N.undoPositioned(s.element.firstChild);N.undoPositioned(s.element);V.setStyle(s.element.firstChild,{bottom:y});}},g||{});return new MochiKit.Visual.Scale(o,0,g);};MochiKit.Visual.squish=function(V,M){var y=MochiKit.DOM;var a=MochiKit.Base;var s;M=a.update({restoreAfterFinish:true,beforeSetupInternal:function(g){s=y.makeClipping(g.element);},afterFinishInternal:function(g){MochiKit.Style.hideElement(g.element);y.undoClipping(g.element,s);}},M||{});return new MochiKit.Visual.Scale(V,/Opera/.test(navigator.userAgent)?1:0,M);};MochiKit.Visual.grow=function(X,o){var J=MochiKit.DOM;var f=MochiKit.Visual;var b=MochiKit.Style;X=J.getElement(X);o=MochiKit.Base.update({direction:"center",moveTransition:f.Transitions.sinoidal,scaleTransition:f.Transitions.sinoidal,opacityTransition:f.Transitions.full},o||{});var N={top:X.style.top,left:X.style.left,height:X.style.height,width:X.style.width,opacity:b.getStyle(X,"opacity")};var L=b.getElementDimensions(X);var y,g;var V,M;switch(o.direction){case "top-left":y=g=V=M=0;break;case "top-right":y=L.w;g=M=0;V=-L.w;break;case "bottom-left":y=V=0;g=L.h;M=-L.h;break;case "bottom-right":y=L.w;g=L.h;V=-L.w;M=-L.h;break;case "center":y=L.w/2;g=L.h/2;V=-L.w/2;M=-L.h/2;break;}var a=MochiKit.Base.update({beforeSetupInternal:function(s){b.setStyle(s.effects[0].element,{height:"0px"});b.showElement(s.effects[0].element);},afterFinishInternal:function(s){J.undoClipping(s.effects[0].element);J.undoPositioned(s.effects[0].element);b.setStyle(s.effects[0].element,N);}},o||{});return new f.Move(X,{x:y,y:g,duration:0.01,beforeSetupInternal:function(s){b.hideElement(s.element);J.makeClipping(s.element);J.makePositioned(s.element);},afterFinishInternal:function(s){new f.Parallel([new f.Opacity(s.element,{sync:true,to:1,from:0,transition:o.opacityTransition}),new f.Move(s.element,{x:V,y:M,sync:true,transition:o.moveTransition}),new f.Scale(s.element,100,{scaleMode:{originalHeight:L.h,originalWidth:L.w},sync:true,scaleFrom:/Opera/.test(navigator.userAgent)?1:0,transition:o.scaleTransition,restoreAfterFinish:true})],a);}});};MochiKit.Visual.shrink=function(a,L){var V=MochiKit.DOM;var o=MochiKit.Visual;var f=MochiKit.Style;a=V.getElement(a);L=MochiKit.Base.update({direction:"center",moveTransition:o.Transitions.sinoidal,scaleTransition:o.Transitions.sinoidal,opacityTransition:o.Transitions.none},L||{});var J={top:a.style.top,left:a.style.left,height:a.style.height,width:a.style.width,opacity:f.getStyle(a,"opacity")};var g=f.getElementDimensions(a);var X,M;switch(L.direction){case "top-left":X=M=0;break;case "top-right":X=g.w;M=0;break;case "bottom-left":X=0;M=g.h;break;case "bottom-right":X=g.w;M=g.h;break;case "center":X=g.w/2;M=g.h/2;break;}var N;var y=MochiKit.Base.update({beforeStartInternal:function(s){N=V.makePositioned(s.effects[0].element);V.makeClipping(s.effects[0].element);},afterFinishInternal:function(s){f.hideElement(s.effects[0].element);V.undoClipping(s.effects[0].element,N);V.undoPositioned(s.effects[0].element);f.setStyle(s.effects[0].element,J);}},L||{});return new o.Parallel([new o.Opacity(a,{sync:true,to:0,from:1,transition:L.opacityTransition}),new o.Scale(a,/Opera/.test(navigator.userAgent)?1:0,{sync:true,transition:L.scaleTransition,restoreAfterFinish:true}),new o.Move(a,{x:X,y:M,sync:true,transition:L.moveTransition})],y);};MochiKit.Visual.pulsate=function(s,V){var o=MochiKit.DOM;var y=MochiKit.Visual;var M=MochiKit.Base;var a=MochiKit.Style.getStyle(s,"opacity");V=M.update({duration:3,from:0,afterFinishInternal:function(X){MochiKit.Style.setStyle(X.element,{"opacity":a});}},V||{});var N=V.transition||y.Transitions.sinoidal;var g=M.bind(function(X){return N(1-y.Transitions.pulse(X));},N);M.bind(g,N);return new y.Opacity(s,M.update({transition:g},V));};MochiKit.Visual.fold=function(N,g){var o=MochiKit.DOM;var a=MochiKit.Visual;var y=MochiKit.Style;N=o.getElement(N);var V={top:N.style.top,left:N.style.left,width:N.style.width,height:N.style.height};var M=o.makeClipping(N);g=MochiKit.Base.update({scaleContent:false,scaleX:false,afterFinishInternal:function(s){new a.Scale(N,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(X){y.hideElement(X.element);o.undoClipping(X.element,M);y.setStyle(X.element,V);}});}},g||{});return new a.Scale(N,5,g);};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","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);if(typeof (MochiKit)=="undefined"){MochiKit={};}if(typeof (MochiKit.MochiKit)=="undefined"){MochiKit.MochiKit={};}MochiKit.MochiKit.NAME="MochiKit.MochiKit";MochiKit.MochiKit.VERSION="1.4";MochiKit.MochiKit.__repr__=function(){return "["+this.NAME+" "+this.VERSION+"]";};MochiKit.MochiKit.toString=function(){return this.__repr__();};MochiKit.MochiKit.SUBMODULES=["Base","Iter","Logging","DateTime","Format","Async","DOM","Selector","Style","LoggingPane","Color","Signal","Position","Visual"];if(typeof (JSAN)!="undefined"||typeof (dojo)!="undefined"){if(typeof (dojo)!="undefined"){dojo.provide("MochiKit.MochiKit");dojo.require("MochiKit.*");}if(typeof (JSAN)!="undefined"){(function(a){for(var M=0;M<a.length;M++){JSAN.use("MochiKit."+a[M],[]);}})(MochiKit.MochiKit.SUBMODULES);}(function(){var o=MochiKit.Base.extend;var L=MochiKit.MochiKit;var s=L.SUBMODULES;var y=[];var V=[];var a={};var X,g,M,J;for(X=0;X<s.length;X++){M=MochiKit[s[X]];o(y,M.EXPORT);o(V,M.EXPORT_OK);for(g in M.EXPORT_TAGS){a[g]=o(a[g],M.EXPORT_TAGS[g]);}J=M.EXPORT_TAGS[":all"];if(!J){J=o(null,M.EXPORT,M.EXPORT_OK);}var N;for(N=0;N<J.length;N++){g=J[N];L[g]=M[g];}}L.EXPORT=y;L.EXPORT_OK=V;L.EXPORT_TAGS=a;}());}else{if(typeof (MochiKit.__compat__)=="undefined"){MochiKit.__compat__=true;}(function(){if(typeof (document)=="undefined"){return ;}var o=document.getElementsByTagName("script");var g="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";var N=null;var V=null;var M={};var J;for(J=0;J<o.length;J++){var a=o[J].getAttribute("src");if(!a){continue;}M[a]=true;if(a.match(/MochiKit.js$/)){N=a.substring(0,a.lastIndexOf("MochiKit.js"));V=o[J];}}if(N===null){return ;}var y=MochiKit.MochiKit.SUBMODULES;for(var J=0;J<y.length;J++){if(MochiKit[y[J]]){continue;}var X=N+y[J]+".js";if(X in M){continue;}if(document.documentElement&&document.documentElement.namespaceURI==g){var L=document.createElementNS(g,"script");L.setAttribute("id","MochiKit_"+N+y[J]);L.setAttribute("src",X);L.setAttribute("type","application/x-javascript");V.parentNode.appendChild(L);}else{document.write("<script src=\""+X+"\" type=\"text/javascript\"></script>");}}})();}