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(_1){this.setOptions(_1);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(_2){_2.addEvent("mouseenter",function(){this.addClass("ieHover");});_2.addEvent("mouseleave",function(){this.removeClass("ieHover");});});}},modalInitialize:function(){var _3=new Element("div",{"id":"mochaModalOverlay","styles":{"height":document.getCoordinates().height}});_3.injectInside(this.desktop?this.desktop:document.body);_3.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(el){if(el.isMaximized){var _5=this.getSubElement(el,"iframe");if(_5){_5.setStyle("visibility","hidden");}var _6=document.getCoordinates();var _7=this.getSubElement(el,"contentWrapper");_7.setStyles({"height":(_6.height-this.options.headerHeight-this.options.footerHeight),"width":_6.width});this.drawWindow(el);if(_5){_5.setStyles({"height":_7.getStyle("height")});_5.setStyle("visibility","visible");}}}.bind(this));}.bind(this),100);},newWindowsFromXHTML:function(_8,_9){$$("div.mocha").each(function(el,i){if(Browser.Engine.presto||Browser.Engine.trident5){el.setStyle("display","block");}var _c=el.getElement("h3.mochaTitle");var _d=el.getStyles("height","width");var _e={id:el.getProperty("id"),height:_d.height.toInt(),width:_d.width.toInt()};if(_c){_e.title=_c.innerHTML;_c.destroy();}_e.content=el.innerHTML;el.destroy();this.newWindow(_e,true);}.bind(this));this.arrangeCascade();},newWindowsFromJSON:function(_f){_f.each(function(_10){this.newWindow(_10);}.bind(this));},newWindow:function(_11,_12){var _13=$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},_11||{});var _14=$(_13.id);if(_14&&!_14.isClosing){if(_14.isMinimized){this.restoreMinimized(_14);}else{setTimeout(function(){this.focusWindow(_14);}.bind(this),10);}return;}var _14=new Element("div",{"class":"mocha","id":_13.id&&_13.id!=null?_13.id:"win"+(++this.windowIDCount),"styles":{"width":_13.width,"height":_13.height,"display":"block"}});if(Browser.Platform.mac&&Browser.Engine.gecko){_14.setStyle("position","fixed");}if(_13.loadMethod=="iframe"){_13.scrollbars=false;_13.paddingVertical=0;_13.paddingHorizontal=0;}_14=$extend(_14,{id:_13.id,oldTop:0,oldLeft:0,oldWidth:0,oldHeight:0,iconAnimation:$empty,modal:_13.modal,scrollbars:_13.scrollbars,contentBorder:null,closable:_13.closable,resizable:_13.resizable&&!_13.modal,draggable:_13.draggable&&!_13.modal,minimizable:this.dock&&_13.minimizable&&!_13.modal,maximizable:this.desktop&&_13.maximizable&&!_13.modal,iframe:_13.loadMethod=="iframe"?true:false,isMaximized:false,isMinimized:false,headerStartColor:_13.headerStartColor,headerStopColor:_13.headerStopColor,footerBgColor:_13.footerBgColor,minimizeColor:_13.minimizeColor,maximizeColor:_13.maximizeColor,closeColor:_13.closeColor,resizableColor:_13.resizableColor,onFocus:_13.onFocus,onResize:_13.onResize,onMinimize:_13.onMinimize,onMaximize:_13.onMaximize,onClose:_13.onClose,onCloseComplete:_13.onCloseComplete});var _15=this.insertWindowElements(_14,_13.height,_13.width);_15.title.set('html',_13.title);switch(_13.loadMethod){case "xhr":new Request({url:_13.contentURL,onRequest:function(){this.showLoadingIcon(_15.canvasIcon);}.bind(this),onFailure:function(){_15.content.set("html","<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,_15.canvasIcon);}.bind(this),onSuccess:function(_16){_15.content.set("html",_16);this.hideLoadingIcon.delay(150,this,_15.canvasIcon);_13.onContentLoaded();}.bind(this)}).get();break;case "iframe":if(_13.contentURL==""){break;}_15.iframe=new Element("iframe",{"id":_14.id+"_iframe","class":"mochaIframe","src":_13.contentURL,"marginwidth":0,"marginheight":0,"frameBorder":0,"scrolling":"auto"}).injectInside(_15.content);_15.iframe.addEvent("load",function(e){this.hideLoadingIcon.delay(150,this,_15.canvasIcon);_13.onContentLoaded();}.bind(this));this.showLoadingIcon(_15.canvasIcon);break;case "html":default:_15.content.set("html",_13.content);_13.onContentLoaded();break;}_15.contentWrapper.setStyles({"overflow":_13.scrollbars&&!_13.iframe?"auto":"hidden","background":_13.bodyBgColor});_15.content.setStyles({"padding-top":_13.paddingVertical,"padding-bottom":_13.paddingVertical,"padding-left":_13.paddingHorizontal,"padding-right":_13.paddingHorizontal});this.attachResizable(_14,_15);this.setupEvents(_14,_15);var _18=document.getCoordinates();var _19=Math.max(document.body.scrollTop,document.documentElement.scrollTop);if(!_13.y){var _1a=(_18.height*0.5)-((_13.height+this.HeaderFooterShadow)*0.5);}else{var _1a=_13.y;}if(!_13.x){var _1b=(_18.width*0.5)-(_13.width*0.5);}else{var _1b=_13.x;}_1a+=Math.max(document.body.scrollTop,document.documentElement.scrollTop);if(_14.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});}_14.setStyles({"top":_1a,"left":_1b,"zIndex":11000});}else{if(_12==true){}else{if(this.options.effects==false){_14.setStyles({"top":_1a,"left":_1b});}else{_14.positionMorph=new Fx.Morph(_14,{"duration":300});_14.positionMorph.start({"top":_1a,"left":_1b});setTimeout(function(){this.focusWindow(_14);}.bind(this),10);}}}_14.injectInside(this.desktop?this.desktop:document.body);this.drawWindow(_14,_15);this.attachDraggable(_14,_15.titleBar);},closeWindow:function(_1c){if(!(_1c=$(_1c))||_1c.isClosing){return;}_1c.isClosing=true;_1c.onClose();if(this.options.effects==false){if(_1c.modal){$("mochaModalOverlay").setStyle("opacity",0);}_1c.destroy();_1c.onCloseComplete();}else{if(Browser.Engine.trident){this.drawWindow(_1c,null,false);}if(_1c.modal){this.modalCloseMorph.start({"opacity":0});}var _1d=new Fx.Morph(_1c,{duration:250,onComplete:function(){_1c.destroy();_1c.onCloseComplete();}.bind(this)});_1d.start({"opacity":0.4});}return true;},closeAll:function(){$$("div.mocha").each(function(el){this.closeWindow(el);$$("button.mochaDockButton").destroy();}.bind(this));return true;},focusWindow:function(_1f){if(!(_1f=$(_1f))){return;}if(_1f.getStyle("zIndex").toInt()==this.indexLevel){return;}this.indexLevel++;_1f.setStyle("zIndex",this.indexLevel);_1f.onFocus();},maximizeWindow:function(_20){if(!(_20=$(_20))||_20.isMaximized){return;}var _21=this.getSubElement(_20,"contentWrapper");_20.onMaximize();_20.oldTop=_20.getStyle("top");_20.oldLeft=_20.getStyle("left");_21.oldWidth=_21.getStyle("width");_21.oldHeight=_21.getStyle("height");if(_20.iframe){this.getSubElement(_20,"iframe").setStyle("visibility","hidden");}var _22=document.getCoordinates();if(this.options.effects==false){_20.setStyles({"top":-this.shadowWidth,"left":-this.shadowWidth});_21.setStyles({"height":_22.height-this.options.headerHeight-this.options.footerHeight,"width":_22.width});this.drawWindow(_20);if(_20.iframe){this.getSubElement(_20,"iframe").setStyle("visibility","visible");}}else{var _23=new Fx.Morph(_20,{"duration":200,"onComplete":function(_24){_21.setStyles({"height":(_22.height-this.options.headerHeight-this.options.footerHeight),"width":_22.width});this.drawWindow(_24);if(_24.iframe){this.getSubElement(_24,"iframe").setStyle("visibility","visible");}}.bind(this)});_23.start({"top":-this.shadowWidth,"left":-this.shadowWidth});}_20.isMaximized=true;},restoreWindow:function(_25){if(!(_25=$(_25))||!_25.isMaximized){return;}if(_25.iframe){this.getSubElement(_25,"iframe").setStyle("visibility","hidden");}var _26=this.getSubElement(_25,"contentWrapper");_26.setStyles({"width":_26.oldWidth,"height":_26.oldHeight});_25.isMaximized=false;this.drawWindow(_25);if(this.options.effects==false){_25.setStyles({"top":_25.oldTop,"left":_25.oldLeft});}else{var _27=new Fx.Morph(_25,{"duration":150,"onComplete":function(el){if(_25.iframe){this.getSubElement(_25,"iframe").setStyle("visibility","visible");}}.bind(this)});_27.start({"top":_25.oldTop,"left":_25.oldLeft});}},minimizeWindow:function(_29){if(!(_29=$(_29))||!this.dock){return;}if(_29.iframe){this.getSubElement(_29,"iframe").setStyle("visibility","hidden");}var _2a=this.getSubElement(_29,"title");var _2b=_29.getElement(".mochaContentWrapper");var _2c=_2a.innerHTML;_29.onMinimize();_29.setStyle("visibility","hidden");if(Browser.Platform.mac&&Browser.Engine.gecko){this.getSubElement(_29,"contentWrapper").setStyle("overflow","hidden");}_29.isMinimized=true;var _2d=new Element("button",{"id":_29.id+"_dockButton","class":"mochaDockButton","title":_2c}).set("html",_2c.substring(0,13)+(_2c.length>13?"...":"")).injectInside($(this.dock));_2d.addEvent("click",function(_2e){this.restoreMinimized(_29);}.bind(this));setTimeout(function(){_29.setStyle("zIndex",1);}.bind(this),100);},restoreMinimized:function(_2f){if(_2f.scrollbars==true&&_2f.iframe==false){this.getSubElement(_2f,"contentWrapper").setStyle("overflow","auto");}_2f.setStyle("visibility","visible");if(_2f.iframe){this.getSubElement(_2f,"iframe").setStyle("visibility","visible");}_2f.isMinimized=false;this.focusWindow(_2f);this.dock.getElementById(_2f.id+"_dockButton").destroy();},getSubElement:function(_30,_31){return _30.getElementById((_30.id+"_"+_31));},getSubElements:function(_32,_33){var _34={};_33.each(function(key){_34[key]=this.getSubElement(_32,key);}.bind(this));return _34;},setupEvents:function(_36,_37){if(_37.closeButton){_37.closeButton.addEvent("click",function(){this.closeWindow(_36);}.bind(this));}if(!_36.modal){_36.addEvent("click",function(){this.focusWindow(_36);}.bind(this));}if(_37.minimizeButton){_37.minimizeButton.addEvent("click",function(){this.minimizeWindow(_36);}.bind(this));}if(_37.maximizeButton){_37.maximizeButton.addEvent("click",function(){if(_36.isMaximized){this.restoreWindow(_36);_37.maximizeButton.setProperty("title","Maximize");}else{this.maximizeWindow(_36);_37.maximizeButton.setProperty("title","Restore");}}.bind(this));}},attachDraggable:function(_38,_39){if(!_38.draggable){return;}new Drag.Move(_38,{handle:_39,onStart:function(){this.focusWindow(_38);if(_38.iframe){this.getSubElement(_38,"iframe").setStyle("visibility","hidden");}}.bind(this),onComplete:function(){if(_38.iframe){this.getSubElement(_38,"iframe").setStyle("visibility","visible");}}.bind(this)});},attachResizable:function(_3a,_3b){if(!_3a.resizable){return;}_3b.contentWrapper.makeResizable({handle:_3b.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(_3a,["title","content","canvas","contentWrapper","overlay","titleBar","iframe","zIndexFix"]);if(this.cacheSubElements.iframe){this.cacheSubElements.iframe.setStyle("visibility","hidden");}}.bind(this),onDrag:function(){this.drawWindow(_3a,this.cacheSubElements);}.bind(this),onComplete:function(){if(this.cacheSubElements.iframe){this.cacheSubElements.iframe.setStyle("visibility","visible");}delete this.cacheSubElements;this.cacheSubElements=null;_3a.onResize();}.bind(this)});},setDesktopSize:function(){var _3c=document.getCoordinates();if(this.desktop){this.desktop.setStyle("height",_3c.height);}if(this.pageWrapper&&this.desktopHeader){var _3d=(_3c.height-this.desktopHeader.offsetHeight-(this.dockVisible?this.dock.offsetHeight:0));if(_3d<0){_3d=0;}this.pageWrapper.setStyle("height",_3d+"px");}},setModalSize:function(){$("mochaModalOverlay").setStyle("height",document.getCoordinates().height);},insertWindowElements:function(_3e,_3f,_40){var _41={};if(Browser.Engine.trident4){_41.zIndexFix=new Element("iframe",{"class":"zIndexFix","scrolling":"no","marginWidth":0,"marginHeight":0,"src":"","id":_3e.id+"_zIndexFix"}).injectInside(_3e);}_41.overlay=new Element("div",{"class":"mochaOverlay","id":_3e.id+"_overlay"}).injectInside(_3e);_41.titleBar=new Element("div",{"class":"mochaTitlebar","id":_3e.id+"_titleBar","styles":{"cursor":_3e.draggable?"move":"default"}}).injectTop(_41.overlay);_41.title=new Element("h3",{"class":"mochaTitle","id":_3e.id+"_title"}).injectInside(_41.titleBar);_3e.contentBorder=new Element("div",{"class":"mochaContentBorder","id":this.options.id+"_contentBorder"}).injectInside(_41.overlay);_41.contentWrapper=new Element("div",{"class":"mochaContentWrapper","id":_3e.id+"_contentWrapper","styles":{"width":_40+"px","height":_3f+"px"}}).injectInside(_3e.contentBorder);_41.content=new Element("div",{"class":"mochaContent","id":_3e.id+"_content"}).injectInside(_41.contentWrapper);_41.canvas=new Element("canvas",{"class":"mochaCanvas","width":1,"height":1,"id":_3e.id+"_canvas"}).injectInside(_3e);if(Browser.Engine.trident&&this.ieSupport=="excanvas"){G_vmlCanvasManager.initElement(_41.canvas);_41.canvas=_3e.getElement(".mochaCanvas");}if(_3e.resizable){_41.resizeHandle=new Element("div",{"class":"resizeHandle","id":_3e.id+"_resizeHandle"}).injectAfter(_41.overlay);if(Browser.Engine.trident){_41.resizeHandle.setStyle("zIndex",2);}}_41.controls=new Element("div",{"class":"mochaControls","id":_3e.id+"_controls"}).injectAfter(_41.overlay);if(_3e.closable){_41.closeButton=new Element("div",{"class":"mochaClose","title":"Close Window","id":_3e.id+"_closeButton"}).injectInside(_41.controls);}if(_3e.maximizable){_41.maximizeButton=new Element("div",{"class":"maximizeToggle","title":"Maximize","id":_3e.id+"_maximizeButton"}).injectInside(_41.controls);}if(_3e.minimizable){_41.minimizeButton=new Element("div",{"class":"minimizeToggle","title":"Minimize","id":_3e.id+"_minimizeButton"}).injectInside(_41.controls);}_41.canvasIcon=new Element("canvas",{"class":"mochaLoadingIcon","width":18,"height":18,"id":_3e.id+"_canvasIcon"}).injectBottom(_3e);if(Browser.Engine.trident&&this.ieSupport=="excanvas"){G_vmlCanvasManager.initElement(_41.canvasIcon);_41.canvasIcon=_3e.getElement(".mochaLoadingIcon");}if(Browser.Engine.trident){_41.controls.setStyle("zIndex",2);_41.overlay.setStyle("zIndex",2);}if(Browser.Platform.mac&&Browser.Engine.gecko){_41.overlay.setStyle("overflow","auto");}this.setMochaControlsWidth(_3e,_41);return _41;},drawWindow:function(_42,_43,_44){if(!_43){_43=this.getSubElements(_42,["title","content","canvas","contentWrapper","overlay","titleBar","iframe","zIndexFix"]);}_42.contentBorder.setStyles({"width":_43.contentWrapper.offsetWidth});if(_42.iframe){_43.iframe.setStyles({"height":_43.contentWrapper.offsetHeight});}var _45=_43.contentWrapper.getStyle("height").toInt()+this.HeaderFooterShadow;var _46=_43.contentWrapper.getStyle("width").toInt()+this.shadowOffset;_43.overlay.setStyle("height",_45);_42.setStyle("height",_45);_43.canvas.height=Browser.Engine.webkit?4000:_45;_43.canvas.width=Browser.Engine.webkit?2000:_46;if(Browser.Engine.trident4){_43.zIndexFix.setStyles({"width":_46,"height":_45});}_42.setStyle("width",_46);_43.overlay.setStyle("width",_46);_43.titleBar.setStyles({"width":_46-this.shadowOffset,"height":this.options.headerHeight});var ctx=_43.canvas.getContext("2d");var _48=document.getCoordinates();ctx.clearRect(0,0,_48.width,_48.height);if(_44!=false){this.roundedRect(ctx,0,0,_46,_45,this.options.cornerRadius,[0,0,0],0.06);this.roundedRect(ctx,1,1,_46-2,_45-2,this.options.cornerRadius,[0,0,0],0.08);this.roundedRect(ctx,2,2,_46-4,_45-4,this.options.cornerRadius,[0,0,0],0.3);}this.bodyRoundedRect(ctx,3,2,_46-this.shadowOffset,_45-this.shadowOffset,this.options.cornerRadius,_42.footerBgColor);this.topRoundedRect(ctx,3,2,_46-this.shadowOffset,this.options.headerHeight,this.options.cornerRadius,_42.headerStartColor,_42.headerStopColor);this.closebuttonX=_46-(_42.closable?15:-4);this.maximizebuttonX=this.closebuttonX-(_42.maximizable?19:0);this.minimizebuttonX=this.maximizebuttonX-(_42.minimizable?19:0);if(_42.closable){this.closebutton(ctx,this.closebuttonX,15,_42.closeColor,1);}if(_42.maximizable){this.maximizebutton(ctx,this.maximizebuttonX,15,_42.maximizeColor,1);}if(_42.minimizable){this.minimizebutton(ctx,this.minimizebuttonX,15,_42.minimizeColor,1);}if(_42.resizable){this.triangle(ctx,_46-20,_45-20,12,12,_42.resizableColor,1);}this.triangle(ctx,0,0,10,10,_42.resizableColor,0);},bodyRoundedRect:function(ctx,x,y,_4c,_4d,_4e,rgb){ctx.fillStyle="rgba("+rgb.join(",")+", 100)";ctx.beginPath();ctx.moveTo(x,y+_4e);ctx.lineTo(x,y+_4d-_4e);ctx.quadraticCurveTo(x,y+_4d,x+_4e,y+_4d);ctx.lineTo(x+_4c-_4e,y+_4d);ctx.quadraticCurveTo(x+_4c,y+_4d,x+_4c,y+_4d-_4e);ctx.lineTo(x+_4c,y+_4e);ctx.quadraticCurveTo(x+_4c,y,x+_4c-_4e,y);ctx.lineTo(x+_4e,y);ctx.quadraticCurveTo(x,y,x,y+_4e);ctx.fill();},roundedRect:function(ctx,x,y,_53,_54,_55,rgb,a){ctx.fillStyle="rgba("+rgb.join(",")+","+a+")";ctx.beginPath();ctx.moveTo(x,y+_55);ctx.lineTo(x,y+_54-_55);ctx.quadraticCurveTo(x,y+_54,x+_55,y+_54);ctx.lineTo(x+_53-_55,y+_54);ctx.quadraticCurveTo(x+_53,y+_54,x+_53,y+_54-_55);ctx.lineTo(x+_53,y+_55);ctx.quadraticCurveTo(x+_53,y,x+_53-_55,y);ctx.lineTo(x+_55,y);ctx.quadraticCurveTo(x,y,x,y+_55);ctx.fill();},topRoundedRect:function(ctx,x,y,_5b,_5c,_5d,_5e,_5f){if(Browser.Engine.presto!=null){var _60=ctx.createLinearGradient(0,0,0,this.options.headerHeight+2);}else{var _60=ctx.createLinearGradient(0,0,0,this.options.headerHeight);}_60.addColorStop(0,"rgba("+_5e.join(",")+", 100)");_60.addColorStop(1,"rgba("+_5f.join(",")+", 100)");ctx.fillStyle=_60;ctx.beginPath();ctx.moveTo(x,y);ctx.lineTo(x,y+_5c);ctx.lineTo(x+_5b,y+_5c);ctx.lineTo(x+_5b,y+_5d);ctx.quadraticCurveTo(x+_5b,y,x+_5b-_5d,y);ctx.lineTo(x+_5d,y);ctx.quadraticCurveTo(x,y,x,y+_5d);ctx.fill();},triangle:function(ctx,x,y,_64,_65,rgb,a){ctx.beginPath();ctx.moveTo(x+_64,y);ctx.lineTo(x,y+_65);ctx.lineTo(x+_64,y+_65);ctx.closePath();ctx.fillStyle="rgba("+rgb.join(",")+","+a+")";ctx.fill();},drawCircle:function(ctx,x,y,_6b,rgb,a){ctx.beginPath();ctx.moveTo(x,y);ctx.arc(x,y,_6b,0,Math.PI*2,true);ctx.fillStyle="rgba("+rgb.join(",")+","+a+")";ctx.fill();},maximizebutton:function(ctx,x,y,rgb,a){ctx.beginPath();ctx.moveTo(x,y);ctx.arc(x,y,7,0,Math.PI*2,true);ctx.fillStyle="rgba("+rgb.join(",")+","+a+")";ctx.fill();ctx.beginPath();ctx.moveTo(x,y-4);ctx.lineTo(x,y+4);ctx.stroke();ctx.beginPath();ctx.moveTo(x-4,y);ctx.lineTo(x+4,y);ctx.stroke();},closebutton:function(ctx,x,y,rgb,a){ctx.beginPath();ctx.moveTo(x,y);ctx.arc(x,y,7,0,Math.PI*2,true);ctx.fillStyle="rgba("+rgb.join(",")+","+a+")";ctx.fill();ctx.beginPath();ctx.moveTo(x-3,y-3);ctx.lineTo(x+3,y+3);ctx.stroke();ctx.beginPath();ctx.moveTo(x+3,y-3);ctx.lineTo(x-3,y+3);ctx.stroke();},minimizebutton:function(ctx,x,y,rgb,a){ctx.beginPath();ctx.moveTo(x,y);ctx.arc(x,y,7,0,Math.PI*2,true);ctx.fillStyle="rgba("+rgb.join(",")+","+a+")";ctx.fill();ctx.beginPath();ctx.moveTo(x-4,y);ctx.lineTo(x+4,y);ctx.stroke();},hideLoadingIcon:function(_7d){$(_7d).setStyle("display","none");$clear(_7d.iconAnimation);},showLoadingIcon:function(_7e){$(_7e).setStyles({"display":"block"});var t=1;var _80=function(_81){var ctx=$(_81).getContext("2d");ctx.clearRect(0,0,18,18);ctx.save();ctx.translate(9,9);ctx.rotate(t*(Math.PI/8));var _83=0;for(i=0;i<8;i++){_83=Math.floor(255/8*i);ctx.fillStyle="rgb("+_83+","+_83+","+_83+")";ctx.rotate(-Math.PI/4);ctx.beginPath();ctx.arc(0,7,2,0,Math.PI*2,true);ctx.fill();}ctx.restore();t++;}.bind(this);_7e.iconAnimation=_80.periodical(125,this,_7e);},setMochaControlsWidth:function(_84,_85){var _86=14;var _87=5;this.mochaControlsWidth=0;if(_84.minimizable){this.mochaControlsWidth+=(_87+_86);}if(_84.maximizable){this.mochaControlsWidth+=(_87+_86);_85.maximizeButton.setStyle("margin-left",_87);}if(_84.closable){this.mochaControlsWidth+=(_87+_86);_85.closeButton.setStyle("margin-left",_87);}_85.controls.setStyle("width",this.mochaControlsWidth);},initializeDock:function(){this.dock.setStyles({"display":"block","position":"absolute","top":null,"bottom":0,"left":0});document.addEvent("mousemove",function(_88){if(!this.dockAutoHide){return;}var ev=new Event(_88);if(ev.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 _8a=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(_8a);}$("mochaDockPlacement").setProperty("title","Position Dock Top");$("mochaDockAutoHide").setProperty("title","Turn Auto Hide On");$("mochaDockPlacement").addEvent("click",function(_8b){var ctx=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(ctx,5,4,3,[0,255,0],1);this.drawCircle(ctx,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(ctx,5,4,3,[241,102,116],1);this.drawCircle(ctx,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(_8d){if(this.dock.getProperty("dockPosition")=="Top"){return false;}var ctx=this.dock.getElement(".mochaCanvas").getContext("2d");this.dockAutoHide=!this.dockAutoHide;if(this.dockAutoHide){$("mochaDockAutoHide").setProperty("title","Turn Auto Hide Off");this.drawCircle(ctx,5,14,3,[0,255,0],1);}else{$("mochaDockAutoHide").setProperty("title","Turn Auto Hide On");this.drawCircle(ctx,5,14,3,[241,102,116],1);}}.bind(this));this.drawDock(this.dock);},drawDock:function(el){var ctx=el.getElement(".mochaCanvas").getContext("2d");this.drawCircle(ctx,5,4,3,[241,102,116],1);this.drawCircle(ctx,5,14,3,[241,102,116],1);},dynamicResize:function(_91){this.getSubElement(_91,"contentWrapper").setStyle("height",this.getSubElement(_91,"content").offsetHeight);this.drawWindow(_91);},arrangeCascade:function(){var x=this.options.desktopLeftOffset;var y=this.options.desktopTopOffset;$$("div.mocha").each(function(_94){if(!_94.isMinimized&&!_94.isMaximized){this.focusWindow(_94);x+=this.options.mochaLeftOffset;y+=this.options.mochaTopOffset;if(this.options.effects==false){_94.setStyles({"top":y,"left":x});}else{var _95=new Fx.Morph(_94,{"duration":550});_95.start({"top":y,"left":x});}}}.bind(this));},garbageCleanUp:function(){$$("div.mocha").each(function(el){el.destroy();}.bind(this));}});MochaUI.implement(new Options);var MochaScreens=new Class({options:{defaultScreen:0},initialize:function(_97){this.setOptions(_97);this.setScreen(this.options.defaultScreen);},setScreen:function(_98){if(!$("mochaScreens")){return;}$$("#mochaScreens div.screen").each(function(el,i){el.setStyle("display",i==_98?"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(_9b){this.setOptions(_9b);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(pos){$("updatevalue").set("html",pos);document.mochaUI.options.cornerRadius=pos;$$("div.mocha").each(function(_9d,i){document.mochaUI.drawWindow(_9d);});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();}});
