if(typeof (dojo)!="undefined"){
dojo.provide("MochiKit.Base");
}
if(typeof (MochiKit)=="undefined"){
MochiKit={};
}
if(typeof (MochiKit.Base)=="undefined"){
MochiKit.Base={};
}
MochiKit.Base.VERSION="1.3.1";
MochiKit.Base.NAME="MochiKit.Base";
MochiKit.Base.update=function(_1,_2){
if(_1===null){
_1={};
}
for(var i=1;i<arguments.length;i++){
var o=arguments[i];
if(typeof (o)!="undefined"&&o!==null){
for(var k in o){
_1[k]=o[k];
}
}
}
return _1;
};
MochiKit.Base.update(MochiKit.Base,{__repr__:function(){
return "["+this.NAME+" "+this.VERSION+"]";
},toString:function(){
return this.__repr__();
},counter:function(n){
if(arguments.length===0){
n=1;
}
return function(){
return n++;
};
},clone:function(_7){
var me=arguments.callee;
if(arguments.length==1){
me.prototype=_7;
return new me();
}
},flattenArguments:function(_9){
var _a=[];
var m=MochiKit.Base;
var _c=m.extend(null,arguments);
while(_c.length){
var o=_c.shift();
if(o&&typeof (o)=="object"&&typeof (o.length)=="number"){
for(var i=o.length-1;i>=0;i--){
_c.unshift(o[i]);
}
}else{
_a.push(o);
}
}
return _a;
},extend:function(_f,obj,_11){
if(!_11){
_11=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(!_f){
_f=[];
}
for(var i=_11;i<l;i++){
_f.push(obj[i]);
}
}
return _f;
},updatetree:function(_14,obj){
if(_14===null){
_14={};
}
for(var i=1;i<arguments.length;i++){
var o=arguments[i];
if(typeof (o)!="undefined"&&o!==null){
for(var k in o){
var v=o[k];
if(typeof (_14[k])=="object"&&typeof (v)=="object"){
arguments.callee(_14[k],v);
}else{
_14[k]=v;
}
}
}
}
return _14;
},setdefault:function(_1a,obj){
if(_1a===null){
_1a={};
}
for(var i=1;i<arguments.length;i++){
var o=arguments[i];
for(var k in o){
if(!(k in _1a)){
_1a[k]=o[k];
}
}
}
return _1a;
},keys:function(obj){
var _20=[];
for(var _21 in obj){
_20.push(_21);
}
return _20;
},items:function(obj){
var _23=[];
var e;
for(var _25 in obj){
var v;
try{
v=obj[_25];
}
catch(e){
continue;
}
_23.push([_25,v]);
}
return _23;
},_newNamedError:function(_27,_28,_29){
_29.prototype=new MochiKit.Base.NamedError(_27.NAME+"."+_28);
_27[_28]=_29;
},operator:{truth:function(a){
return !!a;
},lognot:function(a){
return !a;
},identity:function(a){
return a;
},not:function(a){
return ~a;
},neg:function(a){
return -a;
},add:function(a,b){
return a+b;
},sub:function(a,b){
return a-b;
},div:function(a,b){
return a/b;
},mod:function(a,b){
return a%b;
},mul:function(a,b){
return a*b;
},and:function(a,b){
return a&b;
},or:function(a,b){
return a|b;
},xor:function(a,b){
return a^b;
},lshift:function(a,b){
return a<<b;
},rshift:function(a,b){
return a>>b;
},zrshift:function(a,b){
return a>>>b;
},eq:function(a,b){
return a==b;
},ne:function(a,b){
return a!=b;
},gt:function(a,b){
return a>b;
},ge:function(a,b){
return a>=b;
},lt:function(a,b){
return a<b;
},le:function(a,b){
return a<=b;
},ceq:function(a,b){
return MochiKit.Base.compare(a,b)===0;
},cne:function(a,b){
return MochiKit.Base.compare(a,b)!==0;
},cgt:function(a,b){
return MochiKit.Base.compare(a,b)==1;
},cge:function(a,b){
return MochiKit.Base.compare(a,b)!=-1;
},clt:function(a,b){
return MochiKit.Base.compare(a,b)==-1;
},cle:function(a,b){
return MochiKit.Base.compare(a,b)!=1;
},logand:function(a,b){
return a&&b;
},logor:function(a,b){
return a||b;
},contains:function(a,b){
return b in a;
}},forwardCall:function(_63){
return function(){
return this[_63].apply(this,arguments);
};
},itemgetter:function(_64){
return function(arg){
return arg[_64];
};
},typeMatcher:function(){
var _66={};
for(var i=0;i<arguments.length;i++){
var typ=arguments[i];
_66[typ]=typ;
}
return function(){
for(var i=0;i<arguments.length;i++){
if(!(typeof (arguments[i]) in _66)){
return false;
}
}
return true;
};
},isNull:function(){
for(var i=0;i<arguments.length;i++){
if(arguments[i]!==null){
return false;
}
}
return true;
},isUndefinedOrNull:function(){
for(var i=0;i<arguments.length;i++){
var o=arguments[i];
if(!(typeof (o)=="undefined"||o===null)){
return false;
}
}
return true;
},isEmpty:function(obj){
return !MochiKit.Base.isNotEmpty.apply(this,arguments);
},isNotEmpty:function(obj){
for(var i=0;i<arguments.length;i++){
var o=arguments[i];
if(!(o&&o.length)){
return false;
}
}
return true;
},isArrayLike:function(){
for(var i=0;i<arguments.length;i++){
var o=arguments[i];
var typ=typeof (o);
if((typ!="object"&&!(typ=="function"&&typeof (o.item)=="function"))||o===null||typeof (o.length)!="number"){
return false;
}
}
return true;
},isDateLike:function(){
for(var i=0;i<arguments.length;i++){
var o=arguments[i];
if(typeof (o)!="object"||o===null||typeof (o.getTime)!="function"){
return false;
}
}
return true;
},xmap:function(fn){
if(fn===null){
return MochiKit.Base.extend(null,arguments,1);
}
var _77=[];
for(var i=1;i<arguments.length;i++){
_77.push(fn(arguments[i]));
}
return _77;
},map:function(fn,lst){
var m=MochiKit.Base;
var itr=MochiKit.Iter;
var _7d=m.isArrayLike;
if(arguments.length<=2){
if(!_7d(lst)){
if(itr){
lst=itr.list(lst);
if(fn===null){
return lst;
}
}else{
throw new TypeError("Argument not an array-like and MochiKit.Iter not present");
}
}
if(fn===null){
return m.extend(null,lst);
}
var _7e=[];
for(var i=0;i<lst.length;i++){
_7e.push(fn(lst[i]));
}
return _7e;
}else{
if(fn===null){
fn=Array;
}
var _80=null;
for(i=1;i<arguments.length;i++){
if(!_7d(arguments[i])){
if(itr){
return itr.list(itr.imap.apply(null,arguments));
}else{
throw new TypeError("Argument not an array-like and MochiKit.Iter not present");
}
}
var l=arguments[i].length;
if(_80===null||_80>l){
_80=l;
}
}
_7e=[];
for(i=0;i<_80;i++){
var _82=[];
for(var j=1;j<arguments.length;j++){
_82.push(arguments[j][i]);
}
_7e.push(fn.apply(this,_82));
}
return _7e;
}
},xfilter:function(fn){
var _85=[];
if(fn===null){
fn=MochiKit.Base.operator.truth;
}
for(var i=1;i<arguments.length;i++){
var o=arguments[i];
if(fn(o)){
_85.push(o);
}
}
return _85;
},filter:function(fn,lst,_8a){
var _8b=[];
var m=MochiKit.Base;
if(!m.isArrayLike(lst)){
if(MochiKit.Iter){
lst=MochiKit.Iter.list(lst);
}else{
throw new TypeError("Argument not an array-like and MochiKit.Iter not present");
}
}
if(fn===null){
fn=m.operator.truth;
}
if(typeof (Array.prototype.filter)=="function"){
return Array.prototype.filter.call(lst,fn,_8a);
}else{
if(typeof (_8a)=="undefined"||_8a===null){
for(var i=0;i<lst.length;i++){
var o=lst[i];
if(fn(o)){
_8b.push(o);
}
}
}else{
for(i=0;i<lst.length;i++){
o=lst[i];
if(fn.call(_8a,o)){
_8b.push(o);
}
}
}
}
return _8b;
},_wrapDumbFunction:function(_8f){
return function(){
switch(arguments.length){
case 0:
return _8f();
case 1:
return _8f(arguments[0]);
case 2:
return _8f(arguments[0],arguments[1]);
case 3:
return _8f(arguments[0],arguments[1],arguments[2]);
}
var _90=[];
for(var i=0;i<arguments.length;i++){
_90.push("arguments["+i+"]");
}
return eval("(func("+_90.join(",")+"))");
};
},method:function(_92,_93){
var m=MochiKit.Base;
return m.bind.apply(this,m.extend([_93,_92],arguments,2));
},bind:function(_95,_96){
if(typeof (_95)=="string"){
_95=_96[_95];
}
var _97=_95.im_func;
var _98=_95.im_preargs;
var _99=_95.im_self;
var m=MochiKit.Base;
if(typeof (_95)=="function"&&typeof (_95.apply)=="undefined"){
_95=m._wrapDumbFunction(_95);
}
if(typeof (_97)!="function"){
_97=_95;
}
if(typeof (_96)!="undefined"){
_99=_96;
}
if(typeof (_98)=="undefined"){
_98=[];
}else{
_98=_98.slice();
}
m.extend(_98,arguments,2);
var _9b=function(){
var _9c=arguments;
var me=arguments.callee;
if(me.im_preargs.length>0){
_9c=m.concat(me.im_preargs,_9c);
}
var _9e=me.im_self;
if(!_9e){
_9e=this;
}
return me.im_func.apply(_9e,_9c);
};
_9b.im_self=_99;
_9b.im_func=_97;
_9b.im_preargs=_98;
return _9b;
},bindMethods:function(_9f){
var _a0=MochiKit.Base.bind;
for(var k in _9f){
var _a2=_9f[k];
if(typeof (_a2)=="function"){
_9f[k]=_a0(_a2,_9f);
}
}
},registerComparator:function(_a3,_a4,_a5,_a6){
MochiKit.Base.comparatorRegistry.register(_a3,_a4,_a5,_a6);
},_primitives:{"boolean":true,"string":true,"number":true},compare:function(a,b){
if(a==b){
return 0;
}
var _a9=(typeof (a)=="undefined"||a===null);
var _aa=(typeof (b)=="undefined"||b===null);
if(_a9&&_aa){
return 0;
}else{
if(_a9){
return -1;
}else{
if(_aa){
return 1;
}
}
}
var m=MochiKit.Base;
var _ac=m._primitives;
if(!(typeof (a) in _ac&&typeof (b) in _ac)){
try{
return m.comparatorRegistry.match(a,b);
}
catch(e){
if(e!=m.NotFound){
throw e;
}
}
}
if(a<b){
return -1;
}else{
if(a>b){
return 1;
}
}
var _ad=m.repr;
throw new TypeError(_ad(a)+" and "+_ad(b)+" can not be compared");
},compareDateLike:function(a,b){
return MochiKit.Base.compare(a.getTime(),b.getTime());
},compareArrayLike:function(a,b){
var _b2=MochiKit.Base.compare;
var _b3=a.length;
var _b4=0;
if(_b3>b.length){
_b4=1;
_b3=b.length;
}else{
if(_b3<b.length){
_b4=-1;
}
}
for(var i=0;i<_b3;i++){
var cmp=_b2(a[i],b[i]);
if(cmp){
return cmp;
}
}
return _b4;
},registerRepr:function(_b7,_b8,_b9,_ba){
MochiKit.Base.reprRegistry.register(_b7,_b8,_b9,_ba);
},repr:function(o){
if(typeof (o)=="undefined"){
return "undefined";
}else{
if(o===null){
return "null";
}
}
try{
if(typeof (o.__repr__)=="function"){
return o.__repr__();
}else{
if(typeof (o.repr)=="function"&&o.repr!=arguments.callee){
return o.repr();
}
}
return MochiKit.Base.reprRegistry.match(o);
}
catch(e){
if(typeof (o.NAME)=="string"&&(o.toString==Function.prototype.toString||o.toString==Object.prototype.toString)){
return o.NAME;
}
}
try{
var _bc=(o+"");
}
catch(e){
return "["+typeof (o)+"]";
}
if(typeof (o)=="function"){
o=_bc.replace(/^\s+/,"");
var idx=o.indexOf("{");
if(idx!=-1){
o=o.substr(0,idx)+"{...}";
}
}
return _bc;
},reprArrayLike:function(o){
var m=MochiKit.Base;
return "["+m.map(m.repr,o).join(", ")+"]";
},reprString:function(o){
return ("\""+o.replace(/(["\\])/g,"\\$1")+"\"").replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r");
},reprNumber:function(o){
return o+"";
},registerJSON:function(_c2,_c3,_c4,_c5){
MochiKit.Base.jsonRegistry.register(_c2,_c3,_c4,_c5);
},evalJSON:function(){
return eval("("+arguments[0]+")");
},serializeJSON:function(o){
var _c7=typeof (o);
if(_c7=="undefined"){
return "undefined";
}else{
if(_c7=="number"||_c7=="boolean"){
return o+"";
}else{
if(o===null){
return "null";
}
}
}
var m=MochiKit.Base;
var _c9=m.reprString;
if(_c7=="string"){
return _c9(o);
}
var me=arguments.callee;
var _cb;
if(typeof (o.__json__)=="function"){
_cb=o.__json__();
if(o!==_cb){
return me(_cb);
}
}
if(typeof (o.json)=="function"){
_cb=o.json();
if(o!==_cb){
return me(_cb);
}
}
if(_c7!="function"&&typeof (o.length)=="number"){
var res=[];
for(var i=0;i<o.length;i++){
var val=me(o[i]);
if(typeof (val)!="string"){
val="undefined";
}
res.push(val);
}
return "["+res.join(", ")+"]";
}
try{
_cb=m.jsonRegistry.match(o);
return me(_cb);
}
catch(e){
if(e!=m.NotFound){
throw e;
}
}
if(_c7=="function"){
return null;
}
res=[];
for(var k in o){
var _d0;
if(typeof (k)=="number"){
_d0="\""+k+"\"";
}else{
if(typeof (k)=="string"){
_d0=_c9(k);
}else{
continue;
}
}
val=me(o[k]);
if(typeof (val)!="string"){
continue;
}
res.push(_d0+":"+val);
}
return "{"+res.join(", ")+"}";
},objEqual:function(a,b){
return (MochiKit.Base.compare(a,b)===0);
},arrayEqual:function(_d3,arr){
if(_d3.length!=arr.length){
return false;
}
return (MochiKit.Base.compare(_d3,arr)===0);
},concat:function(){
var _d5=[];
var _d6=MochiKit.Base.extend;
for(var i=0;i<arguments.length;i++){
_d6(_d5,arguments[i]);
}
return _d5;
},keyComparator:function(key){
var m=MochiKit.Base;
var _da=m.compare;
if(arguments.length==1){
return function(a,b){
return _da(a[key],b[key]);
};
}
var _dd=m.extend(null,arguments);
return function(a,b){
var _e0=0;
for(var i=0;(_e0===0)&&(i<_dd.length);i++){
var key=_dd[i];
_e0=_da(a[key],b[key]);
}
return _e0;
};
},reverseKeyComparator:function(key){
var _e4=MochiKit.Base.keyComparator.apply(this,arguments);
return function(a,b){
return _e4(b,a);
};
},partial:function(_e7){
var m=MochiKit.Base;
return m.bind.apply(this,m.extend([_e7,undefined],arguments,1));
},listMinMax:function(_e9,lst){
if(lst.length===0){
return null;
}
var cur=lst[0];
var _ec=MochiKit.Base.compare;
for(var i=1;i<lst.length;i++){
var o=lst[i];
if(_ec(o,cur)==_e9){
cur=o;
}
}
return cur;
},objMax:function(){
return MochiKit.Base.listMinMax(1,arguments);
},objMin:function(){
return MochiKit.Base.listMinMax(-1,arguments);
},findIdentical:function(lst,_f0,_f1,end){
if(typeof (end)=="undefined"||end===null){
end=lst.length;
}
for(var i=(_f1||0);i<end;i++){
if(lst[i]===_f0){
return i;
}
}
return -1;
},findValue:function(lst,_f5,_f6,end){
if(typeof (end)=="undefined"||end===null){
end=lst.length;
}
var cmp=MochiKit.Base.compare;
for(var i=(_f6||0);i<end;i++){
if(cmp(lst[i],_f5)===0){
return i;
}
}
return -1;
},nodeWalk:function(_fa,_fb){
var _fc=[_fa];
var _fd=MochiKit.Base.extend;
while(_fc.length){
var res=_fb(_fc.shift());
if(res){
_fd(_fc,res);
}
}
},nameFunctions:function(_ff){
var base=_ff.NAME;
if(typeof (base)=="undefined"){
base="";
}else{
base=base+".";
}
for(var name in _ff){
var o=_ff[name];
if(typeof (o)=="function"&&typeof (o.NAME)=="undefined"){
try{
o.NAME=base+name;
}
catch(e){
}
}
}
},queryString:function(_103,_104){
if(typeof (MochiKit.DOM)!="undefined"&&arguments.length==1&&(typeof (_103)=="string"||(typeof (_103.nodeType)!="undefined"&&_103.nodeType>0))){
var kv=MochiKit.DOM.formContents(_103);
_103=kv[0];
_104=kv[1];
}else{
if(arguments.length==1){
var o=_103;
_103=[];
_104=[];
for(var k in o){
var v=o[k];
if(typeof (v)!="function"){
_103.push(k);
_104.push(v);
}
}
}
}
var rval=[];
var len=Math.min(_103.length,_104.length);
var _10b=MochiKit.Base.urlEncode;
for(var i=0;i<len;i++){
v=_104[i];
if(typeof (v)!="undefined"&&v!==null){
rval.push(_10b(_103[i])+"="+_10b(v));
}
}
return rval.join("&");
},parseQueryString:function(_10d,_10e){
var _10f=_10d.replace(/\+/g,"%20").split("&");
var o={};
var _111;
if(typeof (decodeURIComponent)!="undefined"){
_111=decodeURIComponent;
}else{
_111=unescape;
}
if(_10e){
for(var i=0;i<_10f.length;i++){
var pair=_10f[i].split("=");
var name=_111(pair[0]);
var arr=o[name];
if(!(arr instanceof Array)){
arr=[];
o[name]=arr;
}
arr.push(_111(pair[1]));
}
}else{
for(i=0;i<_10f.length;i++){
pair=_10f[i].split("=");
o[_111(pair[0])]=_111(pair[1]);
}
}
return o;
}});
MochiKit.Base.AdapterRegistry=function(){
this.pairs=[];
};
MochiKit.Base.AdapterRegistry.prototype={register:function(name,_117,wrap,_119){
if(_119){
this.pairs.unshift([name,_117,wrap]);
}else{
this.pairs.push([name,_117,wrap]);
}
},match:function(){
for(var i=0;i<this.pairs.length;i++){
var pair=this.pairs[i];
if(pair[1].apply(this,arguments)){
return pair[2].apply(this,arguments);
}
}
throw MochiKit.Base.NotFound;
},unregister:function(name){
for(var i=0;i<this.pairs.length;i++){
var pair=this.pairs[i];
if(pair[0]==name){
this.pairs.splice(i,1);
return true;
}
}
return false;
}};
MochiKit.Base.EXPORT=["counter","clone","extend","update","updatetree","setdefault","keys","items","NamedError","operator","forwardCall","itemgetter","typeMatcher","isCallable","isUndefined","isUndefinedOrNull","isNull","isEmpty","isNotEmpty","isArrayLike","isDateLike","xmap","map","xfilter","filter","bind","bindMethods","NotFound","AdapterRegistry","registerComparator","compare","registerRepr","repr","objEqual","arrayEqual","concat","keyComparator","reverseKeyComparator","partial","merge","listMinMax","listMax","listMin","objMax","objMin","nodeWalk","zip","urlEncode","queryString","serializeJSON","registerJSON","evalJSON","parseQueryString","findValue","findIdentical","flattenArguments","method"];
MochiKit.Base.EXPORT_OK=["nameFunctions","comparatorRegistry","reprRegistry","jsonRegistry","compareDateLike","compareArrayLike","reprArrayLike","reprString","reprNumber"];
MochiKit.Base._exportSymbols=function(_11f,_120){
if(typeof (MochiKit.__export__)=="undefined"){
MochiKit.__export__=(MochiKit.__compat__||(typeof (JSAN)=="undefined"&&typeof (dojo)=="undefined"));
}
if(!MochiKit.__export__){
return;
}
var all=_120.EXPORT_TAGS[":all"];
for(var i=0;i<all.length;i++){
_11f[all[i]]=_120[all[i]];
}
};
MochiKit.Base.__new__=function(){
var m=this;
m.forward=m.forwardCall;
m.find=m.findValue;
if(typeof (encodeURIComponent)!="undefined"){
m.urlEncode=function(_124){
return encodeURIComponent(_124).replace(/\'/g,"%27");
};
}else{
m.urlEncode=function(_125){
return escape(_125).replace(/\+/g,"%2B").replace(/\"/g,"%22").rval.replace(/\'/g,"%27");
};
}
m.NamedError=function(name){
this.message=name;
this.name=name;
};
m.NamedError.prototype=new Error();
m.update(m.NamedError.prototype,{repr:function(){
if(this.message&&this.message!=this.name){
return this.name+"("+m.repr(this.message)+")";
}else{
return this.name+"()";
}
},toString:m.forwardCall("repr")});
m.NotFound=new m.NamedError("MochiKit.Base.NotFound");
m.listMax=m.partial(m.listMinMax,1);
m.listMin=m.partial(m.listMinMax,-1);
m.isCallable=m.typeMatcher("function");
m.isUndefined=m.typeMatcher("undefined");
m.merge=m.partial(m.update,null);
m.zip=m.partial(m.map,null);
m.comparatorRegistry=new m.AdapterRegistry();
m.registerComparator("dateLike",m.isDateLike,m.compareDateLike);
m.registerComparator("arrayLike",m.isArrayLike,m.compareArrayLike);
m.reprRegistry=new m.AdapterRegistry();
m.registerRepr("arrayLike",m.isArrayLike,m.reprArrayLike);
m.registerRepr("string",m.typeMatcher("string"),m.reprString);
m.registerRepr("numbers",m.typeMatcher("number","boolean"),m.reprNumber);
m.jsonRegistry=new m.AdapterRegistry();
var all=m.concat(m.EXPORT,m.EXPORT_OK);
m.EXPORT_TAGS={":common":m.concat(m.EXPORT_OK),":all":all};
m.nameFunctions(this);
};
MochiKit.Base.__new__();
if(!MochiKit.__compat__){
compare=MochiKit.Base.compare;
}
MochiKit.Base._exportSymbols(this,MochiKit.Base);

if(typeof (dojo)!="undefined"){
dojo.provide("MochiKit.Test");
dojo.require("MochiKit.Base");
}
if(typeof (JSAN)!="undefined"){
JSAN.use("MochiKit.Base",[]);
}
try{
if(typeof (MochiKit.Base)=="undefined"){
throw "";
}
}
catch(e){
throw "MochiKit.Test depends on MochiKit.Base!";
}
if(typeof (MochiKit.Test)=="undefined"){
MochiKit.Test={};
}
MochiKit.Test.NAME="MochiKit.Test";
MochiKit.Test.VERSION="1.3.1";
MochiKit.Test.__repr__=function(){
return "["+this.NAME+" "+this.VERSION+"]";
};
MochiKit.Test.toString=function(){
return this.__repr__();
};
MochiKit.Test.EXPORT=["runTests"];
MochiKit.Test.EXPORT_OK=[];
MochiKit.Test.runTests=function(_1){
if(typeof (_1)=="string"){
_1=JSAN.use(_1);
}
var _2=new MochiKit.Test.Suite();
_2.run(_1);
};
MochiKit.Test.Suite=function(){
this.testIndex=0;
MochiKit.Base.bindMethods(this);
};
MochiKit.Test.Suite.prototype={run:function(_3){
try{
_3(this);
}
catch(e){
this.traceback(e);
}
},traceback:function(e){
var _5=MochiKit.Iter.sorted(MochiKit.Base.items(e));
print("not ok "+this.testIndex+" - Error thrown");
for(var i=0;i<_5.length;i++){
var kv=_5[i];
if(kv[0]=="stack"){
kv[1]=kv[1].split(/\n/)[0];
}
this.print("# "+kv.join(": "));
}
},print:function(s){
print(s);
},is:function(_9,_a,_b){
var _c=1;
var _d=null;
try{
_c=MochiKit.Base.compare(_9,_a);
}
catch(e){
_d="Can not compare "+typeof (_9)+":"+typeof (_a);
}
if(_c){
_d="Expected value did not compare equal";
}
if(!_c){
return this.testResult(true,_b);
}
return this.testResult(false,_b,[[_d],["got:",_9],["expected:",_a]]);
},testResult:function(_e,_f,_10){
this.testIndex+=1;
if(_e){
this.print("ok "+this.testIndex+" - "+_f);
return;
}
this.print("not ok "+this.testIndex+" - "+_f);
if(_10){
for(var i=0;i<_10.length;i++){
this.print("# "+_10[i].join(" "));
}
}
},isDeeply:function(got,_13,_14){
var m=MochiKit.Base;
var res=1;
try{
res=m.compare(got,_13);
}
catch(e){
}
if(res===0){
return this.ok(true,_14);
}
var gk=m.keys(got);
var ek=m.keys(_13);
gk.sort();
ek.sort();
if(m.compare(gk,ek)){
var cmp={};
var i;
for(i=0;i<gk.length;i++){
cmp[gk[i]]="got";
}
for(i=0;i<ek.length;i++){
if(ek[i] in cmp){
delete cmp[ek[i]];
}else{
cmp[ek[i]]="expected";
}
}
var _1b=m.keys(cmp);
_1b.sort();
var _1c=[];
var _1d=[];
while(_1b.length){
var k=_1b.shift();
if(k in Object.prototype){
continue;
}
(cmp[k]=="got"?_1c:_1d).push(k);
}
}
return this.testResult((!res),msg,(msg?[["got:",got],["expected:",_13]]:undefined));
},ok:function(res,_20){
return this.testResult(res,_20);
}};
MochiKit.Test.__new__=function(){
var m=MochiKit.Base;
this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};
m.nameFunctions(this);
};
MochiKit.Test.__new__();
MochiKit.Base._exportSymbols(this,MochiKit.Test);

if(typeof (dojo)!="undefined"){
dojo.provide("MochiKit.Color");
dojo.require("MochiKit.Base");
}
if(typeof (JSAN)!="undefined"){
JSAN.use("MochiKit.Base",[]);
}
try{
if(typeof (MochiKit.Base)=="undefined"){
throw "";
}
}
catch(e){
throw "MochiKit.Color depends on MochiKit.Base";
}
if(typeof (MochiKit.Color)=="undefined"){
MochiKit.Color={};
}
MochiKit.Color.NAME="MochiKit.Color";
MochiKit.Color.VERSION="1.3.1";
MochiKit.Color.__repr__=function(){
return "["+this.NAME+" "+this.VERSION+"]";
};
MochiKit.Color.toString=function(){
return this.__repr__();
};
MochiKit.Color.Color=function(_1,_2,_3,_4){
if(typeof (_4)=="undefined"||_4===null){
_4=1;
}
this.rgb={r:_1,g:_2,b:_3,a:_4};
};
MochiKit.Color.Color.prototype={__class__:MochiKit.Color.Color,colorWithAlpha:function(_5){
var _6=this.rgb;
var m=MochiKit.Color;
return m.Color.fromRGB(_6.r,_6.g,_6.b,_5);
},colorWithHue:function(_8){
var _9=this.asHSL();
_9.h=_8;
var m=MochiKit.Color;
return m.Color.fromHSL(_9);
},colorWithSaturation:function(_b){
var _c=this.asHSL();
_c.s=_b;
var m=MochiKit.Color;
return m.Color.fromHSL(_c);
},colorWithLightness:function(_e){
var _f=this.asHSL();
_f.l=_e;
var m=MochiKit.Color;
return m.Color.fromHSL(_f);
},darkerColorWithLevel:function(_11){
var hsl=this.asHSL();
hsl.l=Math.max(hsl.l-_11,0);
var m=MochiKit.Color;
return m.Color.fromHSL(hsl);
},lighterColorWithLevel:function(_14){
var hsl=this.asHSL();
hsl.l=Math.min(hsl.l+_14,1);
var m=MochiKit.Color;
return m.Color.fromHSL(hsl);
},blendedColor:function(_17,_18){
if(typeof (_18)=="undefined"||_18===null){
_18=0.5;
}
var sf=1-_18;
var s=this.rgb;
var d=_17.rgb;
var df=_18;
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(_1d){
var a=this.asRGB();
var b=_1d.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 _22=this._hslString;
if(!_22){
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;
_22="hsl("+mid+")";
}else{
if(a<=0){
a=0;
}
_22="hsla("+mid+","+a+")";
}
this._hslString=_22;
}
return _22;
},toRGBString:function(){
var c=this.rgb;
var ccc=MochiKit.Color.clampColorComponent;
var _27=this._rgbString;
if(!_27){
var mid=(ccc(c.r,255).toFixed(0)+","+ccc(c.g,255).toFixed(0)+","+ccc(c.b,255).toFixed(0));
if(c.a!=1){
_27="rgba("+mid+","+c.a+")";
}else{
_27="rgb("+mid+")";
}
this._rgbString=_27;
}
return _27;
},asRGB:function(){
return MochiKit.Base.clone(this.rgb);
},toHexString:function(){
var m=MochiKit.Color;
var c=this.rgb;
var ccc=MochiKit.Color.clampColorComponent;
var _2c=this._hexString;
if(!_2c){
_2c=("#"+m.toColorPart(ccc(c.r,255))+m.toColorPart(ccc(c.g,255))+m.toColorPart(ccc(c.b,255)));
this._hexString=_2c;
}
return _2c;
},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,_34,_35,_36){
var _37=MochiKit.Color.Color;
if(arguments.length==1){
var rgb=red;
red=rgb.r;
_34=rgb.g;
_35=rgb.b;
if(typeof (rgb.a)=="undefined"){
_36=undefined;
}else{
_36=rgb.a;
}
}
return new _37(red,_34,_35,_36);
},fromHSL:function(hue,_3a,_3b,_3c){
var m=MochiKit.Color;
return m.Color.fromRGB(m.hslToRGB.apply(m,arguments));
},fromHSV:function(hue,_3f,_40,_41){
var m=MochiKit.Color;
return m.Color.fromRGB(m.hsvToRGB.apply(m,arguments));
},fromName:function(_43){
var _44=MochiKit.Color.Color;
if(_43.charAt(0)=="\""){
_43=_43.substr(1,_43.length-2);
}
var _45=_44._namedColors[_43.toLowerCase()];
if(typeof (_45)=="string"){
return _44.fromHexString(_45);
}else{
if(_43=="transparent"){
return _44.transparentColor();
}
}
return null;
},fromString:function(_46){
var _47=MochiKit.Color.Color;
var _48=_46.substr(0,3);
if(_48=="rgb"){
return _47.fromRGBString(_46);
}else{
if(_48=="hsl"){
return _47.fromHSLString(_46);
}else{
if(_46.charAt(0)=="#"){
return _47.fromHexString(_46);
}
}
}
return _47.fromName(_46);
},fromHexString:function(_49){
if(_49.charAt(0)=="#"){
_49=_49.substring(1);
}
var _4a=[];
var i,hex;
if(_49.length==3){
for(i=0;i<3;i++){
hex=_49.substr(i,1);
_4a.push(parseInt(hex+hex,16)/255);
}
}else{
for(i=0;i<6;i+=2){
hex=_49.substr(i,2);
_4a.push(parseInt(hex,16)/255);
}
}
var _4d=MochiKit.Color.Color;
return _4d.fromRGB.apply(_4d,_4a);
},_fromColorString:function(pre,_4f,_50,_51){
if(_51.indexOf(pre)===0){
_51=_51.substring(_51.indexOf("(",3)+1,_51.length-1);
}
var _52=_51.split(/\s*,\s*/);
var _53=[];
for(var i=0;i<_52.length;i++){
var c=_52[i];
var val;
var _57=c.substring(c.length-3);
if(c.charAt(c.length-1)=="%"){
val=0.01*parseFloat(c.substring(0,c.length-1));
}else{
if(_57=="deg"){
val=parseFloat(c)/360;
}else{
if(_57=="rad"){
val=parseFloat(c)/(Math.PI*2);
}else{
val=_50[i]*parseFloat(c);
}
}
}
_53.push(val);
}
return this[_4f].apply(this,_53);
},fromComputedStyle:function(_58,_59,_5a){
var d=MochiKit.DOM;
var cls=MochiKit.Color.Color;
for(_58=d.getElement(_58);_58;_58=_58.parentNode){
var _5d=d.computedStyle.apply(d,arguments);
if(!_5d){
continue;
}
var _5e=cls.fromString(_5d);
if(!_5e){
break;
}
if(_5e.asRGB().a>0){
return _5e;
}
}
return null;
},fromBackground:function(_5f){
var cls=MochiKit.Color.Color;
return cls.fromComputedStyle(_5f,"backgroundColor","background-color")||cls.whiteColor();
},fromText:function(_61){
var cls=MochiKit.Color.Color;
return cls.fromComputedStyle(_61,"color","color")||cls.blackColor();
},namedColors:function(){
return MochiKit.Base.clone(MochiKit.Color.Color._namedColors);
}});
MochiKit.Base.update(MochiKit.Color,{clampColorComponent:function(v,_64){
v*=_64;
if(v<0){
return 0;
}else{
if(v>_64){
return _64;
}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,_6a,_6b,_6c){
if(arguments.length==1){
var hsv=hue;
hue=hsv.h;
_6a=hsv.s;
_6b=hsv.v;
_6c=hsv.a;
}
var red;
var _6f;
var _70;
if(_6a===0){
red=0;
_6f=0;
_70=0;
}else{
var i=Math.floor(hue*6);
var f=(hue*6)-i;
var p=_6b*(1-_6a);
var q=_6b*(1-(_6a*f));
var t=_6b*(1-(_6a*(1-f)));
switch(i){
case 1:
red=q;
_6f=_6b;
_70=p;
break;
case 2:
red=p;
_6f=_6b;
_70=t;
break;
case 3:
red=p;
_6f=q;
_70=_6b;
break;
case 4:
red=t;
_6f=p;
_70=_6b;
break;
case 5:
red=_6b;
_6f=p;
_70=q;
break;
case 6:
case 0:
red=_6b;
_6f=t;
_70=p;
break;
}
}
return {r:red,g:_6f,b:_70,a:_6c};
},hslToRGB:function(hue,_77,_78,_79){
if(arguments.length==1){
var hsl=hue;
hue=hsl.h;
_77=hsl.s;
_78=hsl.l;
_79=hsl.a;
}
var red;
var _7c;
var _7d;
if(_77===0){
red=_78;
_7c=_78;
_7d=_78;
}else{
var m2;
if(_78<=0.5){
m2=_78*(1+_77);
}else{
m2=_78+_77-(_78*_77);
}
var m1=(2*_78)-m2;
var f=MochiKit.Color._hslValue;
var h6=hue*6;
red=f(m1,m2,h6+2);
_7c=f(m1,m2,h6);
_7d=f(m1,m2,h6-2);
}
return {r:red,g:_7c,b:_7d,a:_79};
},rgbToHSV:function(red,_83,_84,_85){
if(arguments.length==1){
var rgb=red;
red=rgb.r;
_83=rgb.g;
_84=rgb.b;
_85=rgb.a;
}
var max=Math.max(Math.max(red,_83),_84);
var min=Math.min(Math.min(red,_83),_84);
var hue;
var _8a;
var _8b=max;
if(min==max){
hue=0;
_8a=0;
}else{
var _8c=(max-min);
_8a=_8c/max;
if(red==max){
hue=(_83-_84)/_8c;
}else{
if(_83==max){
hue=2+((_84-red)/_8c);
}else{
hue=4+((red-_83)/_8c);
}
}
hue/=6;
if(hue<0){
hue+=1;
}
if(hue>1){
hue-=1;
}
}
return {h:hue,s:_8a,v:_8b,a:_85};
},rgbToHSL:function(red,_8e,_8f,_90){
if(arguments.length==1){
var rgb=red;
red=rgb.r;
_8e=rgb.g;
_8f=rgb.b;
_90=rgb.a;
}
var max=Math.max(red,Math.max(_8e,_8f));
var min=Math.min(red,Math.min(_8e,_8f));
var hue;
var _95;
var _96=(max+min)/2;
var _97=max-min;
if(_97===0){
hue=0;
_95=0;
}else{
if(_96<=0.5){
_95=_97/(max+min);
}else{
_95=_97/(2-max-min);
}
if(red==max){
hue=(_8e-_8f)/_97;
}else{
if(_8e==max){
hue=2+((_8f-red)/_97);
}else{
hue=4+((red-_8e)/_97);
}
}
hue/=6;
if(hue<0){
hue+=1;
}
if(hue>1){
hue-=1;
}
}
return {h:hue,s:_95,l:_96,a:_90};
},toColorPart:function(num){
num=Math.round(num);
var _99=num.toString(16);
if(num<16){
return "0"+_99;
}
return _99;
},__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 _9b=1/3;
var _9c={black:[0,0,0],blue:[0,0,1],brown:[0.6,0.4,0.2],cyan:[0,1,1],darkGray:[_9b,_9b,_9b],gray:[0.5,0.5,0.5],green:[0,1,0],lightGray:[2*_9b,2*_9b,2*_9b],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 _9d=function(_9e,r,g,b,a){
var _a3=this.fromRGB(r,g,b,a);
this[_9e]=function(){
return _a3;
};
return _a3;
};
for(var k in _9c){
var _a5=k+"Color";
var _a6=m.concat([_9d,this.Color,_a5],_9c[k]);
this.Color[_a5]=m.bind.apply(null,_a6);
}
var _a7=function(){
for(var i=0;i<arguments.length;i++){
if(!(arguments[i] instanceof Color)){
return false;
}
}
return true;
};
var _a9=function(a,b){
return a.compareRGB(b);
};
m.nameFunctions(this);
m.registerComparator(this.Color.NAME,_a7,_a9);
this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};
}});
MochiKit.Color.EXPORT=["Color"];
MochiKit.Color.EXPORT_OK=["clampColorComponent","rgbToHSL","hslToRGB","rgbToHSV","hsvToRGB","toColorPart"];
MochiKit.Color.__new__();
MochiKit.Base._exportSymbols(this,MochiKit.Color);
MochiKit.Color.Color._namedColors={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};

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

if(typeof (dojo)!="undefined"){
dojo.provide("MochiKit.DOM");
dojo.require("MochiKit.Iter");
}
if(typeof (JSAN)!="undefined"){
JSAN.use("MochiKit.Iter",[]);
}
try{
if(typeof (MochiKit.Iter)=="undefined"){
throw "";
}
}
catch(e){
throw "MochiKit.DOM depends on MochiKit.Iter!";
}
if(typeof (MochiKit.DOM)=="undefined"){
MochiKit.DOM={};
}
MochiKit.DOM.NAME="MochiKit.DOM";
MochiKit.DOM.VERSION="1.3.1";
MochiKit.DOM.__repr__=function(){
return "["+this.NAME+" "+this.VERSION+"]";
};
MochiKit.DOM.toString=function(){
return this.__repr__();
};
MochiKit.DOM.EXPORT=["formContents","currentWindow","currentDocument","withWindow","withDocument","registerDOMConverter","coerceToDOM","createDOM","createDOMFunc","getNodeAttribute","setNodeAttribute","updateNodeAttributes","appendChildNodes","replaceChildNodes","removeElement","swapDOM","BUTTON","TT","PRE","H1","H2","H3","BR","CANVAS","HR","LABEL","TEXTAREA","FORM","STRONG","SELECT","OPTION","OPTGROUP","LEGEND","FIELDSET","P","UL","OL","LI","TD","TR","THEAD","TBODY","TFOOT","TABLE","TH","INPUT","SPAN","A","DIV","IMG","getElement","$","computedStyle","getElementsByTagAndClassName","addToCallStack","addLoadEvent","focusOnLoad","setElementClass","toggleElementClass","addElementClass","removeElementClass","swapElementClass","hasElementClass","escapeHTML","toHTML","emitHTML","setDisplayForElement","hideElement","showElement","scrapeText","elementDimensions","elementPosition","setElementDimensions","setElementPosition","getViewportDimensions","setOpacity"];
MochiKit.DOM.EXPORT_OK=["domConverters"];
MochiKit.DOM.Dimensions=function(w,h){
this.w=w;
this.h=h;
};
MochiKit.DOM.Dimensions.prototype.repr=function(){
var _3=MochiKit.Base.repr;
return "{w: "+_3(this.w)+", h: "+_3(this.h)+"}";
};
MochiKit.DOM.Coordinates=function(x,y){
this.x=x;
this.y=y;
};
MochiKit.DOM.Coordinates.prototype.repr=function(){
var _6=MochiKit.Base.repr;
return "{x: "+_6(this.x)+", y: "+_6(this.y)+"}";
};
MochiKit.DOM.Coordinates.prototype.toString=function(){
return this.repr();
};
MochiKit.Base.update(MochiKit.DOM,{setOpacity:function(_7,o){
_7=MochiKit.DOM.getElement(_7);
MochiKit.DOM.updateNodeAttributes(_7,{"style":{"opacity":o,"-moz-opacity":o,"-khtml-opacity":o,"filter":" alpha(opacity="+(o*100)+")"}});
},getViewportDimensions:function(){
var d=new MochiKit.DOM.Dimensions();
var w=MochiKit.DOM._window;
var b=MochiKit.DOM._document.body;
if(w.innerWidth){
d.w=w.innerWidth;
d.h=w.innerHeight;
}else{
if(b.parentElement.clientWidth){
d.w=b.parentElement.clientWidth;
d.h=b.parentElement.clientHeight;
}else{
if(b&&b.clientWidth){
d.w=b.clientWidth;
d.h=b.clientHeight;
}
}
}
return d;
},elementDimensions:function(_c){
var _d=MochiKit.DOM;
if(typeof (_c.w)=="number"||typeof (_c.h)=="number"){
return new _d.Dimensions(_c.w||0,_c.h||0);
}
_c=_d.getElement(_c);
if(!_c){
return undefined;
}
if(_d.computedStyle(_c,"display")!="none"){
return new _d.Dimensions(_c.offsetWidth||0,_c.offsetHeight||0);
}
var s=_c.style;
var _f=s.visibility;
var _10=s.position;
s.visibility="hidden";
s.position="absolute";
s.display="";
var _11=_c.offsetWidth;
var _12=_c.offsetHeight;
s.display="none";
s.position=_10;
s.visibility=_f;
return new _d.Dimensions(_11,_12);
},elementPosition:function(_13,_14){
var _15=MochiKit.DOM;
_13=_15.getElement(_13);
if(!_13){
return undefined;
}
var c=new _15.Coordinates(0,0);
if(_13.x&&_13.y){
c.x+=_13.x||0;
c.y+=_13.y||0;
return c;
}else{
if(_13.parentNode===null||_15.computedStyle(_13,"display")=="none"){
return undefined;
}
}
var box=null;
var _18=null;
var d=MochiKit.DOM._document;
var de=d.documentElement;
var b=d.body;
if(_13.getBoundingClientRect){
box=_13.getBoundingClientRect();
c.x+=box.left+(de.scrollLeft||b.scrollLeft)-(de.clientLeft||b.clientLeft);
c.y+=box.top+(de.scrollTop||b.scrollTop)-(de.clientTop||b.clientTop);
}else{
if(d.getBoxObjectFor){
box=d.getBoxObjectFor(_13);
c.x+=box.x;
c.y+=box.y;
}else{
if(_13.offsetParent){
c.x+=_13.offsetLeft;
c.y+=_13.offsetTop;
_18=_13.offsetParent;
if(_18!=_13){
while(_18){
c.x+=_18.offsetLeft;
c.y+=_18.offsetTop;
_18=_18.offsetParent;
}
}
var ua=navigator.userAgent.toLowerCase();
if((typeof (opera)!="undefined"&&parseFloat(opera.version())<9)||(ua.indexOf("safari")!=-1&&_15.computedStyle(_13,"position")=="absolute")){
c.x-=b.offsetLeft;
c.y-=b.offsetTop;
}
}
}
}
if(typeof (_14)!="undefined"){
_14=arguments.callee(_14);
if(_14){
c.x-=(_14.x||0);
c.y-=(_14.y||0);
}
}
if(_13.parentNode){
_18=_13.parentNode;
}else{
_18=null;
}
while(_18&&_18.tagName!="BODY"&&_18.tagName!="HTML"){
c.x-=_18.scrollLeft;
c.y-=_18.scrollTop;
if(_18.parentNode){
_18=_18.parentNode;
}else{
_18=null;
}
}
return c;
},setElementDimensions:function(_1d,_1e,_1f){
_1d=MochiKit.DOM.getElement(_1d);
if(typeof (_1f)=="undefined"){
_1f="px";
}
MochiKit.DOM.updateNodeAttributes(_1d,{"style":{"width":_1e.w+_1f,"height":_1e.h+_1f}});
},setElementPosition:function(_20,_21,_22){
_20=MochiKit.DOM.getElement(_20);
if(typeof (_22)=="undefined"){
_22="px";
}
MochiKit.DOM.updateNodeAttributes(_20,{"style":{"left":_21.x+_22,"top":_21.y+_22}});
},currentWindow:function(){
return MochiKit.DOM._window;
},currentDocument:function(){
return MochiKit.DOM._document;
},withWindow:function(win,_24){
var _25=MochiKit.DOM;
var _26=_25._document;
var _27=_25._win;
var _28;
try{
_25._window=win;
_25._document=win.document;
_28=_24();
}
catch(e){
_25._window=_27;
_25._document=_26;
throw e;
}
_25._window=_27;
_25._document=_26;
return _28;
},formContents:function(_29){
var _2a=[];
var _2b=[];
var m=MochiKit.Base;
var _2d=MochiKit.DOM;
if(typeof (_29)=="undefined"||_29===null){
_29=_2d._document;
}else{
_29=_2d.getElement(_29);
}
m.nodeWalk(_29,function(_2e){
var _2f=_2e.name;
if(m.isNotEmpty(_2f)){
var _30=_2e.nodeName;
if(_30=="INPUT"&&(_2e.type=="radio"||_2e.type=="checkbox")&&!_2e.checked){
return null;
}
if(_30=="SELECT"){
if(_2e.selectedIndex>=0){
var opt=_2e.options[_2e.selectedIndex];
_2a.push(_2f);
_2b.push((opt.value)?opt.value:opt.text);
return null;
}
_2a.push(_2f);
_2b.push("");
return null;
}
if(_30=="FORM"||_30=="P"||_30=="SPAN"||_30=="DIV"){
return _2e.childNodes;
}
_2a.push(_2f);
_2b.push(_2e.value||"");
return null;
}
return _2e.childNodes;
});
return [_2a,_2b];
},withDocument:function(doc,_33){
var _34=MochiKit.DOM;
var _35=_34._document;
var _36;
try{
_34._document=doc;
_36=_33();
}
catch(e){
_34._document=_35;
throw e;
}
_34._document=_35;
return _36;
},registerDOMConverter:function(_37,_38,_39,_3a){
MochiKit.DOM.domConverters.register(_37,_38,_39,_3a);
},coerceToDOM:function(_3b,ctx){
var im=MochiKit.Iter;
var _3e=MochiKit.DOM;
var _3f=im.iter;
var _40=im.repeat;
var _41=im.imap;
var _42=_3e.domConverters;
var _43=_3e.coerceToDOM;
var _44=MochiKit.Base.NotFound;
while(true){
if(typeof (_3b)=="undefined"||_3b===null){
return null;
}
if(typeof (_3b.nodeType)!="undefined"&&_3b.nodeType>0){
return _3b;
}
if(typeof (_3b)=="number"||typeof (_3b)=="boolean"){
_3b=_3b.toString();
}
if(typeof (_3b)=="string"){
return _3e._document.createTextNode(_3b);
}
if(typeof (_3b.toDOM)=="function"){
_3b=_3b.toDOM(ctx);
continue;
}
if(typeof (_3b)=="function"){
_3b=_3b(ctx);
continue;
}
var _45=null;
try{
_45=_3f(_3b);
}
catch(e){
}
if(_45){
return _41(_43,_45,_40(ctx));
}
try{
_3b=_42.match(_3b,ctx);
continue;
}
catch(e){
if(e!=_44){
throw e;
}
}
return _3e._document.createTextNode(_3b.toString());
}
return undefined;
},setNodeAttribute:function(_46,_47,_48){
var o={};
o[_47]=_48;
try{
return MochiKit.DOM.updateNodeAttributes(_46,o);
}
catch(e){
}
return null;
},getNodeAttribute:function(_4a,_4b){
var _4c=MochiKit.DOM;
var _4d=_4c.attributeArray.renames[_4b];
_4a=_4c.getElement(_4a);
try{
if(_4d){
return _4a[_4d];
}
return _4a.getAttribute(_4b);
}
catch(e){
}
return null;
},updateNodeAttributes:function(_4e,_4f){
var _50=_4e;
var _51=MochiKit.DOM;
if(typeof (_4e)=="string"){
_50=_51.getElement(_4e);
}
if(_4f){
var _52=MochiKit.Base.updatetree;
if(_51.attributeArray.compliant){
for(var k in _4f){
var v=_4f[k];
if(typeof (v)=="object"&&typeof (_50[k])=="object"){
_52(_50[k],v);
}else{
if(k.substring(0,2)=="on"){
if(typeof (v)=="string"){
v=new Function(v);
}
_50[k]=v;
}else{
_50.setAttribute(k,v);
}
}
}
}else{
var _55=_51.attributeArray.renames;
for(k in _4f){
v=_4f[k];
var _56=_55[k];
if(k=="style"&&typeof (v)=="string"){
_50.style.cssText=v;
}else{
if(typeof (_56)=="string"){
_50[_56]=v;
}else{
if(typeof (_50[k])=="object"&&typeof (v)=="object"){
_52(_50[k],v);
}else{
if(k.substring(0,2)=="on"){
if(typeof (v)=="string"){
v=new Function(v);
}
_50[k]=v;
}else{
_50.setAttribute(k,v);
}
}
}
}
}
}
}
return _50;
},appendChildNodes:function(_57){
var _58=_57;
var _59=MochiKit.DOM;
if(typeof (_57)=="string"){
_58=_59.getElement(_57);
}
var _5a=[_59.coerceToDOM(MochiKit.Base.extend(null,arguments,1),_58)];
var _5b=MochiKit.Base.concat;
while(_5a.length){
var n=_5a.shift();
if(typeof (n)=="undefined"||n===null){
}else{
if(typeof (n.nodeType)=="number"){
_58.appendChild(n);
}else{
_5a=_5b(n,_5a);
}
}
}
return _58;
},replaceChildNodes:function(_5d){
var _5e=_5d;
var _5f=MochiKit.DOM;
if(typeof (_5d)=="string"){
_5e=_5f.getElement(_5d);
arguments[0]=_5e;
}
var _60;
while((_60=_5e.firstChild)){
_5e.removeChild(_60);
}
if(arguments.length<2){
return _5e;
}else{
return _5f.appendChildNodes.apply(this,arguments);
}
},createDOM:function(_61,_62){
var _63;
var _64=MochiKit.DOM;
var m=MochiKit.Base;
if(typeof (_62)=="string"||typeof (_62)=="number"){
var _66=m.extend([_61,null],arguments,1);
return arguments.callee.apply(this,_66);
}
if(typeof (_61)=="string"){
if(_62&&"name" in _62&&!_64.attributeArray.compliant){
_61=("<"+_61+" name=\""+_64.escapeHTML(_62.name)+"\">");
}
_63=_64._document.createElement(_61);
}else{
_63=_61;
}
if(_62){
_64.updateNodeAttributes(_63,_62);
}
if(arguments.length<=2){
return _63;
}else{
var _66=m.extend([_63],arguments,2);
return _64.appendChildNodes.apply(this,_66);
}
},createDOMFunc:function(){
var m=MochiKit.Base;
return m.partial.apply(this,m.extend([MochiKit.DOM.createDOM],arguments));
},swapDOM:function(_68,src){
var _6a=MochiKit.DOM;
_68=_6a.getElement(_68);
var _6b=_68.parentNode;
if(src){
src=_6a.getElement(src);
_6b.replaceChild(src,_68);
}else{
_6b.removeChild(_68);
}
return src;
},getElement:function(id){
var _6d=MochiKit.DOM;
if(arguments.length==1){
return ((typeof (id)=="string")?_6d._document.getElementById(id):id);
}else{
return MochiKit.Base.map(_6d.getElement,arguments);
}
},computedStyle:function(_6e,_6f,_70){
if(arguments.length==2){
_70=_6f;
}
var _71=MochiKit.DOM;
var el=_71.getElement(_6e);
var _73=_71._document;
if(!el||el==_73){
return undefined;
}
if(el.currentStyle){
return el.currentStyle[_6f];
}
if(typeof (_73.defaultView)=="undefined"){
return undefined;
}
if(_73.defaultView===null){
return undefined;
}
var _74=_73.defaultView.getComputedStyle(el,null);
if(typeof (_74)=="undefined"||_74===null){
return undefined;
}
return _74.getPropertyValue(_70);
},getElementsByTagAndClassName:function(_75,_76,_77){
var _78=MochiKit.DOM;
if(typeof (_75)=="undefined"||_75===null){
_75="*";
}
if(typeof (_77)=="undefined"||_77===null){
_77=_78._document;
}
_77=_78.getElement(_77);
var _79=(_77.getElementsByTagName(_75)||_78._document.all);
if(typeof (_76)=="undefined"||_76===null){
return MochiKit.Base.extend(null,_79);
}
var _7a=[];
for(var i=0;i<_79.length;i++){
var _7c=_79[i];
var _7d=_7c.className.split(" ");
for(var j=0;j<_7d.length;j++){
if(_7d[j]==_76){
_7a.push(_7c);
break;
}
}
}
return _7a;
},_newCallStack:function(_7f,_80){
var _81=function(){
var _82=arguments.callee.callStack;
for(var i=0;i<_82.length;i++){
if(_82[i].apply(this,arguments)===false){
break;
}
}
if(_80){
try{
this[_7f]=null;
}
catch(e){
}
}
};
_81.callStack=[];
return _81;
},addToCallStack:function(_84,_85,_86,_87){
var _88=MochiKit.DOM;
var _89=_84[_85];
var _8a=_89;
if(!(typeof (_89)=="function"&&typeof (_89.callStack)=="object"&&_89.callStack!==null)){
_8a=_88._newCallStack(_85,_87);
if(typeof (_89)=="function"){
_8a.callStack.push(_89);
}
_84[_85]=_8a;
}
_8a.callStack.push(_86);
},addLoadEvent:function(_8b){
var _8c=MochiKit.DOM;
_8c.addToCallStack(_8c._window,"onload",_8b,true);
},focusOnLoad:function(_8d){
var _8e=MochiKit.DOM;
_8e.addLoadEvent(function(){
_8d=_8e.getElement(_8d);
if(_8d){
_8d.focus();
}
});
},setElementClass:function(_8f,_90){
var _91=MochiKit.DOM;
var obj=_91.getElement(_8f);
if(_91.attributeArray.compliant){
obj.setAttribute("class",_90);
}else{
obj.setAttribute("className",_90);
}
},toggleElementClass:function(_93){
var _94=MochiKit.DOM;
for(var i=1;i<arguments.length;i++){
var obj=_94.getElement(arguments[i]);
if(!_94.addElementClass(obj,_93)){
_94.removeElementClass(obj,_93);
}
}
},addElementClass:function(_97,_98){
var _99=MochiKit.DOM;
var obj=_99.getElement(_97);
var cls=obj.className;
if(cls.length===0){
_99.setElementClass(obj,_98);
return true;
}
if(cls==_98){
return false;
}
var _9c=obj.className.split(" ");
for(var i=0;i<_9c.length;i++){
if(_9c[i]==_98){
return false;
}
}
_99.setElementClass(obj,cls+" "+_98);
return true;
},removeElementClass:function(_9e,_9f){
var _a0=MochiKit.DOM;
var obj=_a0.getElement(_9e);
var cls=obj.className;
if(cls.length===0){
return false;
}
if(cls==_9f){
_a0.setElementClass(obj,"");
return true;
}
var _a3=obj.className.split(" ");
for(var i=0;i<_a3.length;i++){
if(_a3[i]==_9f){
_a3.splice(i,1);
_a0.setElementClass(obj,_a3.join(" "));
return true;
}
}
return false;
},swapElementClass:function(_a5,_a6,_a7){
var obj=MochiKit.DOM.getElement(_a5);
var res=MochiKit.DOM.removeElementClass(obj,_a6);
if(res){
MochiKit.DOM.addElementClass(obj,_a7);
}
return res;
},hasElementClass:function(_aa,_ab){
var obj=MochiKit.DOM.getElement(_aa);
var _ad=obj.className.split(" ");
for(var i=1;i<arguments.length;i++){
var _af=false;
for(var j=0;j<_ad.length;j++){
if(_ad[j]==arguments[i]){
_af=true;
break;
}
}
if(!_af){
return false;
}
}
return true;
},escapeHTML:function(s){
return s.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");
},toHTML:function(dom){
return MochiKit.DOM.emitHTML(dom).join("");
},emitHTML:function(dom,lst){
if(typeof (lst)=="undefined"||lst===null){
lst=[];
}
var _b5=[dom];
var _b6=MochiKit.DOM;
var _b7=_b6.escapeHTML;
var _b8=_b6.attributeArray;
while(_b5.length){
dom=_b5.pop();
if(typeof (dom)=="string"){
lst.push(dom);
}else{
if(dom.nodeType==1){
lst.push("<"+dom.nodeName.toLowerCase());
var _b9=[];
var _ba=_b8(dom);
for(var i=0;i<_ba.length;i++){
var a=_ba[i];
_b9.push([" ",a.name,"=\"",_b7(a.value),"\""]);
}
_b9.sort();
for(i=0;i<_b9.length;i++){
var _bd=_b9[i];
for(var j=0;j<_bd.length;j++){
lst.push(_bd[j]);
}
}
if(dom.hasChildNodes()){
lst.push(">");
_b5.push("</"+dom.nodeName.toLowerCase()+">");
var _bf=dom.childNodes;
for(i=_bf.length-1;i>=0;i--){
_b5.push(_bf[i]);
}
}else{
lst.push("/>");
}
}else{
if(dom.nodeType==3){
lst.push(_b7(dom.nodeValue));
}
}
}
}
return lst;
},setDisplayForElement:function(_c0,_c1){
var m=MochiKit.Base;
var _c3=m.extend(null,arguments,1);
MochiKit.Iter.forEach(m.filter(null,m.map(MochiKit.DOM.getElement,_c3)),function(_c4){
_c4.style.display=_c0;
});
},scrapeText:function(_c5,_c6){
var _c7=[];
(function(_c8){
var cn=_c8.childNodes;
if(cn){
for(var i=0;i<cn.length;i++){
arguments.callee.call(this,cn[i]);
}
}
var _cb=_c8.nodeValue;
if(typeof (_cb)=="string"){
_c7.push(_cb);
}
})(MochiKit.DOM.getElement(_c5));
if(_c6){
return _c7;
}else{
return _c7.join("");
}
},__new__:function(win){
var m=MochiKit.Base;
this._document=document;
this._window=win;
this.domConverters=new m.AdapterRegistry();
var _ce=this._document.createElement("span");
var _cf;
if(_ce&&_ce.attributes&&_ce.attributes.length>0){
var _d0=m.filter;
_cf=function(_d1){
return _d0(_cf.ignoreAttrFilter,_d1.attributes);
};
_cf.ignoreAttr={};
MochiKit.Iter.forEach(_ce.attributes,function(a){
_cf.ignoreAttr[a.name]=a.value;
});
_cf.ignoreAttrFilter=function(a){
return (_cf.ignoreAttr[a.name]!=a.value);
};
_cf.compliant=false;
_cf.renames={"class":"className","checked":"defaultChecked","usemap":"useMap","for":"htmlFor"};
}else{
_cf=function(_d4){
return _d4.attributes;
};
_cf.compliant=true;
_cf.renames={};
}
this.attributeArray=_cf;
var _d5=this.createDOMFunc;
this.UL=_d5("ul");
this.OL=_d5("ol");
this.LI=_d5("li");
this.TD=_d5("td");
this.TR=_d5("tr");
this.TBODY=_d5("tbody");
this.THEAD=_d5("thead");
this.TFOOT=_d5("tfoot");
this.TABLE=_d5("table");
this.TH=_d5("th");
this.INPUT=_d5("input");
this.SPAN=_d5("span");
this.A=_d5("a");
this.DIV=_d5("div");
this.IMG=_d5("img");
this.BUTTON=_d5("button");
this.TT=_d5("tt");
this.PRE=_d5("pre");
this.H1=_d5("h1");
this.H2=_d5("h2");
this.H3=_d5("h3");
this.BR=_d5("br");
this.HR=_d5("hr");
this.LABEL=_d5("label");
this.TEXTAREA=_d5("textarea");
this.FORM=_d5("form");
this.P=_d5("p");
this.SELECT=_d5("select");
this.OPTION=_d5("option");
this.OPTGROUP=_d5("optgroup");
this.LEGEND=_d5("legend");
this.FIELDSET=_d5("fieldset");
this.STRONG=_d5("strong");
this.CANVAS=_d5("canvas");
this.hideElement=m.partial(this.setDisplayForElement,"none");
this.showElement=m.partial(this.setDisplayForElement,"block");
this.removeElement=this.swapDOM;
this.$=this.getElement;
this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};
m.nameFunctions(this);
}});
MochiKit.DOM.__new__(((typeof (window)=="undefined")?this:window));
if(!MochiKit.__compat__){
withWindow=MochiKit.DOM.withWindow;
withDocument=MochiKit.DOM.withDocument;
}
MochiKit.Base._exportSymbols(this,MochiKit.DOM);

if(typeof (dojo)!="undefined"){
dojo.provide("MochiKit.Format");
}
if(typeof (MochiKit)=="undefined"){
MochiKit={};
}
if(typeof (MochiKit.Format)=="undefined"){
MochiKit.Format={};
}
MochiKit.Format.NAME="MochiKit.Format";
MochiKit.Format.VERSION="1.3.1";
MochiKit.Format.__repr__=function(){
return "["+this.NAME+" "+this.VERSION+"]";
};
MochiKit.Format.toString=function(){
return this.__repr__();
};
MochiKit.Format._numberFormatter=function(_1,_2,_3,_4,_5,_6,_7,_8,_9){
return function(_a){
_a=parseFloat(_a);
if(typeof (_a)=="undefined"||_a===null||isNaN(_a)){
return _1;
}
var _b=_2;
var _c=_3;
if(_a<0){
_a=-_a;
}else{
_b=_b.replace(/-/,"");
}
var me=arguments.callee;
var _e=MochiKit.Format.formatLocale(_4);
if(_5){
_a=_a*100;
_c=_e.percent+_c;
}
_a=MochiKit.Format.roundToFixed(_a,_6);
var _f=_a.split(/\./);
var _10=_f[0];
var _11=(_f.length==1)?"":_f[1];
var res="";
while(_10.length<_7){
_10="0"+_10;
}
if(_8){
while(_10.length>_8){
var i=_10.length-_8;
res=_e.separator+_10.substring(i,_10.length)+res;
_10=_10.substring(0,i);
}
}
res=_10+res;
if(_6>0){
while(_11.length<_9){
_11=_11+"0";
}
res=res+_e.decimal+_11;
}
return _b+res+_c;
};
};
MochiKit.Format.numberFormatter=function(_14,_15,_16){
if(typeof (_15)=="undefined"){
_15="";
}
var _17=_14.match(/((?:[0#]+,)?[0#]+)(?:\.([0#]+))?(%)?/);
if(!_17){
throw TypeError("Invalid pattern");
}
var _18=_14.substr(0,_17.index);
var _19=_14.substr(_17.index+_17[0].length);
if(_18.search(/-/)==-1){
_18=_18+"-";
}
var _1a=_17[1];
var _1b=(typeof (_17[2])=="string"&&_17[2]!="")?_17[2]:"";
var _1c=(typeof (_17[3])=="string"&&_17[3]!="");
var tmp=_1a.split(/,/);
var _1e;
if(typeof (_16)=="undefined"){
_16="default";
}
if(tmp.length==1){
_1e=null;
}else{
_1e=tmp[1].length;
}
var _1f=_1a.length-_1a.replace(/0/g,"").length;
var _20=_1b.length-_1b.replace(/0/g,"").length;
var _21=_1b.length;
var _22=MochiKit.Format._numberFormatter(_15,_18,_19,_16,_1c,_21,_1f,_1e,_20);
var m=MochiKit.Base;
if(m){
var fn=arguments.callee;
var _25=m.concat(arguments);
_22.repr=function(){
return [self.NAME,"(",map(m.repr,_25).join(", "),")"].join("");
};
}
return _22;
};
MochiKit.Format.formatLocale=function(_26){
if(typeof (_26)=="undefined"||_26===null){
_26="default";
}
if(typeof (_26)=="string"){
var _27=MochiKit.Format.LOCALE[_26];
if(typeof (_27)=="string"){
_27=arguments.callee(_27);
MochiKit.Format.LOCALE[_26]=_27;
}
return _27;
}else{
return _26;
}
};
MochiKit.Format.twoDigitAverage=function(_28,_29){
if(_29){
var res=_28/_29;
if(!isNaN(res)){
return MochiKit.Format.twoDigitFloat(_28/_29);
}
}
return "0";
};
MochiKit.Format.twoDigitFloat=function(_2b){
var _2c=(_2b<0?"-":"");
var s=Math.floor(Math.abs(_2b)*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 _2c+"0."+s;
}
var _2e=_2c+s.substring(0,s.length-2);
var _2f=s.substring(s.length-2,s.length);
if(_2f=="00"){
return _2e;
}else{
if(_2f.charAt(1)=="0"){
return _2e+"."+_2f.charAt(0);
}else{
return _2e+"."+_2f;
}
}
};
MochiKit.Format.lstrip=function(str,_31){
str=str+"";
if(typeof (str)!="string"){
return null;
}
if(!_31){
return str.replace(/^\s+/,"");
}else{
return str.replace(new RegExp("^["+_31+"]+"),"");
}
};
MochiKit.Format.rstrip=function(str,_33){
str=str+"";
if(typeof (str)!="string"){
return null;
}
if(!_33){
return str.replace(/\s+$/,"");
}else{
return str.replace(new RegExp("["+_33+"]+$"),"");
}
};
MochiKit.Format.strip=function(str,_35){
var _36=MochiKit.Format;
return _36.rstrip(_36.lstrip(str,_35),_35);
};
MochiKit.Format.truncToFixed=function(_37,_38){
_37=Math.floor(_37*Math.pow(10,_38));
var res=(_37*Math.pow(10,-_38)).toFixed(_38);
if(res.charAt(0)=="."){
res="0"+res;
}
return res;
};
MochiKit.Format.roundToFixed=function(_3a,_3b){
return MochiKit.Format.truncToFixed(_3a+0.5*Math.pow(10,-_3b),_3b);
};
MochiKit.Format.percentFormat=function(_3c){
return MochiKit.Format.twoDigitFloat(100*_3c)+"%";
};
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 _3d=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=_3d+"LOCALE."+k;
}
}
for(k in this){
o=this[k];
if(typeof (o)=="function"&&typeof (o.NAME)=="undefined"){
try{
o.NAME=_3d+k;
}
catch(e){
}
}
}
};
MochiKit.Format.__new__();
if(typeof (MochiKit.Base)!="undefined"){
MochiKit.Base._exportSymbols(this,MochiKit.Format);
}else{
(function(_41,_42){
if((typeof (JSAN)=="undefined"&&typeof (dojo)=="undefined")||(typeof (MochiKit.__compat__)=="boolean"&&MochiKit.__compat__)){
var all=_42.EXPORT_TAGS[":all"];
for(var i=0;i<all.length;i++){
_41[all[i]]=_42[all[i]];
}
}
})(this,MochiKit.Format);
}

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.3.1";
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(_1,_2,_3){
this.num=_1;
this.level=_2;
this.info=_3;
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(_5){
var _6=MochiKit.Logging;
if(typeof (_5)=="string"){
_5=_6.LogLevel[_5];
}
return function(_7){
var _8=_7.level;
if(typeof (_8)=="string"){
_8=_6.LogLevel[_8];
}
return _8>=_5;
};
},isLogMessage:function(){
var _9=MochiKit.Logging.LogMessage;
for(var i=0;i<arguments.length;i++){
if(!(arguments[i] instanceof _9)){
return false;
}
}
return true;
},compareLogMessage:function(a,b){
return MochiKit.Base.compare([a.level,a.info],[b.level,b.info]);
},alertListener:function(_d){
alert("num: "+_d.num+"\nlevel: "+_d.level+"\ninfo: "+_d.info.join(" "));
}});
MochiKit.Logging.Logger=function(_e){
this.counter=0;
if(typeof (_e)=="undefined"||_e===null){
_e=-1;
}
this.maxSize=_e;
this._messages=[];
this.listeners={};
this.useNativeConsole=false;
};
MochiKit.Logging.Logger.prototype={clear:function(){
this._messages.splice(0,this._messages.length);
},logToConsole:function(_f){
if(typeof (window)!="undefined"&&window.console&&window.console.log){
window.console.log(_f);
}else{
if(typeof (opera)!="undefined"&&opera.postError){
opera.postError(_f);
}else{
if(typeof (printfire)=="function"){
printfire(_f);
}
}
}
},dispatchListeners:function(msg){
for(var k in this.listeners){
var _12=this.listeners[k];
if(_12.ident!=k||(_12[0]&&!_12[0](msg))){
continue;
}
_12[1](msg);
}
},addListener:function(_13,_14,_15){
if(typeof (_14)=="string"){
_14=MochiKit.Logging.logLevelAtLeast(_14);
}
var _16=[_14,_15];
_16.ident=_13;
this.listeners[_13]=_16;
},removeListener:function(_17){
delete this.listeners[_17];
},baseLog:function(_18,_19){
var msg=new MochiKit.Logging.LogMessage(this.counter,_18,MochiKit.Base.extend(null,arguments,1));
this._messages.push(msg);
this.dispatchListeners(msg);
if(this.useNativeConsole){
this.logToConsole(msg.level+": "+msg.info.join(" "));
}
this.counter+=1;
while(this.maxSize>=0&&this._messages.length>this.maxSize){
this._messages.shift();
}
},getMessages:function(_1b){
var _1c=0;
if(!(typeof (_1b)=="undefined"||_1b===null)){
_1c=Math.max(0,this._messages.length-_1b);
}
return this._messages.slice(_1c);
},getMessageText:function(_1d){
if(typeof (_1d)=="undefined"||_1d===null){
_1d=30;
}
var _1e=this.getMessages(_1d);
if(_1e.length){
var lst=map(function(m){
return "\n  ["+m.num+"] "+m.level+": "+m.info.join(" ");
},_1e);
lst.unshift("LAST "+_1e.length+" MESSAGES:");
return lst.join("");
}
return "";
},debuggingBookmarklet:function(_21){
if(typeof (MochiKit.LoggingPane)=="undefined"){
alert(this.getMessageText());
}else{
MochiKit.LoggingPane.createLoggingPane(_21||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 _23=m.partial;
var _24=this.Logger;
var _25=_24.prototype.baseLog;
m.update(this.Logger.prototype,{debug:_23(_25,"DEBUG"),log:_23(_25,"INFO"),error:_23(_25,"ERROR"),fatal:_23(_25,"FATAL"),warning:_23(_25,"WARNING")});
var _26=this;
var _27=function(_28){
return function(){
_26.logger[_28].apply(_26.logger,arguments);
};
};
this.log=_27("log");
this.logError=_27("error");
this.logDebug=_27("debug");
this.logFatal=_27("fatal");
this.logWarning=_27("warning");
this.logger=new _24();
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.LoggingPane");
dojo.require("MochiKit.Logging");
dojo.require("MochiKit.Base");
}
if(typeof (JSAN)!="undefined"){
JSAN.use("MochiKit.Logging",[]);
JSAN.use("MochiKit.Base",[]);
}
try{
if(typeof (MochiKit.Base)=="undefined"||typeof (MochiKit.Logging)=="undefined"){
throw "";
}
}
catch(e){
throw "MochiKit.LoggingPane depends on MochiKit.Base and MochiKit.Logging!";
}
if(typeof (MochiKit.LoggingPane)=="undefined"){
MochiKit.LoggingPane={};
}
MochiKit.LoggingPane.NAME="MochiKit.LoggingPane";
MochiKit.LoggingPane.VERSION="1.3.1";
MochiKit.LoggingPane.__repr__=function(){
return "["+this.NAME+" "+this.VERSION+"]";
};
MochiKit.LoggingPane.toString=function(){
return this.__repr__();
};
MochiKit.LoggingPane.createLoggingPane=function(_1){
var m=MochiKit.LoggingPane;
_1=!(!_1);
if(m._loggingPane&&m._loggingPane.inline!=_1){
m._loggingPane.closePane();
m._loggingPane=null;
}
if(!m._loggingPane||m._loggingPane.closed){
m._loggingPane=new m.LoggingPane(_1,MochiKit.Logging.logger);
}
return m._loggingPane;
};
MochiKit.LoggingPane.LoggingPane=function(_3,_4){
if(typeof (_4)=="undefined"||_4===null){
_4=MochiKit.Logging.logger;
}
this.logger=_4;
var _5=MochiKit.Base.update;
var _6=MochiKit.Base.updatetree;
var _7=MochiKit.Base.bind;
var _8=MochiKit.Base.clone;
var _9=window;
var _a="_MochiKit_LoggingPane";
if(typeof (MochiKit.DOM)!="undefined"){
_9=MochiKit.DOM.currentWindow();
}
if(!_3){
var _b=_9.location.href.split("?")[0].replace(/[:\/.><&]/g,"_");
var _c=_a+"_"+_b;
var _d=_9.open("",_c,"dependent,resizable,height=200");
if(!_d){
alert("Not able to open debugging window due to pop-up blocking.");
return undefined;
}
_d.document.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" "+"\"http://www.w3.org/TR/html4/loose.dtd\">"+"<html><head><title>[MochiKit.LoggingPane]</title></head>"+"<body></body></html>");
_d.document.close();
_d.document.title+=" "+_9.document.title;
_9=_d;
}
var _e=_9.document;
this.doc=_e;
var _f=_e.getElementById(_a);
var _10=!!_f;
if(_f&&typeof (_f.loggingPane)!="undefined"){
_f.loggingPane.logger=this.logger;
_f.loggingPane.buildAndApplyFilter();
return _f.loggingPane;
}
if(_10){
var _11;
while((_11=_f.firstChild)){
_f.removeChild(_11);
}
}else{
_f=_e.createElement("div");
_f.id=_a;
}
_f.loggingPane=this;
var _12=_e.createElement("input");
var _13=_e.createElement("input");
var _14=_e.createElement("button");
var _15=_e.createElement("button");
var _16=_e.createElement("button");
var _17=_e.createElement("button");
var _18=_e.createElement("div");
var _19=_e.createElement("div");
var _1a=_a+"_Listener";
this.colorTable=_8(this.colorTable);
var _1b=[];
var _1c=null;
var _1d=function(msg){
var _1f=msg.level;
if(typeof (_1f)=="number"){
_1f=MochiKit.Logging.LogLevel[_1f];
}
return _1f;
};
var _20=function(msg){
return msg.info.join(" ");
};
var _22=_7(function(msg){
var _24=_1d(msg);
var _25=_20(msg);
var c=this.colorTable[_24];
var p=_e.createElement("span");
p.className="MochiKit-LogMessage MochiKit-LogLevel-"+_24;
p.style.cssText="margin: 0px; white-space: -moz-pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; white-space: pre-line; word-wrap: break-word; wrap-option: emergency; color: "+c;
p.appendChild(_e.createTextNode(_24+": "+_25));
_19.appendChild(p);
_19.appendChild(_e.createElement("br"));
if(_18.offsetHeight>_18.scrollHeight){
_18.scrollTop=0;
}else{
_18.scrollTop=_18.scrollHeight;
}
},this);
var _28=function(msg){
_1b[_1b.length]=msg;
_22(msg);
};
var _2a=function(){
var _2b,_2c;
try{
_2b=new RegExp(_12.value);
_2c=new RegExp(_13.value);
}
catch(e){
logDebug("Error in filter regex: "+e.message);
return null;
}
return function(msg){
return (_2b.test(_1d(msg))&&_2c.test(_20(msg)));
};
};
var _2e=function(){
while(_19.firstChild){
_19.removeChild(_19.firstChild);
}
};
var _2f=function(){
_1b=[];
_2e();
};
var _30=_7(function(){
if(this.closed){
return;
}
this.closed=true;
if(MochiKit.LoggingPane._loggingPane==this){
MochiKit.LoggingPane._loggingPane=null;
}
this.logger.removeListener(_1a);
_f.loggingPane=null;
if(_3){
_f.parentNode.removeChild(_f);
}else{
this.win.close();
}
},this);
var _31=function(){
_2e();
for(var i=0;i<_1b.length;i++){
var msg=_1b[i];
if(_1c===null||_1c(msg)){
_22(msg);
}
}
};
this.buildAndApplyFilter=function(){
_1c=_2a();
_31();
this.logger.removeListener(_1a);
this.logger.addListener(_1a,_1c,_28);
};
var _34=_7(function(){
_1b=this.logger.getMessages();
_31();
},this);
var _35=_7(function(_36){
_36=_36||window.event;
key=_36.which||_36.keyCode;
if(key==13){
this.buildAndApplyFilter();
}
},this);
var _37="display: block; z-index: 1000; left: 0px; bottom: 0px; position: fixed; width: 100%; background-color: white; font: "+this.logFont;
if(_3){
_37+="; height: 10em; border-top: 2px solid black";
}else{
_37+="; height: 100%;";
}
_f.style.cssText=_37;
if(!_10){
_e.body.appendChild(_f);
}
_37={"cssText":"width: 33%; display: inline; font: "+this.logFont};
_6(_12,{"value":"FATAL|ERROR|WARNING|INFO|DEBUG","onkeypress":_35,"style":_37});
_f.appendChild(_12);
_6(_13,{"value":".*","onkeypress":_35,"style":_37});
_f.appendChild(_13);
_37="width: 8%; display:inline; font: "+this.logFont;
_14.appendChild(_e.createTextNode("Filter"));
_14.onclick=_7("buildAndApplyFilter",this);
_14.style.cssText=_37;
_f.appendChild(_14);
_15.appendChild(_e.createTextNode("Load"));
_15.onclick=_34;
_15.style.cssText=_37;
_f.appendChild(_15);
_16.appendChild(_e.createTextNode("Clear"));
_16.onclick=_2f;
_16.style.cssText=_37;
_f.appendChild(_16);
_17.appendChild(_e.createTextNode("Close"));
_17.onclick=_30;
_17.style.cssText=_37;
_f.appendChild(_17);
_18.style.cssText="overflow: auto; width: 100%";
_19.style.cssText="width: 100%; height: "+(_3?"8em":"100%");
_18.appendChild(_19);
_f.appendChild(_18);
this.buildAndApplyFilter();
_34();
if(_3){
this.win=undefined;
}else{
this.win=_9;
}
this.inline=_3;
this.closePane=_30;
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 (MochiKit)=="undefined"){
var MochiKit={};
}
if(typeof (MochiKit.MockDOM)=="undefined"){
MochiKit.MockDOM={};
}
MochiKit.MockDOM.NAME="MochiKit.MockDOM";
MochiKit.MockDOM.VERSION="1.3.1";
MochiKit.MockDOM.__repr__=function(){
return "["+this.NAME+" "+this.VERSION+"]";
};
MochiKit.MockDOM.toString=function(){
return this.__repr__();
};
MochiKit.MockDOM.createDocument=function(){
var _1=new MochiKit.MockDOM.MockElement("DOCUMENT");
_1.body=_1.createElement("BODY");
_1.appendChild(_1.body);
return _1;
};
MochiKit.MockDOM.MockElement=function(_2,_3){
this.nodeName=_2.toUpperCase();
if(typeof (_3)=="string"){
this.nodeValue=_3;
this.nodeType=3;
}else{
this.nodeType=1;
this.childNodes=[];
}
if(_2.substring(0,1)=="<"){
var _4=_2.substring(_2.indexOf("\"")+1,_2.lastIndexOf("\""));
_2=_2.substring(1,_2.indexOf(" "));
this.nodeName=_2.toUpperCase();
this.setAttribute("name",_4);
}
};
MochiKit.MockDOM.MockElement.prototype={createElement:function(_5){
return new MochiKit.MockDOM.MockElement(_5);
},createTextNode:function(_6){
return new MochiKit.MockDOM.MockElement("text",_6);
},setAttribute:function(_7,_8){
this[_7]=_8;
},getAttribute:function(_9){
return this[_9];
},appendChild:function(_a){
this.childNodes.push(_a);
},toString:function(){
return "MockElement("+this.nodeName+")";
}};

if(typeof (dojo)!="undefined"){
dojo.provide("MochiKit.Async");
dojo.require("MochiKit.Base");
}
if(typeof (JSAN)!="undefined"){
JSAN.use("MochiKit.Base",[]);
}
try{
if(typeof (MochiKit.Base)=="undefined"){
throw "";
}
}
catch(e){
throw "MochiKit.Async depends on MochiKit.Base!";
}
if(typeof (MochiKit.Async)=="undefined"){
MochiKit.Async={};
}
MochiKit.Async.NAME="MochiKit.Async";
MochiKit.Async.VERSION="1.3.1";
MochiKit.Async.__repr__=function(){
return "["+this.NAME+" "+this.VERSION+"]";
};
MochiKit.Async.toString=function(){
return this.__repr__();
};
MochiKit.Async.Deferred=function(_1){
this.chain=[];
this.id=this._nextId();
this.fired=-1;
this.paused=0;
this.results=[null,null];
this.canceller=_1;
this.silentlyCancelled=false;
this.chained=false;
};
MochiKit.Async.Deferred.prototype={repr:function(){
var _2;
if(this.fired==-1){
_2="unfired";
}else{
if(this.fired===0){
_2="success";
}else{
_2="error";
}
}
return "Deferred("+this.id+", "+_2+")";
},toString:MochiKit.Base.forwardCall("repr"),_nextId:MochiKit.Base.counter(),cancel:function(){
var _3=MochiKit.Async;
if(this.fired==-1){
if(this.canceller){
this.canceller(this);
}else{
this.silentlyCancelled=true;
}
if(this.fired==-1){
this.errback(new _3.CancelledError(this));
}
}else{
if((this.fired===0)&&(this.results[0] instanceof _3.Deferred)){
this.results[0].cancel();
}
}
},_pause:function(){
this.paused++;
},_unpause:function(){
this.paused--;
if((this.paused===0)&&(this.fired>=0)){
this._fire();
}
},_continue:function(_4){
this._resback(_4);
this._unpause();
},_resback:function(_5){
this.fired=((_5 instanceof Error)?1:0);
this.results[this.fired]=_5;
this._fire();
},_check:function(){
if(this.fired!=-1){
if(!this.silentlyCancelled){
throw new MochiKit.Async.AlreadyCalledError(this);
}
this.silentlyCancelled=false;
return;
}
},callback:function(_6){
this._check();
if(_6 instanceof MochiKit.Async.Deferred){
throw new Error("Deferred instances can only be chained if they are the result of a callback");
}
this._resback(_6);
},errback:function(_7){
this._check();
var _8=MochiKit.Async;
if(_7 instanceof _8.Deferred){
throw new Error("Deferred instances can only be chained if they are the result of a callback");
}
if(!(_7 instanceof Error)){
_7=new _8.GenericError(_7);
}
this._resback(_7);
},addBoth:function(fn){
if(arguments.length>1){
fn=MochiKit.Base.partial.apply(null,arguments);
}
return this.addCallbacks(fn,fn);
},addCallback:function(fn){
if(arguments.length>1){
fn=MochiKit.Base.partial.apply(null,arguments);
}
return this.addCallbacks(fn,null);
},addErrback:function(fn){
if(arguments.length>1){
fn=MochiKit.Base.partial.apply(null,arguments);
}
return this.addCallbacks(null,fn);
},addCallbacks:function(cb,eb){
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 _e=this.chain;
var _f=this.fired;
var res=this.results[_f];
var _11=this;
var cb=null;
while(_e.length>0&&this.paused===0){
var _13=_e.shift();
var f=_13[_f];
if(f===null){
continue;
}
try{
res=f(res);
_f=((res instanceof Error)?1:0);
if(res instanceof MochiKit.Async.Deferred){
cb=function(res){
_11._continue(res);
};
this._pause();
}
}
catch(err){
_f=1;
if(!(err instanceof Error)){
err=new MochiKit.Async.GenericError(err);
}
res=err;
}
}
this.fired=_f;
this.results[_f]=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(_16){
var d=new MochiKit.Async.Deferred();
d.callback.apply(d,arguments);
return d;
},fail:function(_18){
var d=new MochiKit.Async.Deferred();
d.errback.apply(d,arguments);
return d;
},getXMLHttpRequest:function(){
var _1a=arguments.callee;
if(!_1a.XMLHttpRequest){
var _1b=[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<_1b.length;i++){
var _1d=_1b[i];
try{
_1a.XMLHttpRequest=_1d;
return _1d();
}
catch(e){
}
}
}
return _1a.XMLHttpRequest();
},_nothing:function(){
},_xhr_onreadystatechange:function(d){
if(this.readyState==4){
try{
this.onreadystatechange=null;
}
catch(e){
try{
this.onreadystatechange=MochiKit.Async._nothing;
}
catch(e){
}
}
var _1f=null;
try{
_1f=this.status;
if(!_1f&&MochiKit.Base.isNotEmpty(this.responseText)){
_1f=304;
}
}
catch(e){
}
if(_1f==200||_1f==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.Async._nothing;
}
catch(e){
}
}
req.abort();
},sendXMLHttpRequest:function(req,_23){
if(typeof (_23)=="undefined"||_23===null){
_23="";
}
var m=MochiKit.Base;
var _25=MochiKit.Async;
var d=new _25.Deferred(m.partial(_25._xhr_canceller,req));
try{
req.onreadystatechange=m.bind(_25._xhr_onreadystatechange,req,d);
req.send(_23);
}
catch(e){
try{
req.onreadystatechange=null;
}
catch(ignore){
}
d.errback(e);
}
return d;
},doSimpleXMLHttpRequest:function(url){
var _28=MochiKit.Async;
var req=_28.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 _28.sendXMLHttpRequest(req);
},loadJSONDoc:function(url){
var _2d=MochiKit.Async;
var d=_2d.doSimpleXMLHttpRequest.apply(_2d,arguments);
d=d.addCallback(_2d.evalJSONRequest);
return d;
},wait:function(_2f,_30){
var d=new MochiKit.Async.Deferred();
var m=MochiKit.Base;
if(typeof (_30)!="undefined"){
d.addCallback(function(){
return _30;
});
}
var _33=setTimeout(m.bind("callback",d),Math.floor(_2f*1000));
d.canceller=function(){
try{
clearTimeout(_33);
}
catch(e){
}
};
return d;
},callLater:function(_34,_35){
var m=MochiKit.Base;
var _37=m.partial.apply(m,m.extend(null,arguments,1));
return MochiKit.Async.wait(_34).addCallback(function(res){
return _37();
});
}});
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 _39;
if(this.locked){
_39="locked, "+this.waiting.length+" waiting";
}else{
_39="unlocked";
}
return "DeferredLock("+this.id+", "+_39+")";
},toString:MochiKit.Base.forwardCall("repr")};
MochiKit.Async.DeferredList=function(_3a,_3b,_3c,_3d,_3e){
this.list=_3a;
this.resultList=new Array(this.list.length);
this.chain=[];
this.id=this._nextId();
this.fired=-1;
this.paused=0;
this.results=[null,null];
this.canceller=_3e;
this.silentlyCancelled=false;
if(this.list.length===0&&!_3b){
this.callback(this.resultList);
}
this.finishedCount=0;
this.fireOnOneCallback=_3b;
this.fireOnOneErrback=_3c;
this.consumeErrors=_3d;
var _3f=0;
MochiKit.Base.map(MochiKit.Base.bind(function(d){
d.addCallback(MochiKit.Base.bind(this._cbDeferred,this),_3f,true);
d.addErrback(MochiKit.Base.bind(this._cbDeferred,this),_3f,false);
_3f+=1;
},this),this.list);
};
MochiKit.Base.update(MochiKit.Async.DeferredList.prototype,MochiKit.Async.Deferred.prototype);
MochiKit.Base.update(MochiKit.Async.DeferredList.prototype,{_cbDeferred:function(_41,_42,_43){
this.resultList[_41]=[_42,_43];
this.finishedCount+=1;
if(this.fired!==0){
if(_42&&this.fireOnOneCallback){
this.callback([_41,_43]);
}else{
if(!_42&&this.fireOnOneErrback){
this.errback(_43);
}else{
if(this.finishedCount==this.list.length){
this.callback(this.resultList);
}
}
}
}
if(!_42&&this.consumeErrors){
_43=null;
}
return _43;
}});
MochiKit.Async.gatherResults=function(_44){
var d=new MochiKit.Async.DeferredList(_44,false,true,false);
d.addCallback(function(_46){
var ret=[];
for(var i=0;i<_46.length;i++){
ret.push(_46[i][1]);
}
return ret;
});
return d;
};
MochiKit.Async.maybeDeferred=function(_49){
var _4a=MochiKit.Async;
var _4b;
try{
var r=_49.apply(null,MochiKit.Base.extend([],arguments,1));
if(r instanceof _4a.Deferred){
_4b=r;
}else{
if(r instanceof Error){
_4b=_4a.fail(r);
}else{
_4b=_4a.succeed(r);
}
}
}
catch(e){
_4b=_4a.fail(e);
}
return _4b;
};
MochiKit.Async.EXPORT=["AlreadyCalledError","CancelledError","BrowserComplianceError","GenericError","XMLHttpRequestError","Deferred","succeed","fail","getXMLHttpRequest","doSimpleXMLHttpRequest","loadJSONDoc","wait","callLater","sendXMLHttpRequest","DeferredLock","DeferredList","gatherResults","maybeDeferred"];
MochiKit.Async.EXPORT_OK=["evalJSONRequest"];
MochiKit.Async.__new__=function(){
var m=MochiKit.Base;
var ne=m.partial(m._newNamedError,this);
ne("AlreadyCalledError",function(_4f){
this.deferred=_4f;
});
ne("CancelledError",function(_50){
this.deferred=_50;
});
ne("BrowserComplianceError",function(msg){
this.message=msg;
});
ne("GenericError",function(msg){
this.message=msg;
});
ne("XMLHttpRequestError",function(req,msg){
this.req=req;
this.message=msg;
try{
this.number=req.status;
}
catch(e){
}
});
this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};
m.nameFunctions(this);
};
MochiKit.Async.__new__();
MochiKit.Base._exportSymbols(this,MochiKit.Async);

