/*** 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. ***/ var MochiKit=MochiKit||{}; if(typeof (MochiKit.__export__)=="undefined"){ MochiKit.__export__=true; } MochiKit.NAME="MochiKit"; MochiKit.VERSION="1.5"; MochiKit.__repr__=function(){ return "["+this.NAME+" "+this.VERSION+"]"; }; MochiKit.toString=function(){ return this.__repr__(); }; MochiKit.Base=MochiKit.Base||{}; MochiKit.Base.module=function(_1,_2,_3,_4){ var _5=_1[_2]=_1[_2]||{}; var _6=(_1.NAME?_1.NAME+".":""); _5.NAME=_6+_2; _5.VERSION=_3; _5.__repr__=function(){ return "["+this.NAME+" "+this.VERSION+"]"; }; _5.toString=function(){ return this.__repr__(); }; for(var i=0;_4!=null&&i<_4.length;i++){ if(!(_4[i] in _1)){ throw _5.NAME+" depends on "+_6+_4[i]+"!"; } } return _5; }; MochiKit.Base.module(MochiKit,"Base","1.5",[]); MochiKit.Base.update=function(_8,_9){ if(_8===null||_8===undefined){ _8={}; } for(var i=1;i=0;i--){ _1c.unshift(o[i]); } }else{ res.push(o); } } return res; },extend:function(_1f,obj,_21){ if(!_21){ _21=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(!_1f){ _1f=[]; } for(var i=_21;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&&_7d!="false"&&_7d!="null"&&_7d!="undefined"&&_7d!="0"; }else{ if(typeof (_7d)==="number"||_7d instanceof Number){ return !isNaN(_7d)&&_7d!=0; }else{ if(_7d!=null&&typeof (_7d.length)==="number"){ return _7d.length!==0; }else{ return _7d!=null; } } } } },typeMatcher:function(){ var _7e={}; for(var i=0;il){ _98=l; } } _96=[]; for(var i=0;i<_98;i++){ var _9a=[]; for(var j=1;j=0;i--){ _b7=[_b3[i].apply(this,_b7)]; } return _b7[0]; }; },bind:function(_b9,_ba){ if(typeof (_b9)=="string"){ _b9=_ba[_b9]; } var _bb=_b9.im_func; var _bc=_b9.im_preargs; var _bd=_b9.im_self; var m=MochiKit.Base; if(typeof (_b9)=="function"&&typeof (_b9.apply)=="undefined"){ _b9=m._wrapDumbFunction(_b9); } if(typeof (_bb)!="function"){ _bb=_b9; } if(typeof (_ba)!="undefined"){ _bd=_ba; } if(typeof (_bc)=="undefined"){ _bc=[]; }else{ _bc=_bc.slice(); } m.extend(_bc,arguments,2); var _bf=function(){ var _c0=arguments; var me=arguments.callee; if(me.im_preargs.length>0){ _c0=m.concat(me.im_preargs,_c0); } var _c2=me.im_self; if(!_c2){ _c2=this; } return me.im_func.apply(_c2,_c0); }; _bf.im_self=_bd; _bf.im_func=_bb; _bf.im_preargs=_bc; if(typeof (_bb.NAME)=="string"){ _bf.NAME="bind("+_bb.NAME+",...)"; } return _bf; },bindLate:function(_c3,_c4){ var m=MochiKit.Base; var _c6=arguments; if(typeof (_c3)==="string"){ _c6=m.extend([m.forwardCall(_c3)],arguments,1); return m.bind.apply(this,_c6); } return m.bind.apply(this,_c6); },bindMethods:function(_c7){ var _c8=MochiKit.Base.bind; for(var k in _c7){ var _ca=_c7[k]; if(typeof (_ca)=="function"){ _c7[k]=_c8(_ca,_c7); } } },registerComparator:function(_cb,_cc,_cd,_ce){ MochiKit.Base.comparatorRegistry.register(_cb,_cc,_cd,_ce); },_primitives:{"boolean":true,"string":true,"number":true},compare:function(a,b){ if(a==b){ return 0; } var _d1=(typeof (a)=="undefined"||a===null); var _d2=(typeof (b)=="undefined"||b===null); if(_d1&&_d2){ return 0; }else{ if(_d1){ return -1; }else{ if(_d2){ return 1; } } } var m=MochiKit.Base; var _d4=m._primitives; if(!(typeof (a) in _d4&&typeof (b) in _d4)){ try{ return m.comparatorRegistry.match(a,b); } catch(e){ if(e!=m.NotFound){ throw e; } } } if(ab){ return 1; } } var _d5=m.repr; throw new TypeError(_d5(a)+" and "+_d5(b)+" can not be compared"); },compareDateLike:function(a,b){ return MochiKit.Base.compare(a.getTime(),b.getTime()); },compareArrayLike:function(a,b){ var _da=MochiKit.Base.compare; var _db=a.length; var _dc=0; if(_db>b.length){ _dc=1; _db=b.length; }else{ if(_db=0;i--){ sum+=o[i]; } }else{ sum+=o; } } if(_123<=0){ throw new TypeError("mean() requires at least one argument"); } return sum/_123; },median:function(){ var data=MochiKit.Base.flattenArguments(arguments); if(data.length===0){ throw new TypeError("median() requires at least one argument"); } data.sort(MochiKit.Base.compare); if(data.length%2==0){ var _127=data.length/2; return (data[_127]+data[_127-1])/2; }else{ return data[(data.length-1)/2]; } },findValue:function(lst,_129,_12a,end){ if(typeof (end)=="undefined"||end===null){ end=lst.length; } if(typeof (_12a)=="undefined"||_12a===null){ _12a=0; } var cmp=MochiKit.Base.compare; for(var i=_12a;i0))){ var kv=MochiKit.DOM.formContents(_137); _137=kv[0]; _138=kv[1]; }else{ if(arguments.length==1){ if(typeof (_137.length)=="number"&&_137.length==2){ return arguments.callee(_137[0],_137[1]); } var o=_137; _137=[]; _138=[]; 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; } var rval; while(i<_194){ rval=seq.next(); i++; } _194+=step; return rval; }}; },imap:function(fun,p,q){ var m=MochiKit.Base; var self=MochiKit.Iter; var _19e=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,_19e)); }}; },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 _1a9=m.map(self.iter,arguments); return {repr:function(){ return "chain(...)"; },toString:m.forwardCall("repr"),next:function(){ while(_1a9.length>1){ try{ return _1a9[0].next(); } catch(e){ if(e!=self.StopIteration){ throw e; } _1a9.shift(); } } if(_1a9.length==1){ var arg=_1a9.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(_1b4,sync,_1b6){ sync.pos[_1b4]=-1; var m=MochiKit.Base; var _1b8=m.listMin; return {repr:function(){ return "tee("+_1b4+", ...)"; },toString:m.forwardCall("repr"),next:function(){ var rval; var i=sync.pos[_1b4]; if(i==sync.max){ rval=_1b6.next(); sync.deque.push(rval); sync.max+=1; sync.pos[_1b4]+=1; }else{ rval=sync.deque[i-sync.min]; sync.pos[_1b4]+=1; if(i==sync.min&&_1b8(sync.pos)!=sync.min){ sync.min+=1; sync.deque.shift(); } } return rval; }}; },tee:function(_1bb,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; _1bb=self.iter(_1bb); var _tee=self._tee; for(var i=0;i0&&_1cd>=stop)||(step<0&&_1cd<=stop)){ throw MochiKit.Iter.StopIteration; } var rval=_1cd; _1cd+=step; return rval; },repr:function(){ return "range("+[_1cd,stop,step].join(", ")+")"; },toString:MochiKit.Base.forwardCall("repr")}; },sum:function(_1d1,_1d2){ if(typeof (_1d2)=="undefined"||_1d2===null){ _1d2=0; } var x=_1d2; var self=MochiKit.Iter; _1d1=self.iter(_1d1); try{ while(true){ x+=_1d1.next(); } } catch(e){ if(e!=self.StopIteration){ throw e; } } return x; },exhaust:function(_1d5){ var self=MochiKit.Iter; _1d5=self.iter(_1d5); try{ while(true){ _1d5.next(); } } catch(e){ if(e!=self.StopIteration){ throw e; } } },forEach:function(_1d7,func,obj){ var m=MochiKit.Base; var self=MochiKit.Iter; if(arguments.length>2){ func=m.bind(func,obj); } if(m.isArrayLike(_1d7)&&!self.isIterable(_1d7)){ try{ for(var i=0;i<_1d7.length;i++){ func(_1d7[i]); } } catch(e){ if(e!=self.StopIteration){ throw e; } } }else{ self.exhaust(self.imap(func,_1d7)); } },every:function(_1dd,func){ var self=MochiKit.Iter; try{ self.ifilterfalse(func,_1dd).next(); return false; } catch(e){ if(e!=self.StopIteration){ throw e; } return true; } },sorted:function(_1e0,cmp){ var rval=MochiKit.Iter.list(_1e0); if(arguments.length==1){ cmp=MochiKit.Base.compare; } rval.sort(cmp); return rval; },reversed:function(_1e3){ var rval=MochiKit.Iter.list(_1e3); rval.reverse(); return rval; },some:function(_1e5,func){ var self=MochiKit.Iter; try{ self.ifilter(func,_1e5).next(); return true; } catch(e){ if(e!=self.StopIteration){ throw e; } return false; } },iextend:function(lst,_1e9){ var m=MochiKit.Base; var self=MochiKit.Iter; if(m.isArrayLike(_1e9)&&!self.isIterable(_1e9)){ for(var i=0;i<_1e9.length;i++){ lst.push(_1e9[i]); } }else{ _1e9=self.iter(_1e9); try{ while(true){ lst.push(_1e9.next()); } } catch(e){ if(e!=self.StopIteration){ throw e; } } } return lst; },groupby:function(_1ed,_1ee){ var m=MochiKit.Base; var self=MochiKit.Iter; if(arguments.length<2){ _1ee=m.operator.identity; } _1ed=self.iter(_1ed); var pk=undefined; var k=undefined; var v; function fetch(){ v=_1ed.next(); k=_1ee(v); } function eat(){ var ret=v; v=undefined; return ret; } var _1f5=true; var _1f6=m.compare; return {repr:function(){ return "groupby(...)"; },next:function(){ while(_1f6(k,pk)===0){ fetch(); if(_1f5){ _1f5=false; break; } } pk=k; return [k,{next:function(){ if(v==undefined){ fetch(); } if(_1f6(k,pk)!==0){ throw self.StopIteration; } return eat(); }}]; }}; },groupby_as_array:function(_1f7,_1f8){ var m=MochiKit.Base; var self=MochiKit.Iter; if(arguments.length<2){ _1f8=m.operator.identity; } _1f7=self.iter(_1f7); var _1fb=[]; var _1fc=true; var _1fd; var _1fe=m.compare; while(true){ try{ var _1ff=_1f7.next(); var key=_1f8(_1ff); } catch(e){ if(e==self.StopIteration){ break; } throw e; } if(_1fc||_1fe(key,_1fd)!==0){ var _201=[]; _1fb.push([key,_201]); } _201.push(_1ff); _1fc=false; _1fd=key; } return _1fb; },arrayLikeIter:function(_202){ var i=0; return {repr:function(){ return "arrayLikeIter(...)"; },toString:MochiKit.Base.forwardCall("repr"),next:function(){ if(i>=_202.length){ throw MochiKit.Iter.StopIteration; } return _202[i++]; }}; },hasIterateNext:function(_204){ return (_204&&typeof (_204.iterateNext)=="function"); },iterateNextIter:function(_205){ return {repr:function(){ return "iterateNextIter(...)"; },toString:MochiKit.Base.forwardCall("repr"),next:function(){ var rval=_205.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(MochiKit,"Logging","1.5",["Base"]); MochiKit.Logging.LogMessage=function(num,_209,info){ this.num=num; this.level=_209; 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(_20c){ var self=MochiKit.Logging; if(typeof (_20c)=="string"){ _20c=self.LogLevel[_20c]; } return function(msg){ var _20f=msg.level; if(typeof (_20f)=="string"){ _20f=self.LogLevel[_20f]; } return _20f>=_20c; }; },isLogMessage:function(){ var _210=MochiKit.Logging.LogMessage; for(var i=0;i=MochiKit.Logging.LogLevel.FATAL){ _21f="FATAL"; }else{ if(_21f>=MochiKit.Logging.LogLevel.ERROR){ _21f="ERROR"; }else{ if(_21f>=MochiKit.Logging.LogLevel.WARNING){ _21f="WARNING"; }else{ if(_21f>=MochiKit.Logging.LogLevel.INFO){ _21f="INFO"; }else{ _21f="DEBUG"; } } } } } var msg=new MochiKit.Logging.LogMessage(this.counter,_21f,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(_222){ var _223=0; if(!(typeof (_222)=="undefined"||_222===null)){ _223=Math.max(0,this._messages.length-_222); } return this._messages.slice(_223); },getMessageText:function(_224){ if(typeof (_224)=="undefined"||_224===null){ _224=30; } var _225=this.getMessages(_224); if(_225.length){ var lst=MochiKit.Base.map(function(m){ return "\n ["+m.num+"] "+m.level+": "+m.info.join(" "); },_225); lst.unshift("LAST "+_225.length+" MESSAGES:"); return lst.join(""); } return ""; },debuggingBookmarklet:function(_228){ if(typeof (MochiKit.LoggingPane)=="undefined"){ alert(this.getMessageText()); }else{ MochiKit.LoggingPane.createLoggingPane(_228||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 _22a=m.partial; var _22b=this.Logger; var _22c=_22b.prototype.baseLog; m.update(this.Logger.prototype,{debug:_22a(_22c,"DEBUG"),log:_22a(_22c,"INFO"),error:_22a(_22c,"ERROR"),fatal:_22a(_22c,"FATAL"),warning:_22a(_22c,"WARNING")}); var self=this; var _22e=function(name){ return function(){ self.logger[name].apply(self.logger,arguments); }; }; this.log=_22e("log"); this.logError=_22e("error"); this.logDebug=_22e("debug"); this.logFatal=_22e("fatal"); this.logWarning=_22e("warning"); this.logger=new _22b(); this.logger.useNativeConsole=true; m.nameFunctions(this); }; MochiKit.Logging.__new__(); MochiKit.Base._exportSymbols(this,MochiKit.Logging); MochiKit.Base.module(MochiKit,"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(parseInt(iso[0],10),parseInt(iso[1],10)-1,parseInt(iso[2],10)); 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,_236,day,hour,min,sec,msec; year=parseInt(res[1],10); if(typeof (res[2])=="undefined"||res[2]===""){ return new Date(year); } _236=parseInt(res[2],10)-1; day=parseInt(res[3],10); if(typeof (res[4])=="undefined"||res[4]===""){ return new Date(year,_236,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,_236,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,_236,day,hour,min,sec,msec)-ofs); }; MochiKit.DateTime.toISOTime=function(date,_23e){ if(typeof (date)=="undefined"||date===null){ return null; } var _23f=MochiKit.DateTime._padTwo; if(_23e){ date=new Date(date.getTime()+(date.getTimezoneOffset()*60000)); } var lst=[(_23e?_23f(date.getHours()):date.getHours()),_23f(date.getMinutes()),_23f(date.getSeconds())]; return lst.join(":")+(_23e?"Z":""); }; MochiKit.DateTime.toISOTimestamp=function(date,_242){ if(typeof (date)=="undefined"||date===null){ return null; } var time=MochiKit.DateTime.toISOTime(date,_242); var sep=_242?"T":" "; if(_242){ date=new Date(date.getTime()+(date.getTimezoneOffset()*60000)); } return MochiKit.DateTime.toISODate(date)+sep+time; }; MochiKit.DateTime.toISODate=function(date){ if(typeof (date)=="undefined"||date===null){ return null; } var _246=MochiKit.DateTime._padTwo; var _247=MochiKit.DateTime._padFour; return [_247(date.getFullYear()),_246(date.getMonth()+1),_246(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 _24d=MochiKit.DateTime._padTwo; return [_24d(d.getMonth()+1),_24d(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(MochiKit,"Format","1.5",["Base"]); MochiKit.Format._numberFormatter=function(_24f,_250,_251,_252,_253,_254,_255,_256,_257){ return function(num){ num=parseFloat(num); if(typeof (num)=="undefined"||num===null||isNaN(num)){ return _24f; } var _259=_250; var _25a=_251; if(num<0){ num=-num; }else{ _259=_259.replace(/-/,""); } var me=arguments.callee; var fmt=MochiKit.Format.formatLocale(_252); if(_253){ num=num*100; _25a=fmt.percent+_25a; } num=MochiKit.Format.roundToFixed(num,_254); var _25d=num.split(/\./); var _25e=_25d[0]; var frac=(_25d.length==1)?"":_25d[1]; var res=""; while(_25e.length<_255){ _25e="0"+_25e; } if(_256){ while(_25e.length>_256){ var i=_25e.length-_256; res=fmt.separator+_25e.substring(i,_25e.length)+res; _25e=_25e.substring(0,i); } } res=_25e+res; if(_254>0){ while(frac.length<_257){ frac=frac+"0"; } res=res+fmt.decimal+frac; } return _259+res+_25a; }; }; MochiKit.Format.numberFormatter=function(_262,_263,_264){ if(typeof (_263)=="undefined"){ _263=""; } var _265=_262.match(/((?:[0#]+,)?[0#]+)(?:\.([0#]+))?(%)?/); if(!_265){ throw TypeError("Invalid pattern"); } var _266=_262.substr(0,_265.index); var _267=_262.substr(_265.index+_265[0].length); if(_266.search(/-/)==-1){ _266=_266+"-"; } var _268=_265[1]; var frac=(typeof (_265[2])=="string"&&_265[2]!="")?_265[2]:""; var _26a=(typeof (_265[3])=="string"&&_265[3]!=""); var tmp=_268.split(/,/); var _26c; if(typeof (_264)=="undefined"){ _264="default"; } if(tmp.length==1){ _26c=null; }else{ _26c=tmp[1].length; } var _26d=_268.length-_268.replace(/0/g,"").length; var _26e=frac.length-frac.replace(/0/g,"").length; var _26f=frac.length; var rval=MochiKit.Format._numberFormatter(_263,_266,_267,_264,_26a,_26f,_26d,_26c,_26e); var m=MochiKit.Base; if(m){ var fn=arguments.callee; var args=m.concat(arguments); rval.repr=function(){ return [self.NAME,"(",m.map(m.repr,args).join(", "),")"].join(""); }; } return rval; }; MochiKit.Format.formatLocale=function(_274){ if(typeof (_274)=="undefined"||_274===null){ _274="default"; } if(typeof (_274)=="string"){ var rval=MochiKit.Format.LOCALE[_274]; if(typeof (rval)=="string"){ rval=arguments.callee(rval); MochiKit.Format.LOCALE[_274]=rval; } return rval; }else{ return _274; } }; MochiKit.Format.twoDigitAverage=function(_276,_277){ if(_277){ var res=_276/_277; if(!isNaN(res)){ return MochiKit.Format.twoDigitFloat(res); } } return "0"; }; MochiKit.Format.twoDigitFloat=function(_279){ var res=MochiKit.Format.roundToFixed(_279,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,_27c){ str=str+""; if(typeof (str)!="string"){ return null; } if(!_27c){ return str.replace(/^\s+/,""); }else{ return str.replace(new RegExp("^["+_27c+"]+"),""); } }; MochiKit.Format.rstrip=function(str,_27e){ str=str+""; if(typeof (str)!="string"){ return null; } if(!_27e){ return str.replace(/\s+$/,""); }else{ return str.replace(new RegExp("["+_27e+"]+$"),""); } }; MochiKit.Format.strip=function(str,_280){ var self=MochiKit.Format; return self.rstrip(self.lstrip(str,_280),_280); }; MochiKit.Format.truncToFixed=function(_282,_283){ var _284=MochiKit.Format._numberToFixed(_282,_283); var _285=_284.indexOf("."); if(_285>0&&_285+_283+1<_284.length){ _284=_284.substring(0,_285+_283+1); _284=MochiKit.Format._shiftNumber(_284,0); } return _284; }; MochiKit.Format.roundToFixed=function(_286,_287){ var _288=MochiKit.Format._numberToFixed(_286,_287); var _289=_288.indexOf("."); if(_289>0&&_289+_287+1<_288.length){ var str=MochiKit.Format._shiftNumber(_288,_287); str=MochiKit.Format._numberToFixed(Math.round(parseFloat(str)),0); _288=MochiKit.Format._shiftNumber(str,-_287); } return _288; }; MochiKit.Format._numberToFixed=function(_28b,_28c){ var str=_28b.toString(); var _28e=str.split(/[eE]/); var exp=(_28e.length===1)?0:parseInt(_28e[1],10)||0; var _290=MochiKit.Format._shiftNumber(_28e[0],exp); _28e=_290.split(/\./); var _291=_28e[0]; var frac=(_28e.length===1)?"":_28e[1]; while(frac.length<_28c){ frac+="0"; } if(frac.length>0){ return _291+"."+frac; }else{ return _291; } }; 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,_2a2,_2a3){ str=str||""; _2a3=_2a3||" "; while(str.length<_2a2){ str=_2a3+str; } return str; }; MochiKit.Text.padRight=function(str,_2a5,_2a6){ str=str||""; _2a6=_2a6||" "; while(str.length<_2a5){ str+=_2a6; } return str; }; MochiKit.Text.truncate=function(str,_2a8,tail){ if(str==null||str.length<=_2a8||_2a8<0){ return str; }else{ if(tail!=null){ str=str.slice(0,Math.max(0,_2a8-tail.length)); if(typeof (str)=="string"){ return str+tail; }else{ return MochiKit.Base.extend(str,tail); } }else{ return str.slice(0,_2a8); } } }; MochiKit.Text.split=function(str,_2ab,max){ if(str==null){ return str; } _2ab=_2ab||"\n"; var bits=str.split(_2ab); if((typeof (max)=="undefined")||max>=bits.length-1){ return bits; } bits.splice(max,bits.length,bits.slice(max,bits.length).join(_2ab)); return bits; }; MochiKit.Text.rsplit=function(str,_2af,max){ if(str==null){ return str; } _2af=_2af||"\n"; var bits=str.split(_2af); if((typeof (max)=="undefined")||max>=bits.length-1){ return bits; } bits.splice(0,bits.length-max,bits.slice(0,bits.length-max).join(_2af)); return bits; }; MochiKit.Text.formatter=function(_2b2,_2b3){ if(_2b3==null){ _2b3=MochiKit.Format.formatLocale(); }else{ if(typeof (_2b3)=="string"){ _2b3=MochiKit.Format.formatLocale(_2b3); } } var _2b4=MochiKit.Text._parsePattern(_2b2); return function(){ var _2b5=MochiKit.Base.extend([],arguments); var res=[]; for(var i=0;i<_2b4.length;i++){ if(typeof (_2b4[i])=="string"){ res.push(_2b4[i]); }else{ res.push(MochiKit.Text.formatValue(_2b4[i],_2b5,_2b3)); } } return res.join(""); }; }; MochiKit.Text.format=function(_2b8){ var func=MochiKit.Text.formatter(_2b8); return func.apply(this,MochiKit.Base.extend([],arguments,1)); }; MochiKit.Text.formatValue=function(spec,_2bb,_2bc){ var self=MochiKit.Text; if(typeof (spec)==="string"){ spec=self._parseFormatFlags(spec,0,spec.length); } for(var i=0;spec.path!=null&&i=0){ str=MochiKit.Format.roundToFixed(_2bb,spec.precision); }else{ str=_2bb.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,_2bc,spec.group); str=sign+str; } } } if(str!==""&&spec.format==="%"){ str=str+_2bc.percent; } }else{ if(spec.format=="r"){ str=MochiKit.Base.repr(_2bb); }else{ str=(_2bb==null)?"":_2bb.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,_2c2,_2c3){ var _2c4=num.split(/\./); var _2c5=_2c4[0]; var frac=(_2c4.length==1)?"":_2c4[1]; var res=(frac.length>0)?_2c2.decimal:""; while(_2c3&&frac.length>3){ res=res+frac.substring(0,3)+_2c2.separator; frac=frac.substring(3); if(_2c5.charAt(0)=="0"){ _2c5=_2c5.substring(1); } } if(frac.length>0){ res=res+frac; } while(_2c3&&_2c5.length>3){ var pos=_2c5.length-3; res=_2c2.separator+_2c5.substring(pos)+res; _2c5=_2c5.substring((_2c5.charAt(0)=="0")?1:0,pos); } return _2c5+res; }; MochiKit.Text._parsePattern=function(_2c9){ var self=MochiKit.Text; var _2cb=[]; var re=/{[^{}]*}|{{?|}}?/g; var _2cd=re.lastIndex=0; var m; while((m=re.exec(_2c9))!=null){ if(_2cd",sign:"",padding:" ",group:false}; var text=_2dd.substring(_2de,_2df).replace(/\s+$/,""); var m=/^([<>+ 0,-]+)?(\d+)?(\.\d*)?([srbdoxXf%])?(.*)$/.exec(text); var _2e4=m[1]; var _2e5=m[2]; var _2e6=m[3]; var type=m[4]; var _2e8=m[5]; for(var i=0;_2e4&&i<_2e4.length;i++){ var chr=_2e4.charAt(i); if(chr=="<"||chr==">"){ info.align=chr; }else{ if(chr=="+"||chr=="-"||chr==" "){ info.sign=(chr=="-")?"":chr; }else{ if(chr=="0"){ info.padding=chr; }else{ if(chr==","){ info.group=true; } } } } } if(_2e5){ info.width=parseInt(_2e5,10); } if(_2e6&&_2e6.length>1){ info.precision=parseInt(_2e6.substring(1),10); } if(type=="s"||type=="r"){ info.format=type; }else{ if(type=="b"){ _2e0(info,{type:"number",format:type,radix:2}); }else{ if(type=="o"){ _2e0(info,{type:"number",format:type,radix:8}); }else{ if(type=="x"||type=="X"){ _2e0(info,{type:"number",format:type,radix:16}); }else{ if(type=="d"||type=="f"||type=="%"){ _2e0(info,{type:"number",format:type,radix:10}); } } } } } if(_2e8){ var msg="unsupported format flag: "+_2e8.charAt(0); throw new MochiKit.Text.FormatPatternError(_2dd,_2de,msg); } return info; }; MochiKit.Text._truncToPercent=function(_2ec,_2ed){ var str; if(_2ed>=0){ str=MochiKit.Format.roundToFixed(_2ec,_2ed+2); }else{ str=(_2ec==null)?"0":_2ec.toString(); } var arr=MochiKit.Text.split(str,".",2); var frac=MochiKit.Text.padRight(arr[1],2,"0"); var _2f1=arr[0]+frac.substring(0,2); frac=frac.substring(2); while(/^0[0-9]/.test(_2f1)){ _2f1=_2f1.substring(1); } return (frac.length<=0)?_2f1:_2f1+"."+frac; }; MochiKit.Text.FormatPatternError=function(_2f2,pos,_2f4){ this.pattern=_2f2; this.pos=pos; this.message=_2f4; }; MochiKit.Text.FormatPatternError.prototype=new MochiKit.Base.NamedError("MochiKit.Text.FormatPatternError"); MochiKit.Text.FormatPatternError.constructor=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(MochiKit,"Async","1.5",["Base"]); MochiKit.Async.Deferred=function(_2f5){ this.chain=[]; this.id=this._nextId(); this.fired=-1; this.paused=0; this.results=[null,null]; this.canceller=_2f5; this.silentlyCancelled=false; this.chained=false; this.finalized=false; }; MochiKit.Async.Deferred.prototype={repr:function(){ return "Deferred("+this.id+", "+this.state()+")"; },toString:MochiKit.Base.forwardCall("repr"),_nextId:MochiKit.Base.counter(),state:function(){ if(this.fired==-1){ return "unfired"; }else{ if(this.fired===0){ return "success"; }else{ return "error"; } } },cancel:function(e){ var self=MochiKit.Async; if(this.fired==-1){ if(this.canceller){ this.canceller(this); }else{ this.silentlyCancelled=true; } if(this.fired==-1){ if(typeof (e)==="string"){ e=new self.GenericError(e); }else{ if(!(e instanceof Error)){ e=new self.CancelledError(this); } } this.errback(e); } }else{ if((this.fired===0)&&(this.results[0] instanceof self.Deferred)){ this.results[0].cancel(e); } } },_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 _302=this.chain; var _303=this.fired; var res=this.results[_303]; var self=this; var cb=null; while(_302.length>0&&this.paused===0){ var pair=_302.shift(); var f=pair[_303]; if(f===null){ continue; } try{ res=f(res); _303=((res instanceof Error)?1:0); if(res instanceof MochiKit.Async.Deferred){ cb=function(res){ self.paused--; self._resback(res); }; this.paused++; } } catch(err){ _303=1; if(!(err instanceof Error)){ err=new MochiKit.Async.GenericError(err); } res=err; } } this.fired=_303; this.results[_303]=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(_30b){ var d=new MochiKit.Async.Deferred(); d.callback.apply(d,arguments); return d; },fail:function(_30d){ var d=new MochiKit.Async.Deferred(); d.errback.apply(d,arguments); return d; },getXMLHttpRequest:function(){ var self=arguments.callee; if(!self.XMLHttpRequest){ var _310=[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<_310.length;i++){ var func=_310[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 _315=null; try{ _315=this.status; if(!_315&&(this.response||m.isNotEmpty(this.responseText))){ _315=304; } } catch(e){ } if(_315==200||_315==201||_315==204||_315==304||_315==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,_319){ if(typeof (_319)=="undefined"||_319===null){ _319=""; } 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(_319); } 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 _326=opts.headers; if(!m.isArrayLike(_326)){ _326=m.items(_326); } for(var i=0;i<_326.length;i++){ var _328=_326[i]; var name=_328[0]; var _32a=_328[1]; req.setRequestHeader(name,_32a); } } if("responseType" in opts&&"responseType" in req){ req.responseType=opts.responseType; } if(opts.withCredentials){ req.withCredentials="true"; } 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; },loadScript:function(url){ var d=new MochiKit.Async.Deferred(); var _335=document.createElement("script"); _335.type="text/javascript"; _335.src=url; _335.onload=function(){ _335.onload=null; _335.onerror=null; _335.onreadystatechange=null; _335=null; d.callback(); }; _335.onerror=function(msg){ _335.onload=null; _335.onerror=null; _335.onreadystatechange=null; _335=null; msg="Failed to load script at "+url+": "+msg; d.errback(new URIError(msg,url)); }; _335.onreadystatechange=function(){ if(_335.readyState=="loaded"||_335.readyState=="complete"){ _335.onload(); }else{ MochiKit.Async.callLater(10,_335.onerror,"Script loading timed out"); } }; document.getElementsByTagName("head")[0].appendChild(_335); return d; },wait:function(_337,_338){ var d=new MochiKit.Async.Deferred(); var cb=MochiKit.Base.bind("callback",d,_338); var _33b=setTimeout(cb,Math.floor(_337*1000)); d.canceller=function(){ try{ clearTimeout(_33b); } catch(e){ } }; return d; },callLater:function(_33c,func){ var m=MochiKit.Base; var _33f=m.partial.apply(m,m.extend(null,arguments,1)); return MochiKit.Async.wait(_33c).addCallback(function(res){ return _33f(); }); }}); 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 _342; if(this.locked){ _342="locked, "+this.waiting.length+" waiting"; }else{ _342="unlocked"; } return "DeferredLock("+this.id+", "+_342+")"; },toString:MochiKit.Base.forwardCall("repr")}; MochiKit.Async.DeferredList=function(list,_344,_345,_346,_347){ MochiKit.Async.Deferred.apply(this,[_347]); this.list=list; var _348=[]; this.resultList=_348; this.finishedCount=0; this.fireOnOneCallback=_344; this.fireOnOneErrback=_345; this.consumeErrors=_346; 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; } } _367.push(name); _368.push(v); return null; } _367.push(name); _368.push(""); return null; }else{ var opts=elem.options; if(!opts.length){ _367.push(name); _368.push(""); return null; } for(var i=0;i]+\svalue\s*=/i)){ v=opt.text; } } _367.push(name); _368.push(v); } return null; } } if(_36d==="FORM"||_36d==="P"||_36d==="SPAN"||_36d==="DIV"){ return elem.childNodes; } _367.push(name); _368.push(elem.value||""); return null; } return elem.childNodes; }); return [_367,_368]; },withDocument:function(doc,func){ var self=MochiKit.DOM; var _376=self._document; var rval; try{ self._document=doc; rval=func(); } catch(e){ self._document=_376; throw e; } self._document=_376; return rval; },registerDOMConverter:function(name,_379,wrap,_37b){ MochiKit.DOM.domConverters.register(name,_379,wrap,_37b); },coerceToDOM:function(node,ctx){ var m=MochiKit.Base; var im=MochiKit.Iter; var self=MochiKit.DOM; if(im){ var iter=im.iter; var _382=im.repeat; } var map=m.map; var _384=self.domConverters; var _385=arguments.callee; var _386=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 _387=null; try{ _387=iter(node); } catch(e){ } if(_387){ return map(_385,_387,_382(ctx)); } }else{ if(m.isArrayLike(node)){ var func=function(n){ return _385(n,ctx); }; return map(func,node); } } try{ node=_384.match(node,ctx); continue; } catch(e){ if(e!=_386){ throw e; } } return self._document.createTextNode(node.toString()); } return undefined; },isChildNode:function(node,_38b){ var self=MochiKit.DOM; if(typeof (node)=="string"){ node=self.getElement(node); } if(typeof (_38b)=="string"){ _38b=self.getElement(_38b); } if(typeof (node)=="undefined"||node===null){ return false; } while(node!=null&&node!==self._document){ if(node===_38b){ return true; } node=node.parentNode; } return false; },setNodeAttribute:function(node,attr,_38f){ var o={}; o[attr]=_38f; try{ return MochiKit.DOM.updateNodeAttributes(node,o); } catch(e){ } return null; },getNodeAttribute:function(node,attr){ var self=MochiKit.DOM; var _394=self.attributeArray.renames[attr]; var _395=self.attributeArray.ignoreAttr[attr]; node=self.getElement(node); try{ if(_394){ return node[_394]; } var _396=node.getAttribute(attr); if(_396!=_395){ return _396; } } catch(e){ } return null; },removeNodeAttribute:function(node,attr){ var self=MochiKit.DOM; var _39a=self.attributeArray.renames[attr]; node=self.getElement(node); try{ if(_39a){ return node[_39a]; } return node.removeAttribute(attr); } catch(e){ } return null; },updateNodeAttributes:function(node,_39c){ var elem=node; var self=MochiKit.DOM; var base=MochiKit.Base; if(typeof (node)=="string"){ elem=self.getElement(node); } if(_39c){ if(self.attributeArray.compliant){ for(var k in _39c){ var v=_39c[k]; if(typeof (v)=="object"&&typeof (elem[k])=="object"){ if(k=="style"&&MochiKit.Style){ MochiKit.Style.setStyle(elem,v); }else{ base.updatetree(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(base.isValue(elem[k])&&elem[k]!=v){ elem[k]=v; } } }else{ var _3a2=self.attributeArray.renames; for(var k in _39c){ v=_39c[k]; var _3a3=_3a2[k]; if(k=="style"&&typeof (v)=="string"){ elem.style.cssText=v; }else{ if(typeof (_3a3)=="string"){ elem[_3a3]=v; }else{ if(typeof (elem[k])=="object"&&typeof (v)=="object"){ if(k=="style"&&MochiKit.Style){ MochiKit.Style.setStyle(elem,v); }else{ base.updatetree(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(base.isValue(elem[k])&&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 _3a7=[self.coerceToDOM(MochiKit.Base.extend(null,arguments,1),elem)]; var _3a8=MochiKit.Base.concat; while(_3a7.length){ var n=_3a7.shift(); if(typeof (n)=="undefined"||n===null){ }else{ if(typeof (n.nodeType)=="number"){ elem.appendChild(n); }else{ _3a7=_3a8(n,_3a7); } } } return elem; },insertSiblingNodesBefore:function(node){ var elem=node; var self=MochiKit.DOM; if(typeof (node)=="string"){ elem=self.getElement(node); } var _3ad=[self.coerceToDOM(MochiKit.Base.extend(null,arguments,1),elem)]; var _3ae=elem.parentNode; var _3af=MochiKit.Base.concat; while(_3ad.length){ var n=_3ad.shift(); if(typeof (n)=="undefined"||n===null){ }else{ if(typeof (n.nodeType)=="number"){ _3ae.insertBefore(n,elem); }else{ _3ad=_3af(n,_3ad); } } } return _3ae; },insertSiblingNodesAfter:function(node){ var elem=node; var self=MochiKit.DOM; if(typeof (node)=="string"){ elem=self.getElement(node); } var _3b4=[self.coerceToDOM(MochiKit.Base.extend(null,arguments,1),elem)]; if(elem.nextSibling){ return self.insertSiblingNodesBefore(elem.nextSibling,_3b4); }else{ return self.appendChildNodes(elem.parentNode,_3b4); } },replaceChildNodes:function(node){ var elem=node; var self=MochiKit.DOM; if(typeof (node)=="string"){ elem=self.getElement(node); arguments[0]=elem; } var _3b8; while((_3b8=elem.firstChild)){ elem.removeChild(_3b8); } if(arguments.length<2){ return elem; }else{ return self.appendChildNodes.apply(this,arguments); } },createDOM:function(name,_3ba){ var elem; var self=MochiKit.DOM; var m=MochiKit.Base; if(typeof (_3ba)=="string"||typeof (_3ba)=="number"){ var args=m.extend([name,null],arguments,1); return arguments.callee.apply(this,args); } if(typeof (name)=="string"){ var _3bf=self._xhtml; if(_3ba&&!self.attributeArray.compliant){ var _3c0=""; if("name" in _3ba){ _3c0+=" name=\""+self.escapeHTML(_3ba.name)+"\""; } if(name=="input"&&"type" in _3ba){ _3c0+=" type=\""+self.escapeHTML(_3ba.type)+"\""; } if(_3c0){ name="<"+name+_3c0+">"; _3bf=false; } } var d=self._document; if(_3bf&&d===document){ elem=d.createElementNS("http://www.w3.org/1999/xhtml",name); }else{ elem=d.createElement(name); } }else{ elem=name; } if(_3ba){ self.updateNodeAttributes(elem,_3ba); } 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 _3c9=dest.parentNode; if(src){ if(typeof (src)=="string"){ src=self.getElement(src); } src=self.coerceToDOM(src,_3c9); _3c9.replaceChild(src,dest); }else{ _3c9.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(_3cc,_3cd,_3ce){ var self=MochiKit.DOM; if(typeof (_3cc)=="undefined"||_3cc===null){ _3cc="*"; } if(typeof (_3ce)=="undefined"||_3ce===null){ _3ce=self._document; } _3ce=self.getElement(_3ce); if(_3ce==null){ return []; } var _3d0=(_3ce.getElementsByTagName(_3cc)||self._document.all); if(typeof (_3cd)=="undefined"||_3cd===null){ return MochiKit.Base.extend(null,_3d0); } var _3d1=[]; for(var i=0;i<_3d0.length;i++){ var _3d3=_3d0[i]; var cls=_3d3.className; if(typeof (cls)!="string"){ cls=_3d3.getAttribute("class"); } if(typeof (cls)=="string"){ var _3d5=cls.split(" "); for(var j=0;j<_3d5.length;j++){ if(_3d5[j]==_3cd){ _3d1.push(_3d3); break; } } } } return _3d1; },_newCallStack:function(path,once){ var rval=function(){ var _3da=arguments.callee.callStack; for(var i=0;i<_3da.length;i++){ if(_3da[i].apply(this,arguments)===false){ break; } } if(once){ try{ this[path]=null; } catch(e){ } } }; rval.callStack=[]; return rval; },addToCallStack:function(_3dc,path,func,once){ var self=MochiKit.DOM; var _3e1=_3dc[path]; var _3e2=_3e1; if(!(typeof (_3e1)=="function"&&typeof (_3e1.callStack)=="object"&&_3e1.callStack!==null)){ _3e2=self._newCallStack(path,once); if(typeof (_3e1)=="function"){ _3e2.callStack.push(_3e1); } _3dc[path]=_3e2; } _3e2.callStack.push(func); },addLoadEvent:function(func){ var self=MochiKit.DOM; self.addToCallStack(self._window,"onload",func,true); },focusOnLoad:function(_3e5){ var self=MochiKit.DOM; self.addLoadEvent(function(){ _3e5=self.getElement(_3e5); if(_3e5){ _3e5.focus(); } }); },setElementClass:function(_3e7,_3e8){ var self=MochiKit.DOM; var obj=self.getElement(_3e7); if(self.attributeArray.compliant){ obj.setAttribute("class",_3e8); }else{ obj.setAttribute("className",_3e8); } },toggleElementClass:function(_3eb){ 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 _40e=[dom]; var self=MochiKit.DOM; var _410=self.escapeHTML; var _411=self.attributeArray; while(_40e.length){ dom=_40e.pop(); if(typeof (dom)=="string"){ lst.push(dom); }else{ if(dom.nodeType==1){ lst.push("<"+dom.tagName.toLowerCase()); var _412=[]; var _413=_411(dom); for(var i=0;i<_413.length;i++){ var a=_413[i]; _412.push([" ",a.name,"=\"",_410(a.value),"\""]); } _412.sort(); for(i=0;i<_412.length;i++){ var _416=_412[i]; for(var j=0;j<_416.length;j++){ lst.push(_416[j]); } } if(dom.hasChildNodes()){ lst.push(">"); _40e.push(""); var _418=dom.childNodes; for(i=_418.length-1;i>=0;i--){ _40e.push(_418[i]); } }else{ lst.push("/>"); } }else{ if(dom.nodeType==3){ lst.push(_410(dom.nodeValue)); } } } } return lst; },scrapeText:function(node,_41a){ var rval=[]; (function(node){ var cn=node.childNodes; if(cn){ for(var i=0;i0){ var _437=m.filter; _436=function(node){ return _437(_436.ignoreAttrFilter,node.attributes); }; _436.ignoreAttr={}; var _439=_435.attributes; var _43a=_436.ignoreAttr; for(var i=0;i<_439.length;i++){ var a=_439[i]; _43a[a.name]=a.value; } _436.ignoreAttrFilter=function(a){ return (_436.ignoreAttr[a.name]!=a.value); }; _436.compliant=false; _436.renames={"class":"className","checked":"defaultChecked","usemap":"useMap","for":"htmlFor","readonly":"readOnly","colspan":"colSpan","rowspan":"rowSpan","bgcolor":"bgColor","cellspacing":"cellSpacing","cellpadding":"cellPadding"}; }else{ _436=function(node){ return node.attributes; }; _436.compliant=true; _436.ignoreAttr={}; _436.renames={}; } _436.__export__=false; this.attributeArray=_436; 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 _43f=this.createDOMFunc; this.A=_43f("a"); this.ARTICLE=_43f("article"); this.ASIDE=_43f("aside"); this.BR=_43f("br"); this.BUTTON=_43f("button"); this.CANVAS=_43f("canvas"); this.CAPTION=_43f("caption"); this.DD=_43f("dd"); this.DIV=_43f("div"); this.DL=_43f("dl"); this.DT=_43f("dt"); this.FIELDSET=_43f("fieldset"); this.FIGURE=_43f("figure"); this.FIGCAPTION=_43f("figcaption"); this.FOOTER=_43f("footer"); this.FORM=_43f("form"); this.H1=_43f("h1"); this.H2=_43f("h2"); this.H3=_43f("h3"); this.H4=_43f("h4"); this.H5=_43f("h5"); this.H6=_43f("h6"); this.HEADER=_43f("header"); this.HGROUP=_43f("hgroup"); this.HR=_43f("hr"); this.IFRAME=_43f("iframe"); this.IMG=_43f("img"); this.INPUT=_43f("input"); this.LABEL=_43f("label"); this.LEGEND=_43f("legend"); this.LI=_43f("li"); this.LINK=_43f("link"); this.MARK=_43f("mark"); this.METER=_43f("meter"); this.NAV=_43f("nav"); this.OL=_43f("ol"); this.OPTGROUP=_43f("optgroup"); this.OPTION=_43f("option"); this.P=_43f("p"); this.PRE=_43f("pre"); this.PROGRESS=_43f("progress"); this.SCRIPT=_43f("script"); this.SECTION=_43f("section"); this.SELECT=_43f("select"); this.SPAN=_43f("span"); this.STRONG=_43f("strong"); this.STYLE=_43f("style"); this.TABLE=_43f("table"); this.TBODY=_43f("tbody"); this.TD=_43f("td"); this.TEXTAREA=_43f("textarea"); this.TFOOT=_43f("tfoot"); this.TH=_43f("th"); this.THEAD=_43f("thead"); this.TR=_43f("tr"); this.TT=_43f("tt"); this.UL=_43f("ul"); this.NBSP="\xa0"; 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(MochiKit,"Selector","1.5",["Base","DOM","Iter"]); MochiKit.Selector.Selector=function(_440){ this.params={classNames:[],pseudoClassNames:[]}; this.expression=_440.toString().replace(/(^\s+|\s+$)/g,""); this.parseExpression(); this.compileMatcher(); }; MochiKit.Selector.Selector.prototype={__class__:MochiKit.Selector.Selector,parseExpression:function(){ function abort(_441){ throw "Parse error in selector: "+_441; } if(this.expression==""){ abort("empty expression"); } var repr=MochiKit.Base.repr; var _443=this.params; var expr=this.expression; var _445,_446,_447,rest; while(_445=expr.match(/^(.*)\[([a-z0-9_:-]+?)(?:([~\|!^$*]?=)(?:"([^"]*)"|([^\]\s]*)))?\]$/i)){ _443.attributes=_443.attributes||[]; _443.attributes.push({name:_445[2],operator:_445[3],value:_445[4]||_445[5]||""}); expr=_445[1]; } if(expr=="*"){ return this.params.wildcard=true; } while(_445=expr.match(/^([^a-z0-9_-])?([a-z0-9_-]+(?:\([^)]*\))?)(.*)/i)){ _446=_445[1]; _447=_445[2]; rest=_445[3]; switch(_446){ case "#": _443.id=_447; break; case ".": _443.classNames.push(_447); break; case ":": _443.pseudoClassNames.push(_447); break; case "": case undefined: _443.tagName=_447.toUpperCase(); break; default: abort(repr(expr)); } expr=rest; } if(expr.length>0){ abort(repr(expr)); } },buildMatchExpression:function(){ var repr=MochiKit.Base.repr; var _44a=this.params; var _44b=[]; var _44c,i; function childElements(_44e){ return "MochiKit.Base.filter(function (node) { return node.nodeType == 1; }, "+_44e+".childNodes)"; } if(_44a.wildcard){ _44b.push("true"); } if(_44c=_44a.id){ _44b.push("element.id == "+repr(_44c)); } if(_44c=_44a.tagName){ _44b.push("element.tagName.toUpperCase() == "+repr(_44c)); } if((_44c=_44a.classNames).length>0){ for(i=0;i<_44c.length;i++){ _44b.push("MochiKit.DOM.hasElementClass(element, "+repr(_44c[i])+")"); } } if((_44c=_44a.pseudoClassNames).length>0){ for(i=0;i<_44c.length;i++){ var _44f=_44c[i].match(/^([^(]+)(?:\((.*)\))?$/); var _450=_44f[1]; var _451=_44f[2]; switch(_450){ case "root": _44b.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": _44f=_451.match(/^((?:(\d+)n\+)?(\d+)|odd|even)$/); if(!_44f){ throw "Invalid argument to pseudo element nth-child: "+_451; } var a,b; if(_44f[0]=="odd"){ a=2; b=1; }else{ if(_44f[0]=="even"){ a=2; b=0; }else{ a=_44f[2]&&parseInt(_44f,10)||null; b=parseInt(_44f[3],10); } } _44b.push("this.nthChild(element,"+a+","+b+","+!!_450.match("^nth-last")+","+!!_450.match("of-type$")+")"); break; case "first-child": _44b.push("this.nthChild(element, null, 1)"); break; case "last-child": _44b.push("this.nthChild(element, null, 1, true)"); break; case "first-of-type": _44b.push("this.nthChild(element, null, 1, false, true)"); break; case "last-of-type": _44b.push("this.nthChild(element, null, 1, true, true)"); break; case "only-child": _44b.push(childElements("element.parentNode")+".length == 1"); break; case "only-of-type": _44b.push("MochiKit.Base.filter(function (node) { return node.tagName == element.tagName; }, "+childElements("element.parentNode")+").length == 1"); break; case "empty": _44b.push("element.childNodes.length == 0"); break; case "enabled": _44b.push("(this.isUIElement(element) && element.disabled === false)"); break; case "disabled": _44b.push("(this.isUIElement(element) && element.disabled === true)"); break; case "checked": _44b.push("(this.isUIElement(element) && element.checked === true)"); break; case "not": var _454=new MochiKit.Selector.Selector(_451); _44b.push("!( "+_454.buildMatchExpression()+")"); break; } } } if(_44c=_44a.attributes){ MochiKit.Base.map(function(_455){ var _456="MochiKit.DOM.getNodeAttribute(element, "+repr(_455.name)+")"; var _457=function(_458){ return _456+".split("+repr(_458)+")"; }; _44b.push(_456+" != null"); switch(_455.operator){ case "=": _44b.push(_456+" == "+repr(_455.value)); break; case "~=": _44b.push("MochiKit.Base.findValue("+_457(" ")+", "+repr(_455.value)+") > -1"); break; case "^=": _44b.push(_456+".substring(0, "+_455.value.length+") == "+repr(_455.value)); break; case "$=": _44b.push(_456+".substring("+_456+".length - "+_455.value.length+") == "+repr(_455.value)); break; case "*=": _44b.push(_456+".match("+repr(_455.value)+")"); break; case "|=": _44b.push(_457("-")+"[0].toUpperCase() == "+repr(_455.value.toUpperCase())); break; case "!=": _44b.push(_456+" != "+repr(_455.value)); break; case "": case undefined: break; default: throw "Unknown operator "+_455.operator+" in selector"; } },_44c); } return _44b.join(" && "); },compileMatcher:function(){ var code="return (!element.tagName) ? false : "+this.buildMatchExpression()+";"; this.match=new Function("element",code); },nthChild:function(_45a,a,b,_45d,_45e){ var _45f=MochiKit.Base.filter(function(node){ return node.nodeType==1; },_45a.parentNode.childNodes); if(_45e){ _45f=MochiKit.Base.filter(function(node){ return node.tagName==_45a.tagName; },_45f); } if(_45d){ _45f=MochiKit.Iter.reversed(_45f); } if(a){ var _462=MochiKit.Base.findIdentical(_45f,_45a); return ((_462+1-b)/a)%1==0; }else{ return b==MochiKit.Base.findIdentical(_45f,_45a)+1; } },isUIElement:function(_463){ return MochiKit.Base.findValue(["input","button","select","option","textarea","object"],_463.tagName.toLowerCase())>-1; },findElements:function(_464,axis){ var _466; if(axis==undefined){ axis=""; } function inScope(_467,_468){ if(axis==""){ return MochiKit.DOM.isChildNode(_467,_468); }else{ if(axis==">"){ return _467.parentNode===_468; }else{ if(axis=="+"){ return _467===nextSiblingElement(_468); }else{ if(axis=="~"){ var _469=_468; while(_469=nextSiblingElement(_469)){ if(_467===_469){ return true; } } return false; }else{ throw "Invalid axis: "+axis; } } } } } if(_466=MochiKit.DOM.getElement(this.params.id)){ if(this.match(_466)){ if(!_464||inScope(_466,_464)){ return [_466]; } } } function nextSiblingElement(node){ node=node.nextSibling; while(node&&node.nodeType!=1){ node=node.nextSibling; } return node; } if(axis==""){ _464=(_464||MochiKit.DOM.currentDocument()).getElementsByTagName(this.params.tagName||"*"); }else{ if(axis==">"){ if(!_464){ throw "> combinator not allowed without preceeding expression"; } _464=MochiKit.Base.filter(function(node){ return node.nodeType==1; },_464.childNodes); }else{ if(axis=="+"){ if(!_464){ throw "+ combinator not allowed without preceeding expression"; } _464=nextSiblingElement(_464)&&[nextSiblingElement(_464)]; }else{ if(axis=="~"){ if(!_464){ throw "~ combinator not allowed without preceeding expression"; } var _46c=[]; while(nextSiblingElement(_464)){ _464=nextSiblingElement(_464); _46c.push(_464); } _464=_46c; } } } } if(!_464){ return []; } var _46d=MochiKit.Base.filter(MochiKit.Base.bind(function(_46e){ return this.match(_46e); },this),_464); return _46d; },repr:function(){ return "Selector("+this.expression+")"; },toString:MochiKit.Base.forwardCall("repr")}; MochiKit.Base.update(MochiKit.Selector,{findChildElements:function(_46f,_470){ _46f=MochiKit.DOM.getElement(_46f); var uniq=function(arr){ var res=[]; for(var i=0;i+~]$/); if(_47b){ _477=_47b[0]; return _479; }else{ var _47c=new MochiKit.Selector.Selector(expr); var _47d=MochiKit.Iter.reduce(function(_47e,_47f){ return MochiKit.Base.extend(_47e,_47c.findElements(_47f||_46f,_477)); },_479,[]); _477=""; return _47d; } }; var _480=_475.replace(/(^\s+|\s+$)/g,"").split(/\s+/); return uniq(MochiKit.Iter.reduce(_478,_480,[null])); },_470)); },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(MochiKit,"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,_488){ var dom=MochiKit.DOM; var d=dom._document; elem=dom.getElement(elem); _488=MochiKit.Base.camelize(_488); if(!elem||elem==d){ return undefined; } if(_488=="opacity"&&typeof (elem.filters)!="undefined"){ var _48b=(MochiKit.Style.getStyle(elem,"filter")||"").match(/alpha\(opacity=(.*)\)/); if(_48b&&_48b[1]){ return parseFloat(_48b[1])/100; } return 1; } if(_488=="float"||_488=="cssFloat"||_488=="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 _48c=elem.style?elem.style[_488]:null; if(!_48c){ if(d.defaultView&&d.defaultView.getComputedStyle){ var css=d.defaultView.getComputedStyle(elem,null); _488=_488.replace(/([A-Z])/g,"-$1").toLowerCase(); _48c=css?css.getPropertyValue(_488):null; }else{ if(elem.currentStyle){ _48c=elem.currentStyle[_488]; if(/^\d/.test(_48c)&&!/px$/.test(_48c)&&_488!="fontWeight"){ var left=elem.style.left; var _48f=elem.runtimeStyle.left; elem.runtimeStyle.left=elem.currentStyle.left; elem.style.left=_48c||0; _48c=elem.style.pixelLeft+"px"; elem.style.left=left; elem.runtimeStyle.left=_48f; } } } } if(_488=="opacity"){ _48c=parseFloat(_48c); } if(/Opera/.test(navigator.userAgent)&&(MochiKit.Base.findValue(["left","top","right","bottom"],_488)!=-1)){ if(MochiKit.Style.getStyle(elem,"position")=="static"){ _48c="auto"; } } return _48c=="auto"?null:_48c; },setStyle:function(elem,_491){ elem=MochiKit.DOM.getElement(elem); for(var name in _491){ switch(name){ case "opacity": MochiKit.Style.setOpacity(elem,_491[name]); break; case "float": case "cssFloat": case "styleFloat": if(typeof (elem.style["float"])!="undefined"){ elem.style["float"]=_491[name]; }else{ if(typeof (elem.style.cssFloat)!="undefined"){ elem.style.cssFloat=_491[name]; }else{ elem.style.styleFloat=_491[name]; } } break; default: elem.style[MochiKit.Base.camelize(name)]=_491[name]; } } },setOpacity:function(elem,o){ elem=MochiKit.DOM.getElement(elem); var self=MochiKit.Style; if(o==1){ var _496=/Gecko/.test(navigator.userAgent)&&!(/Konqueror|AppleWebKit|KHTML/.test(navigator.userAgent)); elem.style["opacity"]=_496?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,_498){ var self=MochiKit.Style; var dom=MochiKit.DOM; var _49b=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||(!_49b(elem)&&self.getStyle(elem,"display")=="none")){ return undefined; } var c=new self.Coordinates(0,0); var box=null; var _49f=null; var d=MochiKit.DOM._document; var de=d.documentElement; var b=d.body; if(_49b(elem)){ 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; _49f=elem.offsetParent; if(_49f!=elem){ while(_49f){ c.x+=parseInt(_49f.style.borderLeftWidth,10)||0; c.y+=parseInt(_49f.style.borderTopWidth,10)||0; c.x+=_49f.offsetLeft; c.y+=_49f.offsetTop; _49f=_49f.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){ _49f=elem.parentNode; }else{ _49f=null; } while(_49f){ var _4a4=_49f.tagName.toUpperCase(); if(_4a4==="BODY"||_4a4==="HTML"){ break; } var disp=self.getStyle(_49f,"display"); if(disp.search(/^inline|table-row.*$/i)){ c.x-=_49f.scrollLeft; c.y-=_49f.scrollTop; } if(_49f.parentNode){ _49f=_49f.parentNode; }else{ _49f=null; } } } } } if(_498){ _498=arguments.callee(_498); if(_498){ c.x-=(_498.x||0); c.y-=(_498.y||0); } } return c; },setElementPosition:function(elem,_4a7,_4a8){ elem=MochiKit.DOM.getElement(elem); if(typeof (_4a8)=="undefined"){ _4a8="px"; } var _4a9={}; var _4aa=MochiKit.Base.isUndefinedOrNull; if(!_4aa(_4a7.x)){ _4a9["left"]=_4a7.x+_4a8; } if(!_4aa(_4a7.y)){ _4a9["top"]=_4a7.y+_4a8; } MochiKit.DOM.updateNodeAttributes(elem,{"style":_4a9}); },makePositioned:function(_4ab){ _4ab=MochiKit.DOM.getElement(_4ab); var pos=MochiKit.Style.getStyle(_4ab,"position"); if(pos=="static"||!pos){ _4ab.style.position="relative"; if(/Opera/.test(navigator.userAgent)){ _4ab.style.top=0; _4ab.style.left=0; } } },undoPositioned:function(_4ad){ _4ad=MochiKit.DOM.getElement(_4ad); if(_4ad.style.position=="relative"){ _4ad.style.position=_4ad.style.top=_4ad.style.left=_4ad.style.bottom=_4ad.style.right=""; } },makeClipping:function(_4ae){ _4ae=MochiKit.DOM.getElement(_4ae); var s=_4ae.style; var _4b0={"overflow":s.overflow,"overflow-x":s.overflowX,"overflow-y":s.overflowY}; if((MochiKit.Style.getStyle(_4ae,"overflow")||"visible")!="hidden"){ _4ae.style.overflow="hidden"; _4ae.style.overflowX="hidden"; _4ae.style.overflowY="hidden"; } return _4b0; },undoClipping:function(_4b1,_4b2){ _4b1=MochiKit.DOM.getElement(_4b1); if(typeof (_4b2)=="string"){ _4b1.style.overflow=_4b2; }else{ if(_4b2!=null){ _4b1.style.overflow=_4b2["overflow"]; _4b1.style.overflowX=_4b2["overflow-x"]; _4b1.style.overflowY=_4b2["overflow-y"]; } } },getElementDimensions:function(elem,_4b4){ 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 _4b9=s.visibility; var _4ba=s.position; var _4bb=s.display; s.visibility="hidden"; s.position="absolute"; s.display=self._getDefaultDisplay(elem); var _4bc=elem.offsetWidth; var _4bd=elem.offsetHeight; s.display=_4bb; s.position=_4ba; s.visibility=_4b9; }else{ _4bc=elem.offsetWidth||0; _4bd=elem.offsetHeight||0; } if(_4b4){ var _4be="colSpan" in elem&&"rowSpan" in elem; var _4bf=(_4be&&elem.parentNode&&self.getStyle(elem.parentNode,"borderCollapse")=="collapse"); if(_4bf){ if(/MSIE/.test(navigator.userAgent)){ var _4c0=elem.previousSibling?0.5:1; var _4c1=elem.nextSibling?0.5:1; }else{ var _4c0=0.5; var _4c1=0.5; } }else{ var _4c0=1; var _4c1=1; } _4bc-=Math.round((parseFloat(self.getStyle(elem,"paddingLeft"))||0)+(parseFloat(self.getStyle(elem,"paddingRight"))||0)+_4c0*(parseFloat(self.getStyle(elem,"borderLeftWidth"))||0)+_4c1*(parseFloat(self.getStyle(elem,"borderRightWidth"))||0)); if(_4be){ if(/Opera/.test(navigator.userAgent)&&!/Konqueror|AppleWebKit|KHTML/.test(navigator.userAgent)){ var _4c2=0; }else{ if(/MSIE/.test(navigator.userAgent)){ var _4c2=1; }else{ var _4c2=_4bf?0.5:1; } } }else{ var _4c2=1; } _4bd-=Math.round((parseFloat(self.getStyle(elem,"paddingTop"))||0)+(parseFloat(self.getStyle(elem,"paddingBottom"))||0)+_4c2*((parseFloat(self.getStyle(elem,"borderTopWidth"))||0)+(parseFloat(self.getStyle(elem,"borderBottomWidth"))||0))); } return new self.Dimensions(_4bc,_4bd); },setElementDimensions:function(elem,_4c4,_4c5){ elem=MochiKit.DOM.getElement(elem); if(typeof (_4c5)=="undefined"){ _4c5="px"; } var _4c6={}; var _4c7=MochiKit.Base.isUndefinedOrNull; if(!_4c7(_4c4.w)){ _4c6["width"]=_4c4.w+_4c5; } if(!_4c7(_4c4.h)){ _4c6["height"]=_4c4.h+_4c5; } MochiKit.DOM.updateNodeAttributes(elem,{"style":_4c6}); },_getDefaultDisplay:function(elem){ var self=MochiKit.Style; var dom=MochiKit.DOM; elem=dom.getElement(elem); if(!elem){ return undefined; } var _4cb=elem.tagName.toUpperCase(); return self._defaultDisplay[_4cb]||"block"; },setDisplayForElement:function(_4cc,_4cd){ var _4ce=MochiKit.Base.extend(null,arguments,1); var _4cf=MochiKit.DOM.getElement; for(var i=0;i<_4ce.length;i++){ _4cd=_4cf(_4ce[i]); if(_4cd){ _4cd.style.display=_4cc; } } },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 _4d9=["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<_4d9.length;i++){ this._defaultDisplay[_4d9[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(MochiKit,"LoggingPane","1.5",["Base","Logging"]); MochiKit.LoggingPane.createLoggingPane=function(_4dd){ var m=MochiKit.LoggingPane; _4dd=!(!_4dd); if(m._loggingPane&&m._loggingPane.inline!=_4dd){ m._loggingPane.closePane(); m._loggingPane=null; } if(!m._loggingPane||m._loggingPane.closed){ m._loggingPane=new m.LoggingPane(_4dd,MochiKit.Logging.logger); } return m._loggingPane; }; MochiKit.LoggingPane.LoggingPane=function(_4df,_4e0){ if(typeof (_4e0)=="undefined"||_4e0===null){ _4e0=MochiKit.Logging.logger; } this.logger=_4e0; var _4e1=MochiKit.Base.update; var _4e2=MochiKit.Base.updatetree; var bind=MochiKit.Base.bind; var _4e4=MochiKit.Base.clone; var win=window; var uid="_MochiKit_LoggingPane"; if(typeof (MochiKit.DOM)!="undefined"){ win=MochiKit.DOM.currentWindow(); } if(!_4df){ 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 _4eb=doc.getElementById(uid); var _4ec=!!_4eb; if(_4eb&&typeof (_4eb.loggingPane)!="undefined"){ _4eb.loggingPane.logger=this.logger; _4eb.loggingPane.buildAndApplyFilter(); return _4eb.loggingPane; } if(_4ec){ var _4ed; while((_4ed=_4eb.firstChild)){ _4eb.removeChild(_4ed); } }else{ _4eb=doc.createElement("div"); _4eb.id=uid; } _4eb.loggingPane=this; var _4ee=doc.createElement("input"); var _4ef=doc.createElement("input"); var _4f0=doc.createElement("button"); var _4f1=doc.createElement("button"); var _4f2=doc.createElement("button"); var _4f3=doc.createElement("button"); var _4f4=doc.createElement("div"); var _4f5=doc.createElement("div"); var _4f6=uid+"_Listener"; this.colorTable=_4e4(this.colorTable); var _4f7=[]; var _4f8=null; var _4f9=function(msg){ var _4fb=msg.level; if(typeof (_4fb)=="number"){ _4fb=MochiKit.Logging.LogLevel[_4fb]; } return _4fb; }; var _4fc=function(msg){ return msg.info.join(" "); }; var _4fe=bind(function(msg){ var _500=_4f9(msg); var text=_4fc(msg); var c=this.colorTable[_500]; var p=doc.createElement("span"); p.className="MochiKit-LogMessage MochiKit-LogLevel-"+_500; 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(_500+": "+text)); _4f5.appendChild(p); _4f5.appendChild(doc.createElement("br")); if(_4f4.offsetHeight>_4f4.scrollHeight){ _4f4.scrollTop=0; }else{ _4f4.scrollTop=_4f4.scrollHeight; } },this); var _504=function(msg){ _4f7[_4f7.length]=msg; _4fe(msg); }; var _506=function(){ var _507,_508; try{ _507=new RegExp(_4ee.value); _508=new RegExp(_4ef.value); } catch(e){ MochiKit.Logging.logDebug("Error in filter regex: "+e.message); return null; } return function(msg){ return (_507.test(_4f9(msg))&&_508.test(_4fc(msg))); }; }; var _50a=function(){ while(_4f5.firstChild){ _4f5.removeChild(_4f5.firstChild); } }; var _50b=function(){ _4f7=[]; _50a(); }; var _50c=bind(function(){ if(this.closed){ return; } this.closed=true; if(MochiKit.LoggingPane._loggingPane==this){ MochiKit.LoggingPane._loggingPane=null; } this.logger.removeListener(_4f6); try{ try{ _4eb.loggingPane=null; } catch(e){ MochiKit.Logging.logFatal("Bookmarklet was closed incorrectly."); } if(_4df){ _4eb.parentNode.removeChild(_4eb); }else{ this.win.close(); } } catch(e){ } },this); var _50d=function(){ _50a(); for(var i=0;i<_4f7.length;i++){ var msg=_4f7[i]; if(_4f8===null||_4f8(msg)){ _4fe(msg); } } }; this.buildAndApplyFilter=function(){ _4f8=_506(); _50d(); this.logger.removeListener(_4f6); this.logger.addListener(_4f6,_4f8,_504); }; var _510=bind(function(){ _4f7=this.logger.getMessages(); _50d(); },this); var _511=bind(function(_512){ _512=_512||window.event; var key=_512.which||_512.keyCode; if(key==13){ this.buildAndApplyFilter(); } },this); var _514="display: block; z-index: 1000; left: 0px; bottom: 0px; position: fixed; width: 100%; background-color: white; font: "+this.logFont; if(_4df){ _514+="; height: 10em; border-top: 2px solid black"; }else{ _514+="; height: 100%;"; } _4eb.style.cssText=_514; if(!_4ec){ doc.body.appendChild(_4eb); } _514={"cssText":"width: 33%; display: inline; font: "+this.logFont}; _4e2(_4ee,{"value":"FATAL|ERROR|WARNING|INFO|DEBUG","onkeypress":_511,"style":_514}); _4eb.appendChild(_4ee); _4e2(_4ef,{"value":".*","onkeypress":_511,"style":_514}); _4eb.appendChild(_4ef); _514="width: 8%; display:inline; font: "+this.logFont; _4f0.appendChild(doc.createTextNode("Filter")); _4f0.onclick=bind("buildAndApplyFilter",this); _4f0.style.cssText=_514; _4eb.appendChild(_4f0); _4f1.appendChild(doc.createTextNode("Load")); _4f1.onclick=_510; _4f1.style.cssText=_514; _4eb.appendChild(_4f1); _4f2.appendChild(doc.createTextNode("Clear")); _4f2.onclick=_50b; _4f2.style.cssText=_514; _4eb.appendChild(_4f2); _4f3.appendChild(doc.createTextNode("Close")); _4f3.onclick=_50c; _4f3.style.cssText=_514; _4eb.appendChild(_4f3); _4f4.style.cssText="overflow: auto; width: 100%"; _4f5.style.cssText="width: 100%; height: "+(_4df?"8em":"100%"); _4f4.appendChild(_4f5); _4eb.appendChild(_4f4); this.buildAndApplyFilter(); _510(); if(_4df){ this.win=undefined; }else{ this.win=win; } this.inline=_4df; this.closePane=_50c; 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(MochiKit,"Color","1.5",["Base","DOM","Style"]); MochiKit.Color.Color=function(red,_516,blue,_518){ if(typeof (_518)=="undefined"||_518===null){ _518=1; } this.rgb={r:red,g:_516,b:blue,a:_518}; }; MochiKit.Color.Color.prototype={__class__:MochiKit.Color.Color,colorWithAlpha:function(_519){ var rgb=this.rgb; var m=MochiKit.Color; return m.Color.fromRGB(rgb.r,rgb.g,rgb.b,_519); },colorWithHue:function(hue){ var hsl=this.asHSL(); hsl.h=hue; var m=MochiKit.Color; return m.Color.fromHSL(hsl); },colorWithSaturation:function(_51f){ var hsl=this.asHSL(); hsl.s=_51f; var m=MochiKit.Color; return m.Color.fromHSL(hsl); },colorWithLightness:function(_522){ var hsl=this.asHSL(); hsl.l=_522; var m=MochiKit.Color; return m.Color.fromHSL(hsl); },darkerColorWithLevel:function(_525){ var hsl=this.asHSL(); hsl.l=Math.max(hsl.l-_525,0); var m=MochiKit.Color; return m.Color.fromHSL(hsl); },lighterColorWithLevel:function(_528){ var hsl=this.asHSL(); hsl.l=Math.min(hsl.l+_528,1); var m=MochiKit.Color; return m.Color.fromHSL(hsl); },blendedColor:function(_52b,_52c){ if(typeof (_52c)=="undefined"||_52c===null){ _52c=0.5; } var sf=1-_52c; var s=this.rgb; var d=_52b.rgb; var df=_52c; 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(_531){ var a=this.asRGB(); var b=_531.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,_548,blue,_54a){ var _54b=MochiKit.Color.Color; if(arguments.length==1){ var rgb=red; red=rgb.r; _548=rgb.g; blue=rgb.b; if(typeof (rgb.a)=="undefined"){ _54a=undefined; }else{ _54a=rgb.a; } } return new _54b(red,_548,blue,_54a); },fromHSL:function(hue,_54e,_54f,_550){ var m=MochiKit.Color; return m.Color.fromRGB(m.hslToRGB.apply(m,arguments)); },fromHSV:function(hue,_553,_554,_555){ var m=MochiKit.Color; return m.Color.fromRGB(m.hsvToRGB.apply(m,arguments)); },fromName:function(name){ var _558=MochiKit.Color.Color; if(name.charAt(0)=="\""){ name=name.substr(1,name.length-2); } var _559=_558._namedColors[name.toLowerCase()]; if(typeof (_559)=="string"){ return _558.fromHexString(_559); }else{ if(name=="transparent"){ return _558.transparentColor(); } } return null; },fromString:function(_55a){ var self=MochiKit.Color.Color; var _55c=_55a.substr(0,3); if(_55c=="rgb"){ return self.fromRGBString(_55a); }else{ if(_55c=="hsl"){ return self.fromHSLString(_55a); }else{ if(_55a.charAt(0)=="#"){ return self.fromHexString(_55a); } } } return self.fromName(_55a); },fromHexString:function(_55d){ if(_55d.charAt(0)=="#"){ _55d=_55d.substring(1); } var _55e=[]; var i,hex; if(_55d.length==3){ for(i=0;i<3;i++){ hex=_55d.substr(i,1); _55e.push(parseInt(hex+hex,16)/255); } }else{ for(i=0;i<6;i+=2){ hex=_55d.substr(i,2); _55e.push(parseInt(hex,16)/255); } } var _561=MochiKit.Color.Color; return _561.fromRGB.apply(_561,_55e); },_fromColorString:function(pre,_563,_564,_565){ if(_565.indexOf(pre)===0){ _565=_565.substring(_565.indexOf("(",3)+1,_565.length-1); } var _566=_565.split(/\s*,\s*/); var _567=[]; for(var i=0;i<_566.length;i++){ var c=_566[i]; var val; var _56b=c.substring(c.length-3); if(c.charAt(c.length-1)=="%"){ val=0.01*parseFloat(c.substring(0,c.length-1)); }else{ if(_56b=="deg"){ val=parseFloat(c)/360; }else{ if(_56b=="rad"){ val=parseFloat(c)/(Math.PI*2); }else{ val=_564[i]*parseFloat(c); } } } _567.push(val); } return this[_563].apply(this,_567); },fromComputedStyle:function(elem,_56d){ var d=MochiKit.DOM; var cls=MochiKit.Color.Color; for(elem=d.getElement(elem);elem;elem=elem.parentNode){ var _570=MochiKit.Style.getStyle.apply(d,arguments); if(!_570){ continue; } var _571=cls.fromString(_570); if(!_571){ break; } if(_571.asRGB().a>0){ return _571; } } 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,_577){ v*=_577; if(v<0){ return 0; }else{ if(v>_577){ return _577; }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,_57d,_57e,_57f){ if(arguments.length==1){ var hsv=hue; hue=hsv.h; _57d=hsv.s; _57e=hsv.v; _57f=hsv.a; } var red; var _582; var blue; if(_57d===0){ red=_57e; _582=_57e; blue=_57e; }else{ var i=Math.floor(hue*6); var f=(hue*6)-i; var p=_57e*(1-_57d); var q=_57e*(1-(_57d*f)); var t=_57e*(1-(_57d*(1-f))); switch(i){ case 1: red=q; _582=_57e; blue=p; break; case 2: red=p; _582=_57e; blue=t; break; case 3: red=p; _582=q; blue=_57e; break; case 4: red=t; _582=p; blue=_57e; break; case 5: red=_57e; _582=p; blue=q; break; case 6: case 0: red=_57e; _582=t; blue=p; break; } } return {r:red,g:_582,b:blue,a:_57f}; },hslToRGB:function(hue,_58a,_58b,_58c){ if(arguments.length==1){ var hsl=hue; hue=hsl.h; _58a=hsl.s; _58b=hsl.l; _58c=hsl.a; } var red; var _58f; var blue; if(_58a===0){ red=_58b; _58f=_58b; blue=_58b; }else{ var m2; if(_58b<=0.5){ m2=_58b*(1+_58a); }else{ m2=_58b+_58a-(_58b*_58a); } var m1=(2*_58b)-m2; var f=MochiKit.Color._hslValue; var h6=hue*6; red=f(m1,m2,h6+2); _58f=f(m1,m2,h6); blue=f(m1,m2,h6-2); } return {r:red,g:_58f,b:blue,a:_58c}; },rgbToHSV:function(red,_596,blue,_598){ if(arguments.length==1){ var rgb=red; red=rgb.r; _596=rgb.g; blue=rgb.b; _598=rgb.a; } var max=Math.max(Math.max(red,_596),blue); var min=Math.min(Math.min(red,_596),blue); var hue; var _59d; var _59e=max; if(min==max){ hue=0; _59d=0; }else{ var _59f=(max-min); _59d=_59f/max; if(red==max){ hue=(_596-blue)/_59f; }else{ if(_596==max){ hue=2+((blue-red)/_59f); }else{ hue=4+((red-_596)/_59f); } } hue/=6; if(hue<0){ hue+=1; } if(hue>1){ hue-=1; } } return {h:hue,s:_59d,v:_59e,a:_598}; },rgbToHSL:function(red,_5a1,blue,_5a3){ if(arguments.length==1){ var rgb=red; red=rgb.r; _5a1=rgb.g; blue=rgb.b; _5a3=rgb.a; } var max=Math.max(red,Math.max(_5a1,blue)); var min=Math.min(red,Math.min(_5a1,blue)); var hue; var _5a8; var _5a9=(max+min)/2; var _5aa=max-min; if(_5aa===0){ hue=0; _5a8=0; }else{ if(_5a9<=0.5){ _5a8=_5aa/(max+min); }else{ _5a8=_5aa/(2-max-min); } if(red==max){ hue=(_5a1-blue)/_5aa; }else{ if(_5a1==max){ hue=2+((blue-red)/_5aa); }else{ hue=4+((red-_5a1)/_5aa); } } hue/=6; if(hue<0){ hue+=1; } if(hue>1){ hue-=1; } } return {h:hue,s:_5a8,l:_5a9,a:_5a3}; },toColorPart:function(num){ num=Math.round(num); var _5ac=num.toString(16); if(num<16){ return "0"+_5ac; } return _5ac; },__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 _5ae=1/3; var _5af={black:[0,0,0],blue:[0,0,1],brown:[0.6,0.4,0.2],cyan:[0,1,1],darkGray:[_5ae,_5ae,_5ae],gray:[0.5,0.5,0.5],green:[0,1,0],lightGray:[2*_5ae,2*_5ae,2*_5ae],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 _5af){ var name=k+"Color"; var _5b2=this.Color.fromRGB.apply(this.Color,_5af[k]); this.Color[name]=m.partial(m.operator.identity,_5b2); } var _5b3=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=_5fd.length-1;i>=0;i--){ var o=_5fd[i]; if(o.source===src&&o.signal===sig&&o.objOrFunc===obj&&o.funcOrStr===func){ self._disconnect(o); if(self._lock===0){ _5fd.splice(i,1); }else{ self._dirty=true; } return true; } } }else{ var idx=m.findIdentical(_5fd,_5fb); if(idx>=0){ self._disconnect(_5fb); if(self._lock===0){ _5fd.splice(idx,1); }else{ self._dirty=true; } return true; } } return false; },disconnectAllTo:function(_606,_607){ var self=MochiKit.Signal; var _609=self._observers; var _60a=self._disconnect; var lock=self._lock; var _60c=self._dirty; if(typeof (_607)==="undefined"){ _607=null; } for(var i=_609.length-1;i>=0;i--){ var _60e=_609[i]; if(_60e.objOrFunc===_606&&(_607===null||_60e.funcOrStr===_607)){ _60a(_60e); if(lock===0){ _609.splice(i,1); }else{ _60c=true; } } } self._dirty=_60c; },disconnectAll:function(src,sig){ if(typeof (src)=="string"){ src=MochiKit.DOM.getElement(src); } var m=MochiKit.Base; var _612=m.flattenArguments(m.extend(null,arguments,1)); var self=MochiKit.Signal; var _614=self._disconnect; var _615=self._observers; var i,_617; var lock=self._lock; var _619=self._dirty; if(_612.length===0){ for(i=_615.length-1;i>=0;i--){ _617=_615[i]; if(_617.source===src){ _614(_617); if(lock===0){ _615.splice(i,1); }else{ _619=true; } } } }else{ var sigs={}; for(i=0;i<_612.length;i++){ sigs[_612[i]]=true; } for(i=_615.length-1;i>=0;i--){ _617=_615[i]; if(_617.source===src&&_617.signal in sigs){ _614(_617); if(lock===0){ _615.splice(i,1); }else{ _619=true; } } } } self._dirty=_619; },signal:function(src,sig){ var self=MochiKit.Signal; var _61e=self._observers; if(typeof (src)=="string"){ src=MochiKit.DOM.getElement(src); } var args=MochiKit.Base.extend(null,arguments,2); var _620=[]; self._lock++; for(var i=0;i<_61e.length;i++){ var _622=_61e[i]; if(_622.source===src&&_622.signal===sig&&_622.connected){ try{ if(_622.isDOM&&_622.funcOrStr!=null){ var obj=_622.objOrFunc; obj[_622.funcOrStr].apply(obj,args); }else{ if(_622.isDOM){ _622.objOrFunc.apply(src,args); }else{ _622.listener.apply(src,args); } } } catch(e){ _620.push(e); } } } self._lock--; if(self._lock===0&&self._dirty){ self._dirty=false; for(var i=_61e.length-1;i>=0;i--){ if(!_61e[i].connected){ _61e.splice(i,1); } } } if(_620.length==1){ throw _620[0]; }else{ if(_620.length>1){ var e=new Error("Multiple errors thrown in handling 'sig', see errors property"); e.errors=_620; 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(MochiKit,"Position","1.5",["Base","DOM","Style"]); MochiKit.Base.update(MochiKit.Position,{__export__:false,includeScrollOffsets:false,prepare:function(){ var _627=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0; var _628=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0; this.windowOffset=new MochiKit.Style.Coordinates(_627,_628); },cumulativeOffset:function(_629){ var _62a=0; var _62b=0; do{ _62a+=_629.offsetTop||0; _62b+=_629.offsetLeft||0; _629=_629.offsetParent; }while(_629); return new MochiKit.Style.Coordinates(_62b,_62a); },realOffset:function(_62c){ var _62d=0; var _62e=0; do{ _62d+=_62c.scrollTop||0; _62e+=_62c.scrollLeft||0; _62c=_62c.parentNode; }while(_62c); return new MochiKit.Style.Coordinates(_62e,_62d); },within:function(_62f,x,y){ if(this.includeScrollOffsets){ return this.withinIncludingScrolloffsets(_62f,x,y); } this.xcomp=x; this.ycomp=y; this.offset=this.cumulativeOffset(_62f); if(_62f.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,_661,_662){ var _663=this._createCorner(_662); for(var i=0;i=0;i--){ _668.appendChild(this._createCornerSlice(_666,_667,i,"bottom")); } el.style.paddingBottom=0; el.appendChild(_668); },_createCorner:function(_66a){ var dom=MochiKit.DOM; return dom.DIV({style:{backgroundColor:_66a.toString()}}); },_createCornerSlice:function(_66c,_66d,n,_66f){ var _670=MochiKit.DOM.SPAN(); var _671=_670.style; _671.backgroundColor=_66c.toString(); _671.display="block"; _671.height="1px"; _671.overflow="hidden"; _671.fontSize="1px"; var _672=this._borderColor(_66c,_66d); if(this.options.border&&n===0){ _671.borderTopStyle="solid"; _671.borderTopWidth="1px"; _671.borderLeftWidth="0px"; _671.borderRightWidth="0px"; _671.borderBottomWidth="0px"; _671.height="0px"; _671.borderColor=_672.toString(); }else{ if(_672){ _671.borderColor=_672.toString(); _671.borderStyle="solid"; _671.borderWidth="0px 1px"; } } if(!this.options.compact&&(n==(this.options.numSlices-1))){ _671.height="2px"; } this._setMargin(_670,n,_66f); this._setBorder(_670,n,_66f); return _670; },_setOptions:function(_673){ this.options={corners:"all",color:"fromElement",bgColor:"fromParent",blend:true,border:false,compact:false,__unstable__wrapElement:false}; MochiKit.Base.update(this.options,_673); this.options.numSlices=(this.options.compact?2:4); },_whichSideTop:function(){ var _674=this.options.corners; if(this._hasString(_674,"all","top")){ return ""; } var _675=(_674.indexOf("tl")!=-1); var _676=(_674.indexOf("tr")!=-1); if(_675&&_676){ return ""; } if(_675){ return "left"; } if(_676){ return "right"; } return ""; },_whichSideBottom:function(){ var _677=this.options.corners; if(this._hasString(_677,"all","bottom")){ return ""; } var _678=(_677.indexOf("bl")!=-1); var _679=(_677.indexOf("br")!=-1); if(_678&&_679){ return ""; } if(_678){ return "left"; } if(_679){ return "right"; } return ""; },_borderColor:function(_67a,_67b){ if(_67a=="transparent"){ return _67b; }else{ if(this.options.border){ return this.options.border; }else{ if(this.options.blend){ return _67b.blendedColor(_67a); } } } return ""; },_setMargin:function(el,n,_67e){ var _67f=this._marginSize(n)+"px"; var _680=(_67e=="top"?this._whichSideTop():this._whichSideBottom()); var _681=el.style; if(_680=="left"){ _681.marginLeft=_67f; _681.marginRight="0px"; }else{ if(_680=="right"){ _681.marginRight=_67f; _681.marginLeft="0px"; }else{ _681.marginLeft=_67f; _681.marginRight=_67f; } } },_setBorder:function(el,n,_684){ var _685=this._borderSize(n)+"px"; var _686=(_684=="top"?this._whichSideTop():this._whichSideBottom()); var _687=el.style; if(_686=="left"){ _687.borderLeftWidth=_685; _687.borderRightWidth="0px"; }else{ if(_686=="right"){ _687.borderRightWidth=_685; _687.borderLeftWidth="0px"; }else{ _687.borderLeftWidth=_685; _687.borderRightWidth=_685; } } },_marginSize:function(n){ if(this.isTransparent){ return 0; } var o=this.options; if(o.compact&&o.blend){ var _68a=[1,0]; return _68a[n]; }else{ if(o.compact){ var _68b=[2,1]; return _68b[n]; }else{ if(o.blend){ var _68c=[3,2,1,0]; return _68c[n]; }else{ var _68d=[5,3,2,1]; return _68d[n]; } } } },_borderSize:function(n){ var o=this.options; var _690; if(o.compact&&(o.blend||this.isTransparent)){ return 1; }else{ if(o.compact){ _690=[1,0]; }else{ if(o.blend){ _690=[2,1,1,1]; }else{ if(o.border){ _690=[0,2,0,0]; }else{ if(this.isTransparent){ _690=[5,3,2,1]; }else{ return 0; } } } } } return _690[n]; },_hasString:function(str){ for(var i=1;i=(_6be||i)){ _6be=i; } },this.effects); _6ba=_6be||_6ba; break; case "break": ma(function(e){ e.finalize(); },this.effects); break; case "replace": ma(function(e){ e.cancel(); },this.effects); break; } _6b9.startOn+=_6ba; _6b9.finishOn+=_6ba; if(!_6b9.options.queue.limit||this.effects.length<_6b9.options.queue.limit){ this.effects.push(_6b9); } if(!this.interval){ this.interval=this.startLoop(MochiKit.Base.bind(this.loop,this),40); } },startLoop:function(func,_6c4){ return setInterval(func,_6c4); },remove:function(_6c5){ this.effects=MochiKit.Base.filter(function(e){ return e!=_6c5; },this.effects); if(!this.effects.length){ this.stopLoop(this.interval); this.interval=null; } },stopLoop:function(_6c7){ clearInterval(_6c7); },loop:function(){ var _6c8=new Date().getTime(); MochiKit.Base.map(function(_6c9){ _6c9.loop(_6c8); },this.effects); }}); MochiKit.Visual.Queues={__export__:false,instances:{},get:function(_6ca){ if(typeof (_6ca)!="string"){ return _6ca; } if(!this.instances[_6ca]){ this.instances[_6ca]=new MochiKit.Visual.ScopedQueue(); } return this.instances[_6ca]; }}; 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(_6cb){ var v=MochiKit.Visual; this.options=MochiKit.Base.setdefault(_6cb,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(_6cd){ if(_6cd>=this.startOn){ if(_6cd>=this.finishOn){ return this.finalize(); } var pos=(_6cd-this.startOn)/(this.finishOn-this.startOn); var _6cf=Math.round(pos*this.options.fps*this.options.duration); if(_6cf>this.currentFrame){ this.render(pos); this.currentFrame=_6cf; } } },render:function(pos){ if(this.state=="idle"){ this.state="running"; this.event("beforeSetup"); this.setup(); this.event("afterSetup"); } if(this.state=="running"){ var _6d1=this.options.transition; if(typeof (_6d1)=="string"){ _6d1=MochiKit.Visual.Transitions[_6d1]; } if(typeof (_6d1)=="function"){ pos=_6d1(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(_6d2){ },event:function(_6d3){ if(this.options[_6d3+"Internal"]){ this.options[_6d3+"Internal"](this); } if(this.options[_6d3]){ this.options[_6d3](this); } },repr:function(){ return "["+this.__class__.NAME+", options:"+MochiKit.Base.repr(this.options)+"]"; }}; MochiKit.Visual.Parallel=function(_6d4,_6d5){ var cls=arguments.callee; if(!(this instanceof cls)){ return new cls(_6d4,_6d5); } this.__init__(_6d4,_6d5); }; MochiKit.Visual.Parallel.prototype=new MochiKit.Visual.Base(); MochiKit.Base.update(MochiKit.Visual.Parallel.prototype,{__class__:MochiKit.Visual.Parallel,__init__:function(_6d7,_6d8){ this.effects=_6d7||[]; this.start(_6d8); },update:function(_6d9){ MochiKit.Base.map(function(_6da){ _6da.render(_6d9); },this.effects); },finish:function(){ MochiKit.Base.map(function(_6db){ _6db.finalize(); },this.effects); }}); MochiKit.Visual.Sequence=function(_6dc,_6dd){ var cls=arguments.callee; if(!(this instanceof cls)){ return new cls(_6dc,_6dd); } this.__init__(_6dc,_6dd); }; MochiKit.Visual.Sequence.prototype=new MochiKit.Visual.Base(); MochiKit.Base.update(MochiKit.Visual.Sequence.prototype,{__class__:MochiKit.Visual.Sequence,__init__:function(_6df,_6e0){ var defs={transition:MochiKit.Visual.Transitions.linear,duration:0}; this.effects=_6df||[]; MochiKit.Base.map(function(_6e2){ defs.duration+=_6e2.options.duration; },this.effects); MochiKit.Base.setdefault(_6e0,defs); this.start(_6e0); },update:function(_6e3){ var time=_6e3*this.options.duration; for(var i=0;i0){ this.fontSize=parseFloat(_703); this.fontSizeType=_704; } },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(_705){ var _706=(this.options.scaleFrom/100)+(this.factor*_705); if(this.options.scaleContent&&this.fontSize){ MochiKit.Style.setStyle(this.element,{fontSize:this.fontSize*_706+this.fontSizeType}); } this.setDimensions(this.dims[0]*_706,this.dims[1]*_706); },finish:function(){ if(this.restoreAfterFinish){ MochiKit.Style.setStyle(this.element,this.originalStyle); } },setDimensions:function(_707,_708){ var d={}; var r=Math.round; if(/MSIE/.test(navigator.userAgent)){ r=Math.ceil; } if(this.options.scaleX){ d.width=r(_708)+"px"; } if(this.options.scaleY){ d.height=r(_707)+"px"; } if(this.options.scaleFromCenter){ var topd=(_707-this.dims[0])/2; var _70c=(_708-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-_70c+"px"; } }else{ if(this.options.scaleY){ d.top=-topd+"px"; } if(this.options.scaleX){ d.left=-_70c+"px"; } } } MochiKit.Style.setStyle(this.element,d); }}); MochiKit.Visual.Highlight=function(_70d,_70e){ var cls=arguments.callee; if(!(this instanceof cls)){ return new cls(_70d,_70e); } this.__init__(_70d,_70e); }; MochiKit.Visual.Highlight.prototype=new MochiKit.Visual.Base(); MochiKit.Base.update(MochiKit.Visual.Highlight.prototype,{__class__:MochiKit.Visual.Highlight,__init__:function(_710,_711){ this.element=MochiKit.DOM.getElement(_710); _711=MochiKit.Base.update({startcolor:"#ffff99"},_711); this.start(_711); },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(_716){ var m="#"; MochiKit.Base.map(MochiKit.Base.bind(function(i){ m+=MochiKit.Color.toColorPart(Math.round(this._base[i]+this._delta[i]*_716)); },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(_719,_71a){ var cls=arguments.callee; if(!(this instanceof cls)){ return new cls(_719,_71a); } this.__init__(_719,_71a); }; MochiKit.Visual.ScrollTo.prototype=new MochiKit.Visual.Base(); MochiKit.Base.update(MochiKit.Visual.ScrollTo.prototype,{__class__:MochiKit.Visual.ScrollTo,__init__:function(_71c,_71d){ this.element=MochiKit.DOM.getElement(_71c); this.start(_71d); },setup:function(){ var p=MochiKit.Position; p.prepare(); var _71f=p.cumulativeOffset(this.element); if(this.options.offset){ _71f.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=(_71f.y>max?max:_71f.y)-this.scrollStart; },update:function(_721){ var p=MochiKit.Position; p.prepare(); window.scrollTo(p.windowOffset.x,this.scrollStart+(_721*this.delta)); }}); MochiKit.Visual._CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/; MochiKit.Visual.Morph=function(_723,_724){ var cls=arguments.callee; if(!(this instanceof cls)){ return new cls(_723,_724); } this.__init__(_723,_724); }; MochiKit.Visual.Morph.prototype=new MochiKit.Visual.Base(); MochiKit.Base.update(MochiKit.Visual.Morph.prototype,{__class__:MochiKit.Visual.Morph,__init__:function(_726,_727){ this.element=MochiKit.DOM.getElement(_726); this.start(_727); },setup:function(){ var b=MochiKit.Base; var _729=this.options.style; this.styleStart={}; this.styleEnd={}; this.units={}; var _72a,unit; for(var s in _729){ _72a=_729[s]; s=b.camelize(s); if(MochiKit.Visual._CSS_LENGTH.test(_72a)){ var _72d=_72a.match(/^([\+\-]?[0-9\.]+)(.*)$/); _72a=parseFloat(_72d[1]); unit=(_72d.length==3)?_72d[2]:null; this.styleEnd[s]=_72a; this.units[s]=unit; _72a=MochiKit.Style.getStyle(this.element,s); _72d=_72a.match(/^([\+\-]?[0-9\.]+)(.*)$/); _72a=parseFloat(_72d[1]); this.styleStart[s]=_72a; }else{ if(/[Cc]olor$/.test(s)){ var c=MochiKit.Color.Color; _72a=c.fromString(_72a); if(_72a){ this.units[s]="color"; this.styleEnd[s]=_72a.toHexString(); _72a=MochiKit.Style.getStyle(this.element,s); this.styleStart[s]=c.fromString(_72a).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]=_72a; } } } },update:function(_731){ var _732; for(var s in this.styleStart){ if(this.units[s]=="color"){ var m="#"; var _735=this.styleStart[s]; var end=this.styleEnd[s]; MochiKit.Base.map(MochiKit.Base.bind(function(i){ m+=MochiKit.Color.toColorPart(Math.round(_735[i]+(end[i]-_735[i])*_731)); },this),[0,1,2]); this.element.style[s]=m; }else{ _732=this.styleStart[s]+Math.round((this.styleEnd[s]-this.styleStart[s])*_731*1000)/1000+this.units[s]; this.element.style[s]=_732; } } }}); MochiKit.Visual.fade=function(_738,_739){ var s=MochiKit.Style; var _73b=s.getStyle(_738,"opacity"); _739=MochiKit.Base.update({from:s.getStyle(_738,"opacity")||1,to:0,afterFinishInternal:function(_73c){ if(_73c.options.to!==0){ return; } s.hideElement(_73c.element); s.setStyle(_73c.element,{"opacity":_73b}); }},_739); return new MochiKit.Visual.Opacity(_738,_739); }; MochiKit.Visual.appear=function(_73d,_73e){ var s=MochiKit.Style; var v=MochiKit.Visual; _73e=MochiKit.Base.update({from:(s.getStyle(_73d,"display")=="none"?0:s.getStyle(_73d,"opacity")||0),to:1,afterFinishInternal:function(_741){ v._forceRerendering(_741.element); },beforeSetupInternal:function(_742){ s.setStyle(_742.element,{"opacity":_742.options.from}); s.showElement(_742.element); }},_73e); return new v.Opacity(_73d,_73e); }; MochiKit.Visual.puff=function(_743,_744){ var s=MochiKit.Style; var v=MochiKit.Visual; _743=MochiKit.DOM.getElement(_743); var _747=MochiKit.Style.getElementDimensions(_743,true); var _748={position:s.getStyle(_743,"position"),top:_743.style.top,left:_743.style.left,width:_743.style.width,height:_743.style.height,opacity:s.getStyle(_743,"opacity")}; _744=MochiKit.Base.update({beforeSetupInternal:function(_749){ MochiKit.Position.absolutize(_749.effects[0].element); },afterFinishInternal:function(_74a){ s.hideElement(_74a.effects[0].element); s.setStyle(_74a.effects[0].element,_748); },scaleContent:true,scaleFromCenter:true},_744); return new v.Parallel([new v.Scale(_743,200,{sync:true,scaleFromCenter:_744.scaleFromCenter,scaleMode:{originalHeight:_747.h,originalWidth:_747.w},scaleContent:_744.scaleContent,restoreAfterFinish:true}),new v.Opacity(_743,{sync:true,to:0})],_744); }; MochiKit.Visual.blindUp=function(_74b,_74c){ var d=MochiKit.DOM; var s=MochiKit.Style; _74b=d.getElement(_74b); var _74f=s.getElementDimensions(_74b,true); var _750=s.makeClipping(_74b); _74c=MochiKit.Base.update({scaleContent:false,scaleX:false,scaleMode:{originalHeight:_74f.h,originalWidth:_74f.w},restoreAfterFinish:true,afterFinishInternal:function(_751){ s.hideElement(_751.element); s.undoClipping(_751.element,_750); }},_74c); return new MochiKit.Visual.Scale(_74b,0,_74c); }; MochiKit.Visual.blindDown=function(_752,_753){ var d=MochiKit.DOM; var s=MochiKit.Style; _752=d.getElement(_752); var _756=s.getElementDimensions(_752,true); var _757; _753=MochiKit.Base.update({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:_756.h,originalWidth:_756.w},restoreAfterFinish:true,afterSetupInternal:function(_758){ _757=s.makeClipping(_758.element); s.setStyle(_758.element,{height:"0px"}); s.showElement(_758.element); },afterFinishInternal:function(_759){ s.undoClipping(_759.element,_757); }},_753); return new MochiKit.Visual.Scale(_752,100,_753); }; MochiKit.Visual.switchOff=function(_75a,_75b){ var d=MochiKit.DOM; var s=MochiKit.Style; _75a=d.getElement(_75a); var _75e=s.getElementDimensions(_75a,true); var _75f=s.getStyle(_75a,"opacity"); var _760; _75b=MochiKit.Base.update({duration:0.7,restoreAfterFinish:true,beforeSetupInternal:function(_761){ s.makePositioned(_75a); _760=s.makeClipping(_75a); },afterFinishInternal:function(_762){ s.hideElement(_75a); s.undoClipping(_75a,_760); s.undoPositioned(_75a); s.setStyle(_75a,{"opacity":_75f}); }},_75b); var v=MochiKit.Visual; return new v.Sequence([new v.appear(_75a,{sync:true,duration:0.57*_75b.duration,from:0,transition:v.Transitions.flicker}),new v.Scale(_75a,1,{sync:true,duration:0.43*_75b.duration,scaleFromCenter:true,scaleX:false,scaleMode:{originalHeight:_75e.h,originalWidth:_75e.w},scaleContent:false,restoreAfterFinish:true})],_75b); }; MochiKit.Visual.dropOut=function(_764,_765){ var d=MochiKit.DOM; var s=MochiKit.Style; _764=d.getElement(_764); var _768={top:s.getStyle(_764,"top"),left:s.getStyle(_764,"left"),opacity:s.getStyle(_764,"opacity")}; _765=MochiKit.Base.update({duration:0.5,distance:100,beforeSetupInternal:function(_769){ s.makePositioned(_769.effects[0].element); },afterFinishInternal:function(_76a){ s.hideElement(_76a.effects[0].element); s.undoPositioned(_76a.effects[0].element); s.setStyle(_76a.effects[0].element,_768); }},_765); var v=MochiKit.Visual; return new v.Parallel([new v.Move(_764,{x:0,y:_765.distance,sync:true}),new v.Opacity(_764,{sync:true,to:0})],_765); }; MochiKit.Visual.shake=function(_76c,_76d){ var d=MochiKit.DOM; var v=MochiKit.Visual; var s=MochiKit.Style; _76c=d.getElement(_76c); var _771={top:s.getStyle(_76c,"top"),left:s.getStyle(_76c,"left")}; _76d=MochiKit.Base.update({duration:0.5,afterFinishInternal:function(_772){ s.undoPositioned(_76c); s.setStyle(_76c,_771); }},_76d); return new v.Sequence([new v.Move(_76c,{sync:true,duration:0.1*_76d.duration,x:20,y:0}),new v.Move(_76c,{sync:true,duration:0.2*_76d.duration,x:-40,y:0}),new v.Move(_76c,{sync:true,duration:0.2*_76d.duration,x:40,y:0}),new v.Move(_76c,{sync:true,duration:0.2*_76d.duration,x:-40,y:0}),new v.Move(_76c,{sync:true,duration:0.2*_76d.duration,x:40,y:0}),new v.Move(_76c,{sync:true,duration:0.1*_76d.duration,x:-20,y:0})],_76d); }; MochiKit.Visual.slideDown=function(_773,_774){ var d=MochiKit.DOM; var b=MochiKit.Base; var s=MochiKit.Style; _773=d.getElement(_773); if(!_773.firstChild){ throw new Error("MochiKit.Visual.slideDown must be used on a element with a child"); } d.removeEmptyTextNodes(_773); var _778=s.getStyle(_773.firstChild,"bottom")||0; var _779=s.getElementDimensions(_773,true); var _77a; _774=b.update({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:_779.h,originalWidth:_779.w},restoreAfterFinish:true,afterSetupInternal:function(_77b){ s.makePositioned(_77b.element); s.makePositioned(_77b.element.firstChild); if(/Opera/.test(navigator.userAgent)){ s.setStyle(_77b.element,{top:""}); } _77a=s.makeClipping(_77b.element); s.setStyle(_77b.element,{height:"0px"}); s.showElement(_77b.element); },afterUpdateInternal:function(_77c){ var _77d=s.getElementDimensions(_77c.element,true); s.setStyle(_77c.element.firstChild,{bottom:(_77c.dims[0]-_77d.h)+"px"}); },afterFinishInternal:function(_77e){ s.undoClipping(_77e.element,_77a); if(/MSIE/.test(navigator.userAgent)){ s.undoPositioned(_77e.element); s.undoPositioned(_77e.element.firstChild); }else{ s.undoPositioned(_77e.element.firstChild); s.undoPositioned(_77e.element); } s.setStyle(_77e.element.firstChild,{bottom:_778}); }},_774); return new MochiKit.Visual.Scale(_773,100,_774); }; MochiKit.Visual.slideUp=function(_77f,_780){ var d=MochiKit.DOM; var b=MochiKit.Base; var s=MochiKit.Style; _77f=d.getElement(_77f); if(!_77f.firstChild){ throw new Error("MochiKit.Visual.slideUp must be used on a element with a child"); } d.removeEmptyTextNodes(_77f); var _784=s.getStyle(_77f.firstChild,"bottom"); var _785=s.getElementDimensions(_77f,true); var _786; _780=b.update({scaleContent:false,scaleX:false,scaleMode:{originalHeight:_785.h,originalWidth:_785.w},scaleFrom:100,restoreAfterFinish:true,beforeStartInternal:function(_787){ s.makePositioned(_787.element); s.makePositioned(_787.element.firstChild); if(/Opera/.test(navigator.userAgent)){ s.setStyle(_787.element,{top:""}); } _786=s.makeClipping(_787.element); s.showElement(_787.element); },afterUpdateInternal:function(_788){ var _789=s.getElementDimensions(_788.element,true); s.setStyle(_788.element.firstChild,{bottom:(_788.dims[0]-_789.h)+"px"}); },afterFinishInternal:function(_78a){ s.hideElement(_78a.element); s.undoClipping(_78a.element,_786); s.undoPositioned(_78a.element.firstChild); s.undoPositioned(_78a.element); s.setStyle(_78a.element.firstChild,{bottom:_784}); }},_780); return new MochiKit.Visual.Scale(_77f,0,_780); }; MochiKit.Visual.squish=function(_78b,_78c){ var d=MochiKit.DOM; var b=MochiKit.Base; var s=MochiKit.Style; var _790=s.getElementDimensions(_78b,true); var _791; _78c=b.update({restoreAfterFinish:true,scaleMode:{originalHeight:_790.h,originalWidth:_790.w},beforeSetupInternal:function(_792){ _791=s.makeClipping(_792.element); },afterFinishInternal:function(_793){ s.hideElement(_793.element); s.undoClipping(_793.element,_791); }},_78c); return new MochiKit.Visual.Scale(_78b,/Opera/.test(navigator.userAgent)?1:0,_78c); }; MochiKit.Visual.grow=function(_794,_795){ var d=MochiKit.DOM; var v=MochiKit.Visual; var s=MochiKit.Style; _794=d.getElement(_794); _795=MochiKit.Base.update({direction:"center",moveTransition:v.Transitions.sinoidal,scaleTransition:v.Transitions.sinoidal,opacityTransition:v.Transitions.full,scaleContent:true,scaleFromCenter:false},_795); var _799={top:_794.style.top,left:_794.style.left,height:_794.style.height,width:_794.style.width,opacity:s.getStyle(_794,"opacity")}; var dims=s.getElementDimensions(_794,true); var _79b,_79c; var _79d,_79e; switch(_795.direction){ case "top-left": _79b=_79c=_79d=_79e=0; break; case "top-right": _79b=dims.w; _79c=_79e=0; _79d=-dims.w; break; case "bottom-left": _79b=_79d=0; _79c=dims.h; _79e=-dims.h; break; case "bottom-right": _79b=dims.w; _79c=dims.h; _79d=-dims.w; _79e=-dims.h; break; case "center": _79b=dims.w/2; _79c=dims.h/2; _79d=-dims.w/2; _79e=-dims.h/2; break; } var _79f=MochiKit.Base.update({beforeSetupInternal:function(_7a0){ s.setStyle(_7a0.effects[0].element,{height:"0px"}); s.showElement(_7a0.effects[0].element); },afterFinishInternal:function(_7a1){ s.undoClipping(_7a1.effects[0].element); s.undoPositioned(_7a1.effects[0].element); s.setStyle(_7a1.effects[0].element,_799); }},_795); return new v.Move(_794,{x:_79b,y:_79c,duration:0.01,beforeSetupInternal:function(_7a2){ s.hideElement(_7a2.element); s.makeClipping(_7a2.element); s.makePositioned(_7a2.element); },afterFinishInternal:function(_7a3){ new v.Parallel([new v.Opacity(_7a3.element,{sync:true,to:1,from:0,transition:_795.opacityTransition}),new v.Move(_7a3.element,{x:_79d,y:_79e,sync:true,transition:_795.moveTransition}),new v.Scale(_7a3.element,100,{scaleMode:{originalHeight:dims.h,originalWidth:dims.w},sync:true,scaleFrom:/Opera/.test(navigator.userAgent)?1:0,transition:_795.scaleTransition,scaleContent:_795.scaleContent,scaleFromCenter:_795.scaleFromCenter,restoreAfterFinish:true})],_79f); }}); }; MochiKit.Visual.shrink=function(_7a4,_7a5){ var d=MochiKit.DOM; var v=MochiKit.Visual; var s=MochiKit.Style; _7a4=d.getElement(_7a4); _7a5=MochiKit.Base.update({direction:"center",moveTransition:v.Transitions.sinoidal,scaleTransition:v.Transitions.sinoidal,opacityTransition:v.Transitions.none,scaleContent:true,scaleFromCenter:false},_7a5); var _7a9={top:_7a4.style.top,left:_7a4.style.left,height:_7a4.style.height,width:_7a4.style.width,opacity:s.getStyle(_7a4,"opacity")}; var dims=s.getElementDimensions(_7a4,true); var _7ab,_7ac; switch(_7a5.direction){ case "top-left": _7ab=_7ac=0; break; case "top-right": _7ab=dims.w; _7ac=0; break; case "bottom-left": _7ab=0; _7ac=dims.h; break; case "bottom-right": _7ab=dims.w; _7ac=dims.h; break; case "center": _7ab=dims.w/2; _7ac=dims.h/2; break; } var _7ad; var _7ae=MochiKit.Base.update({beforeStartInternal:function(_7af){ s.makePositioned(_7af.effects[0].element); _7ad=s.makeClipping(_7af.effects[0].element); },afterFinishInternal:function(_7b0){ s.hideElement(_7b0.effects[0].element); s.undoClipping(_7b0.effects[0].element,_7ad); s.undoPositioned(_7b0.effects[0].element); s.setStyle(_7b0.effects[0].element,_7a9); }},_7a5); return new v.Parallel([new v.Opacity(_7a4,{sync:true,to:0,from:1,transition:_7a5.opacityTransition}),new v.Scale(_7a4,/Opera/.test(navigator.userAgent)?1:0,{scaleMode:{originalHeight:dims.h,originalWidth:dims.w},sync:true,transition:_7a5.scaleTransition,scaleContent:_7a5.scaleContent,scaleFromCenter:_7a5.scaleFromCenter,restoreAfterFinish:true}),new v.Move(_7a4,{x:_7ab,y:_7ac,sync:true,transition:_7a5.moveTransition})],_7ae); }; MochiKit.Visual.pulsate=function(_7b1,_7b2){ var d=MochiKit.DOM; var v=MochiKit.Visual; var b=MochiKit.Base; var _7b6=MochiKit.Style.getStyle(_7b1,"opacity"); _7b2=b.update({duration:3,from:0,afterFinishInternal:function(_7b7){ MochiKit.Style.setStyle(_7b7.element,{"opacity":_7b6}); }},_7b2); var _7b8=_7b2.transition||v.Transitions.sinoidal; _7b2.transition=function(pos){ return _7b8(1-v.Transitions.pulse(pos,_7b2.pulses)); }; return new v.Opacity(_7b1,_7b2); }; MochiKit.Visual.fold=function(_7ba,_7bb){ var d=MochiKit.DOM; var v=MochiKit.Visual; var s=MochiKit.Style; _7ba=d.getElement(_7ba); var _7bf=s.getElementDimensions(_7ba,true); var _7c0={top:_7ba.style.top,left:_7ba.style.left,width:_7ba.style.width,height:_7ba.style.height}; var _7c1=s.makeClipping(_7ba); _7bb=MochiKit.Base.update({scaleContent:false,scaleX:false,scaleMode:{originalHeight:_7bf.h,originalWidth:_7bf.w},afterFinishInternal:function(_7c2){ new v.Scale(_7ba,1,{scaleContent:false,scaleY:false,scaleMode:{originalHeight:_7bf.h,originalWidth:_7bf.w},afterFinishInternal:function(_7c3){ s.hideElement(_7c3.element); s.undoClipping(_7c3.element,_7c1); s.setStyle(_7c3.element,_7c0); }}); }},_7bb); return new v.Scale(_7ba,5,_7bb); }; MochiKit.Base.nameFunctions(MochiKit.Visual); MochiKit.Base._exportSymbols(this,MochiKit.Visual); MochiKit.Base.module(MochiKit,"DragAndDrop","1.5",["Base","Iter","DOM","Signal","Visual","Position"]); MochiKit.DragAndDrop.Droppables={drops:[],remove:function(_7c4){ this.drops=MochiKit.Base.filter(function(d){ return d.element!=MochiKit.DOM.getElement(_7c4); },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(_7c9){ MochiKit.Base.map(function(drop){ if(drop.isAccepted(_7c9)){ if(drop.options.activeclass){ MochiKit.DOM.addElementClass(drop.element,drop.options.activeclass); } drop.options.onactive(drop.element,_7c9); } },this.drops); },findDeepestChild:function(_7cb){ var _7cc=_7cb[0]; for(var i=1;i<_7cb.length;++i){ if(MochiKit.DOM.isChildNode(_7cb[i].element,_7cc.element)){ _7cc=_7cb[i]; } } return _7cc; },show:function(_7ce,_7cf){ if(!this.drops.length){ return; } var _7d0=[]; if(this.last_active){ this.last_active.deactivate(); } MochiKit.Iter.forEach(this.drops,function(drop){ if(drop.isAffected(_7ce,_7cf)){ _7d0.push(drop); } }); if(_7d0.length>0){ var drop=this.findDeepestChild(_7d0); MochiKit.Position.within(drop.element,_7ce.page.x,_7ce.page.y); drop.options.onhover(_7cf,drop.element,MochiKit.Position.overlap(drop.options.overlap,drop.element)); drop.activate(); } },fire:function(_7d3,_7d4){ if(!this.last_active){ return; } MochiKit.Position.prepare(); if(this.last_active.isAffected(_7d3.mouse(),_7d4)){ this.last_active.options.ondrop(_7d4,this.last_active.element,_7d3); } },reset:function(_7d5){ MochiKit.Base.map(function(drop){ if(drop.options.activeclass){ MochiKit.DOM.removeElementClass(drop.element,drop.options.activeclass); } drop.options.ondesactive(drop.element,_7d5); },this.drops); if(this.last_active){ this.last_active.deactivate(); } }}; MochiKit.DragAndDrop.Droppable=function(_7d7,_7d8){ var cls=arguments.callee; if(!(this instanceof cls)){ return new cls(_7d7,_7d8); } this.__init__(_7d7,_7d8); }; MochiKit.DragAndDrop.Droppable.prototype={__class__:MochiKit.DragAndDrop.Droppable,__init__:function(_7da,_7db){ var d=MochiKit.DOM; var b=MochiKit.Base; this.element=d.getElement(_7da); 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},_7db); 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(_7df){ if(this.options._containers.length){ var _7e0; if(this.options.tree){ _7e0=_7df.treeNode; }else{ _7e0=_7df.parentNode; } return MochiKit.Iter.some(this.options._containers,function(c){ return _7e0==c; }); }else{ return true; } },isAccepted:function(_7e2){ return ((!this.options.accept)||MochiKit.Iter.some(this.options.accept,function(c){ return MochiKit.DOM.hasElementClass(_7e2,c); })); },isAffected:function(_7e4,_7e5){ return ((this.element!=_7e5)&&this.isContained(_7e5)&&this.isAccepted(_7e5)&&MochiKit.Position.within(this.element,_7e4.page.x,_7e4.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(_7e6){ 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(_7e6); },unregister:function(_7e8){ this.drags=MochiKit.Base.filter(function(d){ return d!=_7e8; },this.drags); if(this.drags.length===0){ var disc=MochiKit.Signal.disconnect; disc(this.eventMouseUp); disc(this.eventMouseMove); disc(this.eventKeypress); } },activate:function(_7eb){ window.focus(); this.activeDraggable=_7eb; },deactivate:function(){ this.activeDraggable=null; },updateDrag:function(_7ec){ if(!this.activeDraggable){ return; } var _7ed=_7ec.mouse(); if(this._lastPointer&&this._lastPointer.page.x==_7ed.page.x&&this._lastPointer.page.y==_7ed.page.y){ return; } this._lastPointer=_7ed; this.activeDraggable.updateDrag(_7ec,_7ed); },endDrag:function(_7ee){ if(!this.activeDraggable){ return; } this._lastPointer=null; this.activeDraggable.endDrag(_7ee); this.activeDraggable=null; },keyPress:function(_7ef){ if(this.activeDraggable){ this.activeDraggable.keyPress(_7ef); } },notify:function(_7f0,_7f1,_7f2){ MochiKit.Signal.signal(this,_7f0,_7f1,_7f2); }}; MochiKit.DragAndDrop.Draggable=function(_7f3,_7f4){ var cls=arguments.callee; if(!(this instanceof cls)){ return new cls(_7f3,_7f4); } this.__init__(_7f3,_7f4); }; MochiKit.DragAndDrop.Draggable.prototype={__class__:MochiKit.DragAndDrop.Draggable,__init__:function(_7f6,_7f7){ var v=MochiKit.Visual; var b=MochiKit.Base; _7f7=b.update({handle:false,starteffect:function(_7fa){ this._savedOpacity=MochiKit.Style.getStyle(_7fa,"opacity")||1; new v.Opacity(_7fa,{duration:0.2,from:this._savedOpacity,to:0.7}); },reverteffect:function(_7fb,_7fc,_7fd){ var dur=Math.sqrt(Math.abs(_7fc^2)+Math.abs(_7fd^2))*0.02; return new v.Move(_7fb,{x:-_7fd,y:-_7fc,duration:dur}); },endeffect:function(_7ff){ new v.Opacity(_7ff,{duration:0.2,from:0.7,to:this._savedOpacity}); },onchange:b.noop,zindex:1000,revert:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,snap:false},_7f7); var d=MochiKit.DOM; this.element=d.getElement(_7f6); if(_7f7.handle&&(typeof (_7f7.handle)=="string")){ this.handle=d.getFirstElementByTagAndClassName(null,_7f7.handle,this.element); } if(!this.handle){ this.handle=d.getElement(_7f7.handle); } if(!this.handle){ this.handle=this.element; } if(_7f7.scroll&&!_7f7.scroll.scrollTo&&!_7f7.scroll.outerHTML){ _7f7.scroll=d.getElement(_7f7.scroll); this._isScrollChild=MochiKit.DOM.isChildNode(this.element,_7f7.scroll); } MochiKit.Style.makePositioned(this.element); this.delta=this.currentDelta(); this.options=_7f7; 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",10),parseInt(s(this.element,"top")||"0",10)]; },initDrag:function(_802){ if(!_802.mouse().button.left){ return; } var src=_802.target(); var _804=(src.tagName||"").toUpperCase(); if(_804==="INPUT"||_804==="SELECT"||_804==="OPTION"||_804==="BUTTON"||_804==="TEXTAREA"){ return; } if(this._revert){ this._revert.cancel(); this._revert=null; } var _805=_802.mouse(); var pos=MochiKit.Position.cumulativeOffset(this.element); this.offset=[_805.page.x-pos.x,_805.page.y-pos.y]; MochiKit.DragAndDrop.Draggables.activate(this); _802.stop(); },startDrag:function(_807){ 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 _808=this._getWindowScroll(this.options.scroll); this.originalScrollLeft=_808.left; this.originalScrollTop=_808.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,_807); if(this.options.starteffect){ this.options.starteffect(this.element); } },updateDrag:function(_809,_80a){ if(!this.dragging){ this.startDrag(_809); } MochiKit.Position.prepare(); MochiKit.DragAndDrop.Droppables.show(_80a,this.element); MochiKit.DragAndDrop.Draggables.notify("drag",this,_809); this.draw(_80a); 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 _80e=[0,0]; if(_80a.page.x>(q.x-this.options.scrollSensitivity)){ _80e[0]=_80a.page.x-(q.x-this.options.scrollSensitivity); }else{ if(_80a.page.x<(p.x+this.options.scrollSensitivity)){ _80e[0]=_80a.page.x-(p.x+this.options.scrollSensitivity); } } if(_80a.page.y>(q.y-this.options.scrollSensitivity)){ _80e[1]=_80a.page.y-(q.y-this.options.scrollSensitivity); }else{ if(_80a.page.y<(p.y+this.options.scrollSensitivity)){ _80e[1]=_80a.page.y-(p.y+this.options.scrollSensitivity); } } this.startScrolling(_80e); } if(/AppleWebKit/.test(navigator.appVersion)){ window.scrollBy(0,0); } _809.stop(); },finishDrag:function(_80f,_810){ 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(_810){ dr.Droppables.fire(_80f,this.element); } dr.Draggables.notify("end",this,_80f); var _812=this.options.revert; if(_812&&typeof (_812)=="function"){ _812=_812(this.element); } var d=this.currentDelta(); if(_812&&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(_814){ if(_814.key().string!="KEY_ESCAPE"){ return; } this.finishDrag(_814,false); _814.stop(); },endDrag:function(_815){ if(!this.dragging){ return; } this.stopScrolling(); this.finishDrag(_815,true); _815.stop(); },draw:function(_816){ 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=[_816.page.x-pos.x-this.offset[0],_816.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 _81d=this.element.style; if((!this.options.constraint)||(this.options.constraint=="horizontal")){ _81d.left=p[0]+"px"; } if((!this.options.constraint)||(this.options.constraint=="vertical")){ _81d.top=p[1]+"px"; } if(_81d.visibility=="hidden"){ _81d.visibility=""; } },stopScrolling:function(){ if(this.scrollInterval){ clearInterval(this.scrollInterval); this.scrollInterval=null; MochiKit.DragAndDrop.Draggables._lastScrollPointer=null; } },startScrolling:function(_81e){ if(!_81e[0]&&!_81e[1]){ return; } this.scrollSpeed=[_81e[0]*this.options.scrollSpeed,_81e[1]*this.options.scrollSpeed]; this.lastScrolled=new Date(); this.scrollInterval=setInterval(MochiKit.Base.bind(this.scroll,this),10); },scroll:function(){ var _81f=new Date(); var _820=_81f-this.lastScrolled; this.lastScrolled=_81f; if(this.options.scroll==window){ var s=this._getWindowScroll(this.options.scroll); if(this.scrollSpeed[0]||this.scrollSpeed[1]){ var dm=_820/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]*_820/1000; this.options.scroll.scrollTop+=this.scrollSpeed[1]*_820/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]*_820/1000; d.Draggables._lastScrollPointer.y+=this.scrollSpeed[1]*_820/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(MochiKit,"Sortable","1.5",["Base","Iter","DOM","Position","DragAndDrop"]); MochiKit.Base.update(MochiKit.Sortable,{__export__:false,sortables:{},_findRootElement:function(_828){ while(_828.tagName.toUpperCase()!="BODY"){ if(_828.id&&MochiKit.Sortable.sortables[_828.id]){ return _828; } _828=_828.parentNode; } },_createElementId:function(_829){ if(_829.id==null||_829.id==""){ var d=MochiKit.DOM; var id; var _82c=1; while(d.getElement(id="sortable"+_82c)!=null){ _82c+=1; } d.setNodeAttribute(_829,"id",id); } },options:function(_82d){ _82d=MochiKit.Sortable._findRootElement(MochiKit.DOM.getElement(_82d)); if(!_82d){ return; } return MochiKit.Sortable.sortables[_82d.id]; },destroy:function(_82e){ var s=MochiKit.Sortable.options(_82e); 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(_834,_835){ _834=MochiKit.DOM.getElement(_834); var self=MochiKit.Sortable; self._createElementId(_834); _835=MochiKit.Base.update({element:_834,tag:"li",dropOnEmpty:false,tree:false,treeTag:"ul",overlap:"vertical",constraint:"vertical",containment:[_834],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},_835); self.destroy(_834); var _837={revert:true,ghosting:_835.ghosting,scroll:_835.scroll,scrollSensitivity:_835.scrollSensitivity,scrollSpeed:_835.scrollSpeed,constraint:_835.constraint,handle:_835.handle}; if(_835.starteffect){ _837.starteffect=_835.starteffect; } if(_835.reverteffect){ _837.reverteffect=_835.reverteffect; }else{ if(_835.ghosting){ _837.reverteffect=function(_838){ _838.style.top=0; _838.style.left=0; }; } } if(_835.endeffect){ _837.endeffect=_835.endeffect; } if(_835.zindex){ _837.zindex=_835.zindex; } var _839={overlap:_835.overlap,containment:_835.containment,hoverclass:_835.hoverclass,onhover:self.onHover,tree:_835.tree,accept:_835.accept}; var _83a={onhover:self.onEmptyHover,overlap:_835.overlap,containment:_835.containment,hoverclass:_835.hoverclass,accept:_835.accept}; MochiKit.DOM.removeEmptyTextNodes(_834); _835.draggables=[]; _835.droppables=[]; if(_835.dropOnEmpty||_835.tree){ new MochiKit.DragAndDrop.Droppable(_834,_83a); _835.droppables.push(_834); } MochiKit.Base.map(function(e){ var _83c=_835.handle?MochiKit.DOM.getFirstElementByTagAndClassName(null,_835.handle,e):e; _835.draggables.push(new MochiKit.DragAndDrop.Draggable(e,MochiKit.Base.update(_837,{handle:_83c}))); new MochiKit.DragAndDrop.Droppable(e,_839); if(_835.tree){ e.treeNode=_834; } _835.droppables.push(e); },(self.findElements(_834,_835)||[])); if(_835.tree){ MochiKit.Base.map(function(e){ new MochiKit.DragAndDrop.Droppable(e,_83a); e.treeNode=_834; _835.droppables.push(e); },(self.findTreeElements(_834,_835)||[])); } self.sortables[_834.id]=_835; _835.lastValue=self.serialize(_834); _835.startHandle=MochiKit.Signal.connect(MochiKit.DragAndDrop.Draggables,"start",MochiKit.Base.partial(self.onStart,_834)); _835.endHandle=MochiKit.Signal.connect(MochiKit.DragAndDrop.Draggables,"end",MochiKit.Base.partial(self.onEnd,_834)); },onStart:function(_83e,_83f){ var self=MochiKit.Sortable; var _841=self.options(_83e); _841.lastValue=self.serialize(_841.element); },onEnd:function(_842,_843){ var self=MochiKit.Sortable; self.unmark(); var _845=self.options(_842); if(_845.lastValue!=self.serialize(_845.element)){ _845.onUpdate(_845.element); } },findElements:function(_846,_847){ return MochiKit.Sortable.findChildren(_846,_847.only,_847.tree,_847.tag); },findTreeElements:function(_848,_849){ return MochiKit.Sortable.findChildren(_848,_849.only,_849.tree?true:false,_849.treeTag); },findChildren:function(_84a,only,_84c,_84d){ if(!_84a.hasChildNodes()){ return null; } _84d=_84d.toUpperCase(); if(only){ only=MochiKit.Base.flattenArray([only]); } var _84e=[]; MochiKit.Base.map(function(e){ if(e.tagName&&e.tagName.toUpperCase()==_84d&&(!only||MochiKit.Iter.some(only,function(c){ return MochiKit.DOM.hasElementClass(e,c); }))){ _84e.push(e); } if(_84c){ var _851=MochiKit.Sortable.findChildren(e,only,_84c,_84d); if(_851&&_851.length>0){ _84e=_84e.concat(_851); } } },_84a.childNodes); return _84e; },onHover:function(_852,_853,_854){ if(MochiKit.DOM.isChildNode(_853,_852)){ return; } var self=MochiKit.Sortable; if(_854>0.33&&_854<0.66&&self.options(_853).tree){ return; }else{ if(_854>0.5){ self.mark(_853,"before"); if(_853.previousSibling!=_852){ var _856=_852.parentNode; _852.style.visibility="hidden"; _853.parentNode.insertBefore(_852,_853); if(_853.parentNode!=_856){ self.options(_856).onChange(_852); } self.options(_853.parentNode).onChange(_852); } }else{ self.mark(_853,"after"); var _857=_853.nextSibling||null; if(_857!=_852){ var _856=_852.parentNode; _852.style.visibility="hidden"; _853.parentNode.insertBefore(_852,_857); if(_853.parentNode!=_856){ self.options(_856).onChange(_852); } self.options(_853.parentNode).onChange(_852); } } } },_offsetSize:function(_858,type){ if(type=="vertical"||type=="height"){ return _858.offsetHeight; }else{ return _858.offsetWidth; } },onEmptyHover:function(_85a,_85b,_85c){ var _85d=_85a.parentNode; var self=MochiKit.Sortable; var _85f=self.options(_85b); if(!MochiKit.DOM.isChildNode(_85b,_85a)){ var _860; var _861=self.findElements(_85b,{tag:_85f.tag,only:_85f.only}); var _862=null; if(_861){ var _863=self._offsetSize(_85b,_85f.overlap)*(1-_85c); for(_860=0;_860<_861.length;_860+=1){ if(_863-self._offsetSize(_861[_860],_85f.overlap)>=0){ _863-=self._offsetSize(_861[_860],_85f.overlap); }else{ if(_863-(self._offsetSize(_861[_860],_85f.overlap)/2)>=0){ _862=_860+1<_861.length?_861[_860+1]:null; break; }else{ _862=_861[_860]; break; } } } } _85b.insertBefore(_85a,_862); self.options(_85d).onChange(_85a); _85f.onChange(_85a); } },unmark:function(){ var m=MochiKit.Sortable._marker; if(m){ MochiKit.Style.hideElement(m); } },mark:function(_865,_866){ var d=MochiKit.DOM; var self=MochiKit.Sortable; var _869=self.options(_865.parentNode); if(_869&&!_869.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 _86a=MochiKit.Position.cumulativeOffset(_865); self._marker.style.left=_86a.x+"px"; self._marker.style.top=_86a.y+"px"; if(_866=="after"){ if(_869.overlap=="horizontal"){ self._marker.style.left=(_86a.x+_865.clientWidth)+"px"; }else{ self._marker.style.top=(_86a.y+_865.clientHeight)+"px"; } } MochiKit.Style.showElement(self._marker); },_tree:function(_86b,_86c,_86d){ var self=MochiKit.Sortable; var _86f=self.findElements(_86b,_86c)||[]; for(var i=0;i<_86f.length;++i){ var _871=_86f[i].id.match(_86c.format); if(!_871){ continue; } var _872={id:encodeURIComponent(_871?_871[1]:null),element:_86b,parent:_86d,children:[],position:_86d.children.length,container:self._findChildrenElement(_86f[i],_86c.treeTag.toUpperCase())}; if(_872.container){ self._tree(_872.container,_86c,_872); } _86d.children.push(_872); } return _86d; },_findChildrenElement:function(_873,_874){ if(_873&&_873.hasChildNodes){ _874=_874.toUpperCase(); for(var i=0;i<_873.childNodes.length;++i){ if(_873.childNodes[i].tagName.toUpperCase()==_874){ return _873.childNodes[i]; } } } return null; },tree:function(_876,_877){ _876=MochiKit.DOM.getElement(_876); var _878=MochiKit.Sortable.options(_876); _877=MochiKit.Base.update({tag:_878.tag,treeTag:_878.treeTag,only:_878.only,name:_876.id,format:_878.format},_877||{}); var root={id:null,parent:null,children:new Array,container:_876,position:0}; return MochiKit.Sortable._tree(_876,_877,root); },setSequence:function(_87a,_87b,_87c){ var self=MochiKit.Sortable; var b=MochiKit.Base; _87a=MochiKit.DOM.getElement(_87a); _87c=b.update(self.options(_87a),_87c||{}); var _87f={}; b.map(function(n){ var m=n.id.match(_87c.format); if(m){ _87f[m[1]]=[n,n.parentNode]; } n.parentNode.removeChild(n); },self.findElements(_87a,_87c)); b.map(function(_882){ var n=_87f[_882]; if(n){ n[1].appendChild(n[0]); delete _87f[_882]; } },_87b); },_constructIndex:function(node){ var _885=""; do{ if(node.id){ _885="["+node.position+"]"+_885; } }while((node=node.parent)!=null); return _885; },sequence:function(_886,_887){ _886=MochiKit.DOM.getElement(_886); var self=MochiKit.Sortable; var _887=MochiKit.Base.update(self.options(_886),_887||{}); return MochiKit.Base.map(function(item){ return item.id.match(_887.format)?item.id.match(_887.format)[1]:""; },MochiKit.DOM.getElement(self.findElements(_886,_887)||[])); },serialize:function(_88a,_88b){ _88a=MochiKit.DOM.getElement(_88a); var self=MochiKit.Sortable; _88b=MochiKit.Base.update(self.options(_88a),_88b||{}); var name=encodeURIComponent(_88b.name||_88a.id); if(_88b.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(_88a,_88b).children)).join("&"); }else{ return MochiKit.Base.map(function(item){ return name+"[]="+encodeURIComponent(item); },self.sequence(_88a,_88b)).join("&"); } }}); MochiKit.Sortable.Sortable=MochiKit.Sortable; MochiKit.Sortable.__new__=function(){ MochiKit.Base.nameFunctions(this); }; MochiKit.Sortable.__new__(); MochiKit.Base._exportSymbols(this,MochiKit.Sortable);