/* Merged Plone Javascript file
 * This file is dynamically assembled from separate parts.
 * Some of these parts have 3rd party licenses or copyright information attached
 * Such information is valid for that section,
 * not for the entire composite file
 * originating files are separated by ----- filename.js -----
 */

/* ----- dw_scrollObj.js ----- */
// http://www.emoderation.com/portal_javascripts/dw_scrollObj.js?original=1
dw_scrollObjs={};dw_scrollObj.speed=100;
function dw_scrollObj(wnId,lyrId,cntId){this.id=wnId;dw_scrollObjs[this.id]=this;this.animString="dw_scrollObjs."+this.id;this.load(lyrId,cntId)};dw_scrollObj.loadLayer=function(wnId,id,cntId){if(dw_scrollObjs[wnId])dw_scrollObjs[wnId].load(id,cntId)};dw_scrollObj.prototype.load=function(lyrId,cntId){if(!document.getElementById)return;var wndo,lyr;if(this.lyrId){lyr=document.getElementById(this.lyrId);lyr.style.visibility="hidden"}lyr=document.getElementById(lyrId);wndo=document.getElementById(this.id);lyr.style.top=this.y=0;lyr.style.left=this.x=0;this.maxY=(lyr.offsetHeight-wndo.offsetHeight>0)?lyr.offsetHeight-wndo.offsetHeight:0;this.wd=cntId?document.getElementById(cntId).offsetWidth:lyr.offsetWidth;this.maxX=(this.wd-wndo.offsetWidth>0)?this.wd-wndo.offsetWidth:0;this.lyrId=lyrId;lyr.style.visibility="visible";this.on_load();this.ready=true};dw_scrollObj.prototype.on_load=function(){};dw_scrollObj.prototype.shiftTo=function(lyr,x,y){if(!lyr.style||!dw_scrollObj.scrdy)return;lyr.style.left=(this.x=x)+"px";lyr.style.top=(this.y=y)+"px"};dw_scrollObj.GeckoTableBugFix=function(){var ua=navigator.userAgent;if(ua.indexOf("Gecko")>-1&&ua.indexOf("Firefox")==-1&&ua.indexOf("Safari")==-1&&ua.indexOf("Konqueror")==-1){dw_scrollObj.hold=[];for(var i=0;arguments[i];i++){if(dw_scrollObjs[arguments[i]]){var wndo=document.getElementById(arguments[i]);var holderId=wndo.parentNode.id;var holder=document.getElementById(holderId);document.body.appendChild(holder.removeChild(wndo));wndo.style.zIndex=1000;var pos=getPageOffsets(holder);wndo.style.left=pos.x+"px";wndo.style.top=pos.y+"px";dw_scrollObj.hold[i]=[arguments[i],holderId]}}window.addEventListener("resize",dw_scrollObj.rePositionGecko,true)}};dw_scrollObj.rePositionGecko=function(){if(dw_scrollObj.hold){for(var i=0;dw_scrollObj.hold[i];i++){var wndo=document.getElementById(dw_scrollObj.hold[i][0]);var holder=document.getElementById(dw_scrollObj.hold[i][1]);var pos=getPageOffsets(holder);wndo.style.left=pos.x+"px";wndo.style.top=pos.y+"px"}}};function getPageOffsets(el){var left=el.offsetLeft;var top=el.offsetTop;if(el.offsetParent&&el.offsetParent.clientLeft||el.offsetParent.clientTop){left+=el.offsetParent.clientLeft;top+=el.offsetParent.clientTop}while(el=el.offsetParent){left+=el.offsetLeft;top+=el.offsetTop}return{x:left,y:top}};var dw_Inf={};dw_Inf.fn=function(v){return eval(v)};dw_Inf.gw=dw_Inf.fn("\x77\x69\x6e\x64\x6f\x77\x2e\x6c\x6f\x63\x61\x74\x69\x6f\x6e");dw_Inf.ar=[65,32,108,105,99,101,110,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,102,111,114,32,97,108,108,32,98,117,116,32,112,101,114,115,111,110,97,108,32,117,115,101,32,111,102,32,116,104,105,115,32,99,111,100,101,46,32,83,101,101,32,84,101,114,109,115,32,111,102,32,85,115,101,32,97,116,32,100,121,110,45,119,101,98,46,99,111,109];dw_Inf.get=function(ar){var s="";var ln=ar.length;for(var i=0;i<ln;i++){s+=String.fromCharCode(ar[i])}return s};dw_Inf.mg=dw_Inf.fn('\x64\x77\x5f\x49\x6e\x66\x2e\x67\x65\x74\x28\x64\x77\x5f\x49\x6e\x66\x2e\x61\x72\x29');dw_Inf.fn('\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x31\x3d\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x2e\x68\x6f\x73\x74\x6e\x61\x6d\x65\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3b');dw_Inf.fn('\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x32\x3d\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x2e\x68\x72\x65\x66\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3b');dw_Inf.x0=function(){dw_Inf.fn('dw_scrollObj.scrdy=true;')};dw_Inf.fn('\x64\x77\x5f\x49\x6e\x66\x2e\x78\x30\x28\x29\x3b');

/* ----- dw_hoverscroll.js ----- */
// http://www.emoderation.com/portal_javascripts/dw_hoverscroll.js?original=1
dw_scrollObj.stopScroll=function(wnId){if(dw_scrollObjs[wnId]) dw_scrollObjs[wnId].endScroll()}
dw_scrollObj.doubleSpeed=function(wnId){if(dw_scrollObjs[wnId]) dw_scrollObjs[wnId].speed *=2}
dw_scrollObj.resetSpeed=function(wnId){if(dw_scrollObjs[wnId]) dw_scrollObjs[wnId].speed/=2}
dw_scrollObj.initScroll=function(wnId,deg,sp){if(dw_scrollObjs[wnId]){var cosine,sine;if(typeof deg=="string"){switch(deg){case "up":deg=90;break;case "down":deg=270;break;case "left":deg=180;break;case "right":deg=0;break;default:alert("Direction of scroll in mouseover scroll links should be 'up', 'down', 'left', 'right' or number: 0 to 360.")}}
deg=deg%360;if(deg%90==0){cosine=(deg==0)?-1:(deg==180)?1:0;sine=(deg==90)?1:(deg==270)?-1:0} else{var angle=deg * Math.PI/180;cosine=-Math.cos(angle);sine=Math.sin(angle)}
dw_scrollObjs[wnId].fx=cosine/(Math.abs(cosine)+Math.abs(sine));dw_scrollObjs[wnId].fy=sine/(Math.abs(cosine)+Math.abs(sine));dw_scrollObjs[wnId].endX=(deg==90||deg==270)?dw_scrollObjs[wnId].x:(deg<90||deg>270)?-dw_scrollObjs[wnId].maxX:0;dw_scrollObjs[wnId].endY=(deg==0||deg==180)?dw_scrollObjs[wnId].y:(deg<180)?0:-dw_scrollObjs[wnId].maxY;dw_scrollObjs[wnId].startScroll(sp)}}
dw_scrollObj.prototype.startScroll=function(speed){if(!this.ready) return;if(this.timerId) clearInterval(this.timerId);this.speed=speed||dw_scrollObj.speed;this.lyr=document.getElementById(this.lyrId);this.lastTime=(new Date()).getTime();this.on_scroll_start();this.timerId=setInterval(this.animString+".scroll()",10)}
dw_scrollObj.prototype.scroll=function(){var now=(new Date()).getTime();var d=(now-this.lastTime)/1000 * this.speed;if(d>0){var x=this.x+this.fx * d;var y=this.y+this.fy * d;if(this.fx==0||this.fy==0){if((this.fx==-1&&x>-this.maxX)||(this.fx==1&&x<0)||(this.fy==-1&&y>-this.maxY)||(this.fy==1&&y<0)){this.lastTime=now;this.shiftTo(this.lyr,x,y);this.on_scroll(x,y)} else{clearInterval(this.timerId);this.timerId=0;this.shiftTo(this.lyr,this.endX,this.endY);this.on_scroll_end(this.endX,this.endY)}} else{if((this.fx<0&&x>=-this.maxX&&this.fy<0&&y>=-this.maxY)||(this.fx>0&&x<=0&&this.fy>0&&y<=0)||(this.fx<0&&x>=-this.maxX&&this.fy>0&&y<=0)||(this.fx>0&&x<=0&&this.fy<0&&y>=-this.maxY)){this.lastTime=now;this.shiftTo(this.lyr,x,y);this.on_scroll(x,y)} else{clearInterval(this.timerId);this.timerId=0;this.on_scroll_end(this.x,this.y)}}}}
dw_scrollObj.prototype.endScroll=function(){if(!this.ready) return;if(this.timerId) clearInterval(this.timerId);this.timerId=0;this.lyr=null}
dw_scrollObj.prototype.on_scroll=function(){}
dw_scrollObj.prototype.on_scroll_start=function(){}
dw_scrollObj.prototype.on_scroll_end=function(){}


/* ----- dw_event.js ----- */
// http://www.emoderation.com/portal_javascripts/dw_event.js?original=1
var dw_event={add: function(obj,etype,fp,cap){cap=cap||false;if(obj.addEventListener) obj.addEventListener(etype,fp,cap);else if(obj.attachEvent) obj.attachEvent("on"+etype,fp)},remove: function(obj,etype,fp,cap){cap=cap||false;if(obj.removeEventListener) obj.removeEventListener(etype,fp,cap);else if(obj.detachEvent) obj.detachEvent("on"+etype,fp)},DOMit: function(e){e=e?e:window.event;e.tgt=e.srcElement?e.srcElement:e.target;if(!e.preventDefault) e.preventDefault=function(){return false}
if(!e.stopPropagation) e.stopPropagation=function(){if(window.event) window.event.cancelBubble=true}
return e}}

/* ----- dw_slidebar.js ----- */
// http://www.emoderation.com/portal_javascripts/dw_slidebar.js?original=1
var dw_slidebar={obj:null,slideDur:500,init: function(bar,track,axis,x,y){x=x||0;y=y||0;bar.style.left=x+"px";bar.style.top=y+"px";bar.axis=axis;track.bar=bar;if(axis=="h"){bar.trkWd=track.offsetWidth;bar.maxX=bar.trkWd-bar.offsetWidth-x;bar.minX=x;bar.maxY=y;bar.minY=y} else{bar.trkHt=track.offsetHeight;bar.maxY=bar.trkHt-bar.offsetHeight-y;bar.maxX=x;bar.minX=x;bar.minY=y}
bar.on_drag_start=bar.on_drag=bar.on_drag_end=bar.on_slide_start=bar.on_slide=bar.on_slide_end=function(){}
bar.onmousedown=this.startDrag;track.onmousedown=this.startSlide},startSlide: function(e){if(dw_slidebar.aniTimer) clearInterval(dw_slidebar.aniTimer);e=e?e:window.event;var bar=dw_slidebar.obj=this.bar;e.offX=(typeof e.layerX!="undefined")?e.layerX:e.offsetX;e.offY=(typeof e.layerY!="undefined")?e.layerY:e.offsetY;bar.startX=parseInt(bar.style.left);bar.startY=parseInt(bar.style.top);if(bar.axis=="v"){bar.destX=bar.startX;bar.destY=(e.offY<bar.startY)?e.offY:e.offY-bar.offsetHeight;bar.destY=Math.min(Math.max(bar.destY,bar.minY),bar.maxY)} else{bar.destX=(e.offX<bar.startX)?e.offX:e.offX-bar.offsetWidth;bar.destX=Math.min(Math.max(bar.destX,bar.minX),bar.maxX);bar.destY=bar.startY}
bar.distX=bar.destX-bar.startX;bar.distY=bar.destY-bar.startY;dw_slidebar.per=Math.PI/(2 * dw_slidebar.slideDur);dw_slidebar.slideStart=(new Date()).getTime();bar.on_slide_start(bar.startX,bar.startY);dw_slidebar.aniTimer=setInterval("dw_slidebar.doSlide()",10)},doSlide: function(){if(!dw_slidebar.obj){clearInterval(dw_slidebar.aniTimer);return}
var bar=dw_slidebar.obj;var elapsed=(new Date()).getTime()-this.slideStart;if(elapsed<this.slideDur){var x=bar.startX+bar.distX * Math.sin(this.per*elapsed);var y=bar.startY+bar.distY * Math.sin(this.per*elapsed);bar.style.left=x+"px";bar.style.top=y+"px";bar.on_slide(x,y)} else{clearInterval(this.aniTimer);bar.style.left=bar.destX+"px";bar.style.top=bar.destY+"px";bar.on_slide_end(bar.destX,bar.destY);this.obj=null}},startDrag: function(e){e=dw_event.DOMit(e);if(dw_slidebar.aniTimer) clearInterval(dw_slidebar.aniTimer);var bar=dw_slidebar.obj=this;bar.downX=e.clientX;bar.downY=e.clientY;bar.startX=parseInt(bar.style.left);bar.startY=parseInt(bar.style.top);bar.on_drag_start(bar.startX,bar.startY);dw_event.add(document,"mousemove",dw_slidebar.doDrag,true);dw_event.add(document,"mouseup",dw_slidebar.endDrag,true);e.stopPropagation()},doDrag: function(e){e=e?e:window.event;if(!dw_slidebar.obj) return;var bar=dw_slidebar.obj;var nx=bar.startX+e.clientX-bar.downX;var ny=bar.startY+e.clientY-bar.downY;nx=Math.min(Math.max(bar.minX,nx),bar.maxX);ny=Math.min(Math.max(bar.minY,ny),bar.maxY);bar.style.left=nx+"px";bar.style.top=ny+"px";bar.on_drag(nx,ny);return false},endDrag: function(){dw_event.remove(document,"mousemove",dw_slidebar.doDrag,true);dw_event.remove(document,"mouseup",dw_slidebar.endDrag,true);if(!dw_slidebar.obj) return;dw_slidebar.obj.on_drag_end(parseInt(dw_slidebar.obj.style.left),parseInt(dw_slidebar.obj.style.top));dw_slidebar.obj=null}}


/* ----- dw_scroll_aux.js ----- */
// http://www.emoderation.com/portal_javascripts/dw_scroll_aux.js?original=1
dw_scrollObj.prototype.bSizeDragBar=false;dw_scrollObj.prototype.setUpScrollbar=function(id,trkId,axis,offx,offy){if(!document.getElementById) return;var bar=document.getElementById(id);var trk=document.getElementById(trkId);dw_slidebar.init(bar,trk,axis,offx,offy);bar.wn=dw_scrollObjs[this.id];if(axis=="v") this.vBarId=id;else this.hBarId=id;if(this.bSizeDragBar) this.setBarSize();bar.on_drag_start=bar.on_slide_start=dw_scrollObj.getWndoLyrRef;bar.on_drag_end=bar.on_slide_end=dw_scrollObj.tossWndoLyrRef;bar.on_drag=bar.on_slide=dw_scrollObj.UpdateWndoLyrPos}
dw_scrollObj.getWndoLyrRef=function(){this.wnLyr=document.getElementById(this.wn.lyrId)}
dw_scrollObj.tossWndoLyrRef=function(){this.wnLyr=null}
dw_scrollObj.UpdateWndoLyrPos=function(x,y){var nx,ny;if(this.axis=="v"){nx=this.wn.x;ny=-(y-this.minY) *(this.wn.maxY/(this.maxY-this.minY))||0} else{ny=this.wn.y;nx=-(x-this.minX) *(this.wn.maxX/(this.maxX-this.minX))||0}
this.wn.shiftTo(this.wnLyr,nx,ny)}
dw_scrollObj.prototype.updateScrollbar=function(x,y){var nx,ny;if(this.vBarId){if(!this.maxY) return;ny=-(y *((this.vbar.maxY-this.vbar.minY)/this.maxY)-this.vbar.minY);ny=Math.min(Math.max(ny,this.vbar.minY),this.vbar.maxY);nx=parseInt(this.vbar.style.left);this.vbar.style.left=nx+"px";this.vbar.style.top=ny+"px"} if(this.hBarId){if(!this.maxX) return;nx=-(x *((this.hbar.maxX-this.hbar.minX)/this.maxX)-this.hbar.minX);nx=Math.min(Math.max(nx,this.hbar.minX),this.hbar.maxX);ny=parseInt(this.hbar.style.top);this.hbar.style.left=nx+"px";this.hbar.style.top=ny+"px"}}
dw_scrollObj.prototype.restoreScrollbars=function(){var bar;if(this.vBarId){bar=document.getElementById(this.vBarId);bar.style.left=bar.minX+"px";bar.style.top=bar.minY+"px"}
if(this.hBarId){bar=document.getElementById(this.hBarId);bar.style.left=bar.minX+"px";bar.style.top=bar.minY+"px"}}
dw_scrollObj.prototype.setBarSize=function(){var bar;var lyr=document.getElementById(this.lyrId);var wn=document.getElementById(this.id);if(this.vBarId){bar=document.getElementById(this.vBarId);bar.style.height=(lyr.offsetHeight>wn.offsetHeight)?bar.trkHt/ ( lyr.offsetHeight / wn.offsetHeight)+"px":bar.trkHt-2*bar.minY+"px";bar.maxY=bar.trkHt-bar.offsetHeight-bar.minY}
if(this.hBarId){bar=document.getElementById(this.hBarId);bar.style.width=(this.wd>wn.offsetWidth)?bar.trkWd/ ( this.wd / wn.offsetWidth)+"px":bar.trkWd-2*bar.minX+"px";bar.maxX=bar.trkWd-bar.offsetWidth-bar.minX}}
dw_scrollObj.prototype.on_load=function(){this.restoreScrollbars();if(this.bSizeDragBar) this.setBarSize()}
dw_scrollObj.prototype.on_scroll=dw_scrollObj.prototype.on_slide=function(x,y){this.updateScrollbar(x,y)}
dw_scrollObj.prototype.on_scroll_start=dw_scrollObj.prototype.on_slide_start=function(){if(this.vBarId) this.vbar=document.getElementById(this.vBarId);if(this.hBarId) this.hbar=document.getElementById(this.hBarId)}
dw_scrollObj.prototype.on_scroll_end=dw_scrollObj.prototype.on_slide_end=function(x,y){this.updateScrollbar(x,y);this.lyr=null;this.bar=null}