if(typeof (dojo)!="undefined"){
dojo.provide("MochiKit.Signal");
dojo.require("MochiKit.Base");
dojo.require("MochiKit.DOM");
}
if(typeof (JSAN)!="undefined"){
JSAN.use("MochiKit.Base",[]);
JSAN.use("MochiKit.DOM",[]);
}
try{
if(typeof (MochiKit.Base)=="undefined"){
throw "";
}
}
catch(e){
throw "MochiKit.Signal depends on MochiKit.Base!";
}
try{
if(typeof (MochiKit.DOM)=="undefined"){
throw "";
}
}
catch(e){
throw "MochiKit.Signal depends on MochiKit.DOM!";
}
if(typeof (MochiKit.Signal)=="undefined"){
MochiKit.Signal={};
}
MochiKit.Signal.NAME="MochiKit.Signal";
MochiKit.Signal.VERSION="1.3.1";
MochiKit.Signal._observers=[];
MochiKit.Signal.Event=function(_1,e){
this._event=e||window.event;
this._src=_1;
};
MochiKit.Base.update(MochiKit.Signal.Event.prototype,{__repr__:function(){
var _3=MochiKit.Base.repr;
var _4="{event(): "+_3(this.event())+", src(): "+_3(this.src())+", type(): "+_3(this.type())+", target(): "+_3(this.target())+", modifier(): "+"{alt: "+_3(this.modifier().alt)+", ctrl: "+_3(this.modifier().ctrl)+", meta: "+_3(this.modifier().meta)+", shift: "+_3(this.modifier().shift)+", any: "+_3(this.modifier().any)+"}";
if(this.type()&&this.type().indexOf("key")===0){
_4+=", key(): {code: "+_3(this.key().code)+", string: "+_3(this.key().string)+"}";
}
if(this.type()&&(this.type().indexOf("mouse")===0||this.type().indexOf("click")!=-1||this.type()=="contextmenu")){
_4+=", mouse(): {page: "+_3(this.mouse().page)+", client: "+_3(this.mouse().client);
if(this.type()!="mousemove"){
_4+=", button: {left: "+_3(this.mouse().button.left)+", middle: "+_3(this.mouse().button.middle)+", right: "+_3(this.mouse().button.right)+"}}";
}else{
_4+="}";
}
}
if(this.type()=="mouseover"||this.type()=="mouseout"){
_4+=", relatedTarget(): "+_3(this.relatedTarget());
}
_4+="}";
return _4;
},toString:function(){
return this.__repr__();
},src:function(){
return this._src;
},event:function(){
return this._event;
},type:function(){
return this._event.type||undefined;
},target:function(){
return this._event.target||this._event.srcElement;
},relatedTarget:function(){
if(this.type()=="mouseover"){
return (this._event.relatedTarget||this._event.fromElement);
}else{
if(this.type()=="mouseout"){
return (this._event.relatedTarget||this._event.toElement);
}
}
return undefined;
},modifier:function(){
var m={};
m.alt=this._event.altKey;
m.ctrl=this._event.ctrlKey;
m.meta=this._event.metaKey||false;
m.shift=this._event.shiftKey;
m.any=m.alt||m.ctrl||m.shift||m.meta;
return m;
},key:function(){
var k={};
if(this.type()&&this.type().indexOf("key")===0){
if(this.type()=="keydown"||this.type()=="keyup"){
k.code=this._event.keyCode;
k.string=(MochiKit.Signal._specialKeys[k.code]||"KEY_UNKNOWN");
return k;
}else{
if(this.type()=="keypress"){
k.code=0;
k.string="";
if(typeof (this._event.charCode)!="undefined"&&this._event.charCode!==0&&!MochiKit.Signal._specialMacKeys[this._event.charCode]){
k.code=this._event.charCode;
k.string=String.fromCharCode(k.code);
}else{
if(this._event.keyCode&&typeof (this._event.charCode)=="undefined"){
k.code=this._event.keyCode;
k.string=String.fromCharCode(k.code);
}
}
return k;
}
}
}
return undefined;
},mouse:function(){
var m={};
var e=this._event;
if(this.type()&&(this.type().indexOf("mouse")===0||this.type().indexOf("click")!=-1||this.type()=="contextmenu")){
m.client=new MochiKit.DOM.Coordinates(0,0);
if(e.clientX||e.clientY){
m.client.x=(!e.clientX||e.clientX<0)?0:e.clientX;
m.client.y=(!e.clientY||e.clientY<0)?0:e.clientY;
}
m.page=new MochiKit.DOM.Coordinates(0,0);
if(e.pageX||e.pageY){
m.page.x=(!e.pageX||e.pageX<0)?0:e.pageX;
m.page.y=(!e.pageY||e.pageY<0)?0:e.pageY;
}else{
var de=MochiKit.DOM._document.documentElement;
var b=MochiKit.DOM._document.body;
m.page.x=e.clientX+(de.scrollLeft||b.scrollLeft)-(de.clientLeft||b.clientLeft);
m.page.y=e.clientY+(de.scrollTop||b.scrollTop)-(de.clientTop||b.clientTop);
}
if(this.type()!="mousemove"){
m.button={};
m.button.left=false;
m.button.right=false;
m.button.middle=false;
if(e.which){
m.button.left=(e.which==1);
m.button.middle=(e.which==2);
m.button.right=(e.which==3);
}else{
m.button.left=!!(e.button&1);
m.button.right=!!(e.button&2);
m.button.middle=!!(e.button&4);
}
}
return m;
}
return undefined;
},stop:function(){
this.stopPropagation();
this.preventDefault();
},stopPropagation:function(){
if(this._event.stopPropagation){
this._event.stopPropagation();
}else{
this._event.cancelBubble=true;
}
},preventDefault:function(){
if(this._event.preventDefault){
this._event.preventDefault();
}else{
this._event.returnValue=false;
}
}});
MochiKit.Signal._specialMacKeys={3:"KEY_ENTER",63289:"KEY_NUM_PAD_CLEAR",63276:"KEY_PAGE_UP",63277:"KEY_PAGE_DOWN",63275:"KEY_END",63273:"KEY_HOME",63234:"KEY_ARROW_LEFT",63232:"KEY_ARROW_UP",63235:"KEY_ARROW_RIGHT",63233:"KEY_ARROW_DOWN",63302:"KEY_INSERT",63272:"KEY_DELETE"};
for(i=63236;i<=63242;i++){
MochiKit.Signal._specialMacKeys[i]="KEY_F"+(i-63236+1);
}
MochiKit.Signal._specialKeys={8:"KEY_BACKSPACE",9:"KEY_TAB",12:"KEY_NUM_PAD_CLEAR",13:"KEY_ENTER",16:"KEY_SHIFT",17:"KEY_CTRL",18:"KEY_ALT",19:"KEY_PAUSE",20:"KEY_CAPS_LOCK",27:"KEY_ESCAPE",32:"KEY_SPACEBAR",33:"KEY_PAGE_UP",34:"KEY_PAGE_DOWN",35:"KEY_END",36:"KEY_HOME",37:"KEY_ARROW_LEFT",38:"KEY_ARROW_UP",39:"KEY_ARROW_RIGHT",40:"KEY_ARROW_DOWN",44:"KEY_PRINT_SCREEN",45:"KEY_INSERT",46:"KEY_DELETE",59:"KEY_SEMICOLON",91:"KEY_WINDOWS_LEFT",92:"KEY_WINDOWS_RIGHT",93:"KEY_SELECT",106:"KEY_NUM_PAD_ASTERISK",107:"KEY_NUM_PAD_PLUS_SIGN",109:"KEY_NUM_PAD_HYPHEN-MINUS",110:"KEY_NUM_PAD_FULL_STOP",111:"KEY_NUM_PAD_SOLIDUS",144:"KEY_NUM_LOCK",145:"KEY_SCROLL_LOCK",186:"KEY_SEMICOLON",187:"KEY_EQUALS_SIGN",188:"KEY_COMMA",189:"KEY_HYPHEN-MINUS",190:"KEY_FULL_STOP",191:"KEY_SOLIDUS",192:"KEY_GRAVE_ACCENT",219:"KEY_LEFT_SQUARE_BRACKET",220:"KEY_REVERSE_SOLIDUS",221:"KEY_RIGHT_SQUARE_BRACKET",222:"KEY_APOSTROPHE"};
for(var i=48;i<=57;i++){
MochiKit.Signal._specialKeys[i]="KEY_"+(i-48);
}
for(i=65;i<=90;i++){
MochiKit.Signal._specialKeys[i]="KEY_"+String.fromCharCode(i);
}
for(i=96;i<=105;i++){
MochiKit.Signal._specialKeys[i]="KEY_NUM_PAD_"+(i-96);
}
for(i=112;i<=123;i++){
MochiKit.Signal._specialKeys[i]="KEY_F"+(i-112+1);
}
MochiKit.Base.update(MochiKit.Signal,{__repr__:function(){
return "["+this.NAME+" "+this.VERSION+"]";
},toString:function(){
return this.__repr__();
},_unloadCache:function(){
var _b=MochiKit.Signal;
var _c=_b._observers;
for(var i=0;i<_c.length;i++){
_b._disconnect(_c[i]);
}
delete _b._observers;
try{
window.onload=undefined;
}
catch(e){
}
try{
window.onunload=undefined;
}
catch(e){
}
},_listener:function(_e,_f,obj,_11){
var E=MochiKit.Signal.Event;
if(!_11){
return MochiKit.Base.bind(_f,obj);
}
obj=obj||_e;
if(typeof (_f)=="string"){
return function(_13){
obj[_f].apply(obj,[new E(_e,_13)]);
};
}else{
return function(_14){
_f.apply(obj,[new E(_e,_14)]);
};
}
},connect:function(src,sig,_17,_18){
src=MochiKit.DOM.getElement(src);
var _19=MochiKit.Signal;
if(typeof (sig)!="string"){
throw new Error("'sig' must be a string");
}
var obj=null;
var _1b=null;
if(typeof (_18)!="undefined"){
obj=_17;
_1b=_18;
if(typeof (_18)=="string"){
if(typeof (_17[_18])!="function"){
throw new Error("'funcOrStr' must be a function on 'objOrFunc'");
}
}else{
if(typeof (_18)!="function"){
throw new Error("'funcOrStr' must be a function or string");
}
}
}else{
if(typeof (_17)!="function"){
throw new Error("'objOrFunc' must be a function if 'funcOrStr' is not given");
}else{
_1b=_17;
}
}
if(typeof (obj)=="undefined"||obj===null){
obj=src;
}
var _1c=!!(src.addEventListener||src.attachEvent);
var _1d=_19._listener(src,_1b,obj,_1c);
if(src.addEventListener){
src.addEventListener(sig.substr(2),_1d,false);
}else{
if(src.attachEvent){
src.attachEvent(sig,_1d);
}
}
var _1e=[src,sig,_1d,_1c,_17,_18];
_19._observers.push(_1e);
return _1e;
},_disconnect:function(_1f){
if(!_1f[3]){
return;
}
var src=_1f[0];
var sig=_1f[1];
var _22=_1f[2];
if(src.removeEventListener){
src.removeEventListener(sig.substr(2),_22,false);
}else{
if(src.detachEvent){
src.detachEvent(sig,_22);
}else{
throw new Error("'src' must be a DOM element");
}
}
},disconnect:function(_23){
var _24=MochiKit.Signal;
var _25=_24._observers;
var m=MochiKit.Base;
if(arguments.length>1){
var src=MochiKit.DOM.getElement(arguments[0]);
var sig=arguments[1];
var obj=arguments[2];
var _2a=arguments[3];
for(var i=_25.length-1;i>=0;i--){
var o=_25[i];
if(o[0]===src&&o[1]===sig&&o[4]===obj&&o[5]===_2a){
_24._disconnect(o);
_25.splice(i,1);
return true;
}
}
}else{
var idx=m.findIdentical(_25,_23);
if(idx>=0){
_24._disconnect(_23);
_25.splice(idx,1);
return true;
}
}
return false;
},disconnectAll:function(src,sig){
src=MochiKit.DOM.getElement(src);
var m=MochiKit.Base;
var _31=m.flattenArguments(m.extend(null,arguments,1));
var _32=MochiKit.Signal;
var _33=_32._disconnect;
var _34=_32._observers;
if(_31.length===0){
for(var i=_34.length-1;i>=0;i--){
var _36=_34[i];
if(_36[0]===src){
_33(_36);
_34.splice(i,1);
}
}
}else{
var _37={};
for(var i=0;i<_31.length;i++){
_37[_31[i]]=true;
}
for(var i=_34.length-1;i>=0;i--){
var _36=_34[i];
if(_36[0]===src&&_36[1] in _37){
_33(_36);
_34.splice(i,1);
}
}
}
},signal:function(src,sig){
var _3a=MochiKit.Signal._observers;
src=MochiKit.DOM.getElement(src);
var _3b=MochiKit.Base.extend(null,arguments,2);
var _3c=[];
for(var i=0;i<_3a.length;i++){
var _3e=_3a[i];
if(_3e[0]===src&&_3e[1]===sig){
try{
_3e[2].apply(src,_3b);
}
catch(e){
_3c.push(e);
}
}
}
if(_3c.length==1){
throw _3c[0];
}else{
if(_3c.length>1){
var e=new Error("Multiple errors thrown in handling 'sig', see errors property");
e.errors=_3c;
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.__compat__){
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.Color");
}
if(typeof (JSAN)!="undefined"){
JSAN.use("MochiKit.Base",[]);
JSAN.use("MochiKit.DOM",[]);
JSAN.use("MochiKit.Color",[]);
}
try{
if(typeof (MochiKit.Base)=="undefined"||typeof (MochiKit.DOM)=="undefined"||typeof (MochiKit.Color)=="undefined"){
throw "";
}
}
catch(e){
throw "MochiKit.Visual depends on MochiKit.Base, MochiKit.DOM and MochiKit.Color!";
}
if(typeof (MochiKit.Visual)=="undefined"){
MochiKit.Visual={};
}
MochiKit.Visual.NAME="MochiKit.Visual";
MochiKit.Visual.VERSION="1.3.1";
MochiKit.Visual.__repr__=function(){
return "["+this.NAME+" "+this.VERSION+"]";
};
MochiKit.Visual.toString=function(){
return this.__repr__();
};
MochiKit.Visual._RoundCorners=function(e,_2){
e=MochiKit.DOM.getElement(e);
this._setOptions(_2);
if(this.options.__unstable__wrapElement){
e=this._doWrap(e);
}
var _3=this.options.color;
var C=MochiKit.Color.Color;
if(this.options.color=="fromElement"){
_3=C.fromBackground(e);
}else{
if(!(_3 instanceof C)){
_3=C.fromString(_3);
}
}
this.isTransparent=(_3.asRGB().a<=0);
var _5=this.options.bgColor;
if(this.options.bgColor=="fromParent"){
_5=C.fromBackground(e.offsetParent);
}else{
if(!(_5 instanceof C)){
_5=C.fromString(_5);
}
}
this._roundCornersImpl(e,_3,_5);
};
MochiKit.Visual._RoundCorners.prototype={_doWrap:function(e){
var _7=e.parentNode;
var _8=MochiKit.DOM.currentDocument();
if(typeof (_8.defaultView)=="undefined"||_8.defaultView===null){
return e;
}
var _9=_8.defaultView.getComputedStyle(e,null);
if(typeof (_9)=="undefined"||_9===null){
return e;
}
var _a=MochiKit.DOM.DIV({"style":{display:"block",marginTop:_9.getPropertyValue("padding-top"),marginRight:_9.getPropertyValue("padding-right"),marginBottom:_9.getPropertyValue("padding-bottom"),marginLeft:_9.getPropertyValue("padding-left"),padding:"0px"}});
_a.innerHTML=e.innerHTML;
e.innerHTML="";
e.appendChild(_a);
return e;
},_roundCornersImpl:function(e,_c,_d){
if(this.options.border){
this._renderBorder(e,_d);
}
if(this._isTopRounded()){
this._roundTopCorners(e,_c,_d);
}
if(this._isBottomRounded()){
this._roundBottomCorners(e,_c,_d);
}
},_renderBorder:function(el,_f){
var _10="1px solid "+this._borderColor(_f);
var _11="border-left: "+_10;
var _12="border-right: "+_10;
var _13="style='"+_11+";"+_12+"'";
el.innerHTML="<div "+_13+">"+el.innerHTML+"</div>";
},_roundTopCorners:function(el,_15,_16){
var _17=this._createCorner(_16);
for(var i=0;i<this.options.numSlices;i++){
_17.appendChild(this._createCornerSlice(_15,_16,i,"top"));
}
el.style.paddingTop=0;
el.insertBefore(_17,el.firstChild);
},_roundBottomCorners:function(el,_1a,_1b){
var _1c=this._createCorner(_1b);
for(var i=(this.options.numSlices-1);i>=0;i--){
_1c.appendChild(this._createCornerSlice(_1a,_1b,i,"bottom"));
}
el.style.paddingBottom=0;
el.appendChild(_1c);
},_createCorner:function(_1e){
var dom=MochiKit.DOM;
return dom.DIV({style:{backgroundColor:_1e.toString()}});
},_createCornerSlice:function(_20,_21,n,_23){
var _24=MochiKit.DOM.SPAN();
var _25=_24.style;
_25.backgroundColor=_20.toString();
_25.display="block";
_25.height="1px";
_25.overflow="hidden";
_25.fontSize="1px";
var _26=this._borderColor(_20,_21);
if(this.options.border&&n===0){
_25.borderTopStyle="solid";
_25.borderTopWidth="1px";
_25.borderLeftWidth="0px";
_25.borderRightWidth="0px";
_25.borderBottomWidth="0px";
_25.height="0px";
_25.borderColor=_26.toString();
}else{
if(_26){
_25.borderColor=_26.toString();
_25.borderStyle="solid";
_25.borderWidth="0px 1px";
}
}
if(!this.options.compact&&(n==(this.options.numSlices-1))){
_25.height="2px";
}
this._setMargin(_24,n,_23);
this._setBorder(_24,n,_23);
return _24;
},_setOptions:function(_27){
this.options={corners:"all",color:"fromElement",bgColor:"fromParent",blend:true,border:false,compact:false,__unstable__wrapElement:false};
MochiKit.Base.update(this.options,_27);
this.options.numSlices=(this.options.compact?2:4);
},_whichSideTop:function(){
var _28=this.options.corners;
if(this._hasString(_28,"all","top")){
return "";
}
var _29=(_28.indexOf("tl")!=-1);
var _2a=(_28.indexOf("tr")!=-1);
if(_29&&_2a){
return "";
}
if(_29){
return "left";
}
if(_2a){
return "right";
}
return "";
},_whichSideBottom:function(){
var _2b=this.options.corners;
if(this._hasString(_2b,"all","bottom")){
return "";
}
var _2c=(_2b.indexOf("bl")!=-1);
var _2d=(_2b.indexOf("br")!=-1);
if(_2c&&_2d){
return "";
}
if(_2c){
return "left";
}
if(_2d){
return "right";
}
return "";
},_borderColor:function(_2e,_2f){
if(_2e=="transparent"){
return _2f;
}else{
if(this.options.border){
return this.options.border;
}else{
if(this.options.blend){
return _2f.blendedColor(_2e);
}
}
}
return "";
},_setMargin:function(el,n,_32){
var _33=this._marginSize(n)+"px";
var _34=(_32=="top"?this._whichSideTop():this._whichSideBottom());
var _35=el.style;
if(_34=="left"){
_35.marginLeft=_33;
_35.marginRight="0px";
}else{
if(_34=="right"){
_35.marginRight=_33;
_35.marginLeft="0px";
}else{
_35.marginLeft=_33;
_35.marginRight=_33;
}
}
},_setBorder:function(el,n,_38){
var _39=this._borderSize(n)+"px";
var _3a=(_38=="top"?this._whichSideTop():this._whichSideBottom());
var _3b=el.style;
if(_3a=="left"){
_3b.borderLeftWidth=_39;
_3b.borderRightWidth="0px";
}else{
if(_3a=="right"){
_3b.borderRightWidth=_39;
_3b.borderLeftWidth="0px";
}else{
_3b.borderLeftWidth=_39;
_3b.borderRightWidth=_39;
}
}
},_marginSize:function(n){
if(this.isTransparent){
return 0;
}
var o=this.options;
if(o.compact&&o.blend){
var _3e=[1,0];
return _3e[n];
}else{
if(o.compact){
var _3f=[2,1];
return _3f[n];
}else{
if(o.blend){
var _40=[3,2,1,0];
return _40[n];
}else{
var _41=[5,3,2,1];
return _41[n];
}
}
}
},_borderSize:function(n){
var o=this.options;
var _44;
if(o.compact&&(o.blend||this.isTransparent)){
return 1;
}else{
if(o.compact){
_44=[1,0];
}else{
if(o.blend){
_44=[2,1,1,1];
}else{
if(o.border){
_44=[0,2,0,0];
}else{
if(this.isTransparent){
_44=[5,3,2,1];
}else{
return 0;
}
}
}
}
}
return _44[n];
},_hasString:function(str){
for(var i=1;i<arguments.length;i++){
if(str.indexOf(arguments[i])!=-1){
return true;
}
}
return false;
},_isTopRounded:function(){
return this._hasString(this.options.corners,"all","top","tl","tr");
},_isBottomRounded:function(){
return this._hasString(this.options.corners,"all","bottom","bl","br");
},_hasSingleTextChild:function(el){
return (el.childNodes.length==1&&el.childNodes[0].nodeType==3);
}};
MochiKit.Visual.roundElement=function(e,_49){
new MochiKit.Visual._RoundCorners(e,_49);
};
MochiKit.Visual.roundClass=function(_4a,_4b,_4c){
var _4d=MochiKit.DOM.getElementsByTagAndClassName(_4a,_4b);
for(var i=0;i<_4d.length;i++){
MochiKit.Visual.roundElement(_4d[i],_4c);
}
};
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"];
MochiKit.Visual.EXPORT_OK=[];
MochiKit.Visual.__new__();
MochiKit.Base._exportSymbols(this,MochiKit.Visual);

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.3.1";
MochiKit.DateTime.__repr__=function(){
return "["+this.NAME+" "+this.VERSION+"]";
};
MochiKit.DateTime.toString=function(){
return this.__repr__();
};
MochiKit.DateTime.isoDate=function(_1){
_1=_1+"";
if(typeof (_1)!="string"||_1.length===0){
return null;
}
var _2=_1.split("-");
if(_2.length===0){
return null;
}
return new Date(_2[0],_2[1]-1,_2[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(_3){
_3=_3+"";
if(typeof (_3)!="string"||_3.length===0){
return null;
}
var _4=_3.match(MochiKit.DateTime._isoRegexp);
if(typeof (_4)=="undefined"||_4===null){
return null;
}
var _5,_6,_7,_8,_9,_a,_b;
_5=parseInt(_4[1],10);
if(typeof (_4[2])=="undefined"||_4[2]===""){
return new Date(_5);
}
_6=parseInt(_4[2],10)-1;
_7=parseInt(_4[3],10);
if(typeof (_4[4])=="undefined"||_4[4]===""){
return new Date(_5,_6,_7);
}
_8=parseInt(_4[4],10);
_9=parseInt(_4[5],10);
_a=(typeof (_4[6])!="undefined"&&_4[6]!=="")?parseInt(_4[6],10):0;
if(typeof (_4[7])!="undefined"&&_4[7]!==""){
_b=Math.round(1000*parseFloat("0."+_4[7]));
}else{
_b=0;
}
if((typeof (_4[8])=="undefined"||_4[8]==="")&&(typeof (_4[9])=="undefined"||_4[9]==="")){
return new Date(_5,_6,_7,_8,_9,_a,_b);
}
var _c;
if(typeof (_4[9])!="undefined"&&_4[9]!==""){
_c=parseInt(_4[10],10)*3600000;
if(typeof (_4[11])!="undefined"&&_4[11]!==""){
_c+=parseInt(_4[11],10)*60000;
}
if(_4[9]=="-"){
_c=-_c;
}
}else{
_c=0;
}
return new Date(Date.UTC(_5,_6,_7,_8,_9,_a,_b)-_c);
};
MochiKit.DateTime.toISOTime=function(_d,_e){
if(typeof (_d)=="undefined"||_d===null){
return null;
}
var hh=_d.getHours();
var mm=_d.getMinutes();
var ss=_d.getSeconds();
var lst=[((_e&&(hh<10))?"0"+hh:hh),((mm<10)?"0"+mm:mm),((ss<10)?"0"+ss:ss)];
return lst.join(":");
};
MochiKit.DateTime.toISOTimestamp=function(_13,_14){
if(typeof (_13)=="undefined"||_13===null){
return null;
}
var sep=_14?"T":" ";
var _16=_14?"Z":"";
if(_14){
_13=new Date(_13.getTime()+(_13.getTimezoneOffset()*60000));
}
return MochiKit.DateTime.toISODate(_13)+sep+MochiKit.DateTime.toISOTime(_13,_14)+_16;
};
MochiKit.DateTime.toISODate=function(_17){
if(typeof (_17)=="undefined"||_17===null){
return null;
}
var _18=MochiKit.DateTime._padTwo;
return [_17.getFullYear(),_18(_17.getMonth()+1),_18(_17.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 _1d=MochiKit.DateTime._padTwo;
return [_1d(d.getMonth()+1),_1d(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 _1f=this.NAME+".";
for(var k in this){
var o=this[k];
if(typeof (o)=="function"&&typeof (o.NAME)=="undefined"){
try{
o.NAME=_1f+k;
}
catch(e){
}
}
}
};
MochiKit.DateTime.__new__();
if(typeof (MochiKit.Base)!="undefined"){
MochiKit.Base._exportSymbols(this,MochiKit.DateTime);
}else{
(function(_22,_23){
if((typeof (JSAN)=="undefined"&&typeof (dojo)=="undefined")||(typeof (MochiKit.__compat__)=="boolean"&&MochiKit.__compat__)){
var all=_23.EXPORT_TAGS[":all"];
for(var i=0;i<all.length;i++){
_22[all[i]]=_23[all[i]];
}
}
})(this,MochiKit.DateTime);
}

if(typeof (MochiKit)=="undefined"){
MochiKit={};
}
if(typeof (MochiKit.MochiKit)=="undefined"){
MochiKit.MochiKit={};
}
MochiKit.MochiKit.NAME="MochiKit.MochiKit";
MochiKit.MochiKit.VERSION="1.3.1";
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","LoggingPane","Color","Signal","Visual"];
if(typeof (JSAN)!="undefined"||typeof (dojo)!="undefined"){
if(typeof (dojo)!="undefined"){
dojo.provide("MochiKit.MochiKit");
dojo.require("MochiKit.*");
}
if(typeof (JSAN)!="undefined"){
JSAN.use("MochiKit.Base",[]);
JSAN.use("MochiKit.Iter",[]);
JSAN.use("MochiKit.Logging",[]);
JSAN.use("MochiKit.DateTime",[]);
JSAN.use("MochiKit.Format",[]);
JSAN.use("MochiKit.Async",[]);
JSAN.use("MochiKit.DOM",[]);
JSAN.use("MochiKit.LoggingPane",[]);
JSAN.use("MochiKit.Color",[]);
JSAN.use("MochiKit.Signal",[]);
JSAN.use("MochiKit.Visual",[]);
}
(function(){
var _1=MochiKit.Base.extend;
var _2=MochiKit.MochiKit;
var _3=_2.SUBMODULES;
var _4=[];
var _5=[];
var _6={};
var i,k,m,_a;
for(i=0;i<_3.length;i++){
m=MochiKit[_3[i]];
_1(_4,m.EXPORT);
_1(_5,m.EXPORT_OK);
for(k in m.EXPORT_TAGS){
_6[k]=_1(_6[k],m.EXPORT_TAGS[k]);
}
_a=m.EXPORT_TAGS[":all"];
if(!_a){
_a=_1(null,m.EXPORT,m.EXPORT_OK);
}
var j;
for(j=0;j<_a.length;j++){
k=_a[j];
_2[k]=m[k];
}
}
_2.EXPORT=_4;
_2.EXPORT_OK=_5;
_2.EXPORT_TAGS=_6;
}());
}else{
if(typeof (MochiKit.__compat__)=="undefined"){
MochiKit.__compat__=true;
}
(function(){
var _c=document.getElementsByTagName("script");
var _d="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
var _e=null;
var _f=null;
var _10={};
var i;
for(i=0;i<_c.length;i++){
var src=_c[i].getAttribute("src");
if(!src){
continue;
}
_10[src]=true;
if(src.match(/MochiKit.js$/)){
_e=src.substring(0,src.lastIndexOf("MochiKit.js"));
_f=_c[i];
}
}
if(_e===null){
return;
}
var _13=MochiKit.MochiKit.SUBMODULES;
for(var i=0;i<_13.length;i++){
if(MochiKit[_13[i]]){
continue;
}
var uri=_e+_13[i]+".js";
if(uri in _10){
continue;
}
if(document.documentElement&&document.documentElement.namespaceURI==_d){
var s=document.createElementNS(_d,"script");
s.setAttribute("id","MochiKit_"+_e+_13[i]);
s.setAttribute("src",uri);
s.setAttribute("type","application/x-javascript");
_f.parentNode.appendChild(s);
}else{
document.write("<script src=\""+uri+"\" type=\"text/javascript\"></script>");
}
}
})();
}

if(typeof (AdFuUtilities)=="undefined"){
AdFuUtilities={};
}
var RPC_OK=0;
var RPC_NOTLOGGEDIN=1;
var RPC_PERMISSIONDENIED=2;
var RPC_INTERNALERROR=3;
var RPC_NOTHINGTODO=4;
var RPC_OTHER=5;
var RPC_FAILEDTRANSACTION=6;
function getStyle(_1){
return getBlock(_1).style;
}
function getStyleInParent(_2){
return getBlockInParent(_2).style;
}
function existsBlock(_3){
if(document.getElementById){
return document.getElementById(_3)!=null;
}else{
if(document.all){
return document.all[_3]!=null;
}else{
if(document.layers){
return document.layers[_3]!=null;
}
}
}
}
function getBlock(_4){
if(document.getElementById){
return document.getElementById(_4);
}else{
if(document.all){
return document.all[_4];
}else{
if(document.layers){
return document.layers[_4];
}
}
}
}
function getBlockInParent(_5){
if(parent.document.getElementById){
return parent.document.getElementById(_5);
}else{
if(parent.document.all){
return parent.document.all[_5];
}else{
if(parent.document.layers){
return parent.document.layers[_5];
}
}
}
}
function getBlockInChild(_6,_7){
if(frames[_6].document.getElementById){
return frames[_6].document.getElementById(_7);
}else{
if(frames[_6].document.all){
return frames[_6].document.all[_7];
}else{
if(frames[_6].document.layers){
return frames[_6].document.layers[_7];
}
}
}
}
function countChecks(_8){
var _9=0;
for(i=0;i<_8.length;i++){
if(_8[i].checked){
_9++;
}
}
return _9;
}
function countElements(_a,_b){
var _c=0;
for(i=0;i<_a.length;i++){
if(_a[i]==_b){
_c++;
}
}
return _c;
}
function hideBlock(_d){
getStyle(_d).display="none";
}
function showBlock(_e){
getStyle(_e).display="";
}
function popup(_f,_10,_11){
var _12=window.open(_f,"name","height="+_10+",width="+_11);
_12.focus();
return false;
}
function popupHTML(_13,_14,_15){
var _16=window.open("text/html","name","height="+_14+"px,width="+_15+"px");
_16.document.writeln(_13);
_16.focus();
_16.document.close();
return false;
}
var blockNames=new Array();
function registerBlock(_17){
var i=blockNames.length;
blockNames[i]=_17;
}
function showOnlyBlock(_19){
for(i=0;i<blockNames.length;i++){
if(blockNames[i]!=_19){
hideBlock(blockNames[i]);
}
}
showBlock(_19);
}
function getPosition(_1a){
var x=0;
var y=0;
if(_1a.offsetParent){
x=_1a.offsetLeft;
y=_1a.offsetTop;
while(_1a=_1a.offsetParent){
x+=_1a.offsetLeft;
y+=_1a.offsetTop;
}
}
return [x,y];
}
function log10(x){
return Math.LOG10E*Math.log(x);
}
function asciiToBin(str){
var _1f="";
for(var i=0;i<str.length;i++){
_1f+=str.charCodeAt(i);
_1f+=",";
}
return _1f;
}
function strtrim(str){
return str.replace(/^\s+|\s+$/g,"");
}
function escapeSlashes(_22){
_22=_22.replace(/\'/g,"\\'");
_22=_22.replace(/\"/g,"\\\"");
return _22;
}
function escapeQuotes(_23){
_23=_23.replace(/'/g,"&#39;");
_23=_23.replace(/"/g,"&quot;");
return _23;
}
function unescapeQuotes(_24){
_24=_24.replace(/&quot;/g,"\"");
_24=_24.replace(/&#39;/g,"'");
return _24;
}
function escapeText(_25,_26){
if(typeof (_26)=="undefined"){
_26=false;
}
_25=_25.replace(/&/g,"&amp;");
_25=_25.replace(/  /g," &nbsp;");
_25=_25.replace(/>/g,"&#62;");
_25=_25.replace(/</g,"&#60;");
if(!_26){
_25=_25.replace(/\n/g,"<br>");
}
return _25;
}
function unescapeText(_27){
_27=_27.replace(/\n/gi," ");
_27=_27.replace(/<br>/gi,"\n");
_27=_27.replace(/&#60;/g,"<");
_27=_27.replace(/&lt;/g,"<");
_27=_27.replace(/&#62;/g,">");
_27=_27.replace(/&gt;/g,">");
_27=_27.replace(/&nbsp;/g," ");
_27=_27.replace(/&amp;/g,"&");
return _27;
}
function canonicalizeURL(url){
var _29=strtrim(url);
var arr=_29.match(/^[a-zA-Z0-9]+:\/\/(.*)/);
if(!arr){
_29="http://"+_29;
}
return _29;
}
function escapeSpecials(_2b){
_2b=_2b.replace(/\[(\/?)i\]/g,"<$1i>");
_2b=_2b.replace(/\[(\/?)b\]/g,"<$1b>");
_2b=_2b.replace(/\[(\/?)u\]/g,"<$1u>");
_2b=_2b.replace(/\[(\/?)s\]/g,"<$1s>");
_2b=_2b.replace(/\[bullet\]/g,"&#149;");
_2b=_2b.replace(/\[plusminus\]/g,"&#177;");
_2b=_2b.replace(/\[half\]/g,"&#189;");
_2b=_2b.replace(/\[euro\]/g,"&euro;");
_2b=_2b.replace(/\[inf\]/g,"&#8734;");
_2b=_2b.replace(/([a-zA-Z0-9^']+:\/\/[^\s']*)/g,"[a '$1']$1[/a]");
var _2c=/\[[aA]\s[^'"\]]*['"]([^'"]*)['"]\]([^\[]*)\[\/[aA]\]/;
var arr=_2b.match(_2c);
if(arr){
var _2e=arr[1];
_2e=canonicalizeURL(_2e);
_2b=_2b.replace(_2c,"<a href='javascript:void(0)' onClick='window.open(\""+_2e+"\",\"_blank\")'>"+arr[2]+"</a>");
}
return _2b;
}
function escapeTextAndSpecials(_2f,_30){
_2f=escapeText(_2f,_30);
_2f=escapeSpecials(_2f);
return _2f;
}
function formatMoney(_31){
_31-=0;
_31=Math.ceil(_31*100)/100;
if(_31==Math.floor(_31)){
return _31+".00";
}else{
if(_31*10==Math.floor(_31*10)){
return _31+"0";
}else{
return _31;
}
}
}
function getCSSClass(_32){
var _33;
if(document.getElementById){
_33="cssRules";
}else{
if(document.all){
_33="rules";
}else{
throw "CSS rules array doesn't exist!";
}
}
for(var i=0;i<document.styleSheets.length;i++){
var _35=document.styleSheets[i][_33];
for(var j=0;j<_35.length;j++){
var obj=_35[j];
if(obj.selectorText==_32){
return obj;
}
}
}
return null;
}
function chopLastChar(str){
return str.substr(0,str.length-1);
}
var MONTHS=new Array("January","February","March","April","May","June","July","August","September","October","November","December");
function confirmAndForward(_39,_3a){
if(confirm(_39)){
window.location=_3a;
}
}
function getScreenDimensions(){
var _3b,_3c;
if(typeof (window.innerWidth)=="number"){
_3b=window.innerWidth;
_3c=window.innerHeight;
}else{
if(document.body&&(document.body.clientWidth!=0||document.body.clientHeight!=0)){
_3b=document.body.clientWidth;
_3c=document.body.clientHeight;
}else{
if(document.documentElement&&(document.documentElement.clientWidth!=0||document.documentElement.clientHeight!=0)){
_3b=document.documentElement.clientWidth;
_3c=document.documentElement.clientHeight;
}else{
_3b=0;
_3c=0;
}
}
}
return [_3b,_3c];
}
function checkSiteName(_1){
if(_1.length<3||_1.length>35){
return "must be between 3 and 35 characters long";
}
if(!_1.match(/^[\ a-zA-Z0-9!\<\>\/\@\#\$\%\^\&\*\(\)\-\~\+\=\_\}\]\{\[\:\'\?]+$/)){
return "has illegal characters!";
}
return null;
}
function checkURL(_2){
if(_2.length<3||_2.length>255){
return "must be between 3 and 255 characters long";
}
if(!_2.match(/[a-zA-Z0-9\:\/\.]+\.[a-zA-Z0-9]+/)){
return "is not a valid URL!";
}
return null;
}
function checkDescription(_3){
if(_3.length<5||_3.length>2048){
return "must be between 5 and 2048 characters long";
}
return null;
}
function toggleCategory(_1){
var _2=getStyle(_1+"_block");
var _3=getBlock(_1+"_a");
if(_2.display=="none"){
_3.innerHTML="-";
_2.display="";
}else{
_3.innerHTML="+";
_2.display="none";
}
}
var siteGeneralCategories=new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1);
var siteAudienceCategories=new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1);
var pageGeneralCategories=new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1);
var pageAudienceCategories=new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1);
var _lastCategoryName=null;
var _lastCategoryNumber=-1;
function showCategoryChooser(_4,_5){
if(_lastCategoryName!=null){
return;
}
_lastCategoryName=_4;
_lastCategoryNumber=_5;
if(_4=="siteGeneralCategory"||_4=="siteAudienceCategory"){
showBlock("chooseGeneralCategoryDiv");
}else{
showBlock("chooseAudienceCategoryDiv");
}
}
function categoryClicked(_6,_7,_8){
closeCategoryChooser(true,_6,_7,_8);
}
function closeCategoryChooser(_9,_a,_b,_c){
if(_lastCategoryName==null){
alert("closeCategoryChooser: critical error 1");
}
if(_9){
if(_c==-1){
_b="(Choose)";
}
getBlock(_lastCategoryName+_lastCategoryNumber).innerHTML=_b;
if(_lastCategoryName=="siteGeneralCategory"){
siteGeneralCategories[_lastCategoryNumber]=_c;
}else{
if(_lastCategoryName=="siteAudienceCategory"){
siteAudienceCategories[_lastCategoryNumber]=_c;
}else{
if(_lastCategoryName=="pageGeneralCategory"){
pageGeneralCategories[_lastCategoryNumber]=_c;
}else{
if(_lastCategoryName=="pageAudienceCategory"){
pageAudienceCategories[_lastCategoryNumber]=_c;
}else{
alert("closeCategoryChooser: critical error 2");
}
}
}
}
}
if(_lastCategoryName=="siteGeneralCategory"||_lastCategoryName=="siteAudienceCategory"){
hideBlock("chooseGeneralCategoryDiv");
}else{
hideBlock("chooseAudienceCategoryDiv");
}
_lastCategoryName=null;
_lastCategoryNumber=-1;
}
function setCookie(_1,_2,_3,_4){
var _5="";
if(_3!==undefined){
var _6=new Date();
_6.setTime(_6.getTime()+(_3*24*60*60*1000));
_5=";expires="+_6.toGMTString();
}
var _7="";
if(_4!==undefined){
_7=";domain="+_4;
}
document.cookie=_1+"="+_2+_5+_7+"; path=/";
}
function getCookie(_8){
var _9=_8+"=";
var _a=document.cookie.split(";");
for(var i=0;i<_a.length;i++){
var _c=_a[i];
while(_c.charAt(0)==" "){
_c=_c.substring(1,_c.length);
}
if(_c.indexOf(_9)==0){
return _c.substring(_9.length,_c.length);
}
}
return null;
}
function deleteCookie(_d,_e){
setCookie(_d,"",undefined,_e);
}
try{
if(typeof (AdFuUtilities)=="undefined"){
throw "";
}
}
catch(e){
throw "AdFu utilities.js required!";
}
if(typeof (AdFuToys)=="undefined"){
AdFuToys={};
}
var _buttonobj=null;
function disableSubmitButton(_1){
_buttonobj=_1;
_buttonobj.disabled=true;
}
function enableSubmitButton(){
_buttonobj.disabled=false;
}


