Initial check-in
[dygraphs.git] / mochikit_v14 / packed / MochiKit / MochiKit.js
CommitLineData
6a1aa64f
DV
1/***
2
3 MochiKit.MochiKit 1.4 : PACKED VERSION
4
5 THIS FILE IS AUTOMATICALLY GENERATED. If creating patches, please
6 diff against the source tree, not this file.
7
8 See <http://mochikit.com/> for documentation, downloads, license, etc.
9
10 (c) 2005 Bob Ippolito. All rights Reserved.
11
12***/
13
14if(typeof (dojo)!="undefined"){
15dojo.provide("MochiKit.Base");
16}
17if(typeof (MochiKit)=="undefined"){
18MochiKit={};
19}
20if(typeof (MochiKit.Base)=="undefined"){
21MochiKit.Base={};
22}
23if(typeof (MochiKit.__export__)=="undefined"){
24MochiKit.__export__=(MochiKit.__compat__||(typeof (JSAN)=="undefined"&&typeof (dojo)=="undefined"));
25}
26MochiKit.Base.VERSION="1.4";
27MochiKit.Base.NAME="MochiKit.Base";
28MochiKit.Base.update=function(_1,_2){
29if(_1===null){
30_1={};
31}
32for(var i=1;i<arguments.length;i++){
33var o=arguments[i];
34if(typeof (o)!="undefined"&&o!==null){
35for(var k in o){
36_1[k]=o[k];
37}
38}
39}
40return _1;
41};
42MochiKit.Base.update(MochiKit.Base,{__repr__:function(){
43return "["+this.NAME+" "+this.VERSION+"]";
44},toString:function(){
45return this.__repr__();
46},camelize:function(_6){
47var _7=_6.split("-");
48var cc=_7[0];
49for(var i=1;i<_7.length;i++){
50cc+=_7[i].charAt(0).toUpperCase()+_7[i].substring(1);
51}
52return cc;
53},counter:function(n){
54if(arguments.length===0){
55n=1;
56}
57return function(){
58return n++;
59};
60},clone:function(_b){
61var me=arguments.callee;
62if(arguments.length==1){
63me.prototype=_b;
64return new me();
65}
66},_flattenArray:function(_d,_e){
67for(var i=0;i<_e.length;i++){
68var o=_e[i];
69if(o instanceof Array){
70arguments.callee(_d,o);
71}else{
72_d.push(o);
73}
74}
75return _d;
76},flattenArray:function(lst){
77return MochiKit.Base._flattenArray([],lst);
78},flattenArguments:function(lst){
79var res=[];
80var m=MochiKit.Base;
81var _15=m.extend(null,arguments);
82while(_15.length){
83var o=_15.shift();
84if(o&&typeof (o)=="object"&&typeof (o.length)=="number"){
85for(var i=o.length-1;i>=0;i--){
86_15.unshift(o[i]);
87}
88}else{
89res.push(o);
90}
91}
92return res;
93},extend:function(_18,obj,_1a){
94if(!_1a){
95_1a=0;
96}
97if(obj){
98var l=obj.length;
99if(typeof (l)!="number"){
100if(typeof (MochiKit.Iter)!="undefined"){
101obj=MochiKit.Iter.list(obj);
102l=obj.length;
103}else{
104throw new TypeError("Argument not an array-like and MochiKit.Iter not present");
105}
106}
107if(!_18){
108_18=[];
109}
110for(var i=_1a;i<l;i++){
111_18.push(obj[i]);
112}
113}
114return _18;
115},updatetree:function(_1d,obj){
116if(_1d===null){
117_1d={};
118}
119for(var i=1;i<arguments.length;i++){
120var o=arguments[i];
121if(typeof (o)!="undefined"&&o!==null){
122for(var k in o){
123var v=o[k];
124if(typeof (_1d[k])=="object"&&typeof (v)=="object"){
125arguments.callee(_1d[k],v);
126}else{
127_1d[k]=v;
128}
129}
130}
131}
132return _1d;
133},setdefault:function(_23,obj){
134if(_23===null){
135_23={};
136}
137for(var i=1;i<arguments.length;i++){
138var o=arguments[i];
139for(var k in o){
140if(!(k in _23)){
141_23[k]=o[k];
142}
143}
144}
145return _23;
146},keys:function(obj){
147var _29=[];
148for(var _2a in obj){
149_29.push(_2a);
150}
151return _29;
152},values:function(obj){
153var _2c=[];
154for(var _2d in obj){
155_2c.push(obj[_2d]);
156}
157return _2c;
158},items:function(obj){
159var _2f=[];
160var e;
161for(var _31 in obj){
162var v;
163try{
164v=obj[_31];
165}
166catch(e){
167continue;
168}
169_2f.push([_31,v]);
170}
171return _2f;
172},_newNamedError:function(_33,_34,_35){
173_35.prototype=new MochiKit.Base.NamedError(_33.NAME+"."+_34);
174_33[_34]=_35;
175},operator:{truth:function(a){
176return !!a;
177},lognot:function(a){
178return !a;
179},identity:function(a){
180return a;
181},not:function(a){
182return ~a;
183},neg:function(a){
184return -a;
185},add:function(a,b){
186return a+b;
187},sub:function(a,b){
188return a-b;
189},div:function(a,b){
190return a/b;
191},mod:function(a,b){
192return a%b;
193},mul:function(a,b){
194return a*b;
195},and:function(a,b){
196return a&b;
197},or:function(a,b){
198return a|b;
199},xor:function(a,b){
200return a^b;
201},lshift:function(a,b){
202return a<<b;
203},rshift:function(a,b){
204return a>>b;
205},zrshift:function(a,b){
206return a>>>b;
207},eq:function(a,b){
208return a==b;
209},ne:function(a,b){
210return a!=b;
211},gt:function(a,b){
212return a>b;
213},ge:function(a,b){
214return a>=b;
215},lt:function(a,b){
216return a<b;
217},le:function(a,b){
218return a<=b;
219},seq:function(a,b){
220return a===b;
221},sne:function(a,b){
222return a!==b;
223},ceq:function(a,b){
224return MochiKit.Base.compare(a,b)===0;
225},cne:function(a,b){
226return MochiKit.Base.compare(a,b)!==0;
227},cgt:function(a,b){
228return MochiKit.Base.compare(a,b)==1;
229},cge:function(a,b){
230return MochiKit.Base.compare(a,b)!=-1;
231},clt:function(a,b){
232return MochiKit.Base.compare(a,b)==-1;
233},cle:function(a,b){
234return MochiKit.Base.compare(a,b)!=1;
235},logand:function(a,b){
236return a&&b;
237},logor:function(a,b){
238return a||b;
239},contains:function(a,b){
240return b in a;
241}},forwardCall:function(_73){
242return function(){
243return this[_73].apply(this,arguments);
244};
245},itemgetter:function(_74){
246return function(arg){
247return arg[_74];
248};
249},typeMatcher:function(){
250var _76={};
251for(var i=0;i<arguments.length;i++){
252var typ=arguments[i];
253_76[typ]=typ;
254}
255return function(){
256for(var i=0;i<arguments.length;i++){
257if(!(typeof (arguments[i]) in _76)){
258return false;
259}
260}
261return true;
262};
263},isNull:function(){
264for(var i=0;i<arguments.length;i++){
265if(arguments[i]!==null){
266return false;
267}
268}
269return true;
270},isUndefinedOrNull:function(){
271for(var i=0;i<arguments.length;i++){
272var o=arguments[i];
273if(!(typeof (o)=="undefined"||o===null)){
274return false;
275}
276}
277return true;
278},isEmpty:function(obj){
279return !MochiKit.Base.isNotEmpty.apply(this,arguments);
280},isNotEmpty:function(obj){
281for(var i=0;i<arguments.length;i++){
282var o=arguments[i];
283if(!(o&&o.length)){
284return false;
285}
286}
287return true;
288},isArrayLike:function(){
289for(var i=0;i<arguments.length;i++){
290var o=arguments[i];
291var typ=typeof (o);
292if((typ!="object"&&!(typ=="function"&&typeof (o.item)=="function"))||o===null||typeof (o.length)!="number"||o.nodeType===3){
293return false;
294}
295}
296return true;
297},isDateLike:function(){
298for(var i=0;i<arguments.length;i++){
299var o=arguments[i];
300if(typeof (o)!="object"||o===null||typeof (o.getTime)!="function"){
301return false;
302}
303}
304return true;
305},xmap:function(fn){
306if(fn===null){
307return MochiKit.Base.extend(null,arguments,1);
308}
309var _87=[];
310for(var i=1;i<arguments.length;i++){
311_87.push(fn(arguments[i]));
312}
313return _87;
314},map:function(fn,lst){
315var m=MochiKit.Base;
316var itr=MochiKit.Iter;
317var _8d=m.isArrayLike;
318if(arguments.length<=2){
319if(!_8d(lst)){
320if(itr){
321lst=itr.list(lst);
322if(fn===null){
323return lst;
324}
325}else{
326throw new TypeError("Argument not an array-like and MochiKit.Iter not present");
327}
328}
329if(fn===null){
330return m.extend(null,lst);
331}
332var _8e=[];
333for(var i=0;i<lst.length;i++){
334_8e.push(fn(lst[i]));
335}
336return _8e;
337}else{
338if(fn===null){
339fn=Array;
340}
341var _90=null;
342for(i=1;i<arguments.length;i++){
343if(!_8d(arguments[i])){
344if(itr){
345return itr.list(itr.imap.apply(null,arguments));
346}else{
347throw new TypeError("Argument not an array-like and MochiKit.Iter not present");
348}
349}
350var l=arguments[i].length;
351if(_90===null||_90>l){
352_90=l;
353}
354}
355_8e=[];
356for(i=0;i<_90;i++){
357var _92=[];
358for(var j=1;j<arguments.length;j++){
359_92.push(arguments[j][i]);
360}
361_8e.push(fn.apply(this,_92));
362}
363return _8e;
364}
365},xfilter:function(fn){
366var _95=[];
367if(fn===null){
368fn=MochiKit.Base.operator.truth;
369}
370for(var i=1;i<arguments.length;i++){
371var o=arguments[i];
372if(fn(o)){
373_95.push(o);
374}
375}
376return _95;
377},filter:function(fn,lst,_9a){
378var _9b=[];
379var m=MochiKit.Base;
380if(!m.isArrayLike(lst)){
381if(MochiKit.Iter){
382lst=MochiKit.Iter.list(lst);
383}else{
384throw new TypeError("Argument not an array-like and MochiKit.Iter not present");
385}
386}
387if(fn===null){
388fn=m.operator.truth;
389}
390if(typeof (Array.prototype.filter)=="function"){
391return Array.prototype.filter.call(lst,fn,_9a);
392}else{
393if(typeof (_9a)=="undefined"||_9a===null){
394for(var i=0;i<lst.length;i++){
395var o=lst[i];
396if(fn(o)){
397_9b.push(o);
398}
399}
400}else{
401for(i=0;i<lst.length;i++){
402o=lst[i];
403if(fn.call(_9a,o)){
404_9b.push(o);
405}
406}
407}
408}
409return _9b;
410},_wrapDumbFunction:function(_9f){
411return function(){
412switch(arguments.length){
413case 0:
414return _9f();
415case 1:
416return _9f(arguments[0]);
417case 2:
418return _9f(arguments[0],arguments[1]);
419case 3:
420return _9f(arguments[0],arguments[1],arguments[2]);
421}
422var _a0=[];
423for(var i=0;i<arguments.length;i++){
424_a0.push("arguments["+i+"]");
425}
426return eval("(func("+_a0.join(",")+"))");
427};
428},methodcaller:function(_a2){
429var _a3=MochiKit.Base.extend(null,arguments,1);
430if(typeof (_a2)=="function"){
431return function(obj){
432return _a2.apply(obj,_a3);
433};
434}else{
435return function(obj){
436return obj[_a2].apply(obj,_a3);
437};
438}
439},method:function(_a6,_a7){
440var m=MochiKit.Base;
441return m.bind.apply(this,m.extend([_a7,_a6],arguments,2));
442},compose:function(f1,f2){
443var _ab=[];
444var m=MochiKit.Base;
445if(arguments.length===0){
446throw new TypeError("compose() requires at least one argument");
447}
448for(var i=0;i<arguments.length;i++){
449var fn=arguments[i];
450if(typeof (fn)!="function"){
451throw new TypeError(m.repr(fn)+" is not a function");
452}
453_ab.push(fn);
454}
455return function(){
456var _af=arguments;
457for(var i=_ab.length-1;i>=0;i--){
458_af=[_ab[i].apply(this,_af)];
459}
460return _af[0];
461};
462},bind:function(_b1,_b2){
463if(typeof (_b1)=="string"){
464_b1=_b2[_b1];
465}
466var _b3=_b1.im_func;
467var _b4=_b1.im_preargs;
468var _b5=_b1.im_self;
469var m=MochiKit.Base;
470if(typeof (_b1)=="function"&&typeof (_b1.apply)=="undefined"){
471_b1=m._wrapDumbFunction(_b1);
472}
473if(typeof (_b3)!="function"){
474_b3=_b1;
475}
476if(typeof (_b2)!="undefined"){
477_b5=_b2;
478}
479if(typeof (_b4)=="undefined"){
480_b4=[];
481}else{
482_b4=_b4.slice();
483}
484m.extend(_b4,arguments,2);
485var _b7=function(){
486var _b8=arguments;
487var me=arguments.callee;
488if(me.im_preargs.length>0){
489_b8=m.concat(me.im_preargs,_b8);
490}
491var _ba=me.im_self;
492if(!_ba){
493_ba=this;
494}
495return me.im_func.apply(_ba,_b8);
496};
497_b7.im_self=_b5;
498_b7.im_func=_b3;
499_b7.im_preargs=_b4;
500return _b7;
501},bindMethods:function(_bb){
502var _bc=MochiKit.Base.bind;
503for(var k in _bb){
504var _be=_bb[k];
505if(typeof (_be)=="function"){
506_bb[k]=_bc(_be,_bb);
507}
508}
509},registerComparator:function(_bf,_c0,_c1,_c2){
510MochiKit.Base.comparatorRegistry.register(_bf,_c0,_c1,_c2);
511},_primitives:{"boolean":true,"string":true,"number":true},compare:function(a,b){
512if(a==b){
513return 0;
514}
515var _c5=(typeof (a)=="undefined"||a===null);
516var _c6=(typeof (b)=="undefined"||b===null);
517if(_c5&&_c6){
518return 0;
519}else{
520if(_c5){
521return -1;
522}else{
523if(_c6){
524return 1;
525}
526}
527}
528var m=MochiKit.Base;
529var _c8=m._primitives;
530if(!(typeof (a) in _c8&&typeof (b) in _c8)){
531try{
532return m.comparatorRegistry.match(a,b);
533}
534catch(e){
535if(e!=m.NotFound){
536throw e;
537}
538}
539}
540if(a<b){
541return -1;
542}else{
543if(a>b){
544return 1;
545}
546}
547var _c9=m.repr;
548throw new TypeError(_c9(a)+" and "+_c9(b)+" can not be compared");
549},compareDateLike:function(a,b){
550return MochiKit.Base.compare(a.getTime(),b.getTime());
551},compareArrayLike:function(a,b){
552var _ce=MochiKit.Base.compare;
553var _cf=a.length;
554var _d0=0;
555if(_cf>b.length){
556_d0=1;
557_cf=b.length;
558}else{
559if(_cf<b.length){
560_d0=-1;
561}
562}
563for(var i=0;i<_cf;i++){
564var cmp=_ce(a[i],b[i]);
565if(cmp){
566return cmp;
567}
568}
569return _d0;
570},registerRepr:function(_d3,_d4,_d5,_d6){
571MochiKit.Base.reprRegistry.register(_d3,_d4,_d5,_d6);
572},repr:function(o){
573if(typeof (o)=="undefined"){
574return "undefined";
575}else{
576if(o===null){
577return "null";
578}
579}
580try{
581if(typeof (o.__repr__)=="function"){
582return o.__repr__();
583}else{
584if(typeof (o.repr)=="function"&&o.repr!=arguments.callee){
585return o.repr();
586}
587}
588return MochiKit.Base.reprRegistry.match(o);
589}
590catch(e){
591if(typeof (o.NAME)=="string"&&(o.toString==Function.prototype.toString||o.toString==Object.prototype.toString)){
592return o.NAME;
593}
594}
595try{
596var _d8=(o+"");
597}
598catch(e){
599return "["+typeof (o)+"]";
600}
601if(typeof (o)=="function"){
602o=_d8.replace(/^\s+/,"");
603var idx=o.indexOf("{");
604if(idx!=-1){
605o=o.substr(0,idx)+"{...}";
606}
607}
608return _d8;
609},reprArrayLike:function(o){
610var m=MochiKit.Base;
611return "["+m.map(m.repr,o).join(", ")+"]";
612},reprString:function(o){
613return ("\""+o.replace(/(["\\])/g,"\\$1")+"\"").replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r");
614},reprNumber:function(o){
615return o+"";
616},registerJSON:function(_de,_df,_e0,_e1){
617MochiKit.Base.jsonRegistry.register(_de,_df,_e0,_e1);
618},evalJSON:function(){
619return eval("("+arguments[0]+")");
620},serializeJSON:function(o){
621var _e3=typeof (o);
622if(_e3=="number"||_e3=="boolean"){
623return o+"";
624}else{
625if(o===null){
626return "null";
627}
628}
629var m=MochiKit.Base;
630var _e5=m.reprString;
631if(_e3=="string"){
632return _e5(o);
633}
634var me=arguments.callee;
635var _e7;
636if(typeof (o.__json__)=="function"){
637_e7=o.__json__();
638if(o!==_e7){
639return me(_e7);
640}
641}
642if(typeof (o.json)=="function"){
643_e7=o.json();
644if(o!==_e7){
645return me(_e7);
646}
647}
648if(_e3!="function"&&typeof (o.length)=="number"){
649var res=[];
650for(var i=0;i<o.length;i++){
651var val=me(o[i]);
652if(typeof (val)!="string"){
653val="undefined";
654}
655res.push(val);
656}
657return "["+res.join(", ")+"]";
658}
659try{
660_e7=m.jsonRegistry.match(o);
661if(o!==_e7){
662return me(_e7);
663}
664}
665catch(e){
666if(e!=m.NotFound){
667throw e;
668}
669}
670if(_e3=="undefined"){
671throw new TypeError("undefined can not be serialized as JSON");
672}
673if(_e3=="function"){
674return null;
675}
676res=[];
677for(var k in o){
678var _ec;
679if(typeof (k)=="number"){
680_ec="\""+k+"\"";
681}else{
682if(typeof (k)=="string"){
683_ec=_e5(k);
684}else{
685continue;
686}
687}
688val=me(o[k]);
689if(typeof (val)!="string"){
690continue;
691}
692res.push(_ec+":"+val);
693}
694return "{"+res.join(", ")+"}";
695},objEqual:function(a,b){
696return (MochiKit.Base.compare(a,b)===0);
697},arrayEqual:function(_ef,arr){
698if(_ef.length!=arr.length){
699return false;
700}
701return (MochiKit.Base.compare(_ef,arr)===0);
702},concat:function(){
703var _f1=[];
704var _f2=MochiKit.Base.extend;
705for(var i=0;i<arguments.length;i++){
706_f2(_f1,arguments[i]);
707}
708return _f1;
709},keyComparator:function(key){
710var m=MochiKit.Base;
711var _f6=m.compare;
712if(arguments.length==1){
713return function(a,b){
714return _f6(a[key],b[key]);
715};
716}
717var _f9=m.extend(null,arguments);
718return function(a,b){
719var _fc=0;
720for(var i=0;(_fc===0)&&(i<_f9.length);i++){
721var key=_f9[i];
722_fc=_f6(a[key],b[key]);
723}
724return _fc;
725};
726},reverseKeyComparator:function(key){
727var _100=MochiKit.Base.keyComparator.apply(this,arguments);
728return function(a,b){
729return _100(b,a);
730};
731},partial:function(func){
732var m=MochiKit.Base;
733return m.bind.apply(this,m.extend([func,undefined],arguments,1));
734},listMinMax:function(_105,lst){
735if(lst.length===0){
736return null;
737}
738var cur=lst[0];
739var _108=MochiKit.Base.compare;
740for(var i=1;i<lst.length;i++){
741var o=lst[i];
742if(_108(o,cur)==_105){
743cur=o;
744}
745}
746return cur;
747},objMax:function(){
748return MochiKit.Base.listMinMax(1,arguments);
749},objMin:function(){
750return MochiKit.Base.listMinMax(-1,arguments);
751},findIdentical:function(lst,_10c,_10d,end){
752if(typeof (end)=="undefined"||end===null){
753end=lst.length;
754}
755if(typeof (_10d)=="undefined"||_10d===null){
756_10d=0;
757}
758for(var i=_10d;i<end;i++){
759if(lst[i]===_10c){
760return i;
761}
762}
763return -1;
764},mean:function(){
765var sum=0;
766var m=MochiKit.Base;
767var args=m.extend(null,arguments);
768var _113=args.length;
769while(args.length){
770var o=args.shift();
771if(o&&typeof (o)=="object"&&typeof (o.length)=="number"){
772_113+=o.length-1;
773for(var i=o.length-1;i>=0;i--){
774sum+=o[i];
775}
776}else{
777sum+=o;
778}
779}
780if(_113<=0){
781throw new TypeError("mean() requires at least one argument");
782}
783return sum/_113;
784},median:function(){
785var data=MochiKit.Base.flattenArguments(arguments);
786if(data.length===0){
787throw new TypeError("median() requires at least one argument");
788}
789data.sort(compare);
790if(data.length%2==0){
791var _117=data.length/2;
792return (data[_117]+data[_117-1])/2;
793}else{
794return data[(data.length-1)/2];
795}
796},findValue:function(lst,_119,_11a,end){
797if(typeof (end)=="undefined"||end===null){
798end=lst.length;
799}
800if(typeof (_11a)=="undefined"||_11a===null){
801_11a=0;
802}
803var cmp=MochiKit.Base.compare;
804for(var i=_11a;i<end;i++){
805if(cmp(lst[i],_119)===0){
806return i;
807}
808}
809return -1;
810},nodeWalk:function(node,_11f){
811var _120=[node];
812var _121=MochiKit.Base.extend;
813while(_120.length){
814var res=_11f(_120.shift());
815if(res){
816_121(_120,res);
817}
818}
819},nameFunctions:function(_123){
820var base=_123.NAME;
821if(typeof (base)=="undefined"){
822base="";
823}else{
824base=base+".";
825}
826for(var name in _123){
827var o=_123[name];
828if(typeof (o)=="function"&&typeof (o.NAME)=="undefined"){
829try{
830o.NAME=base+name;
831}
832catch(e){
833}
834}
835}
836},queryString:function(_127,_128){
837if(typeof (MochiKit.DOM)!="undefined"&&arguments.length==1&&(typeof (_127)=="string"||(typeof (_127.nodeType)!="undefined"&&_127.nodeType>0))){
838var kv=MochiKit.DOM.formContents(_127);
839_127=kv[0];
840_128=kv[1];
841}else{
842if(arguments.length==1){
843if(typeof (_127.length)=="number"&&_127.length==2){
844return arguments.callee(_127[0],_127[1]);
845}
846var o=_127;
847_127=[];
848_128=[];
849for(var k in o){
850var v=o[k];
851if(typeof (v)=="function"){
852continue;
853}else{
854if(typeof (v)!="string"&&typeof (v.length)=="number"){
855for(var i=0;i<v.length;i++){
856_127.push(k);
857_128.push(v[i]);
858}
859}else{
860_127.push(k);
861_128.push(v);
862}
863}
864}
865}
866}
867var rval=[];
868var len=Math.min(_127.length,_128.length);
869var _130=MochiKit.Base.urlEncode;
870for(var i=0;i<len;i++){
871v=_128[i];
872if(typeof (v)!="undefined"&&v!==null){
873rval.push(_130(_127[i])+"="+_130(v));
874}
875}
876return rval.join("&");
877},parseQueryString:function(_131,_132){
878var qstr=(_131.charAt(0)=="?")?_131.substring(1):_131;
879var _134=qstr.replace(/\+/g,"%20").split(/(\&amp\;|\&\#38\;|\&#x26;|\&)/);
880var o={};
881var _136;
882if(typeof (decodeURIComponent)!="undefined"){
883_136=decodeURIComponent;
884}else{
885_136=unescape;
886}
887if(_132){
888for(var i=0;i<_134.length;i++){
889var pair=_134[i].split("=");
890var name=_136(pair.shift());
891if(!name){
892continue;
893}
894var arr=o[name];
895if(!(arr instanceof Array)){
896arr=[];
897o[name]=arr;
898}
899arr.push(_136(pair.join("=")));
900}
901}else{
902for(i=0;i<_134.length;i++){
903pair=_134[i].split("=");
904var name=pair.shift();
905if(!name){
906continue;
907}
908o[_136(name)]=_136(pair.join("="));
909}
910}
911return o;
912}});
913MochiKit.Base.AdapterRegistry=function(){
914this.pairs=[];
915};
916MochiKit.Base.AdapterRegistry.prototype={register:function(name,_13c,wrap,_13e){
917if(_13e){
918this.pairs.unshift([name,_13c,wrap]);
919}else{
920this.pairs.push([name,_13c,wrap]);
921}
922},match:function(){
923for(var i=0;i<this.pairs.length;i++){
924var pair=this.pairs[i];
925if(pair[1].apply(this,arguments)){
926return pair[2].apply(this,arguments);
927}
928}
929throw MochiKit.Base.NotFound;
930},unregister:function(name){
931for(var i=0;i<this.pairs.length;i++){
932var pair=this.pairs[i];
933if(pair[0]==name){
934this.pairs.splice(i,1);
935return true;
936}
937}
938return false;
939}};
940MochiKit.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"];
941MochiKit.Base.EXPORT_OK=["nameFunctions","comparatorRegistry","reprRegistry","jsonRegistry","compareDateLike","compareArrayLike","reprArrayLike","reprString","reprNumber"];
942MochiKit.Base._exportSymbols=function(_144,_145){
943if(!MochiKit.__export__){
944return;
945}
946var all=_145.EXPORT_TAGS[":all"];
947for(var i=0;i<all.length;i++){
948_144[all[i]]=_145[all[i]];
949}
950};
951MochiKit.Base.__new__=function(){
952var m=this;
953m.noop=m.operator.identity;
954m.forward=m.forwardCall;
955m.find=m.findValue;
956if(typeof (encodeURIComponent)!="undefined"){
957m.urlEncode=function(_149){
958return encodeURIComponent(_149).replace(/\'/g,"%27");
959};
960}else{
961m.urlEncode=function(_14a){
962return escape(_14a).replace(/\+/g,"%2B").replace(/\"/g,"%22").rval.replace(/\'/g,"%27");
963};
964}
965m.NamedError=function(name){
966this.message=name;
967this.name=name;
968};
969m.NamedError.prototype=new Error();
970m.update(m.NamedError.prototype,{repr:function(){
971if(this.message&&this.message!=this.name){
972return this.name+"("+m.repr(this.message)+")";
973}else{
974return this.name+"()";
975}
976},toString:m.forwardCall("repr")});
977m.NotFound=new m.NamedError("MochiKit.Base.NotFound");
978m.listMax=m.partial(m.listMinMax,1);
979m.listMin=m.partial(m.listMinMax,-1);
980m.isCallable=m.typeMatcher("function");
981m.isUndefined=m.typeMatcher("undefined");
982m.merge=m.partial(m.update,null);
983m.zip=m.partial(m.map,null);
984m.average=m.mean;
985m.comparatorRegistry=new m.AdapterRegistry();
986m.registerComparator("dateLike",m.isDateLike,m.compareDateLike);
987m.registerComparator("arrayLike",m.isArrayLike,m.compareArrayLike);
988m.reprRegistry=new m.AdapterRegistry();
989m.registerRepr("arrayLike",m.isArrayLike,m.reprArrayLike);
990m.registerRepr("string",m.typeMatcher("string"),m.reprString);
991m.registerRepr("numbers",m.typeMatcher("number","boolean"),m.reprNumber);
992m.jsonRegistry=new m.AdapterRegistry();
993var all=m.concat(m.EXPORT,m.EXPORT_OK);
994m.EXPORT_TAGS={":common":m.concat(m.EXPORT_OK),":all":all};
995m.nameFunctions(this);
996};
997MochiKit.Base.__new__();
998if(MochiKit.__export__){
999compare=MochiKit.Base.compare;
1000compose=MochiKit.Base.compose;
1001serializeJSON=MochiKit.Base.serializeJSON;
1002}
1003MochiKit.Base._exportSymbols(this,MochiKit.Base);
1004if(typeof (dojo)!="undefined"){
1005dojo.provide("MochiKit.Iter");
1006dojo.require("MochiKit.Base");
1007}
1008if(typeof (JSAN)!="undefined"){
1009JSAN.use("MochiKit.Base",[]);
1010}
1011try{
1012if(typeof (MochiKit.Base)=="undefined"){
1013throw "";
1014}
1015}
1016catch(e){
1017throw "MochiKit.Iter depends on MochiKit.Base!";
1018}
1019if(typeof (MochiKit.Iter)=="undefined"){
1020MochiKit.Iter={};
1021}
1022MochiKit.Iter.NAME="MochiKit.Iter";
1023MochiKit.Iter.VERSION="1.4";
1024MochiKit.Base.update(MochiKit.Iter,{__repr__:function(){
1025return "["+this.NAME+" "+this.VERSION+"]";
1026},toString:function(){
1027return this.__repr__();
1028},registerIteratorFactory:function(name,_14e,_14f,_150){
1029MochiKit.Iter.iteratorRegistry.register(name,_14e,_14f,_150);
1030},iter:function(_151,_152){
1031var self=MochiKit.Iter;
1032if(arguments.length==2){
1033return self.takewhile(function(a){
1034return a!=_152;
1035},_151);
1036}
1037if(typeof (_151.next)=="function"){
1038return _151;
1039}else{
1040if(typeof (_151.iter)=="function"){
1041return _151.iter();
1042}
1043}
1044try{
1045return self.iteratorRegistry.match(_151);
1046}
1047catch(e){
1048var m=MochiKit.Base;
1049if(e==m.NotFound){
1050e=new TypeError(typeof (_151)+": "+m.repr(_151)+" is not iterable");
1051}
1052throw e;
1053}
1054},count:function(n){
1055if(!n){
1056n=0;
1057}
1058var m=MochiKit.Base;
1059return {repr:function(){
1060return "count("+n+")";
1061},toString:m.forwardCall("repr"),next:m.counter(n)};
1062},cycle:function(p){
1063var self=MochiKit.Iter;
1064var m=MochiKit.Base;
1065var lst=[];
1066var _15c=self.iter(p);
1067return {repr:function(){
1068return "cycle(...)";
1069},toString:m.forwardCall("repr"),next:function(){
1070try{
1071var rval=_15c.next();
1072lst.push(rval);
1073return rval;
1074}
1075catch(e){
1076if(e!=self.StopIteration){
1077throw e;
1078}
1079if(lst.length===0){
1080this.next=function(){
1081throw self.StopIteration;
1082};
1083}else{
1084var i=-1;
1085this.next=function(){
1086i=(i+1)%lst.length;
1087return lst[i];
1088};
1089}
1090return this.next();
1091}
1092}};
1093},repeat:function(elem,n){
1094var m=MochiKit.Base;
1095if(typeof (n)=="undefined"){
1096return {repr:function(){
1097return "repeat("+m.repr(elem)+")";
1098},toString:m.forwardCall("repr"),next:function(){
1099return elem;
1100}};
1101}
1102return {repr:function(){
1103return "repeat("+m.repr(elem)+", "+n+")";
1104},toString:m.forwardCall("repr"),next:function(){
1105if(n<=0){
1106throw MochiKit.Iter.StopIteration;
1107}
1108n-=1;
1109return elem;
1110}};
1111},next:function(_162){
1112return _162.next();
1113},izip:function(p,q){
1114var m=MochiKit.Base;
1115var self=MochiKit.Iter;
1116var next=self.next;
1117var _168=m.map(self.iter,arguments);
1118return {repr:function(){
1119return "izip(...)";
1120},toString:m.forwardCall("repr"),next:function(){
1121return m.map(next,_168);
1122}};
1123},ifilter:function(pred,seq){
1124var m=MochiKit.Base;
1125seq=MochiKit.Iter.iter(seq);
1126if(pred===null){
1127pred=m.operator.truth;
1128}
1129return {repr:function(){
1130return "ifilter(...)";
1131},toString:m.forwardCall("repr"),next:function(){
1132while(true){
1133var rval=seq.next();
1134if(pred(rval)){
1135return rval;
1136}
1137}
1138return undefined;
1139}};
1140},ifilterfalse:function(pred,seq){
1141var m=MochiKit.Base;
1142seq=MochiKit.Iter.iter(seq);
1143if(pred===null){
1144pred=m.operator.truth;
1145}
1146return {repr:function(){
1147return "ifilterfalse(...)";
1148},toString:m.forwardCall("repr"),next:function(){
1149while(true){
1150var rval=seq.next();
1151if(!pred(rval)){
1152return rval;
1153}
1154}
1155return undefined;
1156}};
1157},islice:function(seq){
1158var self=MochiKit.Iter;
1159var m=MochiKit.Base;
1160seq=self.iter(seq);
1161var _174=0;
1162var stop=0;
1163var step=1;
1164var i=-1;
1165if(arguments.length==2){
1166stop=arguments[1];
1167}else{
1168if(arguments.length==3){
1169_174=arguments[1];
1170stop=arguments[2];
1171}else{
1172_174=arguments[1];
1173stop=arguments[2];
1174step=arguments[3];
1175}
1176}
1177return {repr:function(){
1178return "islice("+["...",_174,stop,step].join(", ")+")";
1179},toString:m.forwardCall("repr"),next:function(){
1180var rval;
1181while(i<_174){
1182rval=seq.next();
1183i++;
1184}
1185if(_174>=stop){
1186throw self.StopIteration;
1187}
1188_174+=step;
1189return rval;
1190}};
1191},imap:function(fun,p,q){
1192var m=MochiKit.Base;
1193var self=MochiKit.Iter;
1194var _17e=m.map(self.iter,m.extend(null,arguments,1));
1195var map=m.map;
1196var next=self.next;
1197return {repr:function(){
1198return "imap(...)";
1199},toString:m.forwardCall("repr"),next:function(){
1200return fun.apply(this,map(next,_17e));
1201}};
1202},applymap:function(fun,seq,self){
1203seq=MochiKit.Iter.iter(seq);
1204var m=MochiKit.Base;
1205return {repr:function(){
1206return "applymap(...)";
1207},toString:m.forwardCall("repr"),next:function(){
1208return fun.apply(self,seq.next());
1209}};
1210},chain:function(p,q){
1211var self=MochiKit.Iter;
1212var m=MochiKit.Base;
1213if(arguments.length==1){
1214return self.iter(arguments[0]);
1215}
1216var _189=m.map(self.iter,arguments);
1217return {repr:function(){
1218return "chain(...)";
1219},toString:m.forwardCall("repr"),next:function(){
1220while(_189.length>1){
1221try{
1222return _189[0].next();
1223}
1224catch(e){
1225if(e!=self.StopIteration){
1226throw e;
1227}
1228_189.shift();
1229}
1230}
1231if(_189.length==1){
1232var arg=_189.shift();
1233this.next=m.bind("next",arg);
1234return this.next();
1235}
1236throw self.StopIteration;
1237}};
1238},takewhile:function(pred,seq){
1239var self=MochiKit.Iter;
1240seq=self.iter(seq);
1241return {repr:function(){
1242return "takewhile(...)";
1243},toString:MochiKit.Base.forwardCall("repr"),next:function(){
1244var rval=seq.next();
1245if(!pred(rval)){
1246this.next=function(){
1247throw self.StopIteration;
1248};
1249this.next();
1250}
1251return rval;
1252}};
1253},dropwhile:function(pred,seq){
1254seq=MochiKit.Iter.iter(seq);
1255var m=MochiKit.Base;
1256var bind=m.bind;
1257return {"repr":function(){
1258return "dropwhile(...)";
1259},"toString":m.forwardCall("repr"),"next":function(){
1260while(true){
1261var rval=seq.next();
1262if(!pred(rval)){
1263break;
1264}
1265}
1266this.next=bind("next",seq);
1267return rval;
1268}};
1269},_tee:function(_194,sync,_196){
1270sync.pos[_194]=-1;
1271var m=MochiKit.Base;
1272var _198=m.listMin;
1273return {repr:function(){
1274return "tee("+_194+", ...)";
1275},toString:m.forwardCall("repr"),next:function(){
1276var rval;
1277var i=sync.pos[_194];
1278if(i==sync.max){
1279rval=_196.next();
1280sync.deque.push(rval);
1281sync.max+=1;
1282sync.pos[_194]+=1;
1283}else{
1284rval=sync.deque[i-sync.min];
1285sync.pos[_194]+=1;
1286if(i==sync.min&&_198(sync.pos)!=sync.min){
1287sync.min+=1;
1288sync.deque.shift();
1289}
1290}
1291return rval;
1292}};
1293},tee:function(_19b,n){
1294var rval=[];
1295var sync={"pos":[],"deque":[],"max":-1,"min":-1};
1296if(arguments.length==1||typeof (n)=="undefined"||n===null){
1297n=2;
1298}
1299var self=MochiKit.Iter;
1300_19b=self.iter(_19b);
1301var _tee=self._tee;
1302for(var i=0;i<n;i++){
1303rval.push(_tee(i,sync,_19b));
1304}
1305return rval;
1306},list:function(_1a2){
1307var rval;
1308if(_1a2 instanceof Array){
1309return _1a2.slice();
1310}
1311if(typeof (_1a2)=="function"&&!(_1a2 instanceof Function)&&typeof (_1a2.length)=="number"){
1312rval=[];
1313for(var i=0;i<_1a2.length;i++){
1314rval.push(_1a2[i]);
1315}
1316return rval;
1317}
1318var self=MochiKit.Iter;
1319_1a2=self.iter(_1a2);
1320var rval=[];
1321try{
1322while(true){
1323rval.push(_1a2.next());
1324}
1325}
1326catch(e){
1327if(e!=self.StopIteration){
1328throw e;
1329}
1330return rval;
1331}
1332return undefined;
1333},reduce:function(fn,_1a7,_1a8){
1334var i=0;
1335var x=_1a8;
1336var self=MochiKit.Iter;
1337_1a7=self.iter(_1a7);
1338if(arguments.length<3){
1339try{
1340x=_1a7.next();
1341}
1342catch(e){
1343if(e==self.StopIteration){
1344e=new TypeError("reduce() of empty sequence with no initial value");
1345}
1346throw e;
1347}
1348i++;
1349}
1350try{
1351while(true){
1352x=fn(x,_1a7.next());
1353}
1354}
1355catch(e){
1356if(e!=self.StopIteration){
1357throw e;
1358}
1359}
1360return x;
1361},range:function(){
1362var _1ac=0;
1363var stop=0;
1364var step=1;
1365if(arguments.length==1){
1366stop=arguments[0];
1367}else{
1368if(arguments.length==2){
1369_1ac=arguments[0];
1370stop=arguments[1];
1371}else{
1372if(arguments.length==3){
1373_1ac=arguments[0];
1374stop=arguments[1];
1375step=arguments[2];
1376}else{
1377throw new TypeError("range() takes 1, 2, or 3 arguments!");
1378}
1379}
1380}
1381if(step===0){
1382throw new TypeError("range() step must not be 0");
1383}
1384return {next:function(){
1385if((step>0&&_1ac>=stop)||(step<0&&_1ac<=stop)){
1386throw MochiKit.Iter.StopIteration;
1387}
1388var rval=_1ac;
1389_1ac+=step;
1390return rval;
1391},repr:function(){
1392return "range("+[_1ac,stop,step].join(", ")+")";
1393},toString:MochiKit.Base.forwardCall("repr")};
1394},sum:function(_1b0,_1b1){
1395if(typeof (_1b1)=="undefined"||_1b1===null){
1396_1b1=0;
1397}
1398var x=_1b1;
1399var self=MochiKit.Iter;
1400_1b0=self.iter(_1b0);
1401try{
1402while(true){
1403x+=_1b0.next();
1404}
1405}
1406catch(e){
1407if(e!=self.StopIteration){
1408throw e;
1409}
1410}
1411return x;
1412},exhaust:function(_1b4){
1413var self=MochiKit.Iter;
1414_1b4=self.iter(_1b4);
1415try{
1416while(true){
1417_1b4.next();
1418}
1419}
1420catch(e){
1421if(e!=self.StopIteration){
1422throw e;
1423}
1424}
1425},forEach:function(_1b6,func,self){
1426var m=MochiKit.Base;
1427if(arguments.length>2){
1428func=m.bind(func,self);
1429}
1430if(m.isArrayLike(_1b6)){
1431try{
1432for(var i=0;i<_1b6.length;i++){
1433func(_1b6[i]);
1434}
1435}
1436catch(e){
1437if(e!=MochiKit.Iter.StopIteration){
1438throw e;
1439}
1440}
1441}else{
1442self=MochiKit.Iter;
1443self.exhaust(self.imap(func,_1b6));
1444}
1445},every:function(_1bb,func){
1446var self=MochiKit.Iter;
1447try{
1448self.ifilterfalse(func,_1bb).next();
1449return false;
1450}
1451catch(e){
1452if(e!=self.StopIteration){
1453throw e;
1454}
1455return true;
1456}
1457},sorted:function(_1be,cmp){
1458var rval=MochiKit.Iter.list(_1be);
1459if(arguments.length==1){
1460cmp=MochiKit.Base.compare;
1461}
1462rval.sort(cmp);
1463return rval;
1464},reversed:function(_1c1){
1465var rval=MochiKit.Iter.list(_1c1);
1466rval.reverse();
1467return rval;
1468},some:function(_1c3,func){
1469var self=MochiKit.Iter;
1470try{
1471self.ifilter(func,_1c3).next();
1472return true;
1473}
1474catch(e){
1475if(e!=self.StopIteration){
1476throw e;
1477}
1478return false;
1479}
1480},iextend:function(lst,_1c7){
1481if(MochiKit.Base.isArrayLike(_1c7)){
1482for(var i=0;i<_1c7.length;i++){
1483lst.push(_1c7[i]);
1484}
1485}else{
1486var self=MochiKit.Iter;
1487_1c7=self.iter(_1c7);
1488try{
1489while(true){
1490lst.push(_1c7.next());
1491}
1492}
1493catch(e){
1494if(e!=self.StopIteration){
1495throw e;
1496}
1497}
1498}
1499return lst;
1500},groupby:function(_1ca,_1cb){
1501var m=MochiKit.Base;
1502var self=MochiKit.Iter;
1503if(arguments.length<2){
1504_1cb=m.operator.identity;
1505}
1506_1ca=self.iter(_1ca);
1507var pk=undefined;
1508var k=undefined;
1509var v;
1510function fetch(){
1511v=_1ca.next();
1512k=_1cb(v);
1513}
1514function eat(){
1515var ret=v;
1516v=undefined;
1517return ret;
1518}
1519var _1d2=true;
1520var _1d3=m.compare;
1521return {repr:function(){
1522return "groupby(...)";
1523},next:function(){
1524while(_1d3(k,pk)===0){
1525fetch();
1526if(_1d2){
1527_1d2=false;
1528break;
1529}
1530}
1531pk=k;
1532return [k,{next:function(){
1533if(v==undefined){
1534fetch();
1535}
1536if(_1d3(k,pk)!==0){
1537throw self.StopIteration;
1538}
1539return eat();
1540}}];
1541}};
1542},groupby_as_array:function(_1d4,_1d5){
1543var m=MochiKit.Base;
1544var self=MochiKit.Iter;
1545if(arguments.length<2){
1546_1d5=m.operator.identity;
1547}
1548_1d4=self.iter(_1d4);
1549var _1d8=[];
1550var _1d9=true;
1551var _1da;
1552var _1db=m.compare;
1553while(true){
1554try{
1555var _1dc=_1d4.next();
1556var key=_1d5(_1dc);
1557}
1558catch(e){
1559if(e==self.StopIteration){
1560break;
1561}
1562throw e;
1563}
1564if(_1d9||_1db(key,_1da)!==0){
1565var _1de=[];
1566_1d8.push([key,_1de]);
1567}
1568_1de.push(_1dc);
1569_1d9=false;
1570_1da=key;
1571}
1572return _1d8;
1573},arrayLikeIter:function(_1df){
1574var i=0;
1575return {repr:function(){
1576return "arrayLikeIter(...)";
1577},toString:MochiKit.Base.forwardCall("repr"),next:function(){
1578if(i>=_1df.length){
1579throw MochiKit.Iter.StopIteration;
1580}
1581return _1df[i++];
1582}};
1583},hasIterateNext:function(_1e1){
1584return (_1e1&&typeof (_1e1.iterateNext)=="function");
1585},iterateNextIter:function(_1e2){
1586return {repr:function(){
1587return "iterateNextIter(...)";
1588},toString:MochiKit.Base.forwardCall("repr"),next:function(){
1589var rval=_1e2.iterateNext();
1590if(rval===null||rval===undefined){
1591throw MochiKit.Iter.StopIteration;
1592}
1593return rval;
1594}};
1595}});
1596MochiKit.Iter.EXPORT_OK=["iteratorRegistry","arrayLikeIter","hasIterateNext","iterateNextIter",];
1597MochiKit.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"];
1598MochiKit.Iter.__new__=function(){
1599var m=MochiKit.Base;
1600if(typeof (StopIteration)!="undefined"){
1601this.StopIteration=StopIteration;
1602}else{
1603this.StopIteration=new m.NamedError("StopIteration");
1604}
1605this.iteratorRegistry=new m.AdapterRegistry();
1606this.registerIteratorFactory("arrayLike",m.isArrayLike,this.arrayLikeIter);
1607this.registerIteratorFactory("iterateNext",this.hasIterateNext,this.iterateNextIter);
1608this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};
1609m.nameFunctions(this);
1610};
1611MochiKit.Iter.__new__();
1612if(MochiKit.__export__){
1613reduce=MochiKit.Iter.reduce;
1614}
1615MochiKit.Base._exportSymbols(this,MochiKit.Iter);
1616if(typeof (dojo)!="undefined"){
1617dojo.provide("MochiKit.Logging");
1618dojo.require("MochiKit.Base");
1619}
1620if(typeof (JSAN)!="undefined"){
1621JSAN.use("MochiKit.Base",[]);
1622}
1623try{
1624if(typeof (MochiKit.Base)=="undefined"){
1625throw "";
1626}
1627}
1628catch(e){
1629throw "MochiKit.Logging depends on MochiKit.Base!";
1630}
1631if(typeof (MochiKit.Logging)=="undefined"){
1632MochiKit.Logging={};
1633}
1634MochiKit.Logging.NAME="MochiKit.Logging";
1635MochiKit.Logging.VERSION="1.4";
1636MochiKit.Logging.__repr__=function(){
1637return "["+this.NAME+" "+this.VERSION+"]";
1638};
1639MochiKit.Logging.toString=function(){
1640return this.__repr__();
1641};
1642MochiKit.Logging.EXPORT=["LogLevel","LogMessage","Logger","alertListener","logger","log","logError","logDebug","logFatal","logWarning"];
1643MochiKit.Logging.EXPORT_OK=["logLevelAtLeast","isLogMessage","compareLogMessage"];
1644MochiKit.Logging.LogMessage=function(num,_1e6,info){
1645this.num=num;
1646this.level=_1e6;
1647this.info=info;
1648this.timestamp=new Date();
1649};
1650MochiKit.Logging.LogMessage.prototype={repr:function(){
1651var m=MochiKit.Base;
1652return "LogMessage("+m.map(m.repr,[this.num,this.level,this.info]).join(", ")+")";
1653},toString:MochiKit.Base.forwardCall("repr")};
1654MochiKit.Base.update(MochiKit.Logging,{logLevelAtLeast:function(_1e9){
1655var self=MochiKit.Logging;
1656if(typeof (_1e9)=="string"){
1657_1e9=self.LogLevel[_1e9];
1658}
1659return function(msg){
1660var _1ec=msg.level;
1661if(typeof (_1ec)=="string"){
1662_1ec=self.LogLevel[_1ec];
1663}
1664return _1ec>=_1e9;
1665};
1666},isLogMessage:function(){
1667var _1ed=MochiKit.Logging.LogMessage;
1668for(var i=0;i<arguments.length;i++){
1669if(!(arguments[i] instanceof _1ed)){
1670return false;
1671}
1672}
1673return true;
1674},compareLogMessage:function(a,b){
1675return MochiKit.Base.compare([a.level,a.info],[b.level,b.info]);
1676},alertListener:function(msg){
1677alert("num: "+msg.num+"\nlevel: "+msg.level+"\ninfo: "+msg.info.join(" "));
1678}});
1679MochiKit.Logging.Logger=function(_1f2){
1680this.counter=0;
1681if(typeof (_1f2)=="undefined"||_1f2===null){
1682_1f2=-1;
1683}
1684this.maxSize=_1f2;
1685this._messages=[];
1686this.listeners={};
1687this.useNativeConsole=false;
1688};
1689MochiKit.Logging.Logger.prototype={clear:function(){
1690this._messages.splice(0,this._messages.length);
1691},logToConsole:function(msg){
1692if(typeof (window)!="undefined"&&window.console&&window.console.log){
1693window.console.log(msg.replace(/%/g,"\uff05"));
1694}else{
1695if(typeof (opera)!="undefined"&&opera.postError){
1696opera.postError(msg);
1697}else{
1698if(typeof (printfire)=="function"){
1699printfire(msg);
1700}else{
1701if(typeof (Debug)!="undefined"&&Debug.writeln){
1702Debug.writeln(msg);
1703}else{
1704if(typeof (debug)!="undefined"&&debug.trace){
1705debug.trace(msg);
1706}
1707}
1708}
1709}
1710}
1711},dispatchListeners:function(msg){
1712for(var k in this.listeners){
1713var pair=this.listeners[k];
1714if(pair.ident!=k||(pair[0]&&!pair[0](msg))){
1715continue;
1716}
1717pair[1](msg);
1718}
1719},addListener:function(_1f7,_1f8,_1f9){
1720if(typeof (_1f8)=="string"){
1721_1f8=MochiKit.Logging.logLevelAtLeast(_1f8);
1722}
1723var _1fa=[_1f8,_1f9];
1724_1fa.ident=_1f7;
1725this.listeners[_1f7]=_1fa;
1726},removeListener:function(_1fb){
1727delete this.listeners[_1fb];
1728},baseLog:function(_1fc,_1fd){
1729var msg=new MochiKit.Logging.LogMessage(this.counter,_1fc,MochiKit.Base.extend(null,arguments,1));
1730this._messages.push(msg);
1731this.dispatchListeners(msg);
1732if(this.useNativeConsole){
1733this.logToConsole(msg.level+": "+msg.info.join(" "));
1734}
1735this.counter+=1;
1736while(this.maxSize>=0&&this._messages.length>this.maxSize){
1737this._messages.shift();
1738}
1739},getMessages:function(_1ff){
1740var _200=0;
1741if(!(typeof (_1ff)=="undefined"||_1ff===null)){
1742_200=Math.max(0,this._messages.length-_1ff);
1743}
1744return this._messages.slice(_200);
1745},getMessageText:function(_201){
1746if(typeof (_201)=="undefined"||_201===null){
1747_201=30;
1748}
1749var _202=this.getMessages(_201);
1750if(_202.length){
1751var lst=map(function(m){
1752return "\n ["+m.num+"] "+m.level+": "+m.info.join(" ");
1753},_202);
1754lst.unshift("LAST "+_202.length+" MESSAGES:");
1755return lst.join("");
1756}
1757return "";
1758},debuggingBookmarklet:function(_205){
1759if(typeof (MochiKit.LoggingPane)=="undefined"){
1760alert(this.getMessageText());
1761}else{
1762MochiKit.LoggingPane.createLoggingPane(_205||false);
1763}
1764}};
1765MochiKit.Logging.__new__=function(){
1766this.LogLevel={ERROR:40,FATAL:50,WARNING:30,INFO:20,DEBUG:10};
1767var m=MochiKit.Base;
1768m.registerComparator("LogMessage",this.isLogMessage,this.compareLogMessage);
1769var _207=m.partial;
1770var _208=this.Logger;
1771var _209=_208.prototype.baseLog;
1772m.update(this.Logger.prototype,{debug:_207(_209,"DEBUG"),log:_207(_209,"INFO"),error:_207(_209,"ERROR"),fatal:_207(_209,"FATAL"),warning:_207(_209,"WARNING")});
1773var self=this;
1774var _20b=function(name){
1775return function(){
1776self.logger[name].apply(self.logger,arguments);
1777};
1778};
1779this.log=_20b("log");
1780this.logError=_20b("error");
1781this.logDebug=_20b("debug");
1782this.logFatal=_20b("fatal");
1783this.logWarning=_20b("warning");
1784this.logger=new _208();
1785this.logger.useNativeConsole=true;
1786this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};
1787m.nameFunctions(this);
1788};
1789if(typeof (printfire)=="undefined"&&typeof (document)!="undefined"&&document.createEvent&&typeof (dispatchEvent)!="undefined"){
1790printfire=function(){
1791printfire.args=arguments;
1792var ev=document.createEvent("Events");
1793ev.initEvent("printfire",false,true);
1794dispatchEvent(ev);
1795};
1796}
1797MochiKit.Logging.__new__();
1798MochiKit.Base._exportSymbols(this,MochiKit.Logging);
1799if(typeof (dojo)!="undefined"){
1800dojo.provide("MochiKit.DateTime");
1801}
1802if(typeof (MochiKit)=="undefined"){
1803MochiKit={};
1804}
1805if(typeof (MochiKit.DateTime)=="undefined"){
1806MochiKit.DateTime={};
1807}
1808MochiKit.DateTime.NAME="MochiKit.DateTime";
1809MochiKit.DateTime.VERSION="1.4";
1810MochiKit.DateTime.__repr__=function(){
1811return "["+this.NAME+" "+this.VERSION+"]";
1812};
1813MochiKit.DateTime.toString=function(){
1814return this.__repr__();
1815};
1816MochiKit.DateTime.isoDate=function(str){
1817str=str+"";
1818if(typeof (str)!="string"||str.length===0){
1819return null;
1820}
1821var iso=str.split("-");
1822if(iso.length===0){
1823return null;
1824}
1825return new Date(iso[0],iso[1]-1,iso[2]);
1826};
1827MochiKit.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}))?)?)?)?)?/;
1828MochiKit.DateTime.isoTimestamp=function(str){
1829str=str+"";
1830if(typeof (str)!="string"||str.length===0){
1831return null;
1832}
1833var res=str.match(MochiKit.DateTime._isoRegexp);
1834if(typeof (res)=="undefined"||res===null){
1835return null;
1836}
1837var year,_213,day,hour,min,sec,msec;
1838year=parseInt(res[1],10);
1839if(typeof (res[2])=="undefined"||res[2]===""){
1840return new Date(year);
1841}
1842_213=parseInt(res[2],10)-1;
1843day=parseInt(res[3],10);
1844if(typeof (res[4])=="undefined"||res[4]===""){
1845return new Date(year,_213,day);
1846}
1847hour=parseInt(res[4],10);
1848min=parseInt(res[5],10);
1849sec=(typeof (res[6])!="undefined"&&res[6]!=="")?parseInt(res[6],10):0;
1850if(typeof (res[7])!="undefined"&&res[7]!==""){
1851msec=Math.round(1000*parseFloat("0."+res[7]));
1852}else{
1853msec=0;
1854}
1855if((typeof (res[8])=="undefined"||res[8]==="")&&(typeof (res[9])=="undefined"||res[9]==="")){
1856return new Date(year,_213,day,hour,min,sec,msec);
1857}
1858var ofs;
1859if(typeof (res[9])!="undefined"&&res[9]!==""){
1860ofs=parseInt(res[10],10)*3600000;
1861if(typeof (res[11])!="undefined"&&res[11]!==""){
1862ofs+=parseInt(res[11],10)*60000;
1863}
1864if(res[9]=="-"){
1865ofs=-ofs;
1866}
1867}else{
1868ofs=0;
1869}
1870return new Date(Date.UTC(year,_213,day,hour,min,sec,msec)-ofs);
1871};
1872MochiKit.DateTime.toISOTime=function(date,_21b){
1873if(typeof (date)=="undefined"||date===null){
1874return null;
1875}
1876var hh=date.getHours();
1877var mm=date.getMinutes();
1878var ss=date.getSeconds();
1879var lst=[((_21b&&(hh<10))?"0"+hh:hh),((mm<10)?"0"+mm:mm),((ss<10)?"0"+ss:ss)];
1880return lst.join(":");
1881};
1882MochiKit.DateTime.toISOTimestamp=function(date,_221){
1883if(typeof (date)=="undefined"||date===null){
1884return null;
1885}
1886var sep=_221?"T":" ";
1887var foot=_221?"Z":"";
1888if(_221){
1889date=new Date(date.getTime()+(date.getTimezoneOffset()*60000));
1890}
1891return MochiKit.DateTime.toISODate(date)+sep+MochiKit.DateTime.toISOTime(date,_221)+foot;
1892};
1893MochiKit.DateTime.toISODate=function(date){
1894if(typeof (date)=="undefined"||date===null){
1895return null;
1896}
1897var _225=MochiKit.DateTime._padTwo;
1898return [date.getFullYear(),_225(date.getMonth()+1),_225(date.getDate())].join("-");
1899};
1900MochiKit.DateTime.americanDate=function(d){
1901d=d+"";
1902if(typeof (d)!="string"||d.length===0){
1903return null;
1904}
1905var a=d.split("/");
1906return new Date(a[2],a[0]-1,a[1]);
1907};
1908MochiKit.DateTime._padTwo=function(n){
1909return (n>9)?n:"0"+n;
1910};
1911MochiKit.DateTime.toPaddedAmericanDate=function(d){
1912if(typeof (d)=="undefined"||d===null){
1913return null;
1914}
1915var _22a=MochiKit.DateTime._padTwo;
1916return [_22a(d.getMonth()+1),_22a(d.getDate()),d.getFullYear()].join("/");
1917};
1918MochiKit.DateTime.toAmericanDate=function(d){
1919if(typeof (d)=="undefined"||d===null){
1920return null;
1921}
1922return [d.getMonth()+1,d.getDate(),d.getFullYear()].join("/");
1923};
1924MochiKit.DateTime.EXPORT=["isoDate","isoTimestamp","toISOTime","toISOTimestamp","toISODate","americanDate","toPaddedAmericanDate","toAmericanDate"];
1925MochiKit.DateTime.EXPORT_OK=[];
1926MochiKit.DateTime.EXPORT_TAGS={":common":MochiKit.DateTime.EXPORT,":all":MochiKit.DateTime.EXPORT};
1927MochiKit.DateTime.__new__=function(){
1928var base=this.NAME+".";
1929for(var k in this){
1930var o=this[k];
1931if(typeof (o)=="function"&&typeof (o.NAME)=="undefined"){
1932try{
1933o.NAME=base+k;
1934}
1935catch(e){
1936}
1937}
1938}
1939};
1940MochiKit.DateTime.__new__();
1941if(typeof (MochiKit.Base)!="undefined"){
1942MochiKit.Base._exportSymbols(this,MochiKit.DateTime);
1943}else{
1944(function(_22f,_230){
1945if((typeof (JSAN)=="undefined"&&typeof (dojo)=="undefined")||(MochiKit.__export__===false)){
1946var all=_230.EXPORT_TAGS[":all"];
1947for(var i=0;i<all.length;i++){
1948_22f[all[i]]=_230[all[i]];
1949}
1950}
1951})(this,MochiKit.DateTime);
1952}
1953if(typeof (dojo)!="undefined"){
1954dojo.provide("MochiKit.Format");
1955}
1956if(typeof (MochiKit)=="undefined"){
1957MochiKit={};
1958}
1959if(typeof (MochiKit.Format)=="undefined"){
1960MochiKit.Format={};
1961}
1962MochiKit.Format.NAME="MochiKit.Format";
1963MochiKit.Format.VERSION="1.4";
1964MochiKit.Format.__repr__=function(){
1965return "["+this.NAME+" "+this.VERSION+"]";
1966};
1967MochiKit.Format.toString=function(){
1968return this.__repr__();
1969};
1970MochiKit.Format._numberFormatter=function(_233,_234,_235,_236,_237,_238,_239,_23a,_23b){
1971return function(num){
1972num=parseFloat(num);
1973if(typeof (num)=="undefined"||num===null||isNaN(num)){
1974return _233;
1975}
1976var _23d=_234;
1977var _23e=_235;
1978if(num<0){
1979num=-num;
1980}else{
1981_23d=_23d.replace(/-/,"");
1982}
1983var me=arguments.callee;
1984var fmt=MochiKit.Format.formatLocale(_236);
1985if(_237){
1986num=num*100;
1987_23e=fmt.percent+_23e;
1988}
1989num=MochiKit.Format.roundToFixed(num,_238);
1990var _241=num.split(/\./);
1991var _242=_241[0];
1992var frac=(_241.length==1)?"":_241[1];
1993var res="";
1994while(_242.length<_239){
1995_242="0"+_242;
1996}
1997if(_23a){
1998while(_242.length>_23a){
1999var i=_242.length-_23a;
2000res=fmt.separator+_242.substring(i,_242.length)+res;
2001_242=_242.substring(0,i);
2002}
2003}
2004res=_242+res;
2005if(_238>0){
2006while(frac.length<_23b){
2007frac=frac+"0";
2008}
2009res=res+fmt.decimal+frac;
2010}
2011return _23d+res+_23e;
2012};
2013};
2014MochiKit.Format.numberFormatter=function(_246,_247,_248){
2015if(typeof (_247)=="undefined"){
2016_247="";
2017}
2018var _249=_246.match(/((?:[0#]+,)?[0#]+)(?:\.([0#]+))?(%)?/);
2019if(!_249){
2020throw TypeError("Invalid pattern");
2021}
2022var _24a=_246.substr(0,_249.index);
2023var _24b=_246.substr(_249.index+_249[0].length);
2024if(_24a.search(/-/)==-1){
2025_24a=_24a+"-";
2026}
2027var _24c=_249[1];
2028var frac=(typeof (_249[2])=="string"&&_249[2]!="")?_249[2]:"";
2029var _24e=(typeof (_249[3])=="string"&&_249[3]!="");
2030var tmp=_24c.split(/,/);
2031var _250;
2032if(typeof (_248)=="undefined"){
2033_248="default";
2034}
2035if(tmp.length==1){
2036_250=null;
2037}else{
2038_250=tmp[1].length;
2039}
2040var _251=_24c.length-_24c.replace(/0/g,"").length;
2041var _252=frac.length-frac.replace(/0/g,"").length;
2042var _253=frac.length;
2043var rval=MochiKit.Format._numberFormatter(_247,_24a,_24b,_248,_24e,_253,_251,_250,_252);
2044var m=MochiKit.Base;
2045if(m){
2046var fn=arguments.callee;
2047var args=m.concat(arguments);
2048rval.repr=function(){
2049return [self.NAME,"(",map(m.repr,args).join(", "),")"].join("");
2050};
2051}
2052return rval;
2053};
2054MochiKit.Format.formatLocale=function(_258){
2055if(typeof (_258)=="undefined"||_258===null){
2056_258="default";
2057}
2058if(typeof (_258)=="string"){
2059var rval=MochiKit.Format.LOCALE[_258];
2060if(typeof (rval)=="string"){
2061rval=arguments.callee(rval);
2062MochiKit.Format.LOCALE[_258]=rval;
2063}
2064return rval;
2065}else{
2066return _258;
2067}
2068};
2069MochiKit.Format.twoDigitAverage=function(_25a,_25b){
2070if(_25b){
2071var res=_25a/_25b;
2072if(!isNaN(res)){
2073return MochiKit.Format.twoDigitFloat(_25a/_25b);
2074}
2075}
2076return "0";
2077};
2078MochiKit.Format.twoDigitFloat=function(_25d){
2079var sign=(_25d<0?"-":"");
2080var s=Math.floor(Math.abs(_25d)*100).toString();
2081if(s=="0"){
2082return s;
2083}
2084if(s.length<3){
2085while(s.charAt(s.length-1)=="0"){
2086s=s.substring(0,s.length-1);
2087}
2088return sign+"0."+s;
2089}
2090var head=sign+s.substring(0,s.length-2);
2091var tail=s.substring(s.length-2,s.length);
2092if(tail=="00"){
2093return head;
2094}else{
2095if(tail.charAt(1)=="0"){
2096return head+"."+tail.charAt(0);
2097}else{
2098return head+"."+tail;
2099}
2100}
2101};
2102MochiKit.Format.lstrip=function(str,_263){
2103str=str+"";
2104if(typeof (str)!="string"){
2105return null;
2106}
2107if(!_263){
2108return str.replace(/^\s+/,"");
2109}else{
2110return str.replace(new RegExp("^["+_263+"]+"),"");
2111}
2112};
2113MochiKit.Format.rstrip=function(str,_265){
2114str=str+"";
2115if(typeof (str)!="string"){
2116return null;
2117}
2118if(!_265){
2119return str.replace(/\s+$/,"");
2120}else{
2121return str.replace(new RegExp("["+_265+"]+$"),"");
2122}
2123};
2124MochiKit.Format.strip=function(str,_267){
2125var self=MochiKit.Format;
2126return self.rstrip(self.lstrip(str,_267),_267);
2127};
2128MochiKit.Format.truncToFixed=function(_269,_26a){
2129_269=Math.floor(_269*Math.pow(10,_26a));
2130var res=(_269*Math.pow(10,-_26a)).toFixed(_26a);
2131if(res.charAt(0)=="."){
2132res="0"+res;
2133}
2134return res;
2135};
2136MochiKit.Format.roundToFixed=function(_26c,_26d){
2137return MochiKit.Format.truncToFixed(_26c+0.5*Math.pow(10,-_26d),_26d);
2138};
2139MochiKit.Format.percentFormat=function(_26e){
2140return MochiKit.Format.twoDigitFloat(100*_26e)+"%";
2141};
2142MochiKit.Format.EXPORT=["truncToFixed","roundToFixed","numberFormatter","formatLocale","twoDigitAverage","twoDigitFloat","percentFormat","lstrip","rstrip","strip"];
2143MochiKit.Format.LOCALE={en_US:{separator:",",decimal:".",percent:"%"},de_DE:{separator:".",decimal:",",percent:"%"},fr_FR:{separator:" ",decimal:",",percent:"%"},"default":"en_US"};
2144MochiKit.Format.EXPORT_OK=[];
2145MochiKit.Format.EXPORT_TAGS={":all":MochiKit.Format.EXPORT,":common":MochiKit.Format.EXPORT};
2146MochiKit.Format.__new__=function(){
2147var base=this.NAME+".";
2148var k,v,o;
2149for(k in this.LOCALE){
2150o=this.LOCALE[k];
2151if(typeof (o)=="object"){
2152o.repr=function(){
2153return this.NAME;
2154};
2155o.NAME=base+"LOCALE."+k;
2156}
2157}
2158for(k in this){
2159o=this[k];
2160if(typeof (o)=="function"&&typeof (o.NAME)=="undefined"){
2161try{
2162o.NAME=base+k;
2163}
2164catch(e){
2165}
2166}
2167}
2168};
2169MochiKit.Format.__new__();
2170if(typeof (MochiKit.Base)!="undefined"){
2171MochiKit.Base._exportSymbols(this,MochiKit.Format);
2172}else{
2173(function(_273,_274){
2174if((typeof (JSAN)=="undefined"&&typeof (dojo)=="undefined")||(MochiKit.__export__===false)){
2175var all=_274.EXPORT_TAGS[":all"];
2176for(var i=0;i<all.length;i++){
2177_273[all[i]]=_274[all[i]];
2178}
2179}
2180})(this,MochiKit.Format);
2181}
2182if(typeof (dojo)!="undefined"){
2183dojo.provide("MochiKit.Async");
2184dojo.require("MochiKit.Base");
2185}
2186if(typeof (JSAN)!="undefined"){
2187JSAN.use("MochiKit.Base",[]);
2188}
2189try{
2190if(typeof (MochiKit.Base)=="undefined"){
2191throw "";
2192}
2193}
2194catch(e){
2195throw "MochiKit.Async depends on MochiKit.Base!";
2196}
2197if(typeof (MochiKit.Async)=="undefined"){
2198MochiKit.Async={};
2199}
2200MochiKit.Async.NAME="MochiKit.Async";
2201MochiKit.Async.VERSION="1.4";
2202MochiKit.Async.__repr__=function(){
2203return "["+this.NAME+" "+this.VERSION+"]";
2204};
2205MochiKit.Async.toString=function(){
2206return this.__repr__();
2207};
2208MochiKit.Async.Deferred=function(_277){
2209this.chain=[];
2210this.id=this._nextId();
2211this.fired=-1;
2212this.paused=0;
2213this.results=[null,null];
2214this.canceller=_277;
2215this.silentlyCancelled=false;
2216this.chained=false;
2217};
2218MochiKit.Async.Deferred.prototype={repr:function(){
2219var _278;
2220if(this.fired==-1){
2221_278="unfired";
2222}else{
2223if(this.fired===0){
2224_278="success";
2225}else{
2226_278="error";
2227}
2228}
2229return "Deferred("+this.id+", "+_278+")";
2230},toString:MochiKit.Base.forwardCall("repr"),_nextId:MochiKit.Base.counter(),cancel:function(){
2231var self=MochiKit.Async;
2232if(this.fired==-1){
2233if(this.canceller){
2234this.canceller(this);
2235}else{
2236this.silentlyCancelled=true;
2237}
2238if(this.fired==-1){
2239this.errback(new self.CancelledError(this));
2240}
2241}else{
2242if((this.fired===0)&&(this.results[0] instanceof self.Deferred)){
2243this.results[0].cancel();
2244}
2245}
2246},_resback:function(res){
2247this.fired=((res instanceof Error)?1:0);
2248this.results[this.fired]=res;
2249this._fire();
2250},_check:function(){
2251if(this.fired!=-1){
2252if(!this.silentlyCancelled){
2253throw new MochiKit.Async.AlreadyCalledError(this);
2254}
2255this.silentlyCancelled=false;
2256return;
2257}
2258},callback:function(res){
2259this._check();
2260if(res instanceof MochiKit.Async.Deferred){
2261throw new Error("Deferred instances can only be chained if they are the result of a callback");
2262}
2263this._resback(res);
2264},errback:function(res){
2265this._check();
2266var self=MochiKit.Async;
2267if(res instanceof self.Deferred){
2268throw new Error("Deferred instances can only be chained if they are the result of a callback");
2269}
2270if(!(res instanceof Error)){
2271res=new self.GenericError(res);
2272}
2273this._resback(res);
2274},addBoth:function(fn){
2275if(arguments.length>1){
2276fn=MochiKit.Base.partial.apply(null,arguments);
2277}
2278return this.addCallbacks(fn,fn);
2279},addCallback:function(fn){
2280if(arguments.length>1){
2281fn=MochiKit.Base.partial.apply(null,arguments);
2282}
2283return this.addCallbacks(fn,null);
2284},addErrback:function(fn){
2285if(arguments.length>1){
2286fn=MochiKit.Base.partial.apply(null,arguments);
2287}
2288return this.addCallbacks(null,fn);
2289},addCallbacks:function(cb,eb){
2290if(this.chained){
2291throw new Error("Chained Deferreds can not be re-used");
2292}
2293this.chain.push([cb,eb]);
2294if(this.fired>=0){
2295this._fire();
2296}
2297return this;
2298},_fire:function(){
2299var _283=this.chain;
2300var _284=this.fired;
2301var res=this.results[_284];
2302var self=this;
2303var cb=null;
2304while(_283.length>0&&this.paused===0){
2305var pair=_283.shift();
2306var f=pair[_284];
2307if(f===null){
2308continue;
2309}
2310try{
2311res=f(res);
2312_284=((res instanceof Error)?1:0);
2313if(res instanceof MochiKit.Async.Deferred){
2314cb=function(res){
2315self._resback(res);
2316self.paused--;
2317if((self.paused===0)&&(self.fired>=0)){
2318self._fire();
2319}
2320};
2321this.paused++;
2322}
2323}
2324catch(err){
2325_284=1;
2326if(!(err instanceof Error)){
2327err=new MochiKit.Async.GenericError(err);
2328}
2329res=err;
2330}
2331}
2332this.fired=_284;
2333this.results[_284]=res;
2334if(cb&&this.paused){
2335res.addBoth(cb);
2336res.chained=true;
2337}
2338}};
2339MochiKit.Base.update(MochiKit.Async,{evalJSONRequest:function(){
2340return eval("("+arguments[0].responseText+")");
2341},succeed:function(_28b){
2342var d=new MochiKit.Async.Deferred();
2343d.callback.apply(d,arguments);
2344return d;
2345},fail:function(_28d){
2346var d=new MochiKit.Async.Deferred();
2347d.errback.apply(d,arguments);
2348return d;
2349},getXMLHttpRequest:function(){
2350var self=arguments.callee;
2351if(!self.XMLHttpRequest){
2352var _290=[function(){
2353return new XMLHttpRequest();
2354},function(){
2355return new ActiveXObject("Msxml2.XMLHTTP");
2356},function(){
2357return new ActiveXObject("Microsoft.XMLHTTP");
2358},function(){
2359return new ActiveXObject("Msxml2.XMLHTTP.4.0");
2360},function(){
2361throw new MochiKit.Async.BrowserComplianceError("Browser does not support XMLHttpRequest");
2362}];
2363for(var i=0;i<_290.length;i++){
2364var func=_290[i];
2365try{
2366self.XMLHttpRequest=func;
2367return func();
2368}
2369catch(e){
2370}
2371}
2372}
2373return self.XMLHttpRequest();
2374},_xhr_onreadystatechange:function(d){
2375var m=MochiKit.Base;
2376if(this.readyState==4){
2377try{
2378this.onreadystatechange=null;
2379}
2380catch(e){
2381try{
2382this.onreadystatechange=m.noop;
2383}
2384catch(e){
2385}
2386}
2387var _295=null;
2388try{
2389_295=this.status;
2390if(!_295&&m.isNotEmpty(this.responseText)){
2391_295=304;
2392}
2393}
2394catch(e){
2395}
2396if(_295==200||_295==201||_295==204||_295==304||_295==1223){
2397d.callback(this);
2398}else{
2399var err=new MochiKit.Async.XMLHttpRequestError(this,"Request failed");
2400if(err.number){
2401d.errback(err);
2402}else{
2403d.errback(err);
2404}
2405}
2406}
2407},_xhr_canceller:function(req){
2408try{
2409req.onreadystatechange=null;
2410}
2411catch(e){
2412try{
2413req.onreadystatechange=MochiKit.Base.noop;
2414}
2415catch(e){
2416}
2417}
2418req.abort();
2419},sendXMLHttpRequest:function(req,_299){
2420if(typeof (_299)=="undefined"||_299===null){
2421_299="";
2422}
2423var m=MochiKit.Base;
2424var self=MochiKit.Async;
2425var d=new self.Deferred(m.partial(self._xhr_canceller,req));
2426try{
2427req.onreadystatechange=m.bind(self._xhr_onreadystatechange,req,d);
2428req.send(_299);
2429}
2430catch(e){
2431try{
2432req.onreadystatechange=null;
2433}
2434catch(ignore){
2435}
2436d.errback(e);
2437}
2438return d;
2439},doXHR:function(url,opts){
2440var self=MochiKit.Async;
2441return self.callLater(0,self._doXHR,url,opts);
2442},_doXHR:function(url,opts){
2443var m=MochiKit.Base;
2444opts=m.update({method:"GET",sendContent:""},opts);
2445var self=MochiKit.Async;
2446var req=self.getXMLHttpRequest();
2447if(opts.queryString){
2448var qs=m.queryString(opts.queryString);
2449if(qs){
2450url+="?"+qs;
2451}
2452}
2453if("username" in opts){
2454req.open(opts.method,url,true,opts.username,opts.password);
2455}else{
2456req.open(opts.method,url,true);
2457}
2458if(req.overrideMimeType&&opts.mimeType){
2459req.overrideMimeType(opts.mimeType);
2460}
2461if(opts.headers){
2462var _2a6=opts.headers;
2463if(!m.isArrayLike(_2a6)){
2464_2a6=m.items(_2a6);
2465}
2466for(var i=0;i<_2a6.length;i++){
2467var _2a8=_2a6[i];
2468var name=_2a8[0];
2469var _2aa=_2a8[1];
2470req.setRequestHeader(name,_2aa);
2471}
2472}
2473return self.sendXMLHttpRequest(req,opts.sendContent);
2474},_buildURL:function(url){
2475if(arguments.length>1){
2476var m=MochiKit.Base;
2477var qs=m.queryString.apply(null,m.extend(null,arguments,1));
2478if(qs){
2479return url+"?"+qs;
2480}
2481}
2482return url;
2483},doSimpleXMLHttpRequest:function(url){
2484var self=MochiKit.Async;
2485url=self._buildURL.apply(self,arguments);
2486return self.doXHR(url);
2487},loadJSONDoc:function(url){
2488var self=MochiKit.Async;
2489url=self._buildURL.apply(self,arguments);
2490var d=self.doXHR(url,{"mimeType":"text/plain","headers":[["Accept","application/json"]]});
2491d=d.addCallback(self.evalJSONRequest);
2492return d;
2493},wait:function(_2b3,_2b4){
2494var d=new MochiKit.Async.Deferred();
2495var m=MochiKit.Base;
2496if(typeof (_2b4)!="undefined"){
2497d.addCallback(function(){
2498return _2b4;
2499});
2500}
2501var _2b7=setTimeout(m.bind("callback",d),Math.floor(_2b3*1000));
2502d.canceller=function(){
2503try{
2504clearTimeout(_2b7);
2505}
2506catch(e){
2507}
2508};
2509return d;
2510},callLater:function(_2b8,func){
2511var m=MochiKit.Base;
2512var _2bb=m.partial.apply(m,m.extend(null,arguments,1));
2513return MochiKit.Async.wait(_2b8).addCallback(function(res){
2514return _2bb();
2515});
2516}});
2517MochiKit.Async.DeferredLock=function(){
2518this.waiting=[];
2519this.locked=false;
2520this.id=this._nextId();
2521};
2522MochiKit.Async.DeferredLock.prototype={__class__:MochiKit.Async.DeferredLock,acquire:function(){
2523var d=new MochiKit.Async.Deferred();
2524if(this.locked){
2525this.waiting.push(d);
2526}else{
2527this.locked=true;
2528d.callback(this);
2529}
2530return d;
2531},release:function(){
2532if(!this.locked){
2533throw TypeError("Tried to release an unlocked DeferredLock");
2534}
2535this.locked=false;
2536if(this.waiting.length>0){
2537this.locked=true;
2538this.waiting.shift().callback(this);
2539}
2540},_nextId:MochiKit.Base.counter(),repr:function(){
2541var _2be;
2542if(this.locked){
2543_2be="locked, "+this.waiting.length+" waiting";
2544}else{
2545_2be="unlocked";
2546}
2547return "DeferredLock("+this.id+", "+_2be+")";
2548},toString:MochiKit.Base.forwardCall("repr")};
2549MochiKit.Async.DeferredList=function(list,_2c0,_2c1,_2c2,_2c3){
2550MochiKit.Async.Deferred.apply(this,[_2c3]);
2551this.list=list;
2552var _2c4=[];
2553this.resultList=_2c4;
2554this.finishedCount=0;
2555this.fireOnOneCallback=_2c0;
2556this.fireOnOneErrback=_2c1;
2557this.consumeErrors=_2c2;
2558var cb=MochiKit.Base.bind(this._cbDeferred,this);
2559for(var i=0;i<list.length;i++){
2560var d=list[i];
2561_2c4.push(undefined);
2562d.addCallback(cb,i,true);
2563d.addErrback(cb,i,false);
2564}
2565if(list.length===0&&!_2c0){
2566this.callback(this.resultList);
2567}
2568};
2569MochiKit.Async.DeferredList.prototype=new MochiKit.Async.Deferred();
2570MochiKit.Async.DeferredList.prototype._cbDeferred=function(_2c8,_2c9,_2ca){
2571this.resultList[_2c8]=[_2c9,_2ca];
2572this.finishedCount+=1;
2573if(this.fired==-1){
2574if(_2c9&&this.fireOnOneCallback){
2575this.callback([_2c8,_2ca]);
2576}else{
2577if(!_2c9&&this.fireOnOneErrback){
2578this.errback(_2ca);
2579}else{
2580if(this.finishedCount==this.list.length){
2581this.callback(this.resultList);
2582}
2583}
2584}
2585}
2586if(!_2c9&&this.consumeErrors){
2587_2ca=null;
2588}
2589return _2ca;
2590};
2591MochiKit.Async.gatherResults=function(_2cb){
2592var d=new MochiKit.Async.DeferredList(_2cb,false,true,false);
2593d.addCallback(function(_2cd){
2594var ret=[];
2595for(var i=0;i<_2cd.length;i++){
2596ret.push(_2cd[i][1]);
2597}
2598return ret;
2599});
2600return d;
2601};
2602MochiKit.Async.maybeDeferred=function(func){
2603var self=MochiKit.Async;
2604var _2d2;
2605try{
2606var r=func.apply(null,MochiKit.Base.extend([],arguments,1));
2607if(r instanceof self.Deferred){
2608_2d2=r;
2609}else{
2610if(r instanceof Error){
2611_2d2=self.fail(r);
2612}else{
2613_2d2=self.succeed(r);
2614}
2615}
2616}
2617catch(e){
2618_2d2=self.fail(e);
2619}
2620return _2d2;
2621};
2622MochiKit.Async.EXPORT=["AlreadyCalledError","CancelledError","BrowserComplianceError","GenericError","XMLHttpRequestError","Deferred","succeed","fail","getXMLHttpRequest","doSimpleXMLHttpRequest","loadJSONDoc","wait","callLater","sendXMLHttpRequest","DeferredLock","DeferredList","gatherResults","maybeDeferred","doXHR"];
2623MochiKit.Async.EXPORT_OK=["evalJSONRequest"];
2624MochiKit.Async.__new__=function(){
2625var m=MochiKit.Base;
2626var ne=m.partial(m._newNamedError,this);
2627ne("AlreadyCalledError",function(_2d6){
2628this.deferred=_2d6;
2629});
2630ne("CancelledError",function(_2d7){
2631this.deferred=_2d7;
2632});
2633ne("BrowserComplianceError",function(msg){
2634this.message=msg;
2635});
2636ne("GenericError",function(msg){
2637this.message=msg;
2638});
2639ne("XMLHttpRequestError",function(req,msg){
2640this.req=req;
2641this.message=msg;
2642try{
2643this.number=req.status;
2644}
2645catch(e){
2646}
2647});
2648this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};
2649m.nameFunctions(this);
2650};
2651MochiKit.Async.__new__();
2652MochiKit.Base._exportSymbols(this,MochiKit.Async);
2653if(typeof (dojo)!="undefined"){
2654dojo.provide("MochiKit.DOM");
2655dojo.require("MochiKit.Base");
2656}
2657if(typeof (JSAN)!="undefined"){
2658JSAN.use("MochiKit.Base",[]);
2659}
2660try{
2661if(typeof (MochiKit.Base)=="undefined"){
2662throw "";
2663}
2664}
2665catch(e){
2666throw "MochiKit.DOM depends on MochiKit.Base!";
2667}
2668if(typeof (MochiKit.DOM)=="undefined"){
2669MochiKit.DOM={};
2670}
2671MochiKit.DOM.NAME="MochiKit.DOM";
2672MochiKit.DOM.VERSION="1.4";
2673MochiKit.DOM.__repr__=function(){
2674return "["+this.NAME+" "+this.VERSION+"]";
2675};
2676MochiKit.DOM.toString=function(){
2677return this.__repr__();
2678};
2679MochiKit.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"];
2680MochiKit.DOM.EXPORT_OK=["domConverters"];
2681MochiKit.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"]];
2682MochiKit.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);");
2683MochiKit.Base.update(MochiKit.DOM,{currentWindow:function(){
2684return MochiKit.DOM._window;
2685},currentDocument:function(){
2686return MochiKit.DOM._document;
2687},withWindow:function(win,func){
2688var self=MochiKit.DOM;
2689var _2df=self._document;
2690var _2e0=self._window;
2691var rval;
2692try{
2693self._window=win;
2694self._document=win.document;
2695rval=func();
2696}
2697catch(e){
2698self._window=_2e0;
2699self._document=_2df;
2700throw e;
2701}
2702self._window=_2e0;
2703self._document=_2df;
2704return rval;
2705},formContents:function(elem){
2706var _2e3=[];
2707var _2e4=[];
2708var m=MochiKit.Base;
2709var self=MochiKit.DOM;
2710if(typeof (elem)=="undefined"||elem===null){
2711elem=self._document.body;
2712}else{
2713elem=self.getElement(elem);
2714}
2715m.nodeWalk(elem,function(elem){
2716var name=elem.name;
2717if(m.isNotEmpty(name)){
2718var _2e9=elem.tagName.toUpperCase();
2719if(_2e9==="INPUT"&&(elem.type=="radio"||elem.type=="checkbox")&&!elem.checked){
2720return null;
2721}
2722if(_2e9==="SELECT"){
2723if(elem.type=="select-one"){
2724if(elem.selectedIndex>=0){
2725var opt=elem.options[elem.selectedIndex];
2726var v=opt.value;
2727if(!v){
2728var h=opt.outerHTML;
2729if(h&&!h.match(/^[^>]+\svalue\s*=/i)){
2730v=opt.text;
2731}
2732}
2733_2e3.push(name);
2734_2e4.push(v);
2735return null;
2736}
2737_2e3.push(name);
2738_2e4.push("");
2739return null;
2740}else{
2741var opts=elem.options;
2742if(!opts.length){
2743_2e3.push(name);
2744_2e4.push("");
2745return null;
2746}
2747for(var i=0;i<opts.length;i++){
2748var opt=opts[i];
2749if(!opt.selected){
2750continue;
2751}
2752var v=opt.value;
2753if(!v){
2754var h=opt.outerHTML;
2755if(h&&!h.match(/^[^>]+\svalue\s*=/i)){
2756v=opt.text;
2757}
2758}
2759_2e3.push(name);
2760_2e4.push(v);
2761}
2762return null;
2763}
2764}
2765if(_2e9==="FORM"||_2e9==="P"||_2e9==="SPAN"||_2e9==="DIV"){
2766return elem.childNodes;
2767}
2768_2e3.push(name);
2769_2e4.push(elem.value||"");
2770return null;
2771}
2772return elem.childNodes;
2773});
2774return [_2e3,_2e4];
2775},withDocument:function(doc,func){
2776var self=MochiKit.DOM;
2777var _2f2=self._document;
2778var rval;
2779try{
2780self._document=doc;
2781rval=func();
2782}
2783catch(e){
2784self._document=_2f2;
2785throw e;
2786}
2787self._document=_2f2;
2788return rval;
2789},registerDOMConverter:function(name,_2f5,wrap,_2f7){
2790MochiKit.DOM.domConverters.register(name,_2f5,wrap,_2f7);
2791},coerceToDOM:function(node,ctx){
2792var m=MochiKit.Base;
2793var im=MochiKit.Iter;
2794var self=MochiKit.DOM;
2795if(im){
2796var iter=im.iter;
2797var _2fe=im.repeat;
2798var map=m.map;
2799}
2800var _300=self.domConverters;
2801var _301=arguments.callee;
2802var _302=m.NotFound;
2803while(true){
2804if(typeof (node)=="undefined"||node===null){
2805return null;
2806}
2807if(typeof (node)=="function"&&typeof (node.length)=="number"&&!(node instanceof Function)){
2808node=im.list(node);
2809}
2810if(typeof (node.nodeType)!="undefined"&&node.nodeType>0){
2811return node;
2812}
2813if(typeof (node)=="number"||typeof (node)=="boolean"){
2814node=node.toString();
2815}
2816if(typeof (node)=="string"){
2817return self._document.createTextNode(node);
2818}
2819if(typeof (node.__dom__)=="function"){
2820node=node.__dom__(ctx);
2821continue;
2822}
2823if(typeof (node.dom)=="function"){
2824node=node.dom(ctx);
2825continue;
2826}
2827if(typeof (node)=="function"){
2828node=node.apply(ctx,[ctx]);
2829continue;
2830}
2831if(im){
2832var _303=null;
2833try{
2834_303=iter(node);
2835}
2836catch(e){
2837}
2838if(_303){
2839return map(_301,_303,_2fe(ctx));
2840}
2841}
2842try{
2843node=_300.match(node,ctx);
2844continue;
2845}
2846catch(e){
2847if(e!=_302){
2848throw e;
2849}
2850}
2851return self._document.createTextNode(node.toString());
2852}
2853return undefined;
2854},isChildNode:function(node,_305){
2855var self=MochiKit.DOM;
2856if(typeof (node)=="string"){
2857node=self.getElement(node);
2858}
2859if(typeof (_305)=="string"){
2860_305=self.getElement(_305);
2861}
2862if(node===_305){
2863return true;
2864}
2865while(node&&node.tagName.toUpperCase()!="BODY"){
2866node=node.parentNode;
2867if(node===_305){
2868return true;
2869}
2870}
2871return false;
2872},setNodeAttribute:function(node,attr,_309){
2873var o={};
2874o[attr]=_309;
2875try{
2876return MochiKit.DOM.updateNodeAttributes(node,o);
2877}
2878catch(e){
2879}
2880return null;
2881},getNodeAttribute:function(node,attr){
2882var self=MochiKit.DOM;
2883var _30e=self.attributeArray.renames[attr];
2884node=self.getElement(node);
2885try{
2886if(_30e){
2887return node[_30e];
2888}
2889return node.getAttribute(attr);
2890}
2891catch(e){
2892}
2893return null;
2894},removeNodeAttribute:function(node,attr){
2895var self=MochiKit.DOM;
2896var _312=self.attributeArray.renames[attr];
2897node=self.getElement(node);
2898try{
2899if(_312){
2900return node[_312];
2901}
2902return node.removeAttribute(attr);
2903}
2904catch(e){
2905}
2906return null;
2907},updateNodeAttributes:function(node,_314){
2908var elem=node;
2909var self=MochiKit.DOM;
2910if(typeof (node)=="string"){
2911elem=self.getElement(node);
2912}
2913if(_314){
2914var _317=MochiKit.Base.updatetree;
2915if(self.attributeArray.compliant){
2916for(var k in _314){
2917var v=_314[k];
2918if(typeof (v)=="object"&&typeof (elem[k])=="object"){
2919if(k=="style"&&MochiKit.Style){
2920MochiKit.Style.setStyle(elem,v);
2921}else{
2922_317(elem[k],v);
2923}
2924}else{
2925if(k.substring(0,2)=="on"){
2926if(typeof (v)=="string"){
2927v=new Function(v);
2928}
2929elem[k]=v;
2930}else{
2931elem.setAttribute(k,v);
2932}
2933}
2934}
2935}else{
2936var _31a=self.attributeArray.renames;
2937for(var k in _314){
2938v=_314[k];
2939var _31b=_31a[k];
2940if(k=="style"&&typeof (v)=="string"){
2941elem.style.cssText=v;
2942}else{
2943if(typeof (_31b)=="string"){
2944elem[_31b]=v;
2945}else{
2946if(typeof (elem[k])=="object"&&typeof (v)=="object"){
2947if(k=="style"&&MochiKit.Style){
2948MochiKit.Style.setStyle(elem,v);
2949}else{
2950_317(elem[k],v);
2951}
2952}else{
2953if(k.substring(0,2)=="on"){
2954if(typeof (v)=="string"){
2955v=new Function(v);
2956}
2957elem[k]=v;
2958}else{
2959elem.setAttribute(k,v);
2960}
2961}
2962}
2963}
2964}
2965}
2966}
2967return elem;
2968},appendChildNodes:function(node){
2969var elem=node;
2970var self=MochiKit.DOM;
2971if(typeof (node)=="string"){
2972elem=self.getElement(node);
2973}
2974var _31f=[self.coerceToDOM(MochiKit.Base.extend(null,arguments,1),elem)];
2975var _320=MochiKit.Base.concat;
2976while(_31f.length){
2977var n=_31f.shift();
2978if(typeof (n)=="undefined"||n===null){
2979}else{
2980if(typeof (n.nodeType)=="number"){
2981elem.appendChild(n);
2982}else{
2983_31f=_320(n,_31f);
2984}
2985}
2986}
2987return elem;
2988},insertSiblingNodesBefore:function(node){
2989var elem=node;
2990var self=MochiKit.DOM;
2991if(typeof (node)=="string"){
2992elem=self.getElement(node);
2993}
2994var _325=[self.coerceToDOM(MochiKit.Base.extend(null,arguments,1),elem)];
2995var _326=elem.parentNode;
2996var _327=MochiKit.Base.concat;
2997while(_325.length){
2998var n=_325.shift();
2999if(typeof (n)=="undefined"||n===null){
3000}else{
3001if(typeof (n.nodeType)=="number"){
3002_326.insertBefore(n,elem);
3003}else{
3004_325=_327(n,_325);
3005}
3006}
3007}
3008return _326;
3009},insertSiblingNodesAfter:function(node){
3010var elem=node;
3011var self=MochiKit.DOM;
3012if(typeof (node)=="string"){
3013elem=self.getElement(node);
3014}
3015var _32c=[self.coerceToDOM(MochiKit.Base.extend(null,arguments,1),elem)];
3016if(elem.nextSibling){
3017return self.insertSiblingNodesBefore(elem.nextSibling,_32c);
3018}else{
3019return self.appendChildNodes(elem.parentNode,_32c);
3020}
3021},replaceChildNodes:function(node){
3022var elem=node;
3023var self=MochiKit.DOM;
3024if(typeof (node)=="string"){
3025elem=self.getElement(node);
3026arguments[0]=elem;
3027}
3028var _330;
3029while((_330=elem.firstChild)){
3030elem.removeChild(_330);
3031}
3032if(arguments.length<2){
3033return elem;
3034}else{
3035return self.appendChildNodes.apply(this,arguments);
3036}
3037},createDOM:function(name,_332){
3038var elem;
3039var self=MochiKit.DOM;
3040var m=MochiKit.Base;
3041if(typeof (_332)=="string"||typeof (_332)=="number"){
3042var args=m.extend([name,null],arguments,1);
3043return arguments.callee.apply(this,args);
3044}
3045if(typeof (name)=="string"){
3046var _337=self._xhtml;
3047if(_332&&!self.attributeArray.compliant){
3048var _338="";
3049if("name" in _332){
3050_338+=" name=\""+self.escapeHTML(_332.name)+"\"";
3051}
3052if(name=="input"&&"type" in _332){
3053_338+=" type=\""+self.escapeHTML(_332.type)+"\"";
3054}
3055if(_338){
3056name="<"+name+_338+">";
3057_337=false;
3058}
3059}
3060var d=self._document;
3061if(_337&&d===document){
3062elem=d.createElementNS("http://www.w3.org/1999/xhtml",name);
3063}else{
3064elem=d.createElement(name);
3065}
3066}else{
3067elem=name;
3068}
3069if(_332){
3070self.updateNodeAttributes(elem,_332);
3071}
3072if(arguments.length<=2){
3073return elem;
3074}else{
3075var args=m.extend([elem],arguments,2);
3076return self.appendChildNodes.apply(this,args);
3077}
3078},createDOMFunc:function(){
3079var m=MochiKit.Base;
3080return m.partial.apply(this,m.extend([MochiKit.DOM.createDOM],arguments));
3081},removeElement:function(elem){
3082var e=MochiKit.DOM.getElement(elem);
3083e.parentNode.removeChild(e);
3084return e;
3085},swapDOM:function(dest,src){
3086var self=MochiKit.DOM;
3087dest=self.getElement(dest);
3088var _340=dest.parentNode;
3089if(src){
3090src=self.getElement(src);
3091_340.replaceChild(src,dest);
3092}else{
3093_340.removeChild(dest);
3094}
3095return src;
3096},getElement:function(id){
3097var self=MochiKit.DOM;
3098if(arguments.length==1){
3099return ((typeof (id)=="string")?self._document.getElementById(id):id);
3100}else{
3101return MochiKit.Base.map(self.getElement,arguments);
3102}
3103},getElementsByTagAndClassName:function(_343,_344,_345){
3104var self=MochiKit.DOM;
3105if(typeof (_343)=="undefined"||_343===null){
3106_343="*";
3107}
3108if(typeof (_345)=="undefined"||_345===null){
3109_345=self._document;
3110}
3111_345=self.getElement(_345);
3112var _347=(_345.getElementsByTagName(_343)||self._document.all);
3113if(typeof (_344)=="undefined"||_344===null){
3114return MochiKit.Base.extend(null,_347);
3115}
3116var _348=[];
3117for(var i=0;i<_347.length;i++){
3118var _34a=_347[i];
3119var cls=_34a.className;
3120if(!cls){
3121continue;
3122}
3123var _34c=cls.split(" ");
3124for(var j=0;j<_34c.length;j++){
3125if(_34c[j]==_344){
3126_348.push(_34a);
3127break;
3128}
3129}
3130}
3131return _348;
3132},_newCallStack:function(path,once){
3133var rval=function(){
3134var _351=arguments.callee.callStack;
3135for(var i=0;i<_351.length;i++){
3136if(_351[i].apply(this,arguments)===false){
3137break;
3138}
3139}
3140if(once){
3141try{
3142this[path]=null;
3143}
3144catch(e){
3145}
3146}
3147};
3148rval.callStack=[];
3149return rval;
3150},addToCallStack:function(_353,path,func,once){
3151var self=MochiKit.DOM;
3152var _358=_353[path];
3153var _359=_358;
3154if(!(typeof (_358)=="function"&&typeof (_358.callStack)=="object"&&_358.callStack!==null)){
3155_359=self._newCallStack(path,once);
3156if(typeof (_358)=="function"){
3157_359.callStack.push(_358);
3158}
3159_353[path]=_359;
3160}
3161_359.callStack.push(func);
3162},addLoadEvent:function(func){
3163var self=MochiKit.DOM;
3164self.addToCallStack(self._window,"onload",func,true);
3165},focusOnLoad:function(_35c){
3166var self=MochiKit.DOM;
3167self.addLoadEvent(function(){
3168_35c=self.getElement(_35c);
3169if(_35c){
3170_35c.focus();
3171}
3172});
3173},setElementClass:function(_35e,_35f){
3174var self=MochiKit.DOM;
3175var obj=self.getElement(_35e);
3176if(self.attributeArray.compliant){
3177obj.setAttribute("class",_35f);
3178}else{
3179obj.setAttribute("className",_35f);
3180}
3181},toggleElementClass:function(_362){
3182var self=MochiKit.DOM;
3183for(var i=1;i<arguments.length;i++){
3184var obj=self.getElement(arguments[i]);
3185if(!self.addElementClass(obj,_362)){
3186self.removeElementClass(obj,_362);
3187}
3188}
3189},addElementClass:function(_366,_367){
3190var self=MochiKit.DOM;
3191var obj=self.getElement(_366);
3192var cls=obj.className;
3193if(cls==undefined||cls.length===0){
3194self.setElementClass(obj,_367);
3195return true;
3196}
3197if(cls==_367){
3198return false;
3199}
3200var _36b=cls.split(" ");
3201for(var i=0;i<_36b.length;i++){
3202if(_36b[i]==_367){
3203return false;
3204}
3205}
3206self.setElementClass(obj,cls+" "+_367);
3207return true;
3208},removeElementClass:function(_36d,_36e){
3209var self=MochiKit.DOM;
3210var obj=self.getElement(_36d);
3211var cls=obj.className;
3212if(cls==undefined||cls.length===0){
3213return false;
3214}
3215if(cls==_36e){
3216self.setElementClass(obj,"");
3217return true;
3218}
3219var _372=cls.split(" ");
3220for(var i=0;i<_372.length;i++){
3221if(_372[i]==_36e){
3222_372.splice(i,1);
3223self.setElementClass(obj,_372.join(" "));
3224return true;
3225}
3226}
3227return false;
3228},swapElementClass:function(_374,_375,_376){
3229var obj=MochiKit.DOM.getElement(_374);
3230var res=MochiKit.DOM.removeElementClass(obj,_375);
3231if(res){
3232MochiKit.DOM.addElementClass(obj,_376);
3233}
3234return res;
3235},hasElementClass:function(_379,_37a){
3236var obj=MochiKit.DOM.getElement(_379);
3237var cls=obj.className;
3238if(!cls){
3239return false;
3240}
3241var _37d=cls.split(" ");
3242for(var i=1;i<arguments.length;i++){
3243var good=false;
3244for(var j=0;j<_37d.length;j++){
3245if(_37d[j]==arguments[i]){
3246good=true;
3247break;
3248}
3249}
3250if(!good){
3251return false;
3252}
3253}
3254return true;
3255},escapeHTML:function(s){
3256return s.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");
3257},toHTML:function(dom){
3258return MochiKit.DOM.emitHTML(dom).join("");
3259},emitHTML:function(dom,lst){
3260if(typeof (lst)=="undefined"||lst===null){
3261lst=[];
3262}
3263var _385=[dom];
3264var self=MochiKit.DOM;
3265var _387=self.escapeHTML;
3266var _388=self.attributeArray;
3267while(_385.length){
3268dom=_385.pop();
3269if(typeof (dom)=="string"){
3270lst.push(dom);
3271}else{
3272if(dom.nodeType==1){
3273lst.push("<"+dom.tagName.toLowerCase());
3274var _389=[];
3275var _38a=_388(dom);
3276for(var i=0;i<_38a.length;i++){
3277var a=_38a[i];
3278_389.push([" ",a.name,"=\"",_387(a.value),"\""]);
3279}
3280_389.sort();
3281for(i=0;i<_389.length;i++){
3282var _38d=_389[i];
3283for(var j=0;j<_38d.length;j++){
3284lst.push(_38d[j]);
3285}
3286}
3287if(dom.hasChildNodes()){
3288lst.push(">");
3289_385.push("</"+dom.tagName.toLowerCase()+">");
3290var _38f=dom.childNodes;
3291for(i=_38f.length-1;i>=0;i--){
3292_385.push(_38f[i]);
3293}
3294}else{
3295lst.push("/>");
3296}
3297}else{
3298if(dom.nodeType==3){
3299lst.push(_387(dom.nodeValue));
3300}
3301}
3302}
3303}
3304return lst;
3305},scrapeText:function(node,_391){
3306var rval=[];
3307(function(node){
3308var cn=node.childNodes;
3309if(cn){
3310for(var i=0;i<cn.length;i++){
3311arguments.callee.call(this,cn[i]);
3312}
3313}
3314var _396=node.nodeValue;
3315if(typeof (_396)=="string"){
3316rval.push(_396);
3317}
3318})(MochiKit.DOM.getElement(node));
3319if(_391){
3320return rval;
3321}else{
3322return rval.join("");
3323}
3324},removeEmptyTextNodes:function(_397){
3325_397=MochiKit.DOM.getElement(_397);
3326for(var i=0;i<_397.childNodes.length;i++){
3327var node=_397.childNodes[i];
3328if(node.nodeType==3&&!/\S/.test(node.nodeValue)){
3329node.parentNode.removeChild(node);
3330}
3331}
3332},makeClipping:function(_39a){
3333_39a=MochiKit.DOM.getElement(_39a);
3334var _39b=_39a.style.overflow;
3335if((MochiKit.Style.getStyle(_39a,"overflow")||"visible")!="hidden"){
3336_39a.style.overflow="hidden";
3337}
3338return _39b;
3339},undoClipping:function(_39c,_39d){
3340_39c=MochiKit.DOM.getElement(_39c);
3341if(!_39d){
3342return;
3343}
3344_39c.style.overflow=_39d;
3345},makePositioned:function(_39e){
3346_39e=MochiKit.DOM.getElement(_39e);
3347var pos=MochiKit.Style.getStyle(_39e,"position");
3348if(pos=="static"||!pos){
3349_39e.style.position="relative";
3350if(/Opera/.test(navigator.userAgent)){
3351_39e.style.top=0;
3352_39e.style.left=0;
3353}
3354}
3355},undoPositioned:function(_3a0){
3356_3a0=MochiKit.DOM.getElement(_3a0);
3357if(_3a0.style.position=="relative"){
3358_3a0.style.position=_3a0.style.top=_3a0.style.left=_3a0.style.bottom=_3a0.style.right="";
3359}
3360},getFirstElementByTagAndClassName:function(_3a1,_3a2,_3a3){
3361var self=MochiKit.DOM;
3362if(typeof (_3a1)=="undefined"||_3a1===null){
3363_3a1="*";
3364}
3365if(typeof (_3a3)=="undefined"||_3a3===null){
3366_3a3=self._document;
3367}
3368_3a3=self.getElement(_3a3);
3369var _3a5=(_3a3.getElementsByTagName(_3a1)||self._document.all);
3370if(typeof (_3a2)=="undefined"||_3a2===null){
3371return _3a5[0];
3372}
3373for(var i=0;i<_3a5.length;i++){
3374var _3a7=_3a5[i];
3375var _3a8=_3a7.className.split(" ");
3376for(var j=0;j<_3a8.length;j++){
3377if(_3a8[j]==_3a2){
3378return _3a7;
3379}
3380}
3381}
3382},getFirstParentByTagAndClassName:function(elem,_3ab,_3ac){
3383var self=MochiKit.DOM;
3384elem=self.getElement(elem);
3385if(typeof (_3ab)=="undefined"||_3ab===null){
3386_3ab="*";
3387}else{
3388_3ab=_3ab.toUpperCase();
3389}
3390if(typeof (_3ac)=="undefined"||_3ac===null){
3391_3ac=null;
3392}
3393var _3ae="";
3394var _3af="";
3395while(elem&&elem.tagName){
3396elem=elem.parentNode;
3397if(_3ab=="*"&&_3ac===null){
3398return elem;
3399}
3400_3ae=elem.className.split(" ");
3401_3af=elem.tagName.toUpperCase();
3402if(_3ac===null&&_3ab==_3af){
3403return elem;
3404}else{
3405if(_3ac!==null){
3406for(var i=0;i<_3ae.length;i++){
3407if(_3ab=="*"&&_3ae[i]==_3ac){
3408return elem;
3409}else{
3410if(_3ab==_3af&&_3ae[i]==_3ac){
3411return elem;
3412}
3413}
3414}
3415}
3416}
3417}
3418return elem;
3419},isParent:function(_3b1,_3b2){
3420if(!_3b1.parentNode||_3b1==_3b2){
3421return false;
3422}
3423if(_3b1.parentNode==_3b2){
3424return true;
3425}
3426return MochiKit.DOM.isParent(_3b1.parentNode,_3b2);
3427},__new__:function(win){
3428var m=MochiKit.Base;
3429if(typeof (document)!="undefined"){
3430this._document=document;
3431var _3b5="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
3432this._xhtml=(document.documentElement&&document.createElementNS&&document.documentElement.namespaceURI===_3b5);
3433}else{
3434if(MochiKit.MockDOM){
3435this._document=MochiKit.MockDOM.document;
3436}
3437}
3438this._window=win;
3439this.domConverters=new m.AdapterRegistry();
3440var _3b6=this._document.createElement("span");
3441var _3b7;
3442if(_3b6&&_3b6.attributes&&_3b6.attributes.length>0){
3443var _3b8=m.filter;
3444_3b7=function(node){
3445return _3b8(_3b7.ignoreAttrFilter,node.attributes);
3446};
3447_3b7.ignoreAttr={};
3448var _3ba=_3b6.attributes;
3449var _3bb=_3b7.ignoreAttr;
3450for(var i=0;i<_3ba.length;i++){
3451var a=_3ba[i];
3452_3bb[a.name]=a.value;
3453}
3454_3b7.ignoreAttrFilter=function(a){
3455return (_3b7.ignoreAttr[a.name]!=a.value);
3456};
3457_3b7.compliant=false;
3458_3b7.renames={"class":"className","checked":"defaultChecked","usemap":"useMap","for":"htmlFor","readonly":"readOnly","colspan":"colSpan","bgcolor":"bgColor","cellspacing":"cellSpacing","cellpadding":"cellPadding"};
3459}else{
3460_3b7=function(node){
3461return node.attributes;
3462};
3463_3b7.compliant=true;
3464_3b7.renames={};
3465}
3466this.attributeArray=_3b7;
3467var _3c0=function(_3c1,arr){
3468var _3c3=arr[1].split(".");
3469var str="";
3470var obj={};
3471str+="if (!MochiKit."+_3c3[1]+") { throw new Error(\"";
3472str+="This function has been deprecated and depends on MochiKit.";
3473str+=_3c3[1]+".\");}";
3474str+="return MochiKit."+_3c3[1]+"."+arr[0];
3475str+=".apply(this, arguments);";
3476obj[_3c3[2]]=new Function(str);
3477MochiKit.Base.update(MochiKit[_3c1],obj);
3478};
3479for(var i;i<MochiKit.DOM.DEPRECATED.length;i++){
3480_3c0("DOM",MochiKit.DOM.DEPRECATED[i]);
3481}
3482var _3c6=this.createDOMFunc;
3483this.UL=_3c6("ul");
3484this.OL=_3c6("ol");
3485this.LI=_3c6("li");
3486this.TD=_3c6("td");
3487this.TR=_3c6("tr");
3488this.TBODY=_3c6("tbody");
3489this.THEAD=_3c6("thead");
3490this.TFOOT=_3c6("tfoot");
3491this.TABLE=_3c6("table");
3492this.TH=_3c6("th");
3493this.INPUT=_3c6("input");
3494this.SPAN=_3c6("span");
3495this.A=_3c6("a");
3496this.DIV=_3c6("div");
3497this.IMG=_3c6("img");
3498this.BUTTON=_3c6("button");
3499this.TT=_3c6("tt");
3500this.PRE=_3c6("pre");
3501this.H1=_3c6("h1");
3502this.H2=_3c6("h2");
3503this.H3=_3c6("h3");
3504this.BR=_3c6("br");
3505this.HR=_3c6("hr");
3506this.LABEL=_3c6("label");
3507this.TEXTAREA=_3c6("textarea");
3508this.FORM=_3c6("form");
3509this.P=_3c6("p");
3510this.SELECT=_3c6("select");
3511this.OPTION=_3c6("option");
3512this.OPTGROUP=_3c6("optgroup");
3513this.LEGEND=_3c6("legend");
3514this.FIELDSET=_3c6("fieldset");
3515this.STRONG=_3c6("strong");
3516this.CANVAS=_3c6("canvas");
3517this.$=this.getElement;
3518this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};
3519m.nameFunctions(this);
3520}});
3521MochiKit.DOM.__new__(((typeof (window)=="undefined")?this:window));
3522if(MochiKit.__export__){
3523withWindow=MochiKit.DOM.withWindow;
3524withDocument=MochiKit.DOM.withDocument;
3525}
3526MochiKit.Base._exportSymbols(this,MochiKit.DOM);
3527if(typeof (dojo)!="undefined"){
3528dojo.provide("MochiKit.Selector");
3529dojo.require("MochiKit.Base");
3530dojo.require("MochiKit.DOM");
3531dojo.require("MochiKit.Iter");
3532}
3533if(typeof (JSAN)!="undefined"){
3534JSAN.use("MochiKit.Base",[]);
3535JSAN.use("MochiKit.DOM",[]);
3536JSAN.use("MochiKit.Iter",[]);
3537}
3538try{
3539if(typeof (MochiKit.Base)==="undefined"||typeof (MochiKit.DOM)==="undefined"||typeof (MochiKit.Iter)==="undefined"){
3540throw "";
3541}
3542}
3543catch(e){
3544throw "MochiKit.Selector depends on MochiKit.Base, MochiKit.DOM and MochiKit.Iter!";
3545}
3546if(typeof (MochiKit.Selector)=="undefined"){
3547MochiKit.Selector={};
3548}
3549MochiKit.Selector.NAME="MochiKit.Selector";
3550MochiKit.Selector.VERSION="1.4";
3551MochiKit.Selector.__repr__=function(){
3552return "["+this.NAME+" "+this.VERSION+"]";
3553};
3554MochiKit.Selector.toString=function(){
3555return this.__repr__();
3556};
3557MochiKit.Selector.EXPORT=["Selector","findChildElements","findDocElements","$$"];
3558MochiKit.Selector.EXPORT_OK=[];
3559MochiKit.Selector.Selector=function(_3c7){
3560this.params={classNames:[],pseudoClassNames:[]};
3561this.expression=_3c7.toString().replace(/(^\s+|\s+$)/g,"");
3562this.parseExpression();
3563this.compileMatcher();
3564};
3565MochiKit.Selector.Selector.prototype={__class__:MochiKit.Selector.Selector,parseExpression:function(){
3566function abort(_3c8){
3567throw "Parse error in selector: "+_3c8;
3568}
3569if(this.expression==""){
3570abort("empty expression");
3571}
3572var repr=MochiKit.Base.repr;
3573var _3ca=this.params;
3574var expr=this.expression;
3575var _3cc,_3cd,_3ce,rest;
3576while(_3cc=expr.match(/^(.*)\[([a-z0-9_:-]+?)(?:([~\|!^$*]?=)(?:"([^"]*)"|([^\]\s]*)))?\]$/i)){
3577_3ca.attributes=_3ca.attributes||[];
3578_3ca.attributes.push({name:_3cc[2],operator:_3cc[3],value:_3cc[4]||_3cc[5]||""});
3579expr=_3cc[1];
3580}
3581if(expr=="*"){
3582return this.params.wildcard=true;
3583}
3584while(_3cc=expr.match(/^([^a-z0-9_-])?([a-z0-9_-]+(?:\([^)]*\))?)(.*)/i)){
3585_3cd=_3cc[1];
3586_3ce=_3cc[2];
3587rest=_3cc[3];
3588switch(_3cd){
3589case "#":
3590_3ca.id=_3ce;
3591break;
3592case ".":
3593_3ca.classNames.push(_3ce);
3594break;
3595case ":":
3596_3ca.pseudoClassNames.push(_3ce);
3597break;
3598case "":
3599case undefined:
3600_3ca.tagName=_3ce.toUpperCase();
3601break;
3602default:
3603abort(repr(expr));
3604}
3605expr=rest;
3606}
3607if(expr.length>0){
3608abort(repr(expr));
3609}
3610},buildMatchExpression:function(){
3611var repr=MochiKit.Base.repr;
3612var _3d1=this.params;
3613var _3d2=[];
3614var _3d3,i;
3615function childElements(_3d5){
3616return "MochiKit.Base.filter(function (node) { return node.nodeType == 1; }, "+_3d5+".childNodes)";
3617}
3618if(_3d1.wildcard){
3619_3d2.push("true");
3620}
3621if(_3d3=_3d1.id){
3622_3d2.push("element.id == "+repr(_3d3));
3623}
3624if(_3d3=_3d1.tagName){
3625_3d2.push("element.tagName.toUpperCase() == "+repr(_3d3));
3626}
3627if((_3d3=_3d1.classNames).length>0){
3628for(i=0;i<_3d3.length;i++){
3629_3d2.push("MochiKit.DOM.hasElementClass(element, "+repr(_3d3[i])+")");
3630}
3631}
3632if((_3d3=_3d1.pseudoClassNames).length>0){
3633for(i=0;i<_3d3.length;i++){
3634var _3d6=_3d3[i].match(/^([^(]+)(?:\((.*)\))?$/);
3635var _3d7=_3d6[1];
3636var _3d8=_3d6[2];
3637switch(_3d7){
3638case "root":
3639_3d2.push("element.nodeType == 9 || element === element.ownerDocument.documentElement");
3640break;
3641case "nth-child":
3642case "nth-last-child":
3643case "nth-of-type":
3644case "nth-last-of-type":
3645_3d6=_3d8.match(/^((?:(\d+)n\+)?(\d+)|odd|even)$/);
3646if(!_3d6){
3647throw "Invalid argument to pseudo element nth-child: "+_3d8;
3648}
3649var a,b;
3650if(_3d6[0]=="odd"){
3651a=2;
3652b=1;
3653}else{
3654if(_3d6[0]=="even"){
3655a=2;
3656b=0;
3657}else{
3658a=_3d6[2]&&parseInt(_3d6)||null;
3659b=parseInt(_3d6[3]);
3660}
3661}
3662_3d2.push("this.nthChild(element,"+a+","+b+","+!!_3d7.match("^nth-last")+","+!!_3d7.match("of-type$")+")");
3663break;
3664case "first-child":
3665_3d2.push("this.nthChild(element, null, 1)");
3666break;
3667case "last-child":
3668_3d2.push("this.nthChild(element, null, 1, true)");
3669break;
3670case "first-of-type":
3671_3d2.push("this.nthChild(element, null, 1, false, true)");
3672break;
3673case "last-of-type":
3674_3d2.push("this.nthChild(element, null, 1, true, true)");
3675break;
3676case "only-child":
3677_3d2.push(childElements("element.parentNode")+".length == 1");
3678break;
3679case "only-of-type":
3680_3d2.push("MochiKit.Base.filter(function (node) { return node.tagName == element.tagName; }, "+childElements("element.parentNode")+").length == 1");
3681break;
3682case "empty":
3683_3d2.push("element.childNodes.length == 0");
3684break;
3685case "enabled":
3686_3d2.push("(this.isUIElement(element) && element.disabled === false)");
3687break;
3688case "disabled":
3689_3d2.push("(this.isUIElement(element) && element.disabled === true)");
3690break;
3691case "checked":
3692_3d2.push("(this.isUIElement(element) && element.checked === true)");
3693break;
3694case "not":
3695var _3db=new MochiKit.Selector.Selector(_3d8);
3696_3d2.push("!( "+_3db.buildMatchExpression()+")");
3697break;
3698}
3699}
3700}
3701if(_3d3=_3d1.attributes){
3702MochiKit.Base.map(function(_3dc){
3703var _3dd="MochiKit.DOM.getNodeAttribute(element, "+repr(_3dc.name)+")";
3704var _3de=function(_3df){
3705return _3dd+".split("+repr(_3df)+")";
3706};
3707switch(_3dc.operator){
3708case "=":
3709_3d2.push(_3dd+" == "+repr(_3dc.value));
3710break;
3711case "~=":
3712_3d2.push(_3dd+" && MochiKit.Base.findValue("+_3de(" ")+", "+repr(_3dc.value)+") > -1");
3713break;
3714case "^=":
3715_3d2.push(_3dd+".substring(0, "+_3dc.value.length+") == "+repr(_3dc.value));
3716break;
3717case "$=":
3718_3d2.push(_3dd+".substring("+_3dd+".length - "+_3dc.value.length+") == "+repr(_3dc.value));
3719break;
3720case "*=":
3721_3d2.push(_3dd+".match("+repr(_3dc.value)+")");
3722break;
3723case "|=":
3724_3d2.push(_3dd+" && "+_3de("-")+"[0].toUpperCase() == "+repr(_3dc.value.toUpperCase()));
3725break;
3726case "!=":
3727_3d2.push(_3dd+" != "+repr(_3dc.value));
3728break;
3729case "":
3730case undefined:
3731_3d2.push(_3dd+" != null");
3732break;
3733default:
3734throw "Unknown operator "+_3dc.operator+" in selector";
3735}
3736},_3d3);
3737}
3738return _3d2.join(" && ");
3739},compileMatcher:function(){
3740this.match=new Function("element","if (!element.tagName) return false; return "+this.buildMatchExpression());
3741},nthChild:function(_3e0,a,b,_3e3,_3e4){
3742var _3e5=MochiKit.Base.filter(function(node){
3743return node.nodeType==1;
3744},_3e0.parentNode.childNodes);
3745if(_3e4){
3746_3e5=MochiKit.Base.filter(function(node){
3747return node.tagName==_3e0.tagName;
3748},_3e5);
3749}
3750if(_3e3){
3751_3e5=MochiKit.Iter.reversed(_3e5);
3752}
3753if(a){
3754var _3e8=MochiKit.Base.findIdentical(_3e5,_3e0);
3755return ((_3e8+1-b)/a)%1==0;
3756}else{
3757return b==MochiKit.Base.findIdentical(_3e5,_3e0)+1;
3758}
3759},isUIElement:function(_3e9){
3760return MochiKit.Base.findValue(["input","button","select","option","textarea","object"],_3e9.tagName.toLowerCase())>-1;
3761},findElements:function(_3ea,axis){
3762var _3ec;
3763if(axis==undefined){
3764axis="";
3765}
3766function inScope(_3ed,_3ee){
3767if(axis==""){
3768return MochiKit.DOM.isChildNode(_3ed,_3ee);
3769}else{
3770if(axis==">"){
3771return _3ed.parentNode==_3ee;
3772}else{
3773if(axis=="+"){
3774return _3ed==nextSiblingElement(_3ee);
3775}else{
3776if(axis=="~"){
3777var _3ef=_3ee;
3778while(_3ef=nextSiblingElement(_3ef)){
3779if(_3ed==_3ef){
3780return true;
3781}
3782}
3783return false;
3784}else{
3785throw "Invalid axis: "+axis;
3786}
3787}
3788}
3789}
3790}
3791if(_3ec=MochiKit.DOM.getElement(this.params.id)){
3792if(this.match(_3ec)){
3793if(!_3ea||inScope(_3ec,_3ea)){
3794return [_3ec];
3795}
3796}
3797}
3798function nextSiblingElement(node){
3799node=node.nextSibling;
3800while(node&&node.nodeType!=1){
3801node=node.nextSibling;
3802}
3803return node;
3804}
3805if(axis==""){
3806_3ea=(_3ea||MochiKit.DOM.currentDocument()).getElementsByTagName(this.params.tagName||"*");
3807}else{
3808if(axis==">"){
3809if(!_3ea){
3810throw "> combinator not allowed without preceeding expression";
3811}
3812_3ea=MochiKit.Base.filter(function(node){
3813return node.nodeType==1;
3814},_3ea.childNodes);
3815}else{
3816if(axis=="+"){
3817if(!_3ea){
3818throw "+ combinator not allowed without preceeding expression";
3819}
3820_3ea=nextSiblingElement(_3ea)&&[nextSiblingElement(_3ea)];
3821}else{
3822if(axis=="~"){
3823if(!_3ea){
3824throw "~ combinator not allowed without preceeding expression";
3825}
3826var _3f2=[];
3827while(nextSiblingElement(_3ea)){
3828_3ea=nextSiblingElement(_3ea);
3829_3f2.push(_3ea);
3830}
3831_3ea=_3f2;
3832}
3833}
3834}
3835}
3836if(!_3ea){
3837return [];
3838}
3839var _3f3=MochiKit.Base.filter(MochiKit.Base.bind(function(_3f4){
3840return this.match(_3f4);
3841},this),_3ea);
3842return _3f3;
3843},repr:function(){
3844return "Selector("+this.expression+")";
3845},toString:MochiKit.Base.forwardCall("repr")};
3846MochiKit.Base.update(MochiKit.Selector,{findChildElements:function(_3f5,_3f6){
3847return MochiKit.Base.flattenArray(MochiKit.Base.map(function(_3f7){
3848var _3f8="";
3849return MochiKit.Iter.reduce(function(_3f9,expr){
3850if(match=expr.match(/^[>+~]$/)){
3851_3f8=match[0];
3852return _3f9;
3853}else{
3854var _3fb=new MochiKit.Selector.Selector(expr);
3855var _3fc=MochiKit.Iter.reduce(function(_3fd,_3fe){
3856return MochiKit.Base.extend(_3fd,_3fb.findElements(_3fe||_3f5,_3f8));
3857},_3f9,[]);
3858_3f8="";
3859return _3fc;
3860}
3861},_3f7.replace(/(^\s+|\s+$)/g,"").split(/\s+/),[null]);
3862},_3f6));
3863},findDocElements:function(){
3864return MochiKit.Selector.findChildElements(MochiKit.DOM.currentDocument(),arguments);
3865},__new__:function(){
3866var m=MochiKit.Base;
3867this.$$=this.findDocElements;
3868this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};
3869m.nameFunctions(this);
3870}});
3871MochiKit.Selector.__new__();
3872MochiKit.Base._exportSymbols(this,MochiKit.Selector);
3873if(typeof (dojo)!="undefined"){
3874dojo.provide("MochiKit.Style");
3875dojo.require("MochiKit.Base");
3876dojo.require("MochiKit.DOM");
3877}
3878if(typeof (JSAN)!="undefined"){
3879JSAN.use("MochiKit.Base",[]);
3880JSAN.use("MochiKit.DOM",[]);
3881}
3882try{
3883if(typeof (MochiKit.Base)=="undefined"){
3884throw "";
3885}
3886}
3887catch(e){
3888throw "MochiKit.Style depends on MochiKit.Base!";
3889}
3890try{
3891if(typeof (MochiKit.DOM)=="undefined"){
3892throw "";
3893}
3894}
3895catch(e){
3896throw "MochiKit.Style depends on MochiKit.DOM!";
3897}
3898if(typeof (MochiKit.Style)=="undefined"){
3899MochiKit.Style={};
3900}
3901MochiKit.Style.NAME="MochiKit.Style";
3902MochiKit.Style.VERSION="1.4";
3903MochiKit.Style.__repr__=function(){
3904return "["+this.NAME+" "+this.VERSION+"]";
3905};
3906MochiKit.Style.toString=function(){
3907return this.__repr__();
3908};
3909MochiKit.Style.EXPORT_OK=[];
3910MochiKit.Style.EXPORT=["setStyle","setOpacity","getStyle","getElementDimensions","elementDimensions","setElementDimensions","getElementPosition","elementPosition","setElementPosition","setDisplayForElement","hideElement","showElement","getViewportDimensions","getViewportPosition","Dimensions","Coordinates"];
3911MochiKit.Style.Dimensions=function(w,h){
3912this.w=w;
3913this.h=h;
3914};
3915MochiKit.Style.Dimensions.prototype.__repr__=function(){
3916var repr=MochiKit.Base.repr;
3917return "{w: "+repr(this.w)+", h: "+repr(this.h)+"}";
3918};
3919MochiKit.Style.Dimensions.prototype.toString=function(){
3920return this.__repr__();
3921};
3922MochiKit.Style.Coordinates=function(x,y){
3923this.x=x;
3924this.y=y;
3925};
3926MochiKit.Style.Coordinates.prototype.__repr__=function(){
3927var repr=MochiKit.Base.repr;
3928return "{x: "+repr(this.x)+", y: "+repr(this.y)+"}";
3929};
3930MochiKit.Style.Coordinates.prototype.toString=function(){
3931return this.__repr__();
3932};
3933MochiKit.Base.update(MochiKit.Style,{getStyle:function(elem,_407){
3934var dom=MochiKit.DOM;
3935var d=dom._document;
3936elem=dom.getElement(elem);
3937_407=MochiKit.Base.camelize(_407);
3938if(!elem||elem==d){
3939return undefined;
3940}
3941if(_407=="opacity"&&elem.filters){
3942var _40a=(MochiKit.Style.getStyle(elem,"filter")||"").match(/alpha\(opacity=(.*)\)/);
3943if(_40a&&_40a[1]){
3944return parseFloat(_40a[1])/100;
3945}
3946return 1;
3947}
3948var _40b=elem.style?elem.style[_407]:null;
3949if(!_40b){
3950if(d.defaultView&&d.defaultView.getComputedStyle){
3951var css=d.defaultView.getComputedStyle(elem,null);
3952_407=_407.replace(/([A-Z])/g,"-$1").toLowerCase();
3953_40b=css?css.getPropertyValue(_407):null;
3954}else{
3955if(elem.currentStyle){
3956_40b=elem.currentStyle[_407];
3957}
3958}
3959}
3960if(_407=="opacity"){
3961_40b=parseFloat(_40b);
3962}
3963if(/Opera/.test(navigator.userAgent)&&(MochiKit.Base.find(["left","top","right","bottom"],_407)!=-1)){
3964if(MochiKit.Style.getStyle(elem,"position")=="static"){
3965_40b="auto";
3966}
3967}
3968return _40b=="auto"?null:_40b;
3969},setStyle:function(elem,_40e){
3970elem=MochiKit.DOM.getElement(elem);
3971for(var name in _40e){
3972if(name=="opacity"){
3973MochiKit.Style.setOpacity(elem,_40e[name]);
3974}else{
3975elem.style[MochiKit.Base.camelize(name)]=_40e[name];
3976}
3977}
3978},setOpacity:function(elem,o){
3979elem=MochiKit.DOM.getElement(elem);
3980var self=MochiKit.Style;
3981if(o==1){
3982var _413=/Gecko/.test(navigator.userAgent)&&!(/Konqueror|AppleWebKit|KHTML/.test(navigator.userAgent));
3983elem.style["opacity"]=_413?0.999999:1;
3984if(/MSIE/.test(navigator.userAgent)){
3985elem.style["filter"]=self.getStyle(elem,"filter").replace(/alpha\([^\)]*\)/gi,"");
3986}
3987}else{
3988if(o<0.00001){
3989o=0;
3990}
3991elem.style["opacity"]=o;
3992if(/MSIE/.test(navigator.userAgent)){
3993elem.style["filter"]=self.getStyle(elem,"filter").replace(/alpha\([^\)]*\)/gi,"")+"alpha(opacity="+o*100+")";
3994}
3995}
3996},getElementPosition:function(elem,_415){
3997var self=MochiKit.Style;
3998var dom=MochiKit.DOM;
3999elem=dom.getElement(elem);
4000if(!elem||(!(elem.x&&elem.y)&&(!elem.parentNode===null||self.getStyle(elem,"display")=="none"))){
4001return undefined;
4002}
4003var c=new self.Coordinates(0,0);
4004var box=null;
4005var _41a=null;
4006var d=MochiKit.DOM._document;
4007var de=d.documentElement;
4008var b=d.body;
4009if(!elem.parentNode&&elem.x&&elem.y){
4010c.x+=elem.x||0;
4011c.y+=elem.y||0;
4012}else{
4013if(elem.getBoundingClientRect){
4014box=elem.getBoundingClientRect();
4015c.x+=box.left+(de.scrollLeft||b.scrollLeft)-(de.clientLeft||0);
4016c.y+=box.top+(de.scrollTop||b.scrollTop)-(de.clientTop||0);
4017}else{
4018if(elem.offsetParent){
4019c.x+=elem.offsetLeft;
4020c.y+=elem.offsetTop;
4021_41a=elem.offsetParent;
4022if(_41a!=elem){
4023while(_41a){
4024c.x+=_41a.offsetLeft;
4025c.y+=_41a.offsetTop;
4026_41a=_41a.offsetParent;
4027}
4028}
4029var ua=navigator.userAgent.toLowerCase();
4030if((typeof (opera)!="undefined"&&parseFloat(opera.version())<9)||(ua.indexOf("AppleWebKit")!=-1&&self.getStyle(elem,"position")=="absolute")){
4031c.x-=b.offsetLeft;
4032c.y-=b.offsetTop;
4033}
4034}
4035}
4036}
4037if(typeof (_415)!="undefined"){
4038_415=arguments.callee(_415);
4039if(_415){
4040c.x-=(_415.x||0);
4041c.y-=(_415.y||0);
4042}
4043}
4044if(elem.parentNode){
4045_41a=elem.parentNode;
4046}else{
4047_41a=null;
4048}
4049while(_41a){
4050var _41f=_41a.tagName.toUpperCase();
4051if(_41f==="BODY"||_41f==="HTML"){
4052break;
4053}
4054var disp=self.getStyle(_41a,"display");
4055if(disp!="inline"&&disp!="table-row"){
4056c.x-=_41a.scrollLeft;
4057c.y-=_41a.scrollTop;
4058}
4059if(_41a.parentNode){
4060_41a=_41a.parentNode;
4061}else{
4062_41a=null;
4063}
4064}
4065return c;
4066},setElementPosition:function(elem,_422,_423){
4067elem=MochiKit.DOM.getElement(elem);
4068if(typeof (_423)=="undefined"){
4069_423="px";
4070}
4071var _424={};
4072var _425=MochiKit.Base.isUndefinedOrNull;
4073if(!_425(_422.x)){
4074_424["left"]=_422.x+_423;
4075}
4076if(!_425(_422.y)){
4077_424["top"]=_422.y+_423;
4078}
4079MochiKit.DOM.updateNodeAttributes(elem,{"style":_424});
4080},getElementDimensions:function(elem){
4081var self=MochiKit.Style;
4082var dom=MochiKit.DOM;
4083if(typeof (elem.w)=="number"||typeof (elem.h)=="number"){
4084return new self.Dimensions(elem.w||0,elem.h||0);
4085}
4086elem=dom.getElement(elem);
4087if(!elem){
4088return undefined;
4089}
4090var disp=self.getStyle(elem,"display");
4091if(disp!="none"&&disp!==""&&typeof (disp)!="undefined"){
4092return new self.Dimensions(elem.offsetWidth||0,elem.offsetHeight||0);
4093}
4094var s=elem.style;
4095var _42b=s.visibility;
4096var _42c=s.position;
4097s.visibility="hidden";
4098s.position="absolute";
4099s.display="";
4100var _42d=elem.offsetWidth;
4101var _42e=elem.offsetHeight;
4102s.display="none";
4103s.position=_42c;
4104s.visibility=_42b;
4105return new self.Dimensions(_42d,_42e);
4106},setElementDimensions:function(elem,_430,_431){
4107elem=MochiKit.DOM.getElement(elem);
4108if(typeof (_431)=="undefined"){
4109_431="px";
4110}
4111var _432={};
4112var _433=MochiKit.Base.isUndefinedOrNull;
4113if(!_433(_430.w)){
4114_432["width"]=_430.w+_431;
4115}
4116if(!_433(_430.h)){
4117_432["height"]=_430.h+_431;
4118}
4119MochiKit.DOM.updateNodeAttributes(elem,{"style":_432});
4120},setDisplayForElement:function(_434,_435){
4121var _436=MochiKit.Base.extend(null,arguments,1);
4122var _437=MochiKit.DOM.getElement;
4123for(var i=0;i<_436.length;i++){
4124_435=_437(_436[i]);
4125if(_435){
4126_435.style.display=_434;
4127}
4128}
4129},getViewportDimensions:function(){
4130var d=new MochiKit.Style.Dimensions();
4131var w=MochiKit.DOM._window;
4132var b=MochiKit.DOM._document.body;
4133if(w.innerWidth){
4134d.w=w.innerWidth;
4135d.h=w.innerHeight;
4136}else{
4137if(b.parentElement.clientWidth){
4138d.w=b.parentElement.clientWidth;
4139d.h=b.parentElement.clientHeight;
4140}else{
4141if(b&&b.clientWidth){
4142d.w=b.clientWidth;
4143d.h=b.clientHeight;
4144}
4145}
4146}
4147return d;
4148},getViewportPosition:function(){
4149var c=new MochiKit.Style.Coordinates(0,0);
4150var d=MochiKit.DOM._document;
4151var de=d.documentElement;
4152var db=d.body;
4153if(de&&(de.scrollTop||de.scrollLeft)){
4154c.x=de.scrollLeft;
4155c.y=de.scrollTop;
4156}else{
4157if(db){
4158c.x=db.scrollLeft;
4159c.y=db.scrollTop;
4160}
4161}
4162return c;
4163},__new__:function(){
4164var m=MochiKit.Base;
4165this.elementPosition=this.getElementPosition;
4166this.elementDimensions=this.getElementDimensions;
4167this.hideElement=m.partial(this.setDisplayForElement,"none");
4168this.showElement=m.partial(this.setDisplayForElement,"block");
4169this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};
4170m.nameFunctions(this);
4171}});
4172MochiKit.Style.__new__();
4173MochiKit.Base._exportSymbols(this,MochiKit.Style);
4174if(typeof (dojo)!="undefined"){
4175dojo.provide("MochiKit.LoggingPane");
4176dojo.require("MochiKit.Logging");
4177dojo.require("MochiKit.Base");
4178}
4179if(typeof (JSAN)!="undefined"){
4180JSAN.use("MochiKit.Logging",[]);
4181JSAN.use("MochiKit.Base",[]);
4182}
4183try{
4184if(typeof (MochiKit.Base)=="undefined"||typeof (MochiKit.Logging)=="undefined"){
4185throw "";
4186}
4187}
4188catch(e){
4189throw "MochiKit.LoggingPane depends on MochiKit.Base and MochiKit.Logging!";
4190}
4191if(typeof (MochiKit.LoggingPane)=="undefined"){
4192MochiKit.LoggingPane={};
4193}
4194MochiKit.LoggingPane.NAME="MochiKit.LoggingPane";
4195MochiKit.LoggingPane.VERSION="1.4";
4196MochiKit.LoggingPane.__repr__=function(){
4197return "["+this.NAME+" "+this.VERSION+"]";
4198};
4199MochiKit.LoggingPane.toString=function(){
4200return this.__repr__();
4201};
4202MochiKit.LoggingPane.createLoggingPane=function(_441){
4203var m=MochiKit.LoggingPane;
4204_441=!(!_441);
4205if(m._loggingPane&&m._loggingPane.inline!=_441){
4206m._loggingPane.closePane();
4207m._loggingPane=null;
4208}
4209if(!m._loggingPane||m._loggingPane.closed){
4210m._loggingPane=new m.LoggingPane(_441,MochiKit.Logging.logger);
4211}
4212return m._loggingPane;
4213};
4214MochiKit.LoggingPane.LoggingPane=function(_443,_444){
4215if(typeof (_444)=="undefined"||_444===null){
4216_444=MochiKit.Logging.logger;
4217}
4218this.logger=_444;
4219var _445=MochiKit.Base.update;
4220var _446=MochiKit.Base.updatetree;
4221var bind=MochiKit.Base.bind;
4222var _448=MochiKit.Base.clone;
4223var win=window;
4224var uid="_MochiKit_LoggingPane";
4225if(typeof (MochiKit.DOM)!="undefined"){
4226win=MochiKit.DOM.currentWindow();
4227}
4228if(!_443){
4229var url=win.location.href.split("?")[0].replace(/[#:\/.><&-]/g,"_");
4230var name=uid+"_"+url;
4231var nwin=win.open("",name,"dependent,resizable,height=200");
4232if(!nwin){
4233alert("Not able to open debugging window due to pop-up blocking.");
4234return undefined;
4235}
4236nwin.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>");
4237nwin.document.close();
4238nwin.document.title+=" "+win.document.title;
4239win=nwin;
4240}
4241var doc=win.document;
4242this.doc=doc;
4243var _44f=doc.getElementById(uid);
4244var _450=!!_44f;
4245if(_44f&&typeof (_44f.loggingPane)!="undefined"){
4246_44f.loggingPane.logger=this.logger;
4247_44f.loggingPane.buildAndApplyFilter();
4248return _44f.loggingPane;
4249}
4250if(_450){
4251var _451;
4252while((_451=_44f.firstChild)){
4253_44f.removeChild(_451);
4254}
4255}else{
4256_44f=doc.createElement("div");
4257_44f.id=uid;
4258}
4259_44f.loggingPane=this;
4260var _452=doc.createElement("input");
4261var _453=doc.createElement("input");
4262var _454=doc.createElement("button");
4263var _455=doc.createElement("button");
4264var _456=doc.createElement("button");
4265var _457=doc.createElement("button");
4266var _458=doc.createElement("div");
4267var _459=doc.createElement("div");
4268var _45a=uid+"_Listener";
4269this.colorTable=_448(this.colorTable);
4270var _45b=[];
4271var _45c=null;
4272var _45d=function(msg){
4273var _45f=msg.level;
4274if(typeof (_45f)=="number"){
4275_45f=MochiKit.Logging.LogLevel[_45f];
4276}
4277return _45f;
4278};
4279var _460=function(msg){
4280return msg.info.join(" ");
4281};
4282var _462=bind(function(msg){
4283var _464=_45d(msg);
4284var text=_460(msg);
4285var c=this.colorTable[_464];
4286var p=doc.createElement("span");
4287p.className="MochiKit-LogMessage MochiKit-LogLevel-"+_464;
4288p.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: "+c;
4289p.appendChild(doc.createTextNode(_464+": "+text));
4290_459.appendChild(p);
4291_459.appendChild(doc.createElement("br"));
4292if(_458.offsetHeight>_458.scrollHeight){
4293_458.scrollTop=0;
4294}else{
4295_458.scrollTop=_458.scrollHeight;
4296}
4297},this);
4298var _468=function(msg){
4299_45b[_45b.length]=msg;
4300_462(msg);
4301};
4302var _46a=function(){
4303var _46b,_46c;
4304try{
4305_46b=new RegExp(_452.value);
4306_46c=new RegExp(_453.value);
4307}
4308catch(e){
4309logDebug("Error in filter regex: "+e.message);
4310return null;
4311}
4312return function(msg){
4313return (_46b.test(_45d(msg))&&_46c.test(_460(msg)));
4314};
4315};
4316var _46e=function(){
4317while(_459.firstChild){
4318_459.removeChild(_459.firstChild);
4319}
4320};
4321var _46f=function(){
4322_45b=[];
4323_46e();
4324};
4325var _470=bind(function(){
4326if(this.closed){
4327return;
4328}
4329this.closed=true;
4330if(MochiKit.LoggingPane._loggingPane==this){
4331MochiKit.LoggingPane._loggingPane=null;
4332}
4333this.logger.removeListener(_45a);
4334try{
4335try{
4336_44f.loggingPane=null;
4337}
4338catch(e){
4339logFatal("Bookmarklet was closed incorrectly.");
4340}
4341if(_443){
4342_44f.parentNode.removeChild(_44f);
4343}else{
4344this.win.close();
4345}
4346}
4347catch(e){
4348}
4349},this);
4350var _471=function(){
4351_46e();
4352for(var i=0;i<_45b.length;i++){
4353var msg=_45b[i];
4354if(_45c===null||_45c(msg)){
4355_462(msg);
4356}
4357}
4358};
4359this.buildAndApplyFilter=function(){
4360_45c=_46a();
4361_471();
4362this.logger.removeListener(_45a);
4363this.logger.addListener(_45a,_45c,_468);
4364};
4365var _474=bind(function(){
4366_45b=this.logger.getMessages();
4367_471();
4368},this);
4369var _475=bind(function(_476){
4370_476=_476||window.event;
4371key=_476.which||_476.keyCode;
4372if(key==13){
4373this.buildAndApplyFilter();
4374}
4375},this);
4376var _477="display: block; z-index: 1000; left: 0px; bottom: 0px; position: fixed; width: 100%; background-color: white; font: "+this.logFont;
4377if(_443){
4378_477+="; height: 10em; border-top: 2px solid black";
4379}else{
4380_477+="; height: 100%;";
4381}
4382_44f.style.cssText=_477;
4383if(!_450){
4384doc.body.appendChild(_44f);
4385}
4386_477={"cssText":"width: 33%; display: inline; font: "+this.logFont};
4387_446(_452,{"value":"FATAL|ERROR|WARNING|INFO|DEBUG","onkeypress":_475,"style":_477});
4388_44f.appendChild(_452);
4389_446(_453,{"value":".*","onkeypress":_475,"style":_477});
4390_44f.appendChild(_453);
4391_477="width: 8%; display:inline; font: "+this.logFont;
4392_454.appendChild(doc.createTextNode("Filter"));
4393_454.onclick=bind("buildAndApplyFilter",this);
4394_454.style.cssText=_477;
4395_44f.appendChild(_454);
4396_455.appendChild(doc.createTextNode("Load"));
4397_455.onclick=_474;
4398_455.style.cssText=_477;
4399_44f.appendChild(_455);
4400_456.appendChild(doc.createTextNode("Clear"));
4401_456.onclick=_46f;
4402_456.style.cssText=_477;
4403_44f.appendChild(_456);
4404_457.appendChild(doc.createTextNode("Close"));
4405_457.onclick=_470;
4406_457.style.cssText=_477;
4407_44f.appendChild(_457);
4408_458.style.cssText="overflow: auto; width: 100%";
4409_459.style.cssText="width: 100%; height: "+(_443?"8em":"100%");
4410_458.appendChild(_459);
4411_44f.appendChild(_458);
4412this.buildAndApplyFilter();
4413_474();
4414if(_443){
4415this.win=undefined;
4416}else{
4417this.win=win;
4418}
4419this.inline=_443;
4420this.closePane=_470;
4421this.closed=false;
4422return this;
4423};
4424MochiKit.LoggingPane.LoggingPane.prototype={"logFont":"8pt Verdana,sans-serif","colorTable":{"ERROR":"red","FATAL":"darkred","WARNING":"blue","INFO":"black","DEBUG":"green"}};
4425MochiKit.LoggingPane.EXPORT_OK=["LoggingPane"];
4426MochiKit.LoggingPane.EXPORT=["createLoggingPane"];
4427MochiKit.LoggingPane.__new__=function(){
4428this.EXPORT_TAGS={":common":this.EXPORT,":all":MochiKit.Base.concat(this.EXPORT,this.EXPORT_OK)};
4429MochiKit.Base.nameFunctions(this);
4430MochiKit.LoggingPane._loggingPane=null;
4431};
4432MochiKit.LoggingPane.__new__();
4433MochiKit.Base._exportSymbols(this,MochiKit.LoggingPane);
4434if(typeof (dojo)!="undefined"){
4435dojo.provide("MochiKit.Color");
4436dojo.require("MochiKit.Base");
4437dojo.require("MochiKit.DOM");
4438dojo.require("MochiKit.Style");
4439}
4440if(typeof (JSAN)!="undefined"){
4441JSAN.use("MochiKit.Base",[]);
4442JSAN.use("MochiKit.DOM",[]);
4443JSAN.use("MochiKit.Style",[]);
4444}
4445try{
4446if(typeof (MochiKit.Base)=="undefined"){
4447throw "";
4448}
4449}
4450catch(e){
4451throw "MochiKit.Color depends on MochiKit.Base";
4452}
4453try{
4454if(typeof (MochiKit.DOM)=="undefined"){
4455throw "";
4456}
4457}
4458catch(e){
4459throw "MochiKit.Color depends on MochiKit.DOM";
4460}
4461try{
4462if(typeof (MochiKit.Style)=="undefined"){
4463throw "";
4464}
4465}
4466catch(e){
4467throw "MochiKit.Color depends on MochiKit.Style";
4468}
4469if(typeof (MochiKit.Color)=="undefined"){
4470MochiKit.Color={};
4471}
4472MochiKit.Color.NAME="MochiKit.Color";
4473MochiKit.Color.VERSION="1.4";
4474MochiKit.Color.__repr__=function(){
4475return "["+this.NAME+" "+this.VERSION+"]";
4476};
4477MochiKit.Color.toString=function(){
4478return this.__repr__();
4479};
4480MochiKit.Color.Color=function(red,_479,blue,_47b){
4481if(typeof (_47b)=="undefined"||_47b===null){
4482_47b=1;
4483}
4484this.rgb={r:red,g:_479,b:blue,a:_47b};
4485};
4486MochiKit.Color.Color.prototype={__class__:MochiKit.Color.Color,colorWithAlpha:function(_47c){
4487var rgb=this.rgb;
4488var m=MochiKit.Color;
4489return m.Color.fromRGB(rgb.r,rgb.g,rgb.b,_47c);
4490},colorWithHue:function(hue){
4491var hsl=this.asHSL();
4492hsl.h=hue;
4493var m=MochiKit.Color;
4494return m.Color.fromHSL(hsl);
4495},colorWithSaturation:function(_482){
4496var hsl=this.asHSL();
4497hsl.s=_482;
4498var m=MochiKit.Color;
4499return m.Color.fromHSL(hsl);
4500},colorWithLightness:function(_485){
4501var hsl=this.asHSL();
4502hsl.l=_485;
4503var m=MochiKit.Color;
4504return m.Color.fromHSL(hsl);
4505},darkerColorWithLevel:function(_488){
4506var hsl=this.asHSL();
4507hsl.l=Math.max(hsl.l-_488,0);
4508var m=MochiKit.Color;
4509return m.Color.fromHSL(hsl);
4510},lighterColorWithLevel:function(_48b){
4511var hsl=this.asHSL();
4512hsl.l=Math.min(hsl.l+_48b,1);
4513var m=MochiKit.Color;
4514return m.Color.fromHSL(hsl);
4515},blendedColor:function(_48e,_48f){
4516if(typeof (_48f)=="undefined"||_48f===null){
4517_48f=0.5;
4518}
4519var sf=1-_48f;
4520var s=this.rgb;
4521var d=_48e.rgb;
4522var df=_48f;
4523return MochiKit.Color.Color.fromRGB((s.r*sf)+(d.r*df),(s.g*sf)+(d.g*df),(s.b*sf)+(d.b*df),(s.a*sf)+(d.a*df));
4524},compareRGB:function(_494){
4525var a=this.asRGB();
4526var b=_494.asRGB();
4527return MochiKit.Base.compare([a.r,a.g,a.b,a.a],[b.r,b.g,b.b,b.a]);
4528},isLight:function(){
4529return this.asHSL().b>0.5;
4530},isDark:function(){
4531return (!this.isLight());
4532},toHSLString:function(){
4533var c=this.asHSL();
4534var ccc=MochiKit.Color.clampColorComponent;
4535var rval=this._hslString;
4536if(!rval){
4537var mid=(ccc(c.h,360).toFixed(0)+","+ccc(c.s,100).toPrecision(4)+"%"+","+ccc(c.l,100).toPrecision(4)+"%");
4538var a=c.a;
4539if(a>=1){
4540a=1;
4541rval="hsl("+mid+")";
4542}else{
4543if(a<=0){
4544a=0;
4545}
4546rval="hsla("+mid+","+a+")";
4547}
4548this._hslString=rval;
4549}
4550return rval;
4551},toRGBString:function(){
4552var c=this.rgb;
4553var ccc=MochiKit.Color.clampColorComponent;
4554var rval=this._rgbString;
4555if(!rval){
4556var mid=(ccc(c.r,255).toFixed(0)+","+ccc(c.g,255).toFixed(0)+","+ccc(c.b,255).toFixed(0));
4557if(c.a!=1){
4558rval="rgba("+mid+","+c.a+")";
4559}else{
4560rval="rgb("+mid+")";
4561}
4562this._rgbString=rval;
4563}
4564return rval;
4565},asRGB:function(){
4566return MochiKit.Base.clone(this.rgb);
4567},toHexString:function(){
4568var m=MochiKit.Color;
4569var c=this.rgb;
4570var ccc=MochiKit.Color.clampColorComponent;
4571var rval=this._hexString;
4572if(!rval){
4573rval=("#"+m.toColorPart(ccc(c.r,255))+m.toColorPart(ccc(c.g,255))+m.toColorPart(ccc(c.b,255)));
4574this._hexString=rval;
4575}
4576return rval;
4577},asHSV:function(){
4578var hsv=this.hsv;
4579var c=this.rgb;
4580if(typeof (hsv)=="undefined"||hsv===null){
4581hsv=MochiKit.Color.rgbToHSV(this.rgb);
4582this.hsv=hsv;
4583}
4584return MochiKit.Base.clone(hsv);
4585},asHSL:function(){
4586var hsl=this.hsl;
4587var c=this.rgb;
4588if(typeof (hsl)=="undefined"||hsl===null){
4589hsl=MochiKit.Color.rgbToHSL(this.rgb);
4590this.hsl=hsl;
4591}
4592return MochiKit.Base.clone(hsl);
4593},toString:function(){
4594return this.toRGBString();
4595},repr:function(){
4596var c=this.rgb;
4597var col=[c.r,c.g,c.b,c.a];
4598return this.__class__.NAME+"("+col.join(", ")+")";
4599}};
4600MochiKit.Base.update(MochiKit.Color.Color,{fromRGB:function(red,_4ab,blue,_4ad){
4601var _4ae=MochiKit.Color.Color;
4602if(arguments.length==1){
4603var rgb=red;
4604red=rgb.r;
4605_4ab=rgb.g;
4606blue=rgb.b;
4607if(typeof (rgb.a)=="undefined"){
4608_4ad=undefined;
4609}else{
4610_4ad=rgb.a;
4611}
4612}
4613return new _4ae(red,_4ab,blue,_4ad);
4614},fromHSL:function(hue,_4b1,_4b2,_4b3){
4615var m=MochiKit.Color;
4616return m.Color.fromRGB(m.hslToRGB.apply(m,arguments));
4617},fromHSV:function(hue,_4b6,_4b7,_4b8){
4618var m=MochiKit.Color;
4619return m.Color.fromRGB(m.hsvToRGB.apply(m,arguments));
4620},fromName:function(name){
4621var _4bb=MochiKit.Color.Color;
4622if(name.charAt(0)=="\""){
4623name=name.substr(1,name.length-2);
4624}
4625var _4bc=_4bb._namedColors[name.toLowerCase()];
4626if(typeof (_4bc)=="string"){
4627return _4bb.fromHexString(_4bc);
4628}else{
4629if(name=="transparent"){
4630return _4bb.transparentColor();
4631}
4632}
4633return null;
4634},fromString:function(_4bd){
4635var self=MochiKit.Color.Color;
4636var _4bf=_4bd.substr(0,3);
4637if(_4bf=="rgb"){
4638return self.fromRGBString(_4bd);
4639}else{
4640if(_4bf=="hsl"){
4641return self.fromHSLString(_4bd);
4642}else{
4643if(_4bd.charAt(0)=="#"){
4644return self.fromHexString(_4bd);
4645}
4646}
4647}
4648return self.fromName(_4bd);
4649},fromHexString:function(_4c0){
4650if(_4c0.charAt(0)=="#"){
4651_4c0=_4c0.substring(1);
4652}
4653var _4c1=[];
4654var i,hex;
4655if(_4c0.length==3){
4656for(i=0;i<3;i++){
4657hex=_4c0.substr(i,1);
4658_4c1.push(parseInt(hex+hex,16)/255);
4659}
4660}else{
4661for(i=0;i<6;i+=2){
4662hex=_4c0.substr(i,2);
4663_4c1.push(parseInt(hex,16)/255);
4664}
4665}
4666var _4c4=MochiKit.Color.Color;
4667return _4c4.fromRGB.apply(_4c4,_4c1);
4668},_fromColorString:function(pre,_4c6,_4c7,_4c8){
4669if(_4c8.indexOf(pre)===0){
4670_4c8=_4c8.substring(_4c8.indexOf("(",3)+1,_4c8.length-1);
4671}
4672var _4c9=_4c8.split(/\s*,\s*/);
4673var _4ca=[];
4674for(var i=0;i<_4c9.length;i++){
4675var c=_4c9[i];
4676var val;
4677var _4ce=c.substring(c.length-3);
4678if(c.charAt(c.length-1)=="%"){
4679val=0.01*parseFloat(c.substring(0,c.length-1));
4680}else{
4681if(_4ce=="deg"){
4682val=parseFloat(c)/360;
4683}else{
4684if(_4ce=="rad"){
4685val=parseFloat(c)/(Math.PI*2);
4686}else{
4687val=_4c7[i]*parseFloat(c);
4688}
4689}
4690}
4691_4ca.push(val);
4692}
4693return this[_4c6].apply(this,_4ca);
4694},fromComputedStyle:function(elem,_4d0){
4695var d=MochiKit.DOM;
4696var cls=MochiKit.Color.Color;
4697for(elem=d.getElement(elem);elem;elem=elem.parentNode){
4698var _4d3=MochiKit.Style.getStyle.apply(d,arguments);
4699if(!_4d3){
4700continue;
4701}
4702var _4d4=cls.fromString(_4d3);
4703if(!_4d4){
4704break;
4705}
4706if(_4d4.asRGB().a>0){
4707return _4d4;
4708}
4709}
4710return null;
4711},fromBackground:function(elem){
4712var cls=MochiKit.Color.Color;
4713return cls.fromComputedStyle(elem,"backgroundColor","background-color")||cls.whiteColor();
4714},fromText:function(elem){
4715var cls=MochiKit.Color.Color;
4716return cls.fromComputedStyle(elem,"color","color")||cls.blackColor();
4717},namedColors:function(){
4718return MochiKit.Base.clone(MochiKit.Color.Color._namedColors);
4719}});
4720MochiKit.Base.update(MochiKit.Color,{clampColorComponent:function(v,_4da){
4721v*=_4da;
4722if(v<0){
4723return 0;
4724}else{
4725if(v>_4da){
4726return _4da;
4727}else{
4728return v;
4729}
4730}
4731},_hslValue:function(n1,n2,hue){
4732if(hue>6){
4733hue-=6;
4734}else{
4735if(hue<0){
4736hue+=6;
4737}
4738}
4739var val;
4740if(hue<1){
4741val=n1+(n2-n1)*hue;
4742}else{
4743if(hue<3){
4744val=n2;
4745}else{
4746if(hue<4){
4747val=n1+(n2-n1)*(4-hue);
4748}else{
4749val=n1;
4750}
4751}
4752}
4753return val;
4754},hsvToRGB:function(hue,_4e0,_4e1,_4e2){
4755if(arguments.length==1){
4756var hsv=hue;
4757hue=hsv.h;
4758_4e0=hsv.s;
4759_4e1=hsv.v;
4760_4e2=hsv.a;
4761}
4762var red;
4763var _4e5;
4764var blue;
4765if(_4e0===0){
4766red=_4e1;
4767_4e5=_4e1;
4768blue=_4e1;
4769}else{
4770var i=Math.floor(hue*6);
4771var f=(hue*6)-i;
4772var p=_4e1*(1-_4e0);
4773var q=_4e1*(1-(_4e0*f));
4774var t=_4e1*(1-(_4e0*(1-f)));
4775switch(i){
4776case 1:
4777red=q;
4778_4e5=_4e1;
4779blue=p;
4780break;
4781case 2:
4782red=p;
4783_4e5=_4e1;
4784blue=t;
4785break;
4786case 3:
4787red=p;
4788_4e5=q;
4789blue=_4e1;
4790break;
4791case 4:
4792red=t;
4793_4e5=p;
4794blue=_4e1;
4795break;
4796case 5:
4797red=_4e1;
4798_4e5=p;
4799blue=q;
4800break;
4801case 6:
4802case 0:
4803red=_4e1;
4804_4e5=t;
4805blue=p;
4806break;
4807}
4808}
4809return {r:red,g:_4e5,b:blue,a:_4e2};
4810},hslToRGB:function(hue,_4ed,_4ee,_4ef){
4811if(arguments.length==1){
4812var hsl=hue;
4813hue=hsl.h;
4814_4ed=hsl.s;
4815_4ee=hsl.l;
4816_4ef=hsl.a;
4817}
4818var red;
4819var _4f2;
4820var blue;
4821if(_4ed===0){
4822red=_4ee;
4823_4f2=_4ee;
4824blue=_4ee;
4825}else{
4826var m2;
4827if(_4ee<=0.5){
4828m2=_4ee*(1+_4ed);
4829}else{
4830m2=_4ee+_4ed-(_4ee*_4ed);
4831}
4832var m1=(2*_4ee)-m2;
4833var f=MochiKit.Color._hslValue;
4834var h6=hue*6;
4835red=f(m1,m2,h6+2);
4836_4f2=f(m1,m2,h6);
4837blue=f(m1,m2,h6-2);
4838}
4839return {r:red,g:_4f2,b:blue,a:_4ef};
4840},rgbToHSV:function(red,_4f9,blue,_4fb){
4841if(arguments.length==1){
4842var rgb=red;
4843red=rgb.r;
4844_4f9=rgb.g;
4845blue=rgb.b;
4846_4fb=rgb.a;
4847}
4848var max=Math.max(Math.max(red,_4f9),blue);
4849var min=Math.min(Math.min(red,_4f9),blue);
4850var hue;
4851var _500;
4852var _501=max;
4853if(min==max){
4854hue=0;
4855_500=0;
4856}else{
4857var _502=(max-min);
4858_500=_502/max;
4859if(red==max){
4860hue=(_4f9-blue)/_502;
4861}else{
4862if(_4f9==max){
4863hue=2+((blue-red)/_502);
4864}else{
4865hue=4+((red-_4f9)/_502);
4866}
4867}
4868hue/=6;
4869if(hue<0){
4870hue+=1;
4871}
4872if(hue>1){
4873hue-=1;
4874}
4875}
4876return {h:hue,s:_500,v:_501,a:_4fb};
4877},rgbToHSL:function(red,_504,blue,_506){
4878if(arguments.length==1){
4879var rgb=red;
4880red=rgb.r;
4881_504=rgb.g;
4882blue=rgb.b;
4883_506=rgb.a;
4884}
4885var max=Math.max(red,Math.max(_504,blue));
4886var min=Math.min(red,Math.min(_504,blue));
4887var hue;
4888var _50b;
4889var _50c=(max+min)/2;
4890var _50d=max-min;
4891if(_50d===0){
4892hue=0;
4893_50b=0;
4894}else{
4895if(_50c<=0.5){
4896_50b=_50d/(max+min);
4897}else{
4898_50b=_50d/(2-max-min);
4899}
4900if(red==max){
4901hue=(_504-blue)/_50d;
4902}else{
4903if(_504==max){
4904hue=2+((blue-red)/_50d);
4905}else{
4906hue=4+((red-_504)/_50d);
4907}
4908}
4909hue/=6;
4910if(hue<0){
4911hue+=1;
4912}
4913if(hue>1){
4914hue-=1;
4915}
4916}
4917return {h:hue,s:_50b,l:_50c,a:_506};
4918},toColorPart:function(num){
4919num=Math.round(num);
4920var _50f=num.toString(16);
4921if(num<16){
4922return "0"+_50f;
4923}
4924return _50f;
4925},__new__:function(){
4926var m=MochiKit.Base;
4927this.Color.fromRGBString=m.bind(this.Color._fromColorString,this.Color,"rgb","fromRGB",[1/255,1/255,1/255,1]);
4928this.Color.fromHSLString=m.bind(this.Color._fromColorString,this.Color,"hsl","fromHSL",[1/360,0.01,0.01,1]);
4929var _511=1/3;
4930var _512={black:[0,0,0],blue:[0,0,1],brown:[0.6,0.4,0.2],cyan:[0,1,1],darkGray:[_511,_511,_511],gray:[0.5,0.5,0.5],green:[0,1,0],lightGray:[2*_511,2*_511,2*_511],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]};
4931var _513=function(name,r,g,b,a){
4932var rval=this.fromRGB(r,g,b,a);
4933this[name]=function(){
4934return rval;
4935};
4936return rval;
4937};
4938for(var k in _512){
4939var name=k+"Color";
4940var _51c=m.concat([_513,this.Color,name],_512[k]);
4941this.Color[name]=m.bind.apply(null,_51c);
4942}
4943var _51d=function(){
4944for(var i=0;i<arguments.length;i++){
4945if(!(arguments[i] instanceof Color)){
4946return false;
4947}
4948}
4949return true;
4950};
4951var _51f=function(a,b){
4952return a.compareRGB(b);
4953};
4954m.nameFunctions(this);
4955m.registerComparator(this.Color.NAME,_51d,_51f);
4956this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};
4957}});
4958MochiKit.Color.EXPORT=["Color"];
4959MochiKit.Color.EXPORT_OK=["clampColorComponent","rgbToHSL","hslToRGB","rgbToHSV","hsvToRGB","toColorPart"];
4960MochiKit.Color.__new__();
4961MochiKit.Base._exportSymbols(this,MochiKit.Color);
4962MochiKit.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"};
4963if(typeof (dojo)!="undefined"){
4964dojo.provide("MochiKit.Signal");
4965dojo.require("MochiKit.Base");
4966dojo.require("MochiKit.DOM");
4967dojo.require("MochiKit.Style");
4968}
4969if(typeof (JSAN)!="undefined"){
4970JSAN.use("MochiKit.Base",[]);
4971JSAN.use("MochiKit.DOM",[]);
4972JSAN.use("MochiKit.Style",[]);
4973}
4974try{
4975if(typeof (MochiKit.Base)=="undefined"){
4976throw "";
4977}
4978}
4979catch(e){
4980throw "MochiKit.Signal depends on MochiKit.Base!";
4981}
4982try{
4983if(typeof (MochiKit.DOM)=="undefined"){
4984throw "";
4985}
4986}
4987catch(e){
4988throw "MochiKit.Signal depends on MochiKit.DOM!";
4989}
4990try{
4991if(typeof (MochiKit.Style)=="undefined"){
4992throw "";
4993}
4994}
4995catch(e){
4996throw "MochiKit.Signal depends on MochiKit.Style!";
4997}
4998if(typeof (MochiKit.Signal)=="undefined"){
4999MochiKit.Signal={};
5000}
5001MochiKit.Signal.NAME="MochiKit.Signal";
5002MochiKit.Signal.VERSION="1.4";
5003MochiKit.Signal._observers=[];
5004MochiKit.Signal.Event=function(src,e){
5005this._event=e||window.event;
5006this._src=src;
5007};
5008MochiKit.Base.update(MochiKit.Signal.Event.prototype,{__repr__:function(){
5009var repr=MochiKit.Base.repr;
5010var str="{event(): "+repr(this.event())+", src(): "+repr(this.src())+", type(): "+repr(this.type())+", target(): "+repr(this.target());
5011if(this.type()&&this.type().indexOf("key")===0||this.type().indexOf("mouse")===0||this.type().indexOf("click")!=-1||this.type()=="contextmenu"){
5012str+=", modifier(): "+"{alt: "+repr(this.modifier().alt)+", ctrl: "+repr(this.modifier().ctrl)+", meta: "+repr(this.modifier().meta)+", shift: "+repr(this.modifier().shift)+", any: "+repr(this.modifier().any)+"}";
5013}
5014if(this.type()&&this.type().indexOf("key")===0){
5015str+=", key(): {code: "+repr(this.key().code)+", string: "+repr(this.key().string)+"}";
5016}
5017if(this.type()&&(this.type().indexOf("mouse")===0||this.type().indexOf("click")!=-1||this.type()=="contextmenu")){
5018str+=", mouse(): {page: "+repr(this.mouse().page)+", client: "+repr(this.mouse().client);
5019if(this.type()!="mousemove"){
5020str+=", button: {left: "+repr(this.mouse().button.left)+", middle: "+repr(this.mouse().button.middle)+", right: "+repr(this.mouse().button.right)+"}}";
5021}else{
5022str+="}";
5023}
5024}
5025if(this.type()=="mouseover"||this.type()=="mouseout"){
5026str+=", relatedTarget(): "+repr(this.relatedTarget());
5027}
5028str+="}";
5029return str;
5030},toString:function(){
5031return this.__repr__();
5032},src:function(){
5033return this._src;
5034},event:function(){
5035return this._event;
5036},type:function(){
5037return this._event.type||undefined;
5038},target:function(){
5039return this._event.target||this._event.srcElement;
5040},_relatedTarget:null,relatedTarget:function(){
5041if(this._relatedTarget!==null){
5042return this._relatedTarget;
5043}
5044var elem=null;
5045if(this.type()=="mouseover"){
5046elem=(this._event.relatedTarget||this._event.fromElement);
5047}else{
5048if(this.type()=="mouseout"){
5049elem=(this._event.relatedTarget||this._event.toElement);
5050}
5051}
5052if(elem!==null){
5053this._relatedTarget=elem;
5054return elem;
5055}
5056return undefined;
5057},_modifier:null,modifier:function(){
5058if(this._modifier!==null){
5059return this._modifier;
5060}
5061var m={};
5062m.alt=this._event.altKey;
5063m.ctrl=this._event.ctrlKey;
5064m.meta=this._event.metaKey||false;
5065m.shift=this._event.shiftKey;
5066m.any=m.alt||m.ctrl||m.shift||m.meta;
5067this._modifier=m;
5068return m;
5069},_key:null,key:function(){
5070if(this._key!==null){
5071return this._key;
5072}
5073var k={};
5074if(this.type()&&this.type().indexOf("key")===0){
5075if(this.type()=="keydown"||this.type()=="keyup"){
5076k.code=this._event.keyCode;
5077k.string=(MochiKit.Signal._specialKeys[k.code]||"KEY_UNKNOWN");
5078this._key=k;
5079return k;
5080}else{
5081if(this.type()=="keypress"){
5082k.code=0;
5083k.string="";
5084if(typeof (this._event.charCode)!="undefined"&&this._event.charCode!==0&&!MochiKit.Signal._specialMacKeys[this._event.charCode]){
5085k.code=this._event.charCode;
5086k.string=String.fromCharCode(k.code);
5087}else{
5088if(this._event.keyCode&&typeof (this._event.charCode)=="undefined"){
5089k.code=this._event.keyCode;
5090k.string=String.fromCharCode(k.code);
5091}
5092}
5093this._key=k;
5094return k;
5095}
5096}
5097}
5098return undefined;
5099},_mouse:null,mouse:function(){
5100if(this._mouse!==null){
5101return this._mouse;
5102}
5103var m={};
5104var e=this._event;
5105if(this.type()&&(this.type().indexOf("mouse")===0||this.type().indexOf("click")!=-1||this.type()=="contextmenu")){
5106m.client=new MochiKit.Style.Coordinates(0,0);
5107if(e.clientX||e.clientY){
5108m.client.x=(!e.clientX||e.clientX<0)?0:e.clientX;
5109m.client.y=(!e.clientY||e.clientY<0)?0:e.clientY;
5110}
5111m.page=new MochiKit.Style.Coordinates(0,0);
5112if(e.pageX||e.pageY){
5113m.page.x=(!e.pageX||e.pageX<0)?0:e.pageX;
5114m.page.y=(!e.pageY||e.pageY<0)?0:e.pageY;
5115}else{
5116var de=MochiKit.DOM._document.documentElement;
5117var b=MochiKit.DOM._document.body;
5118m.page.x=e.clientX+(de.scrollLeft||b.scrollLeft)-(de.clientLeft||0);
5119m.page.y=e.clientY+(de.scrollTop||b.scrollTop)-(de.clientTop||0);
5120}
5121if(this.type()!="mousemove"){
5122m.button={};
5123m.button.left=false;
5124m.button.right=false;
5125m.button.middle=false;
5126if(e.which){
5127m.button.left=(e.which==1);
5128m.button.middle=(e.which==2);
5129m.button.right=(e.which==3);
5130}else{
5131m.button.left=!!(e.button&1);
5132m.button.right=!!(e.button&2);
5133m.button.middle=!!(e.button&4);
5134}
5135}
5136this._mouse=m;
5137return m;
5138}
5139return undefined;
5140},stop:function(){
5141this.stopPropagation();
5142this.preventDefault();
5143},stopPropagation:function(){
5144if(this._event.stopPropagation){
5145this._event.stopPropagation();
5146}else{
5147this._event.cancelBubble=true;
5148}
5149},preventDefault:function(){
5150if(this._event.preventDefault){
5151this._event.preventDefault();
5152}else{
5153if(this._confirmUnload===null){
5154this._event.returnValue=false;
5155}
5156}
5157},_confirmUnload:null,confirmUnload:function(msg){
5158if(this.type()=="beforeunload"){
5159this._confirmUnload=msg;
5160this._event.returnValue=msg;
5161}
5162}});
5163MochiKit.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"};
5164(function(){
5165var _52e=MochiKit.Signal._specialMacKeys;
5166for(i=63236;i<=63242;i++){
5167_52e[i]="KEY_F"+(i-63236+1);
5168}
5169})();
5170MochiKit.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"};
5171(function(){
5172var _52f=MochiKit.Signal._specialKeys;
5173for(var i=48;i<=57;i++){
5174_52f[i]="KEY_"+(i-48);
5175}
5176for(i=65;i<=90;i++){
5177_52f[i]="KEY_"+String.fromCharCode(i);
5178}
5179for(i=96;i<=105;i++){
5180_52f[i]="KEY_NUM_PAD_"+(i-96);
5181}
5182for(i=112;i<=123;i++){
5183_52f[i]="KEY_F"+(i-112+1);
5184}
5185})();
5186MochiKit.Signal.Ident=function(_531){
5187this.source=_531.source;
5188this.signal=_531.signal;
5189this.listener=_531.listener;
5190this.isDOM=_531.isDOM;
5191this.objOrFunc=_531.objOrFunc;
5192this.funcOrStr=_531.funcOrStr;
5193this.connected=_531.connected;
5194};
5195MochiKit.Signal.Ident.prototype={};
5196MochiKit.Base.update(MochiKit.Signal,{__repr__:function(){
5197return "["+this.NAME+" "+this.VERSION+"]";
5198},toString:function(){
5199return this.__repr__();
5200},_unloadCache:function(){
5201var self=MochiKit.Signal;
5202var _533=self._observers;
5203for(var i=0;i<_533.length;i++){
5204if(_533[i].signal!=="onload"&&_533[i].signal!=="onunload"){
5205self._disconnect(_533[i]);
5206}
5207}
5208},_listener:function(src,sig,func,obj,_539){
5209var self=MochiKit.Signal;
5210var E=self.Event;
5211if(!_539){
5212return MochiKit.Base.bind(func,obj);
5213}
5214obj=obj||src;
5215if(typeof (func)=="string"){
5216if(sig==="onload"||sig==="onunload"){
5217return function(_53c){
5218obj[func].apply(obj,[new E(src,_53c)]);
5219var _53d=new MochiKit.Signal.Ident({source:src,signal:sig,objOrFunc:obj,funcOrStr:func});
5220MochiKit.Signal._disconnect(_53d);
5221};
5222}else{
5223return function(_53e){
5224obj[func].apply(obj,[new E(src,_53e)]);
5225};
5226}
5227}else{
5228if(sig==="onload"||sig==="onunload"){
5229return function(_53f){
5230func.apply(obj,[new E(src,_53f)]);
5231MochiKit.Signal.disconnect(src,sig,func);
5232var _540=new MochiKit.Signal.Ident({source:src,signal:sig,objOrFunc:func});
5233MochiKit.Signal._disconnect(_540);
5234};
5235}else{
5236return function(_541){
5237func.apply(obj,[new E(src,_541)]);
5238};
5239}
5240}
5241},_browserAlreadyHasMouseEnterAndLeave:function(){
5242return /MSIE/.test(navigator.userAgent);
5243},_mouseEnterListener:function(src,sig,func,obj){
5244var E=MochiKit.Signal.Event;
5245return function(_547){
5246var e=new E(src,_547);
5247try{
5248e.relatedTarget().nodeName;
5249}
5250catch(err){
5251return;
5252}
5253e.stop();
5254if(MochiKit.DOM.isChildNode(e.relatedTarget(),src)){
5255return;
5256}
5257e.type=function(){
5258return sig;
5259};
5260if(typeof (func)=="string"){
5261return obj[func].apply(obj,[e]);
5262}else{
5263return func.apply(obj,[e]);
5264}
5265};
5266},_getDestPair:function(_549,_54a){
5267var obj=null;
5268var func=null;
5269if(typeof (_54a)!="undefined"){
5270obj=_549;
5271func=_54a;
5272if(typeof (_54a)=="string"){
5273if(typeof (_549[_54a])!="function"){
5274throw new Error("'funcOrStr' must be a function on 'objOrFunc'");
5275}
5276}else{
5277if(typeof (_54a)!="function"){
5278throw new Error("'funcOrStr' must be a function or string");
5279}
5280}
5281}else{
5282if(typeof (_549)!="function"){
5283throw new Error("'objOrFunc' must be a function if 'funcOrStr' is not given");
5284}else{
5285func=_549;
5286}
5287}
5288return [obj,func];
5289},connect:function(src,sig,_54f,_550){
5290src=MochiKit.DOM.getElement(src);
5291var self=MochiKit.Signal;
5292if(typeof (sig)!="string"){
5293throw new Error("'sig' must be a string");
5294}
5295var _552=self._getDestPair(_54f,_550);
5296var obj=_552[0];
5297var func=_552[1];
5298if(typeof (obj)=="undefined"||obj===null){
5299obj=src;
5300}
5301var _555=!!(src.addEventListener||src.attachEvent);
5302if(_555&&(sig==="onmouseenter"||sig==="onmouseleave")&&!self._browserAlreadyHasMouseEnterAndLeave()){
5303var _556=self._mouseEnterListener(src,sig.substr(2),func,obj);
5304if(sig==="onmouseenter"){
5305sig="onmouseover";
5306}else{
5307sig="onmouseout";
5308}
5309}else{
5310var _556=self._listener(src,sig,func,obj,_555);
5311}
5312if(src.addEventListener){
5313src.addEventListener(sig.substr(2),_556,false);
5314}else{
5315if(src.attachEvent){
5316src.attachEvent(sig,_556);
5317}
5318}
5319var _557=new MochiKit.Signal.Ident({source:src,signal:sig,listener:_556,isDOM:_555,objOrFunc:_54f,funcOrStr:_550,connected:true});
5320self._observers.push(_557);
5321if(!_555&&typeof (src.__connect__)=="function"){
5322var args=MochiKit.Base.extend([_557],arguments,1);
5323src.__connect__.apply(src,args);
5324}
5325return _557;
5326},_disconnect:function(_559){
5327if(!_559.connected){
5328return;
5329}
5330_559.connected=false;
5331if(!_559.isDOM){
5332return;
5333}
5334var src=_559.source;
5335var sig=_559.signal;
5336var _55c=_559.listener;
5337if(src.removeEventListener){
5338src.removeEventListener(sig.substr(2),_55c,false);
5339}else{
5340if(src.detachEvent){
5341src.detachEvent(sig,_55c);
5342}else{
5343throw new Error("'src' must be a DOM element");
5344}
5345}
5346},disconnect:function(_55d){
5347var self=MochiKit.Signal;
5348var _55f=self._observers;
5349var m=MochiKit.Base;
5350if(arguments.length>1){
5351var src=MochiKit.DOM.getElement(arguments[0]);
5352var sig=arguments[1];
5353var obj=arguments[2];
5354var func=arguments[3];
5355for(var i=_55f.length-1;i>=0;i--){
5356var o=_55f[i];
5357if(o.source===src&&o.signal===sig&&o.objOrFunc===obj&&o.funcOrStr===func){
5358self._disconnect(o);
5359if(!self._lock){
5360_55f.splice(i,1);
5361}else{
5362self._dirty=true;
5363}
5364return true;
5365}
5366}
5367}else{
5368var idx=m.findIdentical(_55f,_55d);
5369if(idx>=0){
5370self._disconnect(_55d);
5371if(!self._lock){
5372_55f.splice(idx,1);
5373}else{
5374self._dirty=true;
5375}
5376return true;
5377}
5378}
5379return false;
5380},disconnectAllTo:function(_568,_569){
5381var self=MochiKit.Signal;
5382var _56b=self._observers;
5383var _56c=self._disconnect;
5384var _56d=self._lock;
5385var _56e=self._dirty;
5386if(typeof (_569)==="undefined"){
5387_569=null;
5388}
5389for(var i=_56b.length-1;i>=0;i--){
5390var _570=_56b[i];
5391if(_570.objOrFunc===_568&&(_569===null||_570.funcOrStr===_569)){
5392_56c(_570);
5393if(_56d){
5394_56e=true;
5395}else{
5396_56b.splice(i,1);
5397}
5398}
5399}
5400self._dirty=_56e;
5401},disconnectAll:function(src,sig){
5402src=MochiKit.DOM.getElement(src);
5403var m=MochiKit.Base;
5404var _574=m.flattenArguments(m.extend(null,arguments,1));
5405var self=MochiKit.Signal;
5406var _576=self._disconnect;
5407var _577=self._observers;
5408var i,_579;
5409var _57a=self._lock;
5410var _57b=self._dirty;
5411if(_574.length===0){
5412for(i=_577.length-1;i>=0;i--){
5413_579=_577[i];
5414if(_579.source===src){
5415_576(_579);
5416if(!_57a){
5417_577.splice(i,1);
5418}else{
5419_57b=true;
5420}
5421}
5422}
5423}else{
5424var sigs={};
5425for(i=0;i<_574.length;i++){
5426sigs[_574[i]]=true;
5427}
5428for(i=_577.length-1;i>=0;i--){
5429_579=_577[i];
5430if(_579.source===src&&_579.signal in sigs){
5431_576(_579);
5432if(!_57a){
5433_577.splice(i,1);
5434}else{
5435_57b=true;
5436}
5437}
5438}
5439}
5440self._dirty=_57b;
5441},signal:function(src,sig){
5442var self=MochiKit.Signal;
5443var _580=self._observers;
5444src=MochiKit.DOM.getElement(src);
5445var args=MochiKit.Base.extend(null,arguments,2);
5446var _582=[];
5447self._lock=true;
5448for(var i=0;i<_580.length;i++){
5449var _584=_580[i];
5450if(_584.source===src&&_584.signal===sig){
5451try{
5452_584.listener.apply(src,args);
5453}
5454catch(e){
5455_582.push(e);
5456}
5457}
5458}
5459self._lock=false;
5460if(self._dirty){
5461self._dirty=false;
5462for(var i=_580.length-1;i>=0;i--){
5463if(!_580[i].connected){
5464_580.splice(i,1);
5465}
5466}
5467}
5468if(_582.length==1){
5469throw _582[0];
5470}else{
5471if(_582.length>1){
5472var e=new Error("Multiple errors thrown in handling 'sig', see errors property");
5473e.errors=_582;
5474throw e;
5475}
5476}
5477}});
5478MochiKit.Signal.EXPORT_OK=[];
5479MochiKit.Signal.EXPORT=["connect","disconnect","signal","disconnectAll","disconnectAllTo"];
5480MochiKit.Signal.__new__=function(win){
5481var m=MochiKit.Base;
5482this._document=document;
5483this._window=win;
5484this._lock=false;
5485this._dirty=false;
5486try{
5487this.connect(window,"onunload",this._unloadCache);
5488}
5489catch(e){
5490}
5491this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};
5492m.nameFunctions(this);
5493};
5494MochiKit.Signal.__new__(this);
5495if(MochiKit.__export__){
5496connect=MochiKit.Signal.connect;
5497disconnect=MochiKit.Signal.disconnect;
5498disconnectAll=MochiKit.Signal.disconnectAll;
5499signal=MochiKit.Signal.signal;
5500}
5501MochiKit.Base._exportSymbols(this,MochiKit.Signal);
5502if(typeof (dojo)!="undefined"){
5503dojo.provide("MochiKit.Position");
5504dojo.require("MochiKit.Base");
5505dojo.require("MochiKit.DOM");
5506dojo.require("MochiKit.Style");
5507}
5508if(typeof (JSAN)!="undefined"){
5509JSAN.use("MochiKit.Base",[]);
5510JSAN.use("MochiKit.DOM",[]);
5511JSAN.use("MochiKit.Style",[]);
5512}
5513try{
5514if(typeof (MochiKit.Base)=="undefined"||typeof (MochiKit.Style)=="undefined"||typeof (MochiKit.DOM)=="undefined"){
5515throw "";
5516}
5517}
5518catch(e){
5519throw "MochiKit.Style depends on MochiKit.Base, MochiKit.DOM, and MochiKit.Style!";
5520}
5521if(typeof (MochiKit.Position)=="undefined"){
5522MochiKit.Position={};
5523}
5524MochiKit.Position.NAME="MochiKit.Position";
5525MochiKit.Position.VERSION="1.4";
5526MochiKit.Position.__repr__=function(){
5527return "["+this.NAME+" "+this.VERSION+"]";
5528};
5529MochiKit.Position.toString=function(){
5530return this.__repr__();
5531};
5532MochiKit.Position.EXPORT_OK=[];
5533MochiKit.Position.EXPORT=[];
5534MochiKit.Base.update(MochiKit.Position,{includeScrollOffsets:false,prepare:function(){
5535var _588=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;
5536var _589=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;
5537this.windowOffset=new MochiKit.Style.Coordinates(_588,_589);
5538},cumulativeOffset:function(_58a){
5539var _58b=0;
5540var _58c=0;
5541do{
5542_58b+=_58a.offsetTop||0;
5543_58c+=_58a.offsetLeft||0;
5544_58a=_58a.offsetParent;
5545}while(_58a);
5546return new MochiKit.Style.Coordinates(_58c,_58b);
5547},realOffset:function(_58d){
5548var _58e=0;
5549var _58f=0;
5550do{
5551_58e+=_58d.scrollTop||0;
5552_58f+=_58d.scrollLeft||0;
5553_58d=_58d.parentNode;
5554}while(_58d);
5555return new MochiKit.Style.Coordinates(_58f,_58e);
5556},within:function(_590,x,y){
5557if(this.includeScrollOffsets){
5558return this.withinIncludingScrolloffsets(_590,x,y);
5559}
5560this.xcomp=x;
5561this.ycomp=y;
5562this.offset=this.cumulativeOffset(_590);
5563if(_590.style.position=="fixed"){
5564this.offset.x+=this.windowOffset.x;
5565this.offset.y+=this.windowOffset.y;
5566}
5567return (y>=this.offset.y&&y<this.offset.y+_590.offsetHeight&&x>=this.offset.x&&x<this.offset.x+_590.offsetWidth);
5568},withinIncludingScrolloffsets:function(_593,x,y){
5569var _596=this.realOffset(_593);
5570this.xcomp=x+_596.x-this.windowOffset.x;
5571this.ycomp=y+_596.y-this.windowOffset.y;
5572this.offset=this.cumulativeOffset(_593);
5573return (this.ycomp>=this.offset.y&&this.ycomp<this.offset.y+_593.offsetHeight&&this.xcomp>=this.offset.x&&this.xcomp<this.offset.x+_593.offsetWidth);
5574},overlap:function(mode,_598){
5575if(!mode){
5576return 0;
5577}
5578if(mode=="vertical"){
5579return ((this.offset.y+_598.offsetHeight)-this.ycomp)/_598.offsetHeight;
5580}
5581if(mode=="horizontal"){
5582return ((this.offset.x+_598.offsetWidth)-this.xcomp)/_598.offsetWidth;
5583}
5584},absolutize:function(_599){
5585_599=MochiKit.DOM.getElement(_599);
5586if(_599.style.position=="absolute"){
5587return;
5588}
5589MochiKit.Position.prepare();
5590var _59a=MochiKit.Position.positionedOffset(_599);
5591var _59b=_599.clientWidth;
5592var _59c=_599.clientHeight;
5593var _59d={"position":_599.style.position,"left":_59a.x-parseFloat(_599.style.left||0),"top":_59a.y-parseFloat(_599.style.top||0),"width":_599.style.width,"height":_599.style.height};
5594_599.style.position="absolute";
5595_599.style.top=_59a.y+"px";
5596_599.style.left=_59a.x+"px";
5597_599.style.width=_59b+"px";
5598_599.style.height=_59c+"px";
5599return _59d;
5600},positionedOffset:function(_59e){
5601var _59f=0,_5a0=0;
5602do{
5603_59f+=_59e.offsetTop||0;
5604_5a0+=_59e.offsetLeft||0;
5605_59e=_59e.offsetParent;
5606if(_59e){
5607p=MochiKit.Style.getStyle(_59e,"position");
5608if(p=="relative"||p=="absolute"){
5609break;
5610}
5611}
5612}while(_59e);
5613return new MochiKit.Style.Coordinates(_5a0,_59f);
5614},relativize:function(_5a1,_5a2){
5615_5a1=MochiKit.DOM.getElement(_5a1);
5616if(_5a1.style.position=="relative"){
5617return;
5618}
5619MochiKit.Position.prepare();
5620var top=parseFloat(_5a1.style.top||0)-(_5a2["top"]||0);
5621var left=parseFloat(_5a1.style.left||0)-(_5a2["left"]||0);
5622_5a1.style.position=_5a2["position"];
5623_5a1.style.top=top+"px";
5624_5a1.style.left=left+"px";
5625_5a1.style.width=_5a2["width"];
5626_5a1.style.height=_5a2["height"];
5627},clone:function(_5a5,_5a6){
5628_5a5=MochiKit.DOM.getElement(_5a5);
5629_5a6=MochiKit.DOM.getElement(_5a6);
5630_5a6.style.position="absolute";
5631var _5a7=this.cumulativeOffset(_5a5);
5632_5a6.style.top=_5a7.y+"px";
5633_5a6.style.left=_5a7.x+"px";
5634_5a6.style.width=_5a5.offsetWidth+"px";
5635_5a6.style.height=_5a5.offsetHeight+"px";
5636},page:function(_5a8){
5637var _5a9=0;
5638var _5aa=0;
5639var _5ab=_5a8;
5640do{
5641_5a9+=_5ab.offsetTop||0;
5642_5aa+=_5ab.offsetLeft||0;
5643if(_5ab.offsetParent==document.body&&MochiKit.Style.getStyle(_5ab,"position")=="absolute"){
5644break;
5645}
5646}while(_5ab=_5ab.offsetParent);
5647_5ab=_5a8;
5648do{
5649_5a9-=_5ab.scrollTop||0;
5650_5aa-=_5ab.scrollLeft||0;
5651}while(_5ab=_5ab.parentNode);
5652return new MochiKit.Style.Coordinates(_5aa,_5a9);
5653}});
5654MochiKit.Position.__new__=function(win){
5655var m=MochiKit.Base;
5656this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};
5657m.nameFunctions(this);
5658};
5659MochiKit.Position.__new__(this);
5660if(typeof (dojo)!="undefined"){
5661dojo.provide("MochiKit.Visual");
5662dojo.require("MochiKit.Base");
5663dojo.require("MochiKit.DOM");
5664dojo.require("MochiKit.Style");
5665dojo.require("MochiKit.Color");
5666dojo.require("MochiKit.Position");
5667}
5668if(typeof (JSAN)!="undefined"){
5669JSAN.use("MochiKit.Base",[]);
5670JSAN.use("MochiKit.DOM",[]);
5671JSAN.use("MochiKit.Style",[]);
5672JSAN.use("MochiKit.Color",[]);
5673JSAN.use("MochiKit.Position",[]);
5674}
5675try{
5676if(typeof (MochiKit.Base)==="undefined"||typeof (MochiKit.DOM)==="undefined"||typeof (MochiKit.Style)==="undefined"||typeof (MochiKit.Position)==="undefined"||typeof (MochiKit.Color)==="undefined"){
5677throw "";
5678}
5679}
5680catch(e){
5681throw "MochiKit.Visual depends on MochiKit.Base, MochiKit.DOM, MochiKit.Style, MochiKit.Position and MochiKit.Color!";
5682}
5683if(typeof (MochiKit.Visual)=="undefined"){
5684MochiKit.Visual={};
5685}
5686MochiKit.Visual.NAME="MochiKit.Visual";
5687MochiKit.Visual.VERSION="1.4";
5688MochiKit.Visual.__repr__=function(){
5689return "["+this.NAME+" "+this.VERSION+"]";
5690};
5691MochiKit.Visual.toString=function(){
5692return this.__repr__();
5693};
5694MochiKit.Visual._RoundCorners=function(e,_5af){
5695e=MochiKit.DOM.getElement(e);
5696this._setOptions(_5af);
5697if(this.options.__unstable__wrapElement){
5698e=this._doWrap(e);
5699}
5700var _5b0=this.options.color;
5701var C=MochiKit.Color.Color;
5702if(this.options.color==="fromElement"){
5703_5b0=C.fromBackground(e);
5704}else{
5705if(!(_5b0 instanceof C)){
5706_5b0=C.fromString(_5b0);
5707}
5708}
5709this.isTransparent=(_5b0.asRGB().a<=0);
5710var _5b2=this.options.bgColor;
5711if(this.options.bgColor==="fromParent"){
5712_5b2=C.fromBackground(e.offsetParent);
5713}else{
5714if(!(_5b2 instanceof C)){
5715_5b2=C.fromString(_5b2);
5716}
5717}
5718this._roundCornersImpl(e,_5b0,_5b2);
5719};
5720MochiKit.Visual._RoundCorners.prototype={_doWrap:function(e){
5721var _5b4=e.parentNode;
5722var doc=MochiKit.DOM.currentDocument();
5723if(typeof (doc.defaultView)==="undefined"||doc.defaultView===null){
5724return e;
5725}
5726var _5b6=doc.defaultView.getComputedStyle(e,null);
5727if(typeof (_5b6)==="undefined"||_5b6===null){
5728return e;
5729}
5730var _5b7=MochiKit.DOM.DIV({"style":{display:"block",marginTop:_5b6.getPropertyValue("padding-top"),marginRight:_5b6.getPropertyValue("padding-right"),marginBottom:_5b6.getPropertyValue("padding-bottom"),marginLeft:_5b6.getPropertyValue("padding-left"),padding:"0px"}});
5731_5b7.innerHTML=e.innerHTML;
5732e.innerHTML="";
5733e.appendChild(_5b7);
5734return e;
5735},_roundCornersImpl:function(e,_5b9,_5ba){
5736if(this.options.border){
5737this._renderBorder(e,_5ba);
5738}
5739if(this._isTopRounded()){
5740this._roundTopCorners(e,_5b9,_5ba);
5741}
5742if(this._isBottomRounded()){
5743this._roundBottomCorners(e,_5b9,_5ba);
5744}
5745},_renderBorder:function(el,_5bc){
5746var _5bd="1px solid "+this._borderColor(_5bc);
5747var _5be="border-left: "+_5bd;
5748var _5bf="border-right: "+_5bd;
5749var _5c0="style='"+_5be+";"+_5bf+"'";
5750el.innerHTML="<div "+_5c0+">"+el.innerHTML+"</div>";
5751},_roundTopCorners:function(el,_5c2,_5c3){
5752var _5c4=this._createCorner(_5c3);
5753for(var i=0;i<this.options.numSlices;i++){
5754_5c4.appendChild(this._createCornerSlice(_5c2,_5c3,i,"top"));
5755}
5756el.style.paddingTop=0;
5757el.insertBefore(_5c4,el.firstChild);
5758},_roundBottomCorners:function(el,_5c7,_5c8){
5759var _5c9=this._createCorner(_5c8);
5760for(var i=(this.options.numSlices-1);i>=0;i--){
5761_5c9.appendChild(this._createCornerSlice(_5c7,_5c8,i,"bottom"));
5762}
5763el.style.paddingBottom=0;
5764el.appendChild(_5c9);
5765},_createCorner:function(_5cb){
5766var dom=MochiKit.DOM;
5767return dom.DIV({style:{backgroundColor:_5cb.toString()}});
5768},_createCornerSlice:function(_5cd,_5ce,n,_5d0){
5769var _5d1=MochiKit.DOM.SPAN();
5770var _5d2=_5d1.style;
5771_5d2.backgroundColor=_5cd.toString();
5772_5d2.display="block";
5773_5d2.height="1px";
5774_5d2.overflow="hidden";
5775_5d2.fontSize="1px";
5776var _5d3=this._borderColor(_5cd,_5ce);
5777if(this.options.border&&n===0){
5778_5d2.borderTopStyle="solid";
5779_5d2.borderTopWidth="1px";
5780_5d2.borderLeftWidth="0px";
5781_5d2.borderRightWidth="0px";
5782_5d2.borderBottomWidth="0px";
5783_5d2.height="0px";
5784_5d2.borderColor=_5d3.toString();
5785}else{
5786if(_5d3){
5787_5d2.borderColor=_5d3.toString();
5788_5d2.borderStyle="solid";
5789_5d2.borderWidth="0px 1px";
5790}
5791}
5792if(!this.options.compact&&(n==(this.options.numSlices-1))){
5793_5d2.height="2px";
5794}
5795this._setMargin(_5d1,n,_5d0);
5796this._setBorder(_5d1,n,_5d0);
5797return _5d1;
5798},_setOptions:function(_5d4){
5799this.options={corners:"all",color:"fromElement",bgColor:"fromParent",blend:true,border:false,compact:false,__unstable__wrapElement:false};
5800MochiKit.Base.update(this.options,_5d4);
5801this.options.numSlices=(this.options.compact?2:4);
5802},_whichSideTop:function(){
5803var _5d5=this.options.corners;
5804if(this._hasString(_5d5,"all","top")){
5805return "";
5806}
5807var _5d6=(_5d5.indexOf("tl")!=-1);
5808var _5d7=(_5d5.indexOf("tr")!=-1);
5809if(_5d6&&_5d7){
5810return "";
5811}
5812if(_5d6){
5813return "left";
5814}
5815if(_5d7){
5816return "right";
5817}
5818return "";
5819},_whichSideBottom:function(){
5820var _5d8=this.options.corners;
5821if(this._hasString(_5d8,"all","bottom")){
5822return "";
5823}
5824var _5d9=(_5d8.indexOf("bl")!=-1);
5825var _5da=(_5d8.indexOf("br")!=-1);
5826if(_5d9&&_5da){
5827return "";
5828}
5829if(_5d9){
5830return "left";
5831}
5832if(_5da){
5833return "right";
5834}
5835return "";
5836},_borderColor:function(_5db,_5dc){
5837if(_5db=="transparent"){
5838return _5dc;
5839}else{
5840if(this.options.border){
5841return this.options.border;
5842}else{
5843if(this.options.blend){
5844return _5dc.blendedColor(_5db);
5845}
5846}
5847}
5848return "";
5849},_setMargin:function(el,n,_5df){
5850var _5e0=this._marginSize(n)+"px";
5851var _5e1=(_5df=="top"?this._whichSideTop():this._whichSideBottom());
5852var _5e2=el.style;
5853if(_5e1=="left"){
5854_5e2.marginLeft=_5e0;
5855_5e2.marginRight="0px";
5856}else{
5857if(_5e1=="right"){
5858_5e2.marginRight=_5e0;
5859_5e2.marginLeft="0px";
5860}else{
5861_5e2.marginLeft=_5e0;
5862_5e2.marginRight=_5e0;
5863}
5864}
5865},_setBorder:function(el,n,_5e5){
5866var _5e6=this._borderSize(n)+"px";
5867var _5e7=(_5e5=="top"?this._whichSideTop():this._whichSideBottom());
5868var _5e8=el.style;
5869if(_5e7=="left"){
5870_5e8.borderLeftWidth=_5e6;
5871_5e8.borderRightWidth="0px";
5872}else{
5873if(_5e7=="right"){
5874_5e8.borderRightWidth=_5e6;
5875_5e8.borderLeftWidth="0px";
5876}else{
5877_5e8.borderLeftWidth=_5e6;
5878_5e8.borderRightWidth=_5e6;
5879}
5880}
5881},_marginSize:function(n){
5882if(this.isTransparent){
5883return 0;
5884}
5885var o=this.options;
5886if(o.compact&&o.blend){
5887var _5eb=[1,0];
5888return _5eb[n];
5889}else{
5890if(o.compact){
5891var _5ec=[2,1];
5892return _5ec[n];
5893}else{
5894if(o.blend){
5895var _5ed=[3,2,1,0];
5896return _5ed[n];
5897}else{
5898var _5ee=[5,3,2,1];
5899return _5ee[n];
5900}
5901}
5902}
5903},_borderSize:function(n){
5904var o=this.options;
5905var _5f1;
5906if(o.compact&&(o.blend||this.isTransparent)){
5907return 1;
5908}else{
5909if(o.compact){
5910_5f1=[1,0];
5911}else{
5912if(o.blend){
5913_5f1=[2,1,1,1];
5914}else{
5915if(o.border){
5916_5f1=[0,2,0,0];
5917}else{
5918if(this.isTransparent){
5919_5f1=[5,3,2,1];
5920}else{
5921return 0;
5922}
5923}
5924}
5925}
5926}
5927return _5f1[n];
5928},_hasString:function(str){
5929for(var i=1;i<arguments.length;i++){
5930if(str.indexOf(arguments[i])!=-1){
5931return true;
5932}
5933}
5934return false;
5935},_isTopRounded:function(){
5936return this._hasString(this.options.corners,"all","top","tl","tr");
5937},_isBottomRounded:function(){
5938return this._hasString(this.options.corners,"all","bottom","bl","br");
5939},_hasSingleTextChild:function(el){
5940return (el.childNodes.length==1&&el.childNodes[0].nodeType==3);
5941}};
5942MochiKit.Visual.roundElement=function(e,_5f6){
5943new MochiKit.Visual._RoundCorners(e,_5f6);
5944};
5945MochiKit.Visual.roundClass=function(_5f7,_5f8,_5f9){
5946var _5fa=MochiKit.DOM.getElementsByTagAndClassName(_5f7,_5f8);
5947for(var i=0;i<_5fa.length;i++){
5948MochiKit.Visual.roundElement(_5fa[i],_5f9);
5949}
5950};
5951MochiKit.Visual.tagifyText=function(_5fc,_5fd){
5952_5fd=_5fd||"position:relative";
5953if(/MSIE/.test(navigator.userAgent)){
5954_5fd+=";zoom:1";
5955}
5956_5fc=MochiKit.DOM.getElement(_5fc);
5957var ma=MochiKit.Base.map;
5958ma(function(_5ff){
5959if(_5ff.nodeType==3){
5960ma(function(_600){
5961_5fc.insertBefore(MochiKit.DOM.SPAN({style:_5fd},_600==" "?String.fromCharCode(160):_600),_5ff);
5962},_5ff.nodeValue.split(""));
5963MochiKit.DOM.removeElement(_5ff);
5964}
5965},_5fc.childNodes);
5966};
5967MochiKit.Visual.forceRerendering=function(_601){
5968try{
5969_601=MochiKit.DOM.getElement(_601);
5970var n=document.createTextNode(" ");
5971_601.appendChild(n);
5972_601.removeChild(n);
5973}
5974catch(e){
5975}
5976};
5977MochiKit.Visual.multiple=function(_603,_604,_605){
5978_605=MochiKit.Base.update({speed:0.1,delay:0},_605||{});
5979var _606=_605.delay;
5980var _607=0;
5981MochiKit.Base.map(function(_608){
5982_605.delay=_607*_605.speed+_606;
5983new _604(_608,_605);
5984_607+=1;
5985},_603);
5986};
5987MochiKit.Visual.PAIRS={"slide":["slideDown","slideUp"],"blind":["blindDown","blindUp"],"appear":["appear","fade"],"size":["grow","shrink"]};
5988MochiKit.Visual.toggle=function(_609,_60a,_60b){
5989_609=MochiKit.DOM.getElement(_609);
5990_60a=(_60a||"appear").toLowerCase();
5991_60b=MochiKit.Base.update({queue:{position:"end",scope:(_609.id||"global"),limit:1}},_60b||{});
5992var v=MochiKit.Visual;
5993v[_609.style.display!="none"?v.PAIRS[_60a][1]:v.PAIRS[_60a][0]](_609,_60b);
5994};
5995MochiKit.Visual.Transitions={};
5996MochiKit.Visual.Transitions.linear=function(pos){
5997return pos;
5998};
5999MochiKit.Visual.Transitions.sinoidal=function(pos){
6000return (-Math.cos(pos*Math.PI)/2)+0.5;
6001};
6002MochiKit.Visual.Transitions.reverse=function(pos){
6003return 1-pos;
6004};
6005MochiKit.Visual.Transitions.flicker=function(pos){
6006return ((-Math.cos(pos*Math.PI)/4)+0.75)+Math.random()/4;
6007};
6008MochiKit.Visual.Transitions.wobble=function(pos){
6009return (-Math.cos(pos*Math.PI*(9*pos))/2)+0.5;
6010};
6011MochiKit.Visual.Transitions.pulse=function(pos,_613){
6012if(!_613){
6013return (Math.floor(pos*10)%2===0?(pos*10-Math.floor(pos*10)):1-(pos*10-Math.floor(pos*10)));
6014}
6015return (Math.round((pos%(1/_613))*_613)==0?((pos*_613*2)-Math.floor(pos*_613*2)):1-((pos*_613*2)-Math.floor(pos*_613*2)));
6016};
6017MochiKit.Visual.Transitions.none=function(pos){
6018return 0;
6019};
6020MochiKit.Visual.Transitions.full=function(pos){
6021return 1;
6022};
6023MochiKit.Visual.ScopedQueue=function(){
6024var cls=arguments.callee;
6025if(!(this instanceof cls)){
6026return new cls();
6027}
6028this.__init__();
6029};
6030MochiKit.Base.update(MochiKit.Visual.ScopedQueue.prototype,{__init__:function(){
6031this.effects=[];
6032this.interval=null;
6033},add:function(_617){
6034var _618=new Date().getTime();
6035var _619=(typeof (_617.options.queue)=="string")?_617.options.queue:_617.options.queue.position;
6036var ma=MochiKit.Base.map;
6037switch(_619){
6038case "front":
6039ma(function(e){
6040if(e.state=="idle"){
6041e.startOn+=_617.finishOn;
6042e.finishOn+=_617.finishOn;
6043}
6044},this.effects);
6045break;
6046case "end":
6047var _61c;
6048ma(function(e){
6049var i=e.finishOn;
6050if(i>=(_61c||i)){
6051_61c=i;
6052}
6053},this.effects);
6054_618=_61c||_618;
6055break;
6056case "break":
6057ma(function(e){
6058e.finalize();
6059},this.effects);
6060break;
6061}
6062_617.startOn+=_618;
6063_617.finishOn+=_618;
6064if(!_617.options.queue.limit||this.effects.length<_617.options.queue.limit){
6065this.effects.push(_617);
6066}
6067if(!this.interval){
6068this.interval=this.startLoop(MochiKit.Base.bind(this.loop,this),40);
6069}
6070},startLoop:function(func,_621){
6071return setInterval(func,_621);
6072},remove:function(_622){
6073this.effects=MochiKit.Base.filter(function(e){
6074return e!=_622;
6075},this.effects);
6076if(!this.effects.length){
6077this.stopLoop(this.interval);
6078this.interval=null;
6079}
6080},stopLoop:function(_624){
6081clearInterval(_624);
6082},loop:function(){
6083var _625=new Date().getTime();
6084MochiKit.Base.map(function(_626){
6085_626.loop(_625);
6086},this.effects);
6087}});
6088MochiKit.Visual.Queues={instances:{},get:function(_627){
6089if(typeof (_627)!="string"){
6090return _627;
6091}
6092if(!this.instances[_627]){
6093this.instances[_627]=new MochiKit.Visual.ScopedQueue();
6094}
6095return this.instances[_627];
6096}};
6097MochiKit.Visual.Queue=MochiKit.Visual.Queues.get("global");
6098MochiKit.Visual.DefaultOptions={transition:MochiKit.Visual.Transitions.sinoidal,duration:1,fps:25,sync:false,from:0,to:1,delay:0,queue:"parallel"};
6099MochiKit.Visual.Base=function(){
6100};
6101MochiKit.Visual.Base.prototype={__class__:MochiKit.Visual.Base,start:function(_628){
6102var v=MochiKit.Visual;
6103this.options=MochiKit.Base.setdefault(_628||{},v.DefaultOptions);
6104this.currentFrame=0;
6105this.state="idle";
6106this.startOn=this.options.delay*1000;
6107this.finishOn=this.startOn+(this.options.duration*1000);
6108this.event("beforeStart");
6109if(!this.options.sync){
6110v.Queues.get(typeof (this.options.queue)=="string"?"global":this.options.queue.scope).add(this);
6111}
6112},loop:function(_62a){
6113if(_62a>=this.startOn){
6114if(_62a>=this.finishOn){
6115return this.finalize();
6116}
6117var pos=(_62a-this.startOn)/(this.finishOn-this.startOn);
6118var _62c=Math.round(pos*this.options.fps*this.options.duration);
6119if(_62c>this.currentFrame){
6120this.render(pos);
6121this.currentFrame=_62c;
6122}
6123}
6124},render:function(pos){
6125if(this.state=="idle"){
6126this.state="running";
6127this.event("beforeSetup");
6128this.setup();
6129this.event("afterSetup");
6130}
6131if(this.state=="running"){
6132if(this.options.transition){
6133pos=this.options.transition(pos);
6134}
6135pos*=(this.options.to-this.options.from);
6136pos+=this.options.from;
6137this.event("beforeUpdate");
6138this.update(pos);
6139this.event("afterUpdate");
6140}
6141},cancel:function(){
6142if(!this.options.sync){
6143MochiKit.Visual.Queues.get(typeof (this.options.queue)=="string"?"global":this.options.queue.scope).remove(this);
6144}
6145this.state="finished";
6146},finalize:function(){
6147this.render(1);
6148this.cancel();
6149this.event("beforeFinish");
6150this.finish();
6151this.event("afterFinish");
6152},setup:function(){
6153},finish:function(){
6154},update:function(_62e){
6155},event:function(_62f){
6156if(this.options[_62f+"Internal"]){
6157this.options[_62f+"Internal"](this);
6158}
6159if(this.options[_62f]){
6160this.options[_62f](this);
6161}
6162},repr:function(){
6163return "["+this.__class__.NAME+", options:"+MochiKit.Base.repr(this.options)+"]";
6164}};
6165MochiKit.Visual.Parallel=function(_630,_631){
6166var cls=arguments.callee;
6167if(!(this instanceof cls)){
6168return new cls(_630,_631);
6169}
6170this.__init__(_630,_631);
6171};
6172MochiKit.Visual.Parallel.prototype=new MochiKit.Visual.Base();
6173MochiKit.Base.update(MochiKit.Visual.Parallel.prototype,{__class__:MochiKit.Visual.Parallel,__init__:function(_633,_634){
6174this.effects=_633||[];
6175this.start(_634);
6176},update:function(_635){
6177MochiKit.Base.map(function(_636){
6178_636.render(_635);
6179},this.effects);
6180},finish:function(){
6181MochiKit.Base.map(function(_637){
6182_637.finalize();
6183},this.effects);
6184}});
6185MochiKit.Visual.Opacity=function(_638,_639){
6186var cls=arguments.callee;
6187if(!(this instanceof cls)){
6188return new cls(_638,_639);
6189}
6190this.__init__(_638,_639);
6191};
6192MochiKit.Visual.Opacity.prototype=new MochiKit.Visual.Base();
6193MochiKit.Base.update(MochiKit.Visual.Opacity.prototype,{__class__:MochiKit.Visual.Opacity,__init__:function(_63b,_63c){
6194var b=MochiKit.Base;
6195var s=MochiKit.Style;
6196this.element=MochiKit.DOM.getElement(_63b);
6197if(this.element.currentStyle&&(!this.element.currentStyle.hasLayout)){
6198s.setStyle(this.element,{zoom:1});
6199}
6200_63c=b.update({from:s.getStyle(this.element,"opacity")||0,to:1},_63c||{});
6201this.start(_63c);
6202},update:function(_63f){
6203MochiKit.Style.setStyle(this.element,{"opacity":_63f});
6204}});
6205MochiKit.Visual.Move=function(_640,_641){
6206var cls=arguments.callee;
6207if(!(this instanceof cls)){
6208return new cls(_640,_641);
6209}
6210this.__init__(_640,_641);
6211};
6212MochiKit.Visual.Move.prototype=new MochiKit.Visual.Base();
6213MochiKit.Base.update(MochiKit.Visual.Move.prototype,{__class__:MochiKit.Visual.Move,__init__:function(_643,_644){
6214this.element=MochiKit.DOM.getElement(_643);
6215_644=MochiKit.Base.update({x:0,y:0,mode:"relative"},_644||{});
6216this.start(_644);
6217},setup:function(){
6218MochiKit.DOM.makePositioned(this.element);
6219var s=this.element.style;
6220var _646=s.visibility;
6221var _647=s.display;
6222if(_647=="none"){
6223s.visibility="hidden";
6224s.display="";
6225}
6226this.originalLeft=parseFloat(MochiKit.Style.getStyle(this.element,"left")||"0");
6227this.originalTop=parseFloat(MochiKit.Style.getStyle(this.element,"top")||"0");
6228if(this.options.mode=="absolute"){
6229this.options.x-=this.originalLeft;
6230this.options.y-=this.originalTop;
6231}
6232if(_647=="none"){
6233s.visibility=_646;
6234s.display=_647;
6235}
6236},update:function(_648){
6237MochiKit.Style.setStyle(this.element,{left:Math.round(this.options.x*_648+this.originalLeft)+"px",top:Math.round(this.options.y*_648+this.originalTop)+"px"});
6238}});
6239MochiKit.Visual.Scale=function(_649,_64a,_64b){
6240var cls=arguments.callee;
6241if(!(this instanceof cls)){
6242return new cls(_649,_64a,_64b);
6243}
6244this.__init__(_649,_64a,_64b);
6245};
6246MochiKit.Visual.Scale.prototype=new MochiKit.Visual.Base();
6247MochiKit.Base.update(MochiKit.Visual.Scale.prototype,{__class__:MochiKit.Visual.Scale,__init__:function(_64d,_64e,_64f){
6248this.element=MochiKit.DOM.getElement(_64d);
6249_64f=MochiKit.Base.update({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:"box",scaleFrom:100,scaleTo:_64e},_64f||{});
6250this.start(_64f);
6251},setup:function(){
6252this.restoreAfterFinish=this.options.restoreAfterFinish||false;
6253this.elementPositioning=MochiKit.Style.getStyle(this.element,"position");
6254var ma=MochiKit.Base.map;
6255var b=MochiKit.Base.bind;
6256this.originalStyle={};
6257ma(b(function(k){
6258this.originalStyle[k]=this.element.style[k];
6259},this),["top","left","width","height","fontSize"]);
6260this.originalTop=this.element.offsetTop;
6261this.originalLeft=this.element.offsetLeft;
6262var _653=MochiKit.Style.getStyle(this.element,"font-size")||"100%";
6263ma(b(function(_654){
6264if(_653.indexOf(_654)>0){
6265this.fontSize=parseFloat(_653);
6266this.fontSizeType=_654;
6267}
6268},this),["em","px","%"]);
6269this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;
6270if(/^content/.test(this.options.scaleMode)){
6271this.dims=[this.element.scrollHeight,this.element.scrollWidth];
6272}else{
6273if(this.options.scaleMode=="box"){
6274this.dims=[this.element.offsetHeight,this.element.offsetWidth];
6275}else{
6276this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth];
6277}
6278}
6279},update:function(_655){
6280var _656=(this.options.scaleFrom/100)+(this.factor*_655);
6281if(this.options.scaleContent&&this.fontSize){
6282MochiKit.Style.setStyle(this.element,{fontSize:this.fontSize*_656+this.fontSizeType});
6283}
6284this.setDimensions(this.dims[0]*_656,this.dims[1]*_656);
6285},finish:function(){
6286if(this.restoreAfterFinish){
6287MochiKit.Style.setStyle(this.element,this.originalStyle);
6288}
6289},setDimensions:function(_657,_658){
6290var d={};
6291var r=Math.round;
6292if(/MSIE/.test(navigator.userAgent)){
6293r=Math.ceil;
6294}
6295if(this.options.scaleX){
6296d.width=r(_658)+"px";
6297}
6298if(this.options.scaleY){
6299d.height=r(_657)+"px";
6300}
6301if(this.options.scaleFromCenter){
6302var topd=(_657-this.dims[0])/2;
6303var _65c=(_658-this.dims[1])/2;
6304if(this.elementPositioning=="absolute"){
6305if(this.options.scaleY){
6306d.top=this.originalTop-topd+"px";
6307}
6308if(this.options.scaleX){
6309d.left=this.originalLeft-_65c+"px";
6310}
6311}else{
6312if(this.options.scaleY){
6313d.top=-topd+"px";
6314}
6315if(this.options.scaleX){
6316d.left=-_65c+"px";
6317}
6318}
6319}
6320MochiKit.Style.setStyle(this.element,d);
6321}});
6322MochiKit.Visual.Highlight=function(_65d,_65e){
6323var cls=arguments.callee;
6324if(!(this instanceof cls)){
6325return new cls(_65d,_65e);
6326}
6327this.__init__(_65d,_65e);
6328};
6329MochiKit.Visual.Highlight.prototype=new MochiKit.Visual.Base();
6330MochiKit.Base.update(MochiKit.Visual.Highlight.prototype,{__class__:MochiKit.Visual.Highlight,__init__:function(_660,_661){
6331this.element=MochiKit.DOM.getElement(_660);
6332_661=MochiKit.Base.update({startcolor:"#ffff99"},_661||{});
6333this.start(_661);
6334},setup:function(){
6335var b=MochiKit.Base;
6336var s=MochiKit.Style;
6337if(s.getStyle(this.element,"display")=="none"){
6338this.cancel();
6339return;
6340}
6341this.oldStyle={backgroundImage:s.getStyle(this.element,"background-image")};
6342s.setStyle(this.element,{backgroundImage:"none"});
6343if(!this.options.endcolor){
6344this.options.endcolor=MochiKit.Color.Color.fromBackground(this.element).toHexString();
6345}
6346if(b.isUndefinedOrNull(this.options.restorecolor)){
6347this.options.restorecolor=s.getStyle(this.element,"background-color");
6348}
6349this._base=b.map(b.bind(function(i){
6350return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16);
6351},this),[0,1,2]);
6352this._delta=b.map(b.bind(function(i){
6353return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i];
6354},this),[0,1,2]);
6355},update:function(_666){
6356var m="#";
6357MochiKit.Base.map(MochiKit.Base.bind(function(i){
6358m+=MochiKit.Color.toColorPart(Math.round(this._base[i]+this._delta[i]*_666));
6359},this),[0,1,2]);
6360MochiKit.Style.setStyle(this.element,{backgroundColor:m});
6361},finish:function(){
6362MochiKit.Style.setStyle(this.element,MochiKit.Base.update(this.oldStyle,{backgroundColor:this.options.restorecolor}));
6363}});
6364MochiKit.Visual.ScrollTo=function(_669,_66a){
6365var cls=arguments.callee;
6366if(!(this instanceof cls)){
6367return new cls(_669,_66a);
6368}
6369this.__init__(_669,_66a);
6370};
6371MochiKit.Visual.ScrollTo.prototype=new MochiKit.Visual.Base();
6372MochiKit.Base.update(MochiKit.Visual.ScrollTo.prototype,{__class__:MochiKit.Visual.ScrollTo,__init__:function(_66c,_66d){
6373this.element=MochiKit.DOM.getElement(_66c);
6374this.start(_66d||{});
6375},setup:function(){
6376var p=MochiKit.Position;
6377p.prepare();
6378var _66f=p.cumulativeOffset(this.element);
6379if(this.options.offset){
6380_66f.y+=this.options.offset;
6381}
6382var max;
6383if(window.innerHeight){
6384max=window.innerHeight-window.height;
6385}else{
6386if(document.documentElement&&document.documentElement.clientHeight){
6387max=document.documentElement.clientHeight-document.body.scrollHeight;
6388}else{
6389if(document.body){
6390max=document.body.clientHeight-document.body.scrollHeight;
6391}
6392}
6393}
6394this.scrollStart=p.windowOffset.y;
6395this.delta=(_66f.y>max?max:_66f.y)-this.scrollStart;
6396},update:function(_671){
6397var p=MochiKit.Position;
6398p.prepare();
6399window.scrollTo(p.windowOffset.x,this.scrollStart+(_671*this.delta));
6400}});
6401MochiKit.Visual.CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;
6402MochiKit.Visual.Morph=function(_673,_674){
6403var cls=arguments.callee;
6404if(!(this instanceof cls)){
6405return new cls(_673,_674);
6406}
6407this.__init__(_673,_674);
6408};
6409MochiKit.Visual.Morph.prototype=new MochiKit.Visual.Base();
6410MochiKit.Base.update(MochiKit.Visual.Morph.prototype,{__class__:MochiKit.Visual.Morph,__init__:function(_676,_677){
6411this.element=MochiKit.DOM.getElement(_676);
6412this.start(_677||{});
6413},setup:function(){
6414var b=MochiKit.Base;
6415var _679=this.options.style;
6416this.styleStart={};
6417this.styleEnd={};
6418this.units={};
6419var _67a,unit;
6420for(var s in _679){
6421_67a=_679[s];
6422s=b.camelize(s);
6423if(MochiKit.Visual.CSS_LENGTH.test(_67a)){
6424var _67d=_67a.match(/^([\+\-]?[0-9\.]+)(.*)$/);
6425_67a=parseFloat(_67d[1]);
6426unit=(_67d.length==3)?_67d[2]:null;
6427this.styleEnd[s]=_67a;
6428this.units[s]=unit;
6429_67a=MochiKit.Style.getStyle(this.element,s);
6430_67d=_67a.match(/^([\+\-]?[0-9\.]+)(.*)$/);
6431_67a=parseFloat(_67d[1]);
6432this.styleStart[s]=_67a;
6433}else{
6434var c=MochiKit.Color.Color;
6435_67a=c.fromString(_67a);
6436if(_67a){
6437this.units[s]="color";
6438this.styleEnd[s]=_67a.toHexString();
6439_67a=MochiKit.Style.getStyle(this.element,s);
6440this.styleStart[s]=c.fromString(_67a).toHexString();
6441this.styleStart[s]=b.map(b.bind(function(i){
6442return parseInt(this.styleStart[s].slice(i*2+1,i*2+3),16);
6443},this),[0,1,2]);
6444this.styleEnd[s]=b.map(b.bind(function(i){
6445return parseInt(this.styleEnd[s].slice(i*2+1,i*2+3),16);
6446},this),[0,1,2]);
6447}
6448}
6449}
6450},update:function(_681){
6451var _682;
6452for(var s in this.styleStart){
6453if(this.units[s]=="color"){
6454var m="#";
6455var _685=this.styleStart[s];
6456var end=this.styleEnd[s];
6457MochiKit.Base.map(MochiKit.Base.bind(function(i){
6458m+=MochiKit.Color.toColorPart(Math.round(_685[i]+(end[i]-_685[i])*_681));
6459},this),[0,1,2]);
6460this.element.style[s]=m;
6461}else{
6462_682=this.styleStart[s]+Math.round((this.styleEnd[s]-this.styleStart[s])*_681*1000)/1000+this.units[s];
6463this.element.style[s]=_682;
6464}
6465}
6466}});
6467MochiKit.Visual.fade=function(_688,_689){
6468var s=MochiKit.Style;
6469var _68b=s.getStyle(_688,"opacity");
6470_689=MochiKit.Base.update({from:s.getStyle(_688,"opacity")||1,to:0,afterFinishInternal:function(_68c){
6471if(_68c.options.to!==0){
6472return;
6473}
6474s.hideElement(_68c.element);
6475s.setStyle(_68c.element,{"opacity":_68b});
6476}},_689||{});
6477return new MochiKit.Visual.Opacity(_688,_689);
6478};
6479MochiKit.Visual.appear=function(_68d,_68e){
6480var s=MochiKit.Style;
6481var v=MochiKit.Visual;
6482_68e=MochiKit.Base.update({from:(s.getStyle(_68d,"display")=="none"?0:s.getStyle(_68d,"opacity")||0),to:1,afterFinishInternal:function(_691){
6483v.forceRerendering(_691.element);
6484},beforeSetupInternal:function(_692){
6485s.setStyle(_692.element,{"opacity":_692.options.from});
6486s.showElement(_692.element);
6487}},_68e||{});
6488return new v.Opacity(_68d,_68e);
6489};
6490MochiKit.Visual.puff=function(_693,_694){
6491var s=MochiKit.Style;
6492var v=MochiKit.Visual;
6493_693=MochiKit.DOM.getElement(_693);
6494var _697={position:s.getStyle(_693,"position"),top:_693.style.top,left:_693.style.left,width:_693.style.width,height:_693.style.height,opacity:s.getStyle(_693,"opacity")};
6495_694=MochiKit.Base.update({beforeSetupInternal:function(_698){
6496MochiKit.Position.absolutize(_698.effects[0].element);
6497},afterFinishInternal:function(_699){
6498s.hideElement(_699.effects[0].element);
6499s.setStyle(_699.effects[0].element,_697);
6500},scaleContent:true,scaleFromCenter:true},_694||{});
6501return new v.Parallel([new v.Scale(_693,200,{sync:true,scaleFromCenter:_694.scaleFromCenter,scaleContent:_694.scaleContent,restoreAfterFinish:true}),new v.Opacity(_693,{sync:true,to:0})],_694);
6502};
6503MochiKit.Visual.blindUp=function(_69a,_69b){
6504var d=MochiKit.DOM;
6505_69a=d.getElement(_69a);
6506var _69d=d.makeClipping(_69a);
6507_69b=MochiKit.Base.update({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(_69e){
6508MochiKit.Style.hideElement(_69e.element);
6509d.undoClipping(_69e.element,_69d);
6510}},_69b||{});
6511return new MochiKit.Visual.Scale(_69a,0,_69b);
6512};
6513MochiKit.Visual.blindDown=function(_69f,_6a0){
6514var d=MochiKit.DOM;
6515var s=MochiKit.Style;
6516_69f=d.getElement(_69f);
6517var _6a3=s.getElementDimensions(_69f);
6518var _6a4;
6519_6a0=MochiKit.Base.update({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:_6a3.h,originalWidth:_6a3.w},restoreAfterFinish:true,afterSetupInternal:function(_6a5){
6520_6a4=d.makeClipping(_6a5.element);
6521s.setStyle(_6a5.element,{height:"0px"});
6522s.showElement(_6a5.element);
6523},afterFinishInternal:function(_6a6){
6524d.undoClipping(_6a6.element,_6a4);
6525}},_6a0||{});
6526return new MochiKit.Visual.Scale(_69f,100,_6a0);
6527};
6528MochiKit.Visual.switchOff=function(_6a7,_6a8){
6529var d=MochiKit.DOM;
6530_6a7=d.getElement(_6a7);
6531var _6aa=MochiKit.Style.getStyle(_6a7,"opacity");
6532var _6ab;
6533_6a8=MochiKit.Base.update({duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetupInternal:function(_6ac){
6534d.makePositioned(_6ac.element);
6535_6ab=d.makeClipping(_6ac.element);
6536},afterFinishInternal:function(_6ad){
6537MochiKit.Style.hideElement(_6ad.element);
6538d.undoClipping(_6ad.element,_6ab);
6539d.undoPositioned(_6ad.element);
6540MochiKit.Style.setStyle(_6ad.element,{"opacity":_6aa});
6541}},_6a8||{});
6542var v=MochiKit.Visual;
6543return new v.appear(_6a7,{duration:0.4,from:0,transition:v.Transitions.flicker,afterFinishInternal:function(_6af){
6544new v.Scale(_6af.element,1,_6a8);
6545}});
6546};
6547MochiKit.Visual.dropOut=function(_6b0,_6b1){
6548var d=MochiKit.DOM;
6549var s=MochiKit.Style;
6550_6b0=d.getElement(_6b0);
6551var _6b4={top:s.getStyle(_6b0,"top"),left:s.getStyle(_6b0,"left"),opacity:s.getStyle(_6b0,"opacity")};
6552_6b1=MochiKit.Base.update({duration:0.5,distance:100,beforeSetupInternal:function(_6b5){
6553d.makePositioned(_6b5.effects[0].element);
6554},afterFinishInternal:function(_6b6){
6555s.hideElement(_6b6.effects[0].element);
6556d.undoPositioned(_6b6.effects[0].element);
6557s.setStyle(_6b6.effects[0].element,_6b4);
6558}},_6b1||{});
6559var v=MochiKit.Visual;
6560return new v.Parallel([new v.Move(_6b0,{x:0,y:_6b1.distance,sync:true}),new v.Opacity(_6b0,{sync:true,to:0})],_6b1);
6561};
6562MochiKit.Visual.shake=function(_6b8,_6b9){
6563var d=MochiKit.DOM;
6564var v=MochiKit.Visual;
6565var s=MochiKit.Style;
6566_6b8=d.getElement(_6b8);
6567_6b9=MochiKit.Base.update({x:-20,y:0,duration:0.05,afterFinishInternal:function(_6bd){
6568d.undoPositioned(_6bd.element);
6569s.setStyle(_6bd.element,_6be);
6570}},_6b9||{});
6571var _6be={top:s.getStyle(_6b8,"top"),left:s.getStyle(_6b8,"left")};
6572return new v.Move(_6b8,{x:20,y:0,duration:0.05,afterFinishInternal:function(_6bf){
6573new v.Move(_6bf.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(_6c0){
6574new v.Move(_6c0.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(_6c1){
6575new v.Move(_6c1.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(_6c2){
6576new v.Move(_6c2.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(_6c3){
6577new v.Move(_6c3.element,_6b9);
6578}});
6579}});
6580}});
6581}});
6582}});
6583};
6584MochiKit.Visual.slideDown=function(_6c4,_6c5){
6585var d=MochiKit.DOM;
6586var b=MochiKit.Base;
6587var s=MochiKit.Style;
6588_6c4=d.getElement(_6c4);
6589if(!_6c4.firstChild){
6590throw "MochiKit.Visual.slideDown must be used on a element with a child";
6591}
6592d.removeEmptyTextNodes(_6c4);
6593var _6c9=s.getStyle(_6c4.firstChild,"bottom")||0;
6594var _6ca=s.getElementDimensions(_6c4);
6595var _6cb;
6596_6c5=b.update({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:_6ca.h,originalWidth:_6ca.w},restoreAfterFinish:true,afterSetupInternal:function(_6cc){
6597d.makePositioned(_6cc.element);
6598d.makePositioned(_6cc.element.firstChild);
6599if(/Opera/.test(navigator.userAgent)){
6600s.setStyle(_6cc.element,{top:""});
6601}
6602_6cb=d.makeClipping(_6cc.element);
6603s.setStyle(_6cc.element,{height:"0px"});
6604s.showElement(_6cc.element);
6605},afterUpdateInternal:function(_6cd){
6606s.setStyle(_6cd.element.firstChild,{bottom:(_6cd.dims[0]-_6cd.element.clientHeight)+"px"});
6607},afterFinishInternal:function(_6ce){
6608d.undoClipping(_6ce.element,_6cb);
6609if(/MSIE/.test(navigator.userAgent)){
6610d.undoPositioned(_6ce.element);
6611d.undoPositioned(_6ce.element.firstChild);
6612}else{
6613d.undoPositioned(_6ce.element.firstChild);
6614d.undoPositioned(_6ce.element);
6615}
6616s.setStyle(_6ce.element.firstChild,{bottom:_6c9});
6617}},_6c5||{});
6618return new MochiKit.Visual.Scale(_6c4,100,_6c5);
6619};
6620MochiKit.Visual.slideUp=function(_6cf,_6d0){
6621var d=MochiKit.DOM;
6622var b=MochiKit.Base;
6623var s=MochiKit.Style;
6624_6cf=d.getElement(_6cf);
6625if(!_6cf.firstChild){
6626throw "MochiKit.Visual.slideUp must be used on a element with a child";
6627}
6628d.removeEmptyTextNodes(_6cf);
6629var _6d4=s.getStyle(_6cf.firstChild,"bottom");
6630var _6d5;
6631_6d0=b.update({scaleContent:false,scaleX:false,scaleMode:"box",scaleFrom:100,restoreAfterFinish:true,beforeStartInternal:function(_6d6){
6632d.makePositioned(_6d6.element);
6633d.makePositioned(_6d6.element.firstChild);
6634if(/Opera/.test(navigator.userAgent)){
6635s.setStyle(_6d6.element,{top:""});
6636}
6637_6d5=d.makeClipping(_6d6.element);
6638s.showElement(_6d6.element);
6639},afterUpdateInternal:function(_6d7){
6640s.setStyle(_6d7.element.firstChild,{bottom:(_6d7.dims[0]-_6d7.element.clientHeight)+"px"});
6641},afterFinishInternal:function(_6d8){
6642s.hideElement(_6d8.element);
6643d.undoClipping(_6d8.element,_6d5);
6644d.undoPositioned(_6d8.element.firstChild);
6645d.undoPositioned(_6d8.element);
6646s.setStyle(_6d8.element.firstChild,{bottom:_6d4});
6647}},_6d0||{});
6648return new MochiKit.Visual.Scale(_6cf,0,_6d0);
6649};
6650MochiKit.Visual.squish=function(_6d9,_6da){
6651var d=MochiKit.DOM;
6652var b=MochiKit.Base;
6653var _6dd;
6654_6da=b.update({restoreAfterFinish:true,beforeSetupInternal:function(_6de){
6655_6dd=d.makeClipping(_6de.element);
6656},afterFinishInternal:function(_6df){
6657MochiKit.Style.hideElement(_6df.element);
6658d.undoClipping(_6df.element,_6dd);
6659}},_6da||{});
6660return new MochiKit.Visual.Scale(_6d9,/Opera/.test(navigator.userAgent)?1:0,_6da);
6661};
6662MochiKit.Visual.grow=function(_6e0,_6e1){
6663var d=MochiKit.DOM;
6664var v=MochiKit.Visual;
6665var s=MochiKit.Style;
6666_6e0=d.getElement(_6e0);
6667_6e1=MochiKit.Base.update({direction:"center",moveTransition:v.Transitions.sinoidal,scaleTransition:v.Transitions.sinoidal,opacityTransition:v.Transitions.full,scaleContent:true,scaleFromCenter:false},_6e1||{});
6668var _6e5={top:_6e0.style.top,left:_6e0.style.left,height:_6e0.style.height,width:_6e0.style.width,opacity:s.getStyle(_6e0,"opacity")};
6669var dims=s.getElementDimensions(_6e0);
6670var _6e7,_6e8;
6671var _6e9,_6ea;
6672switch(_6e1.direction){
6673case "top-left":
6674_6e7=_6e8=_6e9=_6ea=0;
6675break;
6676case "top-right":
6677_6e7=dims.w;
6678_6e8=_6ea=0;
6679_6e9=-dims.w;
6680break;
6681case "bottom-left":
6682_6e7=_6e9=0;
6683_6e8=dims.h;
6684_6ea=-dims.h;
6685break;
6686case "bottom-right":
6687_6e7=dims.w;
6688_6e8=dims.h;
6689_6e9=-dims.w;
6690_6ea=-dims.h;
6691break;
6692case "center":
6693_6e7=dims.w/2;
6694_6e8=dims.h/2;
6695_6e9=-dims.w/2;
6696_6ea=-dims.h/2;
6697break;
6698}
6699var _6eb=MochiKit.Base.update({beforeSetupInternal:function(_6ec){
6700s.setStyle(_6ec.effects[0].element,{height:"0px"});
6701s.showElement(_6ec.effects[0].element);
6702},afterFinishInternal:function(_6ed){
6703d.undoClipping(_6ed.effects[0].element);
6704d.undoPositioned(_6ed.effects[0].element);
6705s.setStyle(_6ed.effects[0].element,_6e5);
6706}},_6e1||{});
6707return new v.Move(_6e0,{x:_6e7,y:_6e8,duration:0.01,beforeSetupInternal:function(_6ee){
6708s.hideElement(_6ee.element);
6709d.makeClipping(_6ee.element);
6710d.makePositioned(_6ee.element);
6711},afterFinishInternal:function(_6ef){
6712new v.Parallel([new v.Opacity(_6ef.element,{sync:true,to:1,from:0,transition:_6e1.opacityTransition}),new v.Move(_6ef.element,{x:_6e9,y:_6ea,sync:true,transition:_6e1.moveTransition}),new v.Scale(_6ef.element,100,{scaleMode:{originalHeight:dims.h,originalWidth:dims.w},sync:true,scaleFrom:/Opera/.test(navigator.userAgent)?1:0,transition:_6e1.scaleTransition,scaleContent:_6e1.scaleContent,scaleFromCenter:_6e1.scaleFromCenter,restoreAfterFinish:true})],_6eb);
6713}});
6714};
6715MochiKit.Visual.shrink=function(_6f0,_6f1){
6716var d=MochiKit.DOM;
6717var v=MochiKit.Visual;
6718var s=MochiKit.Style;
6719_6f0=d.getElement(_6f0);
6720_6f1=MochiKit.Base.update({direction:"center",moveTransition:v.Transitions.sinoidal,scaleTransition:v.Transitions.sinoidal,opacityTransition:v.Transitions.none,scaleContent:true,scaleFromCenter:false},_6f1||{});
6721var _6f5={top:_6f0.style.top,left:_6f0.style.left,height:_6f0.style.height,width:_6f0.style.width,opacity:s.getStyle(_6f0,"opacity")};
6722var dims=s.getElementDimensions(_6f0);
6723var _6f7,_6f8;
6724switch(_6f1.direction){
6725case "top-left":
6726_6f7=_6f8=0;
6727break;
6728case "top-right":
6729_6f7=dims.w;
6730_6f8=0;
6731break;
6732case "bottom-left":
6733_6f7=0;
6734_6f8=dims.h;
6735break;
6736case "bottom-right":
6737_6f7=dims.w;
6738_6f8=dims.h;
6739break;
6740case "center":
6741_6f7=dims.w/2;
6742_6f8=dims.h/2;
6743break;
6744}
6745var _6f9;
6746var _6fa=MochiKit.Base.update({beforeStartInternal:function(_6fb){
6747_6f9=d.makePositioned(_6fb.effects[0].element);
6748d.makeClipping(_6fb.effects[0].element);
6749},afterFinishInternal:function(_6fc){
6750s.hideElement(_6fc.effects[0].element);
6751d.undoClipping(_6fc.effects[0].element,_6f9);
6752d.undoPositioned(_6fc.effects[0].element);
6753s.setStyle(_6fc.effects[0].element,_6f5);
6754}},_6f1||{});
6755return new v.Parallel([new v.Opacity(_6f0,{sync:true,to:0,from:1,transition:_6f1.opacityTransition}),new v.Scale(_6f0,/Opera/.test(navigator.userAgent)?1:0,{sync:true,transition:_6f1.scaleTransition,scaleContent:_6f1.scaleContent,scaleFromCenter:_6f1.scaleFromCenter,restoreAfterFinish:true}),new v.Move(_6f0,{x:_6f7,y:_6f8,sync:true,transition:_6f1.moveTransition})],_6fa);
6756};
6757MochiKit.Visual.pulsate=function(_6fd,_6fe){
6758var d=MochiKit.DOM;
6759var v=MochiKit.Visual;
6760var b=MochiKit.Base;
6761var _702=MochiKit.Style.getStyle(_6fd,"opacity");
6762_6fe=b.update({duration:3,from:0,afterFinishInternal:function(_703){
6763MochiKit.Style.setStyle(_703.element,{"opacity":_702});
6764}},_6fe||{});
6765var _704=_6fe.transition||v.Transitions.sinoidal;
6766var _705=b.bind(function(pos){
6767return _704(1-v.Transitions.pulse(pos,_6fe.pulses));
6768},_704);
6769b.bind(_705,_704);
6770return new v.Opacity(_6fd,b.update({transition:_705},_6fe));
6771};
6772MochiKit.Visual.fold=function(_707,_708){
6773var d=MochiKit.DOM;
6774var v=MochiKit.Visual;
6775var s=MochiKit.Style;
6776_707=d.getElement(_707);
6777var _70c={top:_707.style.top,left:_707.style.left,width:_707.style.width,height:_707.style.height};
6778var _70d=d.makeClipping(_707);
6779_708=MochiKit.Base.update({scaleContent:false,scaleX:false,afterFinishInternal:function(_70e){
6780new v.Scale(_707,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(_70f){
6781s.hideElement(_70f.element);
6782d.undoClipping(_70f.element,_70d);
6783s.setStyle(_70f.element,_70c);
6784}});
6785}},_708||{});
6786return new v.Scale(_707,5,_708);
6787};
6788MochiKit.Visual.Color=MochiKit.Color.Color;
6789MochiKit.Visual.getElementsComputedStyle=MochiKit.DOM.computedStyle;
6790MochiKit.Visual.__new__=function(){
6791var m=MochiKit.Base;
6792m.nameFunctions(this);
6793this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};
6794};
6795MochiKit.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"];
6796MochiKit.Visual.EXPORT_OK=["Base","PAIRS"];
6797MochiKit.Visual.__new__();
6798MochiKit.Base._exportSymbols(this,MochiKit.Visual);
6799if(typeof (MochiKit)=="undefined"){
6800MochiKit={};
6801}
6802if(typeof (MochiKit.MochiKit)=="undefined"){
6803MochiKit.MochiKit={};
6804}
6805MochiKit.MochiKit.NAME="MochiKit.MochiKit";
6806MochiKit.MochiKit.VERSION="1.4";
6807MochiKit.MochiKit.__repr__=function(){
6808return "["+this.NAME+" "+this.VERSION+"]";
6809};
6810MochiKit.MochiKit.toString=function(){
6811return this.__repr__();
6812};
6813MochiKit.MochiKit.SUBMODULES=["Base","Iter","Logging","DateTime","Format","Async","DOM","Selector","Style","LoggingPane","Color","Signal","Position","Visual"];
6814if(typeof (JSAN)!="undefined"||typeof (dojo)!="undefined"){
6815if(typeof (dojo)!="undefined"){
6816dojo.provide("MochiKit.MochiKit");
6817dojo.require("MochiKit.*");
6818}
6819if(typeof (JSAN)!="undefined"){
6820(function(lst){
6821for(var i=0;i<lst.length;i++){
6822JSAN.use("MochiKit."+lst[i],[]);
6823}
6824})(MochiKit.MochiKit.SUBMODULES);
6825}
6826(function(){
6827var _713=MochiKit.Base.extend;
6828var self=MochiKit.MochiKit;
6829var _715=self.SUBMODULES;
6830var _716=[];
6831var _717=[];
6832var _718={};
6833var i,k,m,all;
6834for(i=0;i<_715.length;i++){
6835m=MochiKit[_715[i]];
6836_713(_716,m.EXPORT);
6837_713(_717,m.EXPORT_OK);
6838for(k in m.EXPORT_TAGS){
6839_718[k]=_713(_718[k],m.EXPORT_TAGS[k]);
6840}
6841all=m.EXPORT_TAGS[":all"];
6842if(!all){
6843all=_713(null,m.EXPORT,m.EXPORT_OK);
6844}
6845var j;
6846for(j=0;j<all.length;j++){
6847k=all[j];
6848self[k]=m[k];
6849}
6850}
6851self.EXPORT=_716;
6852self.EXPORT_OK=_717;
6853self.EXPORT_TAGS=_718;
6854}());
6855}else{
6856if(typeof (MochiKit.__compat__)=="undefined"){
6857MochiKit.__compat__=true;
6858}
6859(function(){
6860if(typeof (document)=="undefined"){
6861return;
6862}
6863var _71e=document.getElementsByTagName("script");
6864var _71f="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
6865var base=null;
6866var _721=null;
6867var _722={};
6868var i;
6869for(i=0;i<_71e.length;i++){
6870var src=_71e[i].getAttribute("src");
6871if(!src){
6872continue;
6873}
6874_722[src]=true;
6875if(src.match(/MochiKit.js$/)){
6876base=src.substring(0,src.lastIndexOf("MochiKit.js"));
6877_721=_71e[i];
6878}
6879}
6880if(base===null){
6881return;
6882}
6883var _725=MochiKit.MochiKit.SUBMODULES;
6884for(var i=0;i<_725.length;i++){
6885if(MochiKit[_725[i]]){
6886continue;
6887}
6888var uri=base+_725[i]+".js";
6889if(uri in _722){
6890continue;
6891}
6892if(document.documentElement&&document.documentElement.namespaceURI==_71f){
6893var s=document.createElementNS(_71f,"script");
6894s.setAttribute("id","MochiKit_"+base+_725[i]);
6895s.setAttribute("src",uri);
6896s.setAttribute("type","application/x-javascript");
6897_721.parentNode.appendChild(s);
6898}else{
6899document.write("<script src=\""+uri+"\" type=\"text/javascript\"></script>");
6900}
6901}
6902})();
6903}
6904
6905