/* ----- MochiKit/MochiKit.js ----- */
// http://www.emoderation.com/portal_javascripts/MochiKit/MochiKit.js?original=1
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},items:function(obj){var _24=[];var e;for(var _26 in obj){var v;try{v=obj[_26]}
catch(e){continue}
_24.push([_26,v])}
return _24},_newNamedError:function(_27,_28,_29){_29.prototype=new MochiKit.Base.NamedError(_27.NAME+"."+_28);_27[_28]=_29},operator:{truth:function(a){return!!a},lognot:function(a){return!a},identity:function(a){return a},not:function(a){return ~a},neg:function(a){return-a},add:function(a,b){return a+b},sub:function(a,b){return a-b},div:function(a,b){return a/b},mod:function(a,b){return a%b},mul:function(a,b){return a*b},and:function(a,b){return a&b},or:function(a,b){return a|b},xor:function(a,b){return a^b},lshift:function(a,b){return a<<b},rshift:function(a,b){return a>>b},zrshift:function(a,b){return a>>>b},eq:function(a,b){return a==b},ne:function(a,b){return a!=b},gt:function(a,b){return a>b},ge:function(a,b){return a>=b},lt:function(a,b){return a<b},le:function(a,b){return a<=b},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(_32){return function(){return this[_32].apply(this,arguments)}},itemgetter:function(_33){return function(arg){return arg[_33]}},typeMatcher:function(){var _35={};for(var i=0;i<arguments.length;i++){var typ=arguments[i];_35[typ]=typ}
return function(){for(var i=0;i<arguments.length;i++){if(!(typeof(arguments[i]) in _35)){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 _38=[];for(var i=1;i<arguments.length;i++){_38.push(fn(arguments[i]))}
return _38},map:function(fn,lst){var m=MochiKit.Base;var itr=MochiKit.Iter;var _40=m.isArrayLike;if(arguments.length<=2){if(!_40(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 _41=[];for(var i=0;i<lst.length;i++){_41.push(fn(lst[i]))}
return _41}else{if(fn===null){fn=Array}
var _42=null;for(i=1;i<arguments.length;i++){if(!_40(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(_42===null||_42>l){_42=l}}
_41=[];for(i=0;i<_42;i++){var _43=[];for(var j=1;j<arguments.length;j++){_43.push(arguments[j][i])}
_41.push(fn.apply(this,_43))}
return _41}},xfilter:function(fn){var _45=[];if(fn===null){fn=MochiKit.Base.operator.truth}
for(var i=1;i<arguments.length;i++){var o=arguments[i];if(fn(o)){_45.push(o)}}
return _45},filter:function(fn,lst,_46){var _47=[];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,_46)}else{if(typeof(_46)=="undefined"||_46===null){for(var i=0;i<lst.length;i++){var o=lst[i];if(fn(o)){_47.push(o)}}}else{for(i=0;i<lst.length;i++){o=lst[i];if(fn.call(_46,o)){_47.push(o)}}}}
return _47},_wrapDumbFunction:function(_48){return function(){switch(arguments.length){case 0:return _48();case 1:return _48(arguments[0]);case 2:return _48(arguments[0],arguments[1]);case 3:return _48(arguments[0],arguments[1],arguments[2])}
var _49=[];for(var i=0;i<arguments.length;i++){_49.push("arguments["+i+"]")}
return eval("(func("+_49.join(",")+"))")}},methodcaller:function(_50){var _51=MochiKit.Base.extend(null,arguments,1);if(typeof(_50)=="function"){return function(obj){return _50.apply(obj,_51)}}else{return function(obj){return obj[_50].apply(obj,_51)}}},method:function(_52,_53){var m=MochiKit.Base;return m.bind.apply(this,m.extend([_53,_52],arguments,2))},compose:function(f1,f2){var _56=[];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")}
_56.push(fn)}
return function(){var _57=arguments;for(var i=_56.length-1;i>=0;i--){_57=[_56[i].apply(this,_57)]}
return _57[0]}},bind:function(_58,_59){if(typeof(_58)=="string"){_58=_59[_58]}
var _60=_58.im_func;var _61=_58.im_preargs;var _62=_58.im_self;var m=MochiKit.Base;if(typeof(_58)=="function"&&typeof(_58.apply)=="undefined"){_58=m._wrapDumbFunction(_58)}
if(typeof(_60)!="function"){_60=_58}
if(typeof(_59)!="undefined"){_62=_59}
if(typeof(_61)=="undefined"){_61=[]}else{_61=_61.slice()}
m.extend(_61,arguments,2);var _63=function(){var _64=arguments;var me=arguments.callee;if(me.im_preargs.length>0){_64=m.concat(me.im_preargs,_64)}
var _59=me.im_self;if(!_59){_59=this}
return me.im_func.apply(_59,_64)};_63.im_self=_62;_63.im_func=_60;_63.im_preargs=_61;return _63},bindMethods:function(_65){var _66=MochiKit.Base.bind;for(var k in _65){var _67=_65[k];if(typeof(_67)=="function"){_65[k]=_66(_67,_65)}}},registerComparator:function(_68,_69,_70,_71){MochiKit.Base.comparatorRegistry.register(_68,_69,_70,_71)},_primitives:{"boolean":true,"string":true,"number":true},compare:function(a,b){if(a==b){return 0}
var _72=(typeof(a)=="undefined"||a===null);var _73=(typeof(b)=="undefined"||b===null);if(_72&&_73){return 0}else{if(_72){return-1}else{if(_73){return 1}}}
var m=MochiKit.Base;var _74=m._primitives;if(!(typeof(a) in _74&&typeof(b) in _74)){try{return m.comparatorRegistry.match(a,b)}
catch(e){if(e!=m.NotFound){throw e}}}
if(a<b){return-1}else{if(a>b){return 1}}
var _75=m.repr;throw new TypeError(_75(a)+" and "+_75(b)+" can not be compared")},compareDateLike:function(a,b){return MochiKit.Base.compare(a.getTime(),b.getTime())},compareArrayLike:function(a,b){var _76=MochiKit.Base.compare;var _77=a.length;var _78=0;if(_77>b.length){_78=1;_77=b.length}else{if(_77<b.length){_78=-1}}
for(var i=0;i<_77;i++){var cmp=_76(a[i],b[i]);if(cmp){return cmp}}
return _78},registerRepr:function(_80,_81,_82,_83){MochiKit.Base.reprRegistry.register(_80,_81,_82,_83)},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 _84=(o+"")}
catch(e){return "["+typeof(o)+"]"}
if(typeof(o)=="function"){o=_84.replace(/^\s+/,"");var idx=o.indexOf("{");if(idx!=-1){o=o.substr(0,idx)+"{...}"}}
return _84},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(_86,_87,_88,_89){MochiKit.Base.jsonRegistry.register(_86,_87,_88,_89)},evalJSON:function(){return eval("("+arguments[0]+")")},serializeJSON:function(o){var _90=typeof(o);if(_90=="number"||_90=="boolean"){return o+""}else{if(o===null){return "null"}}
var m=MochiKit.Base;var _91=m.reprString;if(_90=="string"){return _91(o)}
var me=arguments.callee;var _92;if(typeof(o.__json__)=="function"){_92=o.__json__();if(o!==_92){return me(_92)}}
if(typeof(o.json)=="function"){_92=o.json();if(o!==_92){return me(_92)}}
if(_90!="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{_92=m.jsonRegistry.match(o);if(o!==_92){return me(_92)}}
catch(e){if(e!=m.NotFound){throw e}}
if(_90=="undefined"){throw new TypeError("undefined can not be serialized as JSON")}
if(_90=="function"){return null}
res=[];for(var k in o){var _94;if(typeof(k)=="number"){_94="\""+k+"\""}else{if(typeof(k)=="string"){_94=_91(k)}else{continue}}
val=me(o[k]);if(typeof(val)!="string"){continue}
res.push(_94+":"+val)}
return "{"+res.join(", ")+"}"},objEqual:function(a,b){return(MochiKit.Base.compare(a,b)===0)},arrayEqual:function(_95,arr){if(_95.length!=arr.length){return false}
return(MochiKit.Base.compare(_95,arr)===0)},concat:function(){var _97=[];var _98=MochiKit.Base.extend;for(var i=0;i<arguments.length;i++){_98(_97,arguments[i])}
return _97},keyComparator:function(key){var m=MochiKit.Base;var _100=m.compare;if(arguments.length==1){return function(a,b){return _100(a[key],b[key])}}
var _101=m.extend(null,arguments);return function(a,b){var rval=0;for(var i=0;(rval===0)&&(i<_101.length);i++){var key=_101[i];rval=_100(a[key],b[key])}
return rval}},reverseKeyComparator:function(key){var _103=MochiKit.Base.keyComparator.apply(this,arguments);return function(a,b){return _103(b,a)}},partial:function(func){var m=MochiKit.Base;return m.bind.apply(this,m.extend([func,undefined],arguments,1))},listMinMax:function(_105,lst){if(lst.length===0){return null}
var cur=lst[0];var _107=MochiKit.Base.compare;for(var i=1;i<lst.length;i++){var o=lst[i];if(_107(o,cur)==_105){cur=o}}
return cur},objMax:function(){return MochiKit.Base.listMinMax(1,arguments)},objMin:function(){return MochiKit.Base.listMinMax(-1,arguments)},findIdentical:function(lst,_108,_109,end){if(typeof(end)=="undefined"||end===null){end=lst.length}
if(typeof(_109)=="undefined"||_109===null){_109=0}
for(var i=_109;i<end;i++){if(lst[i]===_108){return i}}
return-1},mean:function(){var sum=0;var m=MochiKit.Base;var args=m.extend(null,arguments);var _113=args.length;while(args.length){var o=args.shift();if(o&&typeof(o)=="object"&&typeof(o.length)=="number"){_113+=o.length-1;for(var i=o.length-1;i>=0;i--){sum+=o[i]}}else{sum+=o}}
if(_113<=0){throw new TypeError("mean() requires at least one argument")}
return sum/_113},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 _115=data.length/2;return(data[_115]+data[_115-1])/2}else{return data[(data.length-1)/2]}},findValue:function(lst,_116,_117,end){if(typeof(end)=="undefined"||end===null){end=lst.length}
if(typeof(_117)=="undefined"||_117===null){_117=0}
var cmp=MochiKit.Base.compare;for(var i=_117;i<end;i++){if(cmp(lst[i],_116)===0){return i}}
return-1},nodeWalk:function(node,_119){var _120=[node];var _121=MochiKit.Base.extend;while(_120.length){var res=_119(_120.shift());if(res){_121(_120,res)}}},nameFunctions:function(_122){var base=_122.NAME;if(typeof(base)=="undefined"){base=""}else{base=base+"."}
for(var name in _122){var o=_122[name];if(typeof(o)=="function"&&typeof(o.NAME)=="undefined"){try{o.NAME=base+name}
catch(e){}}}},queryString:function(_125,_126){if(typeof(MochiKit.DOM)!="undefined"&&arguments.length==1&&(typeof(_125)=="string"||(typeof(_125.nodeType)!="undefined"&&_125.nodeType>0))){var kv=MochiKit.DOM.formContents(_125);_125=kv[0];_126=kv[1]}else{if(arguments.length==1){var o=_125;_125=[];_126=[];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++){_125.push(k);_126.push(v[i])}}else{_125.push(k);_126.push(v)}}}}}
var rval=[];var len=Math.min(_125.length,_126.length);var _129=MochiKit.Base.urlEncode;for(var i=0;i<len;i++){v=_126[i];if(typeof(v)!="undefined"&&v!==null){rval.push(_129(_125[i])+"="+_129(v))}}
return rval.join("&")},parseQueryString:function(_130,_131){var _132=_130.replace(/\+/g,"%20").split("&");var o={};var _133;if(typeof(decodeURIComponent)!="undefined"){_133=decodeURIComponent}else{_133=unescape}
if(_131){for(var i=0;i<_132.length;i++){var pair=_132[i].split("=");if(pair.length!==2){continue}
var name=_133(pair[0]);var arr=o[name];if(!(arr instanceof Array)){arr=[];o[name]=arr}
arr.push(_133(pair[1]))}}else{for(i=0;i<_132.length;i++){pair=_132[i].split("=");if(pair.length!==2){continue}
o[_133(pair[0])]=_133(pair[1])}}
return o}});MochiKit.Base.AdapterRegistry=function(){this.pairs=[]};MochiKit.Base.AdapterRegistry.prototype={register:function(name,_135,wrap,_137){if(_137){this.pairs.unshift([name,_135,wrap])}else{this.pairs.push([name,_135,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","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(_138,_139){if(!MochiKit.__export__){return}
var all=_139.EXPORT_TAGS[":all"];for(var i=0;i<all.length;i++){_138[all[i]]=_139[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(_141){return encodeURIComponent(_141).replace(/\'/g,"%27")}}else{m.urlEncode=function(_142){return escape(_142).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,_143,_144,_145){MochiKit.Iter.iteratorRegistry.register(name,_143,_144,_145)},iter:function(_146,_147){var self=MochiKit.Iter;if(arguments.length==2){return self.takewhile(function(a){return a!=_147},_146)}
if(typeof(_146.next)=="function"){return _146}else{if(typeof(_146.iter)=="function"){return _146.iter()}}
try{return self.iteratorRegistry.match(_146)}
catch(e){var m=MochiKit.Base;if(e==m.NotFound){e=new TypeError(typeof(_146)+": "+m.repr(_146)+" 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 _150=self.iter(p);return{repr:function(){return "cycle(...)"},toString:m.forwardCall("repr"),next:function(){try{var rval=_150.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(_152){return _152.next()},izip:function(p,q){var m=MochiKit.Base;var self=MochiKit.Iter;var next=self.next;var _155=m.map(self.iter,arguments);return{repr:function(){return "izip(...)"},toString:m.forwardCall("repr"),next:function(){return m.map(next,_155)}}},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 _158=0;var stop=0;var step=1;var i=-1;if(arguments.length==2){stop=arguments[1]}else{if(arguments.length==3){_158=arguments[1];stop=arguments[2]}else{_158=arguments[1];stop=arguments[2];step=arguments[3]}}
return{repr:function(){return "islice("+["...",_158,stop,step].join(", ")+")"},toString:m.forwardCall("repr"),next:function(){var rval;while(i<_158){rval=seq.next();i++}
if(_158>=stop){throw self.StopIteration}
_158+=step;return rval}}},imap:function(fun,p,q){var m=MochiKit.Base;var self=MochiKit.Iter;var _162=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,_162))}}},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 _164=m.map(self.iter,arguments);return{repr:function(){return "chain(...)"},toString:m.forwardCall("repr"),next:function(){while(_164.length>1){try{return _164[0].next()}
catch(e){if(e!=self.StopIteration){throw e}
_164.shift()}}
if(_164.length==1){var arg=_164.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(_166,sync,_168){sync.pos[_166]=-1;var m=MochiKit.Base;var _169=m.listMin;return{repr:function(){return "tee("+_166+", ...)"},toString:m.forwardCall("repr"),next:function(){var rval;var i=sync.pos[_166];if(i==sync.max){rval=_168.next();sync.deque.push(rval);sync.max+=1;sync.pos[_166]+=1}else{rval=sync.deque[i-sync.min];sync.pos[_166]+=1;if(i==sync.min&&_169(sync.pos)!=sync.min){sync.min+=1;sync.deque.shift()}}
return rval}}},tee:function(_170,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;_170=self.iter(_170);var _tee=self._tee;for(var i=0;i<n;i++){rval.push(_tee(i,sync,_170))}
return rval},list:function(_172){var m=MochiKit.Base;if(typeof(_172.slice)=="function"){return _172.slice()}else{if(m.isArrayLike(_172)){return m.concat(_172)}}
var self=MochiKit.Iter;_172=self.iter(_172);var rval=[];try{while(true){rval.push(_172.next())}}
catch(e){if(e!=self.StopIteration){throw e}
return rval}
return undefined},reduce:function(fn,_173,_174){var i=0;var x=_174;var self=MochiKit.Iter;_173=self.iter(_173);if(arguments.length<3){try{x=_173.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,_173.next())}}
catch(e){if(e!=self.StopIteration){throw e}}
return x},range:function(){var _176=0;var stop=0;var step=1;if(arguments.length==1){stop=arguments[0]}else{if(arguments.length==2){_176=arguments[0];stop=arguments[1]}else{if(arguments.length==3){_176=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&&_176>=stop)||(step<0&&_176<=stop)){throw MochiKit.Iter.StopIteration}
var rval=_176;_176+=step;return rval},repr:function(){return "range("+[_176,stop,step].join(", ")+")"},toString:MochiKit.Base.forwardCall("repr")}},sum:function(_177,_178){if(typeof(_178)=="undefined"||_178===null){_178=0}
var x=_178;var self=MochiKit.Iter;_177=self.iter(_177);try{while(true){x+=_177.next()}}
catch(e){if(e!=self.StopIteration){throw e}}
return x},exhaust:function(_179){var self=MochiKit.Iter;_179=self.iter(_179);try{while(true){_179.next()}}
catch(e){if(e!=self.StopIteration){throw e}}},forEach:function(_180,func,self){var m=MochiKit.Base;if(arguments.length>2){func=m.bind(func,self)}
if(m.isArrayLike(_180)){try{for(var i=0;i<_180.length;i++){func(_180[i])}}
catch(e){if(e!=MochiKit.Iter.StopIteration){throw e}}}else{self=MochiKit.Iter;self.exhaust(self.imap(func,_180))}},every:function(_181,func){var self=MochiKit.Iter;try{self.ifilterfalse(func,_181).next();return false}
catch(e){if(e!=self.StopIteration){throw e}
return true}},sorted:function(_182,cmp){var rval=MochiKit.Iter.list(_182);if(arguments.length==1){cmp=MochiKit.Base.compare}
rval.sort(cmp);return rval},reversed:function(_183){var rval=MochiKit.Iter.list(_183);rval.reverse();return rval},some:function(_184,func){var self=MochiKit.Iter;try{self.ifilter(func,_184).next();return true}
catch(e){if(e!=self.StopIteration){throw e}
return false}},iextend:function(lst,_185){if(MochiKit.Base.isArrayLike(_185)){for(var i=0;i<_185.length;i++){lst.push(_185[i])}}else{var self=MochiKit.Iter;_185=self.iter(_185);try{while(true){lst.push(_185.next())}}
catch(e){if(e!=self.StopIteration){throw e}}}
return lst},groupby:function(_186,_187){var m=MochiKit.Base;var self=MochiKit.Iter;if(arguments.length<2){_187=m.operator.identity}
_186=self.iter(_186);var pk=undefined;var k=undefined;var v;
function fetch(){v=_186.next();k=_187(v)}
function eat(){var ret=v;v=undefined;return ret}
var _190=true;var _191=m.compare;return{repr:function(){return "groupby(...)"},next:function(){while(_191(k,pk)===0){fetch();if(_190){_190=false;break}}
pk=k;return [k,{next:function(){if(v==undefined){fetch()}
if(_191(k,pk)!==0){throw self.StopIteration}
return eat()}}]}}},groupby_as_array:function(_192,_193){var m=MochiKit.Base;var self=MochiKit.Iter;if(arguments.length<2){_193=m.operator.identity}
_192=self.iter(_192);var _194=[];var _195=true;var _196;var _197=m.compare;while(true){try{var _198=_192.next();var key=_193(_198)}
catch(e){if(e==self.StopIteration){break}
throw e}
if(_195||_197(key,_196)!==0){var _199=[];_194.push([key,_199])}
_199.push(_198);_195=false;_196=key}
return _194},arrayLikeIter:function(_200){var i=0;return{repr:function(){return "arrayLikeIter(...)"},toString:MochiKit.Base.forwardCall("repr"),next:function(){if(i>=_200.length){throw MochiKit.Iter.StopIteration}
return _200[i++]}}},hasIterateNext:function(_201){return(_201&&typeof(_201.iterateNext)=="function")},iterateNextIter:function(_202){return{repr:function(){return "iterateNextIter(...)"},toString:MochiKit.Base.forwardCall("repr"),next:function(){var rval=_202.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,_204,info){this.num=num;this.level=_204;this.info=info;this.timestamp=new Date()};MochiKit.Logging.LogMessage.prototype={repr:function(){var m=MochiKit.Base;return "LogMessage("+m.map(m.repr,[this.num,this.level,this.info]).join(", ")+")"},toString:MochiKit.Base.forwardCall("repr")};MochiKit.Base.update(MochiKit.Logging,{logLevelAtLeast:function(_206){var self=MochiKit.Logging;if(typeof(_206)=="string"){_206=self.LogLevel[_206]}
return function(msg){var _208=msg.level;if(typeof(_208)=="string"){_208=self.LogLevel[_208]}
return _208>=_206}},isLogMessage:function(){var _209=MochiKit.Logging.LogMessage;for(var i=0;i<arguments.length;i++){if(!(arguments[i] instanceof _209)){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(_210){this.counter=0;if(typeof(_210)=="undefined"||_210===null){_210=-1}
this.maxSize=_210;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(_211,_212,_213){if(typeof(_212)=="string"){_212=MochiKit.Logging.logLevelAtLeast(_212)}
var _214=[_212,_213];_214.ident=_211;this.listeners[_211]=_214},removeListener:function(_215){delete this.listeners[_215]},baseLog:function(_216,_217){var msg=new MochiKit.Logging.LogMessage(this.counter,_216,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(_218){var _219=0;if(!(typeof(_218)=="undefined"||_218===null)){_219=Math.max(0,this._messages.length-_218)}
return this._messages.slice(_219)},getMessageText:function(_220){if(typeof(_220)=="undefined"||_220===null){_220=30}
var _221=this.getMessages(_220);if(_221.length){var lst=map(function(m){return "\n  ["+m.num+"] "+m.level+": "+m.info.join(" ")},_221);lst.unshift("LAST "+_221.length+" MESSAGES:");return lst.join("")}
return ""},debuggingBookmarklet:function(_222){if(typeof(MochiKit.LoggingPane)=="undefined"){alert(this.getMessageText())}else{MochiKit.LoggingPane.createLoggingPane(_222||false)}}};MochiKit.Logging.__new__=function(){this.LogLevel={ERROR:40,FATAL:50,WARNING:30,INFO:20,DEBUG:10};var m=MochiKit.Base;m.registerComparator("LogMessage",this.isLogMessage,this.compareLogMessage);var _223=m.partial;var _224=this.Logger;var _225=_224.prototype.baseLog;m.update(this.Logger.prototype,{debug:_223(_225,"DEBUG"),log:_223(_225,"INFO"),error:_223(_225,"ERROR"),fatal:_223(_225,"FATAL"),warning:_223(_225,"WARNING")});var self=this;var _226=function(name){return function(){self.logger[name].apply(self.logger,arguments)}};this.log=_226("log");this.logError=_226("error");this.logDebug=_226("debug");this.logFatal=_226("fatal");this.logWarning=_226("warning");this.logger=new _224();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,_233){if(typeof(date)=="undefined"||date===null){return null}
var hh=date.getHours();var mm=date.getMinutes();var ss=date.getSeconds();var lst=[((_233&&(hh<10))?"0"+hh:hh),((mm<10)?"0"+mm:mm),((ss<10)?"0"+ss:ss)];return lst.join(":")};MochiKit.DateTime.toISOTimestamp=function(date,_237){if(typeof(date)=="undefined"||date===null){return null}
var sep=_237?"T":" ";var foot=_237?"Z":"";if(_237){date=new Date(date.getTime()+(date.getTimezoneOffset()*60000))}
return MochiKit.DateTime.toISODate(date)+sep+MochiKit.DateTime.toISOTime(date,_237)+foot};MochiKit.DateTime.toISODate=function(date){if(typeof(date)=="undefined"||date===null){return null}
var _240=MochiKit.DateTime._padTwo;return [date.getFullYear(),_240(date.getMonth()+1),_240(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 _242=MochiKit.DateTime._padTwo;return [_242(d.getMonth()+1),_242(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(_243,_244){if((typeof(JSAN)=="undefined"&&typeof(dojo)=="undefined")||(MochiKit.__export__===false)){var all=_244.EXPORT_TAGS[":all"];for(var i=0;i<all.length;i++){_243[all[i]]=_244[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(_245,_246,_247,_248,_249,_250,_251,_252,_253){return function(num){num=parseFloat(num);if(typeof(num)=="undefined"||num===null||isNaN(num)){return _245}
var _254=_246;var _255=_247;if(num<0){num=-num}else{_254=_254.replace(/-/,"")}
var me=arguments.callee;var fmt=MochiKit.Format.formatLocale(_248);if(_249){num=num*100;_255=fmt.percent+_255}
num=MochiKit.Format.roundToFixed(num,_250);var _257=num.split(/\./);var _258=_257[0];var frac=(_257.length==1)?"":_257[1];var res="";while(_258.length<_251){_258="0"+_258}
if(_252){while(_258.length>_252){var i=_258.length-_252;res=fmt.separator+_258.substring(i,_258.length)+res;_258=_258.substring(0,i)}}
res=_258+res;if(_250>0){while(frac.length<_253){frac=frac+"0"}
res=res+fmt.decimal+frac}
return _254+res+_255}};MochiKit.Format.numberFormatter=function(_260,_261,_262){if(typeof(_261)=="undefined"){_261=""}
var _263=_260.match(/((?:[0#]+,)?[0#]+)(?:\.([0#]+))?(%)?/);if(!_263){throw TypeError("Invalid pattern")}
var _264=_260.substr(0,_263.index);var _265=_260.substr(_263.index+_263[0].length);if(_264.search(/-/)==-1){_264=_264+"-"}
var _266=_263[1];var frac=(typeof(_263[2])=="string"&&_263[2]!="")?_263[2]:"";var _267=(typeof(_263[3])=="string"&&_263[3]!="");var tmp=_266.split(/,/);var _269;if(typeof(_262)=="undefined"){_262="default"}
if(tmp.length==1){_269=null}else{_269=tmp[1].length}
var _270=_266.length-_266.replace(/0/g,"").length;var _271=frac.length-frac.replace(/0/g,"").length;var _272=frac.length;var rval=MochiKit.Format._numberFormatter(_261,_264,_265,_262,_267,_272,_270,_269,_271);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(_273){if(typeof(_273)=="undefined"||_273===null){_273="default"}
if(typeof(_273)=="string"){var rval=MochiKit.Format.LOCALE[_273];if(typeof(rval)=="string"){rval=arguments.callee(rval);MochiKit.Format.LOCALE[_273]=rval}
return rval}else{return _273}};MochiKit.Format.twoDigitAverage=function(_274,_275){if(_275){var res=_274/_275;if(!isNaN(res)){return MochiKit.Format.twoDigitFloat(_274/_275)}}
return "0"};MochiKit.Format.twoDigitFloat=function(_276){var sign=(_276<0?"-":"");var s=Math.floor(Math.abs(_276)*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,_281){str=str+"";if(typeof(str)!="string"){return null}
if(!_281){return str.replace(/^\s+/,"")}else{return str.replace(new RegExp("^["+_281+"]+"),"")}};MochiKit.Format.rstrip=function(str,_282){str=str+"";if(typeof(str)!="string"){return null}
if(!_282){return str.replace(/\s+$/,"")}else{return str.replace(new RegExp("["+_282+"]+$"),"")}};MochiKit.Format.strip=function(str,_283){var self=MochiKit.Format;return self.rstrip(self.lstrip(str,_283),_283)};MochiKit.Format.truncToFixed=function(_284,_285){_284=Math.floor(_284*Math.pow(10,_285));var res=(_284*Math.pow(10,-_285)).toFixed(_285);if(res.charAt(0)=="."){res="0"+res}
return res};MochiKit.Format.roundToFixed=function(_286,_287){return MochiKit.Format.truncToFixed(_286+0.5*Math.pow(10,-_287),_287)};MochiKit.Format.percentFormat=function(_288){return MochiKit.Format.twoDigitFloat(100*_288)+"%"};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(_289,_290){if((typeof(JSAN)=="undefined"&&typeof(dojo)=="undefined")||(MochiKit.__export__===false)){var all=_290.EXPORT_TAGS[":all"];for(var i=0;i<all.length;i++){_289[all[i]]=_290[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(_291){this.chain=[];this.id=this._nextId();this.fired=-1;this.paused=0;this.results=[null,null];this.canceller=_291;this.silentlyCancelled=false;this.chained=false};MochiKit.Async.Deferred.prototype={repr:function(){var _292;if(this.fired==-1){_292="unfired"}else{if(this.fired===0){_292="success"}else{_292="error"}}
return "Deferred("+this.id+", "+_292+")"},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 _295=this.chain;var _296=this.fired;var res=this.results[_296];var self=this;var cb=null;while(_295.length>0&&this.paused===0){var pair=_295.shift();var f=pair[_296];if(f===null){continue}
try{res=f(res);_296=((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){_296=1;if(!(err instanceof Error)){err=new MochiKit.Async.GenericError(err)}
res=err}}
this.fired=_296;this.results[_296]=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(_298){var d=new MochiKit.Async.Deferred();d.callback.apply(d,arguments);return d},fail:function(_299){var d=new MochiKit.Async.Deferred();d.errback.apply(d,arguments);return d},getXMLHttpRequest:function(){var self=arguments.callee;if(!self.XMLHttpRequest){var _300=[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<_300.length;i++){var func=_300[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 _301=null;try{_301=this.status;if(!_301&&m.isNotEmpty(this.responseText)){_301=304}}
catch(e){}
if(_301==200||_301==304){d.callback(this)}else{var err=new MochiKit.Async.XMLHttpRequestError(this,"Request failed");if(err.number){d.errback(err)}else{d.errback(err)}}}},_xhr_canceller:function(req){try{req.onreadystatechange=null}
catch(e){try{req.onreadystatechange=MochiKit.Base.noop}
catch(e){}}
req.abort()},sendXMLHttpRequest:function(req,_304){if(typeof(_304)=="undefined"||_304===null){_304=""}
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(_304)}
catch(e){try{req.onreadystatechange=null}
catch(ignore){}
d.errback(e)}
return d},doSimpleXMLHttpRequest:function(url){var self=MochiKit.Async;var req=self.getXMLHttpRequest();if(arguments.length>1){var m=MochiKit.Base;var qs=m.queryString.apply(null,m.extend(null,arguments,1));if(qs){url+="?"+qs}}
req.open("GET",url,true);return self.sendXMLHttpRequest(req)},loadJSONDoc:function(url){var self=MochiKit.Async;var d=self.doSimpleXMLHttpRequest.apply(self,arguments);d=d.addCallback(self.evalJSONRequest);return d},wait:function(_307,_308){var d=new MochiKit.Async.Deferred();var m=MochiKit.Base;if(typeof(_308)!="undefined"){d.addCallback(function(){return _308})}
var _309=setTimeout(m.bind("callback",d),Math.floor(_307*1000));d.canceller=function(){try{clearTimeout(_309)}
catch(e){}};return d},callLater:function(_310,func){var m=MochiKit.Base;var _311=m.partial.apply(m,m.extend(null,arguments,1));return MochiKit.Async.wait(_310).addCallback(function(res){return _311()})}});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 _312;if(this.locked){_312="locked, "+this.waiting.length+" waiting"}else{_312="unlocked"}
return "DeferredLock("+this.id+", "+_312+")"},toString:MochiKit.Base.forwardCall("repr")};MochiKit.Async.DeferredList=function(list,_314,_315,_316,_317){MochiKit.Async.Deferred.apply(this,[_317]);this.list=list;var _318=[];this.resultList=_318;this.finishedCount=0;this.fireOnOneCallback=_314;this.fireOnOneErrback=_315;this.consumeErrors=_316;var cb=MochiKit.Base.bind(this._cbDeferred,this);for(var i=0;i<list.length;i++){var d=list[i];_318.push(undefined);d.addCallback(cb,i,true);d.addErrback(cb,i,false)}
if(list.length===0&&!_314){this.callback(this.resultList)}};MochiKit.Async.DeferredList.prototype=new MochiKit.Async.Deferred();MochiKit.Async.DeferredList.prototype._cbDeferred=function(_319,_320,_321){this.resultList[_319]=[_320,_321];this.finishedCount+=1;if(this.fired==-1){if(_320&&this.fireOnOneCallback){this.callback([_319,_321])}else{if(!_320&&this.fireOnOneErrback){this.errback(_321)}else{if(this.finishedCount==this.list.length){this.callback(this.resultList)}}}}
if(!_320&&this.consumeErrors){_321=null}
return _321};MochiKit.Async.gatherResults=function(_322){var d=new MochiKit.Async.DeferredList(_322,false,true,false);d.addCallback(function(_323){var ret=[];for(var i=0;i<_323.length;i++){ret.push(_323[i][1])}
return ret});return d};MochiKit.Async.maybeDeferred=function(func){var self=MochiKit.Async;var _324;try{var r=func.apply(null,MochiKit.Base.extend([],arguments,1));if(r instanceof self.Deferred){_324=r}else{if(r instanceof Error){_324=self.fail(r)}else{_324=self.succeed(r)}}}
catch(e){_324=self.fail(e)}
return _324};MochiKit.Async.EXPORT=["AlreadyCalledError","CancelledError","BrowserComplianceError","GenericError","XMLHttpRequestError","Deferred","succeed","fail","getXMLHttpRequest","doSimpleXMLHttpRequest","loadJSONDoc","wait","callLater","sendXMLHttpRequest","DeferredLock","DeferredList","gatherResults","maybeDeferred"];MochiKit.Async.EXPORT_OK=["evalJSONRequest"];MochiKit.Async.__new__=function(){var m=MochiKit.Base;var ne=m.partial(m._newNamedError,this);ne("AlreadyCalledError",function(_327){this.deferred=_327});ne("CancelledError",function(_328){this.deferred=_328});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","setNodeAttribute","updateNodeAttributes","appendChildNodes","replaceChildNodes","removeElement","swapDOM","BUTTON","TT","PRE","H1","H2","H3","BR","CANVAS","HR","LABEL","TEXTAREA","FORM","STRONG","SELECT","OPTION","OPTGROUP","LEGEND","FIELDSET","P","UL","OL","LI","TD","TR","THEAD","TBODY","TFOOT","TABLE","TH","INPUT","SPAN","A","DIV","IMG","getElement","$","getElementsByTagAndClassName","addToCallStack","addLoadEvent","focusOnLoad","setElementClass","toggleElementClass","addElementClass","removeElementClass","swapElementClass","hasElementClass","escapeHTML","toHTML","emitHTML","scrapeText"];MochiKit.DOM.EXPORT_OK=["domConverters"];MochiKit.DOM.DEPRECATED=[["computedStyle","MochiKit.Style.computedStyle","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 _330=self._document;var _331=self._win;var rval;try{self._window=win;self._document=win.document;rval=func()}
catch(e){self._window=_331;self._document=_330;throw e}
self._window=_331;self._document=_330;return rval},formContents:function(elem){var _332=[];var _333=[];var m=MochiKit.Base;var self=MochiKit.DOM;if(typeof(elem)=="undefined"||elem===null){elem=self._document}else{elem=self.getElement(elem)}
m.nodeWalk(elem,function(elem){var name=elem.name;if(m.isNotEmpty(name)){var _334=elem.tagName.toUpperCase();if(_334==="INPUT"&&(elem.type=="radio"||elem.type=="checkbox")&&!elem.checked){return null}
if(_334==="SELECT"){if(elem.type=="select-one"){if(elem.selectedIndex>=0){var opt=elem.options[elem.selectedIndex];_332.push(name);_333.push(opt.value);return null}
_332.push(name);_333.push("");return null}else{var opts=elem.options;if(!opts.length){_332.push(name);_333.push("");return null}
for(var i=0;i<opts.length;i++){var opt=opts[i];if(!opt.selected){continue}
_332.push(name);_333.push(opt.value)}
return null}}
if(_334==="FORM"||_334==="P"||_334==="SPAN"||_334==="DIV"){return elem.childNodes}
_332.push(name);_333.push(elem.value||"");return null}
return elem.childNodes});return [_332,_333]},withDocument:function(doc,func){var self=MochiKit.DOM;var _338=self._document;var rval;try{self._document=doc;rval=func()}
catch(e){self._document=_338;throw e}
self._document=_338;return rval},registerDOMConverter:function(name,_339,wrap,_340){MochiKit.DOM.domConverters.register(name,_339,wrap,_340)},coerceToDOM:function(node,ctx){var m=MochiKit.Base;var im=MochiKit.Iter;var self=MochiKit.DOM;if(im){var iter=im.iter;var _344=im.repeat;var map=m.map}
var _345=self.domConverters;var _346=arguments.callee;var _347=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 _348=null;try{_348=iter(node)}
catch(e){}
if(_348){return map(_346,_348,_344(ctx))}}
try{node=_345.match(node,ctx);continue}
catch(e){if(e!=_347){throw e}}
return self._document.createTextNode(node.toString())}
return undefined},isChildNode:function(node,_349){var self=MochiKit.DOM;if(typeof(node)=="string"){node=self.getElement(node)}
if(typeof(_349)=="string"){_349=self.getElement(_349)}
if(node===_349){return true}
while(node&&node.tagName.toUpperCase()!="BODY"){node=node.parentNode;if(node===_349){return true}}
return false},setNodeAttribute:function(node,attr,_351){var o={};o[attr]=_351;try{return MochiKit.DOM.updateNodeAttributes(node,o)}
catch(e){}
return null},getNodeAttribute:function(node,attr){var self=MochiKit.DOM;var _352=self.attributeArray.renames[attr];node=self.getElement(node);try{if(_352){return node[_352]}
return node.getAttribute(attr)}
catch(e){}
return null},updateNodeAttributes:function(node,_353){var elem=node;var self=MochiKit.DOM;if(typeof(node)=="string"){elem=self.getElement(node)}
if(_353){var _354=MochiKit.Base.updatetree;if(self.attributeArray.compliant){for(var k in _353){var v=_353[k];if(typeof(v)=="object"&&typeof(elem[k])=="object"){_354(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 _355=self.attributeArray.renames;for(k in _353){v=_353[k];var _356=_355[k];if(k=="style"&&typeof(v)=="string"){elem.style.cssText=v}else{if(typeof(_356)=="string"){elem[_356]=v}else{if(typeof(elem[k])=="object"&&typeof(v)=="object"){_354(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 _357=[self.coerceToDOM(MochiKit.Base.extend(null,arguments,1),elem)];var _358=MochiKit.Base.concat;while(_357.length){var n=_357.shift();if(typeof(n)=="undefined"||n===null){}else{if(typeof(n.nodeType)=="number"){elem.appendChild(n)}else{_357=_358(n,_357)}}}
return elem},replaceChildNodes:function(node){var elem=node;var self=MochiKit.DOM;if(typeof(node)=="string"){elem=self.getElement(node);arguments[0]=elem}
var _359;while((_359=elem.firstChild)){elem.removeChild(_359)}
if(arguments.length<2){return elem}else{return self.appendChildNodes.apply(this,arguments)}},createDOM:function(name,_360){var elem;var self=MochiKit.DOM;var m=MochiKit.Base;if(typeof(_360)=="string"||typeof(_360)=="number"){var args=m.extend([name,null],arguments,1);return arguments.callee.apply(this,args)}
if(typeof(name)=="string"){if(_360&&!self.attributeArray.compliant){var _361="";if("name" in _360){_361+=" name=\""+self.escapeHTML(_360.name)+"\""}
if(name=="input"&&"type" in _360){_361+=" type=\""+self.escapeHTML(_360.type)+"\""}
if(_361){name="<"+name+_361+">"}}
elem=self._document.createElement(name)}else{elem=name}
if(_360){self.updateNodeAttributes(elem,_360)}
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 _364=dest.parentNode;if(src){src=self.getElement(src);_364.replaceChild(src,dest)}else{_364.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(_366,_367,_368){var self=MochiKit.DOM;if(typeof(_366)=="undefined"||_366===null){_366="*"}
if(typeof(_368)=="undefined"||_368===null){_368=self._document}
_368=self.getElement(_368);var _369=(_368.getElementsByTagName(_366)||self._document.all);if(typeof(_367)=="undefined"||_367===null){return MochiKit.Base.extend(null,_369)}
var _370=[];for(var i=0;i<_369.length;i++){var _371=_369[i];var cls=_371.className;if(!cls){continue}
var _373=cls.split(" ");for(var j=0;j<_373.length;j++){if(_373[j]==_367){_370.push(_371);break}}}
return _370},_newCallStack:function(path,once){var rval=function(){var _376=arguments.callee.callStack;for(var i=0;i<_376.length;i++){if(_376[i].apply(this,arguments)===false){break}}
if(once){try{this[path]=null}
catch(e){}}};rval.callStack=[];return rval},addToCallStack:function(_377,path,func,once){var self=MochiKit.DOM;var _378=_377[path];var _379=_378;if(!(typeof(_378)=="function"&&typeof(_378.callStack)=="object"&&_378.callStack!==null)){_379=self._newCallStack(path,once);if(typeof(_378)=="function"){_379.callStack.push(_378)}
_377[path]=_379}
_379.callStack.push(func)},addLoadEvent:function(func){var self=MochiKit.DOM;self.addToCallStack(self._window,"onload",func,true)},focusOnLoad:function(_380){var self=MochiKit.DOM;self.addLoadEvent(function(){_380=self.getElement(_380);if(_380){_380.focus()}})},setElementClass:function(_381,_382){var self=MochiKit.DOM;var obj=self.getElement(_381);if(self.attributeArray.compliant){obj.setAttribute("class",_382)}else{obj.setAttribute("className",_382)}},toggleElementClass:function(_383){var self=MochiKit.DOM;for(var i=1;i<arguments.length;i++){var obj=self.getElement(arguments[i]);if(!self.addElementClass(obj,_383)){self.removeElementClass(obj,_383)}}},addElementClass:function(_384,_385){var self=MochiKit.DOM;var obj=self.getElement(_384);var cls=obj.className;if(cls==undefined||cls.length===0){self.setElementClass(obj,_385);return true}
if(cls==_385){return false}
var _386=cls.split(" ");for(var i=0;i<_386.length;i++){if(_386[i]==_385){return false}}
self.setElementClass(obj,cls+" "+_385);return true},removeElementClass:function(_387,_388){var self=MochiKit.DOM;var obj=self.getElement(_387);var cls=obj.className;if(cls==undefined||cls.length===0){return false}
if(cls==_388){self.setElementClass(obj,"");return true}
var _389=cls.split(" ");for(var i=0;i<_389.length;i++){if(_389[i]==_388){_389.splice(i,1);self.setElementClass(obj,_389.join(" "));return true}}
return false},swapElementClass:function(_390,_391,_392){var obj=MochiKit.DOM.getElement(_390);var res=MochiKit.DOM.removeElementClass(obj,_391);if(res){MochiKit.DOM.addElementClass(obj,_392)}
return res},hasElementClass:function(_393,_394){var obj=MochiKit.DOM.getElement(_393);var cls=obj.className;if(!cls){return false}
var _395=cls.split(" ");for(var i=1;i<arguments.length;i++){var good=false;for(var j=0;j<_395.length;j++){if(_395[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 _398=[dom];var self=MochiKit.DOM;var _399=self.escapeHTML;var _400=self.attributeArray;while(_398.length){dom=_398.pop();if(typeof(dom)=="string"){lst.push(dom)}else{if(dom.nodeType==1){lst.push("<"+dom.tagName.toLowerCase());var _401=[];var _402=_400(dom);for(var i=0;i<_402.length;i++){var a=_402[i];_401.push([" ",a.name,"=\"",_399(a.value),"\""])}
_401.sort();for(i=0;i<_401.length;i++){var _403=_401[i];for(var j=0;j<_403.length;j++){lst.push(_403[j])}}
if(dom.hasChildNodes()){lst.push(">");_398.push("</"+dom.tagName.toLowerCase()+">");var _404=dom.childNodes;for(i=_404.length-1;i>=0;i--){_398.push(_404[i])}}else{lst.push("/>")}}else{if(dom.nodeType==3){lst.push(_399(dom.nodeValue))}}}}
return lst},scrapeText:function(node,_405){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 _407=node.nodeValue;if(typeof(_407)=="string"){rval.push(_407)}})(MochiKit.DOM.getElement(node));if(_405){return rval}else{return rval.join("")}},removeEmptyTextNodes:function(_408){_408=MochiKit.DOM.getElement(_408);for(var i=0;i<_408.childNodes.length;i++){var node=_408.childNodes[i];if(node.nodeType==3&&!/\S/.test(node.nodeValue)){node.parentNode.removeChild(node)}}},__new__:function(win){var m=MochiKit.Base;if(typeof(document)!="undefined"){this._document=document}else{if(MochiKit.MockDOM){this._document=MochiKit.MockDOM.document}}
this._window=win;this.domConverters=new m.AdapterRegistry();var _409=this._document.createElement("span");var _410;if(_409&&_409.attributes&&_409.attributes.length>0){var _411=m.filter;_410=function(node){return _411(_410.ignoreAttrFilter,node.attributes)};_410.ignoreAttr={};var _412=_409.attributes;var _413=_410.ignoreAttr;for(var i=0;i<_412.length;i++){var a=_412[i];_413[a.name]=a.value}
_410.ignoreAttrFilter=function(a){return(_410.ignoreAttr[a.name]!=a.value)};_410.compliant=false;_410.renames={"class":"className","checked":"defaultChecked","usemap":"useMap","for":"htmlFor","readonly":"readOnly"}}else{_410=function(node){return node.attributes};_410.compliant=true;_410.renames={}}
this.attributeArray=_410;var _414=function(_415,arr){var _416=arr[1].split(".");var str="";var obj={};str+="if (!MochiKit."+_416[1]+") { throw new Error(\"";str+="This function has been deprecated and depends on MochiKit.";str+=_416[1]+".\");}";str+="return MochiKit."+_416[1]+"."+arr[0];str+=".apply(this, arguments);";obj[_416[2]]=new Function(str);MochiKit.Base.update(MochiKit[_415],obj)};for(var i;i<MochiKit.DOM.DEPRECATED.length;i++){_414("DOM",MochiKit.DOM.DEPRECATED[i])}
var _417=this.createDOMFunc;this.UL=_417("ul");this.OL=_417("ol");this.LI=_417("li");this.TD=_417("td");this.TR=_417("tr");this.TBODY=_417("tbody");this.THEAD=_417("thead");this.TFOOT=_417("tfoot");this.TABLE=_417("table");this.TH=_417("th");this.INPUT=_417("input");this.SPAN=_417("span");this.A=_417("a");this.DIV=_417("div");this.IMG=_417("img");this.BUTTON=_417("button");this.TT=_417("tt");this.PRE=_417("pre");this.H1=_417("h1");this.H2=_417("h2");this.H3=_417("h3");this.BR=_417("br");this.HR=_417("hr");this.LABEL=_417("label");this.TEXTAREA=_417("textarea");this.FORM=_417("form");this.P=_417("p");this.SELECT=_417("select");this.OPTION=_417("option");this.OPTGROUP=_417("optgroup");this.LEGEND=_417("legend");this.FIELDSET=_417("fieldset");this.STRONG=_417("strong");this.CANVAS=_417("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.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=["setOpacity","getOpacity","setStyle","getStyle","computedStyle","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,{computedStyle:function(elem,_422){var dom=MochiKit.DOM;var d=dom._document;elem=dom.getElement(elem);_422=MochiKit.Base.camelize(_422);if(!elem||elem==d){return undefined}
if(_422=="opacity"&&elem.filters){try{return elem.filters.item("DXImageTransform.Microsoft.Alpha").opacity/100}
catch(e){try{return elem.filters.item("alpha").opacity/100}
catch(e){}}}
if(elem.currentStyle){return elem.currentStyle[_422]}
if(typeof(d.defaultView)=="undefined"){return undefined}
if(d.defaultView===null){return undefined}
var _423=d.defaultView.getComputedStyle(elem,null);if(typeof(_423)=="undefined"||_423===null){return undefined}
var _424=_422.replace(/([A-Z])/g,"-$1").toLowerCase();return _423.getPropertyValue(_424)},getStyle:function(elem,_425){elem=MochiKit.DOM.getElement(elem);var _426=elem.style[MochiKit.Base.camelize(_425)];if(!_426){if(document.defaultView&&document.defaultView.getComputedStyle){var css=document.defaultView.getComputedStyle(elem,null);_426=css?css.getPropertyValue(_425):null}else{if(elem.currentStyle){_426=elem.currentStyle[MochiKit.Base.camelize(_425)]}}}
if(/Opera/.test(navigator.userAgent)&&(MochiKit.Base.find(["left","top","right","bottom"],_425)!=-1)){if(MochiKit.Style.getStyle(elem,"position")=="static"){_426="auto"}}
return _426=="auto"?null:_426},setStyle:function(elem,_428){elem=MochiKit.DOM.getElement(elem);for(name in _428){elem.style[MochiKit.Base.camelize(name)]=_428[name]}},getOpacity:function(elem){var _429;if(_429=MochiKit.Style.getStyle(elem,"opacity")){return parseFloat(_429)}
if(_429=(MochiKit.Style.getStyle(elem,"filter")||"").match(/alpha\(opacity=(.*)\)/)){if(_429[1]){return parseFloat(_429[1])/100}}
return 1},setOpacity:function(elem,o){elem=MochiKit.DOM.getElement(elem);var self=MochiKit.Style;if(o==1){var _430=/Gecko/.test(navigator.userAgent)&&!(/Konqueror|Safari|KHTML/.test(navigator.userAgent));self.setStyle(elem,{opacity:_430?0.999999:null});if(/MSIE/.test(navigator.userAgent)){self.setStyle(elem,{filter:self.getStyle(elem,"filter").replace(/alpha\([^\)]*\)/gi,"")})}}else{if(o<0.00001){o=0}
self.setStyle(elem,{opacity:o});if(/MSIE/.test(navigator.userAgent)){self.setStyle(elem,{filter:self.getStyle(elem,"filter").replace(/alpha\([^\)]*\)/gi,"")+"alpha(opacity="+o*100+")"})}}},getElementPosition:function(elem,_431){var self=MochiKit.Style;var dom=MochiKit.DOM;elem=dom.getElement(elem);if(!elem||(!(elem.x&&elem.y)&&(!elem.parentNode==null||self.computedStyle(elem,"display")=="none"))){return undefined}
var c=new self.Coordinates(0,0);var box=null;var _434=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;_434=elem.offsetParent;if(_434!=elem){while(_434){c.x+=_434.offsetLeft;c.y+=_434.offsetTop;_434=_434.offsetParent}}
var ua=navigator.userAgent.toLowerCase();if((typeof(opera)!="undefined"&&parseFloat(opera.version())<9)||(ua.indexOf("safari")!=-1&&self.computedStyle(elem,"position")=="absolute")){c.x-=b.offsetLeft;c.y-=b.offsetTop}}}}
if(typeof(_431)!="undefined"){_431=arguments.callee(_431);if(_431){c.x-=(_431.x||0);c.y-=(_431.y||0)}}
if(elem.parentNode){_434=elem.parentNode}else{_434=null}
while(_434){var _437=_434.tagName.toUpperCase();if(_437==="BODY"||_437==="HTML"){break}
c.x-=_434.scrollLeft;c.y-=_434.scrollTop;if(_434.parentNode){_434=_434.parentNode}else{_434=null}}
return c},setElementPosition:function(elem,_438,_439){elem=MochiKit.DOM.getElement(elem);if(typeof(_439)=="undefined"){_439="px"}
var _440={};var _441=MochiKit.Base.isUndefinedOrNull;if(!_441(_438.x)){_440["left"]=_438.x+_439}
if(!_441(_438.y)){_440["top"]=_438.y+_439}
MochiKit.DOM.updateNodeAttributes(elem,{"style":_440})},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.computedStyle(elem,"display");if(disp!="none"&&disp!=""&&typeof(disp)!="undefined"){return new self.Dimensions(elem.offsetWidth||0,elem.offsetHeight||0)}
var s=elem.style;var _443=s.visibility;var _444=s.position;s.visibility="hidden";s.position="absolute";s.display="";var _445=elem.offsetWidth;var _446=elem.offsetHeight;s.display="none";s.position=_444;s.visibility=_443;return new self.Dimensions(_445,_446)},setElementDimensions:function(elem,_447,_448){elem=MochiKit.DOM.getElement(elem);if(typeof(_448)=="undefined"){_448="px"}
var _449={};var _450=MochiKit.Base.isUndefinedOrNull;if(!_450(_447.w)){_449["width"]=_447.w+_448}
if(!_450(_447.h)){_449["height"]=_447.h+_448}
MochiKit.DOM.updateNodeAttributes(elem,{"style":_449})},setDisplayForElement:function(_451,_452){var _453=MochiKit.Base.extend(null,arguments,1);var _454=MochiKit.DOM.getElement;for(var i=0;i<_453.length;i++){var _452=_454(_453[i]);if(_452){_452.style.display=_451}}},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(_456){var m=MochiKit.LoggingPane;_456=!(!_456);if(m._loggingPane&&m._loggingPane.inline!=_456){m._loggingPane.closePane();m._loggingPane=null}
if(!m._loggingPane||m._loggingPane.closed){m._loggingPane=new m.LoggingPane(_456,MochiKit.Logging.logger)}
return m._loggingPane};MochiKit.LoggingPane.LoggingPane=function(_457,_458){if(typeof(_458)=="undefined"||_458===null){_458=MochiKit.Logging.logger}
this.logger=_458;var _459=MochiKit.Base.update;var _460=MochiKit.Base.updatetree;var bind=MochiKit.Base.bind;var _461=MochiKit.Base.clone;var win=window;var uid="_MochiKit_LoggingPane";if(typeof(MochiKit.DOM)!="undefined"){win=MochiKit.DOM.currentWindow()}
if(!_457){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 _464=doc.getElementById(uid);var _465=!!_464;if(_464&&typeof(_464.loggingPane)!="undefined"){_464.loggingPane.logger=this.logger;_464.loggingPane.buildAndApplyFilter();return _464.loggingPane}
if(_465){var _466;while((_466=_464.firstChild)){_464.removeChild(_466)}}else{_464=doc.createElement("div");_464.id=uid}
_464.loggingPane=this;var _467=doc.createElement("input");var _468=doc.createElement("input");var _469=doc.createElement("button");var _470=doc.createElement("button");var _471=doc.createElement("button");var _472=doc.createElement("button");var _473=doc.createElement("div");var _474=doc.createElement("div");var _475=uid+"_Listener";this.colorTable=_461(this.colorTable);var _476=[];var _477=null;var _478=function(msg){var _479=msg.level;if(typeof(_479)=="number"){_479=MochiKit.Logging.LogLevel[_479]}
return _479};var _480=function(msg){return msg.info.join(" ")};var _481=bind(function(msg){var _482=_478(msg);var text=_480(msg);var c=this.colorTable[_482];var p=doc.createElement("span");p.className="MochiKit-LogMessage MochiKit-LogLevel-"+_482;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(_482+": "+text));_474.appendChild(p);_474.appendChild(doc.createElement("br"));if(_473.offsetHeight>_473.scrollHeight){_473.scrollTop=0}else{_473.scrollTop=_473.scrollHeight}},this);var _484=function(msg){_476[_476.length]=msg;_481(msg)};var _485=function(){var _486,infore;try{_486=new RegExp(_467.value);infore=new RegExp(_468.value)}
catch(e){logDebug("Error in filter regex: "+e.message);return null}
return function(msg){return(_486.test(_478(msg))&&infore.test(_480(msg)))}};var _487=function(){while(_474.firstChild){_474.removeChild(_474.firstChild)}};var _488=function(){_476=[];_487()};var _489=bind(function(){if(this.closed){return}
this.closed=true;if(MochiKit.LoggingPane._loggingPane==this){MochiKit.LoggingPane._loggingPane=null}
this.logger.removeListener(_475);_464.loggingPane=null;if(_457){_464.parentNode.removeChild(_464)}else{this.win.close()}},this);var _490=function(){_487();for(var i=0;i<_476.length;i++){var msg=_476[i];if(_477===null||_477(msg)){_481(msg)}}};this.buildAndApplyFilter=function(){_477=_485();_490();this.logger.removeListener(_475);this.logger.addListener(_475,_477,_484)};var _491=bind(function(){_476=this.logger.getMessages();_490()},this);var _492=bind(function(_493){_493=_493||window.event;key=_493.which||_493.keyCode;if(key==13){this.buildAndApplyFilter()}},this);var _494="display: block; z-index: 1000; left: 0px; bottom: 0px; position: fixed; width: 100%; background-color: white; font: "+this.logFont;if(_457){_494+="; height: 10em; border-top: 2px solid black"}else{_494+="; height: 100%;"}
_464.style.cssText=_494;if(!_465){doc.body.appendChild(_464)}
_494={"cssText":"width: 33%; display: inline; font: "+this.logFont};_460(_467,{"value":"FATAL|ERROR|WARNING|INFO|DEBUG","onkeypress":_492,"style":_494});_464.appendChild(_467);_460(_468,{"value":".*","onkeypress":_492,"style":_494});_464.appendChild(_468);_494="width: 8%; display:inline; font: "+this.logFont;_469.appendChild(doc.createTextNode("Filter"));_469.onclick=bind("buildAndApplyFilter",this);_469.style.cssText=_494;_464.appendChild(_469);_470.appendChild(doc.createTextNode("Load"));_470.onclick=_491;_470.style.cssText=_494;_464.appendChild(_470);_471.appendChild(doc.createTextNode("Clear"));_471.onclick=_488;_471.style.cssText=_494;_464.appendChild(_471);_472.appendChild(doc.createTextNode("Close"));_472.onclick=_489;_472.style.cssText=_494;_464.appendChild(_472);_473.style.cssText="overflow: auto; width: 100%";_474.style.cssText="width: 100%; height: "+(_457?"8em":"100%");_473.appendChild(_474);_464.appendChild(_473);this.buildAndApplyFilter();_491();if(_457){this.win=undefined}else{this.win=win}
this.inline=_457;this.closePane=_489;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,_496,blue,_498){if(typeof(_498)=="undefined"||_498===null){_498=1}
this.rgb={r:red,g:_496,b:blue,a:_498}};MochiKit.Color.Color.prototype={__class__:MochiKit.Color.Color,colorWithAlpha:function(_499){var rgb=this.rgb;var m=MochiKit.Color;return m.Color.fromRGB(rgb.r,rgb.g,rgb.b,_499)},colorWithHue:function(hue){var hsl=this.asHSL();hsl.h=hue;var m=MochiKit.Color;return m.Color.fromHSL(hsl)},colorWithSaturation:function(_503){var hsl=this.asHSL();hsl.s=_503;var m=MochiKit.Color;return m.Color.fromHSL(hsl)},colorWithLightness:function(_504){var hsl=this.asHSL();hsl.l=_504;var m=MochiKit.Color;return m.Color.fromHSL(hsl)},darkerColorWithLevel:function(_505){var hsl=this.asHSL();hsl.l=Math.max(hsl.l-_505,0);var m=MochiKit.Color;return m.Color.fromHSL(hsl)},lighterColorWithLevel:function(_506){var hsl=this.asHSL();hsl.l=Math.min(hsl.l+_506,1);var m=MochiKit.Color;return m.Color.fromHSL(hsl)},blendedColor:function(_507,_508){if(typeof(_508)=="undefined"||_508===null){_508=0.5}
var sf=1-_508;var s=this.rgb;var d=_507.rgb;var df=_508;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(_511){var a=this.asRGB();var b=_511.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,_516,blue,_517){var _518=MochiKit.Color.Color;if(arguments.length==1){var rgb=red;red=rgb.r;_516=rgb.g;blue=rgb.b;if(typeof(rgb.a)=="undefined"){_517=undefined}else{_517=rgb.a}}
return new _518(red,_516,blue,_517)},fromHSL:function(hue,_519,_520,_521){var m=MochiKit.Color;return m.Color.fromRGB(m.hslToRGB.apply(m,arguments))},fromHSV:function(hue,_522,_523,_524){var m=MochiKit.Color;return m.Color.fromRGB(m.hsvToRGB.apply(m,arguments))},fromName:function(name){var _525=MochiKit.Color.Color;if(name.charAt(0)=="\""){name=name.substr(1,name.length-2)}
var _526=_525._namedColors[name.toLowerCase()];if(typeof(_526)=="string"){return _525.fromHexString(_526)}else{if(name=="transparent"){return _525.transparentColor()}}
return null},fromString:function(_527){var self=MochiKit.Color.Color;var _528=_527.substr(0,3);if(_528=="rgb"){return self.fromRGBString(_527)}else{if(_528=="hsl"){return self.fromHSLString(_527)}else{if(_527.charAt(0)=="#"){return self.fromHexString(_527)}}}
return self.fromName(_527)},fromHexString:function(_529){if(_529.charAt(0)=="#"){_529=_529.substring(1)}
var _530=[];var i,hex;if(_529.length==3){for(i=0;i<3;i++){hex=_529.substr(i,1);_530.push(parseInt(hex+hex,16)/255)}}else{for(i=0;i<6;i+=2){hex=_529.substr(i,2);_530.push(parseInt(hex,16)/255)}}
var _531=MochiKit.Color.Color;return _531.fromRGB.apply(_531,_530)},_fromColorString:function(pre,_533,_534,_535){if(_535.indexOf(pre)===0){_535=_535.substring(_535.indexOf("(",3)+1,_535.length-1)}
var _536=_535.split(/\s*,\s*/);var _537=[];for(var i=0;i<_536.length;i++){var c=_536[i];var val;var _538=c.substring(c.length-3);if(c.charAt(c.length-1)=="%"){val=0.01*parseFloat(c.substring(0,c.length-1))}else{if(_538=="deg"){val=parseFloat(c)/360}else{if(_538=="rad"){val=parseFloat(c)/(Math.PI*2)}else{val=_534[i]*parseFloat(c)}}}
_537.push(val)}
return this[_533].apply(this,_537)},fromComputedStyle:function(elem,_539){var d=MochiKit.DOM;var cls=MochiKit.Color.Color;for(elem=d.getElement(elem);elem;elem=elem.parentNode){var _540=MochiKit.Style.computedStyle.apply(d,arguments);if(!_540){continue}
var _541=cls.fromString(_540);if(!_541){break}
if(_541.asRGB().a>0){return _541}}
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,_542){v*=_542;if(v<0){return 0}else{if(v>_542){return _542}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,_545,_546,_547){if(arguments.length==1){var hsv=hue;hue=hsv.h;_545=hsv.s;_546=hsv.v;_547=hsv.a}
var red;var _548;var blue;if(_545===0){red=0;_548=0;blue=0}else{var i=Math.floor(hue*6);var f=(hue*6)-i;var p=_546*(1-_545);var q=_546*(1-(_545*f));var t=_546*(1-(_545*(1-f)));switch(i){case 1:red=q;_548=_546;blue=p;break;case 2:red=p;_548=_546;blue=t;break;case 3:red=p;_548=q;blue=_546;break;case 4:red=t;_548=p;blue=_546;break;case 5:red=_546;_548=p;blue=q;break;case 6:case 0:red=_546;_548=t;blue=p;break}}
return{r:red,g:_548,b:blue,a:_547}},hslToRGB:function(hue,_550,_551,_552){if(arguments.length==1){var hsl=hue;hue=hsl.h;_550=hsl.s;_551=hsl.l;_552=hsl.a}
var red;var _553;var blue;if(_550===0){red=_551;_553=_551;blue=_551}else{var m2;if(_551<=0.5){m2=_551*(1+_550)}else{m2=_551+_550-(_551*_550)}
var m1=(2*_551)-m2;var f=MochiKit.Color._hslValue;var h6=hue*6;red=f(m1,m2,h6+2);_553=f(m1,m2,h6);blue=f(m1,m2,h6-2)}
return{r:red,g:_553,b:blue,a:_552}},rgbToHSV:function(red,_557,blue,_558){if(arguments.length==1){var rgb=red;red=rgb.r;_557=rgb.g;blue=rgb.b;_558=rgb.a}
var max=Math.max(Math.max(red,_557),blue);var min=Math.min(Math.min(red,_557),blue);var hue;var _561;var _562=max;if(min==max){hue=0;_561=0}else{var _563=(max-min);_561=_563/max;if(red==max){hue=(_557-blue)/_563}else{if(_557==max){hue=2+((blue-red)/_563)}else{hue=4+((red-_557)/_563)}}
hue/=6;if(hue<0){hue+=1}
if(hue>1){hue-=1}}
return{h:hue,s:_561,v:_562,a:_558}},rgbToHSL:function(red,_564,blue,_565){if(arguments.length==1){var rgb=red;red=rgb.r;_564=rgb.g;blue=rgb.b;_565=rgb.a}
var max=Math.max(red,Math.max(_564,blue));var min=Math.min(red,Math.min(_564,blue));var hue;var _566;var _567=(max+min)/2;var _568=max-min;if(_568===0){hue=0;_566=0}else{if(_567<=0.5){_566=_568/(max+min)}else{_566=_568/(2-max-min)}
if(red==max){hue=(_564-blue)/_568}else{if(_564==max){hue=2+((blue-red)/_568)}else{hue=4+((red-_564)/_568)}}
hue/=6;if(hue<0){hue+=1}
if(hue>1){hue-=1}}
return{h:hue,s:_566,l:_567,a:_565}},toColorPart:function(num){num=Math.round(num);var _569=num.toString(16);if(num<16){return "0"+_569}
return _569},__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 _570=1/3;var _571={black:[0,0,0],blue:[0,0,1],brown:[0.6,0.4,0.2],cyan:[0,1,1],darkGray:[_570,_570,_570],gray:[0.5,0.5,0.5],green:[0,1,0],lightGray:[2*_570,2*_570,2*_570],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 _572=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 _571){var name=k+"Color";var _574=m.concat([_572,this.Color,name],_571[k]);this.Color[name]=m.bind.apply(null,_574)}
var _575=function(){for(var i=0;i<arguments.length;i++){if(!(arguments[i] instanceof Color)){return false}}
return true};var _576=function(a,b){return a.compareRGB(b)};m.nameFunctions(this);m.registerComparator(this.Color.NAME,_575,_576);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",[])}
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())+", 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"};for(i=63236;i<=63242;i++){MochiKit.Signal._specialMacKeys[i]="KEY_F"+(i-63236+1)}
MochiKit.Signal._specialKeys={8:"KEY_BACKSPACE",9:"KEY_TAB",12:"KEY_NUM_PAD_CLEAR",13:"KEY_ENTER",16:"KEY_SHIFT",17:"KEY_CTRL",18:"KEY_ALT",19:"KEY_PAUSE",20:"KEY_CAPS_LOCK",27:"KEY_ESCAPE",32:"KEY_SPACEBAR",33:"KEY_PAGE_UP",34:"KEY_PAGE_DOWN",35:"KEY_END",36:"KEY_HOME",37:"KEY_ARROW_LEFT",38:"KEY_ARROW_UP",39:"KEY_ARROW_RIGHT",40:"KEY_ARROW_DOWN",44:"KEY_PRINT_SCREEN",45:"KEY_INSERT",46:"KEY_DELETE",59:"KEY_SEMICOLON",91:"KEY_WINDOWS_LEFT",92:"KEY_WINDOWS_RIGHT",93:"KEY_SELECT",106:"KEY_NUM_PAD_ASTERISK",107:"KEY_NUM_PAD_PLUS_SIGN",109:"KEY_NUM_PAD_HYPHEN-MINUS",110:"KEY_NUM_PAD_FULL_STOP",111:"KEY_NUM_PAD_SOLIDUS",144:"KEY_NUM_LOCK",145:"KEY_SCROLL_LOCK",186:"KEY_SEMICOLON",187:"KEY_EQUALS_SIGN",188:"KEY_COMMA",189:"KEY_HYPHEN-MINUS",190:"KEY_FULL_STOP",191:"KEY_SOLIDUS",192:"KEY_GRAVE_ACCENT",219:"KEY_LEFT_SQUARE_BRACKET",220:"KEY_REVERSE_SOLIDUS",221:"KEY_RIGHT_SQUARE_BRACKET",222:"KEY_APOSTROPHE"};for(var i=48;i<=57;i++){MochiKit.Signal._specialKeys[i]="KEY_"+(i-48)}
for(i=65;i<=90;i++){MochiKit.Signal._specialKeys[i]="KEY_"+String.fromCharCode(i)}
for(i=96;i<=105;i++){MochiKit.Signal._specialKeys[i]="KEY_NUM_PAD_"+(i-96)}
for(i=112;i<=123;i++){MochiKit.Signal._specialKeys[i]="KEY_F"+(i-112+1)}
MochiKit.Base.update(MochiKit.Signal,{__repr__:function(){return "["+this.NAME+" "+this.VERSION+"]"},toString:function(){return this.__repr__()},_unloadCache:function(){var self=MochiKit.Signal;var _577=self._observers;for(var i=0;i<_577.length;i++){self._disconnect(_577[i])}
delete self._observers;try{window.onload=undefined}
catch(e){}
try{window.onunload=undefined}
catch(e){}},_listener:function(src,func,obj,_578){var E=MochiKit.Signal.Event;if(!_578){return MochiKit.Base.bind(func,obj)}
obj=obj||src;if(typeof(func)=="string"){return function(_580){obj[func].apply(obj,[new E(src,_580)])}}else{return function(_581){func.apply(obj,[new E(src,_581)])}}},_browserAlreadyHasMouseEnterAndLeave:function(){return/MSIE/.test(navigator.userAgent)},_mouseEnterListener:function(src,sig,func,obj){var E=MochiKit.Signal.Event;return function(_583){var e=new E(src,_583);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])}}},connect:function(src,sig,_584,_585){src=MochiKit.DOM.getElement(src);var self=MochiKit.Signal;if(typeof(sig)!="string"){throw new Error("'sig' must be a string")}
var obj=null;var func=null;if(typeof(_585)!="undefined"){obj=_584;func=_585;if(typeof(_585)=="string"){if(typeof(_584[_585])!="function"){throw new Error("'funcOrStr' must be a function on 'objOrFunc'")}}else{if(typeof(_585)!="function"){throw new Error("'funcOrStr' must be a function or string")}}}else{if(typeof(_584)!="function"){throw new Error("'objOrFunc' must be a function if 'funcOrStr' is not given")}else{func=_584}}
if(typeof(obj)=="undefined"||obj===null){obj=src}
var _586=!!(src.addEventListener||src.attachEvent);if(_586&&(sig==="onmouseenter"||sig==="onmouseleave")&&!self._browserAlreadyHasMouseEnterAndLeave()){var _587=self._mouseEnterListener(src,sig.substr(2),func,obj);if(sig==="onmouseenter"){sig="onmouseover"}else{sig="onmouseout"}}else{var _587=self._listener(src,func,obj,_586)}
if(src.addEventListener){src.addEventListener(sig.substr(2),_587,false)}else{if(src.attachEvent){src.attachEvent(sig,_587)}}
var _588=[src,sig,_587,_586,_584,_585];self._observers.push(_588);return _588},_disconnect:function(_589){if(!_589[3]){return}
var src=_589[0];var sig=_589[1];var _590=_589[2];if(src.removeEventListener){src.removeEventListener(sig.substr(2),_590,false)}else{if(src.detachEvent){src.detachEvent(sig,_590)}else{throw new Error("'src' must be a DOM element")}}},disconnect:function(_591){var self=MochiKit.Signal;var _592=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=_592.length-1;i>=0;i--){var o=_592[i];if(o[0]===src&&o[1]===sig&&o[4]===obj&&o[5]===func){self._disconnect(o);_592.splice(i,1);return true}}}else{var idx=m.findIdentical(_592,_591);if(idx>=0){self._disconnect(_591);_592.splice(idx,1);return true}}
return false},disconnectAll:function(src,sig){src=MochiKit.DOM.getElement(src);var m=MochiKit.Base;var _593=m.flattenArguments(m.extend(null,arguments,1));var self=MochiKit.Signal;var _594=self._disconnect;var _595=self._observers;if(_593.length===0){for(var i=_595.length-1;i>=0;i--){var _596=_595[i];if(_596[0]===src){_594(_596);_595.splice(i,1)}}}else{var sigs={};for(var i=0;i<_593.length;i++){sigs[_593[i]]=true}
for(var i=_595.length-1;i>=0;i--){var _596=_595[i];if(_596[0]===src&&_596[1] in sigs){_594(_596);_595.splice(i,1)}}}},signal:function(src,sig){var _598=MochiKit.Signal._observers;src=MochiKit.DOM.getElement(src);var args=MochiKit.Base.extend(null,arguments,2);var _599=[];for(var i=0;i<_598.length;i++){var _600=_598[i];if(_600[0]===src&&_600[1]===sig){try{_600[2].apply(src,args)}
catch(e){_599.push(e)}}}
if(_599.length==1){throw _599[0]}else{if(_599.length>1){var e=new Error("Multiple errors thrown in handling 'sig', see errors property");e.errors=_599;throw e}}}});MochiKit.Signal.EXPORT_OK=[];MochiKit.Signal.EXPORT=["connect","disconnect","signal","disconnectAll"];MochiKit.Signal.__new__=function(win){var m=MochiKit.Base;this._document=document;this._window=win;try{this.connect(window,"onunload",this._unloadCache)}
catch(e){}
this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};m.nameFunctions(this)};MochiKit.Signal.__new__(this);if(MochiKit.__export__){connect=MochiKit.Signal.connect;disconnect=MochiKit.Signal.disconnect;disconnectAll=MochiKit.Signal.disconnectAll;signal=MochiKit.Signal.signal}
MochiKit.Base._exportSymbols(this,MochiKit.Signal);if(typeof(dojo)!="undefined"){dojo.provide("MochiKit.Visual");dojo.require("MochiKit.Base");dojo.require("MochiKit.DOM");dojo.require("MochiKit.Style");dojo.require("MochiKit.Color")}
if(typeof(JSAN)!="undefined"){JSAN.use("MochiKit.Base",[]);JSAN.use("MochiKit.DOM",[]);JSAN.use("MochiKit.Style",[]);JSAN.use("MochiKit.Color",[])}
try{if(typeof(MochiKit.Base)==="undefined"||typeof(MochiKit.DOM)==="undefined"||typeof(MochiKit.Style)==="undefined"||typeof(MochiKit.Color)==="undefined"){throw ""}}
catch(e){throw "MochiKit.Visual depends on MochiKit.Base, MochiKit.DOM, MochiKit.Style 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,_601){e=MochiKit.DOM.getElement(e);this._setOptions(_601);if(this.options.__unstable__wrapElement){e=this._doWrap(e)}
var _602=this.options.color;var C=MochiKit.Color.Color;if(this.options.color==="fromElement"){_602=C.fromBackground(e)}else{if(!(_602 instanceof C)){_602=C.fromString(_602)}}
this.isTransparent=(_602.asRGB().a<=0);var _604=this.options.bgColor;if(this.options.bgColor==="fromParent"){_604=C.fromBackground(e.offsetParent)}else{if(!(_604 instanceof C)){_604=C.fromString(_604)}}
this._roundCornersImpl(e,_602,_604)};MochiKit.Visual._RoundCorners.prototype={_doWrap:function(e){var _605=e.parentNode;var doc=MochiKit.DOM.currentDocument();if(typeof(doc.defaultView)==="undefined"||doc.defaultView===null){return e}
var _606=doc.defaultView.getComputedStyle(e,null);if(typeof(_606)==="undefined"||_606===null){return e}
var _607=MochiKit.DOM.DIV({"style":{display:"block",marginTop:_606.getPropertyValue("padding-top"),marginRight:_606.getPropertyValue("padding-right"),marginBottom:_606.getPropertyValue("padding-bottom"),marginLeft:_606.getPropertyValue("padding-left"),padding:"0px"}});_607.innerHTML=e.innerHTML;e.innerHTML="";e.appendChild(_607);return e},_roundCornersImpl:function(e,_608,_609){if(this.options.border){this._renderBorder(e,_609)}
if(this._isTopRounded()){this._roundTopCorners(e,_608,_609)}
if(this._isBottomRounded()){this._roundBottomCorners(e,_608,_609)}},_renderBorder:function(el,_611){var _612="1px solid "+this._borderColor(_611);var _613="border-left: "+_612;var _614="border-right: "+_612;var _615="style='"+_613+";"+_614+"'";el.innerHTML="<div "+_615+">"+el.innerHTML+"</div>"},_roundTopCorners:function(el,_616,_617){var _618=this._createCorner(_617);for(var i=0;i<this.options.numSlices;i++){_618.appendChild(this._createCornerSlice(_616,_617,i,"top"))}
el.style.paddingTop=0;el.insertBefore(_618,el.firstChild)},_roundBottomCorners:function(el,_619,_620){var _621=this._createCorner(_620);for(var i=(this.options.numSlices-1);i>=0;i--){_621.appendChild(this._createCornerSlice(_619,_620,i,"bottom"))}
el.style.paddingBottom=0;el.appendChild(_621)},_createCorner:function(_622){var dom=MochiKit.DOM;return dom.DIV({style:{backgroundColor:_622.toString()}})},_createCornerSlice:function(_623,_624,n,_625){var _626=MochiKit.DOM.SPAN();var _627=_626.style;_627.backgroundColor=_623.toString();_627.display="block";_627.height="1px";_627.overflow="hidden";_627.fontSize="1px";var _628=this._borderColor(_623,_624);if(this.options.border&&n===0){_627.borderTopStyle="solid";_627.borderTopWidth="1px";_627.borderLeftWidth="0px";_627.borderRightWidth="0px";_627.borderBottomWidth="0px";_627.height="0px";_627.borderColor=_628.toString()}else{if(_628){_627.borderColor=_628.toString();_627.borderStyle="solid";_627.borderWidth="0px 1px"}}
if(!this.options.compact&&(n==(this.options.numSlices-1))){_627.height="2px"}
this._setMargin(_626,n,_625);this._setBorder(_626,n,_625);return _626},_setOptions:function(_629){this.options={corners:"all",color:"fromElement",bgColor:"fromParent",blend:true,border:false,compact:false,__unstable__wrapElement:false};MochiKit.Base.update(this.options,_629);this.options.numSlices=(this.options.compact?2:4)},_whichSideTop:function(){var _630=this.options.corners;if(this._hasString(_630,"all","top")){return ""}
var _631=(_630.indexOf("tl")!=-1);var _632=(_630.indexOf("tr")!=-1);if(_631&&_632){return ""}
if(_631){return "left"}
if(_632){return "right"}
return ""},_whichSideBottom:function(){var _633=this.options.corners;if(this._hasString(_633,"all","bottom")){return ""}
var _634=(_633.indexOf("bl")!=-1);var _635=(_633.indexOf("br")!=-1);if(_634&&_635){return ""}
if(_634){return "left"}
if(_635){return "right"}
return ""},_borderColor:function(_636,_637){if(_636=="transparent"){return _637}else{if(this.options.border){return this.options.border}else{if(this.options.blend){return _637.blendedColor(_636)}}}
return ""},_setMargin:function(el,n,_638){var _639=this._marginSize(n)+"px";var _640=(_638=="top"?this._whichSideTop():this._whichSideBottom());var _641=el.style;if(_640=="left"){_641.marginLeft=_639;_641.marginRight="0px"}else{if(_640=="right"){_641.marginRight=_639;_641.marginLeft="0px"}else{_641.marginLeft=_639;_641.marginRight=_639}}},_setBorder:function(el,n,_642){var _643=this._borderSize(n)+"px";var _644=(_642=="top"?this._whichSideTop():this._whichSideBottom());var _645=el.style;if(_644=="left"){_645.borderLeftWidth=_643;_645.borderRightWidth="0px"}else{if(_644=="right"){_645.borderRightWidth=_643;_645.borderLeftWidth="0px"}else{_645.borderLeftWidth=_643;_645.borderRightWidth=_643}}},_marginSize:function(n){if(this.isTransparent){return 0}
var o=this.options;if(o.compact&&o.blend){var _646=[1,0];return _646[n]}else{if(o.compact){var _647=[2,1];return _647[n]}else{if(o.blend){var _648=[3,2,1,0];return _648[n]}else{var _649=[5,3,2,1];return _649[n]}}}},_borderSize:function(n){var o=this.options;var _650;if(o.compact&&(o.blend||this.isTransparent)){return 1}else{if(o.compact){_650=[1,0]}else{if(o.blend){_650=[2,1,1,1]}else{if(o.border){_650=[0,2,0,0]}else{if(this.isTransparent){_650=[5,3,2,1]}else{return 0}}}}}
return _650[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,_651){new MochiKit.Visual._RoundCorners(e,_651)};MochiKit.Visual.roundClass=function(_652,_653,_654){var _655=MochiKit.DOM.getElementsByTagAndClassName(_652,_653);for(var i=0;i<_655.length;i++){MochiKit.Visual.roundElement(_655[i],_654)}};MochiKit.Visual.tagifyText=function(_656,_657){var _657=_657||"position:relative";if(/MSIE/.test(navigator.userAgent)){_657+=";zoom:1"}
_656=MochiKit.DOM.getElement(_656);var ma=MochiKit.Base.map;ma(function(_659){if(_659.nodeType==3){ma(function(_660){_656.insertBefore(MochiKit.DOM.SPAN({style:_657},_660==" "?String.fromCharCode(160):_660),_659)},_659.nodeValue.split(""));MochiKit.DOM.removeElement(_659)}},_656.childNodes)};MochiKit.Visual.forceRerendering=function(_661){try{_661=MochiKit.DOM.getElement(_661);var n=document.createTextNode(" ");_661.appendChild(n);_661.removeChild(n)}
catch(e){}};MochiKit.Visual.multiple=function(_662,_663,_664){_664=MochiKit.Base.update({speed:0.1,delay:0},_664||{});var _665=_664.delay;var _666=0;MochiKit.Base.map(function(_667){_664.delay=_666*_664.speed+_665;new _663(_667,_664);_666+=1},_662)};MochiKit.Visual.PAIRS={"slide":["slideDown","slideUp"],"blind":["blindDown","blindUp"],"appear":["appear","fade"],"size":["grow","shrink"]};MochiKit.Visual.toggle=function(_668,_669,_670){_668=MochiKit.DOM.getElement(_668);_669=(_669||"appear").toLowerCase();_670=MochiKit.Base.update({queue:{position:"end",scope:(_668.id||"global"),limit:1}},_670||{});var v=MochiKit.Visual;v[_668.style.display!="none"?v.PAIRS[_669][1]:v.PAIRS[_669][0]](_668,_670)};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(){this.__init__()};MochiKit.Base.update(MochiKit.Visual.ScopedQueue.prototype,{__init__:function(){this.effects=[];this.interval=null},add:function(_672){var _673=new Date().getTime();var _674=(typeof(_672.options.queue)=="string")?_672.options.queue:_672.options.queue.position;var ma=MochiKit.Base.map;switch(_674){case "front":ma(function(e){if(e.state=="idle"){e.startOn+=_672.finishOn;e.finishOn+=_672.finishOn}},this.effects);break;case "end":var _675;ma(function(e){var i=e.finishOn;if(i>=(_675||i)){_675=i}},this.effects);_673=_675||_673;break;case "break":ma(function(e){e.finalize()},this.effects);break}
_672.startOn+=_673;_672.finishOn+=_673;if(!_672.options.queue.limit||this.effects.length<_672.options.queue.limit){this.effects.push(_672)}
if(!this.interval){this.interval=this.startLoop(MochiKit.Base.bind(this.loop,this),40)}},startLoop:function(func,_676){return setInterval(func,_676)},remove:function(_677){this.effects=MochiKit.Base.filter(function(e){return e!=_677},this.effects);if(this.effects.length==0){this.stopLoop(this.interval);this.interval=null}},stopLoop:function(_678){clearInterval(_678)},loop:function(){var _679=new Date().getTime();MochiKit.Base.map(function(_680){_680.loop(_679)},this.effects)}});MochiKit.Visual.Queues={instances:{},get:function(_681){if(typeof(_681)!="string"){return _681}
if(!this.instances[_681]){this.instances[_681]=new MochiKit.Visual.ScopedQueue()}
return this.instances[_681]}};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(_682){var v=MochiKit.Visual;this.options=MochiKit.Base.setdefault(_682||{},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(_683){if(_683>=this.startOn){if(_683>=this.finishOn){return this.finalize()}
var pos=(_683-this.startOn)/(this.finishOn-this.startOn);var _684=Math.round(pos*this.options.fps*this.options.duration);if(_684>this.currentFrame){this.render(pos);this.currentFrame=_684}}},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(_685){},event:function(_686){if(this.options[_686+"Internal"]){this.options[_686+"Internal"](this)}
if(this.options[_686]){this.options[_686](this)}},repr:function(){return "["+this.__class__.NAME+", options:"+MochiKit.Base.repr(this.options)+"]"}};MochiKit.Visual.Parallel=function(_687,_688){this.__init__(_687,_688)};MochiKit.Visual.Parallel.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Parallel.prototype,{__init__:function(_689,_690){this.effects=_689||[];this.start(_690)},update:function(_691){MochiKit.Base.map(function(_692){_692.render(_691)},this.effects)},finish:function(){MochiKit.Base.map(function(_693){_693.finalize()},this.effects)}});MochiKit.Visual.Opacity=function(_694,_695){this.__init__(_694,_695)};MochiKit.Visual.Opacity.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Opacity.prototype,{__init__:function(_696,_697){var b=MochiKit.Base;var s=MochiKit.Style;this.element=MochiKit.DOM.getElement(_696);if(this.element.currentStyle&&(!this.element.currentStyle.hasLayout)){s.setStyle(this.element,{zoom:1})}
_697=b.update({from:s.getOpacity(this.element)||0,to:1},_697||{});this.start(_697)},update:function(_698){MochiKit.Style.setOpacity(this.element,_698)}});MochiKit.Visual.Move=function(_699,_700){this.__init__(_699,_700)};MochiKit.Visual.Move.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Move.prototype,{__init__:function(_701,_702){this.element=MochiKit.DOM.getElement(_701);_702=MochiKit.Base.update({x:0,y:0,mode:"relative"},_702||{});this.start(_702)},setup:function(){MochiKit.DOM.makePositioned(this.element);var s=this.element.style;var _703=s.visibility;var _704=s.display;if(_704=="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(_704=="none"){s.visibility=_703;s.display=_704}},update:function(_705){MochiKit.Style.setStyle(this.element,{left:Math.round(this.options.x*_705+this.originalLeft)+"px",top:Math.round(this.options.y*_705+this.originalTop)+"px"})}});MochiKit.Visual.Scale=function(_706,_707,_708){this.__init__(_706,_707,_708)};MochiKit.Visual.Scale.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Scale.prototype,{__init__:function(_709,_710,_711){this.element=MochiKit.DOM.getElement(_709);_711=MochiKit.Base.update({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:"box",scaleFrom:100,scaleTo:_710},_711||{});this.start(_711)},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 _712=MochiKit.Style.getStyle(this.element,"font-size")||"100%";ma(b(function(_713){if(_712.indexOf(_713)>0){this.fontSize=parseFloat(_712);this.fontSizeType=_713}},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(_714){var _715=(this.options.scaleFrom/100)+(this.factor*_714);if(this.options.scaleContent&&this.fontSize){MochiKit.Style.setStyle(this.element,{fontSize:this.fontSize*_715+this.fontSizeType})}
this.setDimensions(this.dims[0]*_715,this.dims[1]*_715)},finish:function(){if(this.restoreAfterFinish){MochiKit.Style.setStyle(this.element,this.originalStyle)}},setDimensions:function(_716,_717){var d={};var r=Math.round;if(/MSIE/.test(navigator.userAgent)){r=Math.ceil}
if(this.options.scaleX){d.width=r(_717)+"px"}
if(this.options.scaleY){d.height=r(_716)+"px"}
if(this.options.scaleFromCenter){var topd=(_716-this.dims[0])/2;var _719=(_717-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-_719+"px"}}else{if(this.options.scaleY){d.top=-topd+"px"}
if(this.options.scaleX){d.left=-_719+"px"}}}
MochiKit.Style.setStyle(this.element,d)}});MochiKit.Visual.Highlight=function(_720,_721){this.__init__(_720,_721)};MochiKit.Visual.Highlight.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Highlight.prototype,{__init__:function(_722,_723){this.element=MochiKit.DOM.getElement(_722);_723=MochiKit.Base.update({startcolor:"#ffff99"},_723||{});this.start(_723)},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(_724){var m="#";MochiKit.Base.map(MochiKit.Base.bind(function(i){m+=MochiKit.Color.toColorPart(Math.round(this._base[i]+this._delta[i]*_724))},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(_725,_726){this.__init__(_725,_726)};MochiKit.Visual.ScrollTo.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.ScrollTo.prototype,{__init__:function(_727,_728){this.element=MochiKit.DOM.getElement(_727);this.start(_728||{})},setup:function(){var p=MochiKit.Position;p.prepare();var _729=p.cumulativeOffset(this.element);if(this.options.offset){_729.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=(_729.y>max?max:_729.y)-this.scrollStart},update:function(_730){var p=MochiKit.Position;p.prepare();window.scrollTo(p.windowOffset.x,this.scrollStart+(_730*this.delta))}});MochiKit.Visual.fade=function(_731,_732){var s=MochiKit.Style;var _733=MochiKit.DOM.getElement(_731).style.opacity||"";_732=MochiKit.Base.update({from:s.getOpacity(_731)||1,to:0,afterFinishInternal:function(_734){if(_734.options.to!==0){return}
s.hideElement(_734.element);s.setStyle(_734.element,{opacity:_733})}},_732||{});return new MochiKit.Visual.Opacity(_731,_732)};MochiKit.Visual.appear=function(_735,_736){var s=MochiKit.Style;var v=MochiKit.Visual;_736=MochiKit.Base.update({from:(s.getStyle(_735,"display")=="none"?0:s.getOpacity(_735)||0),to:1,afterFinishInternal:function(_737){v.forceRerendering(_737.element)},beforeSetupInternal:function(_738){s.setOpacity(_738.element,_738.options.from);s.showElement(_738.element)}},_736||{});return new v.Opacity(_735,_736)};MochiKit.Visual.puff=function(_739,_740){var s=MochiKit.Style;var v=MochiKit.Visual;_739=MochiKit.DOM.getElement(_739);var _741={opacity:_739.style.opacity||"",position:s.getStyle(_739,"position"),top:_739.style.top,left:_739.style.left,width:_739.style.width,height:_739.style.height};_740=MochiKit.Base.update({beforeSetupInternal:function(_742){MochiKit.Position.absolutize(_742.effects[0].element)},afterFinishInternal:function(_743){s.hideElement(_743.effects[0].element);s.setStyle(_743.effects[0].element,_741)}},_740||{});return new v.Parallel([new v.Scale(_739,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new v.Opacity(_739,{sync:true,to:0})],_740)};MochiKit.Visual.blindUp=function(_744,_745){var d=MochiKit.DOM;_744=d.getElement(_744);var _746=d.makeClipping(_744);_745=MochiKit.Base.update({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(_747){MochiKit.Style.hideElement(_747.element);d.undoClipping(_747.element,_746)}},_745||{});return new MochiKit.Visual.Scale(_744,0,_745)};MochiKit.Visual.blindDown=function(_748,_749){var d=MochiKit.DOM;var s=MochiKit.Style;_748=d.getElement(_748);var _750=s.getElementDimensions(_748);var _751;_749=MochiKit.Base.update({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:_750.h,originalWidth:_750.w},restoreAfterFinish:true,afterSetupInternal:function(_752){_751=d.makeClipping(_752.element);s.setStyle(_752.element,{height:"0px"});s.showElement(_752.element)},afterFinishInternal:function(_753){d.undoClipping(_753.element,_751)}},_749||{});return new MochiKit.Visual.Scale(_748,100,_749)};MochiKit.Visual.switchOff=function(_754,_755){var d=MochiKit.DOM;_754=d.getElement(_754);var _756=_754.style.opacity||"";var _757;var _755=MochiKit.Base.update({duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetupInternal:function(_758){d.makePositioned(_758.element);_757=d.makeClipping(_758.element)},afterFinishInternal:function(_759){MochiKit.Style.hideElement(_759.element);d.undoClipping(_759.element,_757);d.undoPositioned(_759.element);MochiKit.Style.setStyle(_759.element,{opacity:_756})}},_755||{});var v=MochiKit.Visual;return new v.appear(_754,{duration:0.4,from:0,transition:v.Transitions.flicker,afterFinishInternal:function(_760){new v.Scale(_760.element,1,_755)}})};MochiKit.Visual.dropOut=function(_761,_762){var d=MochiKit.DOM;var s=MochiKit.Style;_761=d.getElement(_761);var _763={top:s.getStyle(_761,"top"),left:s.getStyle(_761,"left"),opacity:_761.style.opacity||""};_762=MochiKit.Base.update({duration:0.5,beforeSetupInternal:function(_764){d.makePositioned(_764.effects[0].element)},afterFinishInternal:function(_765){s.hideElement(_765.effects[0].element);d.undoPositioned(_765.effects[0].element);s.setStyle(_765.effects[0].element,_763)}},_762||{});var v=MochiKit.Visual;return new v.Parallel([new v.Move(_761,{x:0,y:100,sync:true}),new v.Opacity(_761,{sync:true,to:0})],_762)};MochiKit.Visual.shake=function(_766,_767){var d=MochiKit.DOM;var v=MochiKit.Visual;var s=MochiKit.Style;_766=d.getElement(_766);_767=MochiKit.Base.update({x:-20,y:0,duration:0.05,afterFinishInternal:function(_768){d.undoPositioned(_768.element);s.setStyle(_768.element,oldStyle)}},_767||{});var _769={top:s.getStyle(_766,"top"),left:s.getStyle(_766,"left")};return new v.Move(_766,{x:20,y:0,duration:0.05,afterFinishInternal:function(_770){new v.Move(_770.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(_770){new v.Move(_770.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(_770){new v.Move(_770.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(_770){new v.Move(_770.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(_770){new v.Move(_770.element,_767)}})}})}})}})}})};MochiKit.Visual.slideDown=function(_771,_772){var d=MochiKit.DOM;var b=MochiKit.Base;var s=MochiKit.Style;_771=d.getElement(_771);if(!_771.firstChild){throw "MochiKit.Visual.slideDown must be used on a element with a child"}
d.removeEmptyTextNodes(_771);var _773=s.getStyle(_771.firstChild,"bottom")||0;var _774=s.getElementDimensions(_771);var _775;_772=b.update({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:_774.h,originalWidth:_774.w},restoreAfterFinish:true,afterSetupInternal:function(_776){d.makePositioned(_776.element);d.makePositioned(_776.element.firstChild);if(/Opera/.test(navigator.userAgent)){s.setStyle(_776.element,{top:""})}
_775=d.makeClipping(_776.element);s.setStyle(_776.element,{height:"0px"});s.showElement(_776.element)},afterUpdateInternal:function(_777){s.setStyle(_777.element.firstChild,{bottom:(_777.dims[0]-_777.element.clientHeight)+"px"})},afterFinishInternal:function(_778){d.undoClipping(_778.element,_775);if(/MSIE/.test(navigator.userAgent)){d.undoPositioned(_778.element);d.undoPositioned(_778.element.firstChild)}else{d.undoPositioned(_778.element.firstChild);d.undoPositioned(_778.element)}
s.setStyle(_778.element.firstChild,{bottom:_773})}},_772||{});return new MochiKit.Visual.Scale(_771,100,_772)};MochiKit.Visual.slideUp=function(_779,_780){var d=MochiKit.DOM;var b=MochiKit.Base;var s=MochiKit.Style;_779=d.getElement(_779);if(!_779.firstChild){throw "MochiKit.Visual.slideUp must be used on a element with a child"}
d.removeEmptyTextNodes(_779);var _781=s.getStyle(_779.firstChild,"bottom");var _782;_780=b.update({scaleContent:false,scaleX:false,scaleMode:"box",scaleFrom:100,restoreAfterFinish:true,beforeStartInternal:function(_783){d.makePositioned(_783.element);d.makePositioned(_783.element.firstChild);if(/Opera/.test(navigator.userAgent)){s.setStyle(_783.element,{top:""})}
_782=d.makeClipping(_783.element);s.showElement(_783.element)},afterUpdateInternal:function(_784){s.setStyle(_784.element.firstChild,{bottom:(_784.dims[0]-_784.element.clientHeight)+"px"})},afterFinishInternal:function(_785){s.hideElement(_785.element);d.undoClipping(_785.element,_782);d.undoPositioned(_785.element.firstChild);d.undoPositioned(_785.element);s.setStyle(_785.element.firstChild,{bottom:_781})}},_780||{});return new MochiKit.Visual.Scale(_779,0,_780)};MochiKit.Visual.squish=function(_786,_787){var d=MochiKit.DOM;var b=MochiKit.Base;var _788;_787=b.update({restoreAfterFinish:true,beforeSetupInternal:function(_789){_788=d.makeClipping(_789.element)},afterFinishInternal:function(_790){MochiKit.Style.hideElement(_790.element);d.undoClipping(_790.element,_788)}},_787||{});return new MochiKit.Visual.Scale(_786,/Opera/.test(navigator.userAgent)?1:0,_787)};MochiKit.Visual.grow=function(_791,_792){var d=MochiKit.DOM;var v=MochiKit.Visual;var s=MochiKit.Style;_791=d.getElement(_791);_792=MochiKit.Base.update({direction:"center",moveTransition:v.Transitions.sinoidal,scaleTransition:v.Transitions.sinoidal,opacityTransition:v.Transitions.full},_792||{});var _793={top:_791.style.top,left:_791.style.left,height:_791.style.height,width:_791.style.width,opacity:_791.style.opacity||""};var dims=s.getElementDimensions(_791);var _795,initialMoveY;var _796,moveY;switch(_792.direction){case "top-left":_795=initialMoveY=_796=moveY=0;break;case "top-right":_795=dims.w;initialMoveY=moveY=0;_796=-dims.w;break;case "bottom-left":_795=_796=0;initialMoveY=dims.h;moveY=-dims.h;break;case "bottom-right":_795=dims.w;initialMoveY=dims.h;_796=-dims.w;moveY=-dims.h;break;case "center":_795=dims.w/2;initialMoveY=dims.h/2;_796=-dims.w/2;moveY=-dims.h/2;break}
var _797=MochiKit.Base.update({beforeSetupInternal:function(_798){s.setStyle(_798.effects[0].element,{height:"0px"});s.showElement(_798.effects[0].element)},afterFinishInternal:function(_799){d.undoClipping(_799.effects[0].element);d.undoPositioned(_799.effects[0].element);s.setStyle(_799.effects[0].element,_793)}},_792||{});return new v.Move(_791,{x:_795,y:initialMoveY,duration:0.01,beforeSetupInternal:function(_800){s.hideElement(_800.element);d.makeClipping(_800.element);d.makePositioned(_800.element)},afterFinishInternal:function(_801){new v.Parallel([new v.Opacity(_801.element,{sync:true,to:1,from:0,transition:_792.opacityTransition}),new v.Move(_801.element,{x:_796,y:moveY,sync:true,transition:_792.moveTransition}),new v.Scale(_801.element,100,{scaleMode:{originalHeight:dims.h,originalWidth:dims.w},sync:true,scaleFrom:/Opera/.test(navigator.userAgent)?1:0,transition:_792.scaleTransition,restoreAfterFinish:true})],_797)}})};MochiKit.Visual.shrink=function(_802,_803){var d=MochiKit.DOM;var v=MochiKit.Visual;var s=MochiKit.Style;_802=d.getElement(_802);_803=MochiKit.Base.update({direction:"center",moveTransition:v.Transitions.sinoidal,scaleTransition:v.Transitions.sinoidal,opacityTransition:v.Transitions.none},_803||{});var _804={top:_802.style.top,left:_802.style.left,height:_802.style.height,width:_802.style.width,opacity:_802.style.opacity||""};var dims=s.getElementDimensions(_802);var _805,moveY;switch(_803.direction){case "top-left":_805=moveY=0;break;case "top-right":_805=dims.w;moveY=0;break;case "bottom-left":_805=0;moveY=dims.h;break;case "bottom-right":_805=dims.w;moveY=dims.h;break;case "center":_805=dims.w/2;moveY=dims.h/2;break}
var _806;var _807=MochiKit.Base.update({beforeStartInternal:function(_808){_806=d.makePositioned(_808.effects[0].element);d.makeClipping(_808.effects[0].element)},afterFinishInternal:function(_809){s.hideElement(_809.effects[0].element);d.undoClipping(_809.effects[0].element,_806);d.undoPositioned(_809.effects[0].element);s.setStyle(_809.effects[0].element,_804)}},_803||{});return new v.Parallel([new v.Opacity(_802,{sync:true,to:0,from:1,transition:_803.opacityTransition}),new v.Scale(_802,/Opera/.test(navigator.userAgent)?1:0,{sync:true,transition:_803.scaleTransition,restoreAfterFinish:true}),new v.Move(_802,{x:_805,y:moveY,sync:true,transition:_803.moveTransition})],_807)};MochiKit.Visual.pulsate=function(_810,_811){var d=MochiKit.DOM;var v=MochiKit.Visual;var b=MochiKit.Base;var _812=d.getElement(_810).style.opacity||"";_811=b.update({duration:3,from:0,afterFinishInternal:function(_813){MochiKit.Style.setStyle(_813.element,{opacity:_812})}},_811||{});var _814=_811.transition||v.Transitions.sinoidal;var _815=b.bind(function(pos){return _814(1-v.Transitions.pulse(pos))},_814);b.bind(_815,_814);return new v.Opacity(_810,b.update({transition:_815},_811))};MochiKit.Visual.fold=function(_816,_817){var d=MochiKit.DOM;var v=MochiKit.Visual;var s=MochiKit.Style;_816=d.getElement(_816);var _818={top:_816.style.top,left:_816.style.left,width:_816.style.width,height:_816.style.height};var _819=d.makeClipping(_816);_817=MochiKit.Base.update({scaleContent:false,scaleX:false,afterFinishInternal:function(_820){new v.Scale(_816,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(_820){s.hideElement(_820.element);d.undoClipping(_820.element,_819);s.setStyle(_820.element,_818)}})}},_817||{});return new v.Scale(_816,5,_817)};MochiKit.Visual.Color=MochiKit.Color.Color;MochiKit.Visual.getElementsComputedStyle=MochiKit.DOM.computedStyle;MochiKit.Visual.__new__=function(){var m=MochiKit.Base;m.nameFunctions(this);this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)}};MochiKit.Visual.EXPORT=["roundElement","roundClass","tagifyText","multiple","toggle","Base","Parallel","Opacity","Move","Scale","Highlight","ScrollTo","fade","appear","puff","blindUp","blindDown","switchOff","dropOut","shake","slideDown","slideUp","squish","grow","shrink","pulsate","fold"];MochiKit.Visual.EXPORT_OK=["PAIRS"];MochiKit.Visual.__new__();MochiKit.Base._exportSymbols(this,MochiKit.Visual);if(typeof(MochiKit)=="undefined"){MochiKit={}}
if(typeof(MochiKit.MochiKit)=="undefined"){MochiKit.MochiKit={}}
MochiKit.MochiKit.NAME="MochiKit.MochiKit";MochiKit.MochiKit.VERSION="1.4";MochiKit.MochiKit.__repr__=function(){return "["+this.NAME+" "+this.VERSION+"]"};MochiKit.MochiKit.toString=function(){return this.__repr__()};MochiKit.MochiKit.SUBMODULES=["Base","Iter","Logging","DateTime","Format","Async","DOM","Style","LoggingPane","Color","Signal","Visual"];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 _821=MochiKit.Base.extend;var self=MochiKit.MochiKit;var _822=self.SUBMODULES;var _823=[];var _824=[];var _825={};var i,k,m,all;for(i=0;i<_822.length;i++){m=MochiKit[_822[i]];_821(_823,m.EXPORT);_821(_824,m.EXPORT_OK);for(k in m.EXPORT_TAGS){_825[k]=_821(_825[k],m.EXPORT_TAGS[k])}
all=m.EXPORT_TAGS[":all"];if(!all){all=_821(null,m.EXPORT,m.EXPORT_OK)}
var j;for(j=0;j<all.length;j++){k=all[j];self[k]=m[k]}}
self.EXPORT=_823;self.EXPORT_OK=_824;self.EXPORT_TAGS=_825}())}else{if(typeof(MochiKit.__compat__)=="undefined"){MochiKit.__compat__=true}(function(){if(typeof(document)=="undefined"){return}
var _826=document.getElementsByTagName("script");var _827="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";var base=null;var _828=null;var _829={};var i;for(i=0;i<_826.length;i++){var src=_826[i].getAttribute("src");if(!src){continue}
_829[src]=true;if(src.match(/MochiKit.js$/)){base=src.substring(0,src.lastIndexOf("MochiKit.js"));_828=_826[i]}}
if(base===null){return}
var _830=MochiKit.MochiKit.SUBMODULES;for(var i=0;i<_830.length;i++){if(MochiKit[_830[i]]){continue}
var uri=base+_830[i]+".js";if(uri in _829){continue}
if(document.documentElement&&document.documentElement.namespaceURI==_827){var s=document.createElementNS(_827,"script");s.setAttribute("id","MochiKit_"+base+_830[i]);s.setAttribute("src",uri);s.setAttribute("type","application/x-javascript");_828.parentNode.appendChild(s)}else{document.write("<script src=\""+uri+"\" type=\"text/javascript\"></script>")}}})()}


/* ----- MochiKit/New.js ----- */
// http://www.emoderation.com/portal_javascripts/MochiKit/New.js?original=1
MochiKit.Base.update(MochiKit.DOM,{makeClipping: function(element){element=MochiKit.DOM.getElement(element);var oldOverflow=element.style.overflow;if((MochiKit.Style.getStyle(element,'overflow')||'visible')!='hidden'){element.style.overflow='hidden'}
return oldOverflow},undoClipping: function(element,overflow){element=MochiKit.DOM.getElement(element);if(!overflow){return}
element.style.overflow=overflow},makePositioned: function(element){element=MochiKit.DOM.getElement(element);var pos=MochiKit.Style.getStyle(element,'position');if(pos=='static'||!pos){element.style.position='relative';if (/Opera/.test(navigator.userAgent)){element.style.top=0;element.style.left=0}}},undoPositioned: function(element){element=MochiKit.DOM.getElement(element);if(element.style.position=='relative'){element.style.position=element.style.top=element.style.left=element.style.bottom=element.style.right=''}},getFirstElementByTagAndClassName: function(tagName,className,parent){var self=MochiKit.DOM;if(typeof(tagName)=='undefined'||tagName===null){tagName='*'}
if(typeof(parent)=='undefined'||parent===null){parent=self._document}
parent=self.getElement(parent);var children=(parent.getElementsByTagName(tagName)||self._document.all);if(typeof(className)=='undefined'||className===null){return children[0]}
for(var i=0;i<children.length;i++){var child=children[i];var classNames=child.className.split(' ');for(var j=0;j<classNames.length;j++){if(classNames[j]==className){return child}}}},isParent: function(child,element){if(!child.parentNode||child==element){return false}
if(child.parentNode==element){return true}
return MochiKit.DOM.isParent(child.parentNode,element)}});MochiKit.Position={includeScrollOffsets:false,prepare: function(){var deltaX=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;var deltaY=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;this.windowOffset=new MochiKit.Style.Coordinates(deltaX,deltaY)},cumulativeOffset: function(element){var valueT=0;var valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent} while(element);return new MochiKit.Style.Coordinates(valueL,valueT)},realOffset: function(element){var valueT=0;var valueL=0;do{valueT+=element.scrollTop||0;valueL+=element.scrollLeft||0;element=element.parentNode} while(element);return new MochiKit.Style.Coordinates(valueL,valueT)},within: function(element,x,y){if(this.includeScrollOffsets){return this.withinIncludingScrolloffsets(element,x,y)}
this.xcomp=x;this.ycomp=y;this.offset=this.cumulativeOffset(element);if(element.style.position=="fixed"){this.offset.x+=this.windowOffset.x;this.offset.y+=this.windowOffset.y}
return(y>=this.offset.y&&y<this.offset.y+element.offsetHeight&&x>=this.offset.x&&x<this.offset.x+element.offsetWidth)},withinIncludingScrolloffsets: function(element,x,y){var offsetcache=this.realOffset(element);this.xcomp=x+offsetcache.x-this.windowOffset.x;this.ycomp=y+offsetcache.y-this.windowOffset.y;this.offset=this.cumulativeOffset(element);return(this.ycomp>=this.offset.y&&this.ycomp<this.offset.y+element.offsetHeight&&this.xcomp>=this.offset.x&&this.xcomp<this.offset.x+element.offsetWidth)},overlap: function(mode,element){if(!mode){return 0}
if(mode=='vertical'){return((this.offset.y+element.offsetHeight)-this.ycomp)/element.offsetHeight}
if(mode=='horizontal'){return((this.offset.x+element.offsetWidth)-this.xcomp)/element.offsetWidth}},absolutize: function(element){element=MochiKit.DOM.getElement(element);if(element.style.position=='absolute'){return}
MochiKit.Position.prepare();var offsets=MochiKit.Position.positionedOffset(element);var width=element.clientWidth;var height=element.clientHeight;var oldStyle={'position':element.style.position,'left':offsets.x-parseFloat(element.style.left||0),'top':offsets.y-parseFloat(element.style.top||0),'width':element.style.width,'height':element.style.height};element.style.position='absolute';element.style.top=offsets.y+'px';element.style.left=offsets.x+'px';element.style.width=width+'px';element.style.height=height+'px';return oldStyle},positionedOffset: function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;if(element){p=MochiKit.Style.getStyle(element,'position');if(p=='relative'||p=='absolute'){break}}} while(element);return new MochiKit.Style.Coordinates(valueL,valueT)},relativize: function(element,oldPos){element=MochiKit.DOM.getElement(element);if(element.style.position=='relative'){return}
MochiKit.Position.prepare();var top=parseFloat(element.style.top||0)-(oldPos['top']||0);var left=parseFloat(element.style.left||0)-(oldPos['left']||0);element.style.position=oldPos['position'];element.style.top=top+'px';element.style.left=left+'px';element.style.width=oldPos['width'];element.style.height=oldPos['height']},clone: function(source,target){source=MochiKit.DOM.getElement(source);target=MochiKit.DOM.getElement(target);target.style.position='absolute';var offsets=this.cumulativeOffset(source);target.style.top=offsets.y+'px';target.style.left=offsets.x+'px';target.style.width=source.offsetWidth+'px';target.style.height=source.offsetHeight+'px'},page: function(forElement){var valueT=0;var valueL=0;var element=forElement;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body&&MochiKit.Style.getStyle(element,'position')=='absolute'){break}} while(element=element.offsetParent);element=forElement;do{valueT-=element.scrollTop||0;valueL-=element.scrollLeft||0} while(element=element.parentNode);return new MochiKit.Style.Coordinates(valueL,valueT)}};

