/***
MochiKit.MochiKit 1.4 : PACKED VERSION
THIS FILE IS AUTOMATICALLY GENERATED. If creating patches, please
diff against the source tree, not this file.
See for documentation, downloads, license, etc.
(c) 2005 Bob Ippolito. All rights Reserved.
***/
if(typeof (dojo)!="undefined"){
dojo.provide("MochiKit.Base");
}
if(typeof (MochiKit)=="undefined"){
MochiKit={};
}
if(typeof (MochiKit.Base)=="undefined"){
MochiKit.Base={};
}
MochiKit.Base.VERSION="1.4";
MochiKit.Base.NAME="MochiKit.Base";
MochiKit.Base.update=function(_1,_2){
if(_1===null){
_1={};
}
for(var i=1;i=0;i--){
_15.unshift(o[i]);
}
}else{
res.push(o);
}
}
return res;
},extend:function(_16,obj,_17){
if(!_17){
_17=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(!_16){
_16=[];
}
for(var i=_17;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 al){
_42=l;
}
}
_41=[];
for(i=0;i<_42;i++){
var _43=[];
for(var j=1;j=0;i--){
_57=[_56[i].apply(this,_57)];
}
return _57[0];
};
},bind:function(_58,_59){
if(typeof (_58)=="string"){
_58=_59[_58];
}
var _60=_58.im_func;
var _61=_58.im_preargs;
var _62=_58.im_self;
var m=MochiKit.Base;
if(typeof (_58)=="function"&&typeof (_58.apply)=="undefined"){
_58=m._wrapDumbFunction(_58);
}
if(typeof (_60)!="function"){
_60=_58;
}
if(typeof (_59)!="undefined"){
_62=_59;
}
if(typeof (_61)=="undefined"){
_61=[];
}else{
_61=_61.slice();
}
m.extend(_61,arguments,2);
var _63=function(){
var _64=arguments;
var me=arguments.callee;
if(me.im_preargs.length>0){
_64=m.concat(me.im_preargs,_64);
}
var _59=me.im_self;
if(!_59){
_59=this;
}
return me.im_func.apply(_59,_64);
};
_63.im_self=_62;
_63.im_func=_60;
_63.im_preargs=_61;
return _63;
},bindMethods:function(_65){
var _66=MochiKit.Base.bind;
for(var k in _65){
var _67=_65[k];
if(typeof (_67)=="function"){
_65[k]=_66(_67,_65);
}
}
},registerComparator:function(_68,_69,_70,_71){
MochiKit.Base.comparatorRegistry.register(_68,_69,_70,_71);
},_primitives:{"boolean":true,"string":true,"number":true},compare:function(a,b){
if(a==b){
return 0;
}
var _72=(typeof (a)=="undefined"||a===null);
var _73=(typeof (b)=="undefined"||b===null);
if(_72&&_73){
return 0;
}else{
if(_72){
return -1;
}else{
if(_73){
return 1;
}
}
}
var m=MochiKit.Base;
var _74=m._primitives;
if(!(typeof (a) in _74&&typeof (b) in _74)){
try{
return m.comparatorRegistry.match(a,b);
}
catch(e){
if(e!=m.NotFound){
throw e;
}
}
}
if(ab){
return 1;
}
}
var _75=m.repr;
throw new TypeError(_75(a)+" and "+_75(b)+" can not be compared");
},compareDateLike:function(a,b){
return MochiKit.Base.compare(a.getTime(),b.getTime());
},compareArrayLike:function(a,b){
var _76=MochiKit.Base.compare;
var _77=a.length;
var _78=0;
if(_77>b.length){
_78=1;
_77=b.length;
}else{
if(_770))){
var kv=MochiKit.DOM.formContents(_120);
_120=kv[0];
_121=kv[1];
}else{
if(arguments.length==1){
var o=_120;
_120=[];
_121=[];
for(var k in o){
var v=o[k];
if(typeof (v)!="function"){
_120.push(k);
_121.push(v);
}
}
}
}
var rval=[];
var len=Math.min(_120.length,_121.length);
var _124=MochiKit.Base.urlEncode;
for(var i=0;i=stop){
throw self.StopIteration;
}
_153+=step;
return rval;
}};
},imap:function(fun,p,q){
var m=MochiKit.Base;
var self=MochiKit.Iter;
var _157=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,_157));
}};
},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 _159=m.map(self.iter,arguments);
return {repr:function(){
return "chain(...)";
},toString:m.forwardCall("repr"),next:function(){
while(_159.length>1){
try{
return _159[0].next();
}
catch(e){
if(e!=self.StopIteration){
throw e;
}
_159.shift();
}
}
if(_159.length==1){
var arg=_159.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(_161,sync,_163){
sync.pos[_161]=-1;
var m=MochiKit.Base;
var _164=m.listMin;
return {repr:function(){
return "tee("+_161+", ...)";
},toString:m.forwardCall("repr"),next:function(){
var rval;
var i=sync.pos[_161];
if(i==sync.max){
rval=_163.next();
sync.deque.push(rval);
sync.max+=1;
sync.pos[_161]+=1;
}else{
rval=sync.deque[i-sync.min];
sync.pos[_161]+=1;
if(i==sync.min&&_164(sync.pos)!=sync.min){
sync.min+=1;
sync.deque.shift();
}
}
return rval;
}};
},tee:function(_165,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;
_165=self.iter(_165);
var _tee=self._tee;
for(var i=0;i0&&_171>=stop)||(step<0&&_171<=stop)){
throw MochiKit.Iter.StopIteration;
}
var rval=_171;
_171+=step;
return rval;
},repr:function(){
return "range("+[_171,stop,step].join(", ")+")";
},toString:MochiKit.Base.forwardCall("repr")};
},sum:function(_172,_173){
if(typeof (_173)=="undefined"||_173===null){
_173=0;
}
var x=_173;
var self=MochiKit.Iter;
_172=self.iter(_172);
try{
while(true){
x+=_172.next();
}
}
catch(e){
if(e!=self.StopIteration){
throw e;
}
}
return x;
},exhaust:function(_174){
var self=MochiKit.Iter;
_174=self.iter(_174);
try{
while(true){
_174.next();
}
}
catch(e){
if(e!=self.StopIteration){
throw e;
}
}
},forEach:function(_175,func,self){
var m=MochiKit.Base;
if(arguments.length>2){
func=m.bind(func,self);
}
if(m.isArrayLike(_175)){
try{
for(var i=0;i<_175.length;i++){
func(_175[i]);
}
}
catch(e){
if(e!=MochiKit.Iter.StopIteration){
throw e;
}
}
}else{
self=MochiKit.Iter;
self.exhaust(self.imap(func,_175));
}
},every:function(_176,func){
var self=MochiKit.Iter;
try{
self.ifilterfalse(func,_176).next();
return false;
}
catch(e){
if(e!=self.StopIteration){
throw e;
}
return true;
}
},sorted:function(_177,cmp){
var rval=MochiKit.Iter.list(_177);
if(arguments.length==1){
cmp=MochiKit.Base.compare;
}
rval.sort(cmp);
return rval;
},reversed:function(_178){
var rval=MochiKit.Iter.list(_178);
rval.reverse();
return rval;
},some:function(_179,func){
var self=MochiKit.Iter;
try{
self.ifilter(func,_179).next();
return true;
}
catch(e){
if(e!=self.StopIteration){
throw e;
}
return false;
}
},iextend:function(lst,_180){
if(MochiKit.Base.isArrayLike(_180)){
for(var i=0;i<_180.length;i++){
lst.push(_180[i]);
}
}else{
var self=MochiKit.Iter;
_180=self.iter(_180);
try{
while(true){
lst.push(_180.next());
}
}
catch(e){
if(e!=self.StopIteration){
throw e;
}
}
}
return lst;
},groupby:function(_181,_182){
var m=MochiKit.Base;
var self=MochiKit.Iter;
if(arguments.length<2){
_182=m.operator.identity;
}
_181=self.iter(_181);
var pk=undefined;
var k=undefined;
var v;
function fetch(){
v=_181.next();
k=_182(v);
}
function eat(){
var ret=v;
v=undefined;
return ret;
}
var _185=true;
return {repr:function(){
return "groupby(...)";
},next:function(){
while(k==pk){
fetch();
if(_185){
_185=false;
break;
}
}
pk=k;
return [k,{next:function(){
if(v==undefined){
fetch();
}
if(k!=pk){
throw self.StopIteration;
}
return eat();
}}];
}};
},groupby_as_array:function(_186,_187){
var m=MochiKit.Base;
var self=MochiKit.Iter;
if(arguments.length<2){
_187=m.operator.identity;
}
_186=self.iter(_186);
var _188=[];
var _189=true;
var _190;
while(true){
try{
var _191=_186.next();
var key=_187(_191);
}
catch(e){
if(e==self.StopIteration){
break;
}
throw e;
}
if(_189||key!=_190){
var _192=[];
_188.push([key,_192]);
}
_192.push(_191);
_189=false;
_190=key;
}
return _188;
},arrayLikeIter:function(_193){
var i=0;
return {repr:function(){
return "arrayLikeIter(...)";
},toString:MochiKit.Base.forwardCall("repr"),next:function(){
if(i>=_193.length){
throw MochiKit.Iter.StopIteration;
}
return _193[i++];
}};
},hasIterateNext:function(_194){
return (_194&&typeof (_194.iterateNext)=="function");
},iterateNextIter:function(_195){
return {repr:function(){
return "iterateNextIter(...)";
},toString:MochiKit.Base.forwardCall("repr"),next:function(){
var rval=_195.iterateNext();
if(rval===null||rval===undefined){
throw MochiKit.Iter.StopIteration;
}
return rval;
}};
}});
MochiKit.Iter.EXPORT_OK=["iteratorRegistry","arrayLikeIter","hasIterateNext","iterateNextIter",];
MochiKit.Iter.EXPORT=["StopIteration","registerIteratorFactory","iter","count","cycle","repeat","next","izip","ifilter","ifilterfalse","islice","imap","applymap","chain","takewhile","dropwhile","tee","list","reduce","range","sum","exhaust","forEach","every","sorted","reversed","some","iextend","groupby","groupby_as_array"];
MochiKit.Iter.__new__=function(){
var m=MochiKit.Base;
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);
this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};
m.nameFunctions(this);
};
MochiKit.Iter.__new__();
if(MochiKit.__export__){
reduce=MochiKit.Iter.reduce;
}
MochiKit.Base._exportSymbols(this,MochiKit.Iter);
if(typeof (dojo)!="undefined"){
dojo.provide("MochiKit.Logging");
dojo.require("MochiKit.Base");
}
if(typeof (JSAN)!="undefined"){
JSAN.use("MochiKit.Base",[]);
}
try{
if(typeof (MochiKit.Base)=="undefined"){
throw "";
}
}
catch(e){
throw "MochiKit.Logging depends on MochiKit.Base!";
}
if(typeof (MochiKit.Logging)=="undefined"){
MochiKit.Logging={};
}
MochiKit.Logging.NAME="MochiKit.Logging";
MochiKit.Logging.VERSION="1.4";
MochiKit.Logging.__repr__=function(){
return "["+this.NAME+" "+this.VERSION+"]";
};
MochiKit.Logging.toString=function(){
return this.__repr__();
};
MochiKit.Logging.EXPORT=["LogLevel","LogMessage","Logger","alertListener","logger","log","logError","logDebug","logFatal","logWarning"];
MochiKit.Logging.EXPORT_OK=["logLevelAtLeast","isLogMessage","compareLogMessage"];
MochiKit.Logging.LogMessage=function(num,_197,info){
this.num=num;
this.level=_197;
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(_199){
var self=MochiKit.Logging;
if(typeof (_199)=="string"){
_199=self.LogLevel[_199];
}
return function(msg){
var _201=msg.level;
if(typeof (_201)=="string"){
_201=self.LogLevel[_201];
}
return _201>=_199;
};
},isLogMessage:function(){
var _202=MochiKit.Logging.LogMessage;
for(var i=0;i=0&&this._messages.length>this.maxSize){
this._messages.shift();
}
},getMessages:function(_211){
var _212=0;
if(!(typeof (_211)=="undefined"||_211===null)){
_212=Math.max(0,this._messages.length-_211);
}
return this._messages.slice(_212);
},getMessageText:function(_213){
if(typeof (_213)=="undefined"||_213===null){
_213=30;
}
var _214=this.getMessages(_213);
if(_214.length){
var lst=map(function(m){
return "\n ["+m.num+"] "+m.level+": "+m.info.join(" ");
},_214);
lst.unshift("LAST "+_214.length+" MESSAGES:");
return lst.join("");
}
return "";
},debuggingBookmarklet:function(_215){
if(typeof (MochiKit.LoggingPane)=="undefined"){
alert(this.getMessageText());
}else{
MochiKit.LoggingPane.createLoggingPane(_215||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 _216=m.partial;
var _217=this.Logger;
var _218=_217.prototype.baseLog;
m.update(this.Logger.prototype,{debug:_216(_218,"DEBUG"),log:_216(_218,"INFO"),error:_216(_218,"ERROR"),fatal:_216(_218,"FATAL"),warning:_216(_218,"WARNING")});
var self=this;
var _219=function(name){
return function(){
self.logger[name].apply(self.logger,arguments);
};
};
this.log=_219("log");
this.logError=_219("error");
this.logDebug=_219("debug");
this.logFatal=_219("fatal");
this.logWarning=_219("warning");
this.logger=new _217();
this.logger.useNativeConsole=true;
this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};
m.nameFunctions(this);
};
if(typeof (printfire)=="undefined"&&typeof (document)!="undefined"&&document.createEvent&&typeof (dispatchEvent)!="undefined"){
printfire=function(){
printfire.args=arguments;
var ev=document.createEvent("Events");
ev.initEvent("printfire",false,true);
dispatchEvent(ev);
};
}
MochiKit.Logging.__new__();
MochiKit.Base._exportSymbols(this,MochiKit.Logging);
if(typeof (dojo)!="undefined"){
dojo.provide("MochiKit.DateTime");
}
if(typeof (MochiKit)=="undefined"){
MochiKit={};
}
if(typeof (MochiKit.DateTime)=="undefined"){
MochiKit.DateTime={};
}
MochiKit.DateTime.NAME="MochiKit.DateTime";
MochiKit.DateTime.VERSION="1.4";
MochiKit.DateTime.__repr__=function(){
return "["+this.NAME+" "+this.VERSION+"]";
};
MochiKit.DateTime.toString=function(){
return this.__repr__();
};
MochiKit.DateTime.isoDate=function(str){
str=str+"";
if(typeof (str)!="string"||str.length===0){
return null;
}
var iso=str.split("-");
if(iso.length===0){
return null;
}
return new Date(iso[0],iso[1]-1,iso[2]);
};
MochiKit.DateTime._isoRegexp=/(\d{4,})(?:-(\d{1,2})(?:-(\d{1,2})(?:[T ](\d{1,2}):(\d{1,2})(?::(\d{1,2})(?:\.(\d+))?)?(?:(Z)|([+-])(\d{1,2})(?::(\d{1,2}))?)?)?)?)?/;
MochiKit.DateTime.isoTimestamp=function(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,month,day,hour,min,sec,msec;
year=parseInt(res[1],10);
if(typeof (res[2])=="undefined"||res[2]===""){
return new Date(year);
}
month=parseInt(res[2],10)-1;
day=parseInt(res[3],10);
if(typeof (res[4])=="undefined"||res[4]===""){
return new Date(year,month,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,month,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,month,day,hour,min,sec,msec)-ofs);
};
MochiKit.DateTime.toISOTime=function(date,_226){
if(typeof (date)=="undefined"||date===null){
return null;
}
var hh=date.getHours();
var mm=date.getMinutes();
var ss=date.getSeconds();
var lst=[((_226&&(hh<10))?"0"+hh:hh),((mm<10)?"0"+mm:mm),((ss<10)?"0"+ss:ss)];
return lst.join(":");
};
MochiKit.DateTime.toISOTimestamp=function(date,_230){
if(typeof (date)=="undefined"||date===null){
return null;
}
var sep=_230?"T":" ";
var foot=_230?"Z":"";
if(_230){
date=new Date(date.getTime()+(date.getTimezoneOffset()*60000));
}
return MochiKit.DateTime.toISODate(date)+sep+MochiKit.DateTime.toISOTime(date,_230)+foot;
};
MochiKit.DateTime.toISODate=function(date){
if(typeof (date)=="undefined"||date===null){
return null;
}
var _233=MochiKit.DateTime._padTwo;
return [date.getFullYear(),_233(date.getMonth()+1),_233(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.toPaddedAmericanDate=function(d){
if(typeof (d)=="undefined"||d===null){
return null;
}
var _235=MochiKit.DateTime._padTwo;
return [_235(d.getMonth()+1),_235(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.EXPORT=["isoDate","isoTimestamp","toISOTime","toISOTimestamp","toISODate","americanDate","toPaddedAmericanDate","toAmericanDate"];
MochiKit.DateTime.EXPORT_OK=[];
MochiKit.DateTime.EXPORT_TAGS={":common":MochiKit.DateTime.EXPORT,":all":MochiKit.DateTime.EXPORT};
MochiKit.DateTime.__new__=function(){
var base=this.NAME+".";
for(var k in this){
var o=this[k];
if(typeof (o)=="function"&&typeof (o.NAME)=="undefined"){
try{
o.NAME=base+k;
}
catch(e){
}
}
}
};
MochiKit.DateTime.__new__();
if(typeof (MochiKit.Base)!="undefined"){
MochiKit.Base._exportSymbols(this,MochiKit.DateTime);
}else{
(function(_236,_237){
if((typeof (JSAN)=="undefined"&&typeof (dojo)=="undefined")||(MochiKit.__export__===false)){
var all=_237.EXPORT_TAGS[":all"];
for(var i=0;i_245){
var i=_251.length-_245;
res=fmt.separator+_251.substring(i,_251.length)+res;
_251=_251.substring(0,i);
}
}
res=_251+res;
if(_243>0){
while(frac.length<_246){
frac=frac+"0";
}
res=res+fmt.decimal+frac;
}
return _247+res+_248;
};
};
MochiKit.Format.numberFormatter=function(_253,_254,_255){
if(typeof (_254)=="undefined"){
_254="";
}
var _256=_253.match(/((?:[0#]+,)?[0#]+)(?:\.([0#]+))?(%)?/);
if(!_256){
throw TypeError("Invalid pattern");
}
var _257=_253.substr(0,_256.index);
var _258=_253.substr(_256.index+_256[0].length);
if(_257.search(/-/)==-1){
_257=_257+"-";
}
var _259=_256[1];
var frac=(typeof (_256[2])=="string"&&_256[2]!="")?_256[2]:"";
var _260=(typeof (_256[3])=="string"&&_256[3]!="");
var tmp=_259.split(/,/);
var _262;
if(typeof (_255)=="undefined"){
_255="default";
}
if(tmp.length==1){
_262=null;
}else{
_262=tmp[1].length;
}
var _263=_259.length-_259.replace(/0/g,"").length;
var _264=frac.length-frac.replace(/0/g,"").length;
var _265=frac.length;
var rval=MochiKit.Format._numberFormatter(_254,_257,_258,_255,_260,_265,_263,_262,_264);
var m=MochiKit.Base;
if(m){
var fn=arguments.callee;
var args=m.concat(arguments);
rval.repr=function(){
return [self.NAME,"(",map(m.repr,args).join(", "),")"].join("");
};
}
return rval;
};
MochiKit.Format.formatLocale=function(_267){
if(typeof (_267)=="undefined"||_267===null){
_267="default";
}
if(typeof (_267)=="string"){
var rval=MochiKit.Format.LOCALE[_267];
if(typeof (rval)=="string"){
rval=arguments.callee(rval);
MochiKit.Format.LOCALE[_267]=rval;
}
return rval;
}else{
return _267;
}
};
MochiKit.Format.twoDigitAverage=function(_268,_269){
if(_269){
var res=_268/_269;
if(!isNaN(res)){
return MochiKit.Format.twoDigitFloat(_268/_269);
}
}
return "0";
};
MochiKit.Format.twoDigitFloat=function(_270){
var sign=(_270<0?"-":"");
var s=Math.floor(Math.abs(_270)*100).toString();
if(s=="0"){
return s;
}
if(s.length<3){
while(s.charAt(s.length-1)=="0"){
s=s.substring(0,s.length-1);
}
return sign+"0."+s;
}
var head=sign+s.substring(0,s.length-2);
var tail=s.substring(s.length-2,s.length);
if(tail=="00"){
return head;
}else{
if(tail.charAt(1)=="0"){
return head+"."+tail.charAt(0);
}else{
return head+"."+tail;
}
}
};
MochiKit.Format.lstrip=function(str,_275){
str=str+"";
if(typeof (str)!="string"){
return null;
}
if(!_275){
return str.replace(/^\s+/,"");
}else{
return str.replace(new RegExp("^["+_275+"]+"),"");
}
};
MochiKit.Format.rstrip=function(str,_276){
str=str+"";
if(typeof (str)!="string"){
return null;
}
if(!_276){
return str.replace(/\s+$/,"");
}else{
return str.replace(new RegExp("["+_276+"]+$"),"");
}
};
MochiKit.Format.strip=function(str,_277){
var self=MochiKit.Format;
return self.rstrip(self.lstrip(str,_277),_277);
};
MochiKit.Format.truncToFixed=function(_278,_279){
_278=Math.floor(_278*Math.pow(10,_279));
var res=(_278*Math.pow(10,-_279)).toFixed(_279);
if(res.charAt(0)=="."){
res="0"+res;
}
return res;
};
MochiKit.Format.roundToFixed=function(_280,_281){
return MochiKit.Format.truncToFixed(_280+0.5*Math.pow(10,-_281),_281);
};
MochiKit.Format.percentFormat=function(_282){
return MochiKit.Format.twoDigitFloat(100*_282)+"%";
};
MochiKit.Format.EXPORT=["truncToFixed","roundToFixed","numberFormatter","formatLocale","twoDigitAverage","twoDigitFloat","percentFormat","lstrip","rstrip","strip"];
MochiKit.Format.LOCALE={en_US:{separator:",",decimal:".",percent:"%"},de_DE:{separator:".",decimal:",",percent:"%"},fr_FR:{separator:" ",decimal:",",percent:"%"},"default":"en_US"};
MochiKit.Format.EXPORT_OK=[];
MochiKit.Format.EXPORT_TAGS={":all":MochiKit.Format.EXPORT,":common":MochiKit.Format.EXPORT};
MochiKit.Format.__new__=function(){
var base=this.NAME+".";
var k,v,o;
for(k in this.LOCALE){
o=this.LOCALE[k];
if(typeof (o)=="object"){
o.repr=function(){
return this.NAME;
};
o.NAME=base+"LOCALE."+k;
}
}
for(k in this){
o=this[k];
if(typeof (o)=="function"&&typeof (o.NAME)=="undefined"){
try{
o.NAME=base+k;
}
catch(e){
}
}
}
};
MochiKit.Format.__new__();
if(typeof (MochiKit.Base)!="undefined"){
MochiKit.Base._exportSymbols(this,MochiKit.Format);
}else{
(function(_283,_284){
if((typeof (JSAN)=="undefined"&&typeof (dojo)=="undefined")||(MochiKit.__export__===false)){
var all=_284.EXPORT_TAGS[":all"];
for(var i=0;i1){
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");
}
this.chain.push([cb,eb]);
if(this.fired>=0){
this._fire();
}
return this;
},_fire:function(){
var _289=this.chain;
var _290=this.fired;
var res=this.results[_290];
var self=this;
var cb=null;
while(_289.length>0&&this.paused===0){
var pair=_289.shift();
var f=pair[_290];
if(f===null){
continue;
}
try{
res=f(res);
_290=((res instanceof Error)?1:0);
if(res instanceof MochiKit.Async.Deferred){
cb=function(res){
self._resback(res);
self.paused--;
if((self.paused===0)&&(self.fired>=0)){
self._fire();
}
};
this.paused++;
}
}
catch(err){
_290=1;
if(!(err instanceof Error)){
err=new MochiKit.Async.GenericError(err);
}
res=err;
}
}
this.fired=_290;
this.results[_290]=res;
if(cb&&this.paused){
res.addBoth(cb);
res.chained=true;
}
}};
MochiKit.Base.update(MochiKit.Async,{evalJSONRequest:function(){
return eval("("+arguments[0].responseText+")");
},succeed:function(_292){
var d=new MochiKit.Async.Deferred();
d.callback.apply(d,arguments);
return d;
},fail:function(_293){
var d=new MochiKit.Async.Deferred();
d.errback.apply(d,arguments);
return d;
},getXMLHttpRequest:function(){
var self=arguments.callee;
if(!self.XMLHttpRequest){
var _294=[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<_294.length;i++){
var func=_294[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 _295=null;
try{
_295=this.status;
if(!_295&&m.isNotEmpty(this.responseText)){
_295=304;
}
}
catch(e){
}
if(_295==200||_295==304){
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,_298){
if(typeof (_298)=="undefined"||_298===null){
_298="";
}
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(_298);
}
catch(e){
try{
req.onreadystatechange=null;
}
catch(ignore){
}
d.errback(e);
}
return d;
},doSimpleXMLHttpRequest:function(url){
var self=MochiKit.Async;
var req=self.getXMLHttpRequest();
if(arguments.length>1){
var m=MochiKit.Base;
var qs=m.queryString.apply(null,m.extend(null,arguments,1));
if(qs){
url+="?"+qs;
}
}
req.open("GET",url,true);
return self.sendXMLHttpRequest(req);
},loadJSONDoc:function(url){
var self=MochiKit.Async;
var d=self.doSimpleXMLHttpRequest.apply(self,arguments);
d=d.addCallback(self.evalJSONRequest);
return d;
},wait:function(_301,_302){
var d=new MochiKit.Async.Deferred();
var m=MochiKit.Base;
if(typeof (_302)!="undefined"){
d.addCallback(function(){
return _302;
});
}
var _303=setTimeout(m.bind("callback",d),Math.floor(_301*1000));
d.canceller=function(){
try{
clearTimeout(_303);
}
catch(e){
}
};
return d;
},callLater:function(_304,func){
var m=MochiKit.Base;
var _305=m.partial.apply(m,m.extend(null,arguments,1));
return MochiKit.Async.wait(_304).addCallback(function(res){
return _305();
});
}});
MochiKit.Async.DeferredLock=function(){
this.waiting=[];
this.locked=false;
this.id=this._nextId();
};
MochiKit.Async.DeferredLock.prototype={__class__:MochiKit.Async.DeferredLock,acquire:function(){
d=new MochiKit.Async.Deferred();
if(this.locked){
this.waiting.push(d);
}else{
this.locked=true;
d.callback(this);
}
return d;
},release:function(){
if(!this.locked){
throw TypeError("Tried to release an unlocked DeferredLock");
}
this.locked=false;
if(this.waiting.length>0){
this.locked=true;
this.waiting.shift().callback(this);
}
},_nextId:MochiKit.Base.counter(),repr:function(){
var _306;
if(this.locked){
_306="locked, "+this.waiting.length+" waiting";
}else{
_306="unlocked";
}
return "DeferredLock("+this.id+", "+_306+")";
},toString:MochiKit.Base.forwardCall("repr")};
MochiKit.Async.DeferredList=function(list,_308,_309,_310,_311){
MochiKit.Async.Deferred.apply(this,[_311]);
this.list=list;
var _312=[];
this.resultList=_312;
this.finishedCount=0;
this.fireOnOneCallback=_308;
this.fireOnOneErrback=_309;
this.consumeErrors=_310;
var cb=MochiKit.Base.bind(this._cbDeferred,this);
for(var i=0;i=0){
var opt=elem.options[elem.selectedIndex];
_326.push(name);
_327.push((opt.value)?opt.value:opt.text);
return null;
}
_326.push(name);
_327.push("");
return null;
}else{
var opts=elem.options;
if(!opts.length){
_326.push(name);
_327.push("");
return null;
}
for(var i=0;i0){
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 _342=null;
try{
_342=iter(node);
}
catch(e){
}
if(_342){
return map(_340,_342,_338(ctx));
}
}
try{
node=_339.match(node,ctx);
continue;
}
catch(e){
if(e!=_341){
throw e;
}
}
return self._document.createTextNode(node.toString());
}
return undefined;
},setNodeAttribute:function(node,attr,_344){
var o={};
o[attr]=_344;
try{
return MochiKit.DOM.updateNodeAttributes(node,o);
}
catch(e){
}
return null;
},getNodeAttribute:function(node,attr){
var self=MochiKit.DOM;
var _345=self.attributeArray.renames[attr];
node=self.getElement(node);
try{
if(_345){
return node[_345];
}
return node.getAttribute(attr);
}
catch(e){
}
return null;
},updateNodeAttributes:function(node,_346){
var elem=node;
var self=MochiKit.DOM;
if(typeof (node)=="string"){
elem=self.getElement(node);
}
if(_346){
var _347=MochiKit.Base.updatetree;
if(self.attributeArray.compliant){
for(var k in _346){
var v=_346[k];
if(typeof (v)=="object"&&typeof (elem[k])=="object"){
_347(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);
}
}
}
}else{
var _348=self.attributeArray.renames;
for(k in _346){
v=_346[k];
var _349=_348[k];
if(k=="style"&&typeof (v)=="string"){
elem.style.cssText=v;
}else{
if(typeof (_349)=="string"){
elem[_349]=v;
}else{
if(typeof (elem[k])=="object"&&typeof (v)=="object"){
_347(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);
}
}
}
}
}
}
}
return elem;
},appendChildNodes:function(node){
var elem=node;
var self=MochiKit.DOM;
if(typeof (node)=="string"){
elem=self.getElement(node);
}
var _350=[self.coerceToDOM(MochiKit.Base.extend(null,arguments,1),elem)];
var _351=MochiKit.Base.concat;
while(_350.length){
var n=_350.shift();
if(typeof (n)=="undefined"||n===null){
}else{
if(typeof (n.nodeType)=="number"){
elem.appendChild(n);
}else{
_350=_351(n,_350);
}
}
}
return elem;
},replaceChildNodes:function(node){
var elem=node;
var self=MochiKit.DOM;
if(typeof (node)=="string"){
elem=self.getElement(node);
arguments[0]=elem;
}
var _352;
while((_352=elem.firstChild)){
elem.removeChild(_352);
}
if(arguments.length<2){
return elem;
}else{
return self.appendChildNodes.apply(this,arguments);
}
},createDOM:function(name,_353){
var elem;
var self=MochiKit.DOM;
var m=MochiKit.Base;
if(typeof (_353)=="string"||typeof (_353)=="number"){
var args=m.extend([name,null],arguments,1);
return arguments.callee.apply(this,args);
}
if(typeof (name)=="string"){
if(_353&&!self.attributeArray.compliant){
var _354="";
if("name" in _353){
_354+=" name=\""+self.escapeHTML(_353.name)+"\"";
}
if(name=="input"&&"type" in _353){
_354+=" type=\""+self.escapeHTML(_353.type)+"\"";
}
if(_354){
name="<"+name+_354+">";
}
}
elem=self._document.createElement(name);
}else{
elem=name;
}
if(_353){
self.updateNodeAttributes(elem,_353);
}
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 e=MochiKit.DOM.getElement(elem);
e.parentNode.removeChild(e);
return e;
},swapDOM:function(dest,src){
var self=MochiKit.DOM;
dest=self.getElement(dest);
var _357=dest.parentNode;
if(src){
src=self.getElement(src);
_357.replaceChild(src,dest);
}else{
_357.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(_359,_360,_361){
var self=MochiKit.DOM;
if(typeof (_359)=="undefined"||_359===null){
_359="*";
}
if(typeof (_361)=="undefined"||_361===null){
_361=self._document;
}
_361=self.getElement(_361);
var _362=(_361.getElementsByTagName(_359)||self._document.all);
if(typeof (_360)=="undefined"||_360===null){
return MochiKit.Base.extend(null,_362);
}
var _363=[];
for(var i=0;i<_362.length;i++){
var _364=_362[i];
var _365=_364.className.split(" ");
for(var j=0;j<_365.length;j++){
if(_365[j]==_360){
_363.push(_364);
break;
}
}
}
return _363;
},_newCallStack:function(path,once){
var rval=function(){
var _368=arguments.callee.callStack;
for(var i=0;i<_368.length;i++){
if(_368[i].apply(this,arguments)===false){
break;
}
}
if(once){
try{
this[path]=null;
}
catch(e){
}
}
};
rval.callStack=[];
return rval;
},addToCallStack:function(_369,path,func,once){
var self=MochiKit.DOM;
var _370=_369[path];
var _371=_370;
if(!(typeof (_370)=="function"&&typeof (_370.callStack)=="object"&&_370.callStack!==null)){
_371=self._newCallStack(path,once);
if(typeof (_370)=="function"){
_371.callStack.push(_370);
}
_369[path]=_371;
}
_371.callStack.push(func);
},addLoadEvent:function(func){
var self=MochiKit.DOM;
self.addToCallStack(self._window,"onload",func,true);
},focusOnLoad:function(_372){
var self=MochiKit.DOM;
self.addLoadEvent(function(){
_372=self.getElement(_372);
if(_372){
_372.focus();
}
});
},setElementClass:function(_373,_374){
var self=MochiKit.DOM;
var obj=self.getElement(_373);
if(self.attributeArray.compliant){
obj.setAttribute("class",_374);
}else{
obj.setAttribute("className",_374);
}
},toggleElementClass:function(_375){
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 _391=[dom];
var self=MochiKit.DOM;
var _392=self.escapeHTML;
var _393=self.attributeArray;
while(_391.length){
dom=_391.pop();
if(typeof (dom)=="string"){
lst.push(dom);
}else{
if(dom.nodeType==1){
lst.push("<"+dom.nodeName.toLowerCase());
var _394=[];
var _395=_393(dom);
for(var i=0;i<_395.length;i++){
var a=_395[i];
_394.push([" ",a.name,"=\"",_392(a.value),"\""]);
}
_394.sort();
for(i=0;i<_394.length;i++){
var _396=_394[i];
for(var j=0;j<_396.length;j++){
lst.push(_396[j]);
}
}
if(dom.hasChildNodes()){
lst.push(">");
_391.push(""+dom.nodeName.toLowerCase()+">");
var _397=dom.childNodes;
for(i=_397.length-1;i>=0;i--){
_391.push(_397[i]);
}
}else{
lst.push("/>");
}
}else{
if(dom.nodeType==3){
lst.push(_392(dom.nodeValue));
}
}
}
}
return lst;
},scrapeText:function(node,_398){
var rval=[];
(function(node){
var cn=node.childNodes;
if(cn){
for(var i=0;i0){
var _404=m.filter;
_403=function(node){
return _404(_403.ignoreAttrFilter,node.attributes);
};
_403.ignoreAttr={};
var _405=_402.attributes;
var _406=_403.ignoreAttr;
for(var i=0;i<_405.length;i++){
var a=_405[i];
_406[a.name]=a.value;
}
_403.ignoreAttrFilter=function(a){
return (_403.ignoreAttr[a.name]!=a.value);
};
_403.compliant=false;
_403.renames={"class":"className","checked":"defaultChecked","usemap":"useMap","for":"htmlFor","readonly":"readOnly"};
}else{
_403=function(node){
return node.attributes;
};
_403.compliant=true;
_403.renames={};
}
this.attributeArray=_403;
var _407=function(_408,arr){
var _409=arr[1].split(".");
var str="";
var obj={};
str+="if (!MochiKit."+_409[1]+") { throw new Error(\"";
str+="This function has been deprecated and depends on MochiKit.";
str+=_409[1]+".\");}";
str+="return MochiKit."+_409[1]+"."+arr[0];
str+=".apply(this, arguments);";
obj[_409[2]]=new Function(str);
MochiKit.Base.update(MochiKit[_408],obj);
};
for(var i;i<&-]/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 _444=doc.getElementById(uid);
var _445=!!_444;
if(_444&&typeof (_444.loggingPane)!="undefined"){
_444.loggingPane.logger=this.logger;
_444.loggingPane.buildAndApplyFilter();
return _444.loggingPane;
}
if(_445){
var _446;
while((_446=_444.firstChild)){
_444.removeChild(_446);
}
}else{
_444=doc.createElement("div");
_444.id=uid;
}
_444.loggingPane=this;
var _447=doc.createElement("input");
var _448=doc.createElement("input");
var _449=doc.createElement("button");
var _450=doc.createElement("button");
var _451=doc.createElement("button");
var _452=doc.createElement("button");
var _453=doc.createElement("div");
var _454=doc.createElement("div");
var _455=uid+"_Listener";
this.colorTable=_441(this.colorTable);
var _456=[];
var _457=null;
var _458=function(msg){
var _459=msg.level;
if(typeof (_459)=="number"){
_459=MochiKit.Logging.LogLevel[_459];
}
return _459;
};
var _460=function(msg){
return msg.info.join(" ");
};
var _461=bind(function(msg){
var _462=_458(msg);
var text=_460(msg);
var c=this.colorTable[_462];
var p=doc.createElement("span");
p.className="MochiKit-LogMessage MochiKit-LogLevel-"+_462;
p.appendChild(doc.createTextNode(_462+": "+text));
_454.appendChild(p);
_454.appendChild(doc.createElement("br"));
if(_453.offsetHeight>_453.scrollHeight){
_453.scrollTop=0;
}else{
_453.scrollTop=_453.scrollHeight;
}
},this);
var _464=function(msg){
_456[_456.length]=msg;
_461(msg);
};
var _465=function(){
var _466,infore;
try{
_466=new RegExp(_447.value);
infore=new RegExp(_448.value);
}
catch(e){
logDebug("Error in filter regex: "+e.message);
return null;
}
return function(msg){
return (_466.test(_458(msg))&&infore.test(_460(msg)));
};
};
var _467=function(){
while(_454.firstChild){
_454.removeChild(_454.firstChild);
}
};
var _468=function(){
_456=[];
_467();
};
var _469=bind(function(){
if(this.closed){
return;
}
this.closed=true;
if(MochiKit.LoggingPane._loggingPane==this){
MochiKit.LoggingPane._loggingPane=null;
}
this.logger.removeListener(_455);
_444.loggingPane=null;
if(_437){
_444.parentNode.removeChild(_444);
}else{
this.win.close();
}
},this);
var _470=function(){
_467();
for(var i=0;i<_456.length;i++){
var msg=_456[i];
if(_457===null||_457(msg)){
_461(msg);
}
}
};
this.buildAndApplyFilter=function(){
_457=_465();
_470();
this.logger.removeListener(_455);
this.logger.addListener(_455,_457,_464);
};
var _471=bind(function(){
_456=this.logger.getMessages();
_470();
},this);
var _472=bind(function(_473){
_473=_473||window.event;
key=_473.which||_473.keyCode;
if(key==13){
this.buildAndApplyFilter();
}
},this);
var _474="display: block; z-index: 1000; left: 0px; bottom: 0px; position: fixed; width: 100%; background-color: white; font: "+this.logFont;
if(_437){
_474+="; height: 10em; border-top: 2px solid black";
}else{
_474+="; height: 100%;";
}
_444.style.cssText=_474;
if(!_445){
doc.body.appendChild(_444);
}
_474={"cssText":"width: 33%; display: inline; font: "+this.logFont};
_440(_447,{"value":"FATAL|ERROR|WARNING|INFO|DEBUG","onkeypress":_472,"style":_474});
_444.appendChild(_447);
_440(_448,{"value":".*","onkeypress":_472,"style":_474});
_444.appendChild(_448);
_474="width: 8%; display:inline; font: "+this.logFont;
_449.appendChild(doc.createTextNode("Filter"));
_449.onclick=bind("buildAndApplyFilter",this);
_449.style.cssText=_474;
_444.appendChild(_449);
_450.appendChild(doc.createTextNode("Load"));
_450.onclick=_471;
_450.style.cssText=_474;
_444.appendChild(_450);
_451.appendChild(doc.createTextNode("Clear"));
_451.onclick=_468;
_451.style.cssText=_474;
_444.appendChild(_451);
_452.appendChild(doc.createTextNode("Close"));
_452.onclick=_469;
_452.style.cssText=_474;
_444.appendChild(_452);
_453.style.cssText="overflow: auto; width: 100%";
_454.style.cssText="width: 100%; height: "+(_437?"8em":"100%");
_453.appendChild(_454);
_444.appendChild(_453);
this.buildAndApplyFilter();
_471();
if(_437){
this.win=undefined;
}else{
this.win=win;
}
this.inline=_437;
this.closePane=_469;
this.closed=false;
return this;
};
MochiKit.LoggingPane.LoggingPane.prototype={"logFont":"8pt Verdana,sans-serif","colorTable":{"ERROR":"red","FATAL":"darkred","WARNING":"blue","INFO":"black","DEBUG":"green"}};
MochiKit.LoggingPane.EXPORT_OK=["LoggingPane"];
MochiKit.LoggingPane.EXPORT=["createLoggingPane"];
MochiKit.LoggingPane.__new__=function(){
this.EXPORT_TAGS={":common":this.EXPORT,":all":MochiKit.Base.concat(this.EXPORT,this.EXPORT_OK)};
MochiKit.Base.nameFunctions(this);
MochiKit.LoggingPane._loggingPane=null;
};
MochiKit.LoggingPane.__new__();
MochiKit.Base._exportSymbols(this,MochiKit.LoggingPane);
if(typeof (dojo)!="undefined"){
dojo.provide("MochiKit.Color");
dojo.require("MochiKit.Base");
dojo.require("MochiKit.DOM");
dojo.require("MochiKit.Style");
}
if(typeof (JSAN)!="undefined"){
JSAN.use("MochiKit.Base",[]);
JSAN.use("MochiKit.DOM",[]);
JSAN.use("MochiKit.Style",[]);
}
try{
if(typeof (MochiKit.Base)=="undefined"){
throw "";
}
}
catch(e){
throw "MochiKit.Color depends on MochiKit.Base";
}
try{
if(typeof (MochiKit.Base)=="undefined"){
throw "";
}
}
catch(e){
throw "MochiKit.Color depends on MochiKit.DOM";
}
try{
if(typeof (MochiKit.Base)=="undefined"){
throw "";
}
}
catch(e){
throw "MochiKit.Color depends on MochiKit.Style";
}
if(typeof (MochiKit.Color)=="undefined"){
MochiKit.Color={};
}
MochiKit.Color.NAME="MochiKit.Color";
MochiKit.Color.VERSION="1.4";
MochiKit.Color.__repr__=function(){
return "["+this.NAME+" "+this.VERSION+"]";
};
MochiKit.Color.toString=function(){
return this.__repr__();
};
MochiKit.Color.Color=function(red,_476,blue,_478){
if(typeof (_478)=="undefined"||_478===null){
_478=1;
}
this.rgb={r:red,g:_476,b:blue,a:_478};
};
MochiKit.Color.Color.prototype={__class__:MochiKit.Color.Color,colorWithAlpha:function(_479){
var rgb=this.rgb;
var m=MochiKit.Color;
return m.Color.fromRGB(rgb.r,rgb.g,rgb.b,_479);
},colorWithHue:function(hue){
var hsl=this.asHSL();
hsl.h=hue;
var m=MochiKit.Color;
return m.Color.fromHSL(hsl);
},colorWithSaturation:function(_483){
var hsl=this.asHSL();
hsl.s=_483;
var m=MochiKit.Color;
return m.Color.fromHSL(hsl);
},colorWithLightness:function(_484){
var hsl=this.asHSL();
hsl.l=_484;
var m=MochiKit.Color;
return m.Color.fromHSL(hsl);
},darkerColorWithLevel:function(_485){
var hsl=this.asHSL();
hsl.l=Math.max(hsl.l-_485,0);
var m=MochiKit.Color;
return m.Color.fromHSL(hsl);
},lighterColorWithLevel:function(_486){
var hsl=this.asHSL();
hsl.l=Math.min(hsl.l+_486,1);
var m=MochiKit.Color;
return m.Color.fromHSL(hsl);
},blendedColor:function(_487,_488){
if(typeof (_488)=="undefined"||_488===null){
_488=0.5;
}
var sf=1-_488;
var s=this.rgb;
var d=_487.rgb;
var df=_488;
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(_491){
var a=this.asRGB();
var b=_491.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().b>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,_496,blue,_497){
var _498=MochiKit.Color.Color;
if(arguments.length==1){
var rgb=red;
red=rgb.r;
_496=rgb.g;
blue=rgb.b;
if(typeof (rgb.a)=="undefined"){
_497=undefined;
}else{
_497=rgb.a;
}
}
return new _498(red,_496,blue,_497);
},fromHSL:function(hue,_499,_500,_501){
var m=MochiKit.Color;
return m.Color.fromRGB(m.hslToRGB.apply(m,arguments));
},fromHSV:function(hue,_502,_503,_504){
var m=MochiKit.Color;
return m.Color.fromRGB(m.hsvToRGB.apply(m,arguments));
},fromName:function(name){
var _505=MochiKit.Color.Color;
if(name.charAt(0)=="\""){
name=name.substr(1,name.length-2);
}
var _506=_505._namedColors[name.toLowerCase()];
if(typeof (_506)=="string"){
return _505.fromHexString(_506);
}else{
if(name=="transparent"){
return _505.transparentColor();
}
}
return null;
},fromString:function(_507){
var self=MochiKit.Color.Color;
var _508=_507.substr(0,3);
if(_508=="rgb"){
return self.fromRGBString(_507);
}else{
if(_508=="hsl"){
return self.fromHSLString(_507);
}else{
if(_507.charAt(0)=="#"){
return self.fromHexString(_507);
}
}
}
return self.fromName(_507);
},fromHexString:function(_509){
if(_509.charAt(0)=="#"){
_509=_509.substring(1);
}
var _510=[];
var i,hex;
if(_509.length==3){
for(i=0;i<3;i++){
hex=_509.substr(i,1);
_510.push(parseInt(hex+hex,16)/255);
}
}else{
for(i=0;i<6;i+=2){
hex=_509.substr(i,2);
_510.push(parseInt(hex,16)/255);
}
}
var _511=MochiKit.Color.Color;
return _511.fromRGB.apply(_511,_510);
},_fromColorString:function(pre,_513,_514,_515){
if(_515.indexOf(pre)===0){
_515=_515.substring(_515.indexOf("(",3)+1,_515.length-1);
}
var _516=_515.split(/\s*,\s*/);
var _517=[];
for(var i=0;i<_516.length;i++){
var c=_516[i];
var val;
var _518=c.substring(c.length-3);
if(c.charAt(c.length-1)=="%"){
val=0.01*parseFloat(c.substring(0,c.length-1));
}else{
if(_518=="deg"){
val=parseFloat(c)/360;
}else{
if(_518=="rad"){
val=parseFloat(c)/(Math.PI*2);
}else{
val=_514[i]*parseFloat(c);
}
}
}
_517.push(val);
}
return this[_513].apply(this,_517);
},fromComputedStyle:function(elem,_519){
var d=MochiKit.DOM;
var cls=MochiKit.Color.Color;
for(elem=d.getElement(elem);elem;elem=elem.parentNode){
var _520=MochiKit.Style.computedStyle.apply(d,arguments);
if(!_520){
continue;
}
var _521=cls.fromString(_520);
if(!_521){
break;
}
if(_521.asRGB().a>0){
return _521;
}
}
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,_522){
v*=_522;
if(v<0){
return 0;
}else{
if(v>_522){
return _522;
}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,_525,_526,_527){
if(arguments.length==1){
var hsv=hue;
hue=hsv.h;
_525=hsv.s;
_526=hsv.v;
_527=hsv.a;
}
var red;
var _528;
var blue;
if(_525===0){
red=0;
_528=0;
blue=0;
}else{
var i=Math.floor(hue*6);
var f=(hue*6)-i;
var p=_526*(1-_525);
var q=_526*(1-(_525*f));
var t=_526*(1-(_525*(1-f)));
switch(i){
case 1:
red=q;
_528=_526;
blue=p;
break;
case 2:
red=p;
_528=_526;
blue=t;
break;
case 3:
red=p;
_528=q;
blue=_526;
break;
case 4:
red=t;
_528=p;
blue=_526;
break;
case 5:
red=_526;
_528=p;
blue=q;
break;
case 6:
case 0:
red=_526;
_528=t;
blue=p;
break;
}
}
return {r:red,g:_528,b:blue,a:_527};
},hslToRGB:function(hue,_530,_531,_532){
if(arguments.length==1){
var hsl=hue;
hue=hsl.h;
_530=hsl.s;
_531=hsl.l;
_532=hsl.a;
}
var red;
var _533;
var blue;
if(_530===0){
red=_531;
_533=_531;
blue=_531;
}else{
var m2;
if(_531<=0.5){
m2=_531*(1+_530);
}else{
m2=_531+_530-(_531*_530);
}
var m1=(2*_531)-m2;
var f=MochiKit.Color._hslValue;
var h6=hue*6;
red=f(m1,m2,h6+2);
_533=f(m1,m2,h6);
blue=f(m1,m2,h6-2);
}
return {r:red,g:_533,b:blue,a:_532};
},rgbToHSV:function(red,_537,blue,_538){
if(arguments.length==1){
var rgb=red;
red=rgb.r;
_537=rgb.g;
blue=rgb.b;
_538=rgb.a;
}
var max=Math.max(Math.max(red,_537),blue);
var min=Math.min(Math.min(red,_537),blue);
var hue;
var _541;
var _542=max;
if(min==max){
hue=0;
_541=0;
}else{
var _543=(max-min);
_541=_543/max;
if(red==max){
hue=(_537-blue)/_543;
}else{
if(_537==max){
hue=2+((blue-red)/_543);
}else{
hue=4+((red-_537)/_543);
}
}
hue/=6;
if(hue<0){
hue+=1;
}
if(hue>1){
hue-=1;
}
}
return {h:hue,s:_541,v:_542,a:_538};
},rgbToHSL:function(red,_544,blue,_545){
if(arguments.length==1){
var rgb=red;
red=rgb.r;
_544=rgb.g;
blue=rgb.b;
_545=rgb.a;
}
var max=Math.max(red,Math.max(_544,blue));
var min=Math.min(red,Math.min(_544,blue));
var hue;
var _546;
var _547=(max+min)/2;
var _548=max-min;
if(_548===0){
hue=0;
_546=0;
}else{
if(_547<=0.5){
_546=_548/(max+min);
}else{
_546=_548/(2-max-min);
}
if(red==max){
hue=(_544-blue)/_548;
}else{
if(_544==max){
hue=2+((blue-red)/_548);
}else{
hue=4+((red-_544)/_548);
}
}
hue/=6;
if(hue<0){
hue+=1;
}
if(hue>1){
hue-=1;
}
}
return {h:hue,s:_546,l:_547,a:_545};
},toColorPart:function(num){
num=Math.round(num);
var _549=num.toString(16);
if(num<16){
return "0"+_549;
}
return _549;
},__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 _550=1/3;
var _551={black:[0,0,0],blue:[0,0,1],brown:[0.6,0.4,0.2],cyan:[0,1,1],darkGray:[_550,_550,_550],gray:[0.5,0.5,0.5],green:[0,1,0],lightGray:[2*_550,2*_550,2*_550],magenta:[1,0,1],orange:[1,0.5,0],purple:[0.5,0,0.5],red:[1,0,0],transparent:[0,0,0,0],white:[1,1,1],yellow:[1,1,0]};
var _552=function(name,r,g,b,a){
var rval=this.fromRGB(r,g,b,a);
this[name]=function(){
return rval;
};
return rval;
};
for(var k in _551){
var name=k+"Color";
var _554=m.concat([_552,this.Color,name],_551[k]);
this.Color[name]=m.bind.apply(null,_554);
}
var _555=function(){
for(var i=0;i1){
var src=MochiKit.DOM.getElement(arguments[0]);
var sig=arguments[1];
var obj=arguments[2];
var func=arguments[3];
for(var i=_571.length-1;i>=0;i--){
var o=_571[i];
if(o[0]===src&&o[1]===sig&&o[4]===obj&&o[5]===func){
self._disconnect(o);
_571.splice(i,1);
return true;
}
}
}else{
var idx=m.findIdentical(_571,_570);
if(idx>=0){
self._disconnect(_570);
_571.splice(idx,1);
return true;
}
}
return false;
},disconnectAll:function(src,sig){
src=MochiKit.DOM.getElement(src);
var m=MochiKit.Base;
var _572=m.flattenArguments(m.extend(null,arguments,1));
var self=MochiKit.Signal;
var _573=self._disconnect;
var _574=self._observers;
if(_572.length===0){
for(var i=_574.length-1;i>=0;i--){
var _575=_574[i];
if(_575[0]===src){
_573(_575);
_574.splice(i,1);
}
}
}else{
var sigs={};
for(var i=0;i<_572.length;i++){
sigs[_572[i]]=true;
}
for(var i=_574.length-1;i>=0;i--){
var _575=_574[i];
if(_575[0]===src&&_575[1] in sigs){
_573(_575);
_574.splice(i,1);
}
}
}
},signal:function(src,sig){
var _577=MochiKit.Signal._observers;
src=MochiKit.DOM.getElement(src);
var args=MochiKit.Base.extend(null,arguments,2);
var _578=[];
for(var i=0;i<_577.length;i++){
var _579=_577[i];
if(_579[0]===src&&_579[1]===sig){
try{
_579[2].apply(src,args);
}
catch(e){
_578.push(e);
}
}
}
if(_578.length==1){
throw _578[0];
}else{
if(_578.length>1){
var e=new Error("Multiple errors thrown in handling 'sig', see errors property");
e.errors=_578;
throw e;
}
}
}});
MochiKit.Signal.EXPORT_OK=[];
MochiKit.Signal.EXPORT=["connect","disconnect","signal","disconnectAll"];
MochiKit.Signal.__new__=function(win){
var m=MochiKit.Base;
this._document=document;
this._window=win;
try{
this.connect(window,"onunload",this._unloadCache);
}
catch(e){
}
this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};
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);
if(typeof (dojo)!="undefined"){
dojo.provide("MochiKit.Visual");
dojo.require("MochiKit.Base");
dojo.require("MochiKit.DOM");
dojo.require("MochiKit.Style");
dojo.require("MochiKit.Color");
dojo.require("MochiKit.Iter");
}
if(typeof (JSAN)!="undefined"){
JSAN.use("MochiKit.Base",[]);
JSAN.use("MochiKit.DOM",[]);
JSAN.use("MochiKit.Style",[]);
JSAN.use("MochiKit.Color",[]);
JSAN.use("MochiKit.Iter",[]);
}
try{
if(typeof (MochiKit.Base)==="undefined"||typeof (MochiKit.DOM)==="undefined"||typeof (MochiKit.Style)==="undefined"||typeof (MochiKit.Color)==="undefined"||typeof (MochiKit.Iter)==="undefined"){
throw "";
}
}
catch(e){
throw "MochiKit.Visual depends on MochiKit.Base, MochiKit.DOM, MochiKit.Style, MochiKit.Color and MochiKit.Iter!";
}
if(typeof (MochiKit.Visual)=="undefined"){
MochiKit.Visual={};
}
MochiKit.Visual.NAME="MochiKit.Visual";
MochiKit.Visual.VERSION="1.4";
MochiKit.Visual.__repr__=function(){
return "["+this.NAME+" "+this.VERSION+"]";
};
MochiKit.Visual.toString=function(){
return this.__repr__();
};
MochiKit.Visual._RoundCorners=function(e,_580){
e=MochiKit.DOM.getElement(e);
this._setOptions(_580);
if(this.options.__unstable__wrapElement){
e=this._doWrap(e);
}
var _581=this.options.color;
var C=MochiKit.Color.Color;
if(this.options.color==="fromElement"){
_581=C.fromBackground(e);
}else{
if(!(_581 instanceof C)){
_581=C.fromString(_581);
}
}
this.isTransparent=(_581.asRGB().a<=0);
var _583=this.options.bgColor;
if(this.options.bgColor==="fromParent"){
_583=C.fromBackground(e.offsetParent);
}else{
if(!(_583 instanceof C)){
_583=C.fromString(_583);
}
}
this._roundCornersImpl(e,_581,_583);
};
MochiKit.Visual._RoundCorners.prototype={_doWrap:function(e){
var _584=e.parentNode;
var doc=MochiKit.DOM.currentDocument();
if(typeof (doc.defaultView)==="undefined"||doc.defaultView===null){
return e;
}
var _585=doc.defaultView.getComputedStyle(e,null);
if(typeof (_585)==="undefined"||_585===null){
return e;
}
var _586=MochiKit.DOM.DIV({"style":{display:"block",marginTop:_585.getPropertyValue("padding-top"),marginRight:_585.getPropertyValue("padding-right"),marginBottom:_585.getPropertyValue("padding-bottom"),marginLeft:_585.getPropertyValue("padding-left"),padding:"0px"}});
_586.innerHTML=e.innerHTML;
e.innerHTML="";
e.appendChild(_586);
return e;
},_roundCornersImpl:function(e,_587,_588){
if(this.options.border){
this._renderBorder(e,_588);
}
if(this._isTopRounded()){
this._roundTopCorners(e,_587,_588);
}
if(this._isBottomRounded()){
this._roundBottomCorners(e,_587,_588);
}
},_renderBorder:function(el,_590){
var _591="1px solid "+this._borderColor(_590);
var _592="border-left: "+_591;
var _593="border-right: "+_591;
var _594="style='"+_592+";"+_593+"'";
el.innerHTML=""+el.innerHTML+"
";
},_roundTopCorners:function(el,_595,_596){
var _597=this._createCorner(_596);
for(var i=0;i=0;i--){
_600.appendChild(this._createCornerSlice(_598,_599,i,"bottom"));
}
el.style.paddingBottom=0;
el.appendChild(_600);
},_createCorner:function(_601){
var dom=MochiKit.DOM;
return dom.DIV({style:{backgroundColor:_601.toString()}});
},_createCornerSlice:function(_602,_603,n,_604){
var _605=MochiKit.DOM.SPAN();
var _606=_605.style;
_606.backgroundColor=_602.toString();
_606.display="block";
_606.height="1px";
_606.overflow="hidden";
_606.fontSize="1px";
var _607=this._borderColor(_602,_603);
if(this.options.border&&n===0){
_606.borderTopStyle="solid";
_606.borderTopWidth="1px";
_606.borderLeftWidth="0px";
_606.borderRightWidth="0px";
_606.borderBottomWidth="0px";
_606.height="0px";
_606.borderColor=_607.toString();
}else{
if(_607){
_606.borderColor=_607.toString();
_606.borderStyle="solid";
_606.borderWidth="0px 1px";
}
}
if(!this.options.compact&&(n==(this.options.numSlices-1))){
_606.height="2px";
}
this._setMargin(_605,n,_604);
this._setBorder(_605,n,_604);
return _605;
},_setOptions:function(_608){
this.options={corners:"all",color:"fromElement",bgColor:"fromParent",blend:true,border:false,compact:false,__unstable__wrapElement:false};
MochiKit.Base.update(this.options,_608);
this.options.numSlices=(this.options.compact?2:4);
},_whichSideTop:function(){
var _609=this.options.corners;
if(this._hasString(_609,"all","top")){
return "";
}
var _610=(_609.indexOf("tl")!=-1);
var _611=(_609.indexOf("tr")!=-1);
if(_610&&_611){
return "";
}
if(_610){
return "left";
}
if(_611){
return "right";
}
return "";
},_whichSideBottom:function(){
var _612=this.options.corners;
if(this._hasString(_612,"all","bottom")){
return "";
}
var _613=(_612.indexOf("bl")!=-1);
var _614=(_612.indexOf("br")!=-1);
if(_613&&_614){
return "";
}
if(_613){
return "left";
}
if(_614){
return "right";
}
return "";
},_borderColor:function(_615,_616){
if(_615=="transparent"){
return _616;
}else{
if(this.options.border){
return this.options.border;
}else{
if(this.options.blend){
return _616.blendedColor(_615);
}
}
}
return "";
},_setMargin:function(el,n,_617){
var _618=this._marginSize(n)+"px";
var _619=(_617=="top"?this._whichSideTop():this._whichSideBottom());
var _620=el.style;
if(_619=="left"){
_620.marginLeft=_618;
_620.marginRight="0px";
}else{
if(_619=="right"){
_620.marginRight=_618;
_620.marginLeft="0px";
}else{
_620.marginLeft=_618;
_620.marginRight=_618;
}
}
},_setBorder:function(el,n,_621){
var _622=this._borderSize(n)+"px";
var _623=(_621=="top"?this._whichSideTop():this._whichSideBottom());
var _624=el.style;
if(_623=="left"){
_624.borderLeftWidth=_622;
_624.borderRightWidth="0px";
}else{
if(_623=="right"){
_624.borderRightWidth=_622;
_624.borderLeftWidth="0px";
}else{
_624.borderLeftWidth=_622;
_624.borderRightWidth=_622;
}
}
},_marginSize:function(n){
if(this.isTransparent){
return 0;
}
var o=this.options;
if(o.compact&&o.blend){
var _625=[1,0];
return _625[n];
}else{
if(o.compact){
var _626=[2,1];
return _626[n];
}else{
if(o.blend){
var _627=[3,2,1,0];
return _627[n];
}else{
var _628=[5,3,2,1];
return _628[n];
}
}
}
},_borderSize:function(n){
var o=this.options;
var _629;
if(o.compact&&(o.blend||this.isTransparent)){
return 1;
}else{
if(o.compact){
_629=[1,0];
}else{
if(o.blend){
_629=[2,1,1,1];
}else{
if(o.border){
_629=[0,2,0,0];
}else{
if(this.isTransparent){
_629=[5,3,2,1];
}else{
return 0;
}
}
}
}
}
return _629[n];
},_hasString:function(str){
for(var i=1;i=(_654||i)){
_654=i;
}
});
_652=_654||_652;
break;
}
_651.startOn+=_652;
_651.finishOn+=_652;
if(!_651.options.queue.limit||this.effects.length<_651.options.queue.limit){
this.effects.push(_651);
}
if(!this.interval){
this.interval=setInterval(MochiKit.Base.bind(this.loop,this),40);
}
},remove:function(_655){
this.effects=MochiKit.Base.filter(function(e){
return e!=_655;
},this.effects);
if(this.effects.length==0){
clearInterval(this.interval);
this.interval=null;
}
},loop:function(){
var _656=new Date().getTime();
MochiKit.Iter.forEach(this.effects,function(_657){
_657.loop(_656);
});
}});
MochiKit.Visual.Queues={instances:{},get:function(_658){
if(typeof (_658)!="string"){
return _658;
}
if(!this.instances[_658]){
this.instances[_658]=new MochiKit.Visual.ScopedQueue();
}
return this.instances[_658];
}};
MochiKit.Visual.Queue=MochiKit.Visual.Queues.get("global");
MochiKit.Visual.DefaultOptions={transition:MochiKit.Visual.Transitions.sinoidal,duration:1,fps:25,sync:false,from:0,to:1,delay:0,queue:"parallel"};
MochiKit.Visual.Base=function(){
};
MochiKit.Visual.Base.prototype={__class__:MochiKit.Visual.Base,start:function(_659){
var v=MochiKit.Visual;
this.options=MochiKit.Base.setdefault(_659||{},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(_660){
if(_660>=this.startOn){
if(_660>=this.finishOn){
this.render(1);
this.cancel();
this.event("beforeFinish");
this.finish();
this.event("afterFinish");
return;
}
var pos=(_660-this.startOn)/(this.finishOn-this.startOn);
var _661=Math.round(pos*this.options.fps*this.options.duration);
if(_661>this.currentFrame){
this.render(pos);
this.currentFrame=_661;
}
}
},render:function(pos){
if(this.state=="idle"){
this.state="running";
this.event("beforeSetup");
this.setup();
this.event("afterSetup");
}
if(this.state=="running"){
if(this.options.transition){
pos=this.options.transition(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";
},setup:function(){
},finish:function(){
},update:function(_662){
},event:function(_663){
if(this.options[_663+"Internal"]){
this.options[_663+"Internal"](this);
}
if(this.options[_663]){
this.options[_663](this);
}
},repr:function(){
return "["+this.__class__.NAME+", options:"+MochiKit.Base.repr(this.options)+"]";
}};
MochiKit.Visual.Parallel=function(_664,_665){
this.__init__(_664,_665);
};
MochiKit.Visual.Parallel.prototype=new MochiKit.Visual.Base();
MochiKit.Base.update(MochiKit.Visual.Parallel.prototype,{__init__:function(_666,_667){
this.effects=_666||[];
this.start(_667);
},update:function(_668){
MochiKit.Iter.forEach(this.effects,function(_669){
_669.render(_668);
});
},finish:function(){
MochiKit.Iter.forEach(this.effects,function(_670){
_670.render(1);
_670.cancel();
_670.event("beforeFinish");
_670.finish();
_670.event("afterFinish");
});
}});
MochiKit.Visual.Opacity=function(_671,_672){
this.__init__(_671,_672);
};
MochiKit.Visual.Opacity.prototype=new MochiKit.Visual.Base();
MochiKit.Base.update(MochiKit.Visual.Opacity.prototype,{__init__:function(_673,_674){
var b=MochiKit.Base;
var d=MochiKit.DOM;
this.element=d.getElement(_673);
if(b.isIE()&&(!this.element.currentStyle.hasLayout)){
d.setStyle(this.element,{zoom:1});
}
_674=b.update({from:d.getOpacity(this.element)||0,to:1},_674||{});
this.start(_674);
},update:function(_675){
MochiKit.DOM.setOpacity(this.element,_675);
}});
MochiKit.Visual.Move=function(_676,_677){
this.__init__(_676,_677);
};
MochiKit.Visual.Move.prototype=new MochiKit.Visual.Base();
MochiKit.Base.update(MochiKit.Visual.Move.prototype,{__init__:function(_678,_679){
this.element=MochiKit.DOM.getElement(_678);
_679=MochiKit.Base.update({x:0,y:0,mode:"relative"},_679||{});
this.start(_679);
},setup:function(){
var d=MochiKit.DOM;
d.makePositioned(this.element);
var s=this.element.style;
var _680=s.visibility;
var _681=s.display;
if(_681=="none"){
s.visibility="hidden";
s.display="";
}
this.originalLeft=parseFloat(d.getStyle(this.element,"left")||"0");
this.originalTop=parseFloat(d.getStyle(this.element,"top")||"0");
if(this.options.mode=="absolute"){
this.options.x-=this.originalLeft;
this.options.y-=this.originalTop;
}
if(_681=="none"){
s.visibility=_680;
s.display=_681;
}
},update:function(_682){
MochiKit.DOM.setStyle(this.element,{left:Math.round(this.options.x*_682+this.originalLeft)+"px",top:Math.round(this.options.y*_682+this.originalTop)+"px"});
}});
MochiKit.Visual.Scale=function(_683,_684,_685){
this.__init__(_683,_684,_685);
};
MochiKit.Visual.Scale.prototype=new MochiKit.Visual.Base();
MochiKit.Base.update(MochiKit.Visual.Scale.prototype,{__init__:function(_686,_687,_688){
this.element=MochiKit.DOM.getElement(_686);
_688=MochiKit.Base.update({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:"box",scaleFrom:100,scaleTo:_687},_688||{});
this.start(_688);
},setup:function(){
this.restoreAfterFinish=this.options.restoreAfterFinish||false;
this.elementPositioning=MochiKit.DOM.getStyle(this.element,"position");
var fe=MochiKit.Iter.forEach;
var b=MochiKit.Base.bind;
this.originalStyle={};
fe(["top","left","width","height","fontSize"],b(function(k){
this.originalStyle[k]=this.element.style[k];
},this));
this.originalTop=this.element.offsetTop;
this.originalLeft=this.element.offsetLeft;
var _689=MochiKit.DOM.getStyle(this.element,"font-size")||"100%";
fe(["em","px","%"],b(function(_690){
if(_689.indexOf(_690)>0){
this.fontSize=parseFloat(_689);
this.fontSizeType=_690;
}
},this));
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(_691){
var _692=(this.options.scaleFrom/100)+(this.factor*_691);
if(this.options.scaleContent&&this.fontSize){
MochiKit.DOM.setStyle(this.element,{fontSize:this.fontSize*_692+this.fontSizeType});
}
this.setDimensions(this.dims[0]*_692,this.dims[1]*_692);
},finish:function(){
if(this.restoreAfterFinish){
MochiKit.DOM.setStyle(this.element,this.originalStyle);
}
},setDimensions:function(_693,_694){
var d={};
if(this.options.scaleX){
d.width=Math.round(_694)+"px";
}
if(this.options.scaleY){
d.height=Math.round(_693)+"px";
}
if(this.options.scaleFromCenter){
var topd=(_693-this.dims[0])/2;
var _696=(_694-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-_696+"px";
}
}else{
if(this.options.scaleY){
d.top=-topd+"px";
}
if(this.options.scaleX){
d.left=-_696+"px";
}
}
}
MochiKit.DOM.setStyle(this.element,d);
}});
MochiKit.Visual.Highlight=function(_697,_698){
this.__init__(_697,_698);
};
MochiKit.Visual.Highlight.prototype=new MochiKit.Visual.Base();
MochiKit.Base.update(MochiKit.Visual.Highlight.prototype,{__init__:function(_699,_700){
this.element=MochiKit.DOM.getElement(_699);
_700=MochiKit.Base.update({startcolor:"#ffff99"},_700||{});
this.start(_700);
},setup:function(){
var d=MochiKit.DOM;
var b=MochiKit.Base;
if(d.getStyle(this.element,"display")=="none"){
this.cancel();
return;
}
this.oldStyle={backgroundImage:d.getStyle(this.element,"background-image")};
d.setStyle(this.element,{backgroundImage:"none"});
if(!this.options.endcolor){
this.options.endcolor=MochiKit.Color.Color.fromBackground(this.element).toHexString();
}
if(!this.options.restorecolor){
this.options.restorecolor=d.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(_701){
var m="#";
MochiKit.Iter.forEach([0,1,2],MochiKit.Base.bind(function(i){
m+=MochiKit.Color.toColorPart(Math.round(this._base[i]+this._delta[i]*_701));
},this));
MochiKit.DOM.setStyle(this.element,{backgroundColor:m});
},finish:function(){
MochiKit.DOM.setStyle(this.element,MochiKit.Base.update(this.oldStyle,{backgroundColor:this.options.endcolor}));
}});
MochiKit.Visual.ScrollTo=function(_702,_703){
this.__init__(_702,_703);
};
MochiKit.Visual.ScrollTo.prototype=new MochiKit.Visual.Base();
MochiKit.Base.update(MochiKit.Visual.ScrollTo.prototype,{__init__:function(_704,_705){
this.element=MochiKit.DOM.getElement(_704);
this.start(_705||{});
},setup:function(){
var p=MochiKit.Position;
p.prepare();
var _706=p.cumulativeOffset(this.element);
if(this.options.offset){
_706.y+=this.options.offset;
}
var max;
if(window.innerHeight){
max=window.innerHeight-window.height;
}else{
if(document.documentElement&&document.documentElement.clientHeight){
max=document.documentElement.clientHeight-document.body.scrollHeight;
}else{
if(document.body){
max=document.body.clientHeight-document.body.scrollHeight;
}
}
}
this.scrollStart=p.windowOffset.y;
this.delta=(_706.y>max?max:_706.y)-this.scrollStart;
},update:function(_707){
var p=MochiKit.Position;
p.prepare();
window.scrollTo(p.windowOffset.x,this.scrollStart+(_707*this.delta));
}});
MochiKit.Visual.fade=function(_708,_709){
var d=MochiKit.DOM;
var _710=d.getInlineOpacity(_708);
_709=MochiKit.Base.update({from:d.getOpacity(_708)||1,to:0,afterFinishInternal:function(_711){
if(_711.options.to!==0){
return;
}
MochiKit.Style.hideElement(_711.element);
d.setStyle(_711.element,{opacity:_710});
}},_709||{});
return new MochiKit.Visual.Opacity(_708,_709);
};
MochiKit.Visual.appear=function(_712,_713){
var d=MochiKit.DOM;
var v=MochiKit.Visual;
_713=MochiKit.Base.update({from:(d.getStyle(_712,"display")=="none"?0:d.getOpacity(_712)||0),to:1,afterFinishInternal:function(_714){
v.forceRerendering(_714.element);
},beforeSetupInternal:function(_715){
d.setOpacity(_715.element,_715.options.from);
MochiKit.Style.showElement(_715.element);
}},_713||{});
return new v.Opacity(_712,_713);
};
MochiKit.Visual.puff=function(_716,_717){
var d=MochiKit.DOM;
var v=MochiKit.Visual;
_716=d.getElement(_716);
var _718={opacity:d.getInlineOpacity(_716),position:d.getStyle(_716,"position")};
_717=MochiKit.Base.update({beforeSetupInternal:function(_719){
d.setStyle(_719.effects[0].element,{position:"absolute"});
},afterFinishInternal:function(_720){
MochiKit.Style.hideElement(_720.effects[0].element);
d.setStyle(_720.effects[0].element,_718);
}},_717||{});
return new v.Parallel([new v.Scale(_716,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new v.Opacity(_716,{sync:true,to:0})],_717);
};
MochiKit.Visual.blindUp=function(_721,_722){
var d=MochiKit.DOM;
_721=d.getElement(_721);
d.makeClipping(_721);
_722=MochiKit.Base.update({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(_723){
MochiKit.Style.hideElement(_723.element);
d.undoClipping(_723.element);
}},_722||{});
return new MochiKit.Visual.Scale(_721,0,_722);
};
MochiKit.Visual.blindDown=function(_724,_725){
var d=MochiKit.DOM;
_724=d.getElement(_724);
var _726=MochiKit.Style.getElementDimensions(_724);
_725=MochiKit.Base.update({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:_726.h,originalWidth:_726.w},restoreAfterFinish:true,afterSetupInternal:function(_727){
d.makeClipping(_727.element);
d.setStyle(_727.element,{height:"0px"});
MochiKit.Style.showElement(_727.element);
},afterFinishInternal:function(_728){
d.undoClipping(_728.element);
}},_725||{});
return new MochiKit.Visual.Scale(_724,100,_725);
};
MochiKit.Visual.switchOff=function(_729,_730){
var d=MochiKit.DOM;
_729=d.getElement(_729);
var _731=d.getInlineOpacity(_729);
var _730=MochiKit.Base.update({duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetupInternal:function(_732){
d.makePositioned(_732.element);
d.makeClipping(_732.element);
},afterFinishInternal:function(_733){
MochiKit.Style.hideElement(_733.element);
d.undoClipping(_733.element);
d.undoPositioned(_733.element);
d.setStyle(_733.element,{opacity:_731});
}},_730||{});
var v=MochiKit.Visual;
return new v.appear(_729,{duration:0.4,from:0,transition:v.Transitions.flicker,afterFinishInternal:function(_734){
new v.Scale(_734.element,1,_730);
}});
};
MochiKit.Visual.dropOut=function(_735,_736){
var d=MochiKit.DOM;
_735=d.getElement(_735);
var _737={top:d.getStyle(_735,"top"),left:d.getStyle(_735,"left"),opacity:d.getInlineOpacity(_735)};
_736=MochiKit.Base.update({duration:0.5,beforeSetupInternal:function(_738){
d.makePositioned(_738.effects[0].element);
},afterFinishInternal:function(_739){
MochiKit.Style.hideElement(_739.effects[0].element);
d.undoPositioned(_739.effects[0].element);
d.setStyle(_739.effects[0].element,_737);
}},_736||{});
var v=MochiKit.Visual;
return new v.Parallel([new v.Move(_735,{x:0,y:100,sync:true}),new v.Opacity(_735,{sync:true,to:0})],_736);
};
MochiKit.Visual.shake=function(_740,_741){
var d=MochiKit.DOM;
var v=MochiKit.Visual;
_740=d.getElement(_740);
_741=MochiKit.Base.update({x:-20,y:0,duration:0.05,afterFinishInternal:function(_742){
d.undoPositioned(_742.element);
d.setStyle(_742.element,oldStyle);
}},_741||{});
var _743={top:d.getStyle(_740,"top"),left:d.getStyle(_740,"left")};
return new v.Move(_740,{x:20,y:0,duration:0.05,afterFinishInternal:function(_744){
new v.Move(_744.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(_744){
new v.Move(_744.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(_744){
new v.Move(_744.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(_744){
new v.Move(_744.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(_744){
new v.Move(_744.element,_741);
}});
}});
}});
}});
}});
};
MochiKit.Visual.slideDown=function(_745,_746){
var d=MochiKit.DOM;
var b=MochiKit.Base;
_745=d.getElement(_745);
if(!_745.firstChild){
throw "MochiKit.Visual.slideDown must be used on a element with a child";
}
d.removeEmptyTextNodes(_745);
var _747=d.getStyle(_745.firstChild,"bottom")||0;
var _748=MochiKit.Style.getElementDimensions(_745);
_746=b.update({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:_748.h,originalWidth:_748.w},restoreAfterFinish:true,afterSetupInternal:function(_749){
d.makePositioned(_749.element);
d.makePositioned(_749.element.firstChild);
if(b.isOpera()){
d.setStyle(_749.element,{top:""});
}
d.makeClipping(_749.element);
d.setStyle(_749.element,{height:"0px"});
MochiKit.Style.showElement(_745);
},afterUpdateInternal:function(_750){
d.setStyle(_750.element.firstChild,{bottom:(_750.dims[0]-_750.element.clientHeight)+"px"});
},afterFinishInternal:function(_751){
d.undoClipping(_751.element);
if(b.isIE()){
d.undoPositioned(_751.element);
d.undoPositioned(_751.element.firstChild);
}else{
d.undoPositioned(_751.element.firstChild);
d.undoPositioned(_751.element);
}
d.setStyle(_751.element.firstChild,{bottom:_747});
}},_746||{});
return new MochiKit.Visual.Scale(_745,100,_746);
};
MochiKit.Visual.slideUp=function(_752,_753){
var d=MochiKit.DOM;
var b=MochiKit.Base;
_752=d.getElement(_752);
if(!_752.firstChild){
throw "MochiKit.Visual.slideUp must be used on a element with a child";
}
d.removeEmptyTextNodes(_752);
var _754=d.getStyle(_752.firstChild,"bottom");
_753=b.update({scaleContent:false,scaleX:false,scaleMode:"box",scaleFrom:100,restoreAfterFinish:true,beforeStartInternal:function(_755){
d.makePositioned(_755.element);
d.makePositioned(_755.element.firstChild);
if(b.isOpera()){
d.setStyle(_755.element,{top:""});
}
d.makeClipping(_755.element);
MochiKit.Style.showElement(_752);
},afterUpdateInternal:function(_756){
d.setStyle(_756.element.firstChild,{bottom:(_756.dims[0]-_756.element.clientHeight)+"px"});
},afterFinishInternal:function(_757){
MochiKit.Style.hideElement(_757.element);
d.undoClipping(_757.element);
d.undoPositioned(_757.element.firstChild);
d.undoPositioned(_757.element);
d.setStyle(_757.element.firstChild,{bottom:_754});
}},_753||{});
return new MochiKit.Visual.Scale(_752,0,_753);
};
MochiKit.Visual.squish=function(_758,_759){
var d=MochiKit.DOM;
var b=MochiKit.Base;
_759=b.update({restoreAfterFinish:true,beforeSetupInternal:function(_760){
d.makeClipping(_760.element);
},afterFinishInternal:function(_761){
MochiKit.Style.hideElement(_761.element);
d.undoClipping(_761.element);
}},_759||{});
return new MochiKit.Visual.Scale(_758,b.isOpera()?1:0,_759);
};
MochiKit.Visual.grow=function(_762,_763){
var d=MochiKit.DOM;
var v=MochiKit.Visual;
_762=d.getElement(_762);
_763=MochiKit.Base.update({direction:"center",moveTransition:v.Transitions.sinoidal,scaleTransition:v.Transitions.sinoidal,opacityTransition:v.Transitions.full},_763||{});
var _764={top:_762.style.top,left:_762.style.left,height:_762.style.height,width:_762.style.width,opacity:d.getInlineOpacity(_762)};
var dims=MochiKit.Style.getElementDimensions(_762);
var _766,initialMoveY;
var _767,moveY;
switch(_763.direction){
case "top-left":
_766=initialMoveY=_767=moveY=0;
break;
case "top-right":
_766=dims.w;
initialMoveY=moveY=0;
_767=-dims.w;
break;
case "bottom-left":
_766=_767=0;
initialMoveY=dims.h;
moveY=-dims.h;
break;
case "bottom-right":
_766=dims.w;
initialMoveY=dims.h;
_767=-dims.w;
moveY=-dims.h;
break;
case "center":
_766=dims.w/2;
initialMoveY=dims.h/2;
_767=-dims.w/2;
moveY=-dims.h/2;
break;
}
var _768=MochiKit.Base.update({beforeSetupInternal:function(_769){
d.setStyle(_769.effects[0].element,{height:"0px"});
MochiKit.Style.showElement(_769.effects[0].element);
},afterFinishInternal:function(_770){
d.undoClipping(_770.effects[0].element);
d.undoPositioned(_770.effects[0].element);
d.setStyle(_770.effects[0].element,_764);
}},_763||{});
return new v.Move(_762,{x:_766,y:initialMoveY,duration:0.01,beforeSetupInternal:function(_771){
MochiKit.Style.hideElement(_771.element);
d.makeClipping(_771.element);
d.makePositioned(_771.element);
},afterFinishInternal:function(_772){
new v.Parallel([new v.Opacity(_772.element,{sync:true,to:1,from:0,transition:_763.opacityTransition}),new v.Move(_772.element,{x:_767,y:moveY,sync:true,transition:_763.moveTransition}),new v.Scale(_772.element,100,{scaleMode:{originalHeight:dims.h,originalWidth:dims.w},sync:true,scaleFrom:MochiKit.Base.isOpera()?1:0,transition:_763.scaleTransition,restoreAfterFinish:true})],_768);
}});
};
MochiKit.Visual.shrink=function(_773,_774){
var d=MochiKit.DOM;
var v=MochiKit.Visual;
_773=d.getElement(_773);
_774=MochiKit.Base.update({direction:"center",moveTransition:v.Transitions.sinoidal,scaleTransition:v.Transitions.sinoidal,opacityTransition:v.Transitions.none},_774||{});
var _775={top:_773.style.top,left:_773.style.left,height:_773.style.height,width:_773.style.width,opacity:d.getInlineOpacity(_773)};
var dims=MochiKit.Style.getElementDimensions(_773);
var _776,moveY;
switch(_774.direction){
case "top-left":
_776=moveY=0;
break;
case "top-right":
_776=dims.w;
moveY=0;
break;
case "bottom-left":
_776=0;
moveY=dims.h;
break;
case "bottom-right":
_776=dims.w;
moveY=dims.h;
break;
case "center":
_776=dims.w/2;
moveY=dims.h/2;
break;
}
var _777=MochiKit.Base.update({beforeStartInternal:function(_778){
d.makePositioned(_778.effects[0].element);
d.makeClipping(_778.effects[0].element);
},afterFinishInternal:function(_779){
MochiKit.Style.hideElement(_779.effects[0].element);
d.undoClipping(_779.effects[0].element);
d.undoPositioned(_779.effects[0].element);
d.setStyle(_779.effects[0].element,_775);
}},_774||{});
return new v.Parallel([new v.Opacity(_773,{sync:true,to:0,from:1,transition:_774.opacityTransition}),new v.Scale(_773,MochiKit.Base.isOpera()?1:0,{sync:true,transition:_774.scaleTransition,restoreAfterFinish:true}),new v.Move(_773,{x:_776,y:moveY,sync:true,transition:_774.moveTransition})],_777);
};
MochiKit.Visual.pulsate=function(_780,_781){
var d=MochiKit.DOM;
var v=MochiKit.Visual;
var b=MochiKit.Base;
_780=d.getElement(_780);
var _782=d.getInlineOpacity(_780);
_781=b.update({duration:3,from:0,afterFinishInternal:function(_783){
d.setStyle(_783.element,{opacity:_782});
}},_781||{});
var _784=_781.transition||v.Transitions.sinoidal;
var _785=b.bind(function(pos){
return _784(1-v.Transitions.pulse(pos));
},_784);
b.bind(_785,_784);
return new v.Opacity(_780,b.update({transition:_785},_781));
};
MochiKit.Visual.fold=function(_786,_787){
var d=MochiKit.DOM;
var v=MochiKit.Visual;
_786=d.getElement(_786);
var _788={top:_786.style.top,left:_786.style.left,width:_786.style.width,height:_786.style.height};
d.makeClipping(_786);
_787=MochiKit.Base.update({scaleContent:false,scaleX:false,afterFinishInternal:function(_789){
new v.Scale(_786,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(_789){
MochiKit.Style.hideElement(_789.element);
d.undoClipping(_789.element);
d.setStyle(_789.element,_788);
}});
}},_787||{});
return new v.Scale(_786,5,_787);
};
MochiKit.Visual.Color=MochiKit.Color.Color;
MochiKit.Visual.getElementsComputedStyle=MochiKit.DOM.computedStyle;
MochiKit.Visual.__new__=function(){
var m=MochiKit.Base;
m.nameFunctions(this);
this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};
};
MochiKit.Visual.EXPORT=["roundElement","roundClass","tagifyText","multiple","toggle","Base","Parallel","Opacity","Move","Scale","Highlight","ScrollTo","fade","appear","puff","blindUp","blindDown","switchOff","dropOut","shake","slideDown","slideUp","squish","grow","shrink","pulsate","fold"];
MochiKit.Visual.EXPORT_OK=["PAIRS"];
MochiKit.Visual.__new__();
MochiKit.Base._exportSymbols(this,MochiKit.Visual);
MochiKit.Base.update(MochiKit.Base,{isIE:function(){
return /MSIE/.test(navigator.userAgent);
},isGecko:function(){
return /Gecko/.test(navigator.userAgent);
},isKHTML:function(){
return /Konqueror|Safari|KHTML/.test(navigator.userAgent);
},isSafari:function(){
return navigator.appVersion.indexOf("AppleWebKit")>0;
},isOpera:function(){
return navigator.userAgent.indexOf("Opera")>0;
}});
MochiKit.Base.update(MochiKit.DOM,{getStyle:function(_790,_791){
_790=MochiKit.DOM.getElement(_790);
var _792=_790.style[MochiKit.Base.camelize(_791)];
if(!_792){
if(document.defaultView&&document.defaultView.getComputedStyle){
var css=document.defaultView.getComputedStyle(_790,null);
_792=css?css.getPropertyValue(_791):null;
}else{
if(_790.currentStyle){
_792=_790.currentStyle[MochiKit.Base.camelize(_791)];
}
}
}
if(MochiKit.Base.isOpera()&&(MochiKit.Base.find(["left","top","right","bottom"],_791))){
if(MochiKit.DOM.getStyle(_790,"position")=="static"){
_792="auto";
}
}
return _792=="auto"?null:_792;
},setStyle:function(_794,_795){
_794=MochiKit.DOM.getElement(_794);
for(name in _795){
_794.style[MochiKit.Base.camelize(name)]=_795[name];
}
},getOpacity:function(_796){
var _797;
if(_797=MochiKit.DOM.getStyle(_796,"opacity")){
return parseFloat(_797);
}
if(_797=(MochiKit.DOM.getStyle(_796,"filter")||"").match(/alpha\(opacity=(.*)\)/)){
if(_797[1]){
return parseFloat(_797[1])/100;
}
}
return 1;
},getInlineOpacity:function(_798){
return MochiKit.DOM.getElement(_798).style.opacity||"";
},setOpacity:function(_799,_800){
_799=MochiKit.DOM.getElement(_799);
if(_800==1){
MochiKit.DOM.setStyle(_799,{opacity:(MochiKit.Base.isGecko()&&!MochiKit.Base.isKHTML())?0.999999:null});
if(MochiKit.Base.isIE()){
MochiKit.DOM.setStyle(_799,{filter:MochiKit.DOM.getStyle(_799,"filter").replace(/alpha\([^\)]*\)/gi,"")});
}
}else{
if(_800<0.00001){
_800=0;
}
MochiKit.DOM.setStyle(_799,{opacity:_800});
if(MochiKit.Base.isIE()){
MochiKit.DOM.setStyle(_799,{filter:MochiKit.DOM.getStyle(_799,"filter").replace(/alpha\([^\)]*\)/gi,"")+"alpha(opacity="+_800*100+")"});
}
}
},isVisible:function(_801){
return MochiKit.DOM.getElement(_801).style.display!="none";
},makeClipping:function(_802){
_802=MochiKit.DOM.getElement(_802);
if(_802._overflow){
return;
}
_802._overflow=_802.style.overflow;
if((MochiKit.DOM.getStyle(_802,"overflow")||"visible")!="hidden"){
_802.style.overflow="hidden";
}
},undoClipping:function(_803){
_803=MochiKit.DOM.getElement(_803);
if(!_803._overflow){
return;
}
_803.style.overflow=_803._overflow;
_803._overflow=undefined;
},makePositioned:function(_804){
_804=MochiKit.DOM.getElement(_804);
var pos=MochiKit.DOM.getStyle(_804,"position");
if((pos=="static"||!pos)&&!_804._madePositioned){
_804._madePositioned=true;
_804.style.position="relative";
if(MochiKit.Base.isOpera()){
_804.style.top=0;
_804.style.left=0;
}
}
},undoPositioned:function(_805){
_805=MochiKit.DOM.getElement(_805);
if(_805._madePositioned){
_805._madePositioned=undefined;
_805.style.position=_805.style.top=_805.style.left=_805.style.bottom=_805.style.right="";
}
},getFirstElementByTagAndClassName:function(_806,_807,_808){
var self=MochiKit.DOM;
if(typeof (_806)=="undefined"||_806===null){
_806="*";
}
if(typeof (_808)=="undefined"||_808===null){
_808=self._document;
}
_808=self.getElement(_808);
var _809=(_808.getElementsByTagName(_806)||self._document.all);
if(typeof (_807)=="undefined"||_807===null){
return MochiKit.Base.extend(null,_809);
}
for(var i=0;i<_809.length;i++){
var _810=_809[i];
var _811=_810.className.split(" ");
for(var j=0;j<_811.length;j++){
if(_811[j]==_807){
return _810;
}
}
}
},isParent:function(_812,_813){
if(!_812.parentNode||_812==_813){
return false;
}
if(_812.parentNode==_813){
return true;
}
return MochiKit.DOM.isParent(_812.parentNode,_813);
}});
MochiKit.Position={includeScrollOffsets:false,prepare:function(){
var _814=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;
var _815=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;
this.windowOffset=new MochiKit.Style.Coordinates(_814,_815);
},cumulativeOffset:function(_816){
var _817=0;
var _818=0;
do{
_817+=_816.offsetTop||0;
_818+=_816.offsetLeft||0;
_816=_816.offsetParent;
}while(_816);
return new MochiKit.Style.Coordinates(_818,_817);
},realOffset:function(_819){
var _820=0;
var _821=0;
do{
_820+=_819.scrollTop||0;
_821+=_819.scrollLeft||0;
_819=_819.parentNode;
}while(_819);
return new MochiKit.Style.Coordinates(_821,_820);
},within:function(_822,x,y){
if(this.includeScrollOffsets){
return this.withinIncludingScrolloffsets(_822,x,y);
}
this.xcomp=x;
this.ycomp=y;
this.offset=this.cumulativeOffset(_822);
if(_822.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.xcomp0){
drop=this.findDeepestChild(_851);
MochiKit.Position.within(drop.element,_849.page.x,_849.page.y);
drop.options.onhover(_850,drop.element,MochiKit.Position.overlap(drop.options.overlap,drop.element));
drop.activate();
}
},fire:function(_852,_853){
if(!this.last_active){
return;
}
MochiKit.Position.prepare();
if(this.last_active.isAffected(_852.mouse(),_853)){
this.last_active.options.ondrop(_853,this.last_active.element,_852);
}
},reset:function(_854){
MochiKit.Base.map(function(drop){
if(drop.options.activeclass){
MochiKit.DOM.removeElementClass(drop.element,drop.options.activeclass);
}
drop.options.ondesactive(drop.element,_854);
},this.drops);
if(this.last_active){
this.last_active.deactivate();
}
}};
MochiKit.DragAndDrop.Droppable=function(_855,_856){
this.__init__(_855,_856);
};
MochiKit.DragAndDrop.Droppable.prototype={__class__:MochiKit.DragAndDrop.Droppable,__init__:function(_857,_858){
var d=MochiKit.DOM;
var b=MochiKit.Base;
this.element=d.getElement(_857);
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},_858||{});
this.options._containers=[];
b.map(MochiKit.Base.bind(function(c){
this.options._containers.push(d.getElement(c));
},this),this.options.containment);
d.makePositioned(this.element);
MochiKit.DragAndDrop.Droppables.register(this);
},isContained:function(_859){
if(this._containers){
var _860;
if(this.options.tree){
_860=_859.treeNode;
}else{
_860=_859.parentNode;
}
return MochiKit.Iter.some(this._containers,function(c){
return _860==c;
});
}else{
return true;
}
},isAccepted:function(_861){
return ((!this.options.accept)||MochiKit.Iter.some(this.options.accept,function(c){
return MochiKit.DOM.hasElementClass(_861,c);
}));
},isAffected:function(_862,_863){
return ((this.element!=_863)&&this.isContained(_863)&&this.isAccepted(_863)&&MochiKit.Position.within(this.element,_862.page.x,_862.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:[],observers:[],register:function(_864){
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(_864);
},unregister:function(_866){
this.drags=MochiKit.Base.filter(function(d){
return d!=_866;
},this.drags);
if(this.drags.length===0){
var disc=MochiKit.Signal.disconnect;
disc(this.eventMouseUp);
disc(this.eventMouseMove);
disc(this.eventKeypress);
}
},activate:function(_868){
window.focus();
this.activeDraggable=_868;
},deactivate:function(){
this.activeDraggable=null;
},updateDrag:function(_869){
if(!this.activeDraggable){
return;
}
var _870=_869.mouse();
if(this._lastPointer&&(MochiKit.Base.repr(this._lastPointer.page)==MochiKit.Base.repr(_870.page))){
return;
}
this._lastPointer=_870;
this.activeDraggable.updateDrag(_869,_870);
},endDrag:function(_871){
if(!this.activeDraggable){
return;
}
this._lastPointer=null;
this.activeDraggable.endDrag(_871);
this.activeDraggable=null;
},keyPress:function(_872){
if(this.activeDraggable){
this.activeDraggable.keyPress(_872);
}
},addObserver:function(_873){
this.observers.push(_873);
this._cacheObserverCallbacks();
},removeObserver:function(_874){
this.observers=MochiKit.Base.filter(function(o){
return o.element!=_874;
},this.observers);
this._cacheObserverCallbacks();
},notify:function(_875,_876,_877){
if(this[_875+"Count"]>0){
MochiKit.Base.map(function(o){
if(o[_875]){
o[_875](_875,_876,_877);
}
},this.observers);
}
},_cacheObserverCallbacks:function(){
var b=MochiKit.Base;
var self=MochiKit.DragAndDrop.Draggables;
b.map(function(_878){
self[_878+"Count"]=b.filter(function(o){
return o[_878];
},self.observers).length;
},["onStart","onEnd","onDrag"]);
}};
MochiKit.DragAndDrop.Draggable=function(_879,_880){
this.__init__(_879,_880);
};
MochiKit.DragAndDrop.Draggable.prototype={__class__:MochiKit.DragAndDrop.Draggable,__init__:function(_881,_882){
var v=MochiKit.Visual;
var b=MochiKit.Base;
_882=b.update({handle:false,starteffect:function(_883){
this._savedOpacity=MochiKit.DOM.getOpacity(_883)||1;
new v.Opacity(_883,{duration:0.2,from:this._savedOpacity,to:0.7});
},reverteffect:function(_884,_885,_886){
var dur=Math.sqrt(Math.abs(_885^2)+Math.abs(_886^2))*0.02;
return new v.Move(_884,{x:-_886,y:-_885,duration:dur});
},endeffect:function(_888){
new v.Opacity(_888,{duration:0.2,from:0.7,to:this._savedOpacity});
},onchange:b.noop,zindex:1000,revert:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,snap:false},_882||{});
var d=MochiKit.DOM;
this.element=d.getElement(_881);
if(_882.handle&&(typeof (_882.handle)=="string")){
this.handle=d.getFirstElementByTagAndClassName(null,_882.handle,this.element);
}
if(!this.handle){
this.handle=d.getElement(_882.handle);
}
if(!this.handle){
this.handle=this.element;
}
if(_882.scroll&&!_882.scroll.scrollTo&&!_882.scroll.outerHTML){
_882.scroll=d.getElement(_882.scroll);
}
d.makePositioned(this.element);
this.delta=this.currentDelta();
this.options=_882;
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.DOM.getStyle;
return [parseInt(s(this.element,"left")||"0"),parseInt(s(this.element,"top")||"0")];
},initDrag:function(_889){
if(!_889.mouse().button.left){
return;
}
var src=_889.target;
if(src.tagName&&(src.tagName=="INPUT"||src.tagName=="SELECT"||src.tagName=="OPTION"||src.tagName=="BUTTON"||src.tagName=="TEXTAREA")){
return;
}
if(this._revert){
this._revert.cancel();
this._revert=null;
}
var _890=_889.mouse();
var pos=MochiKit.Position.cumulativeOffset(this.element);
this.offset=[_890.page.x-pos.x,_890.page.y-pos.y];
MochiKit.DragAndDrop.Draggables.activate(this);
_889.stop();
},startDrag:function(_891){
this.dragging=true;
if(this.options.selectclass){
MochiKit.DOM.addElementClass(this.element,this.options.selectclass);
}
if(this.options.zindex){
this.originalZ=parseInt(MochiKit.DOM.getStyle(this.element,"z-index")||"0");
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 _892=this._getWindowScroll(this.options.scroll);
this.originalScrollLeft=_892.left;
this.originalScrollTop=_892.top;
}else{
this.originalScrollLeft=this.options.scroll.scrollLeft;
this.originalScrollTop=this.options.scroll.scrollTop;
}
}
MochiKit.DragAndDrop.Droppables.prepare(this.element);
MochiKit.DragAndDrop.Draggables.notify("onStart",this,_891);
if(this.options.starteffect){
this.options.starteffect(this.element);
}
},updateDrag:function(_893,_894){
if(!this.dragging){
this.startDrag(_893);
}
MochiKit.Position.prepare();
MochiKit.DragAndDrop.Droppables.show(_894,this.element);
MochiKit.DragAndDrop.Draggables.notify("onDrag",this,_893);
this.draw(_894);
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;
q=new MochiKit.Style.Coordinates(p.x+this.options.scroll.offsetWidth,p.y+this.options.scroll.offsetHeight);
}
var _895=[0,0];
if(_894.page.x>(q.x-this.options.scrollSensitivity)){
_895[0]=_894.page.x-(q.x-this.options.scrollSensitivity);
}else{
if(_894.page.x<(p.x+this.options.scrollSensitivity)){
_895[0]=_894.page.x-(p.x+this.options.scrollSensitivity);
}
}
if(_894.page.y>(q.y-this.options.scrollSensitivity)){
_895[1]=_894.page.y-(q.y-this.options.scrollSensitivity);
}else{
if(_894.page.y<(p.y+this.options.scrollSensitivity)){
_895[1]=_894.page.y-(p.y+this.options.scrollSensitivity);
}
}
this.startScrolling(_895);
}
if(MochiKit.Base.isSafari()){
window.scrollBy(0,0);
}
_893.stop();
},finishDrag:function(_896,_897){
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(_897){
dr.Droppables.fire(_896,this.element);
}
dr.Draggables.notify("onEnd",this,_896);
var _899=this.options.revert;
if(_899&&typeof (_899)=="function"){
_899=_899(this.element);
}
var d=this.currentDelta();
if(_899&&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(_900){
if(_900.keyString!="KEY_ESCAPE"){
return;
}
this.finishDrag(_900,false);
_900.stop();
},endDrag:function(_901){
if(!this.dragging){
return;
}
this.stopScrolling();
this.finishDrag(_901,true);
_901.stop();
},draw:function(_902){
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.scrollTo){
pos.x-=this.options.scroll.scrollLeft-this.originalScrollLeft;
pos.y-=this.options.scroll.scrollTop-this.originalScrollTop;
}
var p=[_902.page.x-pos.x-this.offset[0],_902.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 _903=this.element.style;
if((!this.options.constraint)||(this.options.constraint=="horizontal")){
_903.left=p[0]+"px";
}
if((!this.options.constraint)||(this.options.constraint=="vertical")){
_903.top=p[1]+"px";
}
if(_903.visibility=="hidden"){
_903.visibility="";
}
},stopScrolling:function(){
if(this.scrollInterval){
clearInterval(this.scrollInterval);
this.scrollInterval=null;
}
},startScrolling:function(_904){
if(!_904[0]||!_904[1]){
return;
}
this.scrollSpeed=[_904[0]*this.options.scrollSpeed,_904[1]*this.options.scrollSpeed];
this.lastScrolled=new Date();
this.scrollInterval=setInterval(MochiKit.Base.bind(this.scroll,this),10);
},scroll:function(){
var _905=new Date();
var _906=_905-this.lastScrolled;
this.lastScrolled=_905;
if(this.options.scroll==window){
var s=this._getWindowScroll(this.options.scroll);
if(this.scrollSpeed[0]||this.scrollSpeed[1]){
var d=_906/1000;
this.options.scroll.scrollTo(s.left+d*this.scrollSpeed[0],s.top+d*this.scrollSpeed[1]);
}
}else{
this.options.scroll.scrollLeft+=this.scrollSpeed[0]*_906/1000;
this.options.scroll.scrollTop+=this.scrollSpeed[1]*_906/1000;
}
var d=MochiKit.DragAndDrop;
MochiKit.Position.prepare();
d.Droppables.show(d.Draggables._lastPointer,this.element);
this.draw(d.Draggables._lastPointer);
this.options.onchange(this);
},_getWindowScroll:function(w){
var T,L,W,H;
with(w.document){
if(w.document.documentElement&&documentElement.scrollTop){
T=documentElement.scrollTop;
L=documentElement.scrollLeft;
}else{
if(w.document.body){
T=body.scrollTop;
L=body.scrollLeft;
}
}
if(w.innerWidth){
W=w.innerWidth;
H=w.innerHeight;
}else{
if(w.document.documentElement&&documentElement.clientWidth){
W=documentElement.clientWidth;
H=documentElement.clientHeight;
}else{
W=body.offsetWidth;
H=body.offsetHeight;
}
}
}
return {top:T,left:L,width:W,height:H};
},repr:function(){
return "["+this.__class__.NAME+", options:"+MochiKit.Base.repr(this.options)+"]";
}};
MochiKit.DragAndDrop.__new__=function(){
MochiKit.Base.nameFunctions(this);
this.EXPORT_TAGS={":common":this.EXPORT,":all":MochiKit.Base.concat(this.EXPORT,this.EXPORT_OK)};
};
MochiKit.DragAndDrop.__new__();
MochiKit.Base._exportSymbols(this,MochiKit.DragAndDrop);
if(typeof (dojo)!="undefined"){
dojo.provide("MochiKit.DragAndDrop");
dojo.require("MochiKit.Base");
dojo.require("MochiKit.DOM");
dojo.require("MochiKit.Iter");
}
if(typeof (JSAN)!="undefined"){
JSAN.use("MochiKit.Base",[]);
JSAN.use("MochiKit.DOM",[]);
JSAN.use("MochiKit.Iter",[]);
}
try{
if(typeof (MochiKit.Base)=="undefined"||typeof (MochiKit.DOM)=="undefined"||typeof (MochiKit.Iter)=="undefined"){
throw "";
}
}
catch(e){
throw "MochiKit.DragAndDrop depends on MochiKit.Base, MochiKit.DOM and MochiKit.Iter!";
}
if(typeof (MochiKit.Sortable)=="undefined"){
MochiKit.Sortable={};
}
MochiKit.Sortable.NAME="MochiKit.Sortable";
MochiKit.Sortable.VERSION="1.4";
MochiKit.Sortable.__repr__=function(){
return "["+this.NAME+" "+this.VERSION+"]";
};
MochiKit.Sortable.toString=function(){
return this.__repr__();
};
MochiKit.Sortable.EXPORT=["SortableObserver"];
MochiKit.DragAndDrop.EXPORT_OK=["Sortable"];
MochiKit.Sortable.SortableObserver=function(_908,_909){
this.__init__(_908,_909);
};
MochiKit.Sortable.SortableObserver.prototype={__init__:function(_910,_911){
this.element=MochiKit.DOM.getElement(_910);
this.observer=_911;
this.lastValue=MochiKit.Sortable.Sortable.serialize(this.element);
},onStart:function(){
this.lastValue=MochiKit.Sortable.Sortable.serialize(this.element);
},onEnd:function(){
MochiKit.Sortable.Sortable.unmark();
if(this.lastValue!=MochiKit.Sortable.Sortable.serialize(this.element)){
this.observer(this.element);
}
}};
MochiKit.Sortable.Sortable={sortables:{},_findRootElement:function(_912){
while(_912.tagName!="BODY"){
if(_912.id&&MochiKit.Sortable.Sortable.sortables[_912.id]){
return _912;
}
_912=_912.parentNode;
}
},options:function(_913){
_913=MochiKit.Sortable.Sortable._findRootElement(MochiKit.DOM.getElement(_913));
if(!_913){
return;
}
return MochiKit.Sortable.Sortable.sortables[_913.id];
},destroy:function(_914){
var s=MochiKit.Sortable.Sortable.options(_914);
var b=MochiKit.Base;
var d=MochiKit.DragAndDrop;
if(s){
d.Draggables.removeObserver(s.element);
b.map(function(dr){
d.Droppables.remove(dr);
},s.droppables);
b.map(function(dr){
dr.destroy();
},s.draggables);
delete MochiKit.Sortable.Sortable.sortables[s.element.id];
}
},create:function(_915,_916){
_915=MochiKit.DOM.getElement(_915);
var self=MochiKit.Sortable.Sortable;
_916=MochiKit.Base.update({element:_915,tag:"li",dropOnEmpty:false,tree:false,treeTag:"ul",overlap:"vertical",constraint:"vertical",containment:[_915],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},_916);
self.destroy(_915);
var _917={revert:true,ghosting:_916.ghosting,scroll:_916.scroll,scrollSensitivity:_916.scrollSensitivity,scrollSpeed:_916.scrollSpeed,constraint:_916.constraint,handle:_916.handle};
if(_916.starteffect){
_917.starteffect=_916.starteffect;
}
if(_916.reverteffect){
_917.reverteffect=_916.reverteffect;
}else{
if(_916.ghosting){
_917.reverteffect=function(_918){
_918.style.top=0;
_918.style.left=0;
};
}
}
if(_916.endeffect){
_917.endeffect=_916.endeffect;
}
if(_916.zindex){
_917.zindex=_916.zindex;
}
var _919={overlap:_916.overlap,containment:_916.containment,hoverclass:_916.hoverclass,onhover:self.onHover,tree:_916.tree,accept:_916.accept};
var _920={onhover:self.onEmptyHover,overlap:_916.overlap,containment:_916.containment,hoverclass:_916.hoverclass,accept:_916.accept};
MochiKit.DOM.removeEmptyTextNodes(_915);
_916.draggables=[];
_916.droppables=[];
if(_916.dropOnEmpty||_916.tree){
new MochiKit.DragAndDrop.Droppable(_915,_920);
_916.droppables.push(_915);
}
MochiKit.Base.map(function(e){
var _921=_916.handle?MochiKit.DOM.getFirstElementByTagAndClassName(null,_916.handle,e):e;
_916.draggables.push(new MochiKit.DragAndDrop.Draggable(e,MochiKit.Base.update(_917,{handle:_921})));
new MochiKit.DragAndDrop.Droppable(e,_919);
if(_916.tree){
e.treeNode=_915;
}
_916.droppables.push(e);
},(self.findElements(_915,_916)||[]));
if(_916.tree){
MochiKit.Base.map(function(e){
new MochiKit.DragAndDrop.Droppable(e,_920);
e.treeNode=_915;
_916.droppables.push(e);
},(self.findTreeElements(_915,_916)||[]));
}
self.sortables[_915.id]=_916;
MochiKit.DragAndDrop.Draggables.addObserver(new MochiKit.Sortable.SortableObserver(_915,_916.onUpdate));
},findElements:function(_922,_923){
return MochiKit.Sortable.Sortable.findChildren(_922,_923.only,_923.tree?true:false,_923.tag);
},findTreeElements:function(_924,_925){
return MochiKit.Sortable.Sortable.findChildren(_924,_925.only,_925.tree?true:false,_925.treeTag);
},findChildren:function(_926,only,_928,_929){
if(!_926.hasChildNodes()){
return null;
}
_929=_929.toUpperCase();
if(only){
only=MochiKit.Base.flattenArray([only]);
}
var _930=[];
MochiKit.Base.map(function(e){
if(e.tagName&&e.tagName.toUpperCase()==_929&&(!only||MochiKit.Iter.some(only,function(c){
return MochiKit.DOM.hasElementClass(e,c);
}))){
_930.push(e);
}
if(_928){
var _931=MochiKit.Sortable.Sortable.findChildren(e,only,_928,_929);
if(_931&&_931.length>0){
_930=_930.concat(_931);
}
}
},_926.childNodes);
return _930;
},onHover:function(_932,_933,_934){
if(MochiKit.DOM.isParent(_933,_932)){
return;
}
var self=MochiKit.Sortable.Sortable;
if(_934>0.33&&_934<0.66&&self.options(_933).tree){
return;
}else{
if(_934>0.5){
self.mark(_933,"before");
if(_933.previousSibling!=_932){
var _935=_932.parentNode;
_932.style.visibility="hidden";
_933.parentNode.insertBefore(_932,_933);
if(_933.parentNode!=_935){
self.options(_935).onChange(_932);
}
self.options(_933.parentNode).onChange(_932);
}
}else{
self.mark(_933,"after");
var _936=_933.nextSibling||null;
if(_936!=_932){
var _935=_932.parentNode;
_932.style.visibility="hidden";
_933.parentNode.insertBefore(_932,_936);
if(_933.parentNode!=_935){
self.options(_935).onChange(_932);
}
self.options(_933.parentNode).onChange(_932);
}
}
}
},_offsetSize:function(_937,type){
if(type=="vertical"||type=="height"){
return _937.offsetHeight;
}else{
return _937.offsetWidth;
}
},onEmptyHover:function(_939,_940,_941){
var _942=_939.parentNode;
var self=MochiKit.Sortable.Sortable;
var _943=self.options(_940);
if(!MochiKit.DOM.isParent(_940,_939)){
var _944;
var _945=self.findElements(_940,{tag:_943.tag,only:_943.only});
var _946=null;
if(_945){
var _947=self._offsetSize(_940,_943.overlap)*(1-_941);
for(_944=0;_944<_945.length;_944+=1){
if(_947-self._offsetSize(_945[_944],_943.overlap)>=0){
_947-=self._offsetSize(_945[_944],_943.overlap);
}else{
if(_947-(self._offsetSize(_945[_944],_943.overlap)/2)>=0){
_946=_944+1<_945.length?_945[_944+1]:null;
break;
}else{
_946=_945[_944];
break;
}
}
}
}
_940.insertBefore(_939,_946);
self.options(_942).onChange(_939);
_943.onChange(_939);
}
},unmark:function(){
var m=MochiKit.Sortable.Sortable._marker;
if(m){
MochiKit.Style.hideElement(m);
}
},mark:function(_948,_949){
var d=MochiKit.DOM;
var self=MochiKit.Sortable.Sortable;
var _950=self.options(_948.parentNode);
if(_950&&!_950.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 _951=MochiKit.Position.cumulativeOffset(_948);
self._marker.style.left=_951.x+"px";
self._marker.style.top=_951.y+"px";
if(_949=="after"){
if(_950.overlap=="horizontal"){
self._marker.style.left=(_951.x+_948.clientWidth)+"px";
}else{
self._marker.style.top=(_951.y+_948.clientHeight)+"px";
}
}
MochiKit.Style.showElement(self._marker);
},_tree:function(_952,_953,_954){
var self=MochiKit.Sortable.Sortable;
var _955=self.findElements(_952,_953)||[];
for(var i=0;i<_955.length;++i){
var _956=_955[i].id.match(_953.format);
if(!_956){
continue;
}
var _957={id:encodeURIComponent(_956?_956[1]:null),element:_952,parent:_954,children:[],position:_954.children.length,container:self._findChildrenElement(_955[i],_953.treeTag.toUpperCase())};
if(_957.container){
self._tree(_957.container,_953,_957);
}
_954.children.push(_957);
}
return _954;
},_findChildrenElement:function(_958,_959){
if(_958&&_958.hasChildNodes){
for(var i=0;i<_958.childNodes.length;++i){
if(_958.childNodes[i].tagName==_959){
return _958.childNodes[i];
}
}
}
return null;
},tree:function(_960,_961){
_960=MochiKit.DOM.getElement(_960);
var _962=MochiKit.Sortable.Sortable.options(_960);
_961=MochiKit.Base.update({tag:_962.tag,treeTag:_962.treeTag,only:_962.only,name:_960.id,format:_962.format},_961||{});
var root={id:null,parent:null,children:new Array,container:_960,position:0};
return MochiKit.Sortable.Sortable._tree(_960,_961,root);
},setSequence:function(_964,_965,_966){
var self=MochiKit.Sortable.Sortable;
var b=MochiKit.Base;
_964=MochiKit.DOM.getElement(_964);
_966=b.update(self.options(_964),_966||{});
var _967={};
b.map(function(n){
var m=n.id.match(_966.format);
if(m){
_967[m[1]]=[n,n.parentNode];
}
n.parentNode.removeChild(n);
},self.findElements(_964,_966));
b.map(function(_968){
var n=_967[_968];
if(n){
n[1].appendChild(n[0]);
delete _967[_968];
}
},_965);
},_constructIndex:function(node){
var _969="";
do{
if(node.id){
_969="["+node.position+"]"+_969;
}
}while((node=node.parent)!=null);
return _969;
},sequence:function(_970,_971){
_970=MochiKit.DOM.getElement(_970);
var self=MochiKit.Sortable.Sortable;
var _971=MochiKit.Base.update(self.options(_970),_971||{});
return MochiKit.Base.map(function(item){
return item.id.match(_971.format)?item.id.match(_971.format)[1]:"";
},MochiKit.DOM.getElement(self.findElements(_970,_971)||[]));
},serialize:function(_973,_974){
_973=MochiKit.DOM.getElement(_973);
var self=MochiKit.Sortable.Sortable;
_974=MochiKit.Base.update(self.options(_973),_974||{});
var name=encodeURIComponent(_974.name||_973.id);
if(_974.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(_973,_974).children)).join("&");
}else{
return MochiKit.Base.map(function(item){
return name+"[]="+encodeURIComponent(item);
},self.sequence(_973,_974)).join("&");
}
}};
if(typeof (MochiKit)=="undefined"){
MochiKit={};
}
if(typeof (MochiKit.MochiKit)=="undefined"){
MochiKit.MochiKit={};
}
MochiKit.MochiKit.NAME="MochiKit.MochiKit";
MochiKit.MochiKit.VERSION="1.4";
MochiKit.MochiKit.__repr__=function(){
return "["+this.NAME+" "+this.VERSION+"]";
};
MochiKit.MochiKit.toString=function(){
return this.__repr__();
};
MochiKit.MochiKit.SUBMODULES=["Base","Iter","Logging","DateTime","Format","Async","DOM","Style","LoggingPane","Color","Signal","Visual","New","DragAndDrop","Sortable"];
if(typeof (JSAN)!="undefined"||typeof (dojo)!="undefined"){
if(typeof (dojo)!="undefined"){
dojo.provide("MochiKit.MochiKit");
dojo.require("MochiKit.*");
}
if(typeof (JSAN)!="undefined"){
(function(lst){
for(var i=0;i");
}
}
})();
}