/*** MochiKit.MochiKit 1.5 : PACKED VERSION THIS FILE IS AUTOMATICALLY GENERATED. If creating patches, please diff against the source tree, not this file. See for documentation, downloads, license, etc. (c) 2005 Bob Ippolito. All rights Reserved. ***/ if(typeof (MochiKit)=="undefined"){ MochiKit={}; } if(typeof (MochiKit.__export__)=="undefined"){ MochiKit.__export__=true; } if(typeof (MochiKit.Base)=="undefined"){ MochiKit.Base={}; } MochiKit.Base._module=function(_1,_2,_3){ if(!(_1 in MochiKit)){ MochiKit[_1]={}; } var _4=MochiKit[_1]; _4.NAME="MochiKit."+_1; _4.VERSION=_2; _4.__repr__=function(){ return "["+this.NAME+" "+this.VERSION+"]"; }; _4.toString=function(){ return this.__repr__(); }; for(var i=0;i<_3.length;i++){ if(!(_3[i] in MochiKit)){ throw "MochiKit."+_1+" depends on MochiKit."+_3[i]+"!"; } } }; MochiKit.Base._module("Base","1.5",[]); MochiKit.Base.update=function(_6,_7){ if(_6===null||_6===undefined){ _6={}; } for(var i=1;i=0;i--){ _1a.unshift(o[i]); } }else{ res.push(o); } } return res; },extend:function(_1d,obj,_1f){ if(!_1f){ _1f=0; } if(obj){ var l=obj.length; if(typeof (l)!="number"){ if(typeof (MochiKit.Iter)!="undefined"){ obj=MochiKit.Iter.list(obj); l=obj.length; }else{ throw new TypeError("Argument not an array-like and MochiKit.Iter not present"); } } if(!_1d){ _1d=[]; } for(var i=_1f;i>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 a0&&_7b!="false"&&_7b!="null"&&_7b!="undefined"&&_7b!="0"; }else{ if(typeof (_7b)==="number"||_7b instanceof Number){ return !isNaN(_7b)&&_7b!=0; }else{ if(_7b!=null&&typeof (_7b.length)==="number"){ return _7b.length!==0; }else{ return _7b!=null; } } } } },typeMatcher:function(){ var _7c={}; for(var i=0;il){ _96=l; } } _94=[]; for(var i=0;i<_96;i++){ var _98=[]; for(var j=1;j=0;i--){ _b5=[_b1[i].apply(this,_b5)]; } return _b5[0]; }; },bind:function(_b7,_b8){ if(typeof (_b7)=="string"){ _b7=_b8[_b7]; } var _b9=_b7.im_func; var _ba=_b7.im_preargs; var _bb=_b7.im_self; var m=MochiKit.Base; if(typeof (_b7)=="function"&&typeof (_b7.apply)=="undefined"){ _b7=m._wrapDumbFunction(_b7); } if(typeof (_b9)!="function"){ _b9=_b7; } if(typeof (_b8)!="undefined"){ _bb=_b8; } if(typeof (_ba)=="undefined"){ _ba=[]; }else{ _ba=_ba.slice(); } m.extend(_ba,arguments,2); var _bd=function(){ var _be=arguments; var me=arguments.callee; if(me.im_preargs.length>0){ _be=m.concat(me.im_preargs,_be); } var _c0=me.im_self; if(!_c0){ _c0=this; } return me.im_func.apply(_c0,_be); }; _bd.im_self=_bb; _bd.im_func=_b9; _bd.im_preargs=_ba; return _bd; },bindLate:function(_c1,_c2){ var m=MochiKit.Base; var _c4=arguments; if(typeof (_c1)==="string"){ _c4=m.extend([m.forwardCall(_c1)],arguments,1); return m.bind.apply(this,_c4); } return m.bind.apply(this,_c4); },bindMethods:function(_c5){ var _c6=MochiKit.Base.bind; for(var k in _c5){ var _c8=_c5[k]; if(typeof (_c8)=="function"){ _c5[k]=_c6(_c8,_c5); } } },registerComparator:function(_c9,_ca,_cb,_cc){ MochiKit.Base.comparatorRegistry.register(_c9,_ca,_cb,_cc); },_primitives:{"boolean":true,"string":true,"number":true},compare:function(a,b){ if(a==b){ return 0; } var _cf=(typeof (a)=="undefined"||a===null); var _d0=(typeof (b)=="undefined"||b===null); if(_cf&&_d0){ return 0; }else{ if(_cf){ return -1; }else{ if(_d0){ return 1; } } } var m=MochiKit.Base; var _d2=m._primitives; if(!(typeof (a) in _d2&&typeof (b) in _d2)){ try{ return m.comparatorRegistry.match(a,b); } catch(e){ if(e!=m.NotFound){ throw e; } } } if(ab){ return 1; } } var _d3=m.repr; throw new TypeError(_d3(a)+" and "+_d3(b)+" can not be compared"); },compareDateLike:function(a,b){ return MochiKit.Base.compare(a.getTime(),b.getTime()); },compareArrayLike:function(a,b){ var _d8=MochiKit.Base.compare; var _d9=a.length; var _da=0; if(_d9>b.length){ _da=1; _d9=b.length; }else{ if(_d9=0;i--){ sum+=o[i]; } }else{ sum+=o; } } if(_121<=0){ throw new TypeError("mean() requires at least one argument"); } return sum/_121; },median:function(){ var data=MochiKit.Base.flattenArguments(arguments); if(data.length===0){ throw new TypeError("median() requires at least one argument"); } data.sort(compare); if(data.length%2==0){ var _125=data.length/2; return (data[_125]+data[_125-1])/2; }else{ return data[(data.length-1)/2]; } },findValue:function(lst,_127,_128,end){ if(typeof (end)=="undefined"||end===null){ end=lst.length; } if(typeof (_128)=="undefined"||_128===null){ _128=0; } var cmp=MochiKit.Base.compare; for(var i=_128;i0))){ var kv=MochiKit.DOM.formContents(_135); _135=kv[0]; _136=kv[1]; }else{ if(arguments.length==1){ if(typeof (_135.length)=="number"&&_135.length==2){ return arguments.callee(_135[0],_135[1]); } var o=_135; _135=[]; _136=[]; for(var k in o){ var v=o[k]; if(typeof (v)=="function"){ continue; }else{ if(MochiKit.Base.isArrayLike(v)){ for(var i=0;i=stop){ throw self.StopIteration; } _18d+=step; return rval; }}; },imap:function(fun,p,q){ var m=MochiKit.Base; var self=MochiKit.Iter; var _197=m.map(self.iter,m.extend(null,arguments,1)); var map=m.map; var next=self.next; return {repr:function(){ return "imap(...)"; },toString:m.forwardCall("repr"),next:function(){ return fun.apply(this,map(next,_197)); }}; },applymap:function(fun,seq,self){ seq=MochiKit.Iter.iter(seq); var m=MochiKit.Base; return {repr:function(){ return "applymap(...)"; },toString:m.forwardCall("repr"),next:function(){ return fun.apply(self,seq.next()); }}; },chain:function(p,q){ var self=MochiKit.Iter; var m=MochiKit.Base; if(arguments.length==1){ return self.iter(arguments[0]); } var _1a2=m.map(self.iter,arguments); return {repr:function(){ return "chain(...)"; },toString:m.forwardCall("repr"),next:function(){ while(_1a2.length>1){ try{ var _1a3=_1a2[0].next(); return _1a3; } catch(e){ if(e!=self.StopIteration){ throw e; } _1a2.shift(); var _1a3=_1a2[0].next(); return _1a3; } } if(_1a2.length==1){ var arg=_1a2.shift(); this.next=m.bind("next",arg); return this.next(); } throw self.StopIteration; }}; },takewhile:function(pred,seq){ var self=MochiKit.Iter; seq=self.iter(seq); return {repr:function(){ return "takewhile(...)"; },toString:MochiKit.Base.forwardCall("repr"),next:function(){ var rval=seq.next(); if(!pred(rval)){ this.next=function(){ throw self.StopIteration; }; this.next(); } return rval; }}; },dropwhile:function(pred,seq){ seq=MochiKit.Iter.iter(seq); var m=MochiKit.Base; var bind=m.bind; return {"repr":function(){ return "dropwhile(...)"; },"toString":m.forwardCall("repr"),"next":function(){ while(true){ var rval=seq.next(); if(!pred(rval)){ break; } } this.next=bind("next",seq); return rval; }}; },_tee:function(_1ae,sync,_1b0){ sync.pos[_1ae]=-1; var m=MochiKit.Base; var _1b2=m.listMin; return {repr:function(){ return "tee("+_1ae+", ...)"; },toString:m.forwardCall("repr"),next:function(){ var rval; var i=sync.pos[_1ae]; if(i==sync.max){ rval=_1b0.next(); sync.deque.push(rval); sync.max+=1; sync.pos[_1ae]+=1; }else{ rval=sync.deque[i-sync.min]; sync.pos[_1ae]+=1; if(i==sync.min&&_1b2(sync.pos)!=sync.min){ sync.min+=1; sync.deque.shift(); } } return rval; }}; },tee:function(_1b5,n){ var rval=[]; var sync={"pos":[],"deque":[],"max":-1,"min":-1}; if(arguments.length==1||typeof (n)=="undefined"||n===null){ n=2; } var self=MochiKit.Iter; _1b5=self.iter(_1b5); var _tee=self._tee; for(var i=0;i0&&_1c7>=stop)||(step<0&&_1c7<=stop)){ throw MochiKit.Iter.StopIteration; } var rval=_1c7; _1c7+=step; return rval; },repr:function(){ return "range("+[_1c7,stop,step].join(", ")+")"; },toString:MochiKit.Base.forwardCall("repr")}; },sum:function(_1cb,_1cc){ if(typeof (_1cc)=="undefined"||_1cc===null){ _1cc=0; } var x=_1cc; var self=MochiKit.Iter; _1cb=self.iter(_1cb); try{ while(true){ x+=_1cb.next(); } } catch(e){ if(e!=self.StopIteration){ throw e; } } return x; },exhaust:function(_1cf){ var self=MochiKit.Iter; _1cf=self.iter(_1cf); try{ while(true){ _1cf.next(); } } catch(e){ if(e!=self.StopIteration){ throw e; } } },forEach:function(_1d1,func,obj){ var m=MochiKit.Base; var self=MochiKit.Iter; if(arguments.length>2){ func=m.bind(func,obj); } if(m.isArrayLike(_1d1)&&!self.isIterable(_1d1)){ try{ for(var i=0;i<_1d1.length;i++){ func(_1d1[i]); } } catch(e){ if(e!=self.StopIteration){ throw e; } } }else{ self.exhaust(self.imap(func,_1d1)); } },every:function(_1d7,func){ var self=MochiKit.Iter; try{ self.ifilterfalse(func,_1d7).next(); return false; } catch(e){ if(e!=self.StopIteration){ throw e; } return true; } },sorted:function(_1da,cmp){ var rval=MochiKit.Iter.list(_1da); if(arguments.length==1){ cmp=MochiKit.Base.compare; } rval.sort(cmp); return rval; },reversed:function(_1dd){ var rval=MochiKit.Iter.list(_1dd); rval.reverse(); return rval; },some:function(_1df,func){ var self=MochiKit.Iter; try{ self.ifilter(func,_1df).next(); return true; } catch(e){ if(e!=self.StopIteration){ throw e; } return false; } },iextend:function(lst,_1e3){ var m=MochiKit.Base; var self=MochiKit.Iter; if(m.isArrayLike(_1e3)&&!self.isIterable(_1e3)){ for(var i=0;i<_1e3.length;i++){ lst.push(_1e3[i]); } }else{ _1e3=self.iter(_1e3); try{ while(true){ lst.push(_1e3.next()); } } catch(e){ if(e!=self.StopIteration){ throw e; } } } return lst; },groupby:function(_1e7,_1e8){ var m=MochiKit.Base; var self=MochiKit.Iter; if(arguments.length<2){ _1e8=m.operator.identity; } _1e7=self.iter(_1e7); var pk=undefined; var k=undefined; var v; function fetch(){ v=_1e7.next(); k=_1e8(v); } function eat(){ var ret=v; v=undefined; return ret; } var _1ef=true; var _1f0=m.compare; return {repr:function(){ return "groupby(...)"; },next:function(){ while(_1f0(k,pk)===0){ fetch(); if(_1ef){ _1ef=false; break; } } pk=k; return [k,{next:function(){ if(v==undefined){ fetch(); } if(_1f0(k,pk)!==0){ throw self.StopIteration; } return eat(); }}]; }}; },groupby_as_array:function(_1f1,_1f2){ var m=MochiKit.Base; var self=MochiKit.Iter; if(arguments.length<2){ _1f2=m.operator.identity; } _1f1=self.iter(_1f1); var _1f5=[]; var _1f6=true; var _1f7; var _1f8=m.compare; while(true){ try{ var _1f9=_1f1.next(); var key=_1f2(_1f9); } catch(e){ if(e==self.StopIteration){ break; } throw e; } if(_1f6||_1f8(key,_1f7)!==0){ var _1fb=[]; _1f5.push([key,_1fb]); } _1fb.push(_1f9); _1f6=false; _1f7=key; } return _1f5; },arrayLikeIter:function(_1fc){ var i=0; return {repr:function(){ return "arrayLikeIter(...)"; },toString:MochiKit.Base.forwardCall("repr"),next:function(){ if(i>=_1fc.length){ throw MochiKit.Iter.StopIteration; } return _1fc[i++]; }}; },hasIterateNext:function(_1fe){ return (_1fe&&typeof (_1fe.iterateNext)=="function"); },iterateNextIter:function(_1ff){ return {repr:function(){ return "iterateNextIter(...)"; },toString:MochiKit.Base.forwardCall("repr"),next:function(){ var rval=_1ff.iterateNext(); if(rval===null||rval===undefined){ throw MochiKit.Iter.StopIteration; } return rval; }}; }}); MochiKit.Iter.__new__=function(){ var m=MochiKit.Base; if(typeof (StopIteration)!="undefined"){ this.StopIteration=StopIteration; }else{ 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); m.nameFunctions(this); }; MochiKit.Iter.__new__(); if(MochiKit.__export__){ reduce=MochiKit.Iter.reduce; } MochiKit.Base._exportSymbols(this,MochiKit.Iter); MochiKit.Base._module("Logging","1.5",["Base"]); MochiKit.Logging.LogMessage=function(num,_203,info){ this.num=num; this.level=_203; this.info=info; this.timestamp=new Date(); }; MochiKit.Logging.LogMessage.prototype={repr:function(){ var m=MochiKit.Base; return "LogMessage("+m.map(m.repr,[this.num,this.level,this.info]).join(", ")+")"; },toString:MochiKit.Base.forwardCall("repr")}; MochiKit.Base.update(MochiKit.Logging,{logLevelAtLeast:function(_206){ var self=MochiKit.Logging; if(typeof (_206)=="string"){ _206=self.LogLevel[_206]; } return function(msg){ var _209=msg.level; if(typeof (_209)=="string"){ _209=self.LogLevel[_209]; } return _209>=_206; }; },isLogMessage:function(){ var _20a=MochiKit.Logging.LogMessage; for(var i=0;i=MochiKit.Logging.LogLevel.FATAL){ _219="FATAL"; }else{ if(_219>=MochiKit.Logging.LogLevel.ERROR){ _219="ERROR"; }else{ if(_219>=MochiKit.Logging.LogLevel.WARNING){ _219="WARNING"; }else{ if(_219>=MochiKit.Logging.LogLevel.INFO){ _219="INFO"; }else{ _219="DEBUG"; } } } } } var msg=new MochiKit.Logging.LogMessage(this.counter,_219,MochiKit.Base.extend(null,arguments,1)); this._messages.push(msg); this.dispatchListeners(msg); if(this.useNativeConsole){ this.logToConsole(msg.level+": "+msg.info.join(" ")); } this.counter+=1; while(this.maxSize>=0&&this._messages.length>this.maxSize){ this._messages.shift(); } },getMessages:function(_21c){ var _21d=0; if(!(typeof (_21c)=="undefined"||_21c===null)){ _21d=Math.max(0,this._messages.length-_21c); } return this._messages.slice(_21d); },getMessageText:function(_21e){ if(typeof (_21e)=="undefined"||_21e===null){ _21e=30; } var _21f=this.getMessages(_21e); if(_21f.length){ var lst=MochiKit.Base.map(function(m){ return "\n ["+m.num+"] "+m.level+": "+m.info.join(" "); },_21f); lst.unshift("LAST "+_21f.length+" MESSAGES:"); return lst.join(""); } return ""; },debuggingBookmarklet:function(_222){ if(typeof (MochiKit.LoggingPane)=="undefined"){ alert(this.getMessageText()); }else{ MochiKit.LoggingPane.createLoggingPane(_222||false); } }}; MochiKit.Logging.__new__=function(){ this.LogLevel={ERROR:40,FATAL:50,WARNING:30,INFO:20,DEBUG:10}; var m=MochiKit.Base; m.registerComparator("LogMessage",this.isLogMessage,this.compareLogMessage); var _224=m.partial; var _225=this.Logger; var _226=_225.prototype.baseLog; m.update(this.Logger.prototype,{debug:_224(_226,"DEBUG"),log:_224(_226,"INFO"),error:_224(_226,"ERROR"),fatal:_224(_226,"FATAL"),warning:_224(_226,"WARNING")}); var self=this; var _228=function(name){ return function(){ self.logger[name].apply(self.logger,arguments); }; }; this.log=_228("log"); this.logError=_228("error"); this.logDebug=_228("debug"); this.logFatal=_228("fatal"); this.logWarning=_228("warning"); this.logger=new _225(); this.logger.useNativeConsole=true; m.nameFunctions(this); }; MochiKit.Logging.__new__(); MochiKit.Base._exportSymbols(this,MochiKit.Logging); MochiKit.Base._module("DateTime","1.5",["Base"]); MochiKit.DateTime.isoDate=function(str){ str=str+""; if(typeof (str)!="string"||str.length===0){ return null; } var iso=str.split("-"); if(iso.length===0){ return null; } var date=new Date(iso[0],iso[1]-1,iso[2]); date.setFullYear(iso[0]); date.setMonth(iso[1]-1); date.setDate(iso[2]); return date; }; MochiKit.DateTime._isoRegexp=/(\d{4,})(?:-(\d{1,2})(?:-(\d{1,2})(?:[T ](\d{1,2}):(\d{1,2})(?::(\d{1,2})(?:\.(\d+))?)?(?:(Z)|([+-])(\d{1,2})(?::(\d{1,2}))?)?)?)?)?/; MochiKit.DateTime.isoTimestamp=function(str){ str=str+""; if(typeof (str)!="string"||str.length===0){ return null; } var res=str.match(MochiKit.DateTime._isoRegexp); if(typeof (res)=="undefined"||res===null){ return null; } var year,_230,day,hour,min,sec,msec; year=parseInt(res[1],10); if(typeof (res[2])=="undefined"||res[2]===""){ return new Date(year); } _230=parseInt(res[2],10)-1; day=parseInt(res[3],10); if(typeof (res[4])=="undefined"||res[4]===""){ return new Date(year,_230,day); } hour=parseInt(res[4],10); min=parseInt(res[5],10); sec=(typeof (res[6])!="undefined"&&res[6]!=="")?parseInt(res[6],10):0; if(typeof (res[7])!="undefined"&&res[7]!==""){ msec=Math.round(1000*parseFloat("0."+res[7])); }else{ msec=0; } if((typeof (res[8])=="undefined"||res[8]==="")&&(typeof (res[9])=="undefined"||res[9]==="")){ return new Date(year,_230,day,hour,min,sec,msec); } var ofs; if(typeof (res[9])!="undefined"&&res[9]!==""){ ofs=parseInt(res[10],10)*3600000; if(typeof (res[11])!="undefined"&&res[11]!==""){ ofs+=parseInt(res[11],10)*60000; } if(res[9]=="-"){ ofs=-ofs; } }else{ ofs=0; } return new Date(Date.UTC(year,_230,day,hour,min,sec,msec)-ofs); }; MochiKit.DateTime.toISOTime=function(date,_238){ if(typeof (date)=="undefined"||date===null){ return null; } var hh=date.getHours(); var mm=date.getMinutes(); var ss=date.getSeconds(); var lst=[((_238&&(hh<10))?"0"+hh:hh),((mm<10)?"0"+mm:mm),((ss<10)?"0"+ss:ss)]; return lst.join(":"); }; MochiKit.DateTime.toISOTimestamp=function(date,_23e){ if(typeof (date)=="undefined"||date===null){ return null; } var sep=_23e?"T":" "; var foot=_23e?"Z":""; if(_23e){ date=new Date(date.getTime()+(date.getTimezoneOffset()*60000)); } return MochiKit.DateTime.toISODate(date)+sep+MochiKit.DateTime.toISOTime(date,_23e)+foot; }; MochiKit.DateTime.toISODate=function(date){ if(typeof (date)=="undefined"||date===null){ return null; } var _242=MochiKit.DateTime._padTwo; var _243=MochiKit.DateTime._padFour; return [_243(date.getFullYear()),_242(date.getMonth()+1),_242(date.getDate())].join("-"); }; MochiKit.DateTime.americanDate=function(d){ d=d+""; if(typeof (d)!="string"||d.length===0){ return null; } var a=d.split("/"); return new Date(a[2],a[0]-1,a[1]); }; MochiKit.DateTime._padTwo=function(n){ return (n>9)?n:"0"+n; }; MochiKit.DateTime._padFour=function(n){ switch(n.toString().length){ case 1: return "000"+n; break; case 2: return "00"+n; break; case 3: return "0"+n; break; case 4: default: return n; } }; MochiKit.DateTime.toPaddedAmericanDate=function(d){ if(typeof (d)=="undefined"||d===null){ return null; } var _249=MochiKit.DateTime._padTwo; return [_249(d.getMonth()+1),_249(d.getDate()),d.getFullYear()].join("/"); }; MochiKit.DateTime.toAmericanDate=function(d){ if(typeof (d)=="undefined"||d===null){ return null; } return [d.getMonth()+1,d.getDate(),d.getFullYear()].join("/"); }; MochiKit.DateTime.__new__=function(){ MochiKit.Base.nameFunctions(this); }; MochiKit.DateTime.__new__(); MochiKit.Base._exportSymbols(this,MochiKit.DateTime); MochiKit.Base._module("Format","1.5",["Base"]); MochiKit.Format._numberFormatter=function(_24b,_24c,_24d,_24e,_24f,_250,_251,_252,_253){ return function(num){ num=parseFloat(num); if(typeof (num)=="undefined"||num===null||isNaN(num)){ return _24b; } var _255=_24c; var _256=_24d; if(num<0){ num=-num; }else{ _255=_255.replace(/-/,""); } var me=arguments.callee; var fmt=MochiKit.Format.formatLocale(_24e); if(_24f){ num=num*100; _256=fmt.percent+_256; } num=MochiKit.Format.roundToFixed(num,_250); var _259=num.split(/\./); var _25a=_259[0]; var frac=(_259.length==1)?"":_259[1]; var res=""; while(_25a.length<_251){ _25a="0"+_25a; } if(_252){ while(_25a.length>_252){ var i=_25a.length-_252; res=fmt.separator+_25a.substring(i,_25a.length)+res; _25a=_25a.substring(0,i); } } res=_25a+res; if(_250>0){ while(frac.length<_253){ frac=frac+"0"; } res=res+fmt.decimal+frac; } return _255+res+_256; }; }; MochiKit.Format.numberFormatter=function(_25e,_25f,_260){ if(typeof (_25f)=="undefined"){ _25f=""; } var _261=_25e.match(/((?:[0#]+,)?[0#]+)(?:\.([0#]+))?(%)?/); if(!_261){ throw TypeError("Invalid pattern"); } var _262=_25e.substr(0,_261.index); var _263=_25e.substr(_261.index+_261[0].length); if(_262.search(/-/)==-1){ _262=_262+"-"; } var _264=_261[1]; var frac=(typeof (_261[2])=="string"&&_261[2]!="")?_261[2]:""; var _266=(typeof (_261[3])=="string"&&_261[3]!=""); var tmp=_264.split(/,/); var _268; if(typeof (_260)=="undefined"){ _260="default"; } if(tmp.length==1){ _268=null; }else{ _268=tmp[1].length; } var _269=_264.length-_264.replace(/0/g,"").length; var _26a=frac.length-frac.replace(/0/g,"").length; var _26b=frac.length; var rval=MochiKit.Format._numberFormatter(_25f,_262,_263,_260,_266,_26b,_269,_268,_26a); var m=MochiKit.Base; if(m){ var fn=arguments.callee; var args=m.concat(arguments); rval.repr=function(){ return [self.NAME,"(",map(m.repr,args).join(", "),")"].join(""); }; } return rval; }; MochiKit.Format.formatLocale=function(_270){ if(typeof (_270)=="undefined"||_270===null){ _270="default"; } if(typeof (_270)=="string"){ var rval=MochiKit.Format.LOCALE[_270]; if(typeof (rval)=="string"){ rval=arguments.callee(rval); MochiKit.Format.LOCALE[_270]=rval; } return rval; }else{ return _270; } }; MochiKit.Format.twoDigitAverage=function(_272,_273){ if(_273){ var res=_272/_273; if(!isNaN(res)){ return MochiKit.Format.twoDigitFloat(res); } } return "0"; }; MochiKit.Format.twoDigitFloat=function(_275){ var res=roundToFixed(_275,2); if(res.indexOf(".00")>0){ return res.substring(0,res.length-3); }else{ if(res.charAt(res.length-1)=="0"){ return res.substring(0,res.length-1); }else{ return res; } } }; MochiKit.Format.lstrip=function(str,_278){ str=str+""; if(typeof (str)!="string"){ return null; } if(!_278){ return str.replace(/^\s+/,""); }else{ return str.replace(new RegExp("^["+_278+"]+"),""); } }; MochiKit.Format.rstrip=function(str,_27a){ str=str+""; if(typeof (str)!="string"){ return null; } if(!_27a){ return str.replace(/\s+$/,""); }else{ return str.replace(new RegExp("["+_27a+"]+$"),""); } }; MochiKit.Format.strip=function(str,_27c){ var self=MochiKit.Format; return self.rstrip(self.lstrip(str,_27c),_27c); }; MochiKit.Format.truncToFixed=function(_27e,_27f){ var _280=MochiKit.Format._numberToFixed(_27e,_27f); var _281=_280.indexOf("."); if(_281>0&&_281+_27f+1<_280.length){ _280=_280.substring(0,_281+_27f+1); _280=MochiKit.Format._shiftNumber(_280,0); } return _280; }; MochiKit.Format.roundToFixed=function(_282,_283){ var _284=MochiKit.Format._numberToFixed(_282,_283); var _285=_284.indexOf("."); if(_285>0&&_285+_283+1<_284.length){ var str=MochiKit.Format._shiftNumber(_284,_283); str=MochiKit.Format._numberToFixed(Math.round(parseFloat(str)),0); _284=MochiKit.Format._shiftNumber(str,-_283); } return _284; }; MochiKit.Format._numberToFixed=function(_287,_288){ var str=_287.toString(); var _28a=str.split(/[eE]/); var exp=(_28a.length===1)?0:parseInt(_28a[1])||0; var _28c=MochiKit.Format._shiftNumber(_28a[0],exp); _28a=_28c.split(/\./); var _28d=_28a[0]; var frac=(_28a.length===1)?"":_28a[1]; while(frac.length<_288){ frac+="0"; } if(frac.length>0){ return _28d+"."+frac; }else{ return _28d; } }; MochiKit.Format._shiftNumber=function(num,exp){ var pos=num.indexOf("."); if(pos<0){ pos=num.length; }else{ num=num.substring(0,pos)+num.substring(pos+1); } pos+=exp; while(pos<=0||(pos<=1&&num.charAt(0)==="-")){ if(num.charAt(0)==="-"){ num="-0"+num.substring(1); }else{ num="0"+num; } pos++; } while(pos>num.length){ num+="0"; } if(pos=0; }; MochiKit.Text.padLeft=function(str,_29e,_29f){ str=str||""; _29f=_29f||" "; while(str.length<_29e){ str=_29f+str; } return str; }; MochiKit.Text.padRight=function(str,_2a1,_2a2){ str=str||""; _2a2=_2a2||" "; while(str.length<_2a1){ str+=_2a2; } return str; }; MochiKit.Text.truncate=function(str,_2a4,tail){ if(str==null||str.length<=_2a4||_2a4<0){ return str; }else{ if(tail!=null){ str=str.slice(0,Math.max(0,_2a4-tail.length)); if(typeof (str)=="string"){ return str+tail; }else{ return MochiKit.Base.extend(str,tail); } }else{ return str.slice(0,_2a4); } } }; MochiKit.Text.split=function(str,_2a7,max){ if(str==null||str.length==0){ return str; } _2a7=_2a7||"\n"; var bits=str.split(_2a7); if((typeof (max)=="undefined")||max>=bits.length-1){ return bits; } bits.splice(max,bits.length,bits.slice(max,bits.length).join(_2a7)); return bits; }; MochiKit.Text.rsplit=function(str,_2ab,max){ if(str==null||str.length==0){ return str; } _2ab=_2ab||"\n"; var bits=str.split(_2ab); if((typeof (max)=="undefined")||max>=bits.length-1){ return bits; } bits.splice(0,bits.length-max,bits.slice(0,bits.length-max).join(_2ab)); return bits; }; MochiKit.Text.formatter=function(_2ae,_2af){ if(typeof (_2af)=="undefined"){ _2af=MochiKit.Format.formatLocale(); }else{ if(typeof (_2af)=="string"){ _2af=MochiKit.Format.formatLocale(_2af); } } var _2b0=MochiKit.Text._parsePattern(_2ae); return function(){ var _2b1=MochiKit.Base.extend([],arguments); var res=[]; for(var i=0;i<_2b0.length;i++){ if(typeof (_2b0[i])=="string"){ res.push(_2b0[i]); }else{ res.push(MochiKit.Text.formatValue(_2b0[i],_2b1,_2af)); } } return res.join(""); }; }; MochiKit.Text.format=function(_2b4){ var func=MochiKit.Text.formatter(_2b4); return func.apply(this,MochiKit.Base.extend([],arguments,1)); }; MochiKit.Text.formatValue=function(spec,_2b7,_2b8){ var self=MochiKit.Text; if(typeof (spec)==="string"){ spec=self._parseFormatFlags(spec,0,spec.length-1); } for(var i=0;spec.path!=null&&i=0){ str=MochiKit.Format.roundToFixed(_2b7,spec.precision); }else{ str=_2b7.toString(); } } } } if(spec.padding==="0"&&spec.format==="%"){ str=self.padLeft(str,spec.width-sign.length-1,"0"); }else{ if(spec.padding=="0"){ str=self.padLeft(str,spec.width-sign.length,"0"); } } str=self._localizeNumber(str,_2b8,spec.grouping); str=sign+str; } } } if(str!==""&&spec.format==="%"){ str=str+_2b8.percent; } }else{ if(spec.format=="r"){ str=MochiKit.Base.repr(_2b7); }else{ str=(_2b7==null)?"null":_2b7.toString(); } str=self.truncate(str,spec.precision); } if(spec.align=="<"){ str=self.padRight(str,spec.width); }else{ str=self.padLeft(str,spec.width); } return str; }; MochiKit.Text._localizeNumber=function(num,_2be,_2bf){ var _2c0=num.split(/\./); var _2c1=_2c0[0]; var frac=(_2c0.length==1)?"":_2c0[1]; var res=(frac.length>0)?_2be.decimal:""; while(_2bf&&frac.length>3){ res=res+frac.substring(0,3)+_2be.separator; frac=frac.substring(3); if(_2c1.charAt(0)=="0"){ _2c1=_2c1.substring(1); } } if(frac.length>0){ res+=frac; } while(_2bf&&_2c1.length>3){ var pos=_2c1.length-3; res=_2be.separator+_2c1.substring(pos)+res; _2c1=_2c1.substring((_2c1.charAt(0)=="0")?1:0,pos); } return _2c1+res; }; MochiKit.Text._parsePattern=function(_2c5){ var self=MochiKit.Text; var _2c7=[]; var _2c8=0; var pos=0; for(pos=0;pos<_2c5.length;pos++){ if(_2c5.charAt(pos)=="{"){ if(pos+1>=_2c5.length){ var msg="unescaped { char, should be escaped as {{"; throw new self.FormatPatternError(_2c5,pos,msg); }else{ if(_2c5.charAt(pos+1)=="{"){ _2c7.push(_2c5.substring(_2c8,pos+1)); _2c8=pos+2; pos++; }else{ if(_2c8=_2c5.length||_2c5.charAt(pos+1)!="}"){ var msg="unescaped } char, should be escaped as }}"; throw new self.FormatPatternError(_2c5,pos,msg); } _2c7.push(_2c5.substring(_2c8,pos+1)); _2c8=pos+2; pos++; } } } if(_2c80){ info=self._parseFormatFlags(_2cb,_2cc+pos+1,_2cd); info.path=text.substring(0,pos).split("."); }else{ info=self._parseFormatFlags(_2cb,_2cd,_2cd); info.path=text.split("."); } } var _2d2=/^\d+$/; for(var i=0;i",sign:"-",padding:" ",grouping:false}; var _2db=_2d6.substring(_2d7,_2d8).replace(/\s+$/,""); while(_2db.length>0){ var chr=_2db.charAt(0); var _2dd=1; switch(chr){ case ">": case "<": _2d9(info,{align:chr}); break; case "+": case "-": case " ": _2d9(info,{sign:chr}); break; case ",": _2d9(info,{grouping:true}); break; case ".": var _2de=/^\d*/.exec(_2db.substring(1))[0]; _2d9(info,{precision:parseInt(_2de)}); _2dd=1+_2de.length; break; case "0": _2d9(info,{padding:chr}); break; case "1": case "2": case "3": case "4": case "5": case "6": case "7": case "8": case "9": var _2de=/^\d*/.exec(_2db)[0]; _2d9(info,{width:parseInt(_2de)}); _2dd=_2de.length; break; case "s": case "r": _2d9(info,{format:chr}); break; case "b": _2d9(info,{numeric:true,format:chr,radix:2}); break; case "o": _2d9(info,{numeric:true,format:chr,radix:8}); break; case "x": case "X": _2d9(info,{numeric:true,format:chr,radix:16}); break; case "d": case "f": case "%": _2d9(info,{numeric:true,format:chr,radix:10}); break; default: var msg="unsupported format flag: "+chr; throw new MochiKit.Text.FormatPatternError(_2d6,_2d7,msg); } _2db=_2db.substring(_2dd); } return info; }; MochiKit.Text._truncToPercent=function(_2e0,_2e1){ var str; if(_2e1>=0){ str=MochiKit.Format.roundToFixed(_2e0,_2e1+2); }else{ str=(_2e0==null)?"0":_2e0.toString(); } var arr=MochiKit.Text.split(str,".",2); var frac=MochiKit.Text.padRight(arr[1],2,"0"); var _2e5=arr[0]+frac.substring(0,2); frac=frac.substring(2); while(/^0[0-9]/.test(_2e5)){ _2e5=_2e5.substring(1); } return (frac.length<=0)?_2e5:_2e5+"."+frac; }; MochiKit.Text.FormatPatternError=function(_2e6,pos,_2e8){ this.pattern=_2e6; this.pos=pos; this.message=_2e8; }; MochiKit.Text.FormatPatternError.prototype=new MochiKit.Base.NamedError("MochiKit.Text.FormatPatternError"); if(MochiKit.__export__){ formatter=MochiKit.Text.formatter; format=MochiKit.Text.format; formatValue=MochiKit.Text.formatValue; } MochiKit.Base.nameFunctions(MochiKit.Text); MochiKit.Base._exportSymbols(this,MochiKit.Text); MochiKit.Base._module("Async","1.5",["Base"]); MochiKit.Async.Deferred=function(_2e9){ this.chain=[]; this.id=this._nextId(); this.fired=-1; this.paused=0; this.results=[null,null]; this.canceller=_2e9; this.silentlyCancelled=false; this.chained=false; this.finalized=false; }; MochiKit.Async.Deferred.prototype={repr:function(){ var _2ea; if(this.fired==-1){ _2ea="unfired"; }else{ if(this.fired===0){ _2ea="success"; }else{ _2ea="error"; } } return "Deferred("+this.id+", "+_2ea+")"; },toString:MochiKit.Base.forwardCall("repr"),_nextId:MochiKit.Base.counter(),cancel:function(){ var self=MochiKit.Async; if(this.fired==-1){ if(this.canceller){ this.canceller(this); }else{ this.silentlyCancelled=true; } if(this.fired==-1){ this.errback(new self.CancelledError(this)); } }else{ if((this.fired===0)&&(this.results[0] instanceof self.Deferred)){ this.results[0].cancel(); } } },_resback:function(res){ this.fired=((res instanceof Error)?1:0); this.results[this.fired]=res; if(this.paused===0){ this._fire(); } },_check:function(){ if(this.fired!=-1){ if(!this.silentlyCancelled){ throw new MochiKit.Async.AlreadyCalledError(this); } this.silentlyCancelled=false; return; } },callback:function(res){ this._check(); if(res instanceof MochiKit.Async.Deferred){ throw new Error("Deferred instances can only be chained if they are the result of a callback"); } this._resback(res); },errback:function(res){ this._check(); var self=MochiKit.Async; if(res instanceof self.Deferred){ throw new Error("Deferred instances can only be chained if they are the result of a callback"); } if(!(res instanceof Error)){ res=new self.GenericError(res); } this._resback(res); },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){ if(this.chained){ throw new Error("Chained Deferreds can not be re-used"); } if(this.finalized){ throw new Error("Finalized Deferreds can not be re-used"); } this.chain.push([cb,eb]); if(this.fired>=0){ this._fire(); } return this; },setFinalizer:function(fn){ if(this.chained){ throw new Error("Chained Deferreds can not be re-used"); } if(this.finalized){ throw new Error("Finalized Deferreds can not be re-used"); } if(arguments.length>1){ fn=MochiKit.Base.partial.apply(null,arguments); } this._finalizer=fn; if(this.fired>=0){ this._fire(); } return this; },_fire:function(){ var _2f6=this.chain; var _2f7=this.fired; var res=this.results[_2f7]; var self=this; var cb=null; while(_2f6.length>0&&this.paused===0){ var pair=_2f6.shift(); var f=pair[_2f7]; if(f===null){ continue; } try{ res=f(res); _2f7=((res instanceof Error)?1:0); if(res instanceof MochiKit.Async.Deferred){ cb=function(res){ self.paused--; self._resback(res); }; this.paused++; } } catch(err){ _2f7=1; if(!(err instanceof Error)){ err=new MochiKit.Async.GenericError(err); } res=err; } } this.fired=_2f7; this.results[_2f7]=res; if(this.chain.length==0&&this.paused===0&&this._finalizer){ this.finalized=true; this._finalizer(res); } if(cb&&this.paused){ res.addBoth(cb); res.chained=true; } }}; MochiKit.Base.update(MochiKit.Async,{evalJSONRequest:function(req){ return MochiKit.Base.evalJSON(req.responseText); },succeed:function(_2ff){ var d=new MochiKit.Async.Deferred(); d.callback.apply(d,arguments); return d; },fail:function(_301){ var d=new MochiKit.Async.Deferred(); d.errback.apply(d,arguments); return d; },getXMLHttpRequest:function(){ var self=arguments.callee; if(!self.XMLHttpRequest){ var _304=[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<_304.length;i++){ var func=_304[i]; try{ self.XMLHttpRequest=func; return func(); } catch(e){ } } } return self.XMLHttpRequest(); },_xhr_onreadystatechange:function(d){ var m=MochiKit.Base; if(this.readyState==4){ try{ this.onreadystatechange=null; } catch(e){ try{ this.onreadystatechange=m.noop; } catch(e){ } } var _309=null; try{ _309=this.status; if(!_309&&m.isNotEmpty(this.responseText)){ _309=304; } } catch(e){ } if(_309==200||_309==201||_309==204||_309==304||_309==1223){ d.callback(this); }else{ var err=new MochiKit.Async.XMLHttpRequestError(this,"Request failed"); if(err.number){ d.errback(err); }else{ d.errback(err); } } } },_xhr_canceller:function(req){ try{ req.onreadystatechange=null; } catch(e){ try{ req.onreadystatechange=MochiKit.Base.noop; } catch(e){ } } req.abort(); },sendXMLHttpRequest:function(req,_30d){ if(typeof (_30d)=="undefined"||_30d===null){ _30d=""; } var m=MochiKit.Base; var self=MochiKit.Async; var d=new self.Deferred(m.partial(self._xhr_canceller,req)); try{ req.onreadystatechange=m.bind(self._xhr_onreadystatechange,req,d); req.send(_30d); } catch(e){ try{ req.onreadystatechange=null; } catch(ignore){ } d.errback(e); } return d; },doXHR:function(url,opts){ var self=MochiKit.Async; return self.callLater(0,self._doXHR,url,opts); },_doXHR:function(url,opts){ var m=MochiKit.Base; opts=m.update({method:"GET",sendContent:""},opts); var self=MochiKit.Async; var req=self.getXMLHttpRequest(); if(opts.queryString){ var qs=m.queryString(opts.queryString); if(qs){ url+="?"+qs; } } if("username" in opts){ req.open(opts.method,url,true,opts.username,opts.password); }else{ req.open(opts.method,url,true); } if(req.overrideMimeType&&opts.mimeType){ req.overrideMimeType(opts.mimeType); } req.setRequestHeader("X-Requested-With","XMLHttpRequest"); if(opts.headers){ var _31a=opts.headers; if(!m.isArrayLike(_31a)){ _31a=m.items(_31a); } for(var i=0;i<_31a.length;i++){ var _31c=_31a[i]; var name=_31c[0]; var _31e=_31c[1]; req.setRequestHeader(name,_31e); } } return self.sendXMLHttpRequest(req,opts.sendContent); },_buildURL:function(url){ if(arguments.length>1){ var m=MochiKit.Base; var qs=m.queryString.apply(null,m.extend(null,arguments,1)); if(qs){ return url+"?"+qs; } } return url; },doSimpleXMLHttpRequest:function(url){ var self=MochiKit.Async; url=self._buildURL.apply(self,arguments); return self.doXHR(url); },loadJSONDoc:function(url){ var self=MochiKit.Async; url=self._buildURL.apply(self,arguments); var d=self.doXHR(url,{"mimeType":"text/plain","headers":[["Accept","application/json"]]}); d=d.addCallback(self.evalJSONRequest); return d; },wait:function(_327,_328){ var d=new MochiKit.Async.Deferred(); var cb=MochiKit.Base.bind("callback",d,_328); var _32b=setTimeout(cb,Math.floor(_327*1000)); d.canceller=function(){ try{ clearTimeout(_32b); } catch(e){ } }; return d; },callLater:function(_32c,func){ var m=MochiKit.Base; var _32f=m.partial.apply(m,m.extend(null,arguments,1)); return MochiKit.Async.wait(_32c).addCallback(function(res){ return _32f(); }); }}); MochiKit.Async.DeferredLock=function(){ this.waiting=[]; this.locked=false; this.id=this._nextId(); }; MochiKit.Async.DeferredLock.prototype={__class__:MochiKit.Async.DeferredLock,acquire:function(){ var 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 _332; if(this.locked){ _332="locked, "+this.waiting.length+" waiting"; }else{ _332="unlocked"; } return "DeferredLock("+this.id+", "+_332+")"; },toString:MochiKit.Base.forwardCall("repr")}; MochiKit.Async.DeferredList=function(list,_334,_335,_336,_337){ MochiKit.Async.Deferred.apply(this,[_337]); this.list=list; var _338=[]; this.resultList=_338; this.finishedCount=0; this.fireOnOneCallback=_334; this.fireOnOneErrback=_335; this.consumeErrors=_336; var cb=MochiKit.Base.bind(this._cbDeferred,this); for(var i=0;i=0){ var opt=elem.options[elem.selectedIndex]; var v=opt.value; if(!v){ var h=opt.outerHTML; if(h&&!h.match(/^[^>]+\svalue\s*=/i)){ v=opt.text; } } _357.push(name); _358.push(v); return null; } _357.push(name); _358.push(""); return null; }else{ var opts=elem.options; if(!opts.length){ _357.push(name); _358.push(""); return null; } for(var i=0;i]+\svalue\s*=/i)){ v=opt.text; } } _357.push(name); _358.push(v); } return null; } } if(_35d==="FORM"||_35d==="P"||_35d==="SPAN"||_35d==="DIV"){ return elem.childNodes; } _357.push(name); _358.push(elem.value||""); return null; } return elem.childNodes; }); return [_357,_358]; },withDocument:function(doc,func){ var self=MochiKit.DOM; var _366=self._document; var rval; try{ self._document=doc; rval=func(); } catch(e){ self._document=_366; throw e; } self._document=_366; return rval; },registerDOMConverter:function(name,_369,wrap,_36b){ MochiKit.DOM.domConverters.register(name,_369,wrap,_36b); },coerceToDOM:function(node,ctx){ var m=MochiKit.Base; var im=MochiKit.Iter; var self=MochiKit.DOM; if(im){ var iter=im.iter; var _372=im.repeat; } var map=m.map; var _374=self.domConverters; var _375=arguments.callee; var _376=m.NotFound; while(true){ if(typeof (node)=="undefined"||node===null){ return null; } if(typeof (node)=="function"&&typeof (node.length)=="number"&&!(node instanceof Function)){ node=im?im.list(node):m.extend(null,node); } if(typeof (node.nodeType)!="undefined"&&node.nodeType>0){ return node; } if(typeof (node)=="number"||typeof (node)=="boolean"){ node=node.toString(); } if(typeof (node)=="string"){ return self._document.createTextNode(node); } if(typeof (node.__dom__)=="function"){ node=node.__dom__(ctx); continue; } if(typeof (node.dom)=="function"){ node=node.dom(ctx); continue; } if(typeof (node)=="function"){ node=node.apply(ctx,[ctx]); continue; } if(im){ var _377=null; try{ _377=iter(node); } catch(e){ } if(_377){ return map(_375,_377,_372(ctx)); } }else{ if(m.isArrayLike(node)){ var func=function(n){ return _375(n,ctx); }; return map(func,node); } } try{ node=_374.match(node,ctx); continue; } catch(e){ if(e!=_376){ throw e; } } return self._document.createTextNode(node.toString()); } return undefined; },isChildNode:function(node,_37b){ var self=MochiKit.DOM; if(typeof (node)=="string"){ node=self.getElement(node); } if(typeof (_37b)=="string"){ _37b=self.getElement(_37b); } if(typeof (node)=="undefined"||node===null){ return false; } while(node!=null&&node!==self._document){ if(node===_37b){ return true; } node=node.parentNode; } return false; },setNodeAttribute:function(node,attr,_37f){ var o={}; o[attr]=_37f; try{ return MochiKit.DOM.updateNodeAttributes(node,o); } catch(e){ } return null; },getNodeAttribute:function(node,attr){ var self=MochiKit.DOM; var _384=self.attributeArray.renames[attr]; var _385=self.attributeArray.ignoreAttr[attr]; node=self.getElement(node); try{ if(_384){ return node[_384]; } var _386=node.getAttribute(attr); if(_386!=_385){ return _386; } } catch(e){ } return null; },removeNodeAttribute:function(node,attr){ var self=MochiKit.DOM; var _38a=self.attributeArray.renames[attr]; node=self.getElement(node); try{ if(_38a){ return node[_38a]; } return node.removeAttribute(attr); } catch(e){ } return null; },updateNodeAttributes:function(node,_38c){ var elem=node; var self=MochiKit.DOM; if(typeof (node)=="string"){ elem=self.getElement(node); } if(_38c){ var _38f=MochiKit.Base.updatetree; if(self.attributeArray.compliant){ for(var k in _38c){ var v=_38c[k]; if(typeof (v)=="object"&&typeof (elem[k])=="object"){ if(k=="style"&&MochiKit.Style){ MochiKit.Style.setStyle(elem,v); }else{ _38f(elem[k],v); } }else{ if(k.substring(0,2)=="on"){ if(typeof (v)=="string"){ v=new Function(v); } elem[k]=v; }else{ elem.setAttribute(k,v); } } if(typeof (elem[k])=="string"&&elem[k]!=v){ elem[k]=v; } } }else{ var _392=self.attributeArray.renames; for(var k in _38c){ v=_38c[k]; var _393=_392[k]; if(k=="style"&&typeof (v)=="string"){ elem.style.cssText=v; }else{ if(typeof (_393)=="string"){ elem[_393]=v; }else{ if(typeof (elem[k])=="object"&&typeof (v)=="object"){ if(k=="style"&&MochiKit.Style){ MochiKit.Style.setStyle(elem,v); }else{ _38f(elem[k],v); } }else{ if(k.substring(0,2)=="on"){ if(typeof (v)=="string"){ v=new Function(v); } elem[k]=v; }else{ elem.setAttribute(k,v); } } } } if(typeof (elem[k])=="string"&&elem[k]!=v){ elem[k]=v; } } } } return elem; },appendChildNodes:function(node){ var elem=node; var self=MochiKit.DOM; if(typeof (node)=="string"){ elem=self.getElement(node); } var _397=[self.coerceToDOM(MochiKit.Base.extend(null,arguments,1),elem)]; var _398=MochiKit.Base.concat; while(_397.length){ var n=_397.shift(); if(typeof (n)=="undefined"||n===null){ }else{ if(typeof (n.nodeType)=="number"){ elem.appendChild(n); }else{ _397=_398(n,_397); } } } return elem; },insertSiblingNodesBefore:function(node){ var elem=node; var self=MochiKit.DOM; if(typeof (node)=="string"){ elem=self.getElement(node); } var _39d=[self.coerceToDOM(MochiKit.Base.extend(null,arguments,1),elem)]; var _39e=elem.parentNode; var _39f=MochiKit.Base.concat; while(_39d.length){ var n=_39d.shift(); if(typeof (n)=="undefined"||n===null){ }else{ if(typeof (n.nodeType)=="number"){ _39e.insertBefore(n,elem); }else{ _39d=_39f(n,_39d); } } } return _39e; },insertSiblingNodesAfter:function(node){ var elem=node; var self=MochiKit.DOM; if(typeof (node)=="string"){ elem=self.getElement(node); } var _3a4=[self.coerceToDOM(MochiKit.Base.extend(null,arguments,1),elem)]; if(elem.nextSibling){ return self.insertSiblingNodesBefore(elem.nextSibling,_3a4); }else{ return self.appendChildNodes(elem.parentNode,_3a4); } },replaceChildNodes:function(node){ var elem=node; var self=MochiKit.DOM; if(typeof (node)=="string"){ elem=self.getElement(node); arguments[0]=elem; } var _3a8; while((_3a8=elem.firstChild)){ elem.removeChild(_3a8); } if(arguments.length<2){ return elem; }else{ return self.appendChildNodes.apply(this,arguments); } },createDOM:function(name,_3aa){ var elem; var self=MochiKit.DOM; var m=MochiKit.Base; if(typeof (_3aa)=="string"||typeof (_3aa)=="number"){ var args=m.extend([name,null],arguments,1); return arguments.callee.apply(this,args); } if(typeof (name)=="string"){ var _3af=self._xhtml; if(_3aa&&!self.attributeArray.compliant){ var _3b0=""; if("name" in _3aa){ _3b0+=" name=\""+self.escapeHTML(_3aa.name)+"\""; } if(name=="input"&&"type" in _3aa){ _3b0+=" type=\""+self.escapeHTML(_3aa.type)+"\""; } if(_3b0){ name="<"+name+_3b0+">"; _3af=false; } } var d=self._document; if(_3af&&d===document){ elem=d.createElementNS("http://www.w3.org/1999/xhtml",name); }else{ elem=d.createElement(name); } }else{ elem=name; } if(_3aa){ self.updateNodeAttributes(elem,_3aa); } if(arguments.length<=2){ return elem; }else{ var args=m.extend([elem],arguments,2); return self.appendChildNodes.apply(this,args); } },createDOMFunc:function(){ var m=MochiKit.Base; return m.partial.apply(this,m.extend([MochiKit.DOM.createDOM],arguments)); },removeElement:function(elem){ var self=MochiKit.DOM; if(typeof (elem)=="string"){ elem=self.getElement(elem); } var e=self.coerceToDOM(elem); e.parentNode.removeChild(e); return e; },swapDOM:function(dest,src){ var self=MochiKit.DOM; dest=self.getElement(dest); var _3b9=dest.parentNode; if(src){ if(typeof (src)=="string"){ src=self.getElement(src); } src=self.coerceToDOM(src,_3b9); _3b9.replaceChild(src,dest); }else{ _3b9.removeChild(dest); } return src; },getElement:function(id){ var self=MochiKit.DOM; if(arguments.length==1){ return ((typeof (id)=="string")?self._document.getElementById(id):id); }else{ return MochiKit.Base.map(self.getElement,arguments); } },getElementsByTagAndClassName:function(_3bc,_3bd,_3be){ var self=MochiKit.DOM; if(typeof (_3bc)=="undefined"||_3bc===null){ _3bc="*"; } if(typeof (_3be)=="undefined"||_3be===null){ _3be=self._document; } _3be=self.getElement(_3be); if(_3be==null){ return []; } var _3c0=(_3be.getElementsByTagName(_3bc)||self._document.all); if(typeof (_3bd)=="undefined"||_3bd===null){ return MochiKit.Base.extend(null,_3c0); } var _3c1=[]; for(var i=0;i<_3c0.length;i++){ var _3c3=_3c0[i]; var cls=_3c3.className; if(typeof (cls)!="string"){ cls=_3c3.getAttribute("class"); } if(typeof (cls)=="string"){ var _3c5=cls.split(" "); for(var j=0;j<_3c5.length;j++){ if(_3c5[j]==_3bd){ _3c1.push(_3c3); break; } } } } return _3c1; },_newCallStack:function(path,once){ var rval=function(){ var _3ca=arguments.callee.callStack; for(var i=0;i<_3ca.length;i++){ if(_3ca[i].apply(this,arguments)===false){ break; } } if(once){ try{ this[path]=null; } catch(e){ } } }; rval.callStack=[]; return rval; },addToCallStack:function(_3cc,path,func,once){ var self=MochiKit.DOM; var _3d1=_3cc[path]; var _3d2=_3d1; if(!(typeof (_3d1)=="function"&&typeof (_3d1.callStack)=="object"&&_3d1.callStack!==null)){ _3d2=self._newCallStack(path,once); if(typeof (_3d1)=="function"){ _3d2.callStack.push(_3d1); } _3cc[path]=_3d2; } _3d2.callStack.push(func); },addLoadEvent:function(func){ var self=MochiKit.DOM; self.addToCallStack(self._window,"onload",func,true); },focusOnLoad:function(_3d5){ var self=MochiKit.DOM; self.addLoadEvent(function(){ _3d5=self.getElement(_3d5); if(_3d5){ _3d5.focus(); } }); },setElementClass:function(_3d7,_3d8){ var self=MochiKit.DOM; var obj=self.getElement(_3d7); if(self.attributeArray.compliant){ obj.setAttribute("class",_3d8); }else{ obj.setAttribute("className",_3d8); } },toggleElementClass:function(_3db){ var self=MochiKit.DOM; for(var i=1;i/g,">"); },toHTML:function(dom){ return MochiKit.DOM.emitHTML(dom).join(""); },emitHTML:function(dom,lst){ if(typeof (lst)=="undefined"||lst===null){ lst=[]; } var _3fe=[dom]; var self=MochiKit.DOM; var _400=self.escapeHTML; var _401=self.attributeArray; while(_3fe.length){ dom=_3fe.pop(); if(typeof (dom)=="string"){ lst.push(dom); }else{ if(dom.nodeType==1){ lst.push("<"+dom.tagName.toLowerCase()); var _402=[]; var _403=_401(dom); for(var i=0;i<_403.length;i++){ var a=_403[i]; _402.push([" ",a.name,"=\"",_400(a.value),"\""]); } _402.sort(); for(i=0;i<_402.length;i++){ var _406=_402[i]; for(var j=0;j<_406.length;j++){ lst.push(_406[j]); } } if(dom.hasChildNodes()){ lst.push(">"); _3fe.push(""); var _408=dom.childNodes; for(i=_408.length-1;i>=0;i--){ _3fe.push(_408[i]); } }else{ lst.push("/>"); } }else{ if(dom.nodeType==3){ lst.push(_400(dom.nodeValue)); } } } } return lst; },scrapeText:function(node,_40a){ var rval=[]; (function(node){ var cn=node.childNodes; if(cn){ for(var i=0;i0){ var _427=m.filter; _426=function(node){ return _427(_426.ignoreAttrFilter,node.attributes); }; _426.ignoreAttr={}; var _429=_425.attributes; var _42a=_426.ignoreAttr; for(var i=0;i<_429.length;i++){ var a=_429[i]; _42a[a.name]=a.value; } _426.ignoreAttrFilter=function(a){ return (_426.ignoreAttr[a.name]!=a.value); }; _426.compliant=false; _426.renames={"class":"className","checked":"defaultChecked","usemap":"useMap","for":"htmlFor","readonly":"readOnly","colspan":"colSpan","rowspan":"rowSpan","bgcolor":"bgColor","cellspacing":"cellSpacing","cellpadding":"cellPadding"}; }else{ _426=function(node){ return node.attributes; }; _426.compliant=true; _426.ignoreAttr={}; _426.renames={}; } _426.__export__=false; this.attributeArray=_426; m._deprecated(this,"computedStyle","MochiKit.Style.getStyle","1.4",true); m._deprecated(this,"elementDimensions","MochiKit.Style.getElementDimensions","1.4"); m._deprecated(this,"elementPosition","MochiKit.Style.getElementPosition","1.4"); m._deprecated(this,"getViewportDimensions","MochiKit.Style.getViewportDimensions","1.4"); m._deprecated(this,"hideElement","MochiKit.Style.hideElement","1.4"); m._deprecated(this,"makeClipping","MochiKit.Style.makeClipping","1.4.1"); m._deprecated(this,"makePositioned","MochiKit.Style.makePositioned","1.4.1"); m._deprecated(this,"setElementDimensions","MochiKit.Style.setElementDimensions","1.4"); m._deprecated(this,"setElementPosition","MochiKit.Style.setElementPosition","1.4"); m._deprecated(this,"setDisplayForElement","MochiKit.Style.setDisplayForElement","1.4"); m._deprecated(this,"setOpacity","MochiKit.Style.setOpacity","1.4"); m._deprecated(this,"showElement","MochiKit.Style.showElement","1.4"); m._deprecated(this,"undoClipping","MochiKit.Style.undoClipping","1.4.1"); m._deprecated(this,"undoPositioned","MochiKit.Style.undoPositioned","1.4.1"); m._deprecated(this,"Coordinates","MochiKit.Style.Coordinates","1.4"); m._deprecated(this,"Dimensions","MochiKit.Style.Dimensions","1.4"); var _42f=this.createDOMFunc; this.UL=_42f("ul"); this.OL=_42f("ol"); this.LI=_42f("li"); this.DL=_42f("dl"); this.DT=_42f("dt"); this.DD=_42f("dd"); this.TD=_42f("td"); this.TR=_42f("tr"); this.TBODY=_42f("tbody"); this.THEAD=_42f("thead"); this.TFOOT=_42f("tfoot"); this.TABLE=_42f("table"); this.TH=_42f("th"); this.INPUT=_42f("input"); this.SPAN=_42f("span"); this.A=_42f("a"); this.DIV=_42f("div"); this.IMG=_42f("img"); this.BUTTON=_42f("button"); this.TT=_42f("tt"); this.PRE=_42f("pre"); this.H1=_42f("h1"); this.H2=_42f("h2"); this.H3=_42f("h3"); this.H4=_42f("h4"); this.H5=_42f("h5"); this.H6=_42f("h6"); this.BR=_42f("br"); this.HR=_42f("hr"); this.LABEL=_42f("label"); this.TEXTAREA=_42f("textarea"); this.FORM=_42f("form"); this.P=_42f("p"); this.SELECT=_42f("select"); this.OPTION=_42f("option"); this.OPTGROUP=_42f("optgroup"); this.LEGEND=_42f("legend"); this.FIELDSET=_42f("fieldset"); this.STRONG=_42f("strong"); this.CANVAS=_42f("canvas"); this.$=this.getElement; m.nameFunctions(this); }}); MochiKit.DOM.__new__(((typeof (window)=="undefined")?this:window)); if(MochiKit.__export__){ withWindow=MochiKit.DOM.withWindow; withDocument=MochiKit.DOM.withDocument; } MochiKit.Base._exportSymbols(this,MochiKit.DOM); MochiKit.Base._module("Selector","1.5",["Base","DOM","Iter"]); MochiKit.Selector.Selector=function(_430){ this.params={classNames:[],pseudoClassNames:[]}; this.expression=_430.toString().replace(/(^\s+|\s+$)/g,""); this.parseExpression(); this.compileMatcher(); }; MochiKit.Selector.Selector.prototype={__class__:MochiKit.Selector.Selector,parseExpression:function(){ function abort(_431){ throw "Parse error in selector: "+_431; } if(this.expression==""){ abort("empty expression"); } var repr=MochiKit.Base.repr; var _433=this.params; var expr=this.expression; var _435,_436,_437,rest; while(_435=expr.match(/^(.*)\[([a-z0-9_:-]+?)(?:([~\|!^$*]?=)(?:"([^"]*)"|([^\]\s]*)))?\]$/i)){ _433.attributes=_433.attributes||[]; _433.attributes.push({name:_435[2],operator:_435[3],value:_435[4]||_435[5]||""}); expr=_435[1]; } if(expr=="*"){ return this.params.wildcard=true; } while(_435=expr.match(/^([^a-z0-9_-])?([a-z0-9_-]+(?:\([^)]*\))?)(.*)/i)){ _436=_435[1]; _437=_435[2]; rest=_435[3]; switch(_436){ case "#": _433.id=_437; break; case ".": _433.classNames.push(_437); break; case ":": _433.pseudoClassNames.push(_437); break; case "": case undefined: _433.tagName=_437.toUpperCase(); break; default: abort(repr(expr)); } expr=rest; } if(expr.length>0){ abort(repr(expr)); } },buildMatchExpression:function(){ var repr=MochiKit.Base.repr; var _43a=this.params; var _43b=[]; var _43c,i; function childElements(_43e){ return "MochiKit.Base.filter(function (node) { return node.nodeType == 1; }, "+_43e+".childNodes)"; } if(_43a.wildcard){ _43b.push("true"); } if(_43c=_43a.id){ _43b.push("element.id == "+repr(_43c)); } if(_43c=_43a.tagName){ _43b.push("element.tagName.toUpperCase() == "+repr(_43c)); } if((_43c=_43a.classNames).length>0){ for(i=0;i<_43c.length;i++){ _43b.push("MochiKit.DOM.hasElementClass(element, "+repr(_43c[i])+")"); } } if((_43c=_43a.pseudoClassNames).length>0){ for(i=0;i<_43c.length;i++){ var _43f=_43c[i].match(/^([^(]+)(?:\((.*)\))?$/); var _440=_43f[1]; var _441=_43f[2]; switch(_440){ case "root": _43b.push("element.nodeType == 9 || element === element.ownerDocument.documentElement"); break; case "nth-child": case "nth-last-child": case "nth-of-type": case "nth-last-of-type": _43f=_441.match(/^((?:(\d+)n\+)?(\d+)|odd|even)$/); if(!_43f){ throw "Invalid argument to pseudo element nth-child: "+_441; } var a,b; if(_43f[0]=="odd"){ a=2; b=1; }else{ if(_43f[0]=="even"){ a=2; b=0; }else{ a=_43f[2]&&parseInt(_43f)||null; b=parseInt(_43f[3]); } } _43b.push("this.nthChild(element,"+a+","+b+","+!!_440.match("^nth-last")+","+!!_440.match("of-type$")+")"); break; case "first-child": _43b.push("this.nthChild(element, null, 1)"); break; case "last-child": _43b.push("this.nthChild(element, null, 1, true)"); break; case "first-of-type": _43b.push("this.nthChild(element, null, 1, false, true)"); break; case "last-of-type": _43b.push("this.nthChild(element, null, 1, true, true)"); break; case "only-child": _43b.push(childElements("element.parentNode")+".length == 1"); break; case "only-of-type": _43b.push("MochiKit.Base.filter(function (node) { return node.tagName == element.tagName; }, "+childElements("element.parentNode")+").length == 1"); break; case "empty": _43b.push("element.childNodes.length == 0"); break; case "enabled": _43b.push("(this.isUIElement(element) && element.disabled === false)"); break; case "disabled": _43b.push("(this.isUIElement(element) && element.disabled === true)"); break; case "checked": _43b.push("(this.isUIElement(element) && element.checked === true)"); break; case "not": var _444=new MochiKit.Selector.Selector(_441); _43b.push("!( "+_444.buildMatchExpression()+")"); break; } } } if(_43c=_43a.attributes){ MochiKit.Base.map(function(_445){ var _446="MochiKit.DOM.getNodeAttribute(element, "+repr(_445.name)+")"; var _447=function(_448){ return _446+".split("+repr(_448)+")"; }; _43b.push(_446+" != null"); switch(_445.operator){ case "=": _43b.push(_446+" == "+repr(_445.value)); break; case "~=": _43b.push("MochiKit.Base.findValue("+_447(" ")+", "+repr(_445.value)+") > -1"); break; case "^=": _43b.push(_446+".substring(0, "+_445.value.length+") == "+repr(_445.value)); break; case "$=": _43b.push(_446+".substring("+_446+".length - "+_445.value.length+") == "+repr(_445.value)); break; case "*=": _43b.push(_446+".match("+repr(_445.value)+")"); break; case "|=": _43b.push(_447("-")+"[0].toUpperCase() == "+repr(_445.value.toUpperCase())); break; case "!=": _43b.push(_446+" != "+repr(_445.value)); break; case "": case undefined: break; default: throw "Unknown operator "+_445.operator+" in selector"; } },_43c); } return _43b.join(" && "); },compileMatcher:function(){ var code="return (!element.tagName) ? false : "+this.buildMatchExpression()+";"; this.match=new Function("element",code); },nthChild:function(_44a,a,b,_44d,_44e){ var _44f=MochiKit.Base.filter(function(node){ return node.nodeType==1; },_44a.parentNode.childNodes); if(_44e){ _44f=MochiKit.Base.filter(function(node){ return node.tagName==_44a.tagName; },_44f); } if(_44d){ _44f=MochiKit.Iter.reversed(_44f); } if(a){ var _452=MochiKit.Base.findIdentical(_44f,_44a); return ((_452+1-b)/a)%1==0; }else{ return b==MochiKit.Base.findIdentical(_44f,_44a)+1; } },isUIElement:function(_453){ return MochiKit.Base.findValue(["input","button","select","option","textarea","object"],_453.tagName.toLowerCase())>-1; },findElements:function(_454,axis){ var _456; if(axis==undefined){ axis=""; } function inScope(_457,_458){ if(axis==""){ return MochiKit.DOM.isChildNode(_457,_458); }else{ if(axis==">"){ return _457.parentNode===_458; }else{ if(axis=="+"){ return _457===nextSiblingElement(_458); }else{ if(axis=="~"){ var _459=_458; while(_459=nextSiblingElement(_459)){ if(_457===_459){ return true; } } return false; }else{ throw "Invalid axis: "+axis; } } } } } if(_456=MochiKit.DOM.getElement(this.params.id)){ if(this.match(_456)){ if(!_454||inScope(_456,_454)){ return [_456]; } } } function nextSiblingElement(node){ node=node.nextSibling; while(node&&node.nodeType!=1){ node=node.nextSibling; } return node; } if(axis==""){ _454=(_454||MochiKit.DOM.currentDocument()).getElementsByTagName(this.params.tagName||"*"); }else{ if(axis==">"){ if(!_454){ throw "> combinator not allowed without preceeding expression"; } _454=MochiKit.Base.filter(function(node){ return node.nodeType==1; },_454.childNodes); }else{ if(axis=="+"){ if(!_454){ throw "+ combinator not allowed without preceeding expression"; } _454=nextSiblingElement(_454)&&[nextSiblingElement(_454)]; }else{ if(axis=="~"){ if(!_454){ throw "~ combinator not allowed without preceeding expression"; } var _45c=[]; while(nextSiblingElement(_454)){ _454=nextSiblingElement(_454); _45c.push(_454); } _454=_45c; } } } } if(!_454){ return []; } var _45d=MochiKit.Base.filter(MochiKit.Base.bind(function(_45e){ return this.match(_45e); },this),_454); return _45d; },repr:function(){ return "Selector("+this.expression+")"; },toString:MochiKit.Base.forwardCall("repr")}; MochiKit.Base.update(MochiKit.Selector,{findChildElements:function(_45f,_460){ _45f=MochiKit.DOM.getElement(_45f); var uniq=function(arr){ var res=[]; for(var i=0;i+~]$/); if(_46a){ _466=_46a[0]; return _468; }else{ var _46b=new MochiKit.Selector.Selector(expr); var _46c=MochiKit.Iter.reduce(function(_46d,_46e){ return MochiKit.Base.extend(_46d,_46b.findElements(_46e||_45f,_466)); },_468,[]); _466=""; return _46c; } }; var _46f=_465.replace(/(^\s+|\s+$)/g,"").split(/\s+/); return uniq(MochiKit.Iter.reduce(_467,_46f,[null])); },_460)); },findDocElements:function(){ return MochiKit.Selector.findChildElements(MochiKit.DOM.currentDocument(),arguments); },__new__:function(){ this.$$=this.findDocElements; MochiKit.Base.nameFunctions(this); }}); MochiKit.Selector.__new__(); MochiKit.Base._exportSymbols(this,MochiKit.Selector); MochiKit.Base._module("Style","1.5",["Base","DOM"]); MochiKit.Style.Dimensions=function(w,h){ if(!(this instanceof MochiKit.Style.Dimensions)){ return new MochiKit.Style.Dimensions(w,h); } this.w=w; this.h=h; }; MochiKit.Style.Dimensions.prototype.__repr__=function(){ var repr=MochiKit.Base.repr; return "{w: "+repr(this.w)+", h: "+repr(this.h)+"}"; }; MochiKit.Style.Dimensions.prototype.toString=function(){ return this.__repr__(); }; MochiKit.Style.Coordinates=function(x,y){ if(!(this instanceof MochiKit.Style.Coordinates)){ return new MochiKit.Style.Coordinates(x,y); } this.x=x; this.y=y; }; MochiKit.Style.Coordinates.prototype.__repr__=function(){ var repr=MochiKit.Base.repr; return "{x: "+repr(this.x)+", y: "+repr(this.y)+"}"; }; MochiKit.Style.Coordinates.prototype.toString=function(){ return this.__repr__(); }; MochiKit.Base.update(MochiKit.Style,{getStyle:function(elem,_477){ var dom=MochiKit.DOM; var d=dom._document; elem=dom.getElement(elem); _477=MochiKit.Base.camelize(_477); if(!elem||elem==d){ return undefined; } if(_477=="opacity"&&typeof (elem.filters)!="undefined"){ var _47a=(MochiKit.Style.getStyle(elem,"filter")||"").match(/alpha\(opacity=(.*)\)/); if(_47a&&_47a[1]){ return parseFloat(_47a[1])/100; } return 1; } if(_477=="float"||_477=="cssFloat"||_477=="styleFloat"){ if(elem.style["float"]){ return elem.style["float"]; }else{ if(elem.style.cssFloat){ return elem.style.cssFloat; }else{ if(elem.style.styleFloat){ return elem.style.styleFloat; }else{ return "none"; } } } } var _47b=elem.style?elem.style[_477]:null; if(!_47b){ if(d.defaultView&&d.defaultView.getComputedStyle){ var css=d.defaultView.getComputedStyle(elem,null); _477=_477.replace(/([A-Z])/g,"-$1").toLowerCase(); _47b=css?css.getPropertyValue(_477):null; }else{ if(elem.currentStyle){ _47b=elem.currentStyle[_477]; if(/^\d/.test(_47b)&&!/px$/.test(_47b)&&_477!="fontWeight"){ var left=elem.style.left; var _47e=elem.runtimeStyle.left; elem.runtimeStyle.left=elem.currentStyle.left; elem.style.left=_47b||0; _47b=elem.style.pixelLeft+"px"; elem.style.left=left; elem.runtimeStyle.left=_47e; } } } } if(_477=="opacity"){ _47b=parseFloat(_47b); } if(/Opera/.test(navigator.userAgent)&&(MochiKit.Base.findValue(["left","top","right","bottom"],_477)!=-1)){ if(MochiKit.Style.getStyle(elem,"position")=="static"){ _47b="auto"; } } return _47b=="auto"?null:_47b; },setStyle:function(elem,_480){ elem=MochiKit.DOM.getElement(elem); for(var name in _480){ switch(name){ case "opacity": MochiKit.Style.setOpacity(elem,_480[name]); break; case "float": case "cssFloat": case "styleFloat": if(typeof (elem.style["float"])!="undefined"){ elem.style["float"]=_480[name]; }else{ if(typeof (elem.style.cssFloat)!="undefined"){ elem.style.cssFloat=_480[name]; }else{ elem.style.styleFloat=_480[name]; } } break; default: elem.style[MochiKit.Base.camelize(name)]=_480[name]; } } },setOpacity:function(elem,o){ elem=MochiKit.DOM.getElement(elem); var self=MochiKit.Style; if(o==1){ var _485=/Gecko/.test(navigator.userAgent)&&!(/Konqueror|AppleWebKit|KHTML/.test(navigator.userAgent)); elem.style["opacity"]=_485?0.999999:1; if(/MSIE/.test(navigator.userAgent)){ elem.style["filter"]=self.getStyle(elem,"filter").replace(/alpha\([^\)]*\)/gi,""); } }else{ if(o<0.00001){ o=0; } elem.style["opacity"]=o; if(/MSIE/.test(navigator.userAgent)){ elem.style["filter"]=self.getStyle(elem,"filter").replace(/alpha\([^\)]*\)/gi,"")+"alpha(opacity="+o*100+")"; } } },getElementPosition:function(elem,_487){ var self=MochiKit.Style; var dom=MochiKit.DOM; var _48a=function(o){ return o!=null&&o.nodeType==null&&typeof (o.x)=="number"&&typeof (o.y)=="number"; }; if(typeof (elem)=="string"){ elem=dom.getElement(elem); } if(elem==null||(!_48a(elem)&&self.getStyle(elem,"display")=="none")){ return undefined; } var c=new self.Coordinates(0,0); var box=null; var _48e=null; var d=MochiKit.DOM._document; var de=d.documentElement; var b=d.body; if(!elem.parentNode&&elem.x&&elem.y){ c.x+=elem.x||0; c.y+=elem.y||0; }else{ if(elem.getBoundingClientRect){ box=elem.getBoundingClientRect(); c.x+=box.left+(de.scrollLeft||b.scrollLeft)-(de.clientLeft||0); c.y+=box.top+(de.scrollTop||b.scrollTop)-(de.clientTop||0); }else{ if(elem.offsetParent){ c.x+=elem.offsetLeft; c.y+=elem.offsetTop; _48e=elem.offsetParent; if(_48e!=elem){ while(_48e){ c.x+=parseInt(_48e.style.borderLeftWidth)||0; c.y+=parseInt(_48e.style.borderTopWidth)||0; c.x+=_48e.offsetLeft; c.y+=_48e.offsetTop; _48e=_48e.offsetParent; } } var ua=navigator.userAgent.toLowerCase(); if((typeof (opera)!="undefined"&&parseFloat(opera.version())<9)||(ua.indexOf("AppleWebKit")!=-1&&self.getStyle(elem,"position")=="absolute")){ c.x-=b.offsetLeft; c.y-=b.offsetTop; } if(elem.parentNode){ _48e=elem.parentNode; }else{ _48e=null; } while(_48e){ var _493=_48e.tagName.toUpperCase(); if(_493==="BODY"||_493==="HTML"){ break; } var disp=self.getStyle(_48e,"display"); if(disp.search(/^inline|table-row.*$/i)){ c.x-=_48e.scrollLeft; c.y-=_48e.scrollTop; } if(_48e.parentNode){ _48e=_48e.parentNode; }else{ _48e=null; } } } } } if(_487){ _487=arguments.callee(_487); if(_487){ c.x-=(_487.x||0); c.y-=(_487.y||0); } } return c; },setElementPosition:function(elem,_496,_497){ elem=MochiKit.DOM.getElement(elem); if(typeof (_497)=="undefined"){ _497="px"; } var _498={}; var _499=MochiKit.Base.isUndefinedOrNull; if(!_499(_496.x)){ _498["left"]=_496.x+_497; } if(!_499(_496.y)){ _498["top"]=_496.y+_497; } MochiKit.DOM.updateNodeAttributes(elem,{"style":_498}); },makePositioned:function(_49a){ _49a=MochiKit.DOM.getElement(_49a); var pos=MochiKit.Style.getStyle(_49a,"position"); if(pos=="static"||!pos){ _49a.style.position="relative"; if(/Opera/.test(navigator.userAgent)){ _49a.style.top=0; _49a.style.left=0; } } },undoPositioned:function(_49c){ _49c=MochiKit.DOM.getElement(_49c); if(_49c.style.position=="relative"){ _49c.style.position=_49c.style.top=_49c.style.left=_49c.style.bottom=_49c.style.right=""; } },makeClipping:function(_49d){ _49d=MochiKit.DOM.getElement(_49d); var s=_49d.style; var _49f={"overflow":s.overflow,"overflow-x":s.overflowX,"overflow-y":s.overflowY}; if((MochiKit.Style.getStyle(_49d,"overflow")||"visible")!="hidden"){ _49d.style.overflow="hidden"; _49d.style.overflowX="hidden"; _49d.style.overflowY="hidden"; } return _49f; },undoClipping:function(_4a0,_4a1){ _4a0=MochiKit.DOM.getElement(_4a0); if(typeof (_4a1)=="string"){ _4a0.style.overflow=_4a1; }else{ if(_4a1!=null){ _4a0.style.overflow=_4a1["overflow"]; _4a0.style.overflowX=_4a1["overflow-x"]; _4a0.style.overflowY=_4a1["overflow-y"]; } } },getElementDimensions:function(elem,_4a3){ var self=MochiKit.Style; var dom=MochiKit.DOM; if(typeof (elem.w)=="number"||typeof (elem.h)=="number"){ return new self.Dimensions(elem.w||0,elem.h||0); } elem=dom.getElement(elem); if(!elem){ return undefined; } var disp=self.getStyle(elem,"display"); if(disp=="none"||disp==""||typeof (disp)=="undefined"){ var s=elem.style; var _4a8=s.visibility; var _4a9=s.position; var _4aa=s.display; s.visibility="hidden"; s.position="absolute"; s.display=self._getDefaultDisplay(elem); var _4ab=elem.offsetWidth; var _4ac=elem.offsetHeight; s.display=_4aa; s.position=_4a9; s.visibility=_4a8; }else{ _4ab=elem.offsetWidth||0; _4ac=elem.offsetHeight||0; } if(_4a3){ var _4ad="colSpan" in elem&&"rowSpan" in elem; var _4ae=(_4ad&&elem.parentNode&&self.getStyle(elem.parentNode,"borderCollapse")=="collapse"); if(_4ae){ if(/MSIE/.test(navigator.userAgent)){ var _4af=elem.previousSibling?0.5:1; var _4b0=elem.nextSibling?0.5:1; }else{ var _4af=0.5; var _4b0=0.5; } }else{ var _4af=1; var _4b0=1; } _4ab-=Math.round((parseFloat(self.getStyle(elem,"paddingLeft"))||0)+(parseFloat(self.getStyle(elem,"paddingRight"))||0)+_4af*(parseFloat(self.getStyle(elem,"borderLeftWidth"))||0)+_4b0*(parseFloat(self.getStyle(elem,"borderRightWidth"))||0)); if(_4ad){ if(/Gecko|Opera/.test(navigator.userAgent)&&!/Konqueror|AppleWebKit|KHTML/.test(navigator.userAgent)){ var _4b1=0; }else{ if(/MSIE/.test(navigator.userAgent)){ var _4b1=1; }else{ var _4b1=_4ae?0.5:1; } } }else{ var _4b1=1; } _4ac-=Math.round((parseFloat(self.getStyle(elem,"paddingTop"))||0)+(parseFloat(self.getStyle(elem,"paddingBottom"))||0)+_4b1*((parseFloat(self.getStyle(elem,"borderTopWidth"))||0)+(parseFloat(self.getStyle(elem,"borderBottomWidth"))||0))); } return new self.Dimensions(_4ab,_4ac); },setElementDimensions:function(elem,_4b3,_4b4){ elem=MochiKit.DOM.getElement(elem); if(typeof (_4b4)=="undefined"){ _4b4="px"; } var _4b5={}; var _4b6=MochiKit.Base.isUndefinedOrNull; if(!_4b6(_4b3.w)){ _4b5["width"]=_4b3.w+_4b4; } if(!_4b6(_4b3.h)){ _4b5["height"]=_4b3.h+_4b4; } MochiKit.DOM.updateNodeAttributes(elem,{"style":_4b5}); },_getDefaultDisplay:function(elem){ var self=MochiKit.Style; var dom=MochiKit.DOM; elem=dom.getElement(elem); if(!elem){ return undefined; } var _4ba=elem.tagName.toUpperCase(); return self._defaultDisplay[_4ba]||"block"; },setDisplayForElement:function(_4bb,_4bc){ var _4bd=MochiKit.Base.extend(null,arguments,1); var _4be=MochiKit.DOM.getElement; for(var i=0;i<_4bd.length;i++){ _4bc=_4be(_4bd[i]); if(_4bc){ _4bc.style.display=_4bb; } } },getViewportDimensions:function(){ var d=new MochiKit.Style.Dimensions(); var w=MochiKit.DOM._window; var b=MochiKit.DOM._document.body; if(w.innerWidth){ d.w=w.innerWidth; d.h=w.innerHeight; }else{ if(b&&b.parentElement&&b.parentElement.clientWidth){ d.w=b.parentElement.clientWidth; d.h=b.parentElement.clientHeight; }else{ if(b&&b.clientWidth){ d.w=b.clientWidth; d.h=b.clientHeight; } } } return d; },getViewportPosition:function(){ var c=new MochiKit.Style.Coordinates(0,0); var d=MochiKit.DOM._document; var de=d.documentElement; var db=d.body; if(de&&(de.scrollTop||de.scrollLeft)){ c.x=de.scrollLeft; c.y=de.scrollTop; }else{ if(db){ c.x=db.scrollLeft; c.y=db.scrollTop; } } return c; },__new__:function(){ var m=MochiKit.Base; var _4c8=["A","ABBR","ACRONYM","B","BASEFONT","BDO","BIG","BR","CITE","CODE","DFN","EM","FONT","I","IMG","KBD","LABEL","Q","S","SAMP","SMALL","SPAN","STRIKE","STRONG","SUB","SUP","TEXTAREA","TT","U","VAR"]; this._defaultDisplay={"TABLE":"table","THEAD":"table-header-group","TBODY":"table-row-group","TFOOT":"table-footer-group","COLGROUP":"table-column-group","COL":"table-column","TR":"table-row","TD":"table-cell","TH":"table-cell","CAPTION":"table-caption","LI":"list-item","INPUT":"inline-block","SELECT":"inline-block"}; if(/MSIE/.test(navigator.userAgent)){ for(var k in this._defaultDisplay){ var v=this._defaultDisplay[k]; if(v.indexOf("table")==0){ this._defaultDisplay[k]="block"; } } } for(var i=0;i<_4c8.length;i++){ this._defaultDisplay[_4c8[i]]="inline"; } m._deprecated(this,"elementPosition","MochiKit.Style.getElementPosition","1.3",true); m._deprecated(this,"elementDimensions","MochiKit.Style.getElementDimensions","1.3",true); this.hideElement=m.partial(this.setDisplayForElement,"none"); this.showElement=m.partial(this.setDisplayForElement,"block"); m.nameFunctions(this); }}); MochiKit.Style.__new__(); MochiKit.Base._exportSymbols(this,MochiKit.Style); MochiKit.Base._module("LoggingPane","1.5",["Base","Logging"]); MochiKit.LoggingPane.createLoggingPane=function(_4cc){ var m=MochiKit.LoggingPane; _4cc=!(!_4cc); if(m._loggingPane&&m._loggingPane.inline!=_4cc){ m._loggingPane.closePane(); m._loggingPane=null; } if(!m._loggingPane||m._loggingPane.closed){ m._loggingPane=new m.LoggingPane(_4cc,MochiKit.Logging.logger); } return m._loggingPane; }; MochiKit.LoggingPane.LoggingPane=function(_4ce,_4cf){ if(typeof (_4cf)=="undefined"||_4cf===null){ _4cf=MochiKit.Logging.logger; } this.logger=_4cf; var _4d0=MochiKit.Base.update; var _4d1=MochiKit.Base.updatetree; var bind=MochiKit.Base.bind; var _4d3=MochiKit.Base.clone; var win=window; var uid="_MochiKit_LoggingPane"; if(typeof (MochiKit.DOM)!="undefined"){ win=MochiKit.DOM.currentWindow(); } if(!_4ce){ var url=win.location.href.split("?")[0].replace(/[#:\/.><&%-]/g,"_"); var name=uid+"_"+url; var nwin=win.open("",name,"dependent,resizable,height=200"); if(!nwin){ alert("Not able to open debugging window due to pop-up blocking."); return undefined; } nwin.document.write(""+"[MochiKit.LoggingPane]"+""); nwin.document.close(); nwin.document.title+=" "+win.document.title; win=nwin; } var doc=win.document; this.doc=doc; var _4da=doc.getElementById(uid); var _4db=!!_4da; if(_4da&&typeof (_4da.loggingPane)!="undefined"){ _4da.loggingPane.logger=this.logger; _4da.loggingPane.buildAndApplyFilter(); return _4da.loggingPane; } if(_4db){ var _4dc; while((_4dc=_4da.firstChild)){ _4da.removeChild(_4dc); } }else{ _4da=doc.createElement("div"); _4da.id=uid; } _4da.loggingPane=this; var _4dd=doc.createElement("input"); var _4de=doc.createElement("input"); var _4df=doc.createElement("button"); var _4e0=doc.createElement("button"); var _4e1=doc.createElement("button"); var _4e2=doc.createElement("button"); var _4e3=doc.createElement("div"); var _4e4=doc.createElement("div"); var _4e5=uid+"_Listener"; this.colorTable=_4d3(this.colorTable); var _4e6=[]; var _4e7=null; var _4e8=function(msg){ var _4ea=msg.level; if(typeof (_4ea)=="number"){ _4ea=MochiKit.Logging.LogLevel[_4ea]; } return _4ea; }; var _4eb=function(msg){ return msg.info.join(" "); }; var _4ed=bind(function(msg){ var _4ef=_4e8(msg); var text=_4eb(msg); var c=this.colorTable[_4ef]; var p=doc.createElement("span"); p.className="MochiKit-LogMessage MochiKit-LogLevel-"+_4ef; p.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; p.appendChild(doc.createTextNode(_4ef+": "+text)); _4e4.appendChild(p); _4e4.appendChild(doc.createElement("br")); if(_4e3.offsetHeight>_4e3.scrollHeight){ _4e3.scrollTop=0; }else{ _4e3.scrollTop=_4e3.scrollHeight; } },this); var _4f3=function(msg){ _4e6[_4e6.length]=msg; _4ed(msg); }; var _4f5=function(){ var _4f6,_4f7; try{ _4f6=new RegExp(_4dd.value); _4f7=new RegExp(_4de.value); } catch(e){ logDebug("Error in filter regex: "+e.message); return null; } return function(msg){ return (_4f6.test(_4e8(msg))&&_4f7.test(_4eb(msg))); }; }; var _4f9=function(){ while(_4e4.firstChild){ _4e4.removeChild(_4e4.firstChild); } }; var _4fa=function(){ _4e6=[]; _4f9(); }; var _4fb=bind(function(){ if(this.closed){ return; } this.closed=true; if(MochiKit.LoggingPane._loggingPane==this){ MochiKit.LoggingPane._loggingPane=null; } this.logger.removeListener(_4e5); try{ try{ _4da.loggingPane=null; } catch(e){ logFatal("Bookmarklet was closed incorrectly."); } if(_4ce){ _4da.parentNode.removeChild(_4da); }else{ this.win.close(); } } catch(e){ } },this); var _4fc=function(){ _4f9(); for(var i=0;i<_4e6.length;i++){ var msg=_4e6[i]; if(_4e7===null||_4e7(msg)){ _4ed(msg); } } }; this.buildAndApplyFilter=function(){ _4e7=_4f5(); _4fc(); this.logger.removeListener(_4e5); this.logger.addListener(_4e5,_4e7,_4f3); }; var _4ff=bind(function(){ _4e6=this.logger.getMessages(); _4fc(); },this); var _500=bind(function(_501){ _501=_501||window.event; key=_501.which||_501.keyCode; if(key==13){ this.buildAndApplyFilter(); } },this); var _502="display: block; z-index: 1000; left: 0px; bottom: 0px; position: fixed; width: 100%; background-color: white; font: "+this.logFont; if(_4ce){ _502+="; height: 10em; border-top: 2px solid black"; }else{ _502+="; height: 100%;"; } _4da.style.cssText=_502; if(!_4db){ doc.body.appendChild(_4da); } _502={"cssText":"width: 33%; display: inline; font: "+this.logFont}; _4d1(_4dd,{"value":"FATAL|ERROR|WARNING|INFO|DEBUG","onkeypress":_500,"style":_502}); _4da.appendChild(_4dd); _4d1(_4de,{"value":".*","onkeypress":_500,"style":_502}); _4da.appendChild(_4de); _502="width: 8%; display:inline; font: "+this.logFont; _4df.appendChild(doc.createTextNode("Filter")); _4df.onclick=bind("buildAndApplyFilter",this); _4df.style.cssText=_502; _4da.appendChild(_4df); _4e0.appendChild(doc.createTextNode("Load")); _4e0.onclick=_4ff; _4e0.style.cssText=_502; _4da.appendChild(_4e0); _4e1.appendChild(doc.createTextNode("Clear")); _4e1.onclick=_4fa; _4e1.style.cssText=_502; _4da.appendChild(_4e1); _4e2.appendChild(doc.createTextNode("Close")); _4e2.onclick=_4fb; _4e2.style.cssText=_502; _4da.appendChild(_4e2); _4e3.style.cssText="overflow: auto; width: 100%"; _4e4.style.cssText="width: 100%; height: "+(_4ce?"8em":"100%"); _4e3.appendChild(_4e4); _4da.appendChild(_4e3); this.buildAndApplyFilter(); _4ff(); if(_4ce){ this.win=undefined; }else{ this.win=win; } this.inline=_4ce; this.closePane=_4fb; this.closed=false; return this; }; MochiKit.LoggingPane.LoggingPane.prototype={"logFont":"8pt Verdana,sans-serif","colorTable":{"ERROR":"red","FATAL":"darkred","WARNING":"blue","INFO":"black","DEBUG":"green"}}; MochiKit.LoggingPane.__new__=function(){ MochiKit.Base.nameFunctions(this); MochiKit.LoggingPane._loggingPane=null; }; MochiKit.LoggingPane.__new__(); MochiKit.Base._exportSymbols(this,MochiKit.LoggingPane); MochiKit.Base._module("Color","1.5",["Base","DOM","Style"]); MochiKit.Color.Color=function(red,_504,blue,_506){ if(typeof (_506)=="undefined"||_506===null){ _506=1; } this.rgb={r:red,g:_504,b:blue,a:_506}; }; MochiKit.Color.Color.prototype={__class__:MochiKit.Color.Color,colorWithAlpha:function(_507){ var rgb=this.rgb; var m=MochiKit.Color; return m.Color.fromRGB(rgb.r,rgb.g,rgb.b,_507); },colorWithHue:function(hue){ var hsl=this.asHSL(); hsl.h=hue; var m=MochiKit.Color; return m.Color.fromHSL(hsl); },colorWithSaturation:function(_50d){ var hsl=this.asHSL(); hsl.s=_50d; var m=MochiKit.Color; return m.Color.fromHSL(hsl); },colorWithLightness:function(_510){ var hsl=this.asHSL(); hsl.l=_510; var m=MochiKit.Color; return m.Color.fromHSL(hsl); },darkerColorWithLevel:function(_513){ var hsl=this.asHSL(); hsl.l=Math.max(hsl.l-_513,0); var m=MochiKit.Color; return m.Color.fromHSL(hsl); },lighterColorWithLevel:function(_516){ var hsl=this.asHSL(); hsl.l=Math.min(hsl.l+_516,1); var m=MochiKit.Color; return m.Color.fromHSL(hsl); },blendedColor:function(_519,_51a){ if(typeof (_51a)=="undefined"||_51a===null){ _51a=0.5; } var sf=1-_51a; var s=this.rgb; var d=_519.rgb; var df=_51a; return 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)); },compareRGB:function(_51f){ var a=this.asRGB(); var b=_51f.asRGB(); return MochiKit.Base.compare([a.r,a.g,a.b,a.a],[b.r,b.g,b.b,b.a]); },isLight:function(){ return this.asHSL().l>0.5; },isDark:function(){ return (!this.isLight()); },toHSLString:function(){ var c=this.asHSL(); var ccc=MochiKit.Color.clampColorComponent; var rval=this._hslString; if(!rval){ var mid=(ccc(c.h,360).toFixed(0)+","+ccc(c.s,100).toPrecision(4)+"%"+","+ccc(c.l,100).toPrecision(4)+"%"); var a=c.a; if(a>=1){ a=1; rval="hsl("+mid+")"; }else{ if(a<=0){ a=0; } rval="hsla("+mid+","+a+")"; } this._hslString=rval; } return rval; },toRGBString:function(){ var c=this.rgb; var ccc=MochiKit.Color.clampColorComponent; var rval=this._rgbString; if(!rval){ var mid=(ccc(c.r,255).toFixed(0)+","+ccc(c.g,255).toFixed(0)+","+ccc(c.b,255).toFixed(0)); if(c.a!=1){ rval="rgba("+mid+","+c.a+")"; }else{ rval="rgb("+mid+")"; } this._rgbString=rval; } return rval; },asRGB:function(){ return MochiKit.Base.clone(this.rgb); },toHexString:function(){ var m=MochiKit.Color; var c=this.rgb; var ccc=MochiKit.Color.clampColorComponent; var rval=this._hexString; if(!rval){ rval=("#"+m.toColorPart(ccc(c.r,255))+m.toColorPart(ccc(c.g,255))+m.toColorPart(ccc(c.b,255))); this._hexString=rval; } return rval; },asHSV:function(){ var hsv=this.hsv; var c=this.rgb; if(typeof (hsv)=="undefined"||hsv===null){ hsv=MochiKit.Color.rgbToHSV(this.rgb); this.hsv=hsv; } return MochiKit.Base.clone(hsv); },asHSL:function(){ var hsl=this.hsl; var c=this.rgb; if(typeof (hsl)=="undefined"||hsl===null){ hsl=MochiKit.Color.rgbToHSL(this.rgb); this.hsl=hsl; } return MochiKit.Base.clone(hsl); },toString:function(){ return this.toRGBString(); },repr:function(){ var c=this.rgb; var col=[c.r,c.g,c.b,c.a]; return this.__class__.NAME+"("+col.join(", ")+")"; }}; MochiKit.Base.update(MochiKit.Color.Color,{fromRGB:function(red,_536,blue,_538){ var _539=MochiKit.Color.Color; if(arguments.length==1){ var rgb=red; red=rgb.r; _536=rgb.g; blue=rgb.b; if(typeof (rgb.a)=="undefined"){ _538=undefined; }else{ _538=rgb.a; } } return new _539(red,_536,blue,_538); },fromHSL:function(hue,_53c,_53d,_53e){ var m=MochiKit.Color; return m.Color.fromRGB(m.hslToRGB.apply(m,arguments)); },fromHSV:function(hue,_541,_542,_543){ var m=MochiKit.Color; return m.Color.fromRGB(m.hsvToRGB.apply(m,arguments)); },fromName:function(name){ var _546=MochiKit.Color.Color; if(name.charAt(0)=="\""){ name=name.substr(1,name.length-2); } var _547=_546._namedColors[name.toLowerCase()]; if(typeof (_547)=="string"){ return _546.fromHexString(_547); }else{ if(name=="transparent"){ return _546.transparentColor(); } } return null; },fromString:function(_548){ var self=MochiKit.Color.Color; var _54a=_548.substr(0,3); if(_54a=="rgb"){ return self.fromRGBString(_548); }else{ if(_54a=="hsl"){ return self.fromHSLString(_548); }else{ if(_548.charAt(0)=="#"){ return self.fromHexString(_548); } } } return self.fromName(_548); },fromHexString:function(_54b){ if(_54b.charAt(0)=="#"){ _54b=_54b.substring(1); } var _54c=[]; var i,hex; if(_54b.length==3){ for(i=0;i<3;i++){ hex=_54b.substr(i,1); _54c.push(parseInt(hex+hex,16)/255); } }else{ for(i=0;i<6;i+=2){ hex=_54b.substr(i,2); _54c.push(parseInt(hex,16)/255); } } var _54f=MochiKit.Color.Color; return _54f.fromRGB.apply(_54f,_54c); },_fromColorString:function(pre,_551,_552,_553){ if(_553.indexOf(pre)===0){ _553=_553.substring(_553.indexOf("(",3)+1,_553.length-1); } var _554=_553.split(/\s*,\s*/); var _555=[]; for(var i=0;i<_554.length;i++){ var c=_554[i]; var val; var _559=c.substring(c.length-3); if(c.charAt(c.length-1)=="%"){ val=0.01*parseFloat(c.substring(0,c.length-1)); }else{ if(_559=="deg"){ val=parseFloat(c)/360; }else{ if(_559=="rad"){ val=parseFloat(c)/(Math.PI*2); }else{ val=_552[i]*parseFloat(c); } } } _555.push(val); } return this[_551].apply(this,_555); },fromComputedStyle:function(elem,_55b){ var d=MochiKit.DOM; var cls=MochiKit.Color.Color; for(elem=d.getElement(elem);elem;elem=elem.parentNode){ var _55e=MochiKit.Style.getStyle.apply(d,arguments); if(!_55e){ continue; } var _55f=cls.fromString(_55e); if(!_55f){ break; } if(_55f.asRGB().a>0){ return _55f; } } return null; },fromBackground:function(elem){ var cls=MochiKit.Color.Color; return cls.fromComputedStyle(elem,"backgroundColor","background-color")||cls.whiteColor(); },fromText:function(elem){ var cls=MochiKit.Color.Color; return cls.fromComputedStyle(elem,"color","color")||cls.blackColor(); },namedColors:function(){ return MochiKit.Base.clone(MochiKit.Color.Color._namedColors); }}); MochiKit.Base.update(MochiKit.Color,{clampColorComponent:function(v,_565){ v*=_565; if(v<0){ return 0; }else{ if(v>_565){ return _565; }else{ return v; } } },_hslValue:function(n1,n2,hue){ if(hue>6){ hue-=6; }else{ if(hue<0){ hue+=6; } } var val; if(hue<1){ val=n1+(n2-n1)*hue; }else{ if(hue<3){ val=n2; }else{ if(hue<4){ val=n1+(n2-n1)*(4-hue); }else{ val=n1; } } } return val; },hsvToRGB:function(hue,_56b,_56c,_56d){ if(arguments.length==1){ var hsv=hue; hue=hsv.h; _56b=hsv.s; _56c=hsv.v; _56d=hsv.a; } var red; var _570; var blue; if(_56b===0){ red=_56c; _570=_56c; blue=_56c; }else{ var i=Math.floor(hue*6); var f=(hue*6)-i; var p=_56c*(1-_56b); var q=_56c*(1-(_56b*f)); var t=_56c*(1-(_56b*(1-f))); switch(i){ case 1: red=q; _570=_56c; blue=p; break; case 2: red=p; _570=_56c; blue=t; break; case 3: red=p; _570=q; blue=_56c; break; case 4: red=t; _570=p; blue=_56c; break; case 5: red=_56c; _570=p; blue=q; break; case 6: case 0: red=_56c; _570=t; blue=p; break; } } return {r:red,g:_570,b:blue,a:_56d}; },hslToRGB:function(hue,_578,_579,_57a){ if(arguments.length==1){ var hsl=hue; hue=hsl.h; _578=hsl.s; _579=hsl.l; _57a=hsl.a; } var red; var _57d; var blue; if(_578===0){ red=_579; _57d=_579; blue=_579; }else{ var m2; if(_579<=0.5){ m2=_579*(1+_578); }else{ m2=_579+_578-(_579*_578); } var m1=(2*_579)-m2; var f=MochiKit.Color._hslValue; var h6=hue*6; red=f(m1,m2,h6+2); _57d=f(m1,m2,h6); blue=f(m1,m2,h6-2); } return {r:red,g:_57d,b:blue,a:_57a}; },rgbToHSV:function(red,_584,blue,_586){ if(arguments.length==1){ var rgb=red; red=rgb.r; _584=rgb.g; blue=rgb.b; _586=rgb.a; } var max=Math.max(Math.max(red,_584),blue); var min=Math.min(Math.min(red,_584),blue); var hue; var _58b; var _58c=max; if(min==max){ hue=0; _58b=0; }else{ var _58d=(max-min); _58b=_58d/max; if(red==max){ hue=(_584-blue)/_58d; }else{ if(_584==max){ hue=2+((blue-red)/_58d); }else{ hue=4+((red-_584)/_58d); } } hue/=6; if(hue<0){ hue+=1; } if(hue>1){ hue-=1; } } return {h:hue,s:_58b,v:_58c,a:_586}; },rgbToHSL:function(red,_58f,blue,_591){ if(arguments.length==1){ var rgb=red; red=rgb.r; _58f=rgb.g; blue=rgb.b; _591=rgb.a; } var max=Math.max(red,Math.max(_58f,blue)); var min=Math.min(red,Math.min(_58f,blue)); var hue; var _596; var _597=(max+min)/2; var _598=max-min; if(_598===0){ hue=0; _596=0; }else{ if(_597<=0.5){ _596=_598/(max+min); }else{ _596=_598/(2-max-min); } if(red==max){ hue=(_58f-blue)/_598; }else{ if(_58f==max){ hue=2+((blue-red)/_598); }else{ hue=4+((red-_58f)/_598); } } hue/=6; if(hue<0){ hue+=1; } if(hue>1){ hue-=1; } } return {h:hue,s:_596,l:_597,a:_591}; },toColorPart:function(num){ num=Math.round(num); var _59a=num.toString(16); if(num<16){ return "0"+_59a; } return _59a; },__new__:function(){ var m=MochiKit.Base; this.Color.fromRGBString=m.bind(this.Color._fromColorString,this.Color,"rgb","fromRGB",[1/255,1/255,1/255,1]); this.Color.fromHSLString=m.bind(this.Color._fromColorString,this.Color,"hsl","fromHSL",[1/360,0.01,0.01,1]); var _59c=1/3; var _59d={black:[0,0,0],blue:[0,0,1],brown:[0.6,0.4,0.2],cyan:[0,1,1],darkGray:[_59c,_59c,_59c],gray:[0.5,0.5,0.5],green:[0,1,0],lightGray:[2*_59c,2*_59c,2*_59c],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]}; for(var k in _59d){ var name=k+"Color"; var _5a0=this.Color.fromRGB.apply(this.Color,_59d[k]); this.Color[name]=m.partial(m.operator.identity,_5a0); } var _5a1=function(){ for(var i=0;i1){ var src=arguments[0]; if(typeof (src)=="string"){ src=MochiKit.DOM.getElement(src); } var sig=arguments[1]; var obj=arguments[2]; var func=arguments[3]; for(var i=_5e4.length-1;i>=0;i--){ var o=_5e4[i]; if(o.source===src&&o.signal===sig&&o.objOrFunc===obj&&o.funcOrStr===func){ self._disconnect(o); if(self._lock===0){ _5e4.splice(i,1); }else{ self._dirty=true; } return true; } } }else{ var idx=m.findIdentical(_5e4,_5e2); if(idx>=0){ self._disconnect(_5e2); if(self._lock===0){ _5e4.splice(idx,1); }else{ self._dirty=true; } return true; } } return false; },disconnectAllTo:function(_5ed,_5ee){ var self=MochiKit.Signal; var _5f0=self._observers; var _5f1=self._disconnect; var lock=self._lock; var _5f3=self._dirty; if(typeof (_5ee)==="undefined"){ _5ee=null; } for(var i=_5f0.length-1;i>=0;i--){ var _5f5=_5f0[i]; if(_5f5.objOrFunc===_5ed&&(_5ee===null||_5f5.funcOrStr===_5ee)){ _5f1(_5f5); if(lock===0){ _5f0.splice(i,1); }else{ _5f3=true; } } } self._dirty=_5f3; },disconnectAll:function(src,sig){ if(typeof (src)=="string"){ src=MochiKit.DOM.getElement(src); } var m=MochiKit.Base; var _5f9=m.flattenArguments(m.extend(null,arguments,1)); var self=MochiKit.Signal; var _5fb=self._disconnect; var _5fc=self._observers; var i,_5fe; var lock=self._lock; var _600=self._dirty; if(_5f9.length===0){ for(i=_5fc.length-1;i>=0;i--){ _5fe=_5fc[i]; if(_5fe.source===src){ _5fb(_5fe); if(lock===0){ _5fc.splice(i,1); }else{ _600=true; } } } }else{ var sigs={}; for(i=0;i<_5f9.length;i++){ sigs[_5f9[i]]=true; } for(i=_5fc.length-1;i>=0;i--){ _5fe=_5fc[i]; if(_5fe.source===src&&_5fe.signal in sigs){ _5fb(_5fe); if(lock===0){ _5fc.splice(i,1); }else{ _600=true; } } } } self._dirty=_600; },signal:function(src,sig){ var self=MochiKit.Signal; var _605=self._observers; if(typeof (src)=="string"){ src=MochiKit.DOM.getElement(src); } var args=MochiKit.Base.extend(null,arguments,2); var _607=[]; self._lock++; for(var i=0;i<_605.length;i++){ var _609=_605[i]; if(_609.source===src&&_609.signal===sig&&_609.connected){ try{ if(_609.isDOM&&_609.funcOrStr!=null){ var obj=_609.objOrFunc; obj[_609.funcOrStr].apply(obj,args); }else{ if(_609.isDOM){ _609.objOrFunc.apply(src,args); }else{ _609.listener.apply(src,args); } } } catch(e){ _607.push(e); } } } self._lock--; if(self._lock===0&&self._dirty){ self._dirty=false; for(var i=_605.length-1;i>=0;i--){ if(!_605[i].connected){ _605.splice(i,1); } } } if(_607.length==1){ throw _607[0]; }else{ if(_607.length>1){ var e=new Error("Multiple errors thrown in handling 'sig', see errors property"); e.errors=_607; throw e; } } }}); MochiKit.Signal.__new__=function(win){ var m=MochiKit.Base; this._document=document; this._window=win; this._lock=0; this._dirty=false; try{ this.connect(window,"onunload",this._unloadCache); } catch(e){ } m.nameFunctions(this); }; MochiKit.Signal.__new__(this); if(MochiKit.__export__){ connect=MochiKit.Signal.connect; disconnect=MochiKit.Signal.disconnect; disconnectAll=MochiKit.Signal.disconnectAll; signal=MochiKit.Signal.signal; } MochiKit.Base._exportSymbols(this,MochiKit.Signal); MochiKit.Base._module("Position","1.5",["Base","DOM","Style"]); MochiKit.Base.update(MochiKit.Position,{__export__:false,includeScrollOffsets:false,prepare:function(){ var _60e=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0; var _60f=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0; this.windowOffset=new MochiKit.Style.Coordinates(_60e,_60f); },cumulativeOffset:function(_610){ var _611=0; var _612=0; do{ _611+=_610.offsetTop||0; _612+=_610.offsetLeft||0; _610=_610.offsetParent; }while(_610); return new MochiKit.Style.Coordinates(_612,_611); },realOffset:function(_613){ var _614=0; var _615=0; do{ _614+=_613.scrollTop||0; _615+=_613.scrollLeft||0; _613=_613.parentNode; }while(_613); return new MochiKit.Style.Coordinates(_615,_614); },within:function(_616,x,y){ if(this.includeScrollOffsets){ return this.withinIncludingScrolloffsets(_616,x,y); } this.xcomp=x; this.ycomp=y; this.offset=this.cumulativeOffset(_616); if(_616.style.position=="fixed"){ this.offset.x+=this.windowOffset.x; this.offset.y+=this.windowOffset.y; } return (y>=this.offset.y&&y=this.offset.x&&x=this.offset.y&&this.ycomp=this.offset.x&&this.xcomp"+el.innerHTML+""; },_roundTopCorners:function(el,_648,_649){ var _64a=this._createCorner(_649); for(var i=0;i=0;i--){ _64f.appendChild(this._createCornerSlice(_64d,_64e,i,"bottom")); } el.style.paddingBottom=0; el.appendChild(_64f); },_createCorner:function(_651){ var dom=MochiKit.DOM; return dom.DIV({style:{backgroundColor:_651.toString()}}); },_createCornerSlice:function(_653,_654,n,_656){ var _657=MochiKit.DOM.SPAN(); var _658=_657.style; _658.backgroundColor=_653.toString(); _658.display="block"; _658.height="1px"; _658.overflow="hidden"; _658.fontSize="1px"; var _659=this._borderColor(_653,_654); if(this.options.border&&n===0){ _658.borderTopStyle="solid"; _658.borderTopWidth="1px"; _658.borderLeftWidth="0px"; _658.borderRightWidth="0px"; _658.borderBottomWidth="0px"; _658.height="0px"; _658.borderColor=_659.toString(); }else{ if(_659){ _658.borderColor=_659.toString(); _658.borderStyle="solid"; _658.borderWidth="0px 1px"; } } if(!this.options.compact&&(n==(this.options.numSlices-1))){ _658.height="2px"; } this._setMargin(_657,n,_656); this._setBorder(_657,n,_656); return _657; },_setOptions:function(_65a){ this.options={corners:"all",color:"fromElement",bgColor:"fromParent",blend:true,border:false,compact:false,__unstable__wrapElement:false}; MochiKit.Base.update(this.options,_65a); this.options.numSlices=(this.options.compact?2:4); },_whichSideTop:function(){ var _65b=this.options.corners; if(this._hasString(_65b,"all","top")){ return ""; } var _65c=(_65b.indexOf("tl")!=-1); var _65d=(_65b.indexOf("tr")!=-1); if(_65c&&_65d){ return ""; } if(_65c){ return "left"; } if(_65d){ return "right"; } return ""; },_whichSideBottom:function(){ var _65e=this.options.corners; if(this._hasString(_65e,"all","bottom")){ return ""; } var _65f=(_65e.indexOf("bl")!=-1); var _660=(_65e.indexOf("br")!=-1); if(_65f&&_660){ return ""; } if(_65f){ return "left"; } if(_660){ return "right"; } return ""; },_borderColor:function(_661,_662){ if(_661=="transparent"){ return _662; }else{ if(this.options.border){ return this.options.border; }else{ if(this.options.blend){ return _662.blendedColor(_661); } } } return ""; },_setMargin:function(el,n,_665){ var _666=this._marginSize(n)+"px"; var _667=(_665=="top"?this._whichSideTop():this._whichSideBottom()); var _668=el.style; if(_667=="left"){ _668.marginLeft=_666; _668.marginRight="0px"; }else{ if(_667=="right"){ _668.marginRight=_666; _668.marginLeft="0px"; }else{ _668.marginLeft=_666; _668.marginRight=_666; } } },_setBorder:function(el,n,_66b){ var _66c=this._borderSize(n)+"px"; var _66d=(_66b=="top"?this._whichSideTop():this._whichSideBottom()); var _66e=el.style; if(_66d=="left"){ _66e.borderLeftWidth=_66c; _66e.borderRightWidth="0px"; }else{ if(_66d=="right"){ _66e.borderRightWidth=_66c; _66e.borderLeftWidth="0px"; }else{ _66e.borderLeftWidth=_66c; _66e.borderRightWidth=_66c; } } },_marginSize:function(n){ if(this.isTransparent){ return 0; } var o=this.options; if(o.compact&&o.blend){ var _671=[1,0]; return _671[n]; }else{ if(o.compact){ var _672=[2,1]; return _672[n]; }else{ if(o.blend){ var _673=[3,2,1,0]; return _673[n]; }else{ var _674=[5,3,2,1]; return _674[n]; } } } },_borderSize:function(n){ var o=this.options; var _677; if(o.compact&&(o.blend||this.isTransparent)){ return 1; }else{ if(o.compact){ _677=[1,0]; }else{ if(o.blend){ _677=[2,1,1,1]; }else{ if(o.border){ _677=[0,2,0,0]; }else{ if(this.isTransparent){ _677=[5,3,2,1]; }else{ return 0; } } } } } return _677[n]; },_hasString:function(str){ for(var i=1;i=(_6a5||i)){ _6a5=i; } },this.effects); _6a1=_6a5||_6a1; break; case "break": ma(function(e){ e.finalize(); },this.effects); break; case "replace": ma(function(e){ e.cancel(); },this.effects); break; } _6a0.startOn+=_6a1; _6a0.finishOn+=_6a1; if(!_6a0.options.queue.limit||this.effects.length<_6a0.options.queue.limit){ this.effects.push(_6a0); } if(!this.interval){ this.interval=this.startLoop(MochiKit.Base.bind(this.loop,this),40); } },startLoop:function(func,_6ab){ return setInterval(func,_6ab); },remove:function(_6ac){ this.effects=MochiKit.Base.filter(function(e){ return e!=_6ac; },this.effects); if(!this.effects.length){ this.stopLoop(this.interval); this.interval=null; } },stopLoop:function(_6ae){ clearInterval(_6ae); },loop:function(){ var _6af=new Date().getTime(); MochiKit.Base.map(function(_6b0){ _6b0.loop(_6af); },this.effects); }}); MochiKit.Visual.Queues={__export__:false,instances:{},get:function(_6b1){ if(typeof (_6b1)!="string"){ return _6b1; } if(!this.instances[_6b1]){ this.instances[_6b1]=new MochiKit.Visual.ScopedQueue(); } return this.instances[_6b1]; }}; MochiKit.Visual.Queue=MochiKit.Visual.Queues.get("global"); MochiKit.Visual.Queue.__export__=false; MochiKit.Visual.DefaultOptions={__export__:false,transition:MochiKit.Visual.Transitions.sinoidal,duration:1,fps:25,sync:false,from:0,to:1,delay:0,queue:"parallel"}; MochiKit.Visual.Base=function(){ }; MochiKit.Visual.Base.prototype={__class__:MochiKit.Visual.Base,start:function(_6b2){ var v=MochiKit.Visual; this.options=MochiKit.Base.setdefault(_6b2,v.DefaultOptions); this.currentFrame=0; this.state="idle"; this.startOn=this.options.delay*1000; this.finishOn=this.startOn+(this.options.duration*1000); this.event("beforeStart"); if(!this.options.sync){ v.Queues.get(typeof (this.options.queue)=="string"?"global":this.options.queue.scope).add(this); } },loop:function(_6b4){ if(_6b4>=this.startOn){ if(_6b4>=this.finishOn){ return this.finalize(); } var pos=(_6b4-this.startOn)/(this.finishOn-this.startOn); var _6b6=Math.round(pos*this.options.fps*this.options.duration); if(_6b6>this.currentFrame){ this.render(pos); this.currentFrame=_6b6; } } },render:function(pos){ if(this.state=="idle"){ this.state="running"; this.event("beforeSetup"); this.setup(); this.event("afterSetup"); } if(this.state=="running"){ var _6b8=this.options.transition; if(typeof (_6b8)=="string"){ _6b8=MochiKit.Visual.Transitions[_6b8]; } if(typeof (_6b8)=="function"){ pos=_6b8(pos); } pos*=(this.options.to-this.options.from); pos+=this.options.from; this.event("beforeUpdate"); this.update(pos); this.event("afterUpdate"); } },cancel:function(){ if(!this.options.sync){ MochiKit.Visual.Queues.get(typeof (this.options.queue)=="string"?"global":this.options.queue.scope).remove(this); } this.state="finished"; },finalize:function(){ this.render(1); this.cancel(); this.event("beforeFinish"); this.finish(); this.event("afterFinish"); },setup:function(){ },finish:function(){ },update:function(_6b9){ },event:function(_6ba){ if(this.options[_6ba+"Internal"]){ this.options[_6ba+"Internal"](this); } if(this.options[_6ba]){ this.options[_6ba](this); } },repr:function(){ return "["+this.__class__.NAME+", options:"+MochiKit.Base.repr(this.options)+"]"; }}; MochiKit.Visual.Parallel=function(_6bb,_6bc){ var cls=arguments.callee; if(!(this instanceof cls)){ return new cls(_6bb,_6bc); } this.__init__(_6bb,_6bc); }; MochiKit.Visual.Parallel.prototype=new MochiKit.Visual.Base(); MochiKit.Base.update(MochiKit.Visual.Parallel.prototype,{__class__:MochiKit.Visual.Parallel,__init__:function(_6be,_6bf){ this.effects=_6be||[]; this.start(_6bf); },update:function(_6c0){ MochiKit.Base.map(function(_6c1){ _6c1.render(_6c0); },this.effects); },finish:function(){ MochiKit.Base.map(function(_6c2){ _6c2.finalize(); },this.effects); }}); MochiKit.Visual.Sequence=function(_6c3,_6c4){ var cls=arguments.callee; if(!(this instanceof cls)){ return new cls(_6c3,_6c4); } this.__init__(_6c3,_6c4); }; MochiKit.Visual.Sequence.prototype=new MochiKit.Visual.Base(); MochiKit.Base.update(MochiKit.Visual.Sequence.prototype,{__class__:MochiKit.Visual.Sequence,__init__:function(_6c6,_6c7){ var defs={transition:MochiKit.Visual.Transitions.linear,duration:0}; this.effects=_6c6||[]; MochiKit.Base.map(function(_6c9){ defs.duration+=_6c9.options.duration; },this.effects); MochiKit.Base.setdefault(_6c7,defs); this.start(_6c7); },update:function(_6ca){ var time=_6ca*this.options.duration; for(var i=0;i0){ this.fontSize=parseFloat(_6ea); this.fontSizeType=_6eb; } },this),["em","px","%"]); this.factor=(this.options.scaleTo-this.options.scaleFrom)/100; if(/^content/.test(this.options.scaleMode)){ this.dims=[this.element.scrollHeight,this.element.scrollWidth]; }else{ if(this.options.scaleMode=="box"){ this.dims=[this.element.offsetHeight,this.element.offsetWidth]; }else{ this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth]; } } },update:function(_6ec){ var _6ed=(this.options.scaleFrom/100)+(this.factor*_6ec); if(this.options.scaleContent&&this.fontSize){ MochiKit.Style.setStyle(this.element,{fontSize:this.fontSize*_6ed+this.fontSizeType}); } this.setDimensions(this.dims[0]*_6ed,this.dims[1]*_6ed); },finish:function(){ if(this.restoreAfterFinish){ MochiKit.Style.setStyle(this.element,this.originalStyle); } },setDimensions:function(_6ee,_6ef){ var d={}; var r=Math.round; if(/MSIE/.test(navigator.userAgent)){ r=Math.ceil; } if(this.options.scaleX){ d.width=r(_6ef)+"px"; } if(this.options.scaleY){ d.height=r(_6ee)+"px"; } if(this.options.scaleFromCenter){ var topd=(_6ee-this.dims[0])/2; var _6f3=(_6ef-this.dims[1])/2; if(this.elementPositioning=="absolute"){ if(this.options.scaleY){ d.top=this.originalTop-topd+"px"; } if(this.options.scaleX){ d.left=this.originalLeft-_6f3+"px"; } }else{ if(this.options.scaleY){ d.top=-topd+"px"; } if(this.options.scaleX){ d.left=-_6f3+"px"; } } } MochiKit.Style.setStyle(this.element,d); }}); MochiKit.Visual.Highlight=function(_6f4,_6f5){ var cls=arguments.callee; if(!(this instanceof cls)){ return new cls(_6f4,_6f5); } this.__init__(_6f4,_6f5); }; MochiKit.Visual.Highlight.prototype=new MochiKit.Visual.Base(); MochiKit.Base.update(MochiKit.Visual.Highlight.prototype,{__class__:MochiKit.Visual.Highlight,__init__:function(_6f7,_6f8){ this.element=MochiKit.DOM.getElement(_6f7); _6f8=MochiKit.Base.update({startcolor:"#ffff99"},_6f8); this.start(_6f8); },setup:function(){ var b=MochiKit.Base; var s=MochiKit.Style; if(s.getStyle(this.element,"display")=="none"){ this.cancel(); return; } this.oldStyle={backgroundImage:s.getStyle(this.element,"background-image")}; s.setStyle(this.element,{backgroundImage:"none"}); if(!this.options.endcolor){ this.options.endcolor=MochiKit.Color.Color.fromBackground(this.element).toHexString(); } if(b.isUndefinedOrNull(this.options.restorecolor)){ this.options.restorecolor=s.getStyle(this.element,"background-color"); } this._base=b.map(b.bind(function(i){ return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16); },this),[0,1,2]); this._delta=b.map(b.bind(function(i){ return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i]; },this),[0,1,2]); },update:function(_6fd){ var m="#"; MochiKit.Base.map(MochiKit.Base.bind(function(i){ m+=MochiKit.Color.toColorPart(Math.round(this._base[i]+this._delta[i]*_6fd)); },this),[0,1,2]); MochiKit.Style.setStyle(this.element,{backgroundColor:m}); },finish:function(){ MochiKit.Style.setStyle(this.element,MochiKit.Base.update(this.oldStyle,{backgroundColor:this.options.restorecolor})); }}); MochiKit.Visual.ScrollTo=function(_700,_701){ var cls=arguments.callee; if(!(this instanceof cls)){ return new cls(_700,_701); } this.__init__(_700,_701); }; MochiKit.Visual.ScrollTo.prototype=new MochiKit.Visual.Base(); MochiKit.Base.update(MochiKit.Visual.ScrollTo.prototype,{__class__:MochiKit.Visual.ScrollTo,__init__:function(_703,_704){ this.element=MochiKit.DOM.getElement(_703); this.start(_704); },setup:function(){ var p=MochiKit.Position; p.prepare(); var _706=p.cumulativeOffset(this.element); if(this.options.offset){ _706.y+=this.options.offset; } var max; if(window.innerHeight){ max=window.innerHeight-window.height; }else{ if(document.documentElement&&document.documentElement.clientHeight){ max=document.documentElement.clientHeight-document.body.scrollHeight; }else{ if(document.body){ max=document.body.clientHeight-document.body.scrollHeight; } } } this.scrollStart=p.windowOffset.y; this.delta=(_706.y>max?max:_706.y)-this.scrollStart; },update:function(_708){ var p=MochiKit.Position; p.prepare(); window.scrollTo(p.windowOffset.x,this.scrollStart+(_708*this.delta)); }}); MochiKit.Visual._CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/; MochiKit.Visual.Morph=function(_70a,_70b){ var cls=arguments.callee; if(!(this instanceof cls)){ return new cls(_70a,_70b); } this.__init__(_70a,_70b); }; MochiKit.Visual.Morph.prototype=new MochiKit.Visual.Base(); MochiKit.Base.update(MochiKit.Visual.Morph.prototype,{__class__:MochiKit.Visual.Morph,__init__:function(_70d,_70e){ this.element=MochiKit.DOM.getElement(_70d); this.start(_70e); },setup:function(){ var b=MochiKit.Base; var _710=this.options.style; this.styleStart={}; this.styleEnd={}; this.units={}; var _711,unit; for(var s in _710){ _711=_710[s]; s=b.camelize(s); if(MochiKit.Visual._CSS_LENGTH.test(_711)){ var _714=_711.match(/^([\+\-]?[0-9\.]+)(.*)$/); _711=parseFloat(_714[1]); unit=(_714.length==3)?_714[2]:null; this.styleEnd[s]=_711; this.units[s]=unit; _711=MochiKit.Style.getStyle(this.element,s); _714=_711.match(/^([\+\-]?[0-9\.]+)(.*)$/); _711=parseFloat(_714[1]); this.styleStart[s]=_711; }else{ if(/[Cc]olor$/.test(s)){ var c=MochiKit.Color.Color; _711=c.fromString(_711); if(_711){ this.units[s]="color"; this.styleEnd[s]=_711.toHexString(); _711=MochiKit.Style.getStyle(this.element,s); this.styleStart[s]=c.fromString(_711).toHexString(); this.styleStart[s]=b.map(b.bind(function(i){ return parseInt(this.styleStart[s].slice(i*2+1,i*2+3),16); },this),[0,1,2]); this.styleEnd[s]=b.map(b.bind(function(i){ return parseInt(this.styleEnd[s].slice(i*2+1,i*2+3),16); },this),[0,1,2]); } }else{ this.element.style[s]=_711; } } } },update:function(_718){ var _719; for(var s in this.styleStart){ if(this.units[s]=="color"){ var m="#"; var _71c=this.styleStart[s]; var end=this.styleEnd[s]; MochiKit.Base.map(MochiKit.Base.bind(function(i){ m+=MochiKit.Color.toColorPart(Math.round(_71c[i]+(end[i]-_71c[i])*_718)); },this),[0,1,2]); this.element.style[s]=m; }else{ _719=this.styleStart[s]+Math.round((this.styleEnd[s]-this.styleStart[s])*_718*1000)/1000+this.units[s]; this.element.style[s]=_719; } } }}); MochiKit.Visual.fade=function(_71f,_720){ var s=MochiKit.Style; var _722=s.getStyle(_71f,"opacity"); _720=MochiKit.Base.update({from:s.getStyle(_71f,"opacity")||1,to:0,afterFinishInternal:function(_723){ if(_723.options.to!==0){ return; } s.hideElement(_723.element); s.setStyle(_723.element,{"opacity":_722}); }},_720); return new MochiKit.Visual.Opacity(_71f,_720); }; MochiKit.Visual.appear=function(_724,_725){ var s=MochiKit.Style; var v=MochiKit.Visual; _725=MochiKit.Base.update({from:(s.getStyle(_724,"display")=="none"?0:s.getStyle(_724,"opacity")||0),to:1,afterFinishInternal:function(_728){ v._forceRerendering(_728.element); },beforeSetupInternal:function(_729){ s.setStyle(_729.element,{"opacity":_729.options.from}); s.showElement(_729.element); }},_725); return new v.Opacity(_724,_725); }; MochiKit.Visual.puff=function(_72a,_72b){ var s=MochiKit.Style; var v=MochiKit.Visual; _72a=MochiKit.DOM.getElement(_72a); var _72e=MochiKit.Style.getElementDimensions(_72a,true); var _72f={position:s.getStyle(_72a,"position"),top:_72a.style.top,left:_72a.style.left,width:_72a.style.width,height:_72a.style.height,opacity:s.getStyle(_72a,"opacity")}; _72b=MochiKit.Base.update({beforeSetupInternal:function(_730){ MochiKit.Position.absolutize(_730.effects[0].element); },afterFinishInternal:function(_731){ s.hideElement(_731.effects[0].element); s.setStyle(_731.effects[0].element,_72f); },scaleContent:true,scaleFromCenter:true},_72b); return new v.Parallel([new v.Scale(_72a,200,{sync:true,scaleFromCenter:_72b.scaleFromCenter,scaleMode:{originalHeight:_72e.h,originalWidth:_72e.w},scaleContent:_72b.scaleContent,restoreAfterFinish:true}),new v.Opacity(_72a,{sync:true,to:0})],_72b); }; MochiKit.Visual.blindUp=function(_732,_733){ var d=MochiKit.DOM; var s=MochiKit.Style; _732=d.getElement(_732); var _736=s.getElementDimensions(_732,true); var _737=s.makeClipping(_732); _733=MochiKit.Base.update({scaleContent:false,scaleX:false,scaleMode:{originalHeight:_736.h,originalWidth:_736.w},restoreAfterFinish:true,afterFinishInternal:function(_738){ s.hideElement(_738.element); s.undoClipping(_738.element,_737); }},_733); return new MochiKit.Visual.Scale(_732,0,_733); }; MochiKit.Visual.blindDown=function(_739,_73a){ var d=MochiKit.DOM; var s=MochiKit.Style; _739=d.getElement(_739); var _73d=s.getElementDimensions(_739,true); var _73e; _73a=MochiKit.Base.update({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:_73d.h,originalWidth:_73d.w},restoreAfterFinish:true,afterSetupInternal:function(_73f){ _73e=s.makeClipping(_73f.element); s.setStyle(_73f.element,{height:"0px"}); s.showElement(_73f.element); },afterFinishInternal:function(_740){ s.undoClipping(_740.element,_73e); }},_73a); return new MochiKit.Visual.Scale(_739,100,_73a); }; MochiKit.Visual.switchOff=function(_741,_742){ var d=MochiKit.DOM; var s=MochiKit.Style; _741=d.getElement(_741); var _745=s.getElementDimensions(_741,true); var _746=s.getStyle(_741,"opacity"); var _747; _742=MochiKit.Base.update({duration:0.7,restoreAfterFinish:true,beforeSetupInternal:function(_748){ s.makePositioned(_741); _747=s.makeClipping(_741); },afterFinishInternal:function(_749){ s.hideElement(_741); s.undoClipping(_741,_747); s.undoPositioned(_741); s.setStyle(_741,{"opacity":_746}); }},_742); var v=MochiKit.Visual; return new v.Sequence([new v.appear(_741,{sync:true,duration:0.57*_742.duration,from:0,transition:v.Transitions.flicker}),new v.Scale(_741,1,{sync:true,duration:0.43*_742.duration,scaleFromCenter:true,scaleX:false,scaleMode:{originalHeight:_745.h,originalWidth:_745.w},scaleContent:false,restoreAfterFinish:true})],_742); }; MochiKit.Visual.dropOut=function(_74b,_74c){ var d=MochiKit.DOM; var s=MochiKit.Style; _74b=d.getElement(_74b); var _74f={top:s.getStyle(_74b,"top"),left:s.getStyle(_74b,"left"),opacity:s.getStyle(_74b,"opacity")}; _74c=MochiKit.Base.update({duration:0.5,distance:100,beforeSetupInternal:function(_750){ s.makePositioned(_750.effects[0].element); },afterFinishInternal:function(_751){ s.hideElement(_751.effects[0].element); s.undoPositioned(_751.effects[0].element); s.setStyle(_751.effects[0].element,_74f); }},_74c); var v=MochiKit.Visual; return new v.Parallel([new v.Move(_74b,{x:0,y:_74c.distance,sync:true}),new v.Opacity(_74b,{sync:true,to:0})],_74c); }; MochiKit.Visual.shake=function(_753,_754){ var d=MochiKit.DOM; var v=MochiKit.Visual; var s=MochiKit.Style; _753=d.getElement(_753); var _758={top:s.getStyle(_753,"top"),left:s.getStyle(_753,"left")}; _754=MochiKit.Base.update({duration:0.5,afterFinishInternal:function(_759){ s.undoPositioned(_753); s.setStyle(_753,_758); }},_754); return new v.Sequence([new v.Move(_753,{sync:true,duration:0.1*_754.duration,x:20,y:0}),new v.Move(_753,{sync:true,duration:0.2*_754.duration,x:-40,y:0}),new v.Move(_753,{sync:true,duration:0.2*_754.duration,x:40,y:0}),new v.Move(_753,{sync:true,duration:0.2*_754.duration,x:-40,y:0}),new v.Move(_753,{sync:true,duration:0.2*_754.duration,x:40,y:0}),new v.Move(_753,{sync:true,duration:0.1*_754.duration,x:-20,y:0})],_754); }; MochiKit.Visual.slideDown=function(_75a,_75b){ var d=MochiKit.DOM; var b=MochiKit.Base; var s=MochiKit.Style; _75a=d.getElement(_75a); if(!_75a.firstChild){ throw new Error("MochiKit.Visual.slideDown must be used on a element with a child"); } d.removeEmptyTextNodes(_75a); var _75f=s.getStyle(_75a.firstChild,"bottom")||0; var _760=s.getElementDimensions(_75a,true); var _761; _75b=b.update({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:_760.h,originalWidth:_760.w},restoreAfterFinish:true,afterSetupInternal:function(_762){ s.makePositioned(_762.element); s.makePositioned(_762.element.firstChild); if(/Opera/.test(navigator.userAgent)){ s.setStyle(_762.element,{top:""}); } _761=s.makeClipping(_762.element); s.setStyle(_762.element,{height:"0px"}); s.showElement(_762.element); },afterUpdateInternal:function(_763){ var _764=s.getElementDimensions(_763.element,true); s.setStyle(_763.element.firstChild,{bottom:(_763.dims[0]-_764.h)+"px"}); },afterFinishInternal:function(_765){ s.undoClipping(_765.element,_761); if(/MSIE/.test(navigator.userAgent)){ s.undoPositioned(_765.element); s.undoPositioned(_765.element.firstChild); }else{ s.undoPositioned(_765.element.firstChild); s.undoPositioned(_765.element); } s.setStyle(_765.element.firstChild,{bottom:_75f}); }},_75b); return new MochiKit.Visual.Scale(_75a,100,_75b); }; MochiKit.Visual.slideUp=function(_766,_767){ var d=MochiKit.DOM; var b=MochiKit.Base; var s=MochiKit.Style; _766=d.getElement(_766); if(!_766.firstChild){ throw new Error("MochiKit.Visual.slideUp must be used on a element with a child"); } d.removeEmptyTextNodes(_766); var _76b=s.getStyle(_766.firstChild,"bottom"); var _76c=s.getElementDimensions(_766,true); var _76d; _767=b.update({scaleContent:false,scaleX:false,scaleMode:{originalHeight:_76c.h,originalWidth:_76c.w},scaleFrom:100,restoreAfterFinish:true,beforeStartInternal:function(_76e){ s.makePositioned(_76e.element); s.makePositioned(_76e.element.firstChild); if(/Opera/.test(navigator.userAgent)){ s.setStyle(_76e.element,{top:""}); } _76d=s.makeClipping(_76e.element); s.showElement(_76e.element); },afterUpdateInternal:function(_76f){ var _770=s.getElementDimensions(_76f.element,true); s.setStyle(_76f.element.firstChild,{bottom:(_76f.dims[0]-_770.h)+"px"}); },afterFinishInternal:function(_771){ s.hideElement(_771.element); s.undoClipping(_771.element,_76d); s.undoPositioned(_771.element.firstChild); s.undoPositioned(_771.element); s.setStyle(_771.element.firstChild,{bottom:_76b}); }},_767); return new MochiKit.Visual.Scale(_766,0,_767); }; MochiKit.Visual.squish=function(_772,_773){ var d=MochiKit.DOM; var b=MochiKit.Base; var s=MochiKit.Style; var _777=s.getElementDimensions(_772,true); var _778; _773=b.update({restoreAfterFinish:true,scaleMode:{originalHeight:_777.w,originalWidth:_777.h},beforeSetupInternal:function(_779){ _778=s.makeClipping(_779.element); },afterFinishInternal:function(_77a){ s.hideElement(_77a.element); s.undoClipping(_77a.element,_778); }},_773); return new MochiKit.Visual.Scale(_772,/Opera/.test(navigator.userAgent)?1:0,_773); }; MochiKit.Visual.grow=function(_77b,_77c){ var d=MochiKit.DOM; var v=MochiKit.Visual; var s=MochiKit.Style; _77b=d.getElement(_77b); _77c=MochiKit.Base.update({direction:"center",moveTransition:v.Transitions.sinoidal,scaleTransition:v.Transitions.sinoidal,opacityTransition:v.Transitions.full,scaleContent:true,scaleFromCenter:false},_77c); var _780={top:_77b.style.top,left:_77b.style.left,height:_77b.style.height,width:_77b.style.width,opacity:s.getStyle(_77b,"opacity")}; var dims=s.getElementDimensions(_77b,true); var _782,_783; var _784,_785; switch(_77c.direction){ case "top-left": _782=_783=_784=_785=0; break; case "top-right": _782=dims.w; _783=_785=0; _784=-dims.w; break; case "bottom-left": _782=_784=0; _783=dims.h; _785=-dims.h; break; case "bottom-right": _782=dims.w; _783=dims.h; _784=-dims.w; _785=-dims.h; break; case "center": _782=dims.w/2; _783=dims.h/2; _784=-dims.w/2; _785=-dims.h/2; break; } var _786=MochiKit.Base.update({beforeSetupInternal:function(_787){ s.setStyle(_787.effects[0].element,{height:"0px"}); s.showElement(_787.effects[0].element); },afterFinishInternal:function(_788){ s.undoClipping(_788.effects[0].element); s.undoPositioned(_788.effects[0].element); s.setStyle(_788.effects[0].element,_780); }},_77c); return new v.Move(_77b,{x:_782,y:_783,duration:0.01,beforeSetupInternal:function(_789){ s.hideElement(_789.element); s.makeClipping(_789.element); s.makePositioned(_789.element); },afterFinishInternal:function(_78a){ new v.Parallel([new v.Opacity(_78a.element,{sync:true,to:1,from:0,transition:_77c.opacityTransition}),new v.Move(_78a.element,{x:_784,y:_785,sync:true,transition:_77c.moveTransition}),new v.Scale(_78a.element,100,{scaleMode:{originalHeight:dims.h,originalWidth:dims.w},sync:true,scaleFrom:/Opera/.test(navigator.userAgent)?1:0,transition:_77c.scaleTransition,scaleContent:_77c.scaleContent,scaleFromCenter:_77c.scaleFromCenter,restoreAfterFinish:true})],_786); }}); }; MochiKit.Visual.shrink=function(_78b,_78c){ var d=MochiKit.DOM; var v=MochiKit.Visual; var s=MochiKit.Style; _78b=d.getElement(_78b); _78c=MochiKit.Base.update({direction:"center",moveTransition:v.Transitions.sinoidal,scaleTransition:v.Transitions.sinoidal,opacityTransition:v.Transitions.none,scaleContent:true,scaleFromCenter:false},_78c); var _790={top:_78b.style.top,left:_78b.style.left,height:_78b.style.height,width:_78b.style.width,opacity:s.getStyle(_78b,"opacity")}; var dims=s.getElementDimensions(_78b,true); var _792,_793; switch(_78c.direction){ case "top-left": _792=_793=0; break; case "top-right": _792=dims.w; _793=0; break; case "bottom-left": _792=0; _793=dims.h; break; case "bottom-right": _792=dims.w; _793=dims.h; break; case "center": _792=dims.w/2; _793=dims.h/2; break; } var _794; var _795=MochiKit.Base.update({beforeStartInternal:function(_796){ s.makePositioned(_796.effects[0].element); _794=s.makeClipping(_796.effects[0].element); },afterFinishInternal:function(_797){ s.hideElement(_797.effects[0].element); s.undoClipping(_797.effects[0].element,_794); s.undoPositioned(_797.effects[0].element); s.setStyle(_797.effects[0].element,_790); }},_78c); return new v.Parallel([new v.Opacity(_78b,{sync:true,to:0,from:1,transition:_78c.opacityTransition}),new v.Scale(_78b,/Opera/.test(navigator.userAgent)?1:0,{scaleMode:{originalHeight:dims.h,originalWidth:dims.w},sync:true,transition:_78c.scaleTransition,scaleContent:_78c.scaleContent,scaleFromCenter:_78c.scaleFromCenter,restoreAfterFinish:true}),new v.Move(_78b,{x:_792,y:_793,sync:true,transition:_78c.moveTransition})],_795); }; MochiKit.Visual.pulsate=function(_798,_799){ var d=MochiKit.DOM; var v=MochiKit.Visual; var b=MochiKit.Base; var _79d=MochiKit.Style.getStyle(_798,"opacity"); _799=b.update({duration:3,from:0,afterFinishInternal:function(_79e){ MochiKit.Style.setStyle(_79e.element,{"opacity":_79d}); }},_799); var _79f=_799.transition||v.Transitions.sinoidal; _799.transition=function(pos){ return _79f(1-v.Transitions.pulse(pos,_799.pulses)); }; return new v.Opacity(_798,_799); }; MochiKit.Visual.fold=function(_7a1,_7a2){ var d=MochiKit.DOM; var v=MochiKit.Visual; var s=MochiKit.Style; _7a1=d.getElement(_7a1); var _7a6=s.getElementDimensions(_7a1,true); var _7a7={top:_7a1.style.top,left:_7a1.style.left,width:_7a1.style.width,height:_7a1.style.height}; var _7a8=s.makeClipping(_7a1); _7a2=MochiKit.Base.update({scaleContent:false,scaleX:false,scaleMode:{originalHeight:_7a6.h,originalWidth:_7a6.w},afterFinishInternal:function(_7a9){ new v.Scale(_7a1,1,{scaleContent:false,scaleY:false,scaleMode:{originalHeight:_7a6.h,originalWidth:_7a6.w},afterFinishInternal:function(_7aa){ s.hideElement(_7aa.element); s.undoClipping(_7aa.element,_7a8); s.setStyle(_7aa.element,_7a7); }}); }},_7a2); return new v.Scale(_7a1,5,_7a2); }; MochiKit.Base.nameFunctions(MochiKit.Visual); MochiKit.Base._exportSymbols(this,MochiKit.Visual); MochiKit.Base._module("DragAndDrop","1.5",["Base","Iter","DOM","Signal","Visual","Position"]); MochiKit.DragAndDrop.Droppables={drops:[],remove:function(_7ab){ this.drops=MochiKit.Base.filter(function(d){ return d.element!=MochiKit.DOM.getElement(_7ab); },this.drops); },register:function(drop){ this.drops.push(drop); },unregister:function(drop){ this.drops=MochiKit.Base.filter(function(d){ return d!=drop; },this.drops); },prepare:function(_7b0){ MochiKit.Base.map(function(drop){ if(drop.isAccepted(_7b0)){ if(drop.options.activeclass){ MochiKit.DOM.addElementClass(drop.element,drop.options.activeclass); } drop.options.onactive(drop.element,_7b0); } },this.drops); },findDeepestChild:function(_7b2){ var _7b3=_7b2[0]; for(var i=1;i<_7b2.length;++i){ if(MochiKit.DOM.isChildNode(_7b2[i].element,_7b3.element)){ _7b3=_7b2[i]; } } return _7b3; },show:function(_7b5,_7b6){ if(!this.drops.length){ return; } var _7b7=[]; if(this.last_active){ this.last_active.deactivate(); } MochiKit.Iter.forEach(this.drops,function(drop){ if(drop.isAffected(_7b5,_7b6)){ _7b7.push(drop); } }); if(_7b7.length>0){ var drop=this.findDeepestChild(_7b7); MochiKit.Position.within(drop.element,_7b5.page.x,_7b5.page.y); drop.options.onhover(_7b6,drop.element,MochiKit.Position.overlap(drop.options.overlap,drop.element)); drop.activate(); } },fire:function(_7ba,_7bb){ if(!this.last_active){ return; } MochiKit.Position.prepare(); if(this.last_active.isAffected(_7ba.mouse(),_7bb)){ this.last_active.options.ondrop(_7bb,this.last_active.element,_7ba); } },reset:function(_7bc){ MochiKit.Base.map(function(drop){ if(drop.options.activeclass){ MochiKit.DOM.removeElementClass(drop.element,drop.options.activeclass); } drop.options.ondesactive(drop.element,_7bc); },this.drops); if(this.last_active){ this.last_active.deactivate(); } }}; MochiKit.DragAndDrop.Droppable=function(_7be,_7bf){ var cls=arguments.callee; if(!(this instanceof cls)){ return new cls(_7be,_7bf); } this.__init__(_7be,_7bf); }; MochiKit.DragAndDrop.Droppable.prototype={__class__:MochiKit.DragAndDrop.Droppable,__init__:function(_7c1,_7c2){ var d=MochiKit.DOM; var b=MochiKit.Base; this.element=d.getElement(_7c1); this.options=b.update({greedy:true,hoverclass:null,activeclass:null,hoverfunc:b.noop,accept:null,onactive:b.noop,ondesactive:b.noop,onhover:b.noop,ondrop:b.noop,containment:[],tree:false},_7c2); this.options._containers=[]; b.map(MochiKit.Base.bind(function(c){ this.options._containers.push(d.getElement(c)); },this),this.options.containment); MochiKit.Style.makePositioned(this.element); MochiKit.DragAndDrop.Droppables.register(this); },isContained:function(_7c6){ if(this.options._containers.length){ var _7c7; if(this.options.tree){ _7c7=_7c6.treeNode; }else{ _7c7=_7c6.parentNode; } return MochiKit.Iter.some(this.options._containers,function(c){ return _7c7==c; }); }else{ return true; } },isAccepted:function(_7c9){ return ((!this.options.accept)||MochiKit.Iter.some(this.options.accept,function(c){ return MochiKit.DOM.hasElementClass(_7c9,c); })); },isAffected:function(_7cb,_7cc){ return ((this.element!=_7cc)&&this.isContained(_7cc)&&this.isAccepted(_7cc)&&MochiKit.Position.within(this.element,_7cb.page.x,_7cb.page.y)); },deactivate:function(){ if(this.options.hoverclass){ MochiKit.DOM.removeElementClass(this.element,this.options.hoverclass); } this.options.hoverfunc(this.element,false); MochiKit.DragAndDrop.Droppables.last_active=null; },activate:function(){ if(this.options.hoverclass){ MochiKit.DOM.addElementClass(this.element,this.options.hoverclass); } this.options.hoverfunc(this.element,true); MochiKit.DragAndDrop.Droppables.last_active=this; },destroy:function(){ MochiKit.DragAndDrop.Droppables.unregister(this); },repr:function(){ return "["+this.__class__.NAME+", options:"+MochiKit.Base.repr(this.options)+"]"; }}; MochiKit.DragAndDrop.Draggables={drags:[],register:function(_7cd){ if(this.drags.length===0){ var conn=MochiKit.Signal.connect; this.eventMouseUp=conn(document,"onmouseup",this,this.endDrag); this.eventMouseMove=conn(document,"onmousemove",this,this.updateDrag); this.eventKeypress=conn(document,"onkeypress",this,this.keyPress); } this.drags.push(_7cd); },unregister:function(_7cf){ this.drags=MochiKit.Base.filter(function(d){ return d!=_7cf; },this.drags); if(this.drags.length===0){ var disc=MochiKit.Signal.disconnect; disc(this.eventMouseUp); disc(this.eventMouseMove); disc(this.eventKeypress); } },activate:function(_7d2){ window.focus(); this.activeDraggable=_7d2; },deactivate:function(){ this.activeDraggable=null; },updateDrag:function(_7d3){ if(!this.activeDraggable){ return; } var _7d4=_7d3.mouse(); if(this._lastPointer&&(MochiKit.Base.repr(this._lastPointer.page)==MochiKit.Base.repr(_7d4.page))){ return; } this._lastPointer=_7d4; this.activeDraggable.updateDrag(_7d3,_7d4); },endDrag:function(_7d5){ if(!this.activeDraggable){ return; } this._lastPointer=null; this.activeDraggable.endDrag(_7d5); this.activeDraggable=null; },keyPress:function(_7d6){ if(this.activeDraggable){ this.activeDraggable.keyPress(_7d6); } },notify:function(_7d7,_7d8,_7d9){ MochiKit.Signal.signal(this,_7d7,_7d8,_7d9); }}; MochiKit.DragAndDrop.Draggable=function(_7da,_7db){ var cls=arguments.callee; if(!(this instanceof cls)){ return new cls(_7da,_7db); } this.__init__(_7da,_7db); }; MochiKit.DragAndDrop.Draggable.prototype={__class__:MochiKit.DragAndDrop.Draggable,__init__:function(_7dd,_7de){ var v=MochiKit.Visual; var b=MochiKit.Base; _7de=b.update({handle:false,starteffect:function(_7e1){ this._savedOpacity=MochiKit.Style.getStyle(_7e1,"opacity")||1; new v.Opacity(_7e1,{duration:0.2,from:this._savedOpacity,to:0.7}); },reverteffect:function(_7e2,_7e3,_7e4){ var dur=Math.sqrt(Math.abs(_7e3^2)+Math.abs(_7e4^2))*0.02; return new v.Move(_7e2,{x:-_7e4,y:-_7e3,duration:dur}); },endeffect:function(_7e6){ new v.Opacity(_7e6,{duration:0.2,from:0.7,to:this._savedOpacity}); },onchange:b.noop,zindex:1000,revert:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,snap:false},_7de); var d=MochiKit.DOM; this.element=d.getElement(_7dd); if(_7de.handle&&(typeof (_7de.handle)=="string")){ this.handle=d.getFirstElementByTagAndClassName(null,_7de.handle,this.element); } if(!this.handle){ this.handle=d.getElement(_7de.handle); } if(!this.handle){ this.handle=this.element; } if(_7de.scroll&&!_7de.scroll.scrollTo&&!_7de.scroll.outerHTML){ _7de.scroll=d.getElement(_7de.scroll); this._isScrollChild=MochiKit.DOM.isChildNode(this.element,_7de.scroll); } MochiKit.Style.makePositioned(this.element); this.delta=this.currentDelta(); this.options=_7de; this.dragging=false; this.eventMouseDown=MochiKit.Signal.connect(this.handle,"onmousedown",this,this.initDrag); MochiKit.DragAndDrop.Draggables.register(this); },destroy:function(){ MochiKit.Signal.disconnect(this.eventMouseDown); MochiKit.DragAndDrop.Draggables.unregister(this); },currentDelta:function(){ var s=MochiKit.Style.getStyle; return [parseInt(s(this.element,"left")||"0"),parseInt(s(this.element,"top")||"0")]; },initDrag:function(_7e9){ if(!_7e9.mouse().button.left){ return; } var src=_7e9.target(); var _7eb=(src.tagName||"").toUpperCase(); if(_7eb==="INPUT"||_7eb==="SELECT"||_7eb==="OPTION"||_7eb==="BUTTON"||_7eb==="TEXTAREA"){ return; } if(this._revert){ this._revert.cancel(); this._revert=null; } var _7ec=_7e9.mouse(); var pos=MochiKit.Position.cumulativeOffset(this.element); this.offset=[_7ec.page.x-pos.x,_7ec.page.y-pos.y]; MochiKit.DragAndDrop.Draggables.activate(this); _7e9.stop(); },startDrag:function(_7ee){ this.dragging=true; if(this.options.selectclass){ MochiKit.DOM.addElementClass(this.element,this.options.selectclass); } if(this.options.zindex){ this.originalZ=MochiKit.Style.getStyle(this.element,"z-index"); this.element.style.zIndex=this.options.zindex; } if(this.options.ghosting){ this._clone=this.element.cloneNode(true); this.ghostPosition=MochiKit.Position.absolutize(this.element); this.element.parentNode.insertBefore(this._clone,this.element); } if(this.options.scroll){ if(this.options.scroll==window){ var _7ef=this._getWindowScroll(this.options.scroll); this.originalScrollLeft=_7ef.left; this.originalScrollTop=_7ef.top; }else{ this.originalScrollLeft=this.options.scroll.scrollLeft; this.originalScrollTop=this.options.scroll.scrollTop; } } MochiKit.DragAndDrop.Droppables.prepare(this.element); MochiKit.DragAndDrop.Draggables.notify("start",this,_7ee); if(this.options.starteffect){ this.options.starteffect(this.element); } },updateDrag:function(_7f0,_7f1){ if(!this.dragging){ this.startDrag(_7f0); } MochiKit.Position.prepare(); MochiKit.DragAndDrop.Droppables.show(_7f1,this.element); MochiKit.DragAndDrop.Draggables.notify("drag",this,_7f0); this.draw(_7f1); this.options.onchange(this); if(this.options.scroll){ this.stopScrolling(); var p,q; if(this.options.scroll==window){ var s=this._getWindowScroll(this.options.scroll); p=new MochiKit.Style.Coordinates(s.left,s.top); q=new MochiKit.Style.Coordinates(s.left+s.width,s.top+s.height); }else{ p=MochiKit.Position.page(this.options.scroll); p.x+=this.options.scroll.scrollLeft; p.y+=this.options.scroll.scrollTop; p.x+=(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0); p.y+=(window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0); q=new MochiKit.Style.Coordinates(p.x+this.options.scroll.offsetWidth,p.y+this.options.scroll.offsetHeight); } var _7f5=[0,0]; if(_7f1.page.x>(q.x-this.options.scrollSensitivity)){ _7f5[0]=_7f1.page.x-(q.x-this.options.scrollSensitivity); }else{ if(_7f1.page.x<(p.x+this.options.scrollSensitivity)){ _7f5[0]=_7f1.page.x-(p.x+this.options.scrollSensitivity); } } if(_7f1.page.y>(q.y-this.options.scrollSensitivity)){ _7f5[1]=_7f1.page.y-(q.y-this.options.scrollSensitivity); }else{ if(_7f1.page.y<(p.y+this.options.scrollSensitivity)){ _7f5[1]=_7f1.page.y-(p.y+this.options.scrollSensitivity); } } this.startScrolling(_7f5); } if(/AppleWebKit/.test(navigator.appVersion)){ window.scrollBy(0,0); } _7f0.stop(); },finishDrag:function(_7f6,_7f7){ var dr=MochiKit.DragAndDrop; this.dragging=false; if(this.options.selectclass){ MochiKit.DOM.removeElementClass(this.element,this.options.selectclass); } if(this.options.ghosting){ MochiKit.Position.relativize(this.element,this.ghostPosition); MochiKit.DOM.removeElement(this._clone); this._clone=null; } if(_7f7){ dr.Droppables.fire(_7f6,this.element); } dr.Draggables.notify("end",this,_7f6); var _7f9=this.options.revert; if(_7f9&&typeof (_7f9)=="function"){ _7f9=_7f9(this.element); } var d=this.currentDelta(); if(_7f9&&this.options.reverteffect){ this._revert=this.options.reverteffect(this.element,d[1]-this.delta[1],d[0]-this.delta[0]); }else{ this.delta=d; } if(this.options.zindex){ this.element.style.zIndex=this.originalZ; } if(this.options.endeffect){ this.options.endeffect(this.element); } dr.Draggables.deactivate(); dr.Droppables.reset(this.element); },keyPress:function(_7fb){ if(_7fb.key().string!="KEY_ESCAPE"){ return; } this.finishDrag(_7fb,false); _7fb.stop(); },endDrag:function(_7fc){ if(!this.dragging){ return; } this.stopScrolling(); this.finishDrag(_7fc,true); _7fc.stop(); },draw:function(_7fd){ var pos=MochiKit.Position.cumulativeOffset(this.element); var d=this.currentDelta(); pos.x-=d[0]; pos.y-=d[1]; if(this.options.scroll&&(this.options.scroll!=window&&this._isScrollChild)){ pos.x-=this.options.scroll.scrollLeft-this.originalScrollLeft; pos.y-=this.options.scroll.scrollTop-this.originalScrollTop; } var p=[_7fd.page.x-pos.x-this.offset[0],_7fd.page.y-pos.y-this.offset[1]]; if(this.options.snap){ if(typeof (this.options.snap)=="function"){ p=this.options.snap(p[0],p[1]); }else{ if(this.options.snap instanceof Array){ var i=-1; p=MochiKit.Base.map(MochiKit.Base.bind(function(v){ i+=1; return Math.round(v/this.options.snap[i])*this.options.snap[i]; },this),p); }else{ p=MochiKit.Base.map(MochiKit.Base.bind(function(v){ return Math.round(v/this.options.snap)*this.options.snap; },this),p); } } } var _804=this.element.style; if((!this.options.constraint)||(this.options.constraint=="horizontal")){ _804.left=p[0]+"px"; } if((!this.options.constraint)||(this.options.constraint=="vertical")){ _804.top=p[1]+"px"; } if(_804.visibility=="hidden"){ _804.visibility=""; } },stopScrolling:function(){ if(this.scrollInterval){ clearInterval(this.scrollInterval); this.scrollInterval=null; MochiKit.DragAndDrop.Draggables._lastScrollPointer=null; } },startScrolling:function(_805){ if(!_805[0]&&!_805[1]){ return; } this.scrollSpeed=[_805[0]*this.options.scrollSpeed,_805[1]*this.options.scrollSpeed]; this.lastScrolled=new Date(); this.scrollInterval=setInterval(MochiKit.Base.bind(this.scroll,this),10); },scroll:function(){ var _806=new Date(); var _807=_806-this.lastScrolled; this.lastScrolled=_806; if(this.options.scroll==window){ var s=this._getWindowScroll(this.options.scroll); if(this.scrollSpeed[0]||this.scrollSpeed[1]){ var dm=_807/1000; this.options.scroll.scrollTo(s.left+dm*this.scrollSpeed[0],s.top+dm*this.scrollSpeed[1]); } }else{ this.options.scroll.scrollLeft+=this.scrollSpeed[0]*_807/1000; this.options.scroll.scrollTop+=this.scrollSpeed[1]*_807/1000; } var d=MochiKit.DragAndDrop; MochiKit.Position.prepare(); d.Droppables.show(d.Draggables._lastPointer,this.element); d.Draggables.notify("drag",this); if(this._isScrollChild){ d.Draggables._lastScrollPointer=d.Draggables._lastScrollPointer||d.Draggables._lastPointer; d.Draggables._lastScrollPointer.x+=this.scrollSpeed[0]*_807/1000; d.Draggables._lastScrollPointer.y+=this.scrollSpeed[1]*_807/1000; if(d.Draggables._lastScrollPointer.x<0){ d.Draggables._lastScrollPointer.x=0; } if(d.Draggables._lastScrollPointer.y<0){ d.Draggables._lastScrollPointer.y=0; } this.draw(d.Draggables._lastScrollPointer); } this.options.onchange(this); },_getWindowScroll:function(win){ var vp,w,h; MochiKit.DOM.withWindow(win,function(){ vp=MochiKit.Style.getViewportPosition(win.document); }); if(win.innerWidth){ w=win.innerWidth; h=win.innerHeight; }else{ if(win.document.documentElement&&win.document.documentElement.clientWidth){ w=win.document.documentElement.clientWidth; h=win.document.documentElement.clientHeight; }else{ w=win.document.body.offsetWidth; h=win.document.body.offsetHeight; } } return {top:vp.y,left:vp.x,width:w,height:h}; },repr:function(){ return "["+this.__class__.NAME+", options:"+MochiKit.Base.repr(this.options)+"]"; }}; MochiKit.DragAndDrop.__new__=function(){ MochiKit.Base.nameFunctions(this); }; MochiKit.DragAndDrop.__new__(); MochiKit.Base._exportSymbols(this,MochiKit.DragAndDrop); MochiKit.Base._module("Sortable","1.5",["Base","Iter","DOM","Position","DragAndDrop"]); MochiKit.Base.update(MochiKit.Sortable,{__export__:false,sortables:{},_findRootElement:function(_80f){ while(_80f.tagName.toUpperCase()!="BODY"){ if(_80f.id&&MochiKit.Sortable.sortables[_80f.id]){ return _80f; } _80f=_80f.parentNode; } },_createElementId:function(_810){ if(_810.id==null||_810.id==""){ var d=MochiKit.DOM; var id; var _813=1; while(d.getElement(id="sortable"+_813)!=null){ _813+=1; } d.setNodeAttribute(_810,"id",id); } },options:function(_814){ _814=MochiKit.Sortable._findRootElement(MochiKit.DOM.getElement(_814)); if(!_814){ return; } return MochiKit.Sortable.sortables[_814.id]; },destroy:function(_815){ var s=MochiKit.Sortable.options(_815); var b=MochiKit.Base; var d=MochiKit.DragAndDrop; if(s){ MochiKit.Signal.disconnect(s.startHandle); MochiKit.Signal.disconnect(s.endHandle); b.map(function(dr){ d.Droppables.remove(dr); },s.droppables); b.map(function(dr){ dr.destroy(); },s.draggables); delete MochiKit.Sortable.sortables[s.element.id]; } },create:function(_81b,_81c){ _81b=MochiKit.DOM.getElement(_81b); var self=MochiKit.Sortable; self._createElementId(_81b); _81c=MochiKit.Base.update({element:_81b,tag:"li",dropOnEmpty:false,tree:false,treeTag:"ul",overlap:"vertical",constraint:"vertical",containment:[_81b],handle:false,only:false,hoverclass:null,ghosting:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,format:/^[^_]*_(.*)$/,onChange:MochiKit.Base.noop,onUpdate:MochiKit.Base.noop,accept:null},_81c); self.destroy(_81b); var _81e={revert:true,ghosting:_81c.ghosting,scroll:_81c.scroll,scrollSensitivity:_81c.scrollSensitivity,scrollSpeed:_81c.scrollSpeed,constraint:_81c.constraint,handle:_81c.handle}; if(_81c.starteffect){ _81e.starteffect=_81c.starteffect; } if(_81c.reverteffect){ _81e.reverteffect=_81c.reverteffect; }else{ if(_81c.ghosting){ _81e.reverteffect=function(_81f){ _81f.style.top=0; _81f.style.left=0; }; } } if(_81c.endeffect){ _81e.endeffect=_81c.endeffect; } if(_81c.zindex){ _81e.zindex=_81c.zindex; } var _820={overlap:_81c.overlap,containment:_81c.containment,hoverclass:_81c.hoverclass,onhover:self.onHover,tree:_81c.tree,accept:_81c.accept}; var _821={onhover:self.onEmptyHover,overlap:_81c.overlap,containment:_81c.containment,hoverclass:_81c.hoverclass,accept:_81c.accept}; MochiKit.DOM.removeEmptyTextNodes(_81b); _81c.draggables=[]; _81c.droppables=[]; if(_81c.dropOnEmpty||_81c.tree){ new MochiKit.DragAndDrop.Droppable(_81b,_821); _81c.droppables.push(_81b); } MochiKit.Base.map(function(e){ var _823=_81c.handle?MochiKit.DOM.getFirstElementByTagAndClassName(null,_81c.handle,e):e; _81c.draggables.push(new MochiKit.DragAndDrop.Draggable(e,MochiKit.Base.update(_81e,{handle:_823}))); new MochiKit.DragAndDrop.Droppable(e,_820); if(_81c.tree){ e.treeNode=_81b; } _81c.droppables.push(e); },(self.findElements(_81b,_81c)||[])); if(_81c.tree){ MochiKit.Base.map(function(e){ new MochiKit.DragAndDrop.Droppable(e,_821); e.treeNode=_81b; _81c.droppables.push(e); },(self.findTreeElements(_81b,_81c)||[])); } self.sortables[_81b.id]=_81c; _81c.lastValue=self.serialize(_81b); _81c.startHandle=MochiKit.Signal.connect(MochiKit.DragAndDrop.Draggables,"start",MochiKit.Base.partial(self.onStart,_81b)); _81c.endHandle=MochiKit.Signal.connect(MochiKit.DragAndDrop.Draggables,"end",MochiKit.Base.partial(self.onEnd,_81b)); },onStart:function(_825,_826){ var self=MochiKit.Sortable; var _828=self.options(_825); _828.lastValue=self.serialize(_828.element); },onEnd:function(_829,_82a){ var self=MochiKit.Sortable; self.unmark(); var _82c=self.options(_829); if(_82c.lastValue!=self.serialize(_82c.element)){ _82c.onUpdate(_82c.element); } },findElements:function(_82d,_82e){ return MochiKit.Sortable.findChildren(_82d,_82e.only,_82e.tree,_82e.tag); },findTreeElements:function(_82f,_830){ return MochiKit.Sortable.findChildren(_82f,_830.only,_830.tree?true:false,_830.treeTag); },findChildren:function(_831,only,_833,_834){ if(!_831.hasChildNodes()){ return null; } _834=_834.toUpperCase(); if(only){ only=MochiKit.Base.flattenArray([only]); } var _835=[]; MochiKit.Base.map(function(e){ if(e.tagName&&e.tagName.toUpperCase()==_834&&(!only||MochiKit.Iter.some(only,function(c){ return MochiKit.DOM.hasElementClass(e,c); }))){ _835.push(e); } if(_833){ var _838=MochiKit.Sortable.findChildren(e,only,_833,_834); if(_838&&_838.length>0){ _835=_835.concat(_838); } } },_831.childNodes); return _835; },onHover:function(_839,_83a,_83b){ if(MochiKit.DOM.isChildNode(_83a,_839)){ return; } var self=MochiKit.Sortable; if(_83b>0.33&&_83b<0.66&&self.options(_83a).tree){ return; }else{ if(_83b>0.5){ self.mark(_83a,"before"); if(_83a.previousSibling!=_839){ var _83d=_839.parentNode; _839.style.visibility="hidden"; _83a.parentNode.insertBefore(_839,_83a); if(_83a.parentNode!=_83d){ self.options(_83d).onChange(_839); } self.options(_83a.parentNode).onChange(_839); } }else{ self.mark(_83a,"after"); var _83e=_83a.nextSibling||null; if(_83e!=_839){ var _83d=_839.parentNode; _839.style.visibility="hidden"; _83a.parentNode.insertBefore(_839,_83e); if(_83a.parentNode!=_83d){ self.options(_83d).onChange(_839); } self.options(_83a.parentNode).onChange(_839); } } } },_offsetSize:function(_83f,type){ if(type=="vertical"||type=="height"){ return _83f.offsetHeight; }else{ return _83f.offsetWidth; } },onEmptyHover:function(_841,_842,_843){ var _844=_841.parentNode; var self=MochiKit.Sortable; var _846=self.options(_842); if(!MochiKit.DOM.isChildNode(_842,_841)){ var _847; var _848=self.findElements(_842,{tag:_846.tag,only:_846.only}); var _849=null; if(_848){ var _84a=self._offsetSize(_842,_846.overlap)*(1-_843); for(_847=0;_847<_848.length;_847+=1){ if(_84a-self._offsetSize(_848[_847],_846.overlap)>=0){ _84a-=self._offsetSize(_848[_847],_846.overlap); }else{ if(_84a-(self._offsetSize(_848[_847],_846.overlap)/2)>=0){ _849=_847+1<_848.length?_848[_847+1]:null; break; }else{ _849=_848[_847]; break; } } } } _842.insertBefore(_841,_849); self.options(_844).onChange(_841); _846.onChange(_841); } },unmark:function(){ var m=MochiKit.Sortable._marker; if(m){ MochiKit.Style.hideElement(m); } },mark:function(_84c,_84d){ var d=MochiKit.DOM; var self=MochiKit.Sortable; var _850=self.options(_84c.parentNode); if(_850&&!_850.ghosting){ return; } if(!self._marker){ self._marker=d.getElement("dropmarker")||document.createElement("DIV"); MochiKit.Style.hideElement(self._marker); d.addElementClass(self._marker,"dropmarker"); self._marker.style.position="absolute"; document.getElementsByTagName("body").item(0).appendChild(self._marker); } var _851=MochiKit.Position.cumulativeOffset(_84c); self._marker.style.left=_851.x+"px"; self._marker.style.top=_851.y+"px"; if(_84d=="after"){ if(_850.overlap=="horizontal"){ self._marker.style.left=(_851.x+_84c.clientWidth)+"px"; }else{ self._marker.style.top=(_851.y+_84c.clientHeight)+"px"; } } MochiKit.Style.showElement(self._marker); },_tree:function(_852,_853,_854){ var self=MochiKit.Sortable; var _856=self.findElements(_852,_853)||[]; for(var i=0;i<_856.length;++i){ var _858=_856[i].id.match(_853.format); if(!_858){ continue; } var _859={id:encodeURIComponent(_858?_858[1]:null),element:_852,parent:_854,children:[],position:_854.children.length,container:self._findChildrenElement(_856[i],_853.treeTag.toUpperCase())}; if(_859.container){ self._tree(_859.container,_853,_859); } _854.children.push(_859); } return _854; },_findChildrenElement:function(_85a,_85b){ if(_85a&&_85a.hasChildNodes){ _85b=_85b.toUpperCase(); for(var i=0;i<_85a.childNodes.length;++i){ if(_85a.childNodes[i].tagName.toUpperCase()==_85b){ return _85a.childNodes[i]; } } } return null; },tree:function(_85d,_85e){ _85d=MochiKit.DOM.getElement(_85d); var _85f=MochiKit.Sortable.options(_85d); _85e=MochiKit.Base.update({tag:_85f.tag,treeTag:_85f.treeTag,only:_85f.only,name:_85d.id,format:_85f.format},_85e||{}); var root={id:null,parent:null,children:new Array,container:_85d,position:0}; return MochiKit.Sortable._tree(_85d,_85e,root); },setSequence:function(_861,_862,_863){ var self=MochiKit.Sortable; var b=MochiKit.Base; _861=MochiKit.DOM.getElement(_861); _863=b.update(self.options(_861),_863||{}); var _866={}; b.map(function(n){ var m=n.id.match(_863.format); if(m){ _866[m[1]]=[n,n.parentNode]; } n.parentNode.removeChild(n); },self.findElements(_861,_863)); b.map(function(_869){ var n=_866[_869]; if(n){ n[1].appendChild(n[0]); delete _866[_869]; } },_862); },_constructIndex:function(node){ var _86c=""; do{ if(node.id){ _86c="["+node.position+"]"+_86c; } }while((node=node.parent)!=null); return _86c; },sequence:function(_86d,_86e){ _86d=MochiKit.DOM.getElement(_86d); var self=MochiKit.Sortable; var _86e=MochiKit.Base.update(self.options(_86d),_86e||{}); return MochiKit.Base.map(function(item){ return item.id.match(_86e.format)?item.id.match(_86e.format)[1]:""; },MochiKit.DOM.getElement(self.findElements(_86d,_86e)||[])); },serialize:function(_871,_872){ _871=MochiKit.DOM.getElement(_871); var self=MochiKit.Sortable; _872=MochiKit.Base.update(self.options(_871),_872||{}); var name=encodeURIComponent(_872.name||_871.id); if(_872.tree){ return MochiKit.Base.flattenArray(MochiKit.Base.map(function(item){ return [name+self._constructIndex(item)+"[id]="+encodeURIComponent(item.id)].concat(item.children.map(arguments.callee)); },self.tree(_871,_872).children)).join("&"); }else{ return MochiKit.Base.map(function(item){ return name+"[]="+encodeURIComponent(item); },self.sequence(_871,_872)).join("&"); } }}); MochiKit.Sortable.Sortable=MochiKit.Sortable; MochiKit.Sortable.__new__=function(){ MochiKit.Base.nameFunctions(this); }; MochiKit.Sortable.__new__(); MochiKit.Base._exportSymbols(this,MochiKit.Sortable); if(typeof (MochiKit)=="undefined"){ MochiKit={}; } if(typeof (MochiKit.MochiKit)=="undefined"){ MochiKit.MochiKit={}; } MochiKit.MochiKit.NAME="MochiKit.MochiKit"; MochiKit.MochiKit.VERSION="1.5"; MochiKit.MochiKit.__repr__=function(){ return "["+this.NAME+" "+this.VERSION+"]"; }; MochiKit.MochiKit.toString=function(){ return this.__repr__(); }; MochiKit.MochiKit.SUBMODULES=["Base","Iter","Logging","DateTime","Format","Text","Async","DOM","Selector","Style","LoggingPane","Color","Signal","Position","Visual","DragAndDrop","Sortable"]; (function(){ if(typeof (document)=="undefined"){ return; } var _877=document.getElementsByTagName("script"); var _878="http://www.w3.org/1999/xhtml"; var _879="http://www.w3.org/2000/svg"; var _87a="http://www.w3.org/1999/xlink"; var _87b="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; var base=null; var _87d=null; var _87e={}; var i; var src; for(i=0;i<_877.length;i++){ src=null; switch(_877[i].namespaceURI){ case _879: src=_877[i].getAttributeNS(_87a,"href"); break; default: src=_877[i].getAttribute("src"); break; } if(!src){ continue; } _87e[src]=true; if(src.match(/MochiKit.js(\?.*)?$/)){ base=src.substring(0,src.lastIndexOf("MochiKit.js")); _87d=_877[i]; } } if(base===null){ return; } var _881=MochiKit.MochiKit.SUBMODULES; for(var i=0;i<_881.length;i++){ if(MochiKit[_881[i]]){ continue; } var uri=base+_881[i]+".js"; if(uri in _87e){ continue; } if(_87d.namespaceURI==_879||_87d.namespaceURI==_87b){ var s=document.createElementNS(_87d.namespaceURI,"script"); s.setAttribute("id","MochiKit_"+base+_881[i]); if(_87d.namespaceURI==_879){ s.setAttributeNS(_87a,"href",uri); }else{ s.setAttribute("src",uri); } s.setAttribute("type","application/x-javascript"); _87d.parentNode.appendChild(s); }else{ document.write("<"+_87d.nodeName+" src=\""+uri+"\" type=\"text/javascript\">"); } } })();