﻿
if(typeof(dojo)!="undefined"){dojo.provide("MochiKit.Base");}
if(typeof(MochiKit)=="undefined"){MochiKit={};}
if(typeof(MochiKit.Base)=="undefined"){MochiKit.Base={};}
if(typeof(MochiKit.__export__)=="undefined"){MochiKit.__export__=(MochiKit.__compat__||(typeof(JSAN)=="undefined"&&typeof(dojo)=="undefined"));}
MochiKit.Base.VERSION="1.4";MochiKit.Base.NAME="MochiKit.Base";MochiKit.Base.update=function(_1,_2){if(_1===null){_1={};}
for(var i=1;i<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__();},camelize:function(_6){var _7=_6.split("-");var cc=_7[0];for(var i=1;i<_7.length;i++){cc+=_7[i].charAt(0).toUpperCase()+_7[i].substring(1);}
return cc;},counter:function(n){if(arguments.length===0){n=1;}
return function(){return n++;};},clone:function(obj){var me=arguments.callee;if(arguments.length==1){me.prototype=obj;return new me();}},_flattenArray:function(res,lst){for(var i=0;i<lst.length;i++){var o=lst[i];if(o instanceof Array){arguments.callee(res,o);}else{res.push(o);}}
return res;},flattenArray:function(lst){return MochiKit.Base._flattenArray([],lst);},flattenArguments:function(lst){var res=[];var m=MochiKit.Base;var _15=m.extend(null,arguments);while(_15.length){var o=_15.shift();if(o&&typeof(o)=="object"&&typeof(o.length)=="number"){for(var i=o.length-1;i>=0;i--){_15.unshift(o[i]);}}else{res.push(o);}}
return res;},extend:function(_16,obj,_17){if(!_17){_17=0;}
if(obj){var l=obj.length;if(typeof(l)!="number"){if(typeof(MochiKit.Iter)!="undefined"){obj=MochiKit.Iter.list(obj);l=obj.length;}else{throw new TypeError("Argument not an array-like and MochiKit.Iter not present");}}
if(!_16){_16=[];}
for(var i=_17;i<l;i++){_16.push(obj[i]);}}
return _16;},updatetree:function(_19,obj){if(_19===null){_19={};}
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(_19[k])=="object"&&typeof(v)=="object"){arguments.callee(_19[k],v);}else{_19[k]=v;}}}}
return _19;},setdefault:function(_21,obj){if(_21===null){_21={};}
for(var i=1;i<arguments.length;i++){var o=arguments[i];for(var k in o){if(!(k in _21)){_21[k]=o[k];}}}
return _21;},keys:function(obj){var _22=[];for(var _23 in obj){_22.push(_23);}
return _22;},values:function(obj){var _24=[];for(var _25 in obj){_24.push(obj[_25]);}
return _24;},items:function(obj){var _26=[];var e;for(var _28 in obj){var v;try{v=obj[_28];}
catch(e){continue;}
_26.push([_28,v]);}
return _26;},_newNamedError:function(_29,_30,_31){_31.prototype=new MochiKit.Base.NamedError(_29.NAME+"."+_30);_29[_30]=_31;},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;},seq:function(a,b){return a===b;},sne: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(_34){return function(){return this[_34].apply(this,arguments);};},itemgetter:function(_35){return function(arg){return arg[_35];};},typeMatcher:function(){var _37={};for(var i=0;i<arguments.length;i++){var typ=arguments[i];_37[typ]=typ;}
return function(){for(var i=0;i<arguments.length;i++){if(!(typeof(arguments[i])in _37)){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"||o.nodeType===3){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 _40=[];for(var i=1;i<arguments.length;i++){_40.push(fn(arguments[i]));}
return _40;},map:function(fn,lst){var m=MochiKit.Base;var itr=MochiKit.Iter;var _42=m.isArrayLike;if(arguments.length<=2){if(!_42(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 _43=[];for(var i=0;i<lst.length;i++){_43.push(fn(lst[i]));}
return _43;}else{if(fn===null){fn=Array;}
var _44=null;for(i=1;i<arguments.length;i++){if(!_42(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(_44===null||_44>l){_44=l;}}
_43=[];for(i=0;i<_44;i++){var _45=[];for(var j=1;j<arguments.length;j++){_45.push(arguments[j][i]);}
_43.push(fn.apply(this,_45));}
return _43;}},xfilter:function(fn){var _47=[];if(fn===null){fn=MochiKit.Base.operator.truth;}
for(var i=1;i<arguments.length;i++){var o=arguments[i];if(fn(o)){_47.push(o);}}
return _47;},filter:function(fn,lst,_48){var _49=[];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,_48);}else{if(typeof(_48)=="undefined"||_48===null){for(var i=0;i<lst.length;i++){var o=lst[i];if(fn(o)){_49.push(o);}}}else{for(i=0;i<lst.length;i++){o=lst[i];if(fn.call(_48,o)){_49.push(o);}}}}
return _49;},_wrapDumbFunction:function(_50){return function(){switch(arguments.length){case 0:return _50();case 1:return _50(arguments[0]);case 2:return _50(arguments[0],arguments[1]);case 3:return _50(arguments[0],arguments[1],arguments[2]);}
var _51=[];for(var i=0;i<arguments.length;i++){_51.push("arguments["+i+"]");}
return eval("(func("+_51.join(",")+"))");};},methodcaller:function(_52){var _53=MochiKit.Base.extend(null,arguments,1);if(typeof(_52)=="function"){return function(obj){return _52.apply(obj,_53);};}else{return function(obj){return obj[_52].apply(obj,_53);};}},method:function(_54,_55){var m=MochiKit.Base;return m.bind.apply(this,m.extend([_55,_54],arguments,2));},compose:function(f1,f2){var _58=[];var m=MochiKit.Base;if(arguments.length===0){throw new TypeError("compose() requires at least one argument");}
for(var i=0;i<arguments.length;i++){var fn=arguments[i];if(typeof(fn)!="function"){throw new TypeError(m.repr(fn)+" is not a function");}
_58.push(fn);}
return function(){var _59=arguments;for(var i=_58.length-1;i>=0;i--){_59=[_58[i].apply(this,_59)];}
return _59[0];};},bind:function(_60,_61){if(typeof(_60)=="string"){_60=_61[_60];}
var _62=_60.im_func;var _63=_60.im_preargs;var _64=_60.im_self;var m=MochiKit.Base;if(typeof(_60)=="function"&&typeof(_60.apply)=="undefined"){_60=m._wrapDumbFunction(_60);}
if(typeof(_62)!="function"){_62=_60;}
if(typeof(_61)!="undefined"){_64=_61;}
if(typeof(_63)=="undefined"){_63=[];}else{_63=_63.slice();}
m.extend(_63,arguments,2);var _65=function(){var _66=arguments;var me=arguments.callee;if(me.im_preargs.length>0){_66=m.concat(me.im_preargs,_66);}
var _61=me.im_self;if(!_61){_61=this;}
return me.im_func.apply(_61,_66);};_65.im_self=_64;_65.im_func=_62;_65.im_preargs=_63;return _65;},bindMethods:function(_67){var _68=MochiKit.Base.bind;for(var k in _67){var _69=_67[k];if(typeof(_69)=="function"){_67[k]=_68(_69,_67);}}},registerComparator:function(_70,_71,_72,_73){MochiKit.Base.comparatorRegistry.register(_70,_71,_72,_73);},_primitives:{"boolean":true,"string":true,"number":true},compare:function(a,b){if(a==b){return 0;}
var _74=(typeof(a)=="undefined"||a===null);var _75=(typeof(b)=="undefined"||b===null);if(_74&&_75){return 0;}else{if(_74){return-1;}else{if(_75){return 1;}}}
var m=MochiKit.Base;var _76=m._primitives;if(!(typeof(a)in _76&&typeof(b)in _76)){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 _77=m.repr;throw new TypeError(_77(a)+" and "+_77(b)+" can not be compared");},compareDateLike:function(a,b){return MochiKit.Base.compare(a.getTime(),b.getTime());},compareArrayLike:function(a,b){var _78=MochiKit.Base.compare;var _79=a.length;var _80=0;if(_79>b.length){_80=1;_79=b.length;}else{if(_79<b.length){_80=-1;}}
for(var i=0;i<_79;i++){var cmp=_78(a[i],b[i]);if(cmp){return cmp;}}
return _80;},registerRepr:function(_82,_83,_84,_85){MochiKit.Base.reprRegistry.register(_82,_83,_84,_85);},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 _86=(o+"");}
catch(e){return"["+typeof(o)+"]";}
if(typeof(o)=="function"){o=_86.replace(/^\s+/,"");var idx=o.indexOf("{");if(idx!=-1){o=o.substr(0,idx)+"{...}";}}
return _86;},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(_88,_89,_90,_91){MochiKit.Base.jsonRegistry.register(_88,_89,_90,_91);},evalJSON:function(){return eval("("+arguments[0]+")");},serializeJSON:function(o){var _92=typeof(o);if(_92=="number"||_92=="boolean"){return o+"";}else{if(o===null){return"null";}}
var m=MochiKit.Base;var _93=m.reprString;if(_92=="string"){return _93(o);}
var me=arguments.callee;var _94;if(typeof(o.__json__)=="function"){_94=o.__json__();if(o!==_94){return me(_94);}}
if(typeof(o.json)=="function"){_94=o.json();if(o!==_94){return me(_94);}}
if(_92!="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{_94=m.jsonRegistry.match(o);if(o!==_94){return me(_94);}}
catch(e){if(e!=m.NotFound){throw e;}}
if(_92=="undefined"){throw new TypeError("undefined can not be serialized as JSON");}
if(_92=="function"){return null;}
res=[];for(var k in o){var _96;if(typeof(k)=="number"){_96="\""+k+"\"";}else{if(typeof(k)=="string"){_96=_93(k);}else{continue;}}
val=me(o[k]);if(typeof(val)!="string"){continue;}
res.push(_96+":"+val);}
return"{"+res.join(", ")+"}";},objEqual:function(a,b){return(MochiKit.Base.compare(a,b)===0);},arrayEqual:function(_97,arr){if(_97.length!=arr.length){return false;}
return(MochiKit.Base.compare(_97,arr)===0);},concat:function(){var _99=[];var _100=MochiKit.Base.extend;for(var i=0;i<arguments.length;i++){_100(_99,arguments[i]);}
return _99;},keyComparator:function(key){var m=MochiKit.Base;var _102=m.compare;if(arguments.length==1){return function(a,b){return _102(a[key],b[key]);};}
var _103=m.extend(null,arguments);return function(a,b){var rval=0;for(var i=0;(rval===0)&&(i<_103.length);i++){var key=_103[i];rval=_102(a[key],b[key]);}
return rval;};},reverseKeyComparator:function(key){var _105=MochiKit.Base.keyComparator.apply(this,arguments);return function(a,b){return _105(b,a);};},partial:function(func){var m=MochiKit.Base;return m.bind.apply(this,m.extend([func,undefined],arguments,1));},listMinMax:function(_107,lst){if(lst.length===0){return null;}
var cur=lst[0];var _109=MochiKit.Base.compare;for(var i=1;i<lst.length;i++){var o=lst[i];if(_109(o,cur)==_107){cur=o;}}
return cur;},objMax:function(){return MochiKit.Base.listMinMax(1,arguments);},objMin:function(){return MochiKit.Base.listMinMax(-1,arguments);},findIdentical:function(lst,_110,_111,end){if(typeof(end)=="undefined"||end===null){end=lst.length;}
if(typeof(_111)=="undefined"||_111===null){_111=0;}
for(var i=_111;i<end;i++){if(lst[i]===_110){return i;}}
return-1;},mean:function(){var sum=0;var m=MochiKit.Base;var args=m.extend(null,arguments);var _115=args.length;while(args.length){var o=args.shift();if(o&&typeof(o)=="object"&&typeof(o.length)=="number"){_115+=o.length-1;for(var i=o.length-1;i>=0;i--){sum+=o[i];}}else{sum+=o;}}
if(_115<=0){throw new TypeError("mean() requires at least one argument");}
return sum/_115;},median:function(){var data=MochiKit.Base.flattenArguments(arguments);if(data.length===0){throw new TypeError("median() requires at least one argument");}
data.sort(compare);if(data.length%2==0){var _117=data.length/2;return(data[_117]+data[_117-1])/2;}else{return data[(data.length-1)/2];}},findValue:function(lst,_118,_119,end){if(typeof(end)=="undefined"||end===null){end=lst.length;}
if(typeof(_119)=="undefined"||_119===null){_119=0;}
var cmp=MochiKit.Base.compare;for(var i=_119;i<end;i++){if(cmp(lst[i],_118)===0){return i;}}
return-1;},nodeWalk:function(node,_121){var _122=[node];var _123=MochiKit.Base.extend;while(_122.length){var res=_121(_122.shift());if(res){_123(_122,res);}}},nameFunctions:function(_124){var base=_124.NAME;if(typeof(base)=="undefined"){base="";}else{base=base+".";}
for(var name in _124){var o=_124[name];if(typeof(o)=="function"&&typeof(o.NAME)=="undefined"){try{o.NAME=base+name;}
catch(e){}}}},queryString:function(_127,_128){if(typeof(MochiKit.DOM)!="undefined"&&arguments.length==1&&(typeof(_127)=="string"||(typeof(_127.nodeType)!="undefined"&&_127.nodeType>0))){var kv=MochiKit.DOM.formContents(_127);_127=kv[0];_128=kv[1];}else{if(arguments.length==1){if(typeof(_127.length)=="number"&&_127.length==2){return arguments.callee(_127[0],_127[1]);}
var o=_127;_127=[];_128=[];for(var k in o){var v=o[k];if(typeof(v)=="function"){continue;}else{if(typeof(v)!="string"&&typeof(v.length)=="number"){for(var i=0;i<v.length;i++){_127.push(k);_128.push(v[i]);}}else{_127.push(k);_128.push(v);}}}}}
var rval=[];var len=Math.min(_127.length,_128.length);var _131=MochiKit.Base.urlEncode;for(var i=0;i<len;i++){v=_128[i];if(typeof(v)!="undefined"&&v!==null){rval.push(_131(_127[i])+"="+_131(v));}}
return rval.join("&");},parseQueryString:function(_132,_133){var qstr=(_132.charAt(0)=="?")?_132.substring(1):_132;var _135=qstr.replace(/\+/g,"%20").split(/(\&amp\;|\&\#38\;|\&#x26;|\&)/);var o={};var _136;if(typeof(decodeURIComponent)!="undefined"){_136=decodeURIComponent;}else{_136=unescape;}
if(_133){for(var i=0;i<_135.length;i++){var pair=_135[i].split("=");if(pair.length!==2){continue;}
var name=_136(pair[0]);var arr=o[name];if(!(arr instanceof Array)){arr=[];o[name]=arr;}
arr.push(_136(pair[1]));}}else{for(i=0;i<_135.length;i++){pair=_135[i].split("=");if(pair.length!==2){continue;}
o[_136(pair[0])]=_136(pair[1]);}}
return o;}});MochiKit.Base.AdapterRegistry=function(){this.pairs=[];};MochiKit.Base.AdapterRegistry.prototype={register:function(name,_138,wrap,_140){if(_140){this.pairs.unshift([name,_138,wrap]);}else{this.pairs.push([name,_138,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=["flattenArray","noop","camelize","counter","clone","extend","update","updatetree","setdefault","keys","values","items","NamedError","operator","forwardCall","itemgetter","typeMatcher","isCallable","isUndefined","isUndefinedOrNull","isNull","isEmpty","isNotEmpty","isArrayLike","isDateLike","xmap","map","xfilter","filter","methodcaller","compose","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","average","mean","median"];MochiKit.Base.EXPORT_OK=["nameFunctions","comparatorRegistry","reprRegistry","jsonRegistry","compareDateLike","compareArrayLike","reprArrayLike","reprString","reprNumber"];MochiKit.Base._exportSymbols=function(_141,_142){if(!MochiKit.__export__){return;}
var all=_142.EXPORT_TAGS[":all"];for(var i=0;i<all.length;i++){_141[all[i]]=_142[all[i]];}};MochiKit.Base.__new__=function(){var m=this;m.noop=m.operator.identity;m.forward=m.forwardCall;m.find=m.findValue;if(typeof(encodeURIComponent)!="undefined"){m.urlEncode=function(_144){return encodeURIComponent(_144).replace(/\'/g,"%27");};}else{m.urlEncode=function(_145){return escape(_145).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.average=m.mean;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.__export__){compare=MochiKit.Base.compare;compose=MochiKit.Base.compose;serializeJSON=MochiKit.Base.serializeJSON;}
MochiKit.Base._exportSymbols(this,MochiKit.Base);if(typeof(dojo)!="undefined"){dojo.provide("MochiKit.Iter");dojo.require("MochiKit.Base");}
if(typeof(JSAN)!="undefined"){JSAN.use("MochiKit.Base",[]);}
try{if(typeof(MochiKit.Base)=="undefined"){throw"";}}
catch(e){throw"MochiKit.Iter depends on MochiKit.Base!";}
if(typeof(MochiKit.Iter)=="undefined"){MochiKit.Iter={};}
MochiKit.Iter.NAME="MochiKit.Iter";MochiKit.Iter.VERSION="1.4";MochiKit.Base.update(MochiKit.Iter,{__repr__:function(){return"["+this.NAME+" "+this.VERSION+"]";},toString:function(){return this.__repr__();},registerIteratorFactory:function(name,_146,_147,_148){MochiKit.Iter.iteratorRegistry.register(name,_146,_147,_148);},iter:function(_149,_150){var self=MochiKit.Iter;if(arguments.length==2){return self.takewhile(function(a){return a!=_150;},_149);}
if(typeof(_149.next)=="function"){return _149;}else{if(typeof(_149.iter)=="function"){return _149.iter();}}
try{return self.iteratorRegistry.match(_149);}
catch(e){var m=MochiKit.Base;if(e==m.NotFound){e=new TypeError(typeof(_149)+": "+m.repr(_149)+" 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 self=MochiKit.Iter;var m=MochiKit.Base;var lst=[];var _153=self.iter(p);return{repr:function(){return"cycle(...)";},toString:m.forwardCall("repr"),next:function(){try{var rval=_153.next();lst.push(rval);return rval;}
catch(e){if(e!=self.StopIteration){throw e;}
if(lst.length===0){this.next=function(){throw self.StopIteration;};}else{var i=-1;this.next=function(){i=(i+1)%lst.length;return lst[i];};}
return this.next();}}};},repeat:function(elem,n){var m=MochiKit.Base;if(typeof(n)=="undefined"){return{repr:function(){return"repeat("+m.repr(elem)+")";},toString:m.forwardCall("repr"),next:function(){return elem;}};}
return{repr:function(){return"repeat("+m.repr(elem)+", "+n+")";},toString:m.forwardCall("repr"),next:function(){if(n<=0){throw MochiKit.Iter.StopIteration;}
n-=1;return elem;}};},next:function(_155){return _155.next();},izip:function(p,q){var m=MochiKit.Base;var self=MochiKit.Iter;var next=self.next;var _158=m.map(self.iter,arguments);return{repr:function(){return"izip(...)";},toString:m.forwardCall("repr"),next:function(){return m.map(next,_158);}};},ifilter:function(pred,seq){var m=MochiKit.Base;seq=MochiKit.Iter.iter(seq);if(pred===null){pred=m.operator.truth;}
return{repr:function(){return"ifilter(...)";},toString:m.forwardCall("repr"),next:function(){while(true){var rval=seq.next();if(pred(rval)){return rval;}}
return undefined;}};},ifilterfalse:function(pred,seq){var m=MochiKit.Base;seq=MochiKit.Iter.iter(seq);if(pred===null){pred=m.operator.truth;}
return{repr:function(){return"ifilterfalse(...)";},toString:m.forwardCall("repr"),next:function(){while(true){var rval=seq.next();if(!pred(rval)){return rval;}}
return undefined;}};},islice:function(seq){var self=MochiKit.Iter;var m=MochiKit.Base;seq=self.iter(seq);var _161=0;var stop=0;var step=1;var i=-1;if(arguments.length==2){stop=arguments[1];}else{if(arguments.length==3){_161=arguments[1];stop=arguments[2];}else{_161=arguments[1];stop=arguments[2];step=arguments[3];}}
return{repr:function(){return"islice("+["...",_161,stop,step].join(", ")+")";},toString:m.forwardCall("repr"),next:function(){var rval;while(i<_161){rval=seq.next();i++;}
if(_161>=stop){throw self.StopIteration;}
_161+=step;return rval;}};},imap:function(fun,p,q){var m=MochiKit.Base;var self=MochiKit.Iter;var _165=m.map(self.iter,m.extend(null,arguments,1));var map=m.map;var next=self.next;return{repr:function(){return"imap(...)";},toString:m.forwardCall("repr"),next:function(){return fun.apply(this,map(next,_165));}};},applymap:function(fun,seq,self){seq=MochiKit.Iter.iter(seq);var m=MochiKit.Base;return{repr:function(){return"applymap(...)";},toString:m.forwardCall("repr"),next:function(){return fun.apply(self,seq.next());}};},chain:function(p,q){var self=MochiKit.Iter;var m=MochiKit.Base;if(arguments.length==1){return self.iter(arguments[0]);}
var _167=m.map(self.iter,arguments);return{repr:function(){return"chain(...)";},toString:m.forwardCall("repr"),next:function(){while(_167.length>1){try{return _167[0].next();}
catch(e){if(e!=self.StopIteration){throw e;}
_167.shift();}}
if(_167.length==1){var arg=_167.shift();this.next=m.bind("next",arg);return this.next();}
throw self.StopIteration;}};},takewhile:function(pred,seq){var self=MochiKit.Iter;seq=self.iter(seq);return{repr:function(){return"takewhile(...)";},toString:MochiKit.Base.forwardCall("repr"),next:function(){var rval=seq.next();if(!pred(rval)){this.next=function(){throw self.StopIteration;};this.next();}
return rval;}};},dropwhile:function(pred,seq){seq=MochiKit.Iter.iter(seq);var m=MochiKit.Base;var bind=m.bind;return{"repr":function(){return"dropwhile(...)";},"toString":m.forwardCall("repr"),"next":function(){while(true){var rval=seq.next();if(!pred(rval)){break;}}
this.next=bind("next",seq);return rval;}};},_tee:function(_169,sync,_171){sync.pos[_169]=-1;var m=MochiKit.Base;var _172=m.listMin;return{repr:function(){return"tee("+_169+", ...)";},toString:m.forwardCall("repr"),next:function(){var rval;var i=sync.pos[_169];if(i==sync.max){rval=_171.next();sync.deque.push(rval);sync.max+=1;sync.pos[_169]+=1;}else{rval=sync.deque[i-sync.min];sync.pos[_169]+=1;if(i==sync.min&&_172(sync.pos)!=sync.min){sync.min+=1;sync.deque.shift();}}
return rval;}};},tee:function(_173,n){var rval=[];var sync={"pos":[],"deque":[],"max":-1,"min":-1};if(arguments.length==1||typeof(n)=="undefined"||n===null){n=2;}
var self=MochiKit.Iter;_173=self.iter(_173);var _tee=self._tee;for(var i=0;i<n;i++){rval.push(_tee(i,sync,_173));}
return rval;},list:function(_175){var m=MochiKit.Base;if(typeof(_175.slice)=="function"){return _175.slice();}else{if(m.isArrayLike(_175)){return m.concat(_175);}}
var self=MochiKit.Iter;_175=self.iter(_175);var rval=[];try{while(true){rval.push(_175.next());}}
catch(e){if(e!=self.StopIteration){throw e;}
return rval;}
return undefined;},reduce:function(fn,_176,_177){var i=0;var x=_177;var self=MochiKit.Iter;_176=self.iter(_176);if(arguments.length<3){try{x=_176.next();}
catch(e){if(e==self.StopIteration){e=new TypeError("reduce() of empty sequence with no initial value");}
throw e;}
i++;}
try{while(true){x=fn(x,_176.next());}}
catch(e){if(e!=self.StopIteration){throw e;}}
return x;},range:function(){var _179=0;var stop=0;var step=1;if(arguments.length==1){stop=arguments[0];}else{if(arguments.length==2){_179=arguments[0];stop=arguments[1];}else{if(arguments.length==3){_179=arguments[0];stop=arguments[1];step=arguments[2];}else{throw new TypeError("range() takes 1, 2, or 3 arguments!");}}}
if(step===0){throw new TypeError("range() step must not be 0");}
return{next:function(){if((step>0&&_179>=stop)||(step<0&&_179<=stop)){throw MochiKit.Iter.StopIteration;}
var rval=_179;_179+=step;return rval;},repr:function(){return"range("+[_179,stop,step].join(", ")+")";},toString:MochiKit.Base.forwardCall("repr")};},sum:function(_180,_181){if(typeof(_181)=="undefined"||_181===null){_181=0;}
var x=_181;var self=MochiKit.Iter;_180=self.iter(_180);try{while(true){x+=_180.next();}}
catch(e){if(e!=self.StopIteration){throw e;}}
return x;},exhaust:function(_182){var self=MochiKit.Iter;_182=self.iter(_182);try{while(true){_182.next();}}
catch(e){if(e!=self.StopIteration){throw e;}}},forEach:function(_183,func,self){var m=MochiKit.Base;if(arguments.length>2){func=m.bind(func,self);}
if(m.isArrayLike(_183)){try{for(var i=0;i<_183.length;i++){func(_183[i]);}}
catch(e){if(e!=MochiKit.Iter.StopIteration){throw e;}}}else{self=MochiKit.Iter;self.exhaust(self.imap(func,_183));}},every:function(_184,func){var self=MochiKit.Iter;try{self.ifilterfalse(func,_184).next();return false;}
catch(e){if(e!=self.StopIteration){throw e;}
return true;}},sorted:function(_185,cmp){var rval=MochiKit.Iter.list(_185);if(arguments.length==1){cmp=MochiKit.Base.compare;}
rval.sort(cmp);return rval;},reversed:function(_186){var rval=MochiKit.Iter.list(_186);rval.reverse();return rval;},some:function(_187,func){var self=MochiKit.Iter;try{self.ifilter(func,_187).next();return true;}
catch(e){if(e!=self.StopIteration){throw e;}
return false;}},iextend:function(lst,_188){if(MochiKit.Base.isArrayLike(_188)){for(var i=0;i<_188.length;i++){lst.push(_188[i]);}}else{var self=MochiKit.Iter;_188=self.iter(_188);try{while(true){lst.push(_188.next());}}
catch(e){if(e!=self.StopIteration){throw e;}}}
return lst;},groupby:function(_189,_190){var m=MochiKit.Base;var self=MochiKit.Iter;if(arguments.length<2){_190=m.operator.identity;}
_189=self.iter(_189);var pk=undefined;var k=undefined;var v;function fetch(){v=_189.next();k=_190(v);}
function eat(){var ret=v;v=undefined;return ret;}
var _193=true;var _194=m.compare;return{repr:function(){return"groupby(...)";},next:function(){while(_194(k,pk)===0){fetch();if(_193){_193=false;break;}}
pk=k;return[k,{next:function(){if(v==undefined){fetch();}
if(_194(k,pk)!==0){throw self.StopIteration;}
return eat();}}];}};},groupby_as_array:function(_195,_196){var m=MochiKit.Base;var self=MochiKit.Iter;if(arguments.length<2){_196=m.operator.identity;}
_195=self.iter(_195);var _197=[];var _198=true;var _199;var _200=m.compare;while(true){try{var _201=_195.next();var key=_196(_201);}
catch(e){if(e==self.StopIteration){break;}
throw e;}
if(_198||_200(key,_199)!==0){var _202=[];_197.push([key,_202]);}
_202.push(_201);_198=false;_199=key;}
return _197;},arrayLikeIter:function(_203){var i=0;return{repr:function(){return"arrayLikeIter(...)";},toString:MochiKit.Base.forwardCall("repr"),next:function(){if(i>=_203.length){throw MochiKit.Iter.StopIteration;}
return _203[i++];}};},hasIterateNext:function(_204){return(_204&&typeof(_204.iterateNext)=="function");},iterateNextIter:function(_205){return{repr:function(){return"iterateNextIter(...)";},toString:MochiKit.Base.forwardCall("repr"),next:function(){var rval=_205.iterateNext();if(rval===null||rval===undefined){throw MochiKit.Iter.StopIteration;}
return rval;}};}});MochiKit.Iter.EXPORT_OK=["iteratorRegistry","arrayLikeIter","hasIterateNext","iterateNextIter",];MochiKit.Iter.EXPORT=["StopIteration","registerIteratorFactory","iter","count","cycle","repeat","next","izip","ifilter","ifilterfalse","islice","imap","applymap","chain","takewhile","dropwhile","tee","list","reduce","range","sum","exhaust","forEach","every","sorted","reversed","some","iextend","groupby","groupby_as_array"];MochiKit.Iter.__new__=function(){var m=MochiKit.Base;if(typeof(StopIteration)!="undefined"){this.StopIteration=StopIteration;}else{this.StopIteration=new m.NamedError("StopIteration");}
this.iteratorRegistry=new m.AdapterRegistry();this.registerIteratorFactory("arrayLike",m.isArrayLike,this.arrayLikeIter);this.registerIteratorFactory("iterateNext",this.hasIterateNext,this.iterateNextIter);this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};m.nameFunctions(this);};MochiKit.Iter.__new__();if(MochiKit.__export__){reduce=MochiKit.Iter.reduce;}
MochiKit.Base._exportSymbols(this,MochiKit.Iter);if(typeof(dojo)!="undefined"){dojo.provide("MochiKit.Logging");dojo.require("MochiKit.Base");}
if(typeof(JSAN)!="undefined"){JSAN.use("MochiKit.Base",[]);}
try{if(typeof(MochiKit.Base)=="undefined"){throw"";}}
catch(e){throw"MochiKit.Logging depends on MochiKit.Base!";}
if(typeof(MochiKit.Logging)=="undefined"){MochiKit.Logging={};}
MochiKit.Logging.NAME="MochiKit.Logging";MochiKit.Logging.VERSION="1.4";MochiKit.Logging.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]";};MochiKit.Logging.toString=function(){return this.__repr__();};MochiKit.Logging.EXPORT=["LogLevel","LogMessage","Logger","alertListener","logger","log","logError","logDebug","logFatal","logWarning"];MochiKit.Logging.EXPORT_OK=["logLevelAtLeast","isLogMessage","compareLogMessage"];MochiKit.Logging.LogMessage=function(num,_207,info){this.num=num;this.level=_207;this.info=info;this.timestamp=new Date();};MochiKit.Logging.LogMessage.prototype={repr:function(){var m=MochiKit.Base;return"LogMessage("+m.map(m.repr,[this.num,this.level,this.info]).join(", ")+")";},toString:MochiKit.Base.forwardCall("repr")};MochiKit.Base.update(MochiKit.Logging,{logLevelAtLeast:function(_209){var self=MochiKit.Logging;if(typeof(_209)=="string"){_209=self.LogLevel[_209];}
return function(msg){var _211=msg.level;if(typeof(_211)=="string"){_211=self.LogLevel[_211];}
return _211>=_209;};},isLogMessage:function(){var _212=MochiKit.Logging.LogMessage;for(var i=0;i<arguments.length;i++){if(!(arguments[i]instanceof _212)){return false;}}
return true;},compareLogMessage:function(a,b){return MochiKit.Base.compare([a.level,a.info],[b.level,b.info]);},alertListener:function(msg){alert("num: "+msg.num+"\nlevel: "+msg.level+"\ninfo: "+msg.info.join(" "));}});MochiKit.Logging.Logger=function(_213){this.counter=0;if(typeof(_213)=="undefined"||_213===null){_213=-1;}
this.maxSize=_213;this._messages=[];this.listeners={};this.useNativeConsole=false;};MochiKit.Logging.Logger.prototype={clear:function(){this._messages.splice(0,this._messages.length);},logToConsole:function(msg){if(typeof(window)!="undefined"&&window.console&&window.console.log){window.console.log(msg.replace(/%/g,"\uff05"));}else{if(typeof(opera)!="undefined"&&opera.postError){opera.postError(msg);}else{if(typeof(printfire)=="function"){printfire(msg);}else{if(typeof(Debug)!="undefined"&&Debug.writeln){Debug.writeln(msg);}else{if(typeof(debug)!="undefined"&&debug.trace){debug.trace(msg);}}}}}},dispatchListeners:function(msg){for(var k in this.listeners){var pair=this.listeners[k];if(pair.ident!=k||(pair[0]&&!pair[0](msg))){continue;}
pair[1](msg);}},addListener:function(_214,_215,_216){if(typeof(_215)=="string"){_215=MochiKit.Logging.logLevelAtLeast(_215);}
var _217=[_215,_216];_217.ident=_214;this.listeners[_214]=_217;},removeListener:function(_218){delete this.listeners[_218];},baseLog:function(_219,_220){var msg=new MochiKit.Logging.LogMessage(this.counter,_219,MochiKit.Base.extend(null,arguments,1));this._messages.push(msg);this.dispatchListeners(msg);if(this.useNativeConsole){this.logToConsole(msg.level+": "+msg.info.join(" "));}
this.counter+=1;while(this.maxSize>=0&&this._messages.length>this.maxSize){this._messages.shift();}},getMessages:function(_221){var _222=0;if(!(typeof(_221)=="undefined"||_221===null)){_222=Math.max(0,this._messages.length-_221);}
return this._messages.slice(_222);},getMessageText:function(_223){if(typeof(_223)=="undefined"||_223===null){_223=30;}
var _224=this.getMessages(_223);if(_224.length){var lst=map(function(m){return"\n  ["+m.num+"] "+m.level+": "+m.info.join(" ");},_224);lst.unshift("LAST "+_224.length+" MESSAGES:");return lst.join("");}
return"";},debuggingBookmarklet:function(_225){if(typeof(MochiKit.LoggingPane)=="undefined"){alert(this.getMessageText());}else{MochiKit.LoggingPane.createLoggingPane(_225||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 _226=m.partial;var _227=this.Logger;var _228=_227.prototype.baseLog;m.update(this.Logger.prototype,{debug:_226(_228,"DEBUG"),log:_226(_228,"INFO"),error:_226(_228,"ERROR"),fatal:_226(_228,"FATAL"),warning:_226(_228,"WARNING")});var self=this;var _229=function(name){return function(){self.logger[name].apply(self.logger,arguments);};};this.log=_229("log");this.logError=_229("error");this.logDebug=_229("debug");this.logFatal=_229("fatal");this.logWarning=_229("warning");this.logger=new _227();this.logger.useNativeConsole=true;this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};m.nameFunctions(this);};if(typeof(printfire)=="undefined"&&typeof(document)!="undefined"&&document.createEvent&&typeof(dispatchEvent)!="undefined"){printfire=function(){printfire.args=arguments;var ev=document.createEvent("Events");ev.initEvent("printfire",false,true);dispatchEvent(ev);};}
MochiKit.Logging.__new__();MochiKit.Base._exportSymbols(this,MochiKit.Logging);if(typeof(dojo)!="undefined"){dojo.provide("MochiKit.DateTime");}
if(typeof(MochiKit)=="undefined"){MochiKit={};}
if(typeof(MochiKit.DateTime)=="undefined"){MochiKit.DateTime={};}
MochiKit.DateTime.NAME="MochiKit.DateTime";MochiKit.DateTime.VERSION="1.4";MochiKit.DateTime.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]";};MochiKit.DateTime.toString=function(){return this.__repr__();};MochiKit.DateTime.isoDate=function(str){str=str+"";if(typeof(str)!="string"||str.length===0){return null;}
var iso=str.split("-");if(iso.length===0){return null;}
return new Date(iso[0],iso[1]-1,iso[2]);};MochiKit.DateTime._isoRegexp=/(\d{4,})(?:-(\d{1,2})(?:-(\d{1,2})(?:[T ](\d{1,2}):(\d{1,2})(?::(\d{1,2})(?:\.(\d+))?)?(?:(Z)|([+-])(\d{1,2})(?::(\d{1,2}))?)?)?)?)?/;MochiKit.DateTime.isoTimestamp=function(str){str=str+"";if(typeof(str)!="string"||str.length===0){return null;}
var res=str.match(MochiKit.DateTime._isoRegexp);if(typeof(res)=="undefined"||res===null){return null;}
var year,month,day,hour,min,sec,msec;year=parseInt(res[1],10);if(typeof(res[2])=="undefined"||res[2]===""){return new Date(year);}
month=parseInt(res[2],10)-1;day=parseInt(res[3],10);if(typeof(res[4])=="undefined"||res[4]===""){return new Date(year,month,day);}
hour=parseInt(res[4],10);min=parseInt(res[5],10);sec=(typeof(res[6])!="undefined"&&res[6]!=="")?parseInt(res[6],10):0;if(typeof(res[7])!="undefined"&&res[7]!==""){msec=Math.round(1000*parseFloat("0."+res[7]));}else{msec=0;}
if((typeof(res[8])=="undefined"||res[8]==="")&&(typeof(res[9])=="undefined"||res[9]==="")){return new Date(year,month,day,hour,min,sec,msec);}
var ofs;if(typeof(res[9])!="undefined"&&res[9]!==""){ofs=parseInt(res[10],10)*3600000;if(typeof(res[11])!="undefined"&&res[11]!==""){ofs+=parseInt(res[11],10)*60000;}
if(res[9]=="-"){ofs=-ofs;}}else{ofs=0;}
return new Date(Date.UTC(year,month,day,hour,min,sec,msec)-ofs);};MochiKit.DateTime.toISOTime=function(date,_236){if(typeof(date)=="undefined"||date===null){return null;}
var hh=date.getHours();var mm=date.getMinutes();var ss=date.getSeconds();var lst=[((_236&&(hh<10))?"0"+hh:hh),((mm<10)?"0"+mm:mm),((ss<10)?"0"+ss:ss)];return lst.join(":");};MochiKit.DateTime.toISOTimestamp=function(date,_240){if(typeof(date)=="undefined"||date===null){return null;}
var sep=_240?"T":" ";var foot=_240?"Z":"";if(_240){date=new Date(date.getTime()+(date.getTimezoneOffset()*60000));}
return MochiKit.DateTime.toISODate(date)+sep+MochiKit.DateTime.toISOTime(date,_240)+foot;};MochiKit.DateTime.toISODate=function(date){if(typeof(date)=="undefined"||date===null){return null;}
var _243=MochiKit.DateTime._padTwo;return[date.getFullYear(),_243(date.getMonth()+1),_243(date.getDate())].join("-");};MochiKit.DateTime.americanDate=function(d){d=d+"";if(typeof(d)!="string"||d.length===0){return null;}
var a=d.split("/");return new Date(a[2],a[0]-1,a[1]);};MochiKit.DateTime._padTwo=function(n){return(n>9)?n:"0"+n;};MochiKit.DateTime.toPaddedAmericanDate=function(d){if(typeof(d)=="undefined"||d===null){return null;}
var _245=MochiKit.DateTime._padTwo;return[_245(d.getMonth()+1),_245(d.getDate()),d.getFullYear()].join("/");};MochiKit.DateTime.toAmericanDate=function(d){if(typeof(d)=="undefined"||d===null){return null;}
return[d.getMonth()+1,d.getDate(),d.getFullYear()].join("/");};MochiKit.DateTime.EXPORT=["isoDate","isoTimestamp","toISOTime","toISOTimestamp","toISODate","americanDate","toPaddedAmericanDate","toAmericanDate"];MochiKit.DateTime.EXPORT_OK=[];MochiKit.DateTime.EXPORT_TAGS={":common":MochiKit.DateTime.EXPORT,":all":MochiKit.DateTime.EXPORT};MochiKit.DateTime.__new__=function(){var base=this.NAME+".";for(var k in this){var o=this[k];if(typeof(o)=="function"&&typeof(o.NAME)=="undefined"){try{o.NAME=base+k;}
catch(e){}}}};MochiKit.DateTime.__new__();if(typeof(MochiKit.Base)!="undefined"){MochiKit.Base._exportSymbols(this,MochiKit.DateTime);}else{(function(_246,_247){if((typeof(JSAN)=="undefined"&&typeof(dojo)=="undefined")||(MochiKit.__export__===false)){var all=_247.EXPORT_TAGS[":all"];for(var i=0;i<all.length;i++){_246[all[i]]=_247[all[i]];}}})(this,MochiKit.DateTime);}
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.4";MochiKit.Format.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]";};MochiKit.Format.toString=function(){return this.__repr__();};MochiKit.Format._numberFormatter=function(_248,_249,_250,_251,_252,_253,_254,_255,_256){return function(num){num=parseFloat(num);if(typeof(num)=="undefined"||num===null||isNaN(num)){return _248;}
var _257=_249;var _258=_250;if(num<0){num=-num;}else{_257=_257.replace(/-/,"");}
var me=arguments.callee;var fmt=MochiKit.Format.formatLocale(_251);if(_252){num=num*100;_258=fmt.percent+_258;}
num=MochiKit.Format.roundToFixed(num,_253);var _260=num.split(/\./);var _261=_260[0];var frac=(_260.length==1)?"":_260[1];var res="";while(_261.length<_254){_261="0"+_261;}
if(_255){while(_261.length>_255){var i=_261.length-_255;res=fmt.separator+_261.substring(i,_261.length)+res;_261=_261.substring(0,i);}}
res=_261+res;if(_253>0){while(frac.length<_256){frac=frac+"0";}
res=res+fmt.decimal+frac;}
return _257+res+_258;};};MochiKit.Format.numberFormatter=function(_263,_264,_265){if(typeof(_264)=="undefined"){_264="";}
var _266=_263.match(/((?:[0#]+,)?[0#]+)(?:\.([0#]+))?(%)?/);if(!_266){throw TypeError("Invalid pattern");}
var _267=_263.substr(0,_266.index);var _268=_263.substr(_266.index+_266[0].length);if(_267.search(/-/)==-1){_267=_267+"-";}
var _269=_266[1];var frac=(typeof(_266[2])=="string"&&_266[2]!="")?_266[2]:"";var _270=(typeof(_266[3])=="string"&&_266[3]!="");var tmp=_269.split(/,/);var _272;if(typeof(_265)=="undefined"){_265="default";}
if(tmp.length==1){_272=null;}else{_272=tmp[1].length;}
var _273=_269.length-_269.replace(/0/g,"").length;var _274=frac.length-frac.replace(/0/g,"").length;var _275=frac.length;var rval=MochiKit.Format._numberFormatter(_264,_267,_268,_265,_270,_275,_273,_272,_274);var m=MochiKit.Base;if(m){var fn=arguments.callee;var args=m.concat(arguments);rval.repr=function(){return[self.NAME,"(",map(m.repr,args).join(", "),")"].join("");};}
return rval;};MochiKit.Format.formatLocale=function(_276){if(typeof(_276)=="undefined"||_276===null){_276="default";}
if(typeof(_276)=="string"){var rval=MochiKit.Format.LOCALE[_276];if(typeof(rval)=="string"){rval=arguments.callee(rval);MochiKit.Format.LOCALE[_276]=rval;}
return rval;}else{return _276;}};MochiKit.Format.twoDigitAverage=function(_277,_278){if(_278){var res=_277/_278;if(!isNaN(res)){return MochiKit.Format.twoDigitFloat(_277/_278);}}
return"0";};MochiKit.Format.twoDigitFloat=function(_279){var sign=(_279<0?"-":"");var s=Math.floor(Math.abs(_279)*100).toString();if(s=="0"){return s;}
if(s.length<3){while(s.charAt(s.length-1)=="0"){s=s.substring(0,s.length-1);}
return sign+"0."+s;}
var head=sign+s.substring(0,s.length-2);var tail=s.substring(s.length-2,s.length);if(tail=="00"){return head;}else{if(tail.charAt(1)=="0"){return head+"."+tail.charAt(0);}else{return head+"."+tail;}}};MochiKit.Format.lstrip=function(str,_284){str=str+"";if(typeof(str)!="string"){return null;}
if(!_284){return str.replace(/^\s+/,"");}else{return str.replace(new RegExp("^["+_284+"]+"),"");}};MochiKit.Format.rstrip=function(str,_285){str=str+"";if(typeof(str)!="string"){return null;}
if(!_285){return str.replace(/\s+$/,"");}else{return str.replace(new RegExp("["+_285+"]+$"),"");}};MochiKit.Format.strip=function(str,_286){var self=MochiKit.Format;return self.rstrip(self.lstrip(str,_286),_286);};MochiKit.Format.truncToFixed=function(_287,_288){_287=Math.floor(_287*Math.pow(10,_288));var res=(_287*Math.pow(10,-_288)).toFixed(_288);if(res.charAt(0)=="."){res="0"+res;}
return res;};MochiKit.Format.roundToFixed=function(_289,_290){return MochiKit.Format.truncToFixed(_289+0.5*Math.pow(10,-_290),_290);};MochiKit.Format.percentFormat=function(_291){return MochiKit.Format.twoDigitFloat(100*_291)+"%";};MochiKit.Format.EXPORT=["truncToFixed","roundToFixed","numberFormatter","formatLocale","twoDigitAverage","twoDigitFloat","percentFormat","lstrip","rstrip","strip"];MochiKit.Format.LOCALE={en_US:{separator:",",decimal:".",percent:"%"},de_DE:{separator:".",decimal:",",percent:"%"},fr_FR:{separator:" ",decimal:",",percent:"%"},"default":"en_US"};MochiKit.Format.EXPORT_OK=[];MochiKit.Format.EXPORT_TAGS={":all":MochiKit.Format.EXPORT,":common":MochiKit.Format.EXPORT};MochiKit.Format.__new__=function(){var base=this.NAME+".";var k,v,o;for(k in this.LOCALE){o=this.LOCALE[k];if(typeof(o)=="object"){o.repr=function(){return this.NAME;};o.NAME=base+"LOCALE."+k;}}
for(k in this){o=this[k];if(typeof(o)=="function"&&typeof(o.NAME)=="undefined"){try{o.NAME=base+k;}
catch(e){}}}};MochiKit.Format.__new__();if(typeof(MochiKit.Base)!="undefined"){MochiKit.Base._exportSymbols(this,MochiKit.Format);}else{(function(_292,_293){if((typeof(JSAN)=="undefined"&&typeof(dojo)=="undefined")||(MochiKit.__export__===false)){var all=_293.EXPORT_TAGS[":all"];for(var i=0;i<all.length;i++){_292[all[i]]=_293[all[i]];}}})(this,MochiKit.Format);}
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.4";MochiKit.Async.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]";};MochiKit.Async.toString=function(){return this.__repr__();};MochiKit.Async.Deferred=function(_294){this.chain=[];this.id=this._nextId();this.fired=-1;this.paused=0;this.results=[null,null];this.canceller=_294;this.silentlyCancelled=false;this.chained=false;};MochiKit.Async.Deferred.prototype={repr:function(){var _295;if(this.fired==-1){_295="unfired";}else{if(this.fired===0){_295="success";}else{_295="error";}}
return"Deferred("+this.id+", "+_295+")";},toString:MochiKit.Base.forwardCall("repr"),_nextId:MochiKit.Base.counter(),cancel:function(){var self=MochiKit.Async;if(this.fired==-1){if(this.canceller){this.canceller(this);}else{this.silentlyCancelled=true;}
if(this.fired==-1){this.errback(new self.CancelledError(this));}}else{if((this.fired===0)&&(this.results[0]instanceof self.Deferred)){this.results[0].cancel();}}},_resback:function(res){this.fired=((res instanceof Error)?1:0);this.results[this.fired]=res;this._fire();},_check:function(){if(this.fired!=-1){if(!this.silentlyCancelled){throw new MochiKit.Async.AlreadyCalledError(this);}
this.silentlyCancelled=false;return;}},callback:function(res){this._check();if(res instanceof MochiKit.Async.Deferred){throw new Error("Deferred instances can only be chained if they are the result of a callback");}
this._resback(res);},errback:function(res){this._check();var self=MochiKit.Async;if(res instanceof self.Deferred){throw new Error("Deferred instances can only be chained if they are the result of a callback");}
if(!(res instanceof Error)){res=new self.GenericError(res);}
this._resback(res);},addBoth:function(fn){if(arguments.length>1){fn=MochiKit.Base.partial.apply(null,arguments);}
return this.addCallbacks(fn,fn);},addCallback:function(fn){if(arguments.length>1){fn=MochiKit.Base.partial.apply(null,arguments);}
return this.addCallbacks(fn,null);},addErrback:function(fn){if(arguments.length>1){fn=MochiKit.Base.partial.apply(null,arguments);}
return this.addCallbacks(null,fn);},addCallbacks:function(cb,eb){if(this.chained){throw new Error("Chained Deferreds can not be re-used");}
this.chain.push([cb,eb]);if(this.fired>=0){this._fire();}
return this;},_fire:function(){var _298=this.chain;var _299=this.fired;var res=this.results[_299];var self=this;var cb=null;while(_298.length>0&&this.paused===0){var pair=_298.shift();var f=pair[_299];if(f===null){continue;}
try{res=f(res);_299=((res instanceof Error)?1:0);if(res instanceof MochiKit.Async.Deferred){cb=function(res){self._resback(res);self.paused--;if((self.paused===0)&&(self.fired>=0)){self._fire();}};this.paused++;}}
catch(err){_299=1;if(!(err instanceof Error)){err=new MochiKit.Async.GenericError(err);}
res=err;}}
this.fired=_299;this.results[_299]=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(_301){var d=new MochiKit.Async.Deferred();d.callback.apply(d,arguments);return d;},fail:function(_302){var d=new MochiKit.Async.Deferred();d.errback.apply(d,arguments);return d;},getXMLHttpRequest:function(){var self=arguments.callee;if(!self.XMLHttpRequest){var _303=[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<_303.length;i++){var func=_303[i];try{self.XMLHttpRequest=func;return func();}
catch(e){}}}
return self.XMLHttpRequest();},_xhr_onreadystatechange:function(d){var m=MochiKit.Base;if(this.readyState==4){try{this.onreadystatechange=null;}
catch(e){try{this.onreadystatechange=m.noop;}
catch(e){}}
var _304=null;try{_304=this.status;if(!_304&&m.isNotEmpty(this.responseText)){_304=304;}}
catch(e){}
if(_304==200||_304==201||_304==204||_304==304||_304==1223){d.callback(this);}else{var err=new MochiKit.Async.XMLHttpRequestError(this,"Request failed");if(err.number){d.errback(err);}else{d.errback(err);}}}},_xhr_canceller:function(req){try{req.onreadystatechange=null;}
catch(e){try{req.onreadystatechange=MochiKit.Base.noop;}
catch(e){}}
req.abort();},sendXMLHttpRequest:function(req,_307){if(typeof(_307)=="undefined"||_307===null){_307="";}
var m=MochiKit.Base;var self=MochiKit.Async;var d=new self.Deferred(m.partial(self._xhr_canceller,req));try{req.onreadystatechange=m.bind(self._xhr_onreadystatechange,req,d);req.send(_307);}
catch(e){try{req.onreadystatechange=null;}
catch(ignore){}
d.errback(e);}
return d;},doXHR:function(url,opts){var m=MochiKit.Base;opts=m.update({method:"GET",sendContent:""},opts);var self=MochiKit.Async;var req=self.getXMLHttpRequest();if(opts.queryString){var qs=m.queryString(opts.queryString);if(qs){url+="?"+qs;}}
req.open(opts.method,url,true,opts.username,opts.password);if(req.overrideMimeType&&opts.mimeType){req.overrideMimeType(opts.mimeType);}
if(opts.headers){var _311=opts.headers;if(!m.isArrayLike(_311)){_311=m.items(_311);}
for(var i=0;i<_311.length;i++){var _312=_311[i];var name=_312[0];var _313=_312[1];req.setRequestHeader(name,_313);}}
return self.sendXMLHttpRequest(req,opts.sendContent);},_buildURL:function(url){if(arguments.length>1){var m=MochiKit.Base;var qs=m.queryString.apply(null,m.extend(null,arguments,1));if(qs){return url+"?"+qs;}}
return url;},doSimpleXMLHttpRequest:function(url){var self=MochiKit.Async;url=self._buildURL.apply(self,arguments);return self.doXHR(url);},loadJSONDoc:function(url){var self=MochiKit.Async;url=self._buildURL.apply(self,arguments);var d=self.doXHR(url,{"mimeType":"text/plain","headers":[["Accept","application/json"]]});d=d.addCallback(self.evalJSONRequest);return d;},wait:function(_314,_315){var d=new MochiKit.Async.Deferred();var m=MochiKit.Base;if(typeof(_315)!="undefined"){d.addCallback(function(){return _315;});}
var _316=setTimeout(m.bind("callback",d),Math.floor(_314*1000));d.canceller=function(){try{clearTimeout(_316);}
catch(e){}};return d;},callLater:function(_317,func){var m=MochiKit.Base;var _318=m.partial.apply(m,m.extend(null,arguments,1));return MochiKit.Async.wait(_317).addCallback(function(res){return _318();});}});MochiKit.Async.DeferredLock=function(){this.waiting=[];this.locked=false;this.id=this._nextId();};MochiKit.Async.DeferredLock.prototype={__class__:MochiKit.Async.DeferredLock,acquire:function(){var d=new MochiKit.Async.Deferred();if(this.locked){this.waiting.push(d);}else{this.locked=true;d.callback(this);}
return d;},release:function(){if(!this.locked){throw TypeError("Tried to release an unlocked DeferredLock");}
this.locked=false;if(this.waiting.length>0){this.locked=true;this.waiting.shift().callback(this);}},_nextId:MochiKit.Base.counter(),repr:function(){var _319;if(this.locked){_319="locked, "+this.waiting.length+" waiting";}else{_319="unlocked";}
return"DeferredLock("+this.id+", "+_319+")";},toString:MochiKit.Base.forwardCall("repr")};MochiKit.Async.DeferredList=function(list,_321,_322,_323,_324){MochiKit.Async.Deferred.apply(this,[_324]);this.list=list;var _325=[];this.resultList=_325;this.finishedCount=0;this.fireOnOneCallback=_321;this.fireOnOneErrback=_322;this.consumeErrors=_323;var cb=MochiKit.Base.bind(this._cbDeferred,this);for(var i=0;i<list.length;i++){var d=list[i];_325.push(undefined);d.addCallback(cb,i,true);d.addErrback(cb,i,false);}
if(list.length===0&&!_321){this.callback(this.resultList);}};MochiKit.Async.DeferredList.prototype=new MochiKit.Async.Deferred();MochiKit.Async.DeferredList.prototype._cbDeferred=function(_326,_327,_328){this.resultList[_326]=[_327,_328];this.finishedCount+=1;if(this.fired==-1){if(_327&&this.fireOnOneCallback){this.callback([_326,_328]);}else{if(!_327&&this.fireOnOneErrback){this.errback(_328);}else{if(this.finishedCount==this.list.length){this.callback(this.resultList);}}}}
if(!_327&&this.consumeErrors){_328=null;}
return _328;};MochiKit.Async.gatherResults=function(_329){var d=new MochiKit.Async.DeferredList(_329,false,true,false);d.addCallback(function(_330){var ret=[];for(var i=0;i<_330.length;i++){ret.push(_330[i][1]);}
return ret;});return d;};MochiKit.Async.maybeDeferred=function(func){var self=MochiKit.Async;var _331;try{var r=func.apply(null,MochiKit.Base.extend([],arguments,1));if(r instanceof self.Deferred){_331=r;}else{if(r instanceof Error){_331=self.fail(r);}else{_331=self.succeed(r);}}}
catch(e){_331=self.fail(e);}
return _331;};MochiKit.Async.EXPORT=["AlreadyCalledError","CancelledError","BrowserComplianceError","GenericError","XMLHttpRequestError","Deferred","succeed","fail","getXMLHttpRequest","doSimpleXMLHttpRequest","loadJSONDoc","wait","callLater","sendXMLHttpRequest","DeferredLock","DeferredList","gatherResults","maybeDeferred","doXHR"];MochiKit.Async.EXPORT_OK=["evalJSONRequest"];MochiKit.Async.__new__=function(){var m=MochiKit.Base;var ne=m.partial(m._newNamedError,this);ne("AlreadyCalledError",function(_334){this.deferred=_334;});ne("CancelledError",function(_335){this.deferred=_335;});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.DOM");dojo.require("MochiKit.Base");}
if(typeof(JSAN)!="undefined"){JSAN.use("MochiKit.Base",[]);}
try{if(typeof(MochiKit.Base)=="undefined"){throw"";}}
catch(e){throw"MochiKit.DOM depends on MochiKit.Base!";}
if(typeof(MochiKit.DOM)=="undefined"){MochiKit.DOM={};}
MochiKit.DOM.NAME="MochiKit.DOM";MochiKit.DOM.VERSION="1.4";MochiKit.DOM.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]";};MochiKit.DOM.toString=function(){return this.__repr__();};MochiKit.DOM.EXPORT=["removeEmptyTextNodes","formContents","currentWindow","currentDocument","withWindow","withDocument","registerDOMConverter","coerceToDOM","createDOM","createDOMFunc","isChildNode","getNodeAttribute","removeNodeAttribute","setNodeAttribute","updateNodeAttributes","appendChildNodes","insertSiblingNodesAfter","insertSiblingNodesBefore","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","$","getElementsByTagAndClassName","addToCallStack","addLoadEvent","focusOnLoad","setElementClass","toggleElementClass","addElementClass","removeElementClass","swapElementClass","hasElementClass","escapeHTML","toHTML","emitHTML","scrapeText","isParent","getFirstParentByTagAndClassName","makeClipping","undoClipping","makePositioned","undoPositioned","getFirstElementByTagAndClassName"];MochiKit.DOM.EXPORT_OK=["domConverters"];MochiKit.DOM.DEPRECATED=[["computedStyle","MochiKit.Style.getStyle","1.4"],["elementDimensions","MochiKit.Style.getElementDimensions","1.4"],["elementPosition","MochiKit.Style.getElementPosition","1.4"],["hideElement","MochiKit.Style.hideElement","1.4"],["setElementDimensions","MochiKit.Style.setElementDimensions","1.4"],["setElementPosition","MochiKit.Style.setElementPosition","1.4"],["setDisplayForElement","MochiKit.Style.setDisplayForElement","1.4"],["setOpacity","MochiKit.Style.setOpacity","1.4"],["showElement","MochiKit.Style.showElement","1.4"],["Coordinates","MochiKit.Style.Coordinates","1.4"],["Dimensions","MochiKit.Style.Dimensions","1.4"]];MochiKit.DOM.getViewportDimensions=new Function(""+"if (!MochiKit[\"Style\"]) {"+"    throw new Error(\"This function has been deprecated and depends on MochiKit.Style.\");"+"}"+"return MochiKit.Style.getViewportDimensions.apply(this, arguments);");MochiKit.Base.update(MochiKit.DOM,{currentWindow:function(){return MochiKit.DOM._window;},currentDocument:function(){return MochiKit.DOM._document;},withWindow:function(win,func){var self=MochiKit.DOM;var _337=self._document;var _338=self._win;var rval;try{self._window=win;self._document=win.document;rval=func();}
catch(e){self._window=_338;self._document=_337;throw e;}
self._window=_338;self._document=_337;return rval;},formContents:function(elem){var _339=[];var _340=[];var m=MochiKit.Base;var self=MochiKit.DOM;if(typeof(elem)=="undefined"||elem===null){elem=self._document.body;}else{elem=self.getElement(elem);}
m.nodeWalk(elem,function(elem){var name=elem.name;if(m.isNotEmpty(name)){var _341=elem.tagName.toUpperCase();if(_341==="INPUT"&&(elem.type=="radio"||elem.type=="checkbox")&&!elem.checked){return null;}
if(_341==="SELECT"){if(elem.type=="select-one"){if(elem.selectedIndex>=0){var opt=elem.options[elem.selectedIndex];var v=opt.value;if(!v){var h=opt.outerHTML;if(h&&!h.match(/^[^>]+\svalue\s*=/i)){v=opt.text;}}
_339.push(name);_340.push(v);return null;}
_339.push(name);_340.push("");return null;}else{var opts=elem.options;if(!opts.length){_339.push(name);_340.push("");return null;}
for(var i=0;i<opts.length;i++){var opt=opts[i];if(!opt.selected){continue;}
var v=opt.value;if(!v){var h=opt.outerHTML;if(h&&!h.match(/^[^>]+\svalue\s*=/i)){v=opt.text;}}
_339.push(name);_340.push(v);}
return null;}}
if(_341==="FORM"||_341==="P"||_341==="SPAN"||_341==="DIV"){return elem.childNodes;}
_339.push(name);_340.push(elem.value||"");return null;}
return elem.childNodes;});return[_339,_340];},withDocument:function(doc,func){var self=MochiKit.DOM;var _345=self._document;var rval;try{self._document=doc;rval=func();}
catch(e){self._document=_345;throw e;}
self._document=_345;return rval;},registerDOMConverter:function(name,_346,wrap,_347){MochiKit.DOM.domConverters.register(name,_346,wrap,_347);},coerceToDOM:function(node,ctx){var m=MochiKit.Base;var im=MochiKit.Iter;var self=MochiKit.DOM;if(im){var iter=im.iter;var _351=im.repeat;var map=m.map;}
var _352=self.domConverters;var _353=arguments.callee;var _354=m.NotFound;while(true){if(typeof(node)=="undefined"||node===null){return null;}
if(typeof(node.nodeType)!="undefined"&&node.nodeType>0){return node;}
if(typeof(node)=="number"||typeof(node)=="boolean"){node=node.toString();}
if(typeof(node)=="string"){return self._document.createTextNode(node);}
if(typeof(node.__dom__)=="function"){node=node.__dom__(ctx);continue;}
if(typeof(node.dom)=="function"){node=node.dom(ctx);continue;}
if(typeof(node)=="function"){node=node.apply(ctx,[ctx]);continue;}
if(im){var _355=null;try{_355=iter(node);}
catch(e){}
if(_355){return map(_353,_355,_351(ctx));}}
try{node=_352.match(node,ctx);continue;}
catch(e){if(e!=_354){throw e;}}
return self._document.createTextNode(node.toString());}
return undefined;},isChildNode:function(node,_356){var self=MochiKit.DOM;if(typeof(node)=="string"){node=self.getElement(node);}
if(typeof(_356)=="string"){_356=self.getElement(_356);}
if(node===_356){return true;}
while(node&&node.tagName.toUpperCase()!="BODY"){node=node.parentNode;if(node===_356){return true;}}
return false;},setNodeAttribute:function(node,attr,_358){var o={};o[attr]=_358;try{return MochiKit.DOM.updateNodeAttributes(node,o);}
catch(e){}
return null;},getNodeAttribute:function(node,attr){var self=MochiKit.DOM;var _359=self.attributeArray.renames[attr];node=self.getElement(node);try{if(_359){return node[_359];}
return node.getAttribute(attr);}
catch(e){}
return null;},removeNodeAttribute:function(node,attr){var self=MochiKit.DOM;var _360=self.attributeArray.renames[attr];node=self.getElement(node);try{if(_360){return node[_360];}
return node.removeAttribute(attr);}
catch(e){}
return null;},updateNodeAttributes:function(node,_361){var elem=node;var self=MochiKit.DOM;if(typeof(node)=="string"){elem=self.getElement(node);}
if(_361){var _362=MochiKit.Base.updatetree;if(self.attributeArray.compliant){for(var k in _361){var v=_361[k];if(typeof(v)=="object"&&typeof(elem[k])=="object"){if(k=="style"&&MochiKit.Style){MochiKit.Style.setStyle(elem,v);}else{_362(elem[k],v);}}else{if(k.substring(0,2)=="on"){if(typeof(v)=="string"){v=new Function(v);}
elem[k]=v;}else{elem.setAttribute(k,v);}}}}else{var _363=self.attributeArray.renames;for(k in _361){v=_361[k];var _364=_363[k];if(k=="style"&&typeof(v)=="string"){elem.style.cssText=v;}else{if(typeof(_364)=="string"){elem[_364]=v;}else{if(typeof(elem[k])=="object"&&typeof(v)=="object"){if(k=="style"&&MochiKit.Style){MochiKit.Style.setStyle(elem,v);}else{_362(elem[k],v);}}else{if(k.substring(0,2)=="on"){if(typeof(v)=="string"){v=new Function(v);}
elem[k]=v;}else{elem.setAttribute(k,v);}}}}}}}
return elem;},appendChildNodes:function(node){var elem=node;var self=MochiKit.DOM;if(typeof(node)=="string"){elem=self.getElement(node);}
var _365=[self.coerceToDOM(MochiKit.Base.extend(null,arguments,1),elem)];var _366=MochiKit.Base.concat;while(_365.length){var n=_365.shift();if(typeof(n)=="undefined"||n===null){}else{if(typeof(n.nodeType)=="number"){elem.appendChild(n);}else{_365=_366(n,_365);}}}
return elem;},insertSiblingNodesBefore:function(node){var elem=node;var self=MochiKit.DOM;if(typeof(node)=="string"){elem=self.getElement(node);}
var _367=[self.coerceToDOM(MochiKit.Base.extend(null,arguments,1),elem)];var _368=elem.parentNode;var _369=MochiKit.Base.concat;while(_367.length){var n=_367.shift();if(typeof(n)=="undefined"||n===null){}else{if(typeof(n.nodeType)=="number"){_368.insertBefore(n,elem);}else{_367=_369(n,_367);}}}
return _368;},insertSiblingNodesAfter:function(node){var elem=node;var self=MochiKit.DOM;if(typeof(node)=="string"){elem=self.getElement(node);}
var _370=[self.coerceToDOM(MochiKit.Base.extend(null,arguments,1),elem)];if(elem.nextSibling){return self.insertSiblingNodesBefore(elem.nextSibling,_370);}else{return self.appendChildNodes(elem.parentNode,_370);}},replaceChildNodes:function(node){var elem=node;var self=MochiKit.DOM;if(typeof(node)=="string"){elem=self.getElement(node);arguments[0]=elem;}
var _371;while((_371=elem.firstChild)){elem.removeChild(_371);}
if(arguments.length<2){return elem;}else{return self.appendChildNodes.apply(this,arguments);}},createDOM:function(name,_372){var elem;var self=MochiKit.DOM;var m=MochiKit.Base;if(typeof(_372)=="string"||typeof(_372)=="number"){var args=m.extend([name,null],arguments,1);return arguments.callee.apply(this,args);}
if(typeof(name)=="string"){var _373=self._xhtml;if(_372&&!self.attributeArray.compliant){var _374="";if("name"in _372){_374+=" name=\""+self.escapeHTML(_372.name)+"\"";}
if(name=="input"&&"type"in _372){_374+=" type=\""+self.escapeHTML(_372.type)+"\"";}
if(_374){name="<"+name+_374+">";_373=false;}}
var d=self._document;if(_373&&d===document){elem=d.createElementNS("http://www.w3.org/1999/xhtml",name);}else{elem=d.createElement(name);}}else{elem=name;}
if(_372){self.updateNodeAttributes(elem,_372);}
if(arguments.length<=2){return elem;}else{var args=m.extend([elem],arguments,2);return self.appendChildNodes.apply(this,args);}},createDOMFunc:function(){var m=MochiKit.Base;return m.partial.apply(this,m.extend([MochiKit.DOM.createDOM],arguments));},removeElement:function(elem){var e=MochiKit.DOM.getElement(elem);e.parentNode.removeChild(e);return e;},swapDOM:function(dest,src){var self=MochiKit.DOM;dest=self.getElement(dest);var _377=dest.parentNode;if(src){src=self.getElement(src);_377.replaceChild(src,dest);}else{_377.removeChild(dest);}
return src;},getElement:function(id){var self=MochiKit.DOM;if(arguments.length==1){return((typeof(id)=="string")?self._document.getElementById(id):id);}else{return MochiKit.Base.map(self.getElement,arguments);}},getElementsByTagAndClassName:function(_379,_380,_381){var self=MochiKit.DOM;if(typeof(_379)=="undefined"||_379===null){_379="*";}
if(typeof(_381)=="undefined"||_381===null){_381=self._document;}
_381=self.getElement(_381);var _382=(_381.getElementsByTagName(_379)||self._document.all);if(typeof(_380)=="undefined"||_380===null){return MochiKit.Base.extend(null,_382);}
var _383=[];for(var i=0;i<_382.length;i++){var _384=_382[i];var cls=_384.className;if(!cls){continue;}
var _386=cls.split(" ");for(var j=0;j<_386.length;j++){if(_386[j]==_380){_383.push(_384);break;}}}
return _383;},_newCallStack:function(path,once){var rval=function(){var _389=arguments.callee.callStack;for(var i=0;i<_389.length;i++){if(_389[i].apply(this,arguments)===false){break;}}
if(once){try{this[path]=null;}
catch(e){}}};rval.callStack=[];return rval;},addToCallStack:function(_390,path,func,once){var self=MochiKit.DOM;var _391=_390[path];var _392=_391;if(!(typeof(_391)=="function"&&typeof(_391.callStack)=="object"&&_391.callStack!==null)){_392=self._newCallStack(path,once);if(typeof(_391)=="function"){_392.callStack.push(_391);}
_390[path]=_392;}
_392.callStack.push(func);},addLoadEvent:function(func){var self=MochiKit.DOM;self.addToCallStack(self._window,"onload",func,true);},focusOnLoad:function(_393){var self=MochiKit.DOM;self.addLoadEvent(function(){_393=self.getElement(_393);if(_393){_393.focus();}});},setElementClass:function(_394,_395){var self=MochiKit.DOM;var obj=self.getElement(_394);if(self.attributeArray.compliant){obj.setAttribute("class",_395);}else{obj.setAttribute("className",_395);}},toggleElementClass:function(_396){var self=MochiKit.DOM;for(var i=1;i<arguments.length;i++){var obj=self.getElement(arguments[i]);if(!self.addElementClass(obj,_396)){self.removeElementClass(obj,_396);}}},addElementClass:function(_397,_398){var self=MochiKit.DOM;var obj=self.getElement(_397);var cls=obj.className;if(cls==undefined||cls.length===0){self.setElementClass(obj,_398);return true;}
if(cls==_398){return false;}
var _399=cls.split(" ");for(var i=0;i<_399.length;i++){if(_399[i]==_398){return false;}}
self.setElementClass(obj,cls+" "+_398);return true;},removeElementClass:function(_400,_401){var self=MochiKit.DOM;var obj=self.getElement(_400);var cls=obj.className;if(cls==undefined||cls.length===0){return false;}
if(cls==_401){self.setElementClass(obj,"");return true;}
var _402=cls.split(" ");for(var i=0;i<_402.length;i++){if(_402[i]==_401){_402.splice(i,1);self.setElementClass(obj,_402.join(" "));return true;}}
return false;},swapElementClass:function(_403,_404,_405){var obj=MochiKit.DOM.getElement(_403);var res=MochiKit.DOM.removeElementClass(obj,_404);if(res){MochiKit.DOM.addElementClass(obj,_405);}
return res;},hasElementClass:function(_406,_407){var obj=MochiKit.DOM.getElement(_406);var cls=obj.className;if(!cls){return false;}
var _408=cls.split(" ");for(var i=1;i<arguments.length;i++){var good=false;for(var j=0;j<_408.length;j++){if(_408[j]==arguments[i]){good=true;break;}}
if(!good){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 _411=[dom];var self=MochiKit.DOM;var _412=self.escapeHTML;var _413=self.attributeArray;while(_411.length){dom=_411.pop();if(typeof(dom)=="string"){lst.push(dom);}else{if(dom.nodeType==1){lst.push("<"+dom.tagName.toLowerCase());var _414=[];var _415=_413(dom);for(var i=0;i<_415.length;i++){var a=_415[i];_414.push([" ",a.name,"=\"",_412(a.value),"\""]);}
_414.sort();for(i=0;i<_414.length;i++){var _416=_414[i];for(var j=0;j<_416.length;j++){lst.push(_416[j]);}}
if(dom.hasChildNodes()){lst.push(">");_411.push("</"+dom.tagName.toLowerCase()+">");var _417=dom.childNodes;for(i=_417.length-1;i>=0;i--){_411.push(_417[i]);}}else{lst.push("/>");}}else{if(dom.nodeType==3){lst.push(_412(dom.nodeValue));}}}}
return lst;},scrapeText:function(node,_418){var rval=[];(function(node){var cn=node.childNodes;if(cn){for(var i=0;i<cn.length;i++){arguments.callee.call(this,cn[i]);}}
var _420=node.nodeValue;if(typeof(_420)=="string"){rval.push(_420);}})(MochiKit.DOM.getElement(node));if(_418){return rval;}else{return rval.join("");}},removeEmptyTextNodes:function(_421){_421=MochiKit.DOM.getElement(_421);for(var i=0;i<_421.childNodes.length;i++){var node=_421.childNodes[i];if(node.nodeType==3&&!/\S/.test(node.nodeValue)){node.parentNode.removeChild(node);}}},makeClipping:function(_422){_422=MochiKit.DOM.getElement(_422);var _423=_422.style.overflow;if((MochiKit.Style.getStyle(_422,"overflow")||"visible")!="hidden"){_422.style.overflow="hidden";}
return _423;},undoClipping:function(_424,_425){_424=MochiKit.DOM.getElement(_424);if(!_425){return;}
_424.style.overflow=_425;},makePositioned:function(_426){_426=MochiKit.DOM.getElement(_426);var pos=MochiKit.Style.getStyle(_426,"position");if(pos=="static"||!pos){_426.style.position="relative";if(/Opera/.test(navigator.userAgent)){_426.style.top=0;_426.style.left=0;}}},undoPositioned:function(_428){_428=MochiKit.DOM.getElement(_428);if(_428.style.position=="relative"){_428.style.position=_428.style.top=_428.style.left=_428.style.bottom=_428.style.right="";}},getFirstElementByTagAndClassName:function(_429,_430,_431){var self=MochiKit.DOM;if(typeof(_429)=="undefined"||_429===null){_429="*";}
if(typeof(_431)=="undefined"||_431===null){_431=self._document;}
_431=self.getElement(_431);var _432=(_431.getElementsByTagName(_429)||self._document.all);if(typeof(_430)=="undefined"||_430===null){return _432[0];}
for(var i=0;i<_432.length;i++){var _433=_432[i];var _434=_433.className.split(" ");for(var j=0;j<_434.length;j++){if(_434[j]==_430){return _433;}}}},getFirstParentByTagAndClassName:function(elem,_435,_436){var self=MochiKit.DOM;elem=self.getElement(elem);if(typeof(_435)=="undefined"||_435===null){_435="*";}else{_435=_435.toUpperCase();}
if(typeof(_436)=="undefined"||_436===null){_436=null;}
var _437="";var _438="";while(elem&&elem.tagName){elem=elem.parentNode;if(_435=="*"&&_436===null){return elem;}
_437=elem.className.split(" ");_438=elem.tagName.toUpperCase();if(_436===null&&_435==_438){return elem;}else{if(_436!==null){for(var i=0;i<_437.length;i++){if(_435=="*"&&_437[i]==_436){return elem;}else{if(_435==_438&&_437[i]==_436){return elem;}}}}}}
return elem;},isParent:function(_439,_440){if(!_439.parentNode||_439==_440){return false;}
if(_439.parentNode==_440){return true;}
return MochiKit.DOM.isParent(_439.parentNode,_440);},__new__:function(win){var m=MochiKit.Base;if(typeof(document)!="undefined"){this._document=document;var _441="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";this._xhtml=(document.documentElement&&document.createElementNS&&document.documentElement.namespaceURI===_441);}else{if(MochiKit.MockDOM){this._document=MochiKit.MockDOM.document;}}
this._window=win;this.domConverters=new m.AdapterRegistry();var _442=this._document.createElement("span");var _443;if(_442&&_442.attributes&&_442.attributes.length>0){var _444=m.filter;_443=function(node){return _444(_443.ignoreAttrFilter,node.attributes);};_443.ignoreAttr={};var _445=_442.attributes;var _446=_443.ignoreAttr;for(var i=0;i<_445.length;i++){var a=_445[i];_446[a.name]=a.value;}
_443.ignoreAttrFilter=function(a){return(_443.ignoreAttr[a.name]!=a.value);};_443.compliant=false;_443.renames={"class":"className","checked":"defaultChecked","usemap":"useMap","for":"htmlFor","readonly":"readOnly","colspan":"colSpan","bgcolor":"bgColor"};}else{_443=function(node){return node.attributes;};_443.compliant=true;_443.renames={};}
this.attributeArray=_443;var _447=function(_448,arr){var _449=arr[1].split(".");var str="";var obj={};str+="if (!MochiKit."+_449[1]+") { throw new Error(\"";str+="This function has been deprecated and depends on MochiKit.";str+=_449[1]+".\");}";str+="return MochiKit."+_449[1]+"."+arr[0];str+=".apply(this, arguments);";obj[_449[2]]=new Function(str);MochiKit.Base.update(MochiKit[_448],obj);};for(var i;i<MochiKit.DOM.DEPRECATED.length;i++){_447("DOM",MochiKit.DOM.DEPRECATED[i]);}
var _450=this.createDOMFunc;this.UL=_450("ul");this.OL=_450("ol");this.LI=_450("li");this.TD=_450("td");this.TR=_450("tr");this.TBODY=_450("tbody");this.THEAD=_450("thead");this.TFOOT=_450("tfoot");this.TABLE=_450("table");this.TH=_450("th");this.INPUT=_450("input");this.SPAN=_450("span");this.A=_450("a");this.DIV=_450("div");this.IMG=_450("img");this.BUTTON=_450("button");this.TT=_450("tt");this.PRE=_450("pre");this.H1=_450("h1");this.H2=_450("h2");this.H3=_450("h3");this.BR=_450("br");this.HR=_450("hr");this.LABEL=_450("label");this.TEXTAREA=_450("textarea");this.FORM=_450("form");this.P=_450("p");this.SELECT=_450("select");this.OPTION=_450("option");this.OPTGROUP=_450("optgroup");this.LEGEND=_450("legend");this.FIELDSET=_450("fieldset");this.STRONG=_450("strong");this.CANVAS=_450("canvas");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.__export__){withWindow=MochiKit.DOM.withWindow;withDocument=MochiKit.DOM.withDocument;}
MochiKit.Base._exportSymbols(this,MochiKit.DOM);if(typeof(dojo)!="undefined"){dojo.provide("MochiKit.Selector");dojo.require("MochiKit.Base");dojo.require("MochiKit.DOM");dojo.require("MochiKit.Iter");}
if(typeof(JSAN)!="undefined"){JSAN.use("MochiKit.Base",[]);JSAN.use("MochiKit.DOM",[]);JSAN.use("MochiKit.Iter",[]);}
try{if(typeof(MochiKit.Base)==="undefined"||typeof(MochiKit.DOM)==="undefined"||typeof(MochiKit.Iter)==="undefined"){throw"";}}
catch(e){throw"MochiKit.Selector depends on MochiKit.Base, MochiKit.DOM and MochiKit.Iter!";}
if(typeof(MochiKit.Selector)=="undefined"){MochiKit.Selector={};}
MochiKit.Selector.NAME="MochiKit.Selector";MochiKit.Selector.VERSION="1.4";MochiKit.Selector.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]";};MochiKit.Selector.toString=function(){return this.__repr__();};MochiKit.Selector.Selector=function(_451){this.params={classNames:[],pseudoClassNames:[]};this.expression=_451.toString().replace(/(^\s+|\s+$)/g,"");this.parseExpression();this.compileMatcher();};MochiKit.Selector.Selector.prototype={__class__:MochiKit.Selector.Selector,parseExpression:function(){function abort(_452){throw"Parse error in selector: "+_452;}
if(this.expression==""){abort("empty expression");}
var repr=MochiKit.Base.repr;var _454=this.params;var expr=this.expression;var _456,modifier,clause,rest;while(_456=expr.match(/^(.*)\[([a-z0-9_:-]+?)(?:([~\|!^$*]?=)(?:"([^"]*)"|([^\]\s]*)))?\]$/i)){_454.attributes=_454.attributes||[];_454.attributes.push({name:_456[2],operator:_456[3],value:_456[4]||_456[5]||""});expr=_456[1];}
if(expr=="*"){return this.params.wildcard=true;}
while(_456=expr.match(/^([^a-z0-9_-])?([a-z0-9_-]+(?:\([^)]*\))?)(.*)/i)){modifier=_456[1];clause=_456[2];rest=_456[3];switch(modifier){case"#":_454.id=clause;break;case".":_454.classNames.push(clause);break;case":":_454.pseudoClassNames.push(clause);break;case"":case undefined:_454.tagName=clause.toUpperCase();break;default:abort(repr(expr));}
expr=rest;}
if(expr.length>0){abort(repr(expr));}},buildMatchExpression:function(){var repr=MochiKit.Base.repr;var _457=this.params;var _458=[];var _459,i;function childElements(_460){return"MochiKit.Base.filter(function (node) { return node.nodeType == 1; }, "+_460+".childNodes)";}
if(_457.wildcard){_458.push("true");}
if(_459=_457.id){_458.push("element.id == "+repr(_459));}
if(_459=_457.tagName){_458.push("element.tagName.toUpperCase() == "+repr(_459));}
if((_459=_457.classNames).length>0){for(i=0;i<_459.length;i++){_458.push("MochiKit.DOM.hasElementClass(element, "+repr(_459[i])+")");}}
if((_459=_457.pseudoClassNames).length>0){for(i=0;i<_459.length;i++){var _461=_459[i].match(/^([^(]+)(?:\((.*)\))?$/);var _462=_461[1];var _463=_461[2];switch(_462){case"root":_458.push("element.nodeType == 9 || element === element.ownerDocument.documentElement");break;case"nth-child":case"nth-last-child":case"nth-of-type":case"nth-last-of-type":_461=_463.match(/^((?:(\d+)n\+)?(\d+)|odd|even)$/);if(!_461){throw"Invalid argument to pseudo element nth-child: "+_463;}
var a,b;if(_461[0]=="odd"){a=2;b=1;}else{if(_461[0]=="even"){a=2;b=0;}else{a=_461[2]&&parseInt(_461)||null;b=parseInt(_461[3]);}}
_458.push("this.nthChild(element,"+a+","+b+","+!!_462.match("^nth-last")+","+!!_462.match("of-type$")+")");break;case"first-child":_458.push("this.nthChild(element, null, 1)");break;case"last-child":_458.push("this.nthChild(element, null, 1, true)");break;case"first-of-type":_458.push("this.nthChild(element, null, 1, false, true)");break;case"last-of-type":_458.push("this.nthChild(element, null, 1, true, true)");break;case"only-child":_458.push(childElements("element.parentNode")+".length == 1");break;case"only-of-type":_458.push("MochiKit.Base.filter(function (node) { return node.tagName == element.tagName; }, "+childElements("element.parentNode")+").length == 1");break;case"empty":_458.push("element.childNodes.length == 0");break;case"enabled":_458.push("(this.isUIElement(element) && element.disabled === false)");break;case"disabled":_458.push("(this.isUIElement(element) && element.disabled === true)");break;case"checked":_458.push("(this.isUIElement(element) && element.checked === true)");break;case"not":var _464=new MochiKit.Selector.Selector(_463);_458.push("!( "+_464.buildMatchExpression()+")");break;}}}
if(_459=_457.attributes){MochiKit.Base.map(function(_465){var _466="MochiKit.DOM.getNodeAttribute(element, "+repr(_465.name)+")";var _467=function(_468){return _466+" && "+_466+".split("+repr(_468)+")";};switch(_465.operator){case"=":_458.push(_466+" == "+repr(_465.value));break;case"~=":_458.push("MochiKit.Base.findValue("+_467(" ")+", "+repr(_465.value)+") > -1");break;case"^=":_458.push(_466+".substring(0, "+_465.value.length+") == "+repr(_465.value));break;case"$=":_458.push(_466+".substring("+_466+".length - "+_465.value.length+") == "+repr(_465.value));break;case"*=":_458.push(_466+".match("+repr(_465.value)+")");break;case"|=":_458.push(_467("-")+"[0].toUpperCase() == "+repr(_465.value.toUpperCase()));break;case"!=":_458.push(_466+" != "+repr(_465.value));break;case"":case undefined:_458.push(_466+" != null");break;default:throw"Unknown operator "+_465.operator+" in selector";}},_459);}
return _458.join(" && ");},compileMatcher:function(){this.match=new Function("element","if (!element.tagName) return false;                 return "+this.buildMatchExpression());},nthChild:function(_469,a,b,_470,_471){var _472=MochiKit.Base.filter(function(node){return node.nodeType==1;},_469.parentNode.childNodes);if(_471){_472=MochiKit.Base.filter(function(node){return node.tagName==_469.tagName;},_472);}
if(_470){_472=MochiKit.Iter.reversed(_472);}
if(a){var _473=MochiKit.Base.findIdentical(_472,_469);return((_473+1-b)/a)%1==0;}else{return b==MochiKit.Base.findIdentical(_472,_469)+1;}},isUIElement:function(_474){return findValue(["input","button","select","option","textarea","object"],_474.tagName.toLowerCase())>-1;},findElements:function(_475,axis){var _477;if(axis==undefined){axis="";}
function inScope(_477,_475){if(axis==""){return MochiKit.DOM.isChildNode(_477,_475);}else{if(axis==">"){return _477.parentNode==_475;}else{if(axis=="+"){return _477==nextSiblingElement(_475);}else{if(axis=="~"){var _478=_475;while(_478=nextSiblingElement(_478)){if(_477==_478){return true;}}
return false;}else{throw"Invalid axis: "+axis;}}}}}
if(element=MochiKit.DOM.getElement(this.params.id)){if(this.match(element)){if(!scope||inScope(element,scope)){return[element];}}}
function nextSiblingElement(node){node=node.nextSibling;while(node&&node.nodeType!=1){node=node.nextSibling;}
return node;}
if(axis==""){scope=(scope||currentDocument()).getElementsByTagName(this.params.tagName||"*");}else{if(axis==">"){if(!scope){throw"> combinator not allowed without preceeding expression";}
scope=MochiKit.Base.filter(function(node){return node.nodeType==1;},scope.childNodes);}else{if(axis=="+"){if(!scope){throw"+ combinator not allowed without preceeding expression";}
scope=nextSiblingElement(scope)&&[nextSiblingElement(scope)];}else{if(axis=="~"){if(!scope){throw"~ combinator not allowed without preceeding expression";}
var _479=[];while(nextSiblingElement(scope)){scope=nextSiblingElement(scope);_479.push(scope);}
scope=_479;}}}}
if(!scope){return[];}
var _480=MochiKit.Base.filter(MochiKit.Base.bind(function(_481){return this.match(_481);},this),scope);return _480;},repr:function(){return"Selector("+this.expression+")";},toString:MochiKit.Base.forwardCall("repr")};MochiKit.Base.update(MochiKit.Selector,{findChildElements:function(_482,_483){return MochiKit.Base.flattenArray(MochiKit.Base.map(function(_484){var _485="";return MochiKit.Iter.reduce(function(_486,expr){if(match=expr.match(/^[>+~]$/)){_485=match[0];return _486;}else{var _487=new MochiKit.Selector.Selector(expr);var _488=MochiKit.Iter.reduce(function(_488,_489){return MochiKit.Base.extend(_488,_487.findElements(_489||_482,_485));},_486,[]);_485="";return elements;}},_484.replace(/(^\s+|\s+$)/g,"").split(/\s+/),[null]);},_483));}});function $$(){return MochiKit.Selector.findChildElements(MochiKit.DOM.currentDocument(),arguments);}
if(typeof(dojo)!="undefined"){dojo.provide("MochiKit.Style");dojo.require("MochiKit.Base");dojo.require("MochiKit.DOM");}
if(typeof(JSAN)!="undefined"){JSAN.use("MochiKit.Base",[]);}
try{if(typeof(MochiKit.Base)=="undefined"){throw"";}}
catch(e){throw"MochiKit.Style depends on MochiKit.Base!";}
try{if(typeof(MochiKit.DOM)=="undefined"){throw"";}}
catch(e){throw"MochiKit.Style depends on MochiKit.DOM!";}
if(typeof(MochiKit.Style)=="undefined"){MochiKit.Style={};}
MochiKit.Style.NAME="MochiKit.Style";MochiKit.Style.VERSION="1.4";MochiKit.Style.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]";};MochiKit.Style.toString=function(){return this.__repr__();};MochiKit.Style.EXPORT_OK=[];MochiKit.Style.EXPORT=["setStyle","setOpacity","getStyle","getElementDimensions","elementDimensions","setElementDimensions","getElementPosition","elementPosition","setElementPosition","setDisplayForElement","hideElement","showElement","getViewportDimensions","getViewportPosition","Dimensions","Coordinates"];MochiKit.Style.Dimensions=function(w,h){this.w=w;this.h=h;};MochiKit.Style.Dimensions.prototype.__repr__=function(){var repr=MochiKit.Base.repr;return"{w: "+repr(this.w)+", h: "+repr(this.h)+"}";};MochiKit.Style.Dimensions.prototype.toString=function(){return this.__repr__();};MochiKit.Style.Coordinates=function(x,y){this.x=x;this.y=y;};MochiKit.Style.Coordinates.prototype.__repr__=function(){var repr=MochiKit.Base.repr;return"{x: "+repr(this.x)+", y: "+repr(this.y)+"}";};MochiKit.Style.Coordinates.prototype.toString=function(){return this.__repr__();};MochiKit.Base.update(MochiKit.Style,{getStyle:function(elem,_492){var dom=MochiKit.DOM;var d=dom._document;elem=dom.getElement(elem);_492=MochiKit.Base.camelize(_492);if(!elem||elem==d){return undefined;}
if(_492=="opacity"&&elem.filters){var _493;if(_493=(MochiKit.Style.getStyle(elem,"filter")||"").match(/alpha\(opacity=(.*)\)/)){if(_493[1]){return parseFloat(_493[1])/100;}}
return 1;}
var _494=elem.style?elem.style[_492]:null;if(!_494){if(d.defaultView&&d.defaultView.getComputedStyle){var css=d.defaultView.getComputedStyle(elem,null);_492=_492.replace(/([A-Z])/g,"-$1").toLowerCase();_494=css?css.getPropertyValue(_492):null;}else{if(elem.currentStyle){_494=elem.currentStyle[_492];}}}
if(_492=="opacity"){_494=parseFloat(_494);}
if(/Opera/.test(navigator.userAgent)&&(MochiKit.Base.find(["left","top","right","bottom"],_492)!=-1)){if(MochiKit.Style.getStyle(elem,"position")=="static"){_494="auto";}}
return _494=="auto"?null:_494;},setStyle:function(elem,_496){elem=MochiKit.DOM.getElement(elem);for(name in _496){if(name=="opacity"){MochiKit.Style.setOpacity(elem,_496[name]);}else{elem.style[MochiKit.Base.camelize(name)]=_496[name];}}},setOpacity:function(elem,o){elem=MochiKit.DOM.getElement(elem);var self=MochiKit.Style;if(o==1){var _497=/Gecko/.test(navigator.userAgent)&&!(/Konqueror|Safari|KHTML/.test(navigator.userAgent));elem.style[name]=_497?0.999999:1;if(/MSIE/.test(navigator.userAgent)){elem.style["filter"]=self.getStyle(elem,"filter").replace(/alpha\([^\)]*\)/gi,"");}}else{if(o<0.00001){o=0;}
elem.style[name]=o;if(/MSIE/.test(navigator.userAgent)){elem.style["filter"]=self.getStyle(elem,"filter").replace(/alpha\([^\)]*\)/gi,"")+"alpha(opacity="+o*100+")";}}},getElementPosition:function(elem,_498){var self=MochiKit.Style;var dom=MochiKit.DOM;elem=dom.getElement(elem);if(!elem||(!(elem.x&&elem.y)&&(!elem.parentNode==null||self.getStyle(elem,"display")=="none"))){return undefined;}
var c=new self.Coordinates(0,0);var box=null;var _501=null;var d=MochiKit.DOM._document;var de=d.documentElement;var b=d.body;if(!elem.parentNode&&elem.x&&elem.y){c.x+=elem.x||0;c.y+=elem.y||0;}else{if(elem.getBoundingClientRect){box=elem.getBoundingClientRect();c.x+=box.left+(de.scrollLeft||b.scrollLeft)-(de.clientLeft||0);c.y+=box.top+(de.scrollTop||b.scrollTop)-(de.clientTop||0);}else{if(elem.offsetParent){c.x+=elem.offsetLeft;c.y+=elem.offsetTop;_501=elem.offsetParent;if(_501!=elem){while(_501){c.x+=_501.offsetLeft;c.y+=_501.offsetTop;_501=_501.offsetParent;}}
var ua=navigator.userAgent.toLowerCase();if((typeof(opera)!="undefined"&&parseFloat(opera.version())<9)||(ua.indexOf("safari")!=-1&&self.getStyle(elem,"position")=="absolute")){c.x-=b.offsetLeft;c.y-=b.offsetTop;}}}}
if(typeof(_498)!="undefined"){_498=arguments.callee(_498);if(_498){c.x-=(_498.x||0);c.y-=(_498.y||0);}}
if(elem.parentNode){_501=elem.parentNode;}else{_501=null;}
while(_501){var _504=_501.tagName.toUpperCase();if(_504==="BODY"||_504==="HTML"){break;}
c.x-=_501.scrollLeft;c.y-=_501.scrollTop;if(_501.parentNode){_501=_501.parentNode;}else{_501=null;}}
return c;},setElementPosition:function(elem,_505,_506){elem=MochiKit.DOM.getElement(elem);if(typeof(_506)=="undefined"){_506="px";}
var _507={};var _508=MochiKit.Base.isUndefinedOrNull;if(!_508(_505.x)){_507["left"]=_505.x+_506;}
if(!_508(_505.y)){_507["top"]=_505.y+_506;}
MochiKit.DOM.updateNodeAttributes(elem,{"style":_507});},getElementDimensions:function(elem){var self=MochiKit.Style;var dom=MochiKit.DOM;if(typeof(elem.w)=="number"||typeof(elem.h)=="number"){return new self.Dimensions(elem.w||0,elem.h||0);}
elem=dom.getElement(elem);if(!elem){return undefined;}
var disp=self.getStyle(elem,"display");if(disp!="none"&&disp!=""&&typeof(disp)!="undefined"){return new self.Dimensions(elem.offsetWidth||0,elem.offsetHeight||0);}
var s=elem.style;var _510=s.visibility;var _511=s.position;s.visibility="hidden";s.position="absolute";s.display="";var _512=elem.offsetWidth;var _513=elem.offsetHeight;s.display="none";s.position=_511;s.visibility=_510;return new self.Dimensions(_512,_513);},setElementDimensions:function(elem,_514,_515){elem=MochiKit.DOM.getElement(elem);if(typeof(_515)=="undefined"){_515="px";}
var _516={};var _517=MochiKit.Base.isUndefinedOrNull;if(!_517(_514.w)){_516["width"]=_514.w+_515;}
if(!_517(_514.h)){_516["height"]=_514.h+_515;}
MochiKit.DOM.updateNodeAttributes(elem,{"style":_516});},setDisplayForElement:function(_518,_519){var _520=MochiKit.Base.extend(null,arguments,1);var _521=MochiKit.DOM.getElement;for(var i=0;i<_520.length;i++){var _519=_521(_520[i]);if(_519){_519.style.display=_518;}}},getViewportDimensions:function(){var d=new MochiKit.Style.Dimensions();var w=MochiKit.DOM._window;var b=MochiKit.DOM._document.body;if(w.innerWidth){d.w=w.innerWidth;d.h=w.innerHeight;}else{if(b.parentElement.clientWidth){d.w=b.parentElement.clientWidth;d.h=b.parentElement.clientHeight;}else{if(b&&b.clientWidth){d.w=b.clientWidth;d.h=b.clientHeight;}}}
return d;},getViewportPosition:function(){var c=new MochiKit.Style.Coordinates(0,0);var d=MochiKit.DOM._document;var de=d.documentElement;var db=d.body;if(de&&(de.scrollTop||de.scrollLeft)){c.x=de.scrollLeft;c.y=de.scrollTop;}else{if(db){c.x=db.scrollLeft;c.y=db.scrollTop;}}
return c;},__new__:function(){var m=MochiKit.Base;this.elementPosition=this.getElementPosition;this.elementDimensions=this.getElementDimensions;this.hideElement=m.partial(this.setDisplayForElement,"none");this.showElement=m.partial(this.setDisplayForElement,"block");this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};m.nameFunctions(this);}});MochiKit.Style.__new__();MochiKit.Base._exportSymbols(this,MochiKit.Style);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.4";MochiKit.LoggingPane.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]";};MochiKit.LoggingPane.toString=function(){return this.__repr__();};MochiKit.LoggingPane.createLoggingPane=function(_523){var m=MochiKit.LoggingPane;_523=!(!_523);if(m._loggingPane&&m._loggingPane.inline!=_523){m._loggingPane.closePane();m._loggingPane=null;}
if(!m._loggingPane||m._loggingPane.closed){m._loggingPane=new m.LoggingPane(_523,MochiKit.Logging.logger);}
return m._loggingPane;};MochiKit.LoggingPane.LoggingPane=function(_524,_525){if(typeof(_525)=="undefined"||_525===null){_525=MochiKit.Logging.logger;}
this.logger=_525;var _526=MochiKit.Base.update;var _527=MochiKit.Base.updatetree;var bind=MochiKit.Base.bind;var _528=MochiKit.Base.clone;var win=window;var uid="_MochiKit_LoggingPane";if(typeof(MochiKit.DOM)!="undefined"){win=MochiKit.DOM.currentWindow();}
if(!_524){var url=win.location.href.split("?")[0].replace(/[#:\/.><&-]/g,"_");var name=uid+"_"+url;var nwin=win.open("",name,"dependent,resizable,height=200");if(!nwin){alert("Not able to open debugging window due to pop-up blocking.");return undefined;}
nwin.document.write("<!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>");nwin.document.close();nwin.document.title+=" "+win.document.title;win=nwin;}
var doc=win.document;this.doc=doc;var _531=doc.getElementById(uid);var _532=!!_531;if(_531&&typeof(_531.loggingPane)!="undefined"){_531.loggingPane.logger=this.logger;_531.loggingPane.buildAndApplyFilter();return _531.loggingPane;}
if(_532){var _533;while((_533=_531.firstChild)){_531.removeChild(_533);}}else{_531=doc.createElement("div");_531.id=uid;}
_531.loggingPane=this;var _534=doc.createElement("input");var _535=doc.createElement("input");var _536=doc.createElement("button");var _537=doc.createElement("button");var _538=doc.createElement("button");var _539=doc.createElement("button");var _540=doc.createElement("div");var _541=doc.createElement("div");var _542=uid+"_Listener";this.colorTable=_528(this.colorTable);var _543=[];var _544=null;var _545=function(msg){var _546=msg.level;if(typeof(_546)=="number"){_546=MochiKit.Logging.LogLevel[_546];}
return _546;};var _547=function(msg){return msg.info.join(" ");};var _548=bind(function(msg){var _549=_545(msg);var text=_547(msg);var c=this.colorTable[_549];var p=doc.createElement("span");p.className="MochiKit-LogMessage MochiKit-LogLevel-"+_549;p.style.cssText="margin: 0px; white-space: -moz-pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; white-space: pre-line; word-wrap: break-word; wrap-option: emergency; color: "+c;p.appendChild(doc.createTextNode(_549+": "+text));_541.appendChild(p);_541.appendChild(doc.createElement("br"));if(_540.offsetHeight>_540.scrollHeight){_540.scrollTop=0;}else{_540.scrollTop=_540.scrollHeight;}},this);var _551=function(msg){_543[_543.length]=msg;_548(msg);};var _552=function(){var _553,infore;try{_553=new RegExp(_534.value);infore=new RegExp(_535.value);}
catch(e){logDebug("Error in filter regex: "+e.message);return null;}
return function(msg){return(_553.test(_545(msg))&&infore.test(_547(msg)));};};var _554=function(){while(_541.firstChild){_541.removeChild(_541.firstChild);}};var _555=function(){_543=[];_554();};var _556=bind(function(){if(this.closed){return;}
this.closed=true;if(MochiKit.LoggingPane._loggingPane==this){MochiKit.LoggingPane._loggingPane=null;}
this.logger.removeListener(_542);try{try{_531.loggingPane=null;}
catch(e){logFatal("Bookmarklet was closed incorrectly.");}
if(_524){_531.parentNode.removeChild(_531);}else{this.win.close();}}
catch(e){}},this);var _557=function(){_554();for(var i=0;i<_543.length;i++){var msg=_543[i];if(_544===null||_544(msg)){_548(msg);}}};this.buildAndApplyFilter=function(){_544=_552();_557();this.logger.removeListener(_542);this.logger.addListener(_542,_544,_551);};var _558=bind(function(){_543=this.logger.getMessages();_557();},this);var _559=bind(function(_560){_560=_560||window.event;key=_560.which||_560.keyCode;if(key==13){this.buildAndApplyFilter();}},this);var _561="display: block; z-index: 1000; left: 0px; bottom: 0px; position: fixed; width: 100%; background-color: white; font: "+this.logFont;if(_524){_561+="; height: 10em; border-top: 2px solid black";}else{_561+="; height: 100%;";}
_531.style.cssText=_561;if(!_532){doc.body.appendChild(_531);}
_561={"cssText":"width: 33%; display: inline; font: "+this.logFont};_527(_534,{"value":"FATAL|ERROR|WARNING|INFO|DEBUG","onkeypress":_559,"style":_561});_531.appendChild(_534);_527(_535,{"value":".*","onkeypress":_559,"style":_561});_531.appendChild(_535);_561="width: 8%; display:inline; font: "+this.logFont;_536.appendChild(doc.createTextNode("Filter"));_536.onclick=bind("buildAndApplyFilter",this);_536.style.cssText=_561;_531.appendChild(_536);_537.appendChild(doc.createTextNode("Load"));_537.onclick=_558;_537.style.cssText=_561;_531.appendChild(_537);_538.appendChild(doc.createTextNode("Clear"));_538.onclick=_555;_538.style.cssText=_561;_531.appendChild(_538);_539.appendChild(doc.createTextNode("Close"));_539.onclick=_556;_539.style.cssText=_561;_531.appendChild(_539);_540.style.cssText="overflow: auto; width: 100%";_541.style.cssText="width: 100%; height: "+(_524?"8em":"100%");_540.appendChild(_541);_531.appendChild(_540);this.buildAndApplyFilter();_558();if(_524){this.win=undefined;}else{this.win=win;}
this.inline=_524;this.closePane=_556;this.closed=false;return this;};MochiKit.LoggingPane.LoggingPane.prototype={"logFont":"8pt Verdana,sans-serif","colorTable":{"ERROR":"red","FATAL":"darkred","WARNING":"blue","INFO":"black","DEBUG":"green"}};MochiKit.LoggingPane.EXPORT_OK=["LoggingPane"];MochiKit.LoggingPane.EXPORT=["createLoggingPane"];MochiKit.LoggingPane.__new__=function(){this.EXPORT_TAGS={":common":this.EXPORT,":all":MochiKit.Base.concat(this.EXPORT,this.EXPORT_OK)};MochiKit.Base.nameFunctions(this);MochiKit.LoggingPane._loggingPane=null;};MochiKit.LoggingPane.__new__();MochiKit.Base._exportSymbols(this,MochiKit.LoggingPane);if(typeof(dojo)!="undefined"){dojo.provide("MochiKit.Color");dojo.require("MochiKit.Base");dojo.require("MochiKit.DOM");dojo.require("MochiKit.Style");}
if(typeof(JSAN)!="undefined"){JSAN.use("MochiKit.Base",[]);JSAN.use("MochiKit.DOM",[]);JSAN.use("MochiKit.Style",[]);}
try{if(typeof(MochiKit.Base)=="undefined"){throw"";}}
catch(e){throw"MochiKit.Color depends on MochiKit.Base";}
try{if(typeof(MochiKit.Base)=="undefined"){throw"";}}
catch(e){throw"MochiKit.Color depends on MochiKit.DOM";}
try{if(typeof(MochiKit.Base)=="undefined"){throw"";}}
catch(e){throw"MochiKit.Color depends on MochiKit.Style";}
if(typeof(MochiKit.Color)=="undefined"){MochiKit.Color={};}
MochiKit.Color.NAME="MochiKit.Color";MochiKit.Color.VERSION="1.4";MochiKit.Color.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]";};MochiKit.Color.toString=function(){return this.__repr__();};MochiKit.Color.Color=function(red,_563,blue,_565){if(typeof(_565)=="undefined"||_565===null){_565=1;}
this.rgb={r:red,g:_563,b:blue,a:_565};};MochiKit.Color.Color.prototype={__class__:MochiKit.Color.Color,colorWithAlpha:function(_566){var rgb=this.rgb;var m=MochiKit.Color;return m.Color.fromRGB(rgb.r,rgb.g,rgb.b,_566);},colorWithHue:function(hue){var hsl=this.asHSL();hsl.h=hue;var m=MochiKit.Color;return m.Color.fromHSL(hsl);},colorWithSaturation:function(_570){var hsl=this.asHSL();hsl.s=_570;var m=MochiKit.Color;return m.Color.fromHSL(hsl);},colorWithLightness:function(_571){var hsl=this.asHSL();hsl.l=_571;var m=MochiKit.Color;return m.Color.fromHSL(hsl);},darkerColorWithLevel:function(_572){var hsl=this.asHSL();hsl.l=Math.max(hsl.l-_572,0);var m=MochiKit.Color;return m.Color.fromHSL(hsl);},lighterColorWithLevel:function(_573){var hsl=this.asHSL();hsl.l=Math.min(hsl.l+_573,1);var m=MochiKit.Color;return m.Color.fromHSL(hsl);},blendedColor:function(_574,_575){if(typeof(_575)=="undefined"||_575===null){_575=0.5;}
var sf=1-_575;var s=this.rgb;var d=_574.rgb;var df=_575;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(_578){var a=this.asRGB();var b=_578.asRGB();return MochiKit.Base.compare([a.r,a.g,a.b,a.a],[b.r,b.g,b.b,b.a]);},isLight:function(){return this.asHSL().b>0.5;},isDark:function(){return(!this.isLight());},toHSLString:function(){var c=this.asHSL();var ccc=MochiKit.Color.clampColorComponent;var rval=this._hslString;if(!rval){var mid=(ccc(c.h,360).toFixed(0)+","+ccc(c.s,100).toPrecision(4)+"%"+","+ccc(c.l,100).toPrecision(4)+"%");var a=c.a;if(a>=1){a=1;rval="hsl("+mid+")";}else{if(a<=0){a=0;}
rval="hsla("+mid+","+a+")";}
this._hslString=rval;}
return rval;},toRGBString:function(){var c=this.rgb;var ccc=MochiKit.Color.clampColorComponent;var rval=this._rgbString;if(!rval){var mid=(ccc(c.r,255).toFixed(0)+","+ccc(c.g,255).toFixed(0)+","+ccc(c.b,255).toFixed(0));if(c.a!=1){rval="rgba("+mid+","+c.a+")";}else{rval="rgb("+mid+")";}
this._rgbString=rval;}
return rval;},asRGB:function(){return MochiKit.Base.clone(this.rgb);},toHexString:function(){var m=MochiKit.Color;var c=this.rgb;var ccc=MochiKit.Color.clampColorComponent;var rval=this._hexString;if(!rval){rval=("#"+m.toColorPart(ccc(c.r,255))+m.toColorPart(ccc(c.g,255))+m.toColorPart(ccc(c.b,255)));this._hexString=rval;}
return rval;},asHSV:function(){var hsv=this.hsv;var c=this.rgb;if(typeof(hsv)=="undefined"||hsv===null){hsv=MochiKit.Color.rgbToHSV(this.rgb);this.hsv=hsv;}
return MochiKit.Base.clone(hsv);},asHSL:function(){var hsl=this.hsl;var c=this.rgb;if(typeof(hsl)=="undefined"||hsl===null){hsl=MochiKit.Color.rgbToHSL(this.rgb);this.hsl=hsl;}
return MochiKit.Base.clone(hsl);},toString:function(){return this.toRGBString();},repr:function(){var c=this.rgb;var col=[c.r,c.g,c.b,c.a];return this.__class__.NAME+"("+col.join(", ")+")";}};MochiKit.Base.update(MochiKit.Color.Color,{fromRGB:function(red,_583,blue,_584){var _585=MochiKit.Color.Color;if(arguments.length==1){var rgb=red;red=rgb.r;_583=rgb.g;blue=rgb.b;if(typeof(rgb.a)=="undefined"){_584=undefined;}else{_584=rgb.a;}}
return new _585(red,_583,blue,_584);},fromHSL:function(hue,_586,_587,_588){var m=MochiKit.Color;return m.Color.fromRGB(m.hslToRGB.apply(m,arguments));},fromHSV:function(hue,_589,_590,_591){var m=MochiKit.Color;return m.Color.fromRGB(m.hsvToRGB.apply(m,arguments));},fromName:function(name){var _592=MochiKit.Color.Color;if(name.charAt(0)=="\""){name=name.substr(1,name.length-2);}
var _593=_592._namedColors[name.toLowerCase()];if(typeof(_593)=="string"){return _592.fromHexString(_593);}else{if(name=="transparent"){return _592.transparentColor();}}
return null;},fromString:function(_594){var self=MochiKit.Color.Color;var _595=_594.substr(0,3);if(_595=="rgb"){return self.fromRGBString(_594);}else{if(_595=="hsl"){return self.fromHSLString(_594);}else{if(_594.charAt(0)=="#"){return self.fromHexString(_594);}}}
return self.fromName(_594);},fromHexString:function(_596){if(_596.charAt(0)=="#"){_596=_596.substring(1);}
var _597=[];var i,hex;if(_596.length==3){for(i=0;i<3;i++){hex=_596.substr(i,1);_597.push(parseInt(hex+hex,16)/255);}}else{for(i=0;i<6;i+=2){hex=_596.substr(i,2);_597.push(parseInt(hex,16)/255);}}
var _598=MochiKit.Color.Color;return _598.fromRGB.apply(_598,_597);},_fromColorString:function(pre,_600,_601,_602){if(_602.indexOf(pre)===0){_602=_602.substring(_602.indexOf("(",3)+1,_602.length-1);}
var _603=_602.split(/\s*,\s*/);var _604=[];for(var i=0;i<_603.length;i++){var c=_603[i];var val;var _605=c.substring(c.length-3);if(c.charAt(c.length-1)=="%"){val=0.01*parseFloat(c.substring(0,c.length-1));}else{if(_605=="deg"){val=parseFloat(c)/360;}else{if(_605=="rad"){val=parseFloat(c)/(Math.PI*2);}else{val=_601[i]*parseFloat(c);}}}
_604.push(val);}
return this[_600].apply(this,_604);},fromComputedStyle:function(elem,_606){var d=MochiKit.DOM;var cls=MochiKit.Color.Color;for(elem=d.getElement(elem);elem;elem=elem.parentNode){var _607=MochiKit.Style.getStyle.apply(d,arguments);if(!_607){continue;}
var _608=cls.fromString(_607);if(!_608){break;}
if(_608.asRGB().a>0){return _608;}}
return null;},fromBackground:function(elem){var cls=MochiKit.Color.Color;return cls.fromComputedStyle(elem,"backgroundColor","background-color")||cls.whiteColor();},fromText:function(elem){var cls=MochiKit.Color.Color;return cls.fromComputedStyle(elem,"color","color")||cls.blackColor();},namedColors:function(){return MochiKit.Base.clone(MochiKit.Color.Color._namedColors);}});MochiKit.Base.update(MochiKit.Color,{clampColorComponent:function(v,_609){v*=_609;if(v<0){return 0;}else{if(v>_609){return _609;}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,_612,_613,_614){if(arguments.length==1){var hsv=hue;hue=hsv.h;_612=hsv.s;_613=hsv.v;_614=hsv.a;}
var red;var _615;var blue;if(_612===0){red=0;_615=0;blue=0;}else{var i=Math.floor(hue*6);var f=(hue*6)-i;var p=_613*(1-_612);var q=_613*(1-(_612*f));var t=_613*(1-(_612*(1-f)));switch(i){case 1:red=q;_615=_613;blue=p;break;case 2:red=p;_615=_613;blue=t;break;case 3:red=p;_615=q;blue=_613;break;case 4:red=t;_615=p;blue=_613;break;case 5:red=_613;_615=p;blue=q;break;case 6:case 0:red=_613;_615=t;blue=p;break;}}
return{r:red,g:_615,b:blue,a:_614};},hslToRGB:function(hue,_617,_618,_619){if(arguments.length==1){var hsl=hue;hue=hsl.h;_617=hsl.s;_618=hsl.l;_619=hsl.a;}
var red;var _620;var blue;if(_617===0){red=_618;_620=_618;blue=_618;}else{var m2;if(_618<=0.5){m2=_618*(1+_617);}else{m2=_618+_617-(_618*_617);}
var m1=(2*_618)-m2;var f=MochiKit.Color._hslValue;var h6=hue*6;red=f(m1,m2,h6+2);_620=f(m1,m2,h6);blue=f(m1,m2,h6-2);}
return{r:red,g:_620,b:blue,a:_619};},rgbToHSV:function(red,_624,blue,_625){if(arguments.length==1){var rgb=red;red=rgb.r;_624=rgb.g;blue=rgb.b;_625=rgb.a;}
var max=Math.max(Math.max(red,_624),blue);var min=Math.min(Math.min(red,_624),blue);var hue;var _628;var _629=max;if(min==max){hue=0;_628=0;}else{var _630=(max-min);_628=_630/max;if(red==max){hue=(_624-blue)/_630;}else{if(_624==max){hue=2+((blue-red)/_630);}else{hue=4+((red-_624)/_630);}}
hue/=6;if(hue<0){hue+=1;}
if(hue>1){hue-=1;}}
return{h:hue,s:_628,v:_629,a:_625};},rgbToHSL:function(red,_631,blue,_632){if(arguments.length==1){var rgb=red;red=rgb.r;_631=rgb.g;blue=rgb.b;_632=rgb.a;}
var max=Math.max(red,Math.max(_631,blue));var min=Math.min(red,Math.min(_631,blue));var hue;var _633;var _634=(max+min)/2;var _635=max-min;if(_635===0){hue=0;_633=0;}else{if(_634<=0.5){_633=_635/(max+min);}else{_633=_635/(2-max-min);}
if(red==max){hue=(_631-blue)/_635;}else{if(_631==max){hue=2+((blue-red)/_635);}else{hue=4+((red-_631)/_635);}}
hue/=6;if(hue<0){hue+=1;}
if(hue>1){hue-=1;}}
return{h:hue,s:_633,l:_634,a:_632};},toColorPart:function(num){num=Math.round(num);var _636=num.toString(16);if(num<16){return"0"+_636;}
return _636;},__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 _637=1/3;var _638={black:[0,0,0],blue:[0,0,1],brown:[0.6,0.4,0.2],cyan:[0,1,1],darkGray:[_637,_637,_637],gray:[0.5,0.5,0.5],green:[0,1,0],lightGray:[2*_637,2*_637,2*_637],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 _639=function(name,r,g,b,a){var rval=this.fromRGB(r,g,b,a);this[name]=function(){return rval;};return rval;};for(var k in _638){var name=k+"Color";var _641=m.concat([_639,this.Color,name],_638[k]);this.Color[name]=m.bind.apply(null,_641);}
var _642=function(){for(var i=0;i<arguments.length;i++){if(!(arguments[i]instanceof Color)){return false;}}
return true;};var _643=function(a,b){return a.compareRGB(b);};m.nameFunctions(this);m.registerComparator(this.Color.NAME,_642,_643);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.Signal");dojo.require("MochiKit.Base");dojo.require("MochiKit.DOM");dojo.require("MochiKit.Style");}
if(typeof(JSAN)!="undefined"){JSAN.use("MochiKit.Base",[]);JSAN.use("MochiKit.DOM",[]);JSAN.use("MochiKit.Style",[]);}
try{if(typeof(MochiKit.Base)=="undefined"){throw"";}}
catch(e){throw"MochiKit.Signal depends on MochiKit.Base!";}
try{if(typeof(MochiKit.DOM)=="undefined"){throw"";}}
catch(e){throw"MochiKit.Signal depends on MochiKit.DOM!";}
try{if(typeof(MochiKit.Style)=="undefined"){throw"";}}
catch(e){throw"MochiKit.Signal depends on MochiKit.Style!";}
if(typeof(MochiKit.Signal)=="undefined"){MochiKit.Signal={};}
MochiKit.Signal.NAME="MochiKit.Signal";MochiKit.Signal.VERSION="1.4";MochiKit.Signal._observers=[];MochiKit.Signal.Event=function(src,e){this._event=e||window.event;this._src=src;};MochiKit.Base.update(MochiKit.Signal.Event.prototype,{__repr__:function(){var repr=MochiKit.Base.repr;var str="{event(): "+repr(this.event())+", src(): "+repr(this.src())+", type(): "+repr(this.type())+", target(): "+repr(this.target());if(this.type()&&this.type().indexOf("key")===0||this.type().indexOf("mouse")===0||this.type().indexOf("click")!=-1||this.type()=="contextmenu"){str+=", modifier(): "+"{alt: "+repr(this.modifier().alt)+", ctrl: "+repr(this.modifier().ctrl)+", meta: "+repr(this.modifier().meta)+", shift: "+repr(this.modifier().shift)+", any: "+repr(this.modifier().any)+"}";}
if(this.type()&&this.type().indexOf("key")===0){str+=", key(): {code: "+repr(this.key().code)+", string: "+repr(this.key().string)+"}";}
if(this.type()&&(this.type().indexOf("mouse")===0||this.type().indexOf("click")!=-1||this.type()=="contextmenu")){str+=", mouse(): {page: "+repr(this.mouse().page)+", client: "+repr(this.mouse().client);if(this.type()!="mousemove"){str+=", button: {left: "+repr(this.mouse().button.left)+", middle: "+repr(this.mouse().button.middle)+", right: "+repr(this.mouse().button.right)+"}}";}else{str+="}";}}
if(this.type()=="mouseover"||this.type()=="mouseout"){str+=", relatedTarget(): "+repr(this.relatedTarget());}
str+="}";return str;},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:null,relatedTarget:function(){if(this._relatedTarget!==null){return this._relatedTarget;}
var elem=null;if(this.type()=="mouseover"){elem=(this._event.relatedTarget||this._event.fromElement);}else{if(this.type()=="mouseout"){elem=(this._event.relatedTarget||this._event.toElement);}}
if(elem!==null){this._relatedTarget=elem;return elem;}
return undefined;},_modifier:null,modifier:function(){if(this._modifier!==null){return this._modifier;}
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;this._modifier=m;return m;},_key:null,key:function(){if(this._key!==null){return this._key;}
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");this._key=k;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);}}
this._key=k;return k;}}}
return undefined;},_mouse:null,mouse:function(){if(this._mouse!==null){return this._mouse;}
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.Style.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.Style.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||0);m.page.y=e.clientY+(de.scrollTop||b.scrollTop)-(de.clientTop||0);}
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);}}
this._mouse=m;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{if(this._confirmUnload===null){this._event.returnValue=false;}}},_confirmUnload:null,confirmUnload:function(msg){if(this.type()=="beforeunload"){this._confirmUnload=msg;this._event.returnValue=msg;}}});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"};(function(){var _644=MochiKit.Signal._specialMacKeys;for(i=63236;i<=63242;i++){_644[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"};(function(){var _645=MochiKit.Signal._specialKeys;for(var i=48;i<=57;i++){_645[i]="KEY_"+(i-48);}
for(i=65;i<=90;i++){_645[i]="KEY_"+String.fromCharCode(i);}
for(i=96;i<=105;i++){_645[i]="KEY_NUM_PAD_"+(i-96);}
for(i=112;i<=123;i++){_645[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 self=MochiKit.Signal;var _646=self._observers;for(var i=0;i<_646.length;i++){self._disconnect(_646[i]);}
delete self._observers;try{window.onload=undefined;}
catch(e){}
try{window.onunload=undefined;}
catch(e){}},_listener:function(src,func,obj,_647){var self=MochiKit.Signal;var E=self.Event;if(!_647){return MochiKit.Base.bind(func,obj);}
obj=obj||src;if(typeof(func)=="string"){return function(_649){obj[func].apply(obj,[new E(src,_649)]);};}else{return function(_650){func.apply(obj,[new E(src,_650)]);};}},_browserAlreadyHasMouseEnterAndLeave:function(){return/MSIE/.test(navigator.userAgent);},_mouseEnterListener:function(src,sig,func,obj){var E=MochiKit.Signal.Event;return function(_652){var e=new E(src,_652);try{e.relatedTarget().nodeName;}
catch(err){return;}
e.stop();if(MochiKit.DOM.isChildNode(e.relatedTarget(),src)){return;}
e.type=function(){return sig;};if(typeof(func)=="string"){return obj[func].apply(obj,[e]);}else{return func.apply(obj,[e]);}};},_getDestPair:function(_653,_654){var obj=null;var func=null;if(typeof(_654)!="undefined"){obj=_653;func=_654;if(typeof(_654)=="string"){if(typeof(_653[_654])!="function"){throw new Error("'funcOrStr' must be a function on 'objOrFunc'");}}else{if(typeof(_654)!="function"){throw new Error("'funcOrStr' must be a function or string");}}}else{if(typeof(_653)!="function"){throw new Error("'objOrFunc' must be a function if 'funcOrStr' is not given");}else{func=_653;}}
return[obj,func];},connect:function(src,sig,_655,_656){src=MochiKit.DOM.getElement(src);var self=MochiKit.Signal;if(typeof(sig)!="string"){throw new Error("'sig' must be a string");}
var _657=self._getDestPair(_655,_656);var obj=_657[0];var func=_657[1];if(typeof(obj)=="undefined"||obj===null){obj=src;}
var _658=!!(src.addEventListener||src.attachEvent);if(_658&&(sig==="onmouseenter"||sig==="onmouseleave")&&!self._browserAlreadyHasMouseEnterAndLeave()){var _659=self._mouseEnterListener(src,sig.substr(2),func,obj);if(sig==="onmouseenter"){sig="onmouseover";}else{sig="onmouseout";}}else{var _659=self._listener(src,func,obj,_658);}
if(src.addEventListener){src.addEventListener(sig.substr(2),_659,false);}else{if(src.attachEvent){src.attachEvent(sig,_659);}}
var _660=[src,sig,_659,_658,_655,_656,true];self._observers.push(_660);if(!_658&&typeof(src.__connect__)=="function"){var args=MochiKit.Base.extend([_660],arguments,1);src.__connect__.apply(src,args);}
return _660;},_disconnect:function(_661){if(!_661[6]){return;}
_661[6]=false;if(!_661[3]){return;}
var src=_661[0];var sig=_661[1];var _662=_661[2];if(src.removeEventListener){src.removeEventListener(sig.substr(2),_662,false);}else{if(src.detachEvent){src.detachEvent(sig,_662);}else{throw new Error("'src' must be a DOM element");}}},disconnect:function(_663){var self=MochiKit.Signal;var _664=self._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 func=arguments[3];for(var i=_664.length-1;i>=0;i--){var o=_664[i];if(o[0]===src&&o[1]===sig&&o[4]===obj&&o[5]===func){self._disconnect(o);if(!self._lock){_664.splice(i,1);}else{self._dirty=true;}
return true;}}}else{var idx=m.findIdentical(_664,_663);if(idx>=0){self._disconnect(_663);if(!self._lock){_664.splice(idx,1);}else{self._dirty=true;}
return true;}}
return false;},disconnectAllTo:function(_665,_666){var self=MochiKit.Signal;var _667=self._observers;var _668=self._disconnect;var _669=self._lock;var _670=self._dirty;if(typeof(_666)==="undefined"){_666=null;}
for(var i=_667.length-1;i>=0;i--){var _671=_667[i];if(_671[4]===_665&&(_666===null||_671[5]===_666)){_668(_671);if(_669){_670=true;}else{_667.splice(i,1);}}}
self._dirty=_670;},disconnectAll:function(src,sig){src=MochiKit.DOM.getElement(src);var m=MochiKit.Base;var _672=m.flattenArguments(m.extend(null,arguments,1));var self=MochiKit.Signal;var _673=self._disconnect;var _674=self._observers;var i,ident;var _675=self._lock;var _676=self._dirty;if(_672.length===0){for(i=_674.length-1;i>=0;i--){ident=_674[i];if(ident[0]===src){_673(ident);if(!_675){_674.splice(i,1);}else{_676=true;}}}}else{var sigs={};for(i=0;i<_672.length;i++){sigs[_672[i]]=true;}
for(i=_674.length-1;i>=0;i--){ident=_674[i];if(ident[0]===src&&ident[1]in sigs){_673(ident);if(!_675){_674.splice(i,1);}else{_676=true;}}}}
self._dirty=_676;},signal:function(src,sig){var self=MochiKit.Signal;var _678=self._observers;src=MochiKit.DOM.getElement(src);var args=MochiKit.Base.extend(null,arguments,2);var _679=[];self._lock=true;for(var i=0;i<_678.length;i++){var _680=_678[i];if(_680[0]===src&&_680[1]===sig){try{_680[2].apply(src,args);}
catch(e){_679.push(e);}}}
self._lock=false;if(self._dirty){self._dirty=false;for(var i=_678.length-1;i>=0;i--){if(!_678[i][6]){_678.splice(i,1);}}}
if(_679.length==1){throw _679[0];}else{if(_679.length>1){var e=new Error("Multiple errors thrown in handling 'sig', see errors property");e.errors=_679;throw e;}}}});MochiKit.Signal.EXPORT_OK=[];MochiKit.Signal.EXPORT=["connect","disconnect","signal","disconnectAll","disconnectAllTo"];MochiKit.Signal.__new__=function(win){var m=MochiKit.Base;this._document=document;this._window=win;this._lock=false;this._dirty=false;try{this.connect(window,"onunload",this._unloadCache);}
catch(e){}
this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};m.nameFunctions(this);};MochiKit.Signal.__new__(this);if(MochiKit.__export__){connect=MochiKit.Signal.connect;disconnect=MochiKit.Signal.disconnect;disconnectAll=MochiKit.Signal.disconnectAll;signal=MochiKit.Signal.signal;}
MochiKit.Base._exportSymbols(this,MochiKit.Signal);if(typeof(dojo)!="undefined"){dojo.provide("MochiKit.Position");dojo.require("MochiKit.Base");dojo.require("MochiKit.DOM");dojo.require("MochiKit.Style");}
if(typeof(JSAN)!="undefined"){JSAN.use("MochiKit.Base",[]);JSAN.use("MochiKit.DOM",[]);JSAN.use("MochiKit.Style",[]);}
try{if(typeof(MochiKit.Base)=="undefined"||typeof(MochiKit.Style)=="undefined"||typeof(MochiKit.DOM)=="undefined"){throw"";}}
catch(e){throw"MochiKit.Style depends on MochiKit.Base, MochiKit.DOM, and MochiKit.Style!";}
if(typeof(MochiKit.Position)=="undefined"){MochiKit.Position={};}
MochiKit.Position.NAME="MochiKit.Position";MochiKit.Position.VERSION="1.4";MochiKit.Position.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]";};MochiKit.Position.toString=function(){return this.__repr__();};MochiKit.Position.EXPORT_OK=[];MochiKit.Position.EXPORT=[];MochiKit.Base.update(MochiKit.Position,{includeScrollOffsets:false,prepare:function(){var _681=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;var _682=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;this.windowOffset=new MochiKit.Style.Coordinates(_681,_682);},cumulativeOffset:function(_683){var _684=0;var _685=0;do{_684+=_683.offsetTop||0;_685+=_683.offsetLeft||0;_683=_683.offsetParent;}while(_683);return new MochiKit.Style.Coordinates(_685,_684);},realOffset:function(_686){var _687=0;var _688=0;do{_687+=_686.scrollTop||0;_688+=_686.scrollLeft||0;_686=_686.parentNode;}while(_686);return new MochiKit.Style.Coordinates(_688,_687);},within:function(_689,x,y){if(this.includeScrollOffsets){return this.withinIncludingScrolloffsets(_689,x,y);}
this.xcomp=x;this.ycomp=y;this.offset=this.cumulativeOffset(_689);if(_689.style.position=="fixed"){this.offset.x+=this.windowOffset.x;this.offset.y+=this.windowOffset.y;}
return(y>=this.offset.y&&y<this.offset.y+_689.offsetHeight&&x>=this.offset.x&&x<this.offset.x+_689.offsetWidth);},withinIncludingScrolloffsets:function(_690,x,y){var _691=this.realOffset(_690);this.xcomp=x+_691.x-this.windowOffset.x;this.ycomp=y+_691.y-this.windowOffset.y;this.offset=this.cumulativeOffset(_690);return(this.ycomp>=this.offset.y&&this.ycomp<this.offset.y+_690.offsetHeight&&this.xcomp>=this.offset.x&&this.xcomp<this.offset.x+_690.offsetWidth);},overlap:function(mode,_693){if(!mode){return 0;}
if(mode=="vertical"){return((this.offset.y+_693.offsetHeight)-this.ycomp)/_693.offsetHeight;}
if(mode=="horizontal"){return((this.offset.x+_693.offsetWidth)-this.xcomp)/_693.offsetWidth;}},absolutize:function(_694){_694=MochiKit.DOM.getElement(_694);if(_694.style.position=="absolute"){return;}
MochiKit.Position.prepare();var _695=MochiKit.Position.positionedOffset(_694);var _696=_694.clientWidth;var _697=_694.clientHeight;var _698={"position":_694.style.position,"left":_695.x-parseFloat(_694.style.left||0),"top":_695.y-parseFloat(_694.style.top||0),"width":_694.style.width,"height":_694.style.height};_694.style.position="absolute";_694.style.top=_695.y+"px";_694.style.left=_695.x+"px";_694.style.width=_696+"px";_694.style.height=_697+"px";return _698;},positionedOffset:function(_699){var _700=0,valueL=0;do{_700+=_699.offsetTop||0;valueL+=_699.offsetLeft||0;_699=_699.offsetParent;if(_699){p=MochiKit.Style.getStyle(_699,"position");if(p=="relative"||p=="absolute"){break;}}}while(_699);return new MochiKit.Style.Coordinates(valueL,_700);},relativize:function(_701,_702){_701=MochiKit.DOM.getElement(_701);if(_701.style.position=="relative"){return;}
MochiKit.Position.prepare();var top=parseFloat(_701.style.top||0)-(_702["top"]||0);var left=parseFloat(_701.style.left||0)-(_702["left"]||0);_701.style.position=_702["position"];_701.style.top=top+"px";_701.style.left=left+"px";_701.style.width=_702["width"];_701.style.height=_702["height"];},clone:function(_705,_706){_705=MochiKit.DOM.getElement(_705);_706=MochiKit.DOM.getElement(_706);_706.style.position="absolute";var _707=this.cumulativeOffset(_705);_706.style.top=_707.y+"px";_706.style.left=_707.x+"px";_706.style.width=_705.offsetWidth+"px";_706.style.height=_705.offsetHeight+"px";},page:function(_708){var _709=0;var _710=0;var _711=_708;do{_709+=_711.offsetTop||0;_710+=_711.offsetLeft||0;if(_711.offsetParent==document.body&&MochiKit.Style.getStyle(_711,"position")=="absolute"){break;}}while(_711=_711.offsetParent);_711=_708;do{_709-=_711.scrollTop||0;_710-=_711.scrollLeft||0;}while(_711=_711.parentNode);return new MochiKit.Style.Coordinates(_710,_709);}});if(typeof(dojo)!="undefined"){dojo.provide("MochiKit.Visual");dojo.require("MochiKit.Base");dojo.require("MochiKit.DOM");dojo.require("MochiKit.Style");dojo.require("MochiKit.Color");dojo.require("MochiKit.Position");}
if(typeof(JSAN)!="undefined"){JSAN.use("MochiKit.Base",[]);JSAN.use("MochiKit.DOM",[]);JSAN.use("MochiKit.Style",[]);JSAN.use("MochiKit.Color",[]);JSAN.use("MochiKit.Position",[]);}
try{if(typeof(MochiKit.Base)==="undefined"||typeof(MochiKit.DOM)==="undefined"||typeof(MochiKit.Style)==="undefined"||typeof(MochiKit.Position)==="undefined"||typeof(MochiKit.Color)==="undefined"){throw"";}}
catch(e){throw"MochiKit.Visual depends on MochiKit.Base, MochiKit.DOM, MochiKit.Style, MochiKit.Position and MochiKit.Color!";}
if(typeof(MochiKit.Visual)=="undefined"){MochiKit.Visual={};}
MochiKit.Visual.NAME="MochiKit.Visual";MochiKit.Visual.VERSION="1.4";MochiKit.Visual.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]";};MochiKit.Visual.toString=function(){return this.__repr__();};MochiKit.Visual._RoundCorners=function(e,_712){e=MochiKit.DOM.getElement(e);this._setOptions(_712);if(this.options.__unstable__wrapElement){e=this._doWrap(e);}
var _713=this.options.color;var C=MochiKit.Color.Color;if(this.options.color==="fromElement"){_713=C.fromBackground(e);}else{if(!(_713 instanceof C)){_713=C.fromString(_713);}}
this.isTransparent=(_713.asRGB().a<=0);var _715=this.options.bgColor;if(this.options.bgColor==="fromParent"){_715=C.fromBackground(e.offsetParent);}else{if(!(_715 instanceof C)){_715=C.fromString(_715);}}
this._roundCornersImpl(e,_713,_715);};MochiKit.Visual._RoundCorners.prototype={_doWrap:function(e){var _716=e.parentNode;var doc=MochiKit.DOM.currentDocument();if(typeof(doc.defaultView)==="undefined"||doc.defaultView===null){return e;}
var _717=doc.defaultView.getComputedStyle(e,null);if(typeof(_717)==="undefined"||_717===null){return e;}
var _718=MochiKit.DOM.DIV({"style":{display:"block",marginTop:_717.getPropertyValue("padding-top"),marginRight:_717.getPropertyValue("padding-right"),marginBottom:_717.getPropertyValue("padding-bottom"),marginLeft:_717.getPropertyValue("padding-left"),padding:"0px"}});_718.innerHTML=e.innerHTML;e.innerHTML="";e.appendChild(_718);return e;},_roundCornersImpl:function(e,_719,_720){if(this.options.border){this._renderBorder(e,_720);}
if(this._isTopRounded()){this._roundTopCorners(e,_719,_720);}
if(this._isBottomRounded()){this._roundBottomCorners(e,_719,_720);}},_renderBorder:function(el,_722){var _723="1px solid "+this._borderColor(_722);var _724="border-left: "+_723;var _725="border-right: "+_723;var _726="style='"+_724+";"+_725+"'";el.innerHTML="<div "+_726+">"+el.innerHTML+"</div>";},_roundTopCorners:function(el,_727,_728){var _729=this._createCorner(_728);for(var i=0;i<this.options.numSlices;i++){_729.appendChild(this._createCornerSlice(_727,_728,i,"top"));}
el.style.paddingTop=0;el.insertBefore(_729,el.firstChild);},_roundBottomCorners:function(el,_730,_731){var _732=this._createCorner(_731);for(var i=(this.options.numSlices-1);i>=0;i--){_732.appendChild(this._createCornerSlice(_730,_731,i,"bottom"));}
el.style.paddingBottom=0;el.appendChild(_732);},_createCorner:function(_733){var dom=MochiKit.DOM;return dom.DIV({style:{backgroundColor:_733.toString()}});},_createCornerSlice:function(_734,_735,n,_736){var _737=MochiKit.DOM.SPAN();var _738=_737.style;_738.backgroundColor=_734.toString();_738.display="block";_738.height="1px";_738.overflow="hidden";_738.fontSize="1px";var _739=this._borderColor(_734,_735);if(this.options.border&&n===0){_738.borderTopStyle="solid";_738.borderTopWidth="1px";_738.borderLeftWidth="0px";_738.borderRightWidth="0px";_738.borderBottomWidth="0px";_738.height="0px";_738.borderColor=_739.toString();}else{if(_739){_738.borderColor=_739.toString();_738.borderStyle="solid";_738.borderWidth="0px 1px";}}
if(!this.options.compact&&(n==(this.options.numSlices-1))){_738.height="2px";}
this._setMargin(_737,n,_736);this._setBorder(_737,n,_736);return _737;},_setOptions:function(_740){this.options={corners:"all",color:"fromElement",bgColor:"fromParent",blend:true,border:false,compact:false,__unstable__wrapElement:false};MochiKit.Base.update(this.options,_740);this.options.numSlices=(this.options.compact?2:4);},_whichSideTop:function(){var _741=this.options.corners;if(this._hasString(_741,"all","top")){return"";}
var _742=(_741.indexOf("tl")!=-1);var _743=(_741.indexOf("tr")!=-1);if(_742&&_743){return"";}
if(_742){return"left";}
if(_743){return"right";}
return"";},_whichSideBottom:function(){var _744=this.options.corners;if(this._hasString(_744,"all","bottom")){return"";}
var _745=(_744.indexOf("bl")!=-1);var _746=(_744.indexOf("br")!=-1);if(_745&&_746){return"";}
if(_745){return"left";}
if(_746){return"right";}
return"";},_borderColor:function(_747,_748){if(_747=="transparent"){return _748;}else{if(this.options.border){return this.options.border;}else{if(this.options.blend){return _748.blendedColor(_747);}}}
return"";},_setMargin:function(el,n,_749){var _750=this._marginSize(n)+"px";var _751=(_749=="top"?this._whichSideTop():this._whichSideBottom());var _752=el.style;if(_751=="left"){_752.marginLeft=_750;_752.marginRight="0px";}else{if(_751=="right"){_752.marginRight=_750;_752.marginLeft="0px";}else{_752.marginLeft=_750;_752.marginRight=_750;}}},_setBorder:function(el,n,_753){var _754=this._borderSize(n)+"px";var _755=(_753=="top"?this._whichSideTop():this._whichSideBottom());var _756=el.style;if(_755=="left"){_756.borderLeftWidth=_754;_756.borderRightWidth="0px";}else{if(_755=="right"){_756.borderRightWidth=_754;_756.borderLeftWidth="0px";}else{_756.borderLeftWidth=_754;_756.borderRightWidth=_754;}}},_marginSize:function(n){if(this.isTransparent){return 0;}
var o=this.options;if(o.compact&&o.blend){var _757=[1,0];return _757[n];}else{if(o.compact){var _758=[2,1];return _758[n];}else{if(o.blend){var _759=[3,2,1,0];return _759[n];}else{var _760=[5,3,2,1];return _760[n];}}}},_borderSize:function(n){var o=this.options;var _761;if(o.compact&&(o.blend||this.isTransparent)){return 1;}else{if(o.compact){_761=[1,0];}else{if(o.blend){_761=[2,1,1,1];}else{if(o.border){_761=[0,2,0,0];}else{if(this.isTransparent){_761=[5,3,2,1];}else{return 0;}}}}}
return _761[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,_762){new MochiKit.Visual._RoundCorners(e,_762);};MochiKit.Visual.roundClass=function(_763,_764,_765){var _766=MochiKit.DOM.getElementsByTagAndClassName(_763,_764);for(var i=0;i<_766.length;i++){MochiKit.Visual.roundElement(_766[i],_765);}};MochiKit.Visual.tagifyText=function(_767,_768){var _768=_768||"position:relative";if(/MSIE/.test(navigator.userAgent)){_768+=";zoom:1";}
_767=MochiKit.DOM.getElement(_767);var ma=MochiKit.Base.map;ma(function(_770){if(_770.nodeType==3){ma(function(_771){_767.insertBefore(MochiKit.DOM.SPAN({style:_768},_771==" "?String.fromCharCode(160):_771),_770);},_770.nodeValue.split(""));MochiKit.DOM.removeElement(_770);}},_767.childNodes);};MochiKit.Visual.forceRerendering=function(_772){try{_772=MochiKit.DOM.getElement(_772);var n=document.createTextNode(" ");_772.appendChild(n);_772.removeChild(n);}
catch(e){}};MochiKit.Visual.multiple=function(_773,_774,_775){_775=MochiKit.Base.update({speed:0.1,delay:0},_775||{});var _776=_775.delay;var _777=0;MochiKit.Base.map(function(_778){_775.delay=_777*_775.speed+_776;new _774(_778,_775);_777+=1;},_773);};MochiKit.Visual.PAIRS={"slide":["slideDown","slideUp"],"blind":["blindDown","blindUp"],"appear":["appear","fade"],"size":["grow","shrink"]};MochiKit.Visual.toggle=function(_779,_780,_781){_779=MochiKit.DOM.getElement(_779);_780=(_780||"appear").toLowerCase();_781=MochiKit.Base.update({queue:{position:"end",scope:(_779.id||"global"),limit:1}},_781||{});var v=MochiKit.Visual;v[_779.style.display!="none"?v.PAIRS[_780][1]:v.PAIRS[_780][0]](_779,_781);};MochiKit.Visual.Transitions={};MochiKit.Visual.Transitions.linear=function(pos){return pos;};MochiKit.Visual.Transitions.sinoidal=function(pos){return(-Math.cos(pos*Math.PI)/2)+0.5;};MochiKit.Visual.Transitions.reverse=function(pos){return 1-pos;};MochiKit.Visual.Transitions.flicker=function(pos){return((-Math.cos(pos*Math.PI)/4)+0.75)+Math.random()/4;};MochiKit.Visual.Transitions.wobble=function(pos){return(-Math.cos(pos*Math.PI*(9*pos))/2)+0.5;};MochiKit.Visual.Transitions.pulse=function(pos){return(Math.floor(pos*10)%2==0?(pos*10-Math.floor(pos*10)):1-(pos*10-Math.floor(pos*10)));};MochiKit.Visual.Transitions.none=function(pos){return 0;};MochiKit.Visual.Transitions.full=function(pos){return 1;};MochiKit.Visual.ScopedQueue=function(){var cls=arguments.callee;if(!(this instanceof cls)){return new cls();}
this.__init__();};MochiKit.Base.update(MochiKit.Visual.ScopedQueue.prototype,{__init__:function(){this.effects=[];this.interval=null;},add:function(_782){var _783=new Date().getTime();var _784=(typeof(_782.options.queue)=="string")?_782.options.queue:_782.options.queue.position;var ma=MochiKit.Base.map;switch(_784){case"front":ma(function(e){if(e.state=="idle"){e.startOn+=_782.finishOn;e.finishOn+=_782.finishOn;}},this.effects);break;case"end":var _785;ma(function(e){var i=e.finishOn;if(i>=(_785||i)){_785=i;}},this.effects);_783=_785||_783;break;case"break":ma(function(e){e.finalize();},this.effects);break;}
_782.startOn+=_783;_782.finishOn+=_783;if(!_782.options.queue.limit||this.effects.length<_782.options.queue.limit){this.effects.push(_782);}
if(!this.interval){this.interval=this.startLoop(MochiKit.Base.bind(this.loop,this),40);}},startLoop:function(func,_786){return setInterval(func,_786);},remove:function(_787){this.effects=MochiKit.Base.filter(function(e){return e!=_787;},this.effects);if(this.effects.length==0){this.stopLoop(this.interval);this.interval=null;}},stopLoop:function(_788){clearInterval(_788);},loop:function(){var _789=new Date().getTime();MochiKit.Base.map(function(_790){_790.loop(_789);},this.effects);}});MochiKit.Visual.Queues={instances:{},get:function(_791){if(typeof(_791)!="string"){return _791;}
if(!this.instances[_791]){this.instances[_791]=new MochiKit.Visual.ScopedQueue();}
return this.instances[_791];}};MochiKit.Visual.Queue=MochiKit.Visual.Queues.get("global");MochiKit.Visual.DefaultOptions={transition:MochiKit.Visual.Transitions.sinoidal,duration:1,fps:25,sync:false,from:0,to:1,delay:0,queue:"parallel"};MochiKit.Visual.Base=function(){};MochiKit.Visual.Base.prototype={__class__:MochiKit.Visual.Base,start:function(_792){var v=MochiKit.Visual;this.options=MochiKit.Base.setdefault(_792||{},v.DefaultOptions);this.currentFrame=0;this.state="idle";this.startOn=this.options.delay*1000;this.finishOn=this.startOn+(this.options.duration*1000);this.event("beforeStart");if(!this.options.sync){v.Queues.get(typeof(this.options.queue)=="string"?"global":this.options.queue.scope).add(this);}},loop:function(_793){if(_793>=this.startOn){if(_793>=this.finishOn){return this.finalize();}
var pos=(_793-this.startOn)/(this.finishOn-this.startOn);var _794=Math.round(pos*this.options.fps*this.options.duration);if(_794>this.currentFrame){this.render(pos);this.currentFrame=_794;}}},render:function(pos){if(this.state=="idle"){this.state="running";this.event("beforeSetup");this.setup();this.event("afterSetup");}
if(this.state=="running"){if(this.options.transition){pos=this.options.transition(pos);}
pos*=(this.options.to-this.options.from);pos+=this.options.from;this.event("beforeUpdate");this.update(pos);this.event("afterUpdate");}},cancel:function(){if(!this.options.sync){MochiKit.Visual.Queues.get(typeof(this.options.queue)=="string"?"global":this.options.queue.scope).remove(this);}
this.state="finished";},finalize:function(){this.render(1);this.cancel();this.event("beforeFinish");this.finish();this.event("afterFinish");},setup:function(){},finish:function(){},update:function(_795){},event:function(_796){if(this.options[_796+"Internal"]){this.options[_796+"Internal"](this);}
if(this.options[_796]){this.options[_796](this);}},repr:function(){return"["+this.__class__.NAME+", options:"+MochiKit.Base.repr(this.options)+"]";}};MochiKit.Visual.Parallel=function(_797,_798){var cls=arguments.callee;if(!(this instanceof cls)){return new cls(_797,_798);}
this.__init__(_797,_798);};MochiKit.Visual.Parallel.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Parallel.prototype,{__init__:function(_799,_800){this.effects=_799||[];this.start(_800);},update:function(_801){MochiKit.Base.map(function(_802){_802.render(_801);},this.effects);},finish:function(){MochiKit.Base.map(function(_803){_803.finalize();},this.effects);}});MochiKit.Visual.Opacity=function(_804,_805){var cls=arguments.callee;if(!(this instanceof cls)){return new cls(_804,_805);}
this.__init__(_804,_805);};MochiKit.Visual.Opacity.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Opacity.prototype,{__init__:function(_806,_807){var b=MochiKit.Base;var s=MochiKit.Style;this.element=MochiKit.DOM.getElement(_806);if(this.element.currentStyle&&(!this.element.currentStyle.hasLayout)){s.setStyle(this.element,{zoom:1});}
_807=b.update({from:s.getStyle(this.element,"opacity")||0,to:1},_807||{});this.start(_807);},update:function(_808){MochiKit.Style.setStyle(this.element,{"opacity":_808});}});MochiKit.Visual.Move=function(_809,_810){var cls=arguments.callee;if(!(this instanceof cls)){return new cls(_809,_810);}
this.__init__(_809,_810);};MochiKit.Visual.Move.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Move.prototype,{__init__:function(_811,_812){this.element=MochiKit.DOM.getElement(_811);_812=MochiKit.Base.update({x:0,y:0,mode:"relative"},_812||{});this.start(_812);},setup:function(){MochiKit.DOM.makePositioned(this.element);var s=this.element.style;var _813=s.visibility;var _814=s.display;if(_814=="none"){s.visibility="hidden";s.display="";}
this.originalLeft=parseFloat(MochiKit.Style.getStyle(this.element,"left")||"0");this.originalTop=parseFloat(MochiKit.Style.getStyle(this.element,"top")||"0");if(this.options.mode=="absolute"){this.options.x-=this.originalLeft;this.options.y-=this.originalTop;}
if(_814=="none"){s.visibility=_813;s.display=_814;}},update:function(_815){MochiKit.Style.setStyle(this.element,{left:Math.round(this.options.x*_815+this.originalLeft)+"px",top:Math.round(this.options.y*_815+this.originalTop)+"px"});}});MochiKit.Visual.Scale=function(_816,_817,_818){var cls=arguments.callee;if(!(this instanceof cls)){return new cls(_816,_817,_818);}
this.__init__(_816,_817,_818);};MochiKit.Visual.Scale.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Scale.prototype,{__init__:function(_819,_820,_821){this.element=MochiKit.DOM.getElement(_819);_821=MochiKit.Base.update({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:"box",scaleFrom:100,scaleTo:_820},_821||{});this.start(_821);},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=MochiKit.Style.getStyle(this.element,"position");var ma=MochiKit.Base.map;var b=MochiKit.Base.bind;this.originalStyle={};ma(b(function(k){this.originalStyle[k]=this.element.style[k];},this),["top","left","width","height","fontSize"]);this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var _822=MochiKit.Style.getStyle(this.element,"font-size")||"100%";ma(b(function(_823){if(_822.indexOf(_823)>0){this.fontSize=parseFloat(_822);this.fontSizeType=_823;}},this),["em","px","%"]);this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;if(/^content/.test(this.options.scaleMode)){this.dims=[this.element.scrollHeight,this.element.scrollWidth];}else{if(this.options.scaleMode=="box"){this.dims=[this.element.offsetHeight,this.element.offsetWidth];}else{this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth];}}},update:function(_824){var _825=(this.options.scaleFrom/100)+(this.factor*_824);if(this.options.scaleContent&&this.fontSize){MochiKit.Style.setStyle(this.element,{fontSize:this.fontSize*_825+this.fontSizeType});}
this.setDimensions(this.dims[0]*_825,this.dims[1]*_825);},finish:function(){if(this.restoreAfterFinish){MochiKit.Style.setStyle(this.element,this.originalStyle);}},setDimensions:function(_826,_827){var d={};var r=Math.round;if(/MSIE/.test(navigator.userAgent)){r=Math.ceil;}
if(this.options.scaleX){d.width=r(_827)+"px";}
if(this.options.scaleY){d.height=r(_826)+"px";}
if(this.options.scaleFromCenter){var topd=(_826-this.dims[0])/2;var _829=(_827-this.dims[1])/2;if(this.elementPositioning=="absolute"){if(this.options.scaleY){d.top=this.originalTop-topd+"px";}
if(this.options.scaleX){d.left=this.originalLeft-_829+"px";}}else{if(this.options.scaleY){d.top=-topd+"px";}
if(this.options.scaleX){d.left=-_829+"px";}}}
MochiKit.Style.setStyle(this.element,d);}});MochiKit.Visual.Highlight=function(_830,_831){var cls=arguments.callee;if(!(this instanceof cls)){return new cls(_830,_831);}
this.__init__(_830,_831);};MochiKit.Visual.Highlight.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Highlight.prototype,{__init__:function(_832,_833){this.element=MochiKit.DOM.getElement(_832);_833=MochiKit.Base.update({startcolor:"#ffff99"},_833||{});this.start(_833);},setup:function(){var b=MochiKit.Base;var s=MochiKit.Style;if(s.getStyle(this.element,"display")=="none"){this.cancel();return;}
this.oldStyle={backgroundImage:s.getStyle(this.element,"background-image")};s.setStyle(this.element,{backgroundImage:"none"});if(!this.options.endcolor){this.options.endcolor=MochiKit.Color.Color.fromBackground(this.element).toHexString();}
if(b.isUndefinedOrNull(this.options.restorecolor)){this.options.restorecolor=s.getStyle(this.element,"background-color");}
this._base=b.map(b.bind(function(i){return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16);},this),[0,1,2]);this._delta=b.map(b.bind(function(i){return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i];},this),[0,1,2]);},update:function(_834){var m="#";MochiKit.Base.map(MochiKit.Base.bind(function(i){m+=MochiKit.Color.toColorPart(Math.round(this._base[i]+this._delta[i]*_834));},this),[0,1,2]);MochiKit.Style.setStyle(this.element,{backgroundColor:m});},finish:function(){MochiKit.Style.setStyle(this.element,MochiKit.Base.update(this.oldStyle,{backgroundColor:this.options.restorecolor}));}});MochiKit.Visual.ScrollTo=function(_835,_836){var cls=arguments.callee;if(!(this instanceof cls)){return new cls(_835,_836);}
this.__init__(_835,_836);};MochiKit.Visual.ScrollTo.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.ScrollTo.prototype,{__init__:function(_837,_838){this.element=MochiKit.DOM.getElement(_837);this.start(_838||{});},setup:function(){var p=MochiKit.Position;p.prepare();var _839=p.cumulativeOffset(this.element);if(this.options.offset){_839.y+=this.options.offset;}
var max;if(window.innerHeight){max=window.innerHeight-window.height;}else{if(document.documentElement&&document.documentElement.clientHeight){max=document.documentElement.clientHeight-document.body.scrollHeight;}else{if(document.body){max=document.body.clientHeight-document.body.scrollHeight;}}}
this.scrollStart=p.windowOffset.y;this.delta=(_839.y>max?max:_839.y)-this.scrollStart;},update:function(_840){var p=MochiKit.Position;p.prepare();window.scrollTo(p.windowOffset.x,this.scrollStart+(_840*this.delta));}});MochiKit.Visual.fade=function(_841,_842){var s=MochiKit.Style;var _843=s.getStyle(_841,"opacity");_842=MochiKit.Base.update({from:s.getStyle(_841,"opacity")||1,to:0,afterFinishInternal:function(_844){if(_844.options.to!==0){return;}
s.hideElement(_844.element);s.setStyle(_844.element,{"opacity":_843});}},_842||{});return new MochiKit.Visual.Opacity(_841,_842);};MochiKit.Visual.appear=function(_845,_846){var s=MochiKit.Style;var v=MochiKit.Visual;_846=MochiKit.Base.update({from:(s.getStyle(_845,"display")=="none"?0:s.getStyle(_845,"opacity")||0),to:1,afterFinishInternal:function(_847){v.forceRerendering(_847.element);},beforeSetupInternal:function(_848){s.setStyle(_848.element,{"opacity":_848.options.from});s.showElement(_848.element);}},_846||{});return new v.Opacity(_845,_846);};MochiKit.Visual.puff=function(_849,_850){var s=MochiKit.Style;var v=MochiKit.Visual;_849=MochiKit.DOM.getElement(_849);var _851={position:s.getStyle(_849,"position"),top:_849.style.top,left:_849.style.left,width:_849.style.width,height:_849.style.height,opacity:s.getStyle(_849,"opacity")};_850=MochiKit.Base.update({beforeSetupInternal:function(_852){MochiKit.Position.absolutize(_852.effects[0].element);},afterFinishInternal:function(_853){s.hideElement(_853.effects[0].element);s.setStyle(_853.effects[0].element,_851);}},_850||{});return new v.Parallel([new v.Scale(_849,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new v.Opacity(_849,{sync:true,to:0})],_850);};MochiKit.Visual.blindUp=function(_854,_855){var d=MochiKit.DOM;_854=d.getElement(_854);var _856=d.makeClipping(_854);_855=MochiKit.Base.update({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(_857){MochiKit.Style.hideElement(_857.element);d.undoClipping(_857.element,_856);}},_855||{});return new MochiKit.Visual.Scale(_854,0,_855);};MochiKit.Visual.blindDown=function(_858,_859){var d=MochiKit.DOM;var s=MochiKit.Style;_858=d.getElement(_858);var _860=s.getElementDimensions(_858);var _861;_859=MochiKit.Base.update({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:_860.h,originalWidth:_860.w},restoreAfterFinish:true,afterSetupInternal:function(_862){_861=d.makeClipping(_862.element);s.setStyle(_862.element,{height:"0px"});s.showElement(_862.element);},afterFinishInternal:function(_863){d.undoClipping(_863.element,_861);}},_859||{});return new MochiKit.Visual.Scale(_858,100,_859);};MochiKit.Visual.switchOff=function(_864,_865){var d=MochiKit.DOM;_864=d.getElement(_864);var _866=MochiKit.Style.getStyle(_864,"opacity");var _867;var _865=MochiKit.Base.update({duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetupInternal:function(_868){d.makePositioned(_868.element);_867=d.makeClipping(_868.element);},afterFinishInternal:function(_869){MochiKit.Style.hideElement(_869.element);d.undoClipping(_869.element,_867);d.undoPositioned(_869.element);MochiKit.Style.setStyle(_869.element,{"opacity":_866});}},_865||{});var v=MochiKit.Visual;return new v.appear(_864,{duration:0.4,from:0,transition:v.Transitions.flicker,afterFinishInternal:function(_870){new v.Scale(_870.element,1,_865);}});};MochiKit.Visual.dropOut=function(_871,_872){var d=MochiKit.DOM;var s=MochiKit.Style;_871=d.getElement(_871);var _873={top:s.getStyle(_871,"top"),left:s.getStyle(_871,"left"),opacity:s.getStyle(_871,"opacity")};_872=MochiKit.Base.update({duration:0.5,distance:100,beforeSetupInternal:function(_874){d.makePositioned(_874.effects[0].element);},afterFinishInternal:function(_875){s.hideElement(_875.effects[0].element);d.undoPositioned(_875.effects[0].element);s.setStyle(_875.effects[0].element,_873);}},_872||{});var v=MochiKit.Visual;return new v.Parallel([new v.Move(_871,{x:0,y:_872.distance,sync:true}),new v.Opacity(_871,{sync:true,to:0})],_872);};MochiKit.Visual.shake=function(_876,_877){var d=MochiKit.DOM;var v=MochiKit.Visual;var s=MochiKit.Style;_876=d.getElement(_876);_877=MochiKit.Base.update({x:-20,y:0,duration:0.05,afterFinishInternal:function(_878){d.undoPositioned(_878.element);s.setStyle(_878.element,oldStyle);}},_877||{});var _879={top:s.getStyle(_876,"top"),left:s.getStyle(_876,"left")};return new v.Move(_876,{x:20,y:0,duration:0.05,afterFinishInternal:function(_880){new v.Move(_880.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(_880){new v.Move(_880.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(_880){new v.Move(_880.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(_880){new v.Move(_880.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(_880){new v.Move(_880.element,_877);}});}});}});}});}});};MochiKit.Visual.slideDown=function(_881,_882){var d=MochiKit.DOM;var b=MochiKit.Base;var s=MochiKit.Style;_881=d.getElement(_881);if(!_881.firstChild){throw"MochiKit.Visual.slideDown must be used on a element with a child";}
d.removeEmptyTextNodes(_881);var _883=s.getStyle(_881.firstChild,"bottom")||0;var _884=s.getElementDimensions(_881);var _885;_882=b.update({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:_884.h,originalWidth:_884.w},restoreAfterFinish:true,afterSetupInternal:function(_886){d.makePositioned(_886.element);d.makePositioned(_886.element.firstChild);if(/Opera/.test(navigator.userAgent)){s.setStyle(_886.element,{top:""});}
_885=d.makeClipping(_886.element);s.setStyle(_886.element,{height:"0px"});s.showElement(_886.element);},afterUpdateInternal:function(_887){s.setStyle(_887.element.firstChild,{bottom:(_887.dims[0]-_887.element.clientHeight)+"px"});},afterFinishInternal:function(_888){d.undoClipping(_888.element,_885);if(/MSIE/.test(navigator.userAgent)){d.undoPositioned(_888.element);d.undoPositioned(_888.element.firstChild);}else{d.undoPositioned(_888.element.firstChild);d.undoPositioned(_888.element);}
s.setStyle(_888.element.firstChild,{bottom:_883});}},_882||{});return new MochiKit.Visual.Scale(_881,100,_882);};MochiKit.Visual.slideUp=function(_889,_890){var d=MochiKit.DOM;var b=MochiKit.Base;var s=MochiKit.Style;_889=d.getElement(_889);if(!_889.firstChild){throw"MochiKit.Visual.slideUp must be used on a element with a child";}
d.removeEmptyTextNodes(_889);var _891=s.getStyle(_889.firstChild,"bottom");var _892;_890=b.update({scaleContent:false,scaleX:false,scaleMode:"box",scaleFrom:100,restoreAfterFinish:true,beforeStartInternal:function(_893){d.makePositioned(_893.element);d.makePositioned(_893.element.firstChild);if(/Opera/.test(navigator.userAgent)){s.setStyle(_893.element,{top:""});}
_892=d.makeClipping(_893.element);s.showElement(_893.element);},afterUpdateInternal:function(_894){s.setStyle(_894.element.firstChild,{bottom:(_894.dims[0]-_894.element.clientHeight)+"px"});},afterFinishInternal:function(_895){s.hideElement(_895.element);d.undoClipping(_895.element,_892);d.undoPositioned(_895.element.firstChild);d.undoPositioned(_895.element);s.setStyle(_895.element.firstChild,{bottom:_891});}},_890||{});return new MochiKit.Visual.Scale(_889,0,_890);};MochiKit.Visual.squish=function(_896,_897){var d=MochiKit.DOM;var b=MochiKit.Base;var _898;_897=b.update({restoreAfterFinish:true,beforeSetupInternal:function(_899){_898=d.makeClipping(_899.element);},afterFinishInternal:function(_900){MochiKit.Style.hideElement(_900.element);d.undoClipping(_900.element,_898);}},_897||{});return new MochiKit.Visual.Scale(_896,/Opera/.test(navigator.userAgent)?1:0,_897);};MochiKit.Visual.grow=function(_901,_902){var d=MochiKit.DOM;var v=MochiKit.Visual;var s=MochiKit.Style;_901=d.getElement(_901);_902=MochiKit.Base.update({direction:"center",moveTransition:v.Transitions.sinoidal,scaleTransition:v.Transitions.sinoidal,opacityTransition:v.Transitions.full},_902||{});var _903={top:_901.style.top,left:_901.style.left,height:_901.style.height,width:_901.style.width,opacity:s.getStyle(_901,"opacity")};var dims=s.getElementDimensions(_901);var _905,initialMoveY;var _906,moveY;switch(_902.direction){case"top-left":_905=initialMoveY=_906=moveY=0;break;case"top-right":_905=dims.w;initialMoveY=moveY=0;_906=-dims.w;break;case"bottom-left":_905=_906=0;initialMoveY=dims.h;moveY=-dims.h;break;case"bottom-right":_905=dims.w;initialMoveY=dims.h;_906=-dims.w;moveY=-dims.h;break;case"center":_905=dims.w/2;initialMoveY=dims.h/2;_906=-dims.w/2;moveY=-dims.h/2;break;}
var _907=MochiKit.Base.update({beforeSetupInternal:function(_908){s.setStyle(_908.effects[0].element,{height:"0px"});s.showElement(_908.effects[0].element);},afterFinishInternal:function(_909){d.undoClipping(_909.effects[0].element);d.undoPositioned(_909.effects[0].element);s.setStyle(_909.effects[0].element,_903);}},_902||{});return new v.Move(_901,{x:_905,y:initialMoveY,duration:0.01,beforeSetupInternal:function(_910){s.hideElement(_910.element);d.makeClipping(_910.element);d.makePositioned(_910.element);},afterFinishInternal:function(_911){new v.Parallel([new v.Opacity(_911.element,{sync:true,to:1,from:0,transition:_902.opacityTransition}),new v.Move(_911.element,{x:_906,y:moveY,sync:true,transition:_902.moveTransition}),new v.Scale(_911.element,100,{scaleMode:{originalHeight:dims.h,originalWidth:dims.w},sync:true,scaleFrom:/Opera/.test(navigator.userAgent)?1:0,transition:_902.scaleTransition,restoreAfterFinish:true})],_907);}});};MochiKit.Visual.shrink=function(_912,_913){var d=MochiKit.DOM;var v=MochiKit.Visual;var s=MochiKit.Style;_912=d.getElement(_912);_913=MochiKit.Base.update({direction:"center",moveTransition:v.Transitions.sinoidal,scaleTransition:v.Transitions.sinoidal,opacityTransition:v.Transitions.none},_913||{});var _914={top:_912.style.top,left:_912.style.left,height:_912.style.height,width:_912.style.width,opacity:s.getStyle(_912,"opacity")};var dims=s.getElementDimensions(_912);var _915,moveY;switch(_913.direction){case"top-left":_915=moveY=0;break;case"top-right":_915=dims.w;moveY=0;break;case"bottom-left":_915=0;moveY=dims.h;break;case"bottom-right":_915=dims.w;moveY=dims.h;break;case"center":_915=dims.w/2;moveY=dims.h/2;break;}
var _916;var _917=MochiKit.Base.update({beforeStartInternal:function(_918){_916=d.makePositioned(_918.effects[0].element);d.makeClipping(_918.effects[0].element);},afterFinishInternal:function(_919){s.hideElement(_919.effects[0].element);d.undoClipping(_919.effects[0].element,_916);d.undoPositioned(_919.effects[0].element);s.setStyle(_919.effects[0].element,_914);}},_913||{});return new v.Parallel([new v.Opacity(_912,{sync:true,to:0,from:1,transition:_913.opacityTransition}),new v.Scale(_912,/Opera/.test(navigator.userAgent)?1:0,{sync:true,transition:_913.scaleTransition,restoreAfterFinish:true}),new v.Move(_912,{x:_915,y:moveY,sync:true,transition:_913.moveTransition})],_917);};MochiKit.Visual.pulsate=function(_920,_921){var d=MochiKit.DOM;var v=MochiKit.Visual;var b=MochiKit.Base;var _922=MochiKit.Style.getStyle(_920,"opacity");_921=b.update({duration:3,from:0,afterFinishInternal:function(_923){MochiKit.Style.setStyle(_923.element,{"opacity":_922});}},_921||{});var _924=_921.transition||v.Transitions.sinoidal;var _925=b.bind(function(pos){return _924(1-v.Transitions.pulse(pos));},_924);b.bind(_925,_924);return new v.Opacity(_920,b.update({transition:_925},_921));};MochiKit.Visual.fold=function(_926,_927){var d=MochiKit.DOM;var v=MochiKit.Visual;var s=MochiKit.Style;_926=d.getElement(_926);var _928={top:_926.style.top,left:_926.style.left,width:_926.style.width,height:_926.style.height};var _929=d.makeClipping(_926);_927=MochiKit.Base.update({scaleContent:false,scaleX:false,afterFinishInternal:function(_930){new v.Scale(_926,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(_930){s.hideElement(_930.element);d.undoClipping(_930.element,_929);s.setStyle(_930.element,_928);}});}},_927||{});return new v.Scale(_926,5,_927);};MochiKit.Visual.Color=MochiKit.Color.Color;MochiKit.Visual.getElementsComputedStyle=MochiKit.DOM.computedStyle;MochiKit.Visual.__new__=function(){var m=MochiKit.Base;m.nameFunctions(this);this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};};MochiKit.Visual.EXPORT=["roundElement","roundClass","tagifyText","multiple","toggle","Parallel","Opacity","Move","Scale","Highlight","ScrollTo","fade","appear","puff","blindUp","blindDown","switchOff","dropOut","shake","slideDown","slideUp","squish","grow","shrink","pulsate","fold"];MochiKit.Visual.EXPORT_OK=["Base","PAIRS"];MochiKit.Visual.__new__();MochiKit.Base._exportSymbols(this,MochiKit.Visual);if(typeof(MochiKit)=="undefined"){MochiKit={};}
if(typeof(MochiKit.MochiKit)=="undefined"){MochiKit.MochiKit={};}
MochiKit.MochiKit.NAME="MochiKit.MochiKit";MochiKit.MochiKit.VERSION="1.4";MochiKit.MochiKit.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]";};MochiKit.MochiKit.toString=function(){return this.__repr__();};MochiKit.MochiKit.SUBMODULES=["Base","Iter","Logging","DateTime","Format","Async","DOM","Selector","Style","LoggingPane","Color","Signal","Position","Visual"];if(typeof(JSAN)!="undefined"||typeof(dojo)!="undefined"){if(typeof(dojo)!="undefined"){dojo.provide("MochiKit.MochiKit");dojo.require("MochiKit.*");}
if(typeof(JSAN)!="undefined"){(function(lst){for(var i=0;i<lst.length;i++){JSAN.use("MochiKit."+lst[i],[]);}})(MochiKit.MochiKit.SUBMODULES);}
(function(){var _931=MochiKit.Base.extend;var self=MochiKit.MochiKit;var _932=self.SUBMODULES;var _933=[];var _934=[];var _935={};var i,k,m,all;for(i=0;i<_932.length;i++){m=MochiKit[_932[i]];_931(_933,m.EXPORT);_931(_934,m.EXPORT_OK);for(k in m.EXPORT_TAGS){_935[k]=_931(_935[k],m.EXPORT_TAGS[k]);}
all=m.EXPORT_TAGS[":all"];if(!all){all=_931(null,m.EXPORT,m.EXPORT_OK);}
var j;for(j=0;j<all.length;j++){k=all[j];self[k]=m[k];}}
self.EXPORT=_933;self.EXPORT_OK=_934;self.EXPORT_TAGS=_935;}());}else{if(typeof(MochiKit.__compat__)=="undefined"){MochiKit.__compat__=true;}
(function(){if(typeof(document)=="undefined"){return;}
var _936=document.getElementsByTagName("script");var _937="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";var base=null;var _938=null;var _939={};var i;for(i=0;i<_936.length;i++){var src=_936[i].getAttribute("src");if(!src){continue;}
_939[src]=true;if(src.match(/MochiKit.js$/)){base=src.substring(0,src.lastIndexOf("MochiKit.js"));_938=_936[i];}}
if(base===null){return;}
var _940=MochiKit.MochiKit.SUBMODULES;for(var i=0;i<_940.length;i++){if(MochiKit[_940[i]]){continue;}
var uri=base+_940[i]+".js";if(uri in _939){continue;}
if(document.documentElement&&document.documentElement.namespaceURI==_937){var s=document.createElementNS(_937,"script");s.setAttribute("id","MochiKit_"+base+_940[i]);s.setAttribute("src",uri);s.setAttribute("type","application/x-javascript");_938.parentNode.appendChild(s);}else{document.write("<script src=\""+uri+"\" type=\"text/javascript\"></script>");}}})();}