if(typeof (dojo)!="undefined"){
dojo.provide("MochiKit.Base");
}
if(typeof (MochiKit)=="undefined"){
MochiKit={};
}
if(typeof (MochiKit.Base)=="undefined"){
MochiKit.Base={};
}
MochiKit.Base.VERSION="1.1";
MochiKit.Base.NAME="MochiKit.Base";
MochiKit.Base.update=function(_1,_2){
if(_1==null){
_1={};
}
for(var i=1;i<arguments.length;i++){
var o=arguments[i];
if(typeof (o)!="undefined"&&o!=null){
for(var k in o){
_1[k]=o[k];
}
}
}
return _1;
};
MochiKit.Base.update(MochiKit.Base,{__repr__:function(){
return "["+this.NAME+" "+this.VERSION+"]";
},toString:function(){
return this.__repr__();
},counter:function(n){
if(arguments.length==0){
n=1;
}
return function(){
return n++;
};
},clone:function(_7){
var me=arguments.callee;
if(arguments.length==1){
me.prototype=_7;
return new me();
}
},extend:function(_9,_a,_b){
if(!_b){
_b=0;
}
if(_a){
var l=_a.length;
if(typeof (l)!="number"){
if(typeof (MochiKit.Iter)!="undefined"){
_a=MochiKit.Iter.list(_a);
l=_a.length;
}else{
throw new TypeError("Argument not an array-like and MochiKit.Iter not present");
}
}
if(!_9){
_9=[];
}
for(var i=_b;i<l;i++){
_9.push(_a[i]);
}
}
return _9;
},updatetree:function(_e,_f){
if(_e==null){
_e={};
}
for(var i=1;i<arguments.length;i++){
var o=arguments[i];
if(typeof (o)!="undefined"&&o!=null){
for(var k in o){
var v=o[k];
if(typeof (_e[k])=="object"&&typeof (v)=="object"){
arguments.callee(_e[k],v);
}else{
_e[k]=v;
}
}
}
}
return _e;
},setdefault:function(_14,obj){
if(_14==null){
_14={};
}
for(var i=1;i<arguments.length;i++){
var o=arguments[i];
for(var k in o){
if(!(k in _14)){
_14[k]=o[k];
}
}
}
return _14;
},keys:function(obj){
var _1a=[];
for(var _1b in obj){
_1a.push(_1b);
}
return _1a;
},items:function(obj){
var _1d=[];
var e;
for(var _1f in obj){
var v;
try{
v=obj[_1f];
}
catch(e){
continue;
}
_1d.push([_1f,v]);
}
return _1d;
},_newNamedError:function(_21,_22,_23){
_23.prototype=new MochiKit.Base.NamedError(_21.NAME+"."+_22);
_21[_22]=_23;
},operator:{truth:function(a){
return !!a;
},lognot:function(a){
return !a;
},identity:function(a){
return a;
},not:function(a){
return ~a;
},neg:function(a){
return -a;
},add:function(a,b){
return a+b;
},sub:function(a,b){
return a-b;
},div:function(a,b){
return a/b;
},mod:function(a,b){
return a%b;
},and:function(a,b){
return a&b;
},or:function(a,b){
return a|b;
},xor:function(a,b){
return a^b;
},lshift:function(a,b){
return a<<b;
},rshift:function(a,b){
return a>>b;
},zrshift:function(a,b){
return a>>>b;
},eq:function(a,b){
return a==b;
},ne:function(a,b){
return a!=b;
},gt:function(a,b){
return a>b;
},ge:function(a,b){
return a>=b;
},lt:function(a,b){
return a<b;
},le:function(a,b){
return a<=b;
},ceq:function(a,b){
return MochiKit.Base.compare(a,b)==0;
},cne:function(a,b){
return MochiKit.Base.compare(a,b)!=0;
},cgt:function(a,b){
return MochiKit.Base.compare(a,b)==1;
},cge:function(a,b){
return MochiKit.Base.compare(a,b)!=-1;
},clt:function(a,b){
return MochiKit.Base.compare(a,b)==-1;
},cle:function(a,b){
return MochiKit.Base.compare(a,b)!=1;
},logand:function(a,b){
return a&&b;
},logor:function(a,b){
return a||b;
},contains:function(a,b){
return b in a;
}},forward:function(_5b){
return function(){
return this[_5b].apply(this,arguments);
};
},itemgetter:function(_5c){
return function(arg){
return arg[_5c];
};
},typeMatcher:function(){
var _5e={};
for(var i=0;i<arguments.length;i++){
var typ=arguments[i];
_5e[typ]=typ;
}
return function(){
for(var i=0;i<arguments.length;i++){
if(!(typeof (arguments[i]) in _5e)){
return false;
}
}
return true;
};
},isNull:function(){
for(var i=0;i<arguments.length;i++){
if(arguments[i]!=null){
return false;
}
}
return true;
},isUndefinedOrNull:function(){
for(var i=0;i<arguments.length;i++){
var o=arguments[i];
if(!(typeof (o)=="undefined"||o==null)){
return false;
}
}
return true;
},isNotEmpty:function(obj){
for(var i=0;i<arguments.length;i++){
var o=arguments[i];
if(!(o&&o.length)){
return false;
}
}
return true;
},isArrayLike:function(){
for(var i=0;i<arguments.length;i++){
var o=arguments[i];
var typ=typeof (o);
if((typ!="object"&&!(typ=="function"&&typeof (o.item)=="function"))||o==null||typeof (o.length)!="number"){
return false;
}
}
return true;
},isDateLike:function(){
for(var i=0;i<arguments.length;i++){
var o=arguments[i];
if(typeof (o)!="object"||typeof (o.getTime)!="function"){
return false;
}
}
return true;
},xmap:function(fn){
if(fn==null){
return MochiKit.Base.extend(null,arguments,1);
}
var _6e=[];
for(var i=1;i<arguments.length;i++){
_6e.push(fn(arguments[i]));
}
return _6e;
},map:function(fn,lst){
var m=MochiKit.Base;
var _73=m.isArrayLike;
if(arguments.length<=2){
if(!_73(lst)){
if(MochiKit.Iter){
lst=MochiKit.Iter.list(lst);
if(fn==null){
return lst;
}
}else{
throw new TypeError("Argument not an array-like and MochiKit.Iter not present");
}
}
if(fn==null){
return m.extend(null,lst);
}
var _74=[];
for(var i=0;i<lst.length;i++){
_74.push(fn(lst[i]));
}
return _74;
}else{
if(fn==null){
fn=Array;
}
var _76=null;
for(i=1;i<arguments.length;i++){
if(!_73(arguments[i])){
if(MochiKit.Iter){
arguments[i]=MochiKit.Iter.list(arguments[i]);
}else{
throw new TypeError("Argument not an array-like and MochiKit.Iter not present");
}
}
var l=arguments[i].length;
if(_76==null||_76>l){
_76=l;
}
}
_74=[];
for(i=0;i<_76;i++){
var _78=[];
for(var j=1;j<arguments.length;j++){
_78.push(arguments[j][i]);
}
_74.push(fn.apply(this,_78));
}
return _74;
}
},xfilter:function(fn){
var _7b=[];
if(fn==null){
fn=MochiKit.Base.operator.truth;
}
for(var i=1;i<arguments.length;i++){
var o=arguments[i];
if(fn(o)){
_7b.push(o);
}
}
return _7b;
},filter:function(fn,lst,_80){
var _81=[];
var m=MochiKit.Base;
if(!m.isArrayLike(lst)){
if(MochiKit.Iter){
lst=MochiKit.Iter.list(lst);
}else{
throw new TypeError("Argument not an array-like and MochiKit.Iter not present");
}
}
if(fn==null){
fn=m.operator.truth;
}
if(typeof (Array.prototype.filter)=="function"){
return Array.prototype.filter.call(lst,fn,_80);
}else{
if(typeof (_80)=="undefined"||_80==null){
for(var i=0;i<lst.length;i++){
var o=lst[i];
if(fn(o)){
_81.push(o);
}
}
}else{
for(i=0;i<lst.length;i++){
o=lst[i];
if(fn.call(_80,o)){
_81.push(o);
}
}
}
}
return _81;
},_wrapDumbFunction:function(_85){
return function(){
switch(arguments.length){
case 0:
return _85();
case 1:
return _85(arguments[0]);
case 2:
return _85(arguments[0],arguments[1]);
case 3:
return _85(arguments[0],arguments[1],arguments[2]);
}
var _86=[];
for(var i=0;i<arguments.length;i++){
_86.push("arguments["+i+"]");
}
return eval("(func("+_86.join(",")+"))");
};
},bind:function(_88,_89){
var _8a=_88.im_func;
var _8b=_88.im_preargs;
var _8c=_88.im_self;
var m=MochiKit.Base;
if(typeof (_88)=="function"&&typeof (_88.apply)=="undefined"){
_88=m._wrapDumbFunction(_88);
}
if(typeof (_8a)!="function"){
_8a=_88;
}
if(typeof (_89)!="undefined"){
_8c=_89;
}
if(typeof (_8b)=="undefined"){
_8b=[];
}else{
_8b=_8b.slice();
}
m.extend(_8b,arguments,2);
var _8e=function(){
var _8f=arguments;
var me=arguments.callee;
if(me.im_preargs.length>0){
_8f=m.concat(me.im_preargs,_8f);
}
var _91=me.im_self;
if(!_91){
_91=this;
}
return me.im_func.apply(_91,_8f);
};
_8e.im_self=_8c;
_8e.im_func=_8a;
_8e.im_preargs=_8b;
return _8e;
},bindMethods:function(_92){
var _93=MochiKit.Base.bind;
for(var k in _92){
var _95=_92[k];
if(typeof (_95)=="function"){
_92[k]=_93(_95,_92);
}
}
},registerComparator:function(_96,_97,_98,_99){
MochiKit.Base.comparatorRegistry.register(_96,_97,_98,_99);
},_primitives:{"bool":true,"string":true,"number":true},compare:function(a,b){
if(a==b){
return 0;
}
var _9c=(typeof (a)=="undefined"||a==null);
var _9d=(typeof (b)=="undefined"||b==null);
if(_9c&&_9d){
return 0;
}else{
if(_9c){
return -1;
}else{
if(_9d){
return 1;
}
}
}
var m=MochiKit.Base;
var _9f=m._primitives;
if(!(typeof (a) in _9f&&typeof (b) in _9f)){
try{
return m.comparatorRegistry.match(a,b);
}
catch(e){
if(e!=m.NotFound){
throw e;
}
}
}
if(a<b){
return -1;
}else{
if(a>b){
return 1;
}
}
var _a0=m.repr;
throw new TypeError(_a0(a)+" and "+_a0(b)+" can not be compared");
},compareDateLike:function(a,b){
return MochiKit.Base.compare(a.getTime(),b.getTime());
},compareArrayLike:function(a,b){
var _a5=MochiKit.Base.compare;
var _a6=a.length;
var _a7=0;
if(_a6>b.length){
_a7=1;
_a6=b.length;
}else{
if(_a6<b.length){
_a7=-1;
}
}
for(var i=0;i<_a6;i++){
var cmp=_a5(a[i],b[i]);
if(cmp){
return cmp;
}
}
return _a7;
},registerRepr:function(_aa,_ab,_ac,_ad){
MochiKit.Base.reprRegistry.register(_aa,_ab,_ac,_ad);
},repr:function(o){
if(typeof (o)=="undefined"){
return "undefined";
}else{
if(o===null){
return "null";
}
}
try{
if(typeof (o.__repr__)=="function"){
return o.__repr__();
}else{
if(typeof (o.repr)=="function"&&o.repr!=arguments.callee){
return o.repr();
}
}
return MochiKit.Base.reprRegistry.match(o);
}
catch(e){
if(typeof (o.NAME)=="string"&&(o.toString==Function.prototype.toString||o.toString==Object.prototype.toString)){
return o.NAME;
}
}
try{
var _af=(o+"");
}
catch(e){
return "["+typeof (o)+"]";
}
if(typeof (o)=="function"){
o=_af.replace(/^\s+/,"");
var idx=o.indexOf("{");
if(idx!=-1){
o=o.substr(0,idx)+"{...}";
}
}
return _af;
},reprArrayLike:function(o){
var m=MochiKit.Base;
return "["+m.map(m.repr,o).join(", ")+"]";
},reprString:function(o){
return ("\""+o.replace(/(["\\])/g,"\\$1")+"\"").replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r");
},reprNumber:function(o){
return o+"";
},registerJSON:function(_b5,_b6,_b7,_b8){
MochiKit.Base.jsonRegistry.register(_b5,_b6,_b7,_b8);
},evalJSON:function(){
return eval("("+arguments[0]+")");
},serializeJSON:function(o){
var _ba=typeof (o);
if(_ba=="undefined"){
return "undefined";
}else{
if(_ba=="number"||_ba=="boolean"){
return o+"";
}else{
if(o===null){
return "null";
}
}
}
var m=MochiKit.Base;
var _bc=m.reprString;
if(_ba=="string"){
return _bc(o);
}
var me=arguments.callee;
var _be;
if(typeof (o.__json__)=="function"){
_be=o.__json__();
if(o!==_be){
return me(_be);
}
}
if(typeof (o.json)=="function"){
_be=o.json();
if(o!==_be){
return me(_be);
}
}
if(_ba!="function"&&typeof (o.length)=="number"){
var res=[];
for(var i=0;i<o.length;i++){
var val=me(o[i]);
if(typeof (val)!="string"){
val="undefined";
}
res.push(val);
}
return "["+res.join(",")+"]";
}
try{
_be=m.jsonRegistry.match(o);
return me(_be);
}
catch(e){
if(e!=m.NotFound){
throw e;
}
}
if(_ba=="function"){
return null;
}
res=[];
for(var k in o){
var _c3;
if(typeof (k)=="number"){
_c3="\""+k+"\"";
}else{
if(typeof (k)=="string"){
_c3=_bc(k);
}else{
continue;
}
}
val=me(o[k]);
if(typeof (val)!="string"){
continue;
}
res.push(_c3+":"+val);
}
return "{"+res.join(",")+"}";
},objEqual:function(a,b){
return (MochiKit.Base.compare(a,b)==0);
},arrayEqual:function(_c6,arr){
if(_c6.length!=arr.length){
return false;
}
return (MochiKit.Base.compare(_c6,arr)==0);
},concat:function(){
var _c8=[];
var _c9=MochiKit.Base.extend;
for(var i=0;i<arguments.length;i++){
_c9(_c8,arguments[i]);
}
return _c8;
},keyComparator:function(key){
var m=MochiKit.Base;
var _cd=m.compare;
if(arguments.length==1){
return function(a,b){
return _cd(a[key],b[key]);
};
}
var _d0=m.extend(null,arguments);
return function(a,b){
var _d3=0;
for(var i=0;(_d3==0)&&(i<_d0.length);i++){
var key=_d0[i];
_d3=_cd(a[key],b[key]);
}
return _d3;
};
},reverseKeyComparator:function(key){
var _d7=MochiKit.Base.keyComparator.apply(this,arguments);
return function(a,b){
return _d7(b,a);
};
},partial:function(_da){
var m=MochiKit.Base;
return m.bind.apply(this,m.extend([_da,undefined],arguments,1));
},listMinMax:function(_dc,lst){
if(lst.length==0){
return null;
}
var cur=lst[0];
var _df=MochiKit.Base.compare;
for(var i=1;i<lst.length;i++){
var o=lst[i];
if(_df(o,cur)==_dc){
cur=o;
}
}
return cur;
},objMax:function(){
return MochiKit.Base.listMinMax(1,arguments);
},objMin:function(){
return MochiKit.Base.listMinMax(-1,arguments);
},nodeWalk:function(_e2,_e3){
var _e4=[_e2];
var _e5=MochiKit.Base.extend;
while(_e4.length){
var res=_e3(_e4.shift());
if(res){
_e5(_e4,res);
}
}
},nameFunctions:function(_e7){
var _e8=_e7.NAME;
if(typeof (_e8)=="undefined"){
_e8="";
}else{
_e8=_e8+".";
}
for(var _e9 in _e7){
var o=_e7[_e9];
if(typeof (o)=="function"&&typeof (o.NAME)=="undefined"){
try{
o.NAME=_e8+_e9;
}
catch(e){
}
}
}
},queryString:function(_eb,_ec){
if(typeof (MochiKit.DOM)!="undefined"&&arguments.length==1&&(typeof (_eb)=="string"||(typeof (_eb.nodeType)!="undefined"&&_eb.nodeType>0))){
var kv=MochiKit.DOM.formContents(_eb);
_eb=kv[0];
_ec=kv[1];
}else{
if(arguments.length==1){
var o=_eb;
_eb=[];
_ec=[];
for(var k in o){
var v=o[k];
if(typeof (v)!="function"){
_eb.push(k);
_ec.push(v);
}
}
}
}
var _f1=[];
var len=Math.min(_eb.length,_ec.length);
var _f3=MochiKit.Base.urlEncode;
for(var i=0;i<len;i++){
v=_ec[i];
if(typeof (v)!="undefined"&&v!=null){
_f1.push(_f3(_eb[i])+"="+_f3(v));
}
}
return _f1.join("&");
},parseQueryString:function(_f5,_f6){
var _f7=_f5.replace(/\+/g,"%20").split("&");
var o={};
var _f9;
if(typeof (decodeURIComponent)!="undefined"){
_f9=decodeURIComponent;
}else{
_f9=unescape;
}
if(_f6){
for(var i=0;i<_f7.length;i++){
var _fb=_f7[i].split("=");
var _fc=_f9(_fb[0]);
var arr=o[_fc];
if(!(arr instanceof Array)){
arr=[];
o[_fc]=arr;
}
arr.push(_f9(_fb[1]));
}
}else{
for(i=0;i<_f7.length;i++){
_fb=_f7[i].split("=");
o[_f9(_fb[0])]=_f9(_fb[1]);
}
}
return o;
}});
MochiKit.Base.AdapterRegistry=function(){
this.pairs=[];
};
MochiKit.Base.AdapterRegistry.prototype={register:function(_fe,_ff,wrap,_101){
if(_101){
this.pairs.unshift([_fe,_ff,wrap]);
}else{
this.pairs.push([_fe,_ff,wrap]);
}
},match:function(){
for(var i=0;i<this.pairs.length;i++){
var pair=this.pairs[i];
if(pair[1].apply(this,arguments)){
return pair[2].apply(this,arguments);
}
}
throw MochiKit.Base.NotFound;
},unregister:function(name){
for(var i=0;i<this.pairs.length;i++){
var pair=this.pairs[i];
if(pair[0]==name){
this.pairs.splice(i,1);
return true;
}
}
return false;
}};
MochiKit.Base.EXPORT=["counter","clone","extend","update","updatetree","setdefault","keys","items","NamedError","operator","forward","itemgetter","typeMatcher","isCallable","isUndefined","isUndefinedOrNull","isNull","isNotEmpty","isArrayLike","isDateLike","xmap","map","xfilter","filter","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"];
MochiKit.Base.EXPORT_OK=["nameFunctions","comparatorRegistry","reprRegistry","jsonRegistry","compareDateLike","compareArrayLike","reprArrayLike","reprString","reprNumber"];
MochiKit.Base._exportSymbols=function(_107,_108){
if((typeof (JSAN)=="undefined"&&typeof (dojo)=="undefined")||(typeof (MochiKit.__compat__)=="boolean"&&MochiKit.__compat__)){
var all=_108.EXPORT_TAGS[":all"];
for(var i=0;i<all.length;i++){
_107[all[i]]=_108[all[i]];
}
}
};
MochiKit.Base.__new__=function(){
var m=this;
if(typeof (encodeURIComponent)!="undefined"){
m.urlEncode=function(_10c){
return encodeURIComponent(_10c).replace(/\'/g,"%27");
};
}else{
m.urlEncode=function(_10d){
return escape(_10d).replace(/\+/g,"%2B").replace(/\"/g,"%22").rval.replace(/\'/g,"%27");
};
}
m.NamedError=function(name){
this.message=name;
this.name=name;
};
m.NamedError.prototype=new Error();
m.update(m.NamedError.prototype,{repr:function(){
if(this.message&&this.message!=this.name){
return this.name+"("+m.repr(this.message)+")";
}else{
return this.name+"()";
}
},toString:m.forward("repr")});
m.NotFound=new m.NamedError("MochiKit.Base.NotFound");
m.listMax=m.partial(m.listMinMax,1);
m.listMin=m.partial(m.listMinMax,-1);
m.isCallable=m.typeMatcher("function");
m.isUndefined=m.typeMatcher("undefined");
m.merge=m.partial(m.update,null);
m.zip=m.partial(m.map,null);
m.comparatorRegistry=new m.AdapterRegistry();
m.registerComparator("dateLike",m.isDateLike,m.compareDateLike);
m.registerComparator("arrayLike",m.isArrayLike,m.compareArrayLike);
m.reprRegistry=new m.AdapterRegistry();
m.registerRepr("arrayLike",m.isArrayLike,m.reprArrayLike);
m.registerRepr("string",m.typeMatcher("string"),m.reprString);
m.registerRepr("numbers",m.typeMatcher("number","boolean"),m.reprNumber);
m.jsonRegistry=new m.AdapterRegistry();
var all=m.concat(m.EXPORT,m.EXPORT_OK);
m.EXPORT_TAGS={":common":m.concat(m.EXPORT_OK),":all":all};
m.nameFunctions(this);
};
MochiKit.Base.__new__();
compare=MochiKit.Base.compare;
MochiKit.Base._exportSymbols(this,MochiKit.Base);

if(typeof (dojo)!="undefined"){
dojo.provide("MochiKit.Iter");
dojo.require("MochiKit.Base");
}
if(typeof (JSAN)!="undefined"){
JSAN.use("MochiKit.Base",[]);
}
try{
if(typeof (MochiKit.Base)=="undefined"){
throw "";
}
}
catch(e){
throw "MochiKit.Iter depends on MochiKit.Base!";
}
if(typeof (MochiKit.Iter)=="undefined"){
MochiKit.Iter={};
}
MochiKit.Iter.NAME="MochiKit.Iter";
MochiKit.Iter.VERSION="1.1";
MochiKit.Base.update(MochiKit.Iter,{__repr__:function(){
return "["+this.NAME+" "+this.VERSION+"]";
},toString:function(){
return this.__repr__();
},registerIteratorFactory:function(_1,_2,_3,_4){
MochiKit.Iter.iteratorRegistry.register(_1,_2,_3,_4);
},iter:function(_5,_6){
var _7=MochiKit.Iter;
if(arguments.length==2){
return _7.takewhile(function(a){
return a!=_6;
},_5);
}
if(typeof (_5.next)=="function"){
return _5;
}else{
if(typeof (_5.iter)=="function"){
return _5.iter();
}
}
try{
return _7.iteratorRegistry.match(_5);
}
catch(e){
var m=MochiKit.Base;
if(e==m.NotFound){
e=new TypeError(typeof (_5)+": "+m.repr(_5)+" is not iterable");
}
throw e;
}
},count:function(n){
if(!n){
n=0;
}
var m=MochiKit.Base;
return {repr:function(){
return "count("+n+")";
},toString:m.forward("repr"),next:m.counter(n)};
},cycle:function(p){
var _d=MochiKit.Iter;
var m=MochiKit.Base;
var _f=[];
var _10=_d.iter(p);
return {repr:function(){
return "cycle(...)";
},toString:m.forward("repr"),next:function(){
try{
var _11=_10.next();
_f.push(_11);
return _11;
}
catch(e){
if(e!=_d.StopIteration){
throw e;
}
if(_f.length==0){
this.next=function(){
throw _d.StopIteration;
};
}else{
var i=-1;
this.next=function(){
i=(i+1)%_f.length;
return _f[i];
};
}
return this.next();
}
}};
},repeat:function(_13,n){
var m=MochiKit.Base;
if(typeof (n)=="undefined"){
return {repr:function(){
return "repeat("+m.repr(_13)+")";
},toString:m.forward("repr"),next:function(){
return _13;
}};
}
return {repr:function(){
return "repeat("+m.repr(_13)+", "+n+")";
},toString:m.forward("repr"),next:function(){
if(n<=0){
throw MochiKit.Iter.StopIteration;
}
n-=1;
return _13;
}};
},next:function(_16){
return _16.next();
},izip:function(p,q){
var m=MochiKit.Base;
var _1a=MochiKit.Iter.next;
var _1b=m.map(iter,arguments);
return {repr:function(){
return "izip(...)";
},toString:m.forward("repr"),next:function(){
return m.map(_1a,_1b);
}};
},ifilter:function(_1c,seq){
var m=MochiKit.Base;
seq=MochiKit.Iter.iter(seq);
if(_1c==null){
_1c=m.operator.truth;
}
return {repr:function(){
return "ifilter(...)";
},toString:m.forward("repr"),next:function(){
while(true){
var _1f=seq.next();
if(_1c(_1f)){
return _1f;
}
}
return undefined;
}};
},ifilterfalse:function(_20,seq){
var m=MochiKit.Base;
seq=MochiKit.Iter.iter(seq);
if(_20==null){
_20=m.operator.truth;
}
return {repr:function(){
return "ifilterfalse(...)";
},toString:m.forward("repr"),next:function(){
while(true){
var _23=seq.next();
if(!_20(_23)){
return _23;
}
}
return undefined;
}};
},islice:function(seq){
var _25=MochiKit.Iter;
var m=MochiKit.Base;
seq=_25.iter(seq);
var _27=0;
var _28=0;
var _29=1;
var i=-1;
if(arguments.length==2){
_28=arguments[1];
}else{
if(arguments.length==3){
_27=arguments[1];
_28=arguments[2];
}else{
_27=arguments[1];
_28=arguments[2];
_29=arguments[3];
}
}
return {repr:function(){
return "islice("+["...",_27,_28,_29].join(", ")+")";
},toString:m.forward("repr"),next:function(){
var _2b;
while(i<_27){
_2b=seq.next();
i++;
}
if(_27>=_28){
throw _25.StopIteration;
}
_27+=_29;
return _2b;
}};
},imap:function(fun,p,q){
var m=MochiKit.Base;
var _30=MochiKit.Iter;
var _31=m.map(_30.iter,m.extend(null,arguments,1));
var map=m.map;
var _33=_30.next;
return {repr:function(){
return "imap(...)";
},toString:m.forward("repr"),next:function(){
return fun.apply(this,map(_33,_31));
}};
},applymap:function(fun,seq,_36){
seq=MochiKit.Iter.iter(seq);
var m=MochiKit.Base;
return {repr:function(){
return "applymap(...)";
},toString:m.forward("repr"),next:function(){
return fun.apply(_36,seq.next());
}};
},chain:function(p,q){
var _3a=MochiKit.Iter;
var m=MochiKit.Base;
if(arguments.length==1){
return _3a.iter(arguments[0]);
}
var _3c=m.map(_3a.iter,arguments);
return {repr:function(){
return "chain(...)";
},toString:m.forward("repr"),next:function(){
while(_3c.length>1){
try{
return _3c[0].next();
}
catch(e){
if(e!=_3a.StopIteration){
throw e;
}
_3c.shift();
}
}
if(_3c.length==1){
var arg=_3c.shift();
this.next=m.bind(arg.next,arg);
return this.next();
}
throw _3a.StopIteration;
}};
},takewhile:function(_3e,seq){
var _40=MochiKit.Iter;
seq=_40.iter(seq);
return {repr:function(){
return "takewhile(...)";
},toString:MochiKit.Base.forward("repr"),next:function(){
var _41=seq.next();
if(!_3e(_41)){
this.next=function(){
throw _40.StopIteration;
};
this.next();
}
return _41;
}};
},dropwhile:function(_42,seq){
seq=MochiKit.Iter.iter(seq);
var m=MochiKit.Base;
var _45=m.bind;
return {"repr":function(){
return "dropwhile(...)";
},"toString":m.forward("repr"),"next":function(){
while(true){
var _46=seq.next();
if(!_42(_46)){
break;
}
}
this.next=_45(seq.next,seq);
return _46;
}};
},_tee:function(_47,_48,_49){
_48.pos[_47]=-1;
var m=MochiKit.Base;
var _4b=m.listMin;
return {repr:function(){
return "tee("+_47+", ...)";
},toString:m.forward("repr"),next:function(){
var _4c;
var i=_48.pos[_47];
if(i==_48.max){
_4c=_49.next();
_48.deque.push(_4c);
_48.max+=1;
_48.pos[_47]+=1;
}else{
_4c=_48.deque[i-_48.min];
_48.pos[_47]+=1;
if(i==_48.min&&_4b(_48.pos)!=_48.min){
_48.min+=1;
_48.deque.shift();
}
}
return _4c;
}};
},tee:function(_4e,n){
var _50=[];
var _51={"pos":[],"deque":[],"max":-1,"min":-1};
if(arguments.length==1){
n=2;
}
var _52=MochiKit.Iter;
_4e=_52.iter(_4e);
var _53=_52._tee;
for(var i=0;i<n;i++){
_50.push(_53(i,_51,_4e));
}
return _50;
},list:function(_55){
var m=MochiKit.Base;
if(typeof (_55.slice)=="function"){
return _55.slice();
}else{
if(m.isArrayLike(_55)){
return m.concat(_55);
}
}
var _57=MochiKit.Iter;
_55=_57.iter(_55);
var _58=[];
try{
while(true){
_58.push(_55.next());
}
}
catch(e){
if(e!=_57.StopIteration){
throw e;
}
return _58;
}
return undefined;
},reduce:function(fn,_5a,_5b){
var i=0;
var x=_5b;
var _5e=MochiKit.Iter;
_5a=_5e.iter(_5a);
if(arguments.length<3){
try{
x=_5a.next();
}
catch(e){
if(e==_5e.StopIteration){
e=new TypeError("reduce() of empty sequence with no initial value");
}
throw e;
}
i++;
}
try{
while(true){
x=fn(x,_5a.next());
}
}
catch(e){
if(e!=_5e.StopIteration){
throw e;
}
}
return x;
},range:function(){
var _5f=0;
var _60=0;
var _61=1;
if(arguments.length==1){
_60=arguments[0];
}else{
if(arguments.length==2){
_5f=arguments[0];
_60=arguments[1];
}else{
if(arguments.length==3){
_5f=arguments[0];
_60=arguments[1];
_61=arguments[2];
}else{
throw new TypeError("range() takes 1, 2, or 3 arguments!");
}
}
}
if(_61==0){
throw new TypeError("range() step must not be 0");
}
return {next:function(){
if((_61>0&&_5f>=_60)||(_61<0&&_5f<=_60)){
throw MochiKit.Iter.StopIteration;
}
var _62=_5f;
_5f+=_61;
return _62;
},repr:function(){
return "range("+[_5f,_60,_61].join(", ")+")";
},toString:MochiKit.Base.forward("repr")};
},sum:function(_63,_64){
var x=_64||0;
var _66=MochiKit.Iter;
_63=_66.iter(_63);
try{
while(true){
x+=_63.next();
}
}
catch(e){
if(e!=_66.StopIteration){
throw e;
}
}
return x;
},exhaust:function(_67){
var _68=MochiKit.Iter;
_67=_68.iter(_67);
try{
while(true){
_67.next();
}
}
catch(e){
if(e!=_68.StopIteration){
throw e;
}
}
},forEach:function(_69,_6a,_6b){
var m=MochiKit.Base;
if(arguments.length>2){
_6a=m.bind(_6a,_6b);
}
if(m.isArrayLike(_69)){
for(var i=0;i<_69.length;i++){
_6a(_69[i]);
}
}else{
_6b=MochiKit.Iter;
_6b.exhaust(_6b.imap(_6a,_69));
}
},every:function(_6e,_6f){
var _70=MochiKit.Iter;
try{
_70.ifilterfalse(_6f,_6e).next();
return false;
}
catch(e){
if(e!=_70.StopIteration){
throw e;
}
return true;
}
},sorted:function(_71,cmp){
var _73=MochiKit.Iter.list(_71);
if(arguments.length==1){
cmp=MochiKit.Base.compare;
}
_73.sort(cmp);
return _73;
},reversed:function(_74){
var _75=MochiKit.Iter.list(_74);
_75.reverse();
return _75;
},some:function(_76,_77){
var _78=MochiKit.Iter;
try{
_78.ifilter(_77,_76).next();
return true;
}
catch(e){
if(e!=_78.StopIteration){
throw e;
}
return false;
}
},iextend:function(lst,_7a){
if(MochiKit.Base.isArrayLike(_7a)){
for(var i=0;i<_7a.length;i++){
lst.push(_7a[i]);
}
}else{
var _7c=MochiKit.Iter;
_7a=_7c.iter(_7a);
try{
while(true){
lst.push(_7a.next());
}
}
catch(e){
if(e!=_7c.StopIteration){
throw e;
}
}
}
return lst;
},groupby:function(_7d,_7e){
var m=MochiKit.Base;
var _80=MochiKit.Iter;
if(arguments.length<2){
_7e=m.operator.identity;
}
_7d=_80.iter(_7d);
var pk=undefined;
var k=undefined;
var v;
function fetch(){
v=_7d.next();
k=_7e(v);
}
function eat(){
var ret=v;
v=undefined;
return ret;
}
var _85=true;
return {repr:function(){
return "groupby(...)";
},next:function(){
while(k==pk){
fetch();
if(_85){
_85=false;
break;
}
}
pk=k;
return [k,{next:function(){
if(v==undefined){
fetch();
}
if(k!=pk){
throw _80.StopIteration;
}
return eat();
}}];
}};
},groupby_as_array:function(_86,_87){
var m=MochiKit.Base;
var _89=MochiKit.Iter;
if(arguments.length<2){
_87=m.operator.identity;
}
_86=_89.iter(_86);
var _8a=[];
var _8b=true;
var _8c;
while(true){
try{
var _8d=_86.next();
var key=_87(_8d);
}
catch(e){
if(e==_89.StopIteration){
break;
}
throw e;
}
if(_8b||key!=_8c){
var _8f=[];
_8a.push([key,_8f]);
}
_8f.push(_8d);
_8b=false;
_8c=key;
}
return _8a;
},arrayLikeIter:function(_90){
var i=0;
return {repr:function(){
return "arrayLikeIter(...)";
},toString:MochiKit.Base.forward("repr"),next:function(){
if(i>=_90.length){
throw MochiKit.Iter.StopIteration;
}
return _90[i++];
}};
},hasIterateNext:function(_92){
return (_92&&typeof (_92.iterateNext)=="function");
},iterateNextIter:function(_93){
return {repr:function(){
return "iterateNextIter(...)";
},toString:MochiKit.Base.forward("repr"),next:function(){
var _94=_93.iterateNext();
if(_94===null||_94===undefined){
throw MochiKit.Iter.StopIteration;
}
return _94;
}};
}});
MochiKit.Iter.EXPORT_OK=["iteratorRegistry","arrayLikeIter","hasIterateNext","iterateNextIter",];
MochiKit.Iter.EXPORT=["StopIteration","registerIteratorFactory","iter","count","cycle","repeat","next","izip","ifilter","ifilterfalse","islice","imap","applymap","chain","takewhile","dropwhile","tee","list","reduce","range","sum","exhaust","forEach","every","sorted","reversed","some","iextend","groupby","groupby_as_array"];
MochiKit.Iter.__new__=function(){
var m=MochiKit.Base;
this.StopIteration=new m.NamedError("StopIteration");
this.iteratorRegistry=new m.AdapterRegistry();
this.registerIteratorFactory("arrayLike",m.isArrayLike,this.arrayLikeIter);
this.registerIteratorFactory("iterateNext",this.hasIterateNext,this.iterateNextIter);
this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};
m.nameFunctions(this);
};
MochiKit.Iter.__new__();
reduce=MochiKit.Iter.reduce;
MochiKit.Base._exportSymbols(this,MochiKit.Iter);

if(typeof (dojo)!="undefined"){
dojo.provide("MochiKit.DOM");
dojo.require("MochiKit.Iter");
}
if(typeof (JSAN)!="undefined"){
JSAN.use("MochiKit.Iter",[]);
}
try{
if(typeof (MochiKit.Iter)=="undefined"){
throw "";
}
}
catch(e){
throw "MochiKit.DOM depends on MochiKit.Iter!";
}
if(typeof (MochiKit.DOM)=="undefined"){
MochiKit.DOM={};
}
MochiKit.DOM.NAME="MochiKit.DOM";
MochiKit.DOM.VERSION="1.1";
MochiKit.DOM.__repr__=function(){
return "["+this.NAME+" "+this.VERSION+"]";
};
MochiKit.DOM.toString=function(){
return this.__repr__();
};
MochiKit.DOM.EXPORT=["formContents","currentWindow","currentDocument","withWindow","withDocument","registerDOMConverter","coerceToDOM","createDOM","createDOMFunc","getNodeAttribute","setNodeAttribute","updateNodeAttributes","appendChildNodes","replaceChildNodes","removeElement","swapDOM","BUTTON","TT","PRE","H1","H2","H3","BR","HR","LABEL","TEXTAREA","FORM","SELECT","OPTION","OPTGROUP","LEGEND","FIELDSET","P","UL","OL","LI","TD","TR","THEAD","TBODY","TFOOT","TABLE","TH","INPUT","SPAN","A","DIV","IMG","getElement","$","computedStyle","getElementsByTagAndClassName","addToCallStack","addLoadEvent","focusOnLoad","setElementClass","toggleElementClass","addElementClass","removeElementClass","swapElementClass","hasElementClass","escapeHTML","toHTML","emitHTML","setDisplayForElement","hideElement","showElement","scrapeText"];
MochiKit.DOM.EXPORT_OK=["domConverters"];
MochiKit.DOM.currentWindow=function(){
return MochiKit.DOM._window;
};
MochiKit.DOM.currentDocument=function(){
return MochiKit.DOM._document;
};
MochiKit.DOM.withWindow=function(_1,_2){
var _3=MochiKit.DOM;
var _4=_3._document;
var _5=_3._win;
var _6;
try{
_3._window=_1;
_3._document=_1.document;
_6=_2();
}
catch(e){
_3._window=_5;
_3._document=_4;
throw e;
}
_3._window=_5;
_3._document=_4;
return _6;
};
MochiKit.DOM.formContents=function(_7){
var _8=[];
var _9=[];
var m=MochiKit.Base;
var _b=MochiKit.DOM;
if(typeof (_7)=="undefined"||_7==null){
_7=_b._document;
}else{
_7=_b.getElement(_7);
}
m.nodeWalk(_7,function(_c){
var _d=_c.name;
var _e=_c.value;
if(m.isNotEmpty(_d,_e)){
if(_c.tagName=="INPUT"&&_c.type=="radio"&&!_c.checked){
return null;
}
_8.push(_d);
_9.push(_e);
return null;
}
return _c.childNodes;
});
return [_8,_9];
};
MochiKit.DOM.withDocument=function(_f,_10){
var _11=MochiKit.DOM;
var _12=_11._document;
var _13;
try{
_11._document=_f;
_13=_10();
}
catch(e){
_11._document=_12;
throw e;
}
_11._document=_12;
return _13;
};
MochiKit.DOM.registerDOMConverter=function(_14,_15,_16,_17){
MochiKit.DOM.domConverters.register(_14,_15,_16,_17);
};
MochiKit.DOM.coerceToDOM=function(_18,ctx){
var im=MochiKit.Iter;
var _1b=MochiKit.DOM;
var _1c=im.iter;
var _1d=im.repeat;
var _1e=im.imap;
var _1f=_1b.domConverters;
var _20=_1b.coerceToDOM;
var _21=MochiKit.Base.NotFound;
while(true){
if(typeof (_18)=="undefined"||_18==null){
return null;
}
if(typeof (_18.nodeType)!="undefined"&&_18.nodeType>0){
return _18;
}
if(typeof (_18)=="number"||typeof (_18)=="bool"){
_18=_18.toString();
}
if(typeof (_18)=="string"){
return _1b._document.createTextNode(_18);
}
if(typeof (_18.toDOM)=="function"){
_18=_18.toDOM(ctx);
continue;
}
if(typeof (_18)=="function"){
_18=_18(ctx);
continue;
}
var _22=null;
try{
_22=_1c(_18);
}
catch(e){
}
if(_22){
return _1e(_20,_22,_1d(ctx));
}
try{
_18=_1f.match(_18,ctx);
continue;
}
catch(e){
if(e!=_21){
throw e;
}
}
return _1b._document.createTextNode(_18.toString());
}
return undefined;
};
MochiKit.DOM.setNodeAttribute=function(_23,_24,_25){
var o={};
o.attr=_25;
try{
return MochiKit.DOM.updateNodeAttributes(_23,o);
}
catch(e){
}
return null;
};
MochiKit.DOM.getNodeAttribute=function(_27,_28){
var _29=MochiKit.DOM;
var _2a=_29.attributeArray.renames[_28];
_27=_29.getElement(_27);
try{
if(_2a){
return _27[_2a];
}
return _27.getAttribute(_28);
}
catch(e){
}
return null;
};
MochiKit.DOM.updateNodeAttributes=function(_2b,_2c){
var _2d=_2b;
var _2e=MochiKit.DOM;
if(typeof (_2b)=="string"){
_2d=_2e.getElement(_2b);
}
if(_2c){
var _2f=MochiKit.Base.updatetree;
if(_2e.attributeArray.compliant){
for(var k in _2c){
var v=_2c[k];
if(typeof (v)=="object"&&typeof (_2d[k])=="object"){
_2f(_2d[k],v);
}else{
if(k.substring(0,2)=="on"){
if(typeof (v)=="string"){
v=new Function(v);
}
_2d[k]=v;
}else{
_2d.setAttribute(k,v);
}
}
}
}else{
var _32=_2e.attributeArray.renames;
for(k in _2c){
v=_2c[k];
var _33=_32[k];
if(typeof (_33)=="string"){
_2d[_33]=v;
}else{
if(typeof (_2d[k])=="object"&&typeof (v)=="object"){
_2f(_2d[k],v);
}else{
if(k.substring(0,2)=="on"){
if(typeof (v)=="string"){
v=new Function(v);
}
_2d[k]=v;
}else{
_2d.setAttribute(k,v);
}
}
}
}
}
}
return _2d;
};
MochiKit.DOM.appendChildNodes=function(_34){
var _35=_34;
var _36=MochiKit.DOM;
if(typeof (_34)=="string"){
_35=_36.getElement(_34);
}
var _37=[_36.coerceToDOM(MochiKit.Base.extend(null,arguments,1),_35)];
var _38=MochiKit.Iter.iextend;
while(_37.length){
var n=_37.shift();
if(typeof (n)=="undefined"||n==null){
}else{
if(typeof (n.nodeType)=="number"){
_35.appendChild(n);
}else{
_38(_37,n);
}
}
}
return _35;
};
MochiKit.DOM.replaceChildNodes=function(_3a){
var _3b=_3a;
var _3c=MochiKit.DOM;
if(typeof (_3a)=="string"){
_3b=_3c.getElement(_3a);
arguments[0]=_3b;
}
var _3d;
while((_3d=_3b.firstChild)){
_3b.removeChild(_3d);
}
if(arguments.length<2){
return _3b;
}else{
return _3c.appendChildNodes.apply(this,arguments);
}
};
MochiKit.DOM.createDOM=function(_3e,_3f){
var _40;
var _41=MochiKit.DOM;
if(typeof (_3e)=="string"){
_40=_41._document.createElement(_3e);
}else{
_40=_3e;
}
if(_3f){
_41.updateNodeAttributes(_40,_3f);
}
if(arguments.length<=2){
return _40;
}else{
var _42=MochiKit.Base.extend([_40],arguments,2);
return _41.appendChildNodes.apply(this,_42);
}
};
MochiKit.DOM.createDOMFunc=function(){
var m=MochiKit.Base;
return m.partial.apply(this,m.extend([MochiKit.DOM.createDOM],arguments));
};
MochiKit.DOM.swapDOM=function(_44,src){
var _46=MochiKit.DOM;
_44=_46.getElement(_44);
var _47=_44.parentNode;
if(src){
src=_46.getElement(src);
_47.replaceChild(src,_44);
}else{
_47.removeChild(_44);
}
return src;
};
MochiKit.DOM.getElement=function(id){
var _49=MochiKit.DOM;
if(arguments.length==1){
return ((typeof (id)=="string")?_49._document.getElementById(id):id);
}else{
return MochiKit.Base.map(_49.getElement,arguments);
}
};
MochiKit.DOM.computedStyle=function(_4a,_4b,_4c){
if(arguments.length==2){
_4c=_4b;
}
var _4d=MochiKit.DOM;
var el=_4d.getElement(_4a);
var _4f=_4d._document;
if(!el||el==_4f){
return undefined;
}
if(el.currentStyle){
return el.currentStyle[_4b];
}
if(typeof (_4f.defaultView)=="undefined"){
return undefined;
}
if(_4f.defaultView==null){
return undefined;
}
var _50=_4f.defaultView.getComputedStyle(el,null);
if(typeof (_50)=="undefined"||_50==null){
return undefined;
}
return _50.getPropertyValue(_4c);
};
MochiKit.DOM.getElementsByTagAndClassName=function(_51,_52,_53){
var _54=MochiKit.DOM;
if(typeof (_51)=="undefined"||_51==null){
_51="*";
}
if(typeof (_53)=="undefined"||_53==null){
_53=_54._document;
}
_53=_54.getElement(_53);
var _55=_53.getElementsByTagName(_51)||_54._document.all;
if(typeof (_52)=="undefined"||_52==null){
return MochiKit.Base.extend(null,_55);
}
var _56=[];
for(var i=0;i<_55.length;i++){
var _58=_55[i];
var _59=_58.className.split(" ");
for(var j=0;j<_59.length;j++){
if(_59[j]==_52){
_56.push(_58);
break;
}
}
}
return _56;
};
MochiKit.DOM._newCallStack=function(_5b,_5c){
var _5d=function(){
var _5e=arguments.callee.callStack;
for(var i=0;i<_5e.length;i++){
if(_5e[i].apply(this,arguments)===false){
break;
}
}
if(_5c){
try{
this[_5b]=null;
}
catch(e){
}
}
};
_5d.callStack=[];
return _5d;
};
MochiKit.DOM.addToCallStack=function(_60,_61,_62,_63){
var _64=MochiKit.DOM;
var _65=_60[_61];
var _66=_65;
if(!(typeof (_65)=="function"&&typeof (_65.callStack)=="object"&&_65.callStack!=null)){
_66=_64._newCallStack(_61,_63);
if(typeof (_65)=="function"){
_66.callStack.push(_65);
}
_60[_61]=_66;
}
_66.callStack.push(_62);
};
MochiKit.DOM.addLoadEvent=function(_67){
var _68=MochiKit.DOM;
_68.addToCallStack(_68._window,"onload",_67,true);
};
MochiKit.DOM.focusOnLoad=function(_69){
var _6a=MochiKit.DOM;
_6a.addLoadEvent(function(){
_69=_6a.getElement(_69);
if(_69){
_69.focus();
}
});
};
MochiKit.DOM.setElementClass=function(_6b,_6c){
var _6d=MochiKit.DOM;
var obj=_6d.getElement(_6b);
if(_6d.attributeArray.compliant){
obj.setAttribute("class",_6c);
}else{
obj.setAttribute("className",_6c);
}
};
MochiKit.DOM.toggleElementClass=function(_6f){
var _70=MochiKit.DOM;
for(var i=1;i<arguments.length;i++){
var obj=_70.getElement(arguments[i]);
if(!_70.addElementClass(obj,_6f)){
_70.removeElementClass(obj,_6f);
}
}
};
MochiKit.DOM.addElementClass=function(_73,_74){
var _75=MochiKit.DOM;
var obj=_75.getElement(_73);
var cls=obj.className;
if(cls.length==0){
_75.setElementClass(obj,_74);
return true;
}
if(cls==_74){
return false;
}
var _78=obj.className.split(" ");
for(var i=0;i<_78.length;i++){
if(_78[i]==_74){
return false;
}
}
_75.setElementClass(obj,cls+" "+_74);
return true;
};
MochiKit.DOM.removeElementClass=function(_7a,_7b){
var _7c=MochiKit.DOM;
var obj=_7c.getElement(_7a);
var cls=obj.className;
if(cls.length==0){
return false;
}
if(cls==_7b){
_7c.setElementClass(obj,"");
return true;
}
var _7f=obj.className.split(" ");
for(var i=0;i<_7f.length;i++){
if(_7f[i]==_7b){
_7f.splice(i,1);
_7c.setElementClass(obj,_7f.join(" "));
return true;
}
}
return false;
};
MochiKit.DOM.swapElementClass=function(_81,_82,_83){
var obj=MochiKit.DOM.getElement(_81);
var res=MochiKit.DOM.removeElementClass(obj,_82);
if(res){
MochiKit.DOM.addElementClass(obj,_83);
}
return res;
};
MochiKit.DOM.hasElementClass=function(_86,_87){
var obj=MochiKit.DOM.getElement(_86);
var _89=obj.className.split(" ");
for(var i=1;i<arguments.length;i++){
var _8b=false;
for(var j=0;j<_89.length;j++){
if(_89[j]==arguments[i]){
_8b=true;
break;
}
}
if(!_8b){
return false;
}
}
return true;
};
MochiKit.DOM.escapeHTML=function(s){
return s.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");
};
MochiKit.DOM.toHTML=function(dom){
return MochiKit.DOM.emitHTML(dom).join("");
};
MochiKit.DOM.emitHTML=function(dom,lst){
if(typeof (lst)=="undefined"||lst==null){
lst=[];
}
var _91=[dom];
var _92=MochiKit.DOM;
var _93=_92.escapeHTML;
var _94=_92.attributeArray;
while(_91.length){
dom=_91.pop();
if(typeof (dom)=="string"){
lst.push(dom);
}else{
if(dom.nodeType==1){
lst.push("<"+dom.nodeName.toLowerCase());
var _95=[];
var _96=_94(dom);
for(var i=0;i<_96.length;i++){
var a=_96[i];
_95.push([" ",a.name,"=\"",_93(a.value),"\""]);
}
_95.sort();
for(i=0;i<_95.length;i++){
var _99=_95[i];
for(var j=0;j<_99.length;j++){
lst.push(_99[j]);
}
}
if(dom.hasChildNodes()){
lst.push(">");
_91.push("</"+dom.nodeName.toLowerCase()+">");
var _9b=dom.childNodes;
for(i=_9b.length-1;i>=0;i--){
_91.push(_9b[i]);
}
}else{
lst.push("/>");
}
}else{
if(dom.nodeType==3){
lst.push(_93(dom.nodeValue));
}
}
}
}
return lst;
};
MochiKit.DOM.setDisplayForElement=function(_9c,_9d){
var m=MochiKit.Base;
var _9f=m.extend(null,arguments,1);
MochiKit.Iter.forEach(m.filter(null,m.map(MochiKit.DOM.getElement,_9f)),function(_a0){
_a0.style.display=_9c;
});
};
MochiKit.DOM.scrapeText=function(_a1,_a2){
var _a3=[];
MochiKit.Base.nodeWalk(_a1,function(_a4){
var _a5=_a4.nodeValue;
if(typeof (_a5)=="string"){
_a3.push(_a5);
}
return _a4.childNodes;
});
if(_a2){
return _a3;
}else{
return _a3.join("");
}
};
MochiKit.DOM.__new__=function(win){
var m=MochiKit.Base;
this._document=document;
this._window=win;
this.domConverters=new m.AdapterRegistry();
var _a8=this._document.createElement("span");
var _a9;
if(_a8.attributes.length>0){
var _aa=m.filter;
_a9=function(_ab){
return _aa(_a9.ignoreAttrFilter,_ab.attributes);
};
_a9.ignoreAttr={};
MochiKit.Iter.forEach(_a8.attributes,function(a){
_a9.ignoreAttr[a.name]=a.value;
});
_a9.ignoreAttrFilter=function(a){
return (_a9.ignoreAttr[a.name]!=a.value);
};
_a9.compliant=false;
_a9.renames={"class":"className","checked":"defaultChecked"};
}else{
_a9=function(_ae){
return _ae.attributes;
};
_a9.compliant=true;
_a9.renames={};
}
this.attributeArray=_a9;
var _af=this.createDOMFunc;
this.UL=_af("ul");
this.OL=_af("ol");
this.LI=_af("li");
this.TD=_af("td");
this.TR=_af("tr");
this.TBODY=_af("tbody");
this.THEAD=_af("thead");
this.TFOOT=_af("tfoot");
this.TABLE=_af("table");
this.TH=_af("th");
this.INPUT=_af("input");
this.SPAN=_af("span");
this.A=_af("a");
this.DIV=_af("div");
this.IMG=_af("img");
this.BUTTON=_af("button");
this.TT=_af("tt");
this.PRE=_af("pre");
this.H1=_af("h1");
this.H2=_af("h2");
this.H3=_af("h3");
this.BR=_af("br");
this.HR=_af("hr");
this.LABEL=_af("label");
this.TEXTAREA=_af("textarea");
this.FORM=_af("form");
this.P=_af("p");
this.SELECT=_af("select");
this.OPTION=_af("option");
this.OPTGROUP=_af("optgroup");
this.LEGEND=_af("legend");
this.FIELDSET=_af("fieldset");
this.hideElement=m.partial(this.setDisplayForElement,"none");
this.showElement=m.partial(this.setDisplayForElement,"block");
this.removeElement=this.swapDOM;
this.$=this.getElement;
this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};
m.nameFunctions(this);
};
MochiKit.DOM.__new__(this);
MochiKit.Base._exportSymbols(this,MochiKit.DOM);

if(typeof (dojo)!="undefined"){
dojo.provide("MochiKit.Async");
dojo.require("MochiKit.Base");
}
if(typeof (JSAN)!="undefined"){
JSAN.use("MochiKit.Base",[]);
}
try{
if(typeof (MochiKit.Base)=="undefined"){
throw "";
}
}
catch(e){
throw "MochiKit.Async depends on MochiKit.Base!";
}
if(typeof (MochiKit.Async)=="undefined"){
MochiKit.Async={};
}
MochiKit.Async.NAME="MochiKit.Async";
MochiKit.Async.VERSION="1.1";
MochiKit.Async.__repr__=function(){
return "["+this.NAME+" "+this.VERSION+"]";
};
MochiKit.Async.toString=function(){
return this.__repr__();
};
MochiKit.Async.Deferred=function(_1){
this.chain=[];
this.id=this._nextId();
this.fired=-1;
this.paused=0;
this.results=[null,null];
this.canceller=_1;
this.silentlyCancelled=false;
};
MochiKit.Async.Deferred.prototype={repr:function(){
var _2;
if(this.fired==-1){
_2="unfired";
}else{
if(this.fired==0){
_2="success";
}else{
_2="error";
}
}
return "Deferred("+this.id+", "+_2+")";
},toString:MochiKit.Base.forward("repr"),_nextId:MochiKit.Base.counter(),cancel:function(){
var _3=MochiKit.Async;
if(this.fired==-1){
if(this.canceller){
this.canceller(this);
}else{
this.silentlyCancelled=true;
}
if(this.fired==-1){
this.errback(new _3.CancelledError(this));
}
}else{
if((this.fired==0)&&(this.results[0] instanceof _3.Deferred)){
this.results[0].cancel();
}
}
},_pause:function(){
this.paused++;
},_unpause:function(){
this.paused--;
if((this.paused==0)&&(this.fired>=0)){
this._fire();
}
},_continue:function(_4){
this._resback(_4);
this._unpause();
},_resback:function(_5){
this.fired=((_5 instanceof Error)?1:0);
this.results[this.fired]=_5;
this._fire();
},_check:function(){
if(this.fired!=-1){
if(!this.silentlyCancelled){
throw new MochiKit.Async.AlreadyCalledError(this);
}
this.silentlyCancelled=false;
return;
}
},callback:function(_6){
this._check();
this._resback(_6);
},errback:function(_7){
this._check();
if(!(_7 instanceof Error)){
_7=new MochiKit.Async.GenericError(_7);
}
this._resback(_7);
},addBoth:function(fn){
if(arguments.length>1){
fn=MochiKit.Base.partial.apply(null,arguments);
}
return this.addCallbacks(fn,fn);
},addCallback:function(fn){
if(arguments.length>1){
fn=MochiKit.Base.partial.apply(null,arguments);
}
return this.addCallbacks(fn,null);
},addErrback:function(fn){
if(arguments.length>1){
fn=MochiKit.Base.partial.apply(null,arguments);
}
return this.addCallbacks(null,fn);
},addCallbacks:function(cb,eb){
this.chain.push([cb,eb]);
if(this.fired>=0){
this._fire();
}
return this;
},_fire:function(){
var _d=this.chain;
var _e=this.fired;
var _f=this.results[_e];
var _10=this;
var cb=null;
while(_d.length>0&&this.paused==0){
var _12=_d.shift();
var f=_12[_e];
if(f==null){
continue;
}
try{
_f=f(_f);
_e=((_f instanceof Error)?1:0);
if(_f instanceof MochiKit.Async.Deferred){
cb=function(res){
_10._continue(res);
};
this._pause();
}
}
catch(err){
_e=1;
_f=err;
}
}
this.fired=_e;
this.results[_e]=_f;
if(cb&&this.paused){
_f.addBoth(cb);
}
}};
MochiKit.Base.update(MochiKit.Async,{evalJSONRequest:function(){
return eval("("+arguments[0].responseText+")");
},succeed:function(_15){
var d=new MochiKit.Async.Deferred();
d.callback.apply(d,arguments);
return d;
},fail:function(_17){
var d=new MochiKit.Async.Deferred();
d.errback.apply(d,arguments);
return d;
},getXMLHttpRequest:function(){
var _19=arguments.callee;
if(!_19.XMLHttpRequest){
var _1a=[function(){
return new XMLHttpRequest();
},function(){
return new ActiveXObject("Msxml2.XMLHTTP");
},function(){
return new ActiveXObject("Microsoft.XMLHTTP");
},function(){
return new ActiveXObject("Msxml2.XMLHTTP.4.0");
},function(){
throw new MochiKit.Async.BrowserComplianceError("Browser does not support XMLHttpRequest");
}];
for(var i=0;i<_1a.length;i++){
var _1c=_1a[i];
try{
_19.XMLHttpRequest=_1c;
return _1c();
}
catch(e){
}
}
}
return _19.XMLHttpRequest();
},sendXMLHttpRequest:function(req,_1e){
if(typeof (_1e)=="undefined"){
_1e=null;
}
var _1f=function(){
try{
req.onreadystatechange=null;
}
catch(e){
try{
req.onreadystatechange=function(){
};
}
catch(e){
}
}
req.abort();
};
var _20=MochiKit.Async;
var d=new _20.Deferred(_1f);
var _22=function(){
if(req.readyState==4){
try{
req.onreadystatechange=null;
}
catch(e){
try{
req.onreadystatechange=function(){
};
}
catch(e){
}
}
var _23=null;
try{
_23=req.status;
if(!_23&&MochiKit.Base.isNotEmpty(req.responseText)){
_23=304;
}
}
catch(e){
}
if(_23==200||_23==304){
d.callback(req);
}else{
var err=new _20.XMLHttpRequestError(req,"Request failed");
if(err.number){
d.errback(err);
}else{
d.errback(err);
}
}
}
};
try{
req.onreadystatechange=_22;
req.send(_1e);
}
catch(e){
try{
req.onreadystatechange=null;
}
catch(ignore){
}
d.errback(e);
}
return d;
},doSimpleXMLHttpRequest:function(url){
var _26=MochiKit.Async;
var req=_26.getXMLHttpRequest();
if(arguments.length>1){
var m=MochiKit.Base;
var qs=m.queryString.apply(null,m.extend(null,arguments,1));
if(qs){
url+="?"+qs;
}
}
req.open("GET",url,true);
return _26.sendXMLHttpRequest(req);
},loadJSONDoc:function(url){
var _2b=MochiKit.Async;
var d=_2b.doSimpleXMLHttpRequest.apply(_2b,arguments);
d=d.addCallback(_2b.evalJSONRequest);
return d;
},wait:function(_2d,_2e){
var d=new MochiKit.Async.Deferred();
var m=MochiKit.Base;
if(typeof (_2e)!="undefined"){
d.addCallback(function(){
return _2e;
});
}
var _31=setTimeout(m.bind(d.callback,d),Math.floor(_2d*1000));
d.canceller=function(){
try{
clearTimeout(_31);
}
catch(e){
}
};
return d;
},callLater:function(_32,_33){
var m=MochiKit.Base;
var _35=m.partial.apply(m,m.extend(null,arguments,1));
return MochiKit.Async.wait(_32).addCallback(function(res){
return _35();
});
}});
MochiKit.Async.DeferredLock=function(){
this.waiting=[];
this.locked=false;
this.id=this._nextId();
};
MochiKit.Async.DeferredLock.prototype={__class__:MochiKit.Async.DeferredLock,acquire:function(){
d=new MochiKit.Async.Deferred();
if(this.locked){
this.waiting.push(d);
}else{
this.locked=true;
d.callback(this);
}
return d;
},release:function(){
if(!this.locked){
throw TypeError("Tried to release an unlocked DeferredLock");
}
this.locked=false;
if(this.waiting.length>0){
this.locked=true;
this.waiting.shift().callback(this);
}
},_nextId:MochiKit.Base.counter(),repr:function(){
var _37;
if(this.locked){
_37="locked, "+this.waiting.length+" waiting";
}else{
_37="unlocked";
}
return "DeferredLock("+this.id+", "+_37+")";
},toString:MochiKit.Base.forward("repr")};
MochiKit.Async.EXPORT=["AlreadyCalledError","CancelledError","BrowserComplianceError","GenericError","XMLHttpRequestError","Deferred","succeed","fail","getXMLHttpRequest","doSimpleXMLHttpRequest","loadJSONDoc","wait","callLater","sendXMLHttpRequest","DeferredLock"];
MochiKit.Async.EXPORT_OK=["evalJSONRequest"];
MochiKit.Async.__new__=function(){
var m=MochiKit.Base;
var ne=m.partial(m._newNamedError,this);
ne("AlreadyCalledError",function(_3a){
this.deferred=_3a;
});
ne("CancelledError",function(_3b){
this.deferred=_3b;
});
ne("BrowserComplianceError",function(msg){
this.message=msg;
});
ne("GenericError",function(msg){
this.message=msg;
});
ne("XMLHttpRequestError",function(req,msg){
this.req=req;
this.message=msg;
try{
this.number=req.status;
}
catch(e){
}
});
this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};
m.nameFunctions(this);
};
MochiKit.Async.__new__();
MochiKit.Base._exportSymbols(this,MochiKit.Async);

