var MochaUI=new Class({options:{resizable:true,draggable:true,minimizable:true,maximizable:true,closable:true,effects:true,minWidth:250,maxWidth:2500,minHeight:100,maxHeight:2000,headerHeight:25,footerHeight:26,cornerRadius:9,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=1;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.setHTML(H.title);switch(H.loadMethod){case"xhr":new Request({url:H.contentURL,onRequest:function(){this.showLoadingIcon(A.canvasIcon)}.bind(this),onFailure:function(){A.content.setHTML("<p><strong>Error Loading XMLHttpRequest</strong></p><p>Make sure all of your content is uploaded to your server, and that you are attempting to load a document from the same domain as this page. XMLHttpRequests will not work on your local machine.</p>");this.hideLoadingIcon.delay(150,this,A.canvasIcon)}.bind(this),onSuccess:function(I){A.content.setHTML(I);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(I){this.hideLoadingIcon.delay(150,this,A.canvasIcon);H.onContentLoaded()}.bind(this));this.showLoadingIcon(A.canvasIcon);break;case"html":default:A.content.setHTML(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{if(this.options.effects==false){G.setStyles({top:D,left:F})}else{G.positionMorph=new Fx.Morph(G,{duration:300});G.positionMorph.start({top:D,left:F});setTimeout(function(){this.focusWindow(G)}.bind(this),10)}}}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:250,onComplete:function(){B.destroy();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}).setHTML(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&&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&&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(E,C,H,G,B,A,F,D){E.fillStyle="rgba("+F.join(",")+","+D+")";E.beginPath();E.moveTo(C,H+A);E.lineTo(C,H+B-A);E.quadraticCurveTo(C,H+B,C+A,H+B);E.lineTo(C+G-A,H+B);E.quadraticCurveTo(C+G,H+B,C+G,H+B-A);E.lineTo(C+G,H+A);E.quadraticCurveTo(C+G,H,C+G-A,H);E.lineTo(C+A,H);E.quadraticCurveTo(C,H,C,H+A);E.fill()},topRoundedRect:function(I,G,F,A,H,E,C,D){if(Browser.Engine.presto!=null){var B=I.createLinearGradient(0,0,0,this.options.headerHeight+2)}else{var B=I.createLinearGradient(0,0,0,this.options.headerHeight)}B.addColorStop(0,"rgba("+C.join(",")+", 100)");B.addColorStop(1,"rgba("+D.join(",")+", 100)");I.fillStyle=B;I.beginPath();I.moveTo(G,F);I.lineTo(G,F+H);I.lineTo(G+A,F+H);I.lineTo(G+A,F+E);I.quadraticCurveTo(G+A,F,G+A-E,F);I.lineTo(G+E,F);I.quadraticCurveTo(G,F,G,F+E);I.fill()},triangle:function(D,B,G,F,A,E,C){D.beginPath();D.moveTo(B+F,G);D.lineTo(B,G+A);D.lineTo(B+F,G+A);D.closePath();D.fillStyle="rgba("+E.join(",")+","+C+")";D.fill()},drawCircle:function(C,A,F,E,D,B){C.beginPath();C.moveTo(A,F);C.arc(A,F,E,0,Math.PI*2,true);C.fillStyle="rgba("+D.join(",")+","+B+")";C.fill()},maximizebutton:function(C,A,E,D,B){C.beginPath();C.moveTo(A,E);C.arc(A,E,7,0,Math.PI*2,true);C.fillStyle="rgba("+D.join(",")+","+B+")";C.fill();C.beginPath();C.moveTo(A,E-4);C.lineTo(A,E+4);C.stroke();C.beginPath();C.moveTo(A-4,E);C.lineTo(A+4,E);C.stroke()},closebutton:function(C,A,E,D,B){C.beginPath();C.moveTo(A,E);C.arc(A,E,7,0,Math.PI*2,true);C.fillStyle="rgba("+D.join(",")+","+B+")";C.fill();C.beginPath();C.moveTo(A-3,E-3);C.lineTo(A+3,E+3);C.stroke();C.beginPath();C.moveTo(A+3,E-3);C.lineTo(A-3,E+3);C.stroke()},minimizebutton:function(C,A,E,D,B){C.beginPath();C.moveTo(A,E);C.arc(A,E,7,0,Math.PI*2,true);C.fillStyle="rgba("+D.join(",")+","+B+")";C.fill();C.beginPath();C.moveTo(A-4,E);C.lineTo(A+4,E);C.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&&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);var MochaWindowForm=new Class({options:{id:null,title:"New Window",loadMethod:"html",content:"",contentURL:"pages/lipsum.html",modal:false,width:300,height:125,scrollbars:true,x:null,y:null,paddingVertical:10,paddingHorizontal:12},initialize:function(A){this.setOptions(A);this.options.id="win"+(++document.mochaUI.windowIDCount);this.options.title=$("mochaNewWindowHeaderTitle").value;if($("htmlLoadMethod").checked){this.options.loadMethod="html"}if($("xhrLoadMethod").checked){this.options.loadMethod="xhr"}if($("iframeLoadMethod").checked){this.options.loadMethod="iframe"}this.options.content=$("mochaNewWindowContent").value;if($("mochaNewWindowContentURL").value){this.options.contentURL=$("mochaNewWindowContentURL").value}if($("mochaNewWindowModal").checked){this.options.modal=true}this.options.width=$("mochaNewWindowWidth").value.toInt();this.options.height=$("mochaNewWindowHeight").value.toInt();this.options.x=$("mochaNewWindowX").value.toInt();this.options.y=$("mochaNewWindowY").value.toInt();this.options.paddingVertical=$("mochaNewWindowPaddingVertical").value.toInt();this.options.paddingHorizontal=$("mochaNewWindowPaddingHorizontal").value.toInt();document.mochaUI.newWindow(this.options)}});MochaWindowForm.implement(new Options);function addSlider(){if($("sliderarea")){mochaSlide=new Slider($("sliderarea"),$("sliderknob"),{steps:20,offset:5,onChange:function(A){$("updatevalue").setHTML(A);document.mochaUI.options.cornerRadius=A;$$("div.mocha").each(function(C,B){document.mochaUI.drawWindow(C)});document.mochaUI.indexLevel++}}).set(document.mochaUI.options.cornerRadius)}}window.addEvent("domready",function(){document.mochaScreens=new MochaScreens();document.mochaUI=new MochaUI();attachMochaLinkEvents();addSlider()});window.addEvent("unload",function(){if(document.mochaUI){document.mochaUI.garbageCleanUp()}});