var MochaUI=new Class({options:{resizable:true,draggable:true,minimizable:false,maximizable:false,closable:true,effects:true,minWidth:250,maxWidth:2500,minHeight:100,maxHeight:2000,headerHeight:25,footerHeight:26,cornerRadius:5,bodyBgColor:"#fff",headerStartColor:[250,250,250],headerStopColor:[228,228,228],footerBgColor:[246,246,246],minimizeColor:[231,231,209],maximizeColor:[217,229,217],closeColor:[229,217,217],resizableColor:[209,209,209],desktopTopOffset:20,desktopLeftOffset:290,mochaTopOffset:70,mochaLeftOffset:70,desktop:"mochaDesktop",desktopHeader:"mochaDesktopHeader",desktopNavBar:"mochaDesktopNavbar",pageWrapper:"mochaPageWrapper",dock:"mochaDock"},initialize:function(a){this.setOptions(a);this.ieSupport="excanvas";this.indexLevel=3;this.windowIDCount=0;this.myTimer="";this.iconAnimation="";this.mochaControlsWidth=0;this.minimizebuttonX=0;this.maximizebuttonX=0;this.closebuttonX=0;this.shadowWidth=3;this.shadowOffset=this.shadowWidth*2;this.HeaderFooterShadow=this.options.headerHeight+this.options.footerHeight+this.shadowOffset;this.desktop=$(this.options.desktop);this.desktopHeader=$(this.options.desktopHeader);this.desktopNavBar=$(this.options.desktopNavBar);this.pageWrapper=$(this.options.pageWrapper);this.dock=$(this.options.dock);this.dockVisible=this.dock?true:false;this.dockAutoHide=false;if(this.dock){this.initializeDock();}this.setDesktopSize();this.newWindowsFromXHTML();this.modalInitialize();this.menuInitialize();window.onresize=function(){this.onBrowserResize();}.bind(this);},menuInitialize:function(){if(Browser.Engine.trident4&&this.desktopNavBar){this.desktopNavBar.getElements("li").each(function(a){a.addEvent("mouseenter",function(){this.addClass("ieHover");});a.addEvent("mouseleave",function(){this.removeClass("ieHover");});});}},modalInitialize:function(){var a=new Element("div",{id:"mochaModalOverlay",styles:{height:document.getCoordinates().height}});a.injectInside(this.desktop?this.desktop:document.body);a.setStyle("opacity",0.4);this.modalOpenMorph=new Fx.Morph($("mochaModalOverlay"),{duration:200});this.modalCloseMorph=new Fx.Morph($("mochaModalOverlay"),{duration:200,onComplete:function(){$("mochaModalOverlay").setStyle("display","none");}.bind(this)});},onBrowserResize:function(){this.setDesktopSize();this.setModalSize();setTimeout(function(){$$("div.mocha").each(function(c){if(c.isMaximized){var b=this.getSubElement(c,"iframe");if(b){b.setStyle("visibility","hidden");}var d=document.getCoordinates();var a=this.getSubElement(c,"contentWrapper");a.setStyles({height:(d.height-this.options.headerHeight-this.options.footerHeight),width:d.width});this.drawWindow(c);if(b){b.setStyles({height:a.getStyle("height")});b.setStyle("visibility","visible");}}}.bind(this));}.bind(this),100);},newWindowsFromXHTML:function(b,a){$$("div.mocha").each(function(e,d){if(Browser.Engine.presto||Browser.Engine.trident5){e.setStyle("display","block");}var g=e.getElement("h3.mochaTitle");var f=e.getStyles("height","width");var c={id:e.getProperty("id"),height:f.height.toInt(),width:f.width.toInt()};if(g){c.title=g.innerHTML;g.destroy();}c.content=e.innerHTML;e.destroy();this.newWindow(c,true);}.bind(this));this.arrangeCascade();},newWindowsFromJSON:function(a){a.each(function(b){this.newWindow(b);}.bind(this));},newWindow:function(c,b){var h=$extend({id:null,title:"New Window",loadMethod:"html",content:"",contentURL:"pages/lipsum.html",modal:false,width:300,height:125,x:null,y:null,scrollbars:true,draggable:this.options.draggable,resizable:this.options.resizable,minimizable:this.options.minimizable,maximizable:this.options.maximizable,closable:this.options.closable,paddingVertical:10,paddingHorizontal:12,bodyBgColor:this.options.bodyBgColor,headerStartColor:this.options.headerStartColor,headerStopColor:this.options.headerStopColor,footerBgColor:this.options.footerBgColor,minimizeColor:this.options.minimizeColor,maximizeColor:this.options.maximizeColor,closeColor:this.options.closeColor,resizableColor:this.options.resizableColor,onContentLoaded:$empty,onFocus:$empty,onResize:$empty,onMinimize:$empty,onMaximize:$empty,onClose:$empty,onCloseComplete:$empty},c||{});var g=$(h.id);if(g&&!g.isClosing){if(g.isMinimized){this.restoreMinimized(g);}else{setTimeout(function(){this.focusWindow(g);}.bind(this),10);}return;}var g=new Element("div",{"class":"mocha",id:h.id&&h.id!=null?h.id:"win"+(++this.windowIDCount),styles:{width:h.width,height:h.height,display:"block"}});if(Browser.Platform.mac&&Browser.Engine.gecko){g.setStyle("position","fixed");}if(h.loadMethod=="iframe"){h.scrollbars=false;h.paddingVertical=0;h.paddingHorizontal=0;}g=$extend(g,{id:h.id,oldTop:0,oldLeft:0,oldWidth:0,oldHeight:0,iconAnimation:$empty,modal:h.modal,scrollbars:h.scrollbars,contentBorder:null,closable:h.closable||h.modal,resizable:h.resizable&&!h.modal,draggable:h.draggable&&!h.modal,minimizable:this.dock&&h.minimizable&&!h.modal,maximizable:this.desktop&&h.maximizable&&!h.modal,iframe:h.loadMethod=="iframe"?true:false,isMaximized:false,isMinimized:false,headerStartColor:h.headerStartColor,headerStopColor:h.headerStopColor,footerBgColor:h.footerBgColor,minimizeColor:h.minimizeColor,maximizeColor:h.maximizeColor,closeColor:h.closeColor,resizableColor:h.resizableColor,onFocus:h.onFocus,onResize:h.onResize,onMinimize:h.onMinimize,onMaximize:h.onMaximize,onClose:h.onClose,onCloseComplete:h.onCloseComplete});var a=this.insertWindowElements(g,h.height,h.width);a.title.set("html",h.title);switch(h.loadMethod){case"xhr":new Request({url:h.contentURL,onRequest:function(){this.showLoadingIcon(a.canvasIcon);}.bind(this),onFailure:function(){a.content.set("html","<p><strong>Error</strong></p><p>Sorry, but error has occurred while loading content.</p>");this.hideLoadingIcon.delay(150,this,a.canvasIcon);}.bind(this),onSuccess:function(j){a.content.set("html",j);this.hideLoadingIcon.delay(150,this,a.canvasIcon);h.onContentLoaded();}.bind(this)}).get();break;case"iframe":if(h.contentURL==""){break;}a.iframe=new Element("iframe",{id:g.id+"_iframe","class":"mochaIframe",src:h.contentURL,marginwidth:0,marginheight:0,frameBorder:0,scrolling:"auto"}).injectInside(a.content);a.iframe.addEvent("load",function(j){this.hideLoadingIcon.delay(150,this,a.canvasIcon);h.onContentLoaded();}.bind(this));this.showLoadingIcon(a.canvasIcon);break;case"html":default:a.content.set("html",h.content);h.onContentLoaded();break;}a.contentWrapper.setStyles({overflow:h.scrollbars&&!h.iframe?"auto":"hidden",background:h.bodyBgColor});a.content.setStyles({"padding-top":h.paddingVertical,"padding-bottom":h.paddingVertical,"padding-left":h.paddingHorizontal,"padding-right":h.paddingHorizontal});this.attachResizable(g,a);this.setupEvents(g,a);var e=document.getCoordinates();if(!h.y){var d=(e.height*0.5)-((h.height+this.HeaderFooterShadow)*0.5);}else{var d=h.y;}if(!h.x){var f=(e.width*0.5)-(h.width*0.5);}else{var f=h.x;}if(g.modal){$("mochaModalOverlay").setStyle("display","block");if(this.options.effects==false){$("mochaModalOverlay").setStyle("opacity",0.55);}else{this.modalCloseMorph.cancel();this.modalOpenMorph.start({opacity:0.55});}g.setStyles({top:d,left:f,zIndex:11000});}else{if(b==true){}else{g.setStyles({top:d,left:f});g.focus=true;}}g.injectInside(this.desktop?this.desktop:document.body);this.drawWindow(g,a);this.attachDraggable(g,a.titleBar);},closeWindow:function(b){if(!(b=$(b))||b.isClosing){return;}b.isClosing=true;b.onClose();if(this.options.effects==false){if(b.modal){$("mochaModalOverlay").setStyle("opacity",0);}b.destroy();b.onCloseComplete();}else{if(Browser.Engine.trident){this.drawWindow(b,null,false);}if(b.modal){this.modalCloseMorph.start({opacity:0});}var a=new Fx.Morph(b,{duration:100,onComplete:function(){b.destroy();if(!navigator.userAgent.match("Trident/4")){b.onCloseComplete();}}.bind(this)});a.start({opacity:0.4});}return true;},closeAll:function(){$$("div.mocha").each(function(a){this.closeWindow(a);$$("button.mochaDockButton").destroy();}.bind(this));return true;},focusWindow:function(a){if(!(a=$(a))){return;}if(a.getStyle("zIndex").toInt()==this.indexLevel){return;}this.indexLevel++;a.setStyle("zIndex",this.indexLevel);a.onFocus();},maximizeWindow:function(c){if(!(c=$(c))||c.isMaximized){return;}var b=this.getSubElement(c,"contentWrapper");c.onMaximize();c.oldTop=c.getStyle("top");c.oldLeft=c.getStyle("left");b.oldWidth=b.getStyle("width");b.oldHeight=b.getStyle("height");if(c.iframe){this.getSubElement(c,"iframe").setStyle("visibility","hidden");}var d=document.getCoordinates();if(this.options.effects==false){c.setStyles({top:-this.shadowWidth,left:-this.shadowWidth});b.setStyles({height:d.height-this.options.headerHeight-this.options.footerHeight,width:d.width});this.drawWindow(c);if(c.iframe){this.getSubElement(c,"iframe").setStyle("visibility","visible");}}else{var a=new Fx.Morph(c,{duration:200,onComplete:function(e){b.setStyles({height:(d.height-this.options.headerHeight-this.options.footerHeight),width:d.width});this.drawWindow(e);if(e.iframe){this.getSubElement(e,"iframe").setStyle("visibility","visible");}}.bind(this)});a.start({top:-this.shadowWidth,left:-this.shadowWidth});}c.isMaximized=true;},restoreWindow:function(c){if(!(c=$(c))||!c.isMaximized){return;}if(c.iframe){this.getSubElement(c,"iframe").setStyle("visibility","hidden");}var b=this.getSubElement(c,"contentWrapper");b.setStyles({width:b.oldWidth,height:b.oldHeight});c.isMaximized=false;this.drawWindow(c);if(this.options.effects==false){c.setStyles({top:c.oldTop,left:c.oldLeft});}else{var a=new Fx.Morph(c,{duration:150,onComplete:function(d){if(c.iframe){this.getSubElement(c,"iframe").setStyle("visibility","visible");}}.bind(this)});a.start({top:c.oldTop,left:c.oldLeft});}},minimizeWindow:function(d){if(!(d=$(d))||!this.dock){return;}if(d.iframe){this.getSubElement(d,"iframe").setStyle("visibility","hidden");}var e=this.getSubElement(d,"title");var b=d.getElement(".mochaContentWrapper");var a=e.innerHTML;d.onMinimize();d.setStyle("visibility","hidden");if(Browser.Platform.mac&&Browser.Engine.gecko){this.getSubElement(d,"contentWrapper").setStyle("overflow","hidden");}d.isMinimized=true;var c=new Element("button",{id:d.id+"_dockButton","class":"mochaDockButton",title:a}).set("html",a.substring(0,13)+(a.length>13?"...":"")).injectInside($(this.dock));c.addEvent("click",function(f){this.restoreMinimized(d);}.bind(this));setTimeout(function(){d.setStyle("zIndex",1);}.bind(this),100);},restoreMinimized:function(a){if(a.scrollbars==true&&a.iframe==false){this.getSubElement(a,"contentWrapper").setStyle("overflow","auto");}a.setStyle("visibility","visible");if(a.iframe){this.getSubElement(a,"iframe").setStyle("visibility","visible");}a.isMinimized=false;this.focusWindow(a);this.dock.getElementById(a.id+"_dockButton").destroy();},getSubElement:function(b,a){return b.getElementById((b.id+"_"+a));},getSubElements:function(b,c){var a={};c.each(function(d){a[d]=this.getSubElement(b,d);}.bind(this));return a;},setupEvents:function(b,a){if(a.closeButton){a.closeButton.addEvent("click",function(){this.closeWindow(b);}.bind(this));}if(!b.modal){b.addEvent("click",function(){this.focusWindow(b);}.bind(this));}if(a.minimizeButton){a.minimizeButton.addEvent("click",function(){this.minimizeWindow(b);}.bind(this));}if(a.maximizeButton){a.maximizeButton.addEvent("click",function(){if(b.isMaximized){this.restoreWindow(b);a.maximizeButton.setProperty("title","Maximize");}else{this.maximizeWindow(b);a.maximizeButton.setProperty("title","Restore");}}.bind(this));}},attachDraggable:function(b,a){if(!b.draggable){return;}new Drag.Move(b,{handle:a,onStart:function(){this.focusWindow(b);if(b.iframe){this.getSubElement(b,"iframe").setStyle("visibility","hidden");}}.bind(this),onComplete:function(){if(b.iframe){this.getSubElement(b,"iframe").setStyle("visibility","visible");}}.bind(this)});},attachResizable:function(b,a){if(!b.resizable){return;}a.contentWrapper.makeResizable({handle:a.resizeHandle,modifiers:{x:"width",y:"height"},limit:{x:[this.options.minWidth,this.options.maxWidth],y:[this.options.minHeight,this.options.maxHeight]},onStart:function(){this.cacheSubElements=this.getSubElements(b,["title","content","canvas","contentWrapper","overlay","titleBar","iframe","zIndexFix"]);if(this.cacheSubElements.iframe){this.cacheSubElements.iframe.setStyle("visibility","hidden");}}.bind(this),onDrag:function(){this.drawWindow(b,this.cacheSubElements);}.bind(this),onComplete:function(){if(this.cacheSubElements.iframe){this.cacheSubElements.iframe.setStyle("visibility","visible");}delete this.cacheSubElements;this.cacheSubElements=null;b.onResize();}.bind(this)});},setDesktopSize:function(){var b=document.getCoordinates();if(this.desktop){this.desktop.setStyle("height",b.height);}if(this.pageWrapper&&this.desktopHeader){var a=(b.height-this.desktopHeader.offsetHeight-(this.dockVisible?this.dock.offsetHeight:0));if(a<0){a=0;}this.pageWrapper.setStyle("height",a+"px");}},setModalSize:function(){$("mochaModalOverlay").setStyle("height",document.getCoordinates().height);},insertWindowElements:function(d,a,c){var b={};if(Browser.Engine.trident4){b.zIndexFix=new Element("iframe",{"class":"zIndexFix",scrolling:"no",marginWidth:0,marginHeight:0,src:"",id:d.id+"_zIndexFix"}).injectInside(d);}b.overlay=new Element("div",{"class":"mochaOverlay",id:d.id+"_overlay"}).injectInside(d);b.titleBar=new Element("div",{"class":"mochaTitlebar",id:d.id+"_titleBar",styles:{cursor:d.draggable?"move":"default"}}).injectTop(b.overlay);b.title=new Element("h3",{"class":"mochaTitle",id:d.id+"_title"}).injectInside(b.titleBar);d.contentBorder=new Element("div",{"class":"mochaContentBorder",id:this.options.id+"_contentBorder"}).injectInside(b.overlay);b.contentWrapper=new Element("div",{"class":"mochaContentWrapper",id:d.id+"_contentWrapper",styles:{width:c+"px",height:a+"px"}}).injectInside(d.contentBorder);b.content=new Element("div",{"class":"mochaContent",id:d.id+"_content"}).injectInside(b.contentWrapper);b.canvas=new Element("canvas",{"class":"mochaCanvas",width:1,height:1,id:d.id+"_canvas"}).injectInside(d);if(Browser.Engine.trident&&navigator.userAgent.match("MSIE [678]")&&this.ieSupport=="excanvas"){G_vmlCanvasManager.initElement(b.canvas);b.canvas=d.getElement(".mochaCanvas");}if(d.resizable){b.resizeHandle=new Element("div",{"class":"resizeHandle",id:d.id+"_resizeHandle"}).injectAfter(b.overlay);if(Browser.Engine.trident){b.resizeHandle.setStyle("zIndex",2);}}b.controls=new Element("div",{"class":"mochaControls",id:d.id+"_controls"}).injectAfter(b.overlay);if(d.closable){b.closeButton=new Element("div",{"class":"mochaClose",title:"Close Window",id:d.id+"_closeButton"}).injectInside(b.controls);}if(d.maximizable){b.maximizeButton=new Element("div",{"class":"maximizeToggle",title:"Maximize",id:d.id+"_maximizeButton"}).injectInside(b.controls);}if(d.minimizable){b.minimizeButton=new Element("div",{"class":"minimizeToggle",title:"Minimize",id:d.id+"_minimizeButton"}).injectInside(b.controls);}b.canvasIcon=new Element("canvas",{"class":"mochaLoadingIcon",width:18,height:18,id:d.id+"_canvasIcon"}).injectBottom(d);if(Browser.Engine.trident&&navigator.userAgent.match("MSIE [678]")&&this.ieSupport=="excanvas"){G_vmlCanvasManager.initElement(b.canvasIcon);b.canvasIcon=d.getElement(".mochaLoadingIcon");}if(Browser.Engine.trident){b.controls.setStyle("zIndex",2);b.overlay.setStyle("zIndex",2);}if(Browser.Platform.mac&&Browser.Engine.gecko){b.overlay.setStyle("overflow","auto");}this.setMochaControlsWidth(d,b);return b;},drawWindow:function(f,c,e){if(!c){c=this.getSubElements(f,["title","content","canvas","contentWrapper","overlay","titleBar","iframe","zIndexFix"]);}f.contentBorder.setStyles({width:c.contentWrapper.offsetWidth});if(f.iframe){c.iframe.setStyles({height:c.contentWrapper.offsetHeight});}var b=c.contentWrapper.getStyle("height").toInt()+this.HeaderFooterShadow;var g=c.contentWrapper.getStyle("width").toInt()+this.shadowOffset;c.overlay.setStyle("height",b);f.setStyle("height",b);c.canvas.height=Browser.Engine.webkit?4000:b;c.canvas.width=Browser.Engine.webkit?2000:g;if(Browser.Engine.trident4){c.zIndexFix.setStyles({width:g,height:b});}f.setStyle("width",g);c.overlay.setStyle("width",g);c.titleBar.setStyles({width:g-this.shadowOffset,height:this.options.headerHeight});var a=c.canvas.getContext("2d");var d=document.getCoordinates();a.clearRect(0,0,d.width,d.height);if(e!=false){this.roundedRect(a,0,0,g,b,this.options.cornerRadius,[0,0,0],0.06);this.roundedRect(a,1,1,g-2,b-2,this.options.cornerRadius,[0,0,0],0.08);this.roundedRect(a,2,2,g-4,b-4,this.options.cornerRadius,[0,0,0],0.3);}this.bodyRoundedRect(a,3,2,g-this.shadowOffset,b-this.shadowOffset,this.options.cornerRadius,f.footerBgColor);this.topRoundedRect(a,3,2,g-this.shadowOffset,this.options.headerHeight,this.options.cornerRadius,f.headerStartColor,f.headerStopColor);this.closebuttonX=g-(f.closable?15:-4);this.maximizebuttonX=this.closebuttonX-(f.maximizable?19:0);this.minimizebuttonX=this.maximizebuttonX-(f.minimizable?19:0);if(f.closable){this.closebutton(a,this.closebuttonX,15,f.closeColor,1);}if(f.maximizable){this.maximizebutton(a,this.maximizebuttonX,15,f.maximizeColor,1);}if(f.minimizable){this.minimizebutton(a,this.minimizebuttonX,15,f.minimizeColor,1);}if(f.resizable){this.triangle(a,g-20,b-20,12,12,f.resizableColor,1);}this.triangle(a,0,0,10,10,f.resizableColor,0);},bodyRoundedRect:function(d,c,g,f,b,a,e){d.fillStyle="rgba("+e.join(",")+", 100)";d.beginPath();d.moveTo(c,g+a);d.lineTo(c,g+b-a);d.quadraticCurveTo(c,g+b,c+a,g+b);d.lineTo(c+f-a,g+b);d.quadraticCurveTo(c+f,g+b,c+f,g+b-a);d.lineTo(c+f,g+a);d.quadraticCurveTo(c+f,g,c+f-a,g);d.lineTo(c+a,g);d.quadraticCurveTo(c,g,c,g+a);d.fill();},roundedRect:function(f,d,j,h,c,b,g,e){f.fillStyle="rgba("+g.join(",")+","+e+")";f.beginPath();f.moveTo(d,j+b);f.lineTo(d,j+c-b);f.quadraticCurveTo(d,j+c,d+b,j+c);f.lineTo(d+h-b,j+c);f.quadraticCurveTo(d+h,j+c,d+h,j+c-b);f.lineTo(d+h,j+b);f.quadraticCurveTo(d+h,j,d+h-b,j);f.lineTo(d+b,j);f.quadraticCurveTo(d,j,d,j+b);f.fill();},topRoundedRect:function(j,g,f,a,h,e,c,d){if(Browser.Engine.presto!=null){var b=j.createLinearGradient(0,0,0,this.options.headerHeight+2);}else{var b=j.createLinearGradient(0,0,0,this.options.headerHeight);}b.addColorStop(0,"rgba("+c.join(",")+", 100)");b.addColorStop(1,"rgba("+d.join(",")+", 100)");j.fillStyle=b;j.beginPath();j.moveTo(g,f);j.lineTo(g,f+h);j.lineTo(g+a,f+h);j.lineTo(g+a,f+e);j.quadraticCurveTo(g+a,f,g+a-e,f);j.lineTo(g+e,f);j.quadraticCurveTo(g,f,g,f+e);j.fill();},triangle:function(e,c,h,g,b,f,d){e.beginPath();e.moveTo(c+g,h);e.lineTo(c,h+b);e.lineTo(c+g,h+b);e.closePath();e.fillStyle="rgba("+f.join(",")+","+d+")";e.fill();},drawCircle:function(d,b,g,f,e,c){d.beginPath();d.moveTo(b,g);d.arc(b,g,f,0,Math.PI*2,true);d.fillStyle="rgba("+e.join(",")+","+c+")";d.fill();},maximizebutton:function(d,b,f,e,c){d.beginPath();d.moveTo(b,f);d.arc(b,f,7,0,Math.PI*2,true);d.fillStyle="rgba("+e.join(",")+","+c+")";d.fill();d.beginPath();d.moveTo(b,f-4);d.lineTo(b,f+4);d.stroke();d.beginPath();d.moveTo(b-4,f);d.lineTo(b+4,f);d.stroke();},closebutton:function(d,b,f,e,c){d.beginPath();d.moveTo(b-3,f-3);d.lineTo(b+3,f+3);d.stroke();d.beginPath();d.moveTo(b+3,f-3);d.lineTo(b-3,f+3);d.stroke();},minimizebutton:function(d,b,f,e,c){d.beginPath();d.moveTo(b,f);d.arc(b,f,7,0,Math.PI*2,true);d.fillStyle="rgba("+e.join(",")+","+c+")";d.fill();d.beginPath();d.moveTo(b-4,f);d.lineTo(b+4,f);d.stroke();},hideLoadingIcon:function(a){$(a).setStyle("display","none");$clear(a.iconAnimation);},showLoadingIcon:function(a){$(a).setStyles({display:"block"});var b=1;var c=function(f){var d=$(f).getContext("2d");d.clearRect(0,0,18,18);d.save();d.translate(9,9);d.rotate(b*(Math.PI/8));var e=0;for(i=0;i<8;i++){e=Math.floor(255/8*i);d.fillStyle="rgb("+e+","+e+","+e+")";d.rotate(-Math.PI/4);d.beginPath();d.arc(0,7,2,0,Math.PI*2,true);d.fill();}d.restore();b++;}.bind(this);a.iconAnimation=c.periodical(125,this,a);},setMochaControlsWidth:function(d,a){var b=14;var c=5;this.mochaControlsWidth=0;if(d.minimizable){this.mochaControlsWidth+=(c+b);}if(d.maximizable){this.mochaControlsWidth+=(c+b);a.maximizeButton.setStyle("margin-left",c);}if(d.closable){this.mochaControlsWidth+=(c+b);a.closeButton.setStyle("margin-left",c);}a.controls.setStyle("width",this.mochaControlsWidth);},initializeDock:function(){this.dock.setStyles({display:"block",position:"absolute",top:null,bottom:0,left:0});document.addEvent("mousemove",function(c){if(!this.dockAutoHide){return;}var b=new Event(c);if(b.client.y>(document.getCoordinates().height-25)){if(!this.dockVisible){this.dock.setStyle("display","block");this.dockVisible=true;this.setDesktopSize();}}else{if(this.dockVisible){this.dock.setStyle("display","none");this.dockVisible=false;this.setDesktopSize();}}}.bind(this));var a=new Element("canvas",{"class":"mochaCanvas",id:"dockCanvas",width:"15",height:"18"}).injectInside(this.dock).setStyles({position:"absolute",top:"4px",left:"2px",zIndex:2});if(Browser.Engine.trident&&navigator.userAgent.match("MSIE [678]")&&this.ieSupport=="excanvas"){G_vmlCanvasManager.initElement(a);}$("mochaDockPlacement").setProperty("title","Position Dock Top");$("mochaDockAutoHide").setProperty("title","Turn Auto Hide On");$("mochaDockPlacement").addEvent("click",function(c){var b=this.dock.getElement(".mochaCanvas").getContext("2d");if(this.dock.getStyle("position")!="relative"){this.dock.setStyles({position:"relative",bottom:null,"border-top":"1px solid #fff","border-bottom":"1px solid #bbb"});this.setDesktopSize();this.dock.setProperty("dockPosition","Top");this.drawCircle(b,5,4,3,[0,255,0],1);this.drawCircle(b,5,14,3,[212,208,200],1);$("mochaDockPlacement").setProperty("title","Position Dock Bottom");$("mochaDockAutoHide").setProperty("title","Auto Hide Disabled in Top Dock Position");this.dockAutoHide=false;}else{this.dock.setStyles({position:"absolute",bottom:0,"border-top":"1px solid #bbb","border-bottom":"1px solid #fff"});this.setDesktopSize();this.dock.setProperty("dockPosition","Bottom");this.drawCircle(b,5,4,3,[241,102,116],1);this.drawCircle(b,5,14,3,[241,102,116],1);$("mochaDockPlacement").setProperty("title","Position Dock Top");$("mochaDockAutoHide").setProperty("title","Turn Auto Hide On");}}.bind(this));$("mochaDockAutoHide").addEvent("click",function(c){if(this.dock.getProperty("dockPosition")=="Top"){return false;}var b=this.dock.getElement(".mochaCanvas").getContext("2d");this.dockAutoHide=!this.dockAutoHide;if(this.dockAutoHide){$("mochaDockAutoHide").setProperty("title","Turn Auto Hide Off");this.drawCircle(b,5,14,3,[0,255,0],1);}else{$("mochaDockAutoHide").setProperty("title","Turn Auto Hide On");this.drawCircle(b,5,14,3,[241,102,116],1);}}.bind(this));this.drawDock(this.dock);},drawDock:function(b){var a=b.getElement(".mochaCanvas").getContext("2d");this.drawCircle(a,5,4,3,[241,102,116],1);this.drawCircle(a,5,14,3,[241,102,116],1);},dynamicResize:function(a){this.getSubElement(a,"contentWrapper").setStyle("height",this.getSubElement(a,"content").offsetHeight);this.drawWindow(a);},arrangeCascade:function(){var a=this.options.desktopLeftOffset;var b=this.options.desktopTopOffset;$$("div.mocha").each(function(d){if(!d.isMinimized&&!d.isMaximized){this.focusWindow(d);a+=this.options.mochaLeftOffset;b+=this.options.mochaTopOffset;if(this.options.effects==false){d.setStyles({top:b,left:a});}else{var c=new Fx.Morph(d,{duration:550});c.start({top:b,left:a});}}}.bind(this));},garbageCleanUp:function(){$$("div.mocha").each(function(a){a.destroy();}.bind(this));}});MochaUI.implement(new Options);var MochaScreens=new Class({options:{defaultScreen:0},initialize:function(a){this.setOptions(a);this.setScreen(this.options.defaultScreen);},setScreen:function(a){if(!$("mochaScreens")){return;}$$("#mochaScreens div.screen").each(function(c,b){c.setStyle("display",b==a?"block":"none");});}});MochaScreens.implement(new Options);window.addEvent("domready",function(){document.mochaScreens=new MochaScreens();document.mochaUI=new MochaUI();});window.addEvent("unload",function(){if(document.mochaUI){document.mochaUI.garbageCleanUp();}});
