var MochaUI=new Hash({options:new Hash({useEffects:true}),Columns:{instances:new Hash},Panels:{instances:new Hash},Windows:{instances:new Hash,indexLevel:100,windowIDCount:0,windowsVisible:true},ieSupport:"excanvas",focusingWindow:"false",updateContent:function(a){var b={element:null,childElement:null,title:null,content:null,loadMethod:null,url:null,padding:null};$extend(b,a);if(b.element){var d=b.element;if(MochaUI.Windows.instances.get(d.id))var e="window",c=MochaUI.Windows.instances.get(d.id),
f=c.spinnerEl;else{e="panel";c=MochaUI.Panels.instances.get(d.id)}b.title&&c.titleEl.set("html",b.title);var g=c.contentEl,h=b.childElement!=null?b.childElement:c.contentEl;a=b.loadMethod!=null?b.loadMethod:c.options.loadMethod;if(h==c.contentEl)c.contentWrapperEl.setStyles({overflow:c.options.scrollbars==true&&a!="iframe"?"auto":"hidden"});var j=c.contentWrapperEl;b.padding!=null&&g.setStyles({"padding-top":b.padding.top,"padding-bottom":b.padding.bottom,"padding-left":b.padding.left,"padding-right":b.padding.right});
h==g&&g.empty();switch(a){case "xhr":(new Request.HTML({url:b.url,update:h,evalScripts:c.options.evalScripts,evalResponse:c.options.evalResponse,onRequest:function(){if(e=="window"&&h==g)c.showSpinner(f);else e=="panel"&&h==g&&$("spinner")&&$("spinner").setStyle("visibility","visible")}.bind(this),onFailure:function(){if(h==g){h.set("html","<p><strong>Error Loading XMLHttpRequest</strong></p>");if(e=="window")c.hideSpinner(f);else e=="panel"&&$("spinner")&&$("spinner").setStyle("visibility","hidden")}}.bind(this),
onException:function(){}.bind(this),onSuccess:function(){if(h==g){if(e=="window")c.hideSpinner(f);else e=="panel"&&$("spinner")&&$("spinner").setStyle("visibility","hidden");c.fireEvent("onContentLoaded",d)}}.bind(this),onComplete:function(){}.bind(this)})).get();break;case "iframe":if(c.options.contentURL==""||h!=g)break;c.iframeEl=(new Element("iframe",{id:c.options.id+"_iframe",name:c.options.id+"_iframe","class":"mochaIframe",src:b.url,marginwidth:0,marginheight:0,frameBorder:0,scrolling:"auto",
styles:{height:j.offsetHeight-j.getStyle("border-top").toInt()-j.getStyle("border-bottom").toInt(),width:c.panelEl?j.offsetWidth-j.getStyle("border-left").toInt()-j.getStyle("border-right").toInt():"100%"}})).injectInside(g);c.iframeEl.addEvent("load",function(){if(e=="window")c.hideSpinner(f);else e=="panel"&&h==g&&$("spinner")&&$("spinner").setStyle("visibility","hidden");c.fireEvent("onContentLoaded",d)}.bind(this));if(e=="window")c.showSpinner(f);else e=="panel"&&h==g&&$("spinner")&&$("spinner").setStyle("visibility",
"visible");break;case "html":default:Array("element","textnode","whitespace","collection").contains($type(b.content))?b.content.inject(h):h.set("html",b.content);c.fireEvent("onContentLoaded",d);break}}},reloadIframe:function(a){if(Browser.Engine.gecko)$(a).src=$(a).src;else top.frames[a].location.reload(true)},collapseToggle:function(a){var b=MochaUI.Windows.instances.get(a.id),d=b.windowEl.getElements(".handle");if(b.isMaximized!=true)if(b.isCollapsed==false){b.isCollapsed=true;d.setStyle("display",
"none");b.iframeEl&&b.iframeEl.setStyle("visibility","hidden");b.contentBorderEl.setStyles({visibility:"hidden",position:"absolute",top:-10000,left:-10000});b.toolbarWrapperEl&&b.toolbarWrapperEl.setStyles({visibility:"hidden",position:"absolute",top:-10000,left:-10000});b.drawWindowCollapsed(a)}else{b.isCollapsed=false;b.drawWindow(a);b.contentBorderEl.setStyles({visibility:"visible",position:null,top:null,left:null});b.toolbarWrapperEl&&b.toolbarWrapperEl.setStyles({visibility:"visible",position:null,
top:null,left:null});b.iframeEl&&b.iframeEl.setStyle("visibility","visible");d.setStyle("display","block")}},closeWindow:function(a){var b=MochaUI.Windows.instances.get(a.id);if(!(a!=$(a)||b.isClosing)){b.isClosing=true;b.fireEvent("onClose",a);b.check&&b.check.destroy();if((b.options.type=="modal"||b.options.type=="modal2")&&Browser.Engine.trident4)$("modalFix").setStyle("display","none");if(MochaUI.options.useEffects==false){if(b.options.type=="modal"||b.options.type=="modal2")$("modalOverlay").setStyle("opacity",
0);MochaUI.closingJobs(a);return true}else{Browser.Engine.trident&&b.drawWindow(a,false);if(b.options.type=="modal"||b.options.type=="modal2")MochaUI.Modal.modalOverlayCloseMorph.start({opacity:0});(new Fx.Morph(a,{duration:120,onComplete:function(){MochaUI.closingJobs(a);return true}.bind(this)})).start({opacity:0.4})}}},closingJobs:function(a){var b=MochaUI.Windows.instances,d=b.get(a.id);a.setStyle("visibility","hidden");a.destroy();d.fireEvent("onCloseComplete");d.options.type!="notification"&&
this.focusWindow(this.getWindowWithHighestZindex());b.erase(d.options.id);this.loadingWorkspace==true&&this.windowUnload();if(MochaUI.Dock&&$(MochaUI.options.dock)&&d.options.type=="window"){a=$(d.options.id+"_dockTab");a!=null&&MochaUI.Dock.dockSortables.removeItems(a).destroy();MochaUI.Desktop.setDesktopSize()}},closeAll:function(){$$("div.mocha").each(function(a){this.closeWindow(a)}.bind(this))},toggleWindowVisibility:function(){MochaUI.Windows.instances.each(function(a){if(!(a.options.type==
"modal"||a.options.type=="modal2"||a.isMinimized==true)){var b=$(a.options.id);if(b.getStyle("visibility")=="visible"){a.iframe&&a.iframeEl.setStyle("visibility","hidden");a.toolbarEl&&a.toolbarWrapperEl.setStyle("visibility","hidden");a.contentBorderEl.setStyle("visibility","hidden");b.setStyle("visibility","hidden");MochaUI.Windows.windowsVisible=false}else{b.setStyle("visibility","visible");a.contentBorderEl.setStyle("visibility","visible");a.iframe&&a.iframeEl.setStyle("visibility","visible");
a.toolbarEl&&a.toolbarWrapperEl.setStyle("visibility","visible");MochaUI.Windows.windowsVisible=true}}}.bind(this))},focusWindow:function(a,b){MochaUI.focusingWindow="true";(function(){MochaUI.focusingWindow="false"}).delay(170,this);if($$(".mocha").length!=0)if(!(a!=$(a)||a.hasClass("isFocused"))){var d=MochaUI.Windows.instances,e=d.get(a.id);if(e.options.type!="notification"){MochaUI.Windows.indexLevel+=2;a.setStyle("zIndex",MochaUI.Windows.indexLevel);$("windowUnderlay").setStyle("zIndex",MochaUI.Windows.indexLevel-
1).inject($(a),"after");d.each(function(c){c.windowEl.hasClass("isFocused")&&c.fireEvent("onBlur",c.windowEl);c.windowEl.removeClass("isFocused")});MochaUI.Dock&&$(MochaUI.options.dock)&&e.options.type=="window"&&MochaUI.Dock.makeActiveTab();e.windowEl.addClass("isFocused");b!=false&&e.fireEvent("onFocus",a)}}},getWindowWithHighestZindex:function(){this.highestZindex=0;$$("div.mocha").each(function(a){this.zIndex=a.getStyle("zIndex");if(this.zIndex>=this.highestZindex)this.highestZindex=this.zIndex}.bind(this));
$$("div.mocha").each(function(a){if(a.getStyle("zIndex")==this.highestZindex)this.windowWithHighestZindex=a}.bind(this));return this.windowWithHighestZindex},blurAll:function(){if(MochaUI.focusingWindow=="false"){$$(".mocha").each(function(a){var b=MochaUI.Windows.instances.get(a.id);b.options.type!="modal"&&b.options.type!="modal2"&&a.removeClass("isFocused")});$$("div.dockTab").removeClass("activeDockTab")}},roundedRect:function(a,b,d,e,c,f,g,h){a.fillStyle="rgba("+g.join(",")+","+h+")";a.beginPath();
a.moveTo(b,d+f);a.lineTo(b,d+c-f);a.quadraticCurveTo(b,d+c,b+f,d+c);a.lineTo(b+e-f,d+c);a.quadraticCurveTo(b+e,d+c,b+e,d+c-f);a.lineTo(b+e,d+f);a.quadraticCurveTo(b+e,d,b+e-f,d);a.lineTo(b+f,d);a.quadraticCurveTo(b,d,b,d+f);a.fill()},triangle:function(a,b,d,e,c,f,g){a.beginPath();a.moveTo(b+e,d);a.lineTo(b,d+c);a.lineTo(b+e,d+c);a.closePath();a.fillStyle="rgba("+f.join(",")+","+g+")";a.fill()},circle:function(a,b,d,e,c,f){a.beginPath();a.moveTo(b,d);a.arc(b,d,e,0,Math.PI*2,true);a.fillStyle="rgba("+
c.join(",")+","+f+")";a.fill()},centerWindow:function(a){a||MochaUI.Windows.instances.each(function(f){if(f.windowEl.hasClass("isFocused"))a=f.windowEl});var b=MochaUI.Windows.instances.get(a.id),d=b.options,e=d.container.getCoordinates(),c=e.height*0.5-(d.height+b.headerFooterShadow)*0.5;if(c<0)c=0;d=e.width*0.5-d.width*0.5;if(d<0)d=0;MochaUI.options.useEffects==true?b.morph.start({top:c,left:d}):a.setStyles({top:c,left:d})},notification:function(a){new MochaUI.Window({loadMethod:"html",closeAfter:1500,
type:"notification",addClass:"notification",content:a,width:220,height:40,y:53,padding:{top:10,right:12,bottom:10,left:12},shadowBlur:5,bodyBgColor:[255,255,255]})},dynamicResize:function(a){var b=MochaUI.Windows.instances.get(a.id),d=b.contentWrapperEl,e=b.contentEl;d.setStyle("height",e.offsetHeight);d.setStyle("width",e.offsetWidth);b.drawWindow(a)},garbageCleanUp:function(){$$("div.mocha").each(function(a){a.destroy()}.bind(this))},underlayInitialize:function(){(new Element("div",{id:"windowUnderlay",
styles:{height:parent.getCoordinates().height,opacity:0.01,display:"none"}})).inject(document.body)},setUnderlaySize:function(){$("windowUnderlay").setStyle("height",parent.getCoordinates().height)}});
function fixPNG(a){if(Browser.Engine.trident4&&document.body.filters)a.outerHTML="<span "+(a.id?"id='"+a.id+"' ":"")+(a.className?"class='"+a.className+"' ":"")+(a.title?"title='"+a.title+"' ":"title='"+a.alt+"' ")+' style="width:'+a.width+"px; height:"+a.height+"px;"+("display:inline-block;"+a.style.cssText)+";filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+a.src+"', sizingMethod='scale');\"></span>"}document.addEvent("keydown",function(a){a.key=="q"&&a.control&&a.alt&&MochaUI.toggleWindowVisibility()});
document.addEvent("mousedown",function(){MochaUI.blurAll.delay(50)});document.addEvent("domready",function(){MochaUI.underlayInitialize()});window.addEvent("resize",function(){MochaUI.setUnderlaySize()});
MochaUI.Windows.windowOptions={id:null,title:"New Window",icon:false,type:"window",loadMethod:"html",contentURL:"",closeAfter:false,evalScripts:true,evalResponse:false,content:"Window content",toolbar:false,toolbarPosition:"top",toolbarHeight:29,toolbarURL:"",toolbarContent:"",toolbar2:false,toolbar2Position:"bottom",toolbar2Height:29,toolbar2URL:"",toolbar2Content:"",container:null,restrict:true,shape:"box",collapsible:true,minimizable:true,maximizable:true,closable:true,draggable:null,draggableGrid:false,
draggableLimit:false,draggableSnap:false,resizable:null,resizeLimit:{x:[250,2500],y:[125,2E3]},addClass:"",width:300,height:125,x:null,y:null,scrollbars:true,padding:{top:10,right:12,bottom:10,left:12},shadowBlur:5,shadowOffset:{x:0,y:1},controlsOffset:{right:6,top:6},useCanvas:true,useCanvasControls:true,useSpinner:true,headerHeight:25,footerHeight:25,cornerRadius:8,contentBgColor:"#fff",headerStartColor:[250,250,250],headerStopColor:[229,229,229],bodyBgColor:[0,0,0],minimizeBgColor:[255,255,255],
minimizeColor:[0,0,0],maximizeBgColor:[255,255,255],maximizeColor:[0,0,0],closeBgColor:[255,255,255],closeColor:[0,0,0],resizableColor:[254,254,254],onBeforeBuild:$empty,onContentLoaded:$empty,onFocus:$empty,onBlur:$empty,onResize:$empty,onMinimize:$empty,onMaximize:$empty,onRestore:$empty,onClose:$empty,onCloseComplete:$empty};
MochaUI.Window=new Class({options:MochaUI.Windows.windowOptions,initialize:function(a){this.setOptions(a);a=this.options;$extend(this,{mochaControlsWidth:0,minimizebuttonX:0,maximizebuttonX:0,closebuttonX:0,headerFooterShadow:a.headerHeight+a.footerHeight+a.shadowBlur*2,oldTop:0,oldLeft:0,isMaximized:false,isMinimized:false,isCollapsed:false,timestamp:$time()});if(a.type!="window"){a.container=document.body;a.minimizable=false}if(!a.container)a.container=MochaUI.Desktop.desktop?MochaUI.Desktop.desktop:
document.body;if(a.resizable==null)a.resizable=a.type!="window"||a.shape=="gauge"?false:true;if(a.draggable==null)a.draggable=a.type!="window"?false:true;if(a.shape=="gauge"||a.type=="notification"){a.collapsible=false;a.maximizable=false;a.contentBgColor="transparent";a.scrollbars=false;a.footerHeight=0}if(a.type=="notification"){a.closable=false;a.headerHeight=0}if(MochaUI.Dock&&$(MochaUI.options.dock)){if(MochaUI.Dock.dock&&a.type!="modal"&&a.type!="modal2")a.minimizable=a.minimizable}else a.minimizable=
false;a.maximizable=MochaUI.Desktop.desktop&&a.maximizable&&a.type!="modal"&&a.type!="modal2";if(this.options.type=="modal2"){this.options.shadowBlur=0;this.options.shadowOffset={x:0,y:0};this.options.useSpinner=false;this.options.useCanvas=false;this.options.footerHeight=0;this.options.headerHeight=0}if(a.id==null)a.id="win"+ ++MochaUI.Windows.windowIDCount;this.windowEl=$(a.id);this.newWindow();return this},saveValues:function(){var a=this.windowEl.getCoordinates();this.options.x=a.left.toInt();
this.options.y=a.top.toInt()},newWindow:function(){var a=MochaUI.Windows.instances,b=a.get(this.options.id);if(b)var d=b;if(this.windowEl&&!this.isClosing){d.isMinimized&&MochaUI.Dock.restoreMinimized(this.windowEl);if(d.isCollapsed)MochaUI.collapseToggle(this.windowEl);else{a=document.getCoordinates();if(this.windowEl.getStyle("left").toInt()>a.width||this.windowEl.getStyle("top").toInt()>a.height)MochaUI.centerWindow(this.windowEl)}setTimeout(MochaUI.focusWindow.pass(this.windowEl,this),10)}else{a.set(this.options.id,
this);this.isClosing=false;this.fireEvent("onBeforeBuild");MochaUI.Windows.indexLevel++;this.windowEl=new Element("div",{"class":"mocha",id:this.options.id,styles:{width:this.options.width,height:this.options.height,display:"block",opacity:0,zIndex:MochaUI.Windows.indexLevel+=2}});this.windowEl.addClass(this.options.addClass);this.options.type=="modal2"&&this.windowEl.addClass("modal2");Browser.Engine.trident&&this.options.shape=="gauge"&&this.windowEl.setStyle("background","url(../images/spacer.gif)");
if((this.options.type=="modal"||this.options.type=="modal2")&&Browser.Platform.mac&&Browser.Engine.gecko)/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)&&new Number(RegExp.$1)<3&&this.windowEl.setStyle("position","fixed");if(this.options.loadMethod=="iframe")this.options.padding={top:0,right:0,bottom:0,left:0};this.insertWindowElements();this.titleEl.set("html",this.options.title);this.contentWrapperEl.setStyles({overflow:"hidden",background:this.options.contentBgColor});this.contentEl.setStyles({"padding-top":this.options.padding.top,
"padding-bottom":this.options.padding.bottom,"padding-left":this.options.padding.left,"padding-right":this.options.padding.right});if(this.options.shape=="gauge"){this.options.useCanvasControls?this.canvasControlsEl.setStyle("display","none"):this.controlsEl.setStyle("display","none");this.windowEl.addEvent("mouseover",function(){this.mouseover=true;(function(){if(this.mouseover!=false){this.options.useCanvasControls?this.canvasControlsEl.setStyle("display","block"):this.controlsEl.setStyle("display",
"block");this.canvasHeaderEl.setStyle("display","block");this.titleEl.setStyle("display","block")}}).delay(150,this)}.bind(this));this.windowEl.addEvent("mouseleave",function(){this.mouseover=false;this.options.useCanvasControls?this.canvasControlsEl.setStyle("display","none"):this.controlsEl.setStyle("display","none");this.canvasHeaderEl.setStyle("display","none");this.titleEl.setStyle("display","none")}.bind(this))}this.windowEl.injectInside(this.options.container);this.options.type!="notification"&&
this.setMochaControlsWidth();MochaUI.updateContent({element:this.windowEl,content:this.options.content,url:this.options.contentURL});this.options.toolbar==true&&MochaUI.updateContent({element:this.windowEl,childElement:this.toolbarEl,content:this.options.toolbarContent,loadMethod:"xhr",url:this.options.toolbarURL});this.options.toolbar2==true&&MochaUI.updateContent({element:this.windowEl,childElement:this.toolbar2El,content:this.options.toolbar2Content,loadMethod:"xhr",url:this.options.toolbar2URL});
this.drawWindow(this.windowEl);this.attachDraggable(this.windowEl);this.attachResizable(this.windowEl);this.setupEvents(this.windowEl);this.options.resizable&&this.adjustHandles();a=this.options.container==document.body||this.options.container==MochaUI.Desktop.desktop?window.getSize():$(this.options.container).getSize();this.windowEl.setStyles({top:this.options.y?this.options.y-this.options.shadowBlur:a.y*0.5-(this.options.height+this.headerFooterShadow+this.windowEl.getStyle("border-top").toInt()+
this.windowEl.getStyle("border-bottom").toInt())*0.5,left:this.options.x?this.options.x-this.options.shadowBlur:a.x*0.5-this.options.width*0.5});if(MochaUI.options.useEffects==true){Browser.Engine.trident&&this.drawWindow(this.windowEl,false);this.opacityMorph=new Fx.Morph(this.windowEl,{duration:350,onComplete:function(){Browser.Engine.trident&&this.drawWindow(this.windowEl)}.bind(this)})}if(this.options.type=="modal"||this.options.type=="modal2"){MochaUI.currentModal=this.windowEl;Browser.Engine.trident4&&
$("modalFix").setStyle("display","block");$("modalOverlay").setStyle("display","block");if(MochaUI.options.useEffects==false){$("modalOverlay").setStyle("opacity",0.6);this.windowEl.setStyles({zIndex:11E3,opacity:1})}else{MochaUI.Modal.modalOverlayCloseMorph.cancel();MochaUI.Modal.modalOverlayOpenMorph.start({opacity:0.6});this.windowEl.setStyles({zIndex:11E3});this.opacityMorph.start({opacity:1})}$$(".dockTab").removeClass("activeDockTab");$$(".mocha").removeClass("isFocused");this.windowEl.addClass("isFocused")}else{MochaUI.options.useEffects==
false?this.windowEl.setStyle("opacity",1):this.opacityMorph.start({opacity:1});setTimeout(MochaUI.focusWindow.pass(this.windowEl,this),10)}this.morph=new Fx.Morph(this.windowEl,{duration:200});if($(this.windowEl.id+"LinkCheck"))this.check=(new Element("div",{"class":"check",id:this.options.id+"_check"})).inject(this.windowEl.id+"LinkCheck");this.options.closeAfter!=false&&MochaUI.closeWindow.delay(this.options.closeAfter,this,this.windowEl);MochaUI.Dock&&$(MochaUI.options.dock)&&this.options.type==
"window"&&MochaUI.Dock.createDockTab(this.windowEl)}},setupEvents:function(a){this.closeButtonEl&&this.closeButtonEl.addEvent("click",function(b){(new Event(b)).stop();MochaUI.closeWindow(a)}.bind(this));this.options.type=="window"&&a.addEvent("mousedown",function(){MochaUI.focusWindow(a)}.bind(this));this.minimizeButtonEl&&this.minimizeButtonEl.addEvent("click",function(b){(new Event(b)).stop();MochaUI.Dock.minimizeWindow(a)}.bind(this));this.maximizeButtonEl&&this.maximizeButtonEl.addEvent("click",
function(b){(new Event(b)).stop();this.isMaximized?MochaUI.Desktop.restoreWindow(a):MochaUI.Desktop.maximizeWindow(a)}.bind(this));if(this.options.collapsible==true){this.titleEl.addEvent("selectstart",function(b){(new Event(b)).stop()}.bind(this));this.titleBarEl.addEvent("mousedown",function(){Browser.Engine.trident&&this.titleEl.setCapture()}.bind(this));this.titleBarEl.addEvent("mouseup",function(){Browser.Engine.trident&&this.titleEl.releaseCapture()}.bind(this));this.titleBarEl.addEvent("dblclick",
function(b){(new Event(b)).stop();MochaUI.collapseToggle(this.windowEl)}.bind(this))}},attachDraggable:function(a){if(this.options.draggable)this.windowDrag=new Drag.Move(a,{handle:this.titleBarEl,container:this.options.restrict==true?$(this.options.container):false,grid:this.options.draggableGrid,limit:this.options.draggableLimit,snap:this.options.draggableSnap,onStart:function(){if(this.options.type!="modal"&&this.options.type!="modal2"){MochaUI.focusWindow(a);$("windowUnderlay").setStyle("display",
"block")}this.iframeEl&&this.iframeEl.setStyle("visibility","hidden")}.bind(this),onComplete:function(){this.options.type!="modal"&&this.options.type!="modal2"&&$("windowUnderlay").setStyle("display","none");this.iframeEl&&this.iframeEl.setStyle("visibility","visible");this.saveValues()}.bind(this)})},attachResizable:function(a){if(this.options.resizable){this.resizable1=this.windowEl.makeResizable({handle:[this.n,this.ne,this.nw],limit:{y:[function(){return this.windowEl.getStyle("top").toInt()+
this.windowEl.getStyle("height").toInt()-this.options.resizeLimit.y[1]}.bind(this),function(){return this.windowEl.getStyle("top").toInt()+this.windowEl.getStyle("height").toInt()-this.options.resizeLimit.y[0]}.bind(this)]},modifiers:{x:false,y:"top"},onStart:function(){this.resizeOnStart();this.coords=this.contentWrapperEl.getCoordinates();this.y2=this.coords.top.toInt()+this.contentWrapperEl.offsetHeight}.bind(this),onDrag:function(){this.coords=this.contentWrapperEl.getCoordinates();this.contentWrapperEl.setStyle("height",
this.y2-this.coords.top.toInt());this.drawWindow(a);this.adjustHandles()}.bind(this),onComplete:function(){this.resizeOnComplete()}.bind(this)});this.resizable2=this.contentWrapperEl.makeResizable({handle:[this.e,this.ne],limit:{x:[this.options.resizeLimit.x[0]-this.options.shadowBlur*2,this.options.resizeLimit.x[1]-this.options.shadowBlur*2]},modifiers:{x:"width",y:false},onStart:function(){this.resizeOnStart()}.bind(this),onDrag:function(){this.drawWindow(a);this.adjustHandles()}.bind(this),onComplete:function(){this.resizeOnComplete()}.bind(this)});
this.resizable3=this.contentWrapperEl.makeResizable({container:this.options.restrict==true?$(this.options.container):false,handle:this.se,limit:{x:[this.options.resizeLimit.x[0]-this.options.shadowBlur*2,this.options.resizeLimit.x[1]-this.options.shadowBlur*2],y:[this.options.resizeLimit.y[0]-this.headerFooterShadow,this.options.resizeLimit.y[1]-this.headerFooterShadow]},modifiers:{x:"width",y:"height"},onStart:function(){this.resizeOnStart()}.bind(this),onDrag:function(){this.drawWindow(a);this.adjustHandles()}.bind(this),
onComplete:function(){this.resizeOnComplete()}.bind(this)});this.resizable4=this.contentWrapperEl.makeResizable({handle:[this.s,this.sw],limit:{y:[this.options.resizeLimit.y[0]-this.headerFooterShadow,this.options.resizeLimit.y[1]-this.headerFooterShadow]},modifiers:{x:false,y:"height"},onStart:function(){this.resizeOnStart()}.bind(this),onDrag:function(){this.drawWindow(a);this.adjustHandles()}.bind(this),onComplete:function(){this.resizeOnComplete()}.bind(this)});this.resizable5=this.windowEl.makeResizable({handle:[this.w,
this.sw,this.nw],limit:{x:[function(){return this.windowEl.getStyle("left").toInt()+this.windowEl.getStyle("width").toInt()-this.options.resizeLimit.x[1]}.bind(this),function(){return this.windowEl.getStyle("left").toInt()+this.windowEl.getStyle("width").toInt()-this.options.resizeLimit.x[0]}.bind(this)]},modifiers:{x:"left",y:false},onStart:function(){this.resizeOnStart();this.coords=this.contentWrapperEl.getCoordinates();this.x2=this.coords.left.toInt()+this.contentWrapperEl.offsetWidth}.bind(this),
onDrag:function(){this.coords=this.contentWrapperEl.getCoordinates();this.contentWrapperEl.setStyle("width",this.x2-this.coords.left.toInt());this.drawWindow(a);this.adjustHandles()}.bind(this),onComplete:function(){this.resizeOnComplete()}.bind(this)})}},resizeOnStart:function(){$("windowUnderlay").setStyle("display","block");this.iframeEl&&this.iframeEl.setStyle("visibility","hidden")},resizeOnComplete:function(){$("windowUnderlay").setStyle("display","none");this.iframeEl&&this.iframeEl.setStyle("visibility",
"visible");this.fireEvent("onResize",this.windowEl)},adjustHandles:function(){var a=this.options.shadowBlur,b=a*2,d=this.options.shadowOffset,e=a-d.y-1,c=a+d.x-1,f=a+d.y-1;a=a-d.x-1;var g=this.windowEl.getCoordinates();d=g.width-b+2;b=g.height-b+2;this.n.setStyles({top:e,left:a+10,width:d-20});this.e.setStyles({top:e+10,right:c,height:b-30});this.s.setStyles({bottom:f,left:a+10,width:d-30});this.w.setStyles({top:e+10,left:a,height:b-20});this.ne.setStyles({top:e,right:c});this.se.setStyles({bottom:f,
right:c});this.sw.setStyles({bottom:f,left:a});this.nw.setStyles({top:e,left:a})},detachResizable:function(){this.resizable1.detach();this.resizable2.detach();this.resizable3.detach();this.resizable4.detach();this.resizable5.detach();this.windowEl.getElements(".handle").setStyle("display","none")},reattachResizable:function(){this.resizable1.attach();this.resizable2.attach();this.resizable3.attach();this.resizable4.attach();this.resizable5.attach();this.windowEl.getElements(".handle").setStyle("display",
"block")},insertWindowElements:function(){var a=this.options,b=a.height,d=a.width,e=a.id,c={};if(Browser.Engine.trident4)c.zIndexFixEl=(new Element("iframe",{id:e+"_zIndexFix","class":"zIndexFix",scrolling:"no",marginWidth:0,marginHeight:0,src:""})).inject(this.windowEl);c.overlayEl=(new Element("div",{id:e+"_overlay","class":"mochaOverlay"})).inject(this.windowEl);c.titleBarEl=(new Element("div",{id:e+"_titleBar","class":"mochaTitlebar",styles:{cursor:a.draggable?"move":"default"}})).inject(c.overlayEl,
"top");c.titleEl=(new Element("h3",{id:e+"_title","class":"mochaTitle"})).inject(c.titleBarEl);a.icon!=false&&c.titleBarEl.setStyles({"padding-left":15,background:"url("+a.icon+") 5px 5px no-repeat"});c.contentBorderEl=(new Element("div",{id:e+"_contentBorder","class":"mochaContentBorder"})).inject(c.overlayEl);if(a.toolbar){c.toolbarWrapperEl=(new Element("div",{id:e+"_toolbarWrapper","class":"mochaToolbarWrapper"})).inject(c.contentBorderEl,a.toolbarPosition=="bottom"?"after":"before");a.toolbarPosition==
"bottom"&&c.toolbarWrapperEl.addClass("bottom");c.toolbarEl=(new Element("div",{id:e+"_toolbar","class":"mochaToolbar"})).inject(c.toolbarWrapperEl)}if(a.toolbar2){c.toolbar2WrapperEl=(new Element("div",{id:e+"_toolbar2Wrapper","class":"mochaToolbarWrapper"})).inject(c.contentBorderEl,a.toolbar2Position=="bottom"?"after":"before");a.toolbar2Position=="bottom"&&c.toolbar2WrapperEl.addClass("bottom");c.toolbar2El=(new Element("div",{id:e+"_toolbar2","class":"mochaToolbar"})).inject(c.toolbar2WrapperEl)}c.contentWrapperEl=
(new Element("div",{id:e+"_contentWrapper","class":"mochaContentWrapper",styles:{width:d+"px",height:b+"px"}})).inject(c.contentBorderEl);this.options.shape=="gauge"&&c.contentBorderEl.setStyle("borderWidth",0);c.contentEl=(new Element("div",{id:e+"_content","class":"mochaContent"})).inject(c.contentWrapperEl);if(this.options.useCanvas==true){c.canvasEl=(new Element("canvas",{id:e+"_canvas","class":"mochaCanvas",width:1,height:1})).inject(this.windowEl);if(Browser.Engine.trident&&MochaUI.ieSupport==
"excanvas"){G_vmlCanvasManager.initElement(c.canvasEl);c.canvasEl=this.windowEl.getElement(".mochaCanvas")}}c.controlsEl=(new Element("div",{id:e+"_controls","class":"mochaControls"})).inject(c.overlayEl,"after");if(a.useCanvasControls==true){c.canvasControlsEl=(new Element("canvas",{id:e+"_canvasControls","class":"mochaCanvasControls",width:14,height:14})).inject(this.windowEl);if(Browser.Engine.trident&&MochaUI.ieSupport=="excanvas"){G_vmlCanvasManager.initElement(c.canvasControlsEl);c.canvasControlsEl=
this.windowEl.getElement(".mochaCanvasControls")}}if(a.closable){c.closeButtonEl=(new Element("div",{id:e+"_closeButton","class":"mochaCloseButton",title:"fermer"})).inject(c.controlsEl);a.useCanvasControls==true&&c.closeButtonEl.setStyle("background","none")}if(a.maximizable){c.maximizeButtonEl=(new Element("div",{id:e+"_maximizeButton","class":"mochaMaximizeButton",title:"agrandir"})).inject(c.controlsEl);a.useCanvasControls==true&&c.maximizeButtonEl.setStyle("background","none")}if(a.minimizable){c.minimizeButtonEl=
(new Element("div",{id:e+"_minimizeButton","class":"mochaMinimizeButton",title:"reduire"})).inject(c.controlsEl);a.useCanvasControls==true&&c.minimizeButtonEl.setStyle("background","none")}if(a.useSpinner==true&&a.shape!="gauge"&&a.type!="notification")c.spinnerEl=(new Element("div",{id:e+"_spinner","class":"mochaSpinner",width:16,height:16})).inject(this.windowEl,"bottom");if(this.options.shape=="gauge"){c.canvasHeaderEl=(new Element("canvas",{id:e+"_canvasHeader","class":"mochaCanvasHeader",width:this.options.width,
height:26})).inject(this.windowEl,"bottom");if(Browser.Engine.trident&&MochaUI.ieSupport=="excanvas"){G_vmlCanvasManager.initElement(c.canvasHeaderEl);c.canvasHeaderEl=this.windowEl.getElement(".mochaCanvasHeader")}}Browser.Engine.trident&&c.overlayEl.setStyle("zIndex",2);Browser.Platform.mac&&Browser.Engine.gecko&&/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)&&new Number(RegExp.$1)<3&&c.overlayEl.setStyle("overflow","auto");if(a.resizable){c.n=(new Element("div",{id:e+"_resizeHandle_n","class":"handle",
styles:{top:0,left:10,cursor:"n-resize"}})).inject(c.overlayEl,"after");c.ne=(new Element("div",{id:e+"_resizeHandle_ne","class":"handle corner",styles:{top:0,right:0,cursor:"ne-resize"}})).inject(c.overlayEl,"after");c.e=(new Element("div",{id:e+"_resizeHandle_e","class":"handle",styles:{top:10,right:0,cursor:"e-resize"}})).inject(c.overlayEl,"after");c.se=(new Element("div",{id:e+"_resizeHandle_se","class":"handle cornerSE",styles:{bottom:0,right:0,cursor:"se-resize"}})).inject(c.overlayEl,"after");
c.s=(new Element("div",{id:e+"_resizeHandle_s","class":"handle",styles:{bottom:0,left:10,cursor:"s-resize"}})).inject(c.overlayEl,"after");c.sw=(new Element("div",{id:e+"_resizeHandle_sw","class":"handle corner",styles:{bottom:0,left:0,cursor:"sw-resize"}})).inject(c.overlayEl,"after");c.w=(new Element("div",{id:e+"_resizeHandle_w","class":"handle",styles:{top:10,left:0,cursor:"w-resize"}})).inject(c.overlayEl,"after");c.nw=(new Element("div",{id:e+"_resizeHandle_nw","class":"handle corner",styles:{top:0,
left:0,cursor:"nw-resize"}})).inject(c.overlayEl,"after")}$extend(this,c)},drawWindow:function(a,b){if(this.isCollapsed)this.drawWindowCollapsed(a,b);else{var d=this.options,e=d.shadowBlur,c=e*2,f=this.options.shadowOffset;this.overlayEl.setStyles({width:this.contentWrapperEl.offsetWidth});this.iframeEl&&this.iframeEl.setStyles({height:this.contentWrapperEl.offsetHeight});var g=this.contentBorderEl.getStyle("border-top").toInt()+this.contentBorderEl.getStyle("border-bottom").toInt(),h=this.toolbarWrapperEl?
this.toolbarWrapperEl.getStyle("height").toInt()+this.toolbarWrapperEl.getStyle("border-top").toInt():0,j=this.toolbar2WrapperEl?this.toolbar2WrapperEl.getStyle("height").toInt()+this.toolbar2WrapperEl.getStyle("border-top").toInt():0;this.headerFooterShadow=d.headerHeight+d.footerHeight+c;g=this.contentWrapperEl.getStyle("height").toInt()+this.headerFooterShadow+h+j+g;h=this.contentWrapperEl.getStyle("width").toInt()+c;this.windowEl.setStyles({height:g,width:h});this.overlayEl.setStyles({height:g,
top:e-f.y,left:e-f.x});if(this.options.useCanvas==true){this.canvasEl.height=g;this.canvasEl.width=h}Browser.Engine.trident4&&this.zIndexFixEl.setStyles({width:h,height:g});this.titleBarEl.setStyles({width:h-c,height:d.headerHeight});d.useSpinner==true&&d.shape!="gauge"&&d.type!="notification"&&this.spinnerEl.setStyles({left:e-f.x+3,bottom:e+f.y+4});if(this.options.useCanvas!=false){c=this.canvasEl.getContext("2d");c.clearRect(0,0,h,g);switch(d.shape){case "box":this.drawBox(c,h,g,e,f,b);break;case "gauge":this.drawGauge(c,
h,g,e,f,b);break}d.resizable&&MochaUI.triangle(c,h-(e+f.x+17),g-(e+f.y+18),11,11,d.resizableColor,1);Browser.Engine.trident&&MochaUI.triangle(c,0,0,10,10,d.resizableColor,0)}d.type!="notification"&&d.useCanvasControls==true&&this.drawControls(h,g,b)}},drawWindowCollapsed:function(a,b){var d=this.options,e=d.shadowBlur,c=e*2,f=d.shadowOffset,g=d.headerHeight+c+2,h=this.contentWrapperEl.getStyle("width").toInt()+c;this.windowEl.setStyle("height",g);this.overlayEl.setStyles({height:g,top:e-f.y,left:e-
f.x});this.canvasEl.height=g;this.canvasEl.width=h;Browser.Engine.trident4&&this.zIndexFixEl.setStyles({width:h,height:g});this.windowEl.setStyle("width",h);this.overlayEl.setStyle("width",h);this.titleBarEl.setStyles({width:h-c,height:d.headerHeight});if(this.options.useCanvas!=false){c=this.canvasEl.getContext("2d");c.clearRect(0,0,h,g);this.drawBoxCollapsed(c,h,g,e,f,b);d.useCanvasControls==true&&this.drawControls(h,g,b);Browser.Engine.trident&&MochaUI.triangle(c,0,0,10,10,d.resizableColor,0)}},
drawControls:function(){var a=this.options,b=a.shadowBlur,d=a.shadowOffset,e=a.controlsOffset;this.controlsEl.setStyles({right:b+d.x+e.right,top:b-d.y+e.top});this.canvasControlsEl.setStyles({right:b+d.x+e.right,top:b-d.y+e.top});this.closebuttonX=a.closable?this.mochaControlsWidth-7:this.mochaControlsWidth+12;this.maximizebuttonX=this.closebuttonX-(a.maximizable?19:0);this.minimizebuttonX=this.maximizebuttonX-(a.minimizable?19:0);b=this.canvasControlsEl.getContext("2d");b.clearRect(0,0,100,100);
this.options.closable&&this.closebutton(b,this.closebuttonX,7,a.closeBgColor,1,a.closeColor,1);this.options.maximizable&&this.maximizebutton(b,this.maximizebuttonX,7,a.maximizeBgColor,1,a.maximizeColor,1);this.options.minimizable&&this.minimizebutton(b,this.minimizebuttonX,7,a.minimizeBgColor,1,a.minimizeColor,1)},drawBox:function(a,b,d,e,c,f){var g=e*2,h=this.options.cornerRadius;if(f!=false)for(f=0;f<=e;f++)MochaUI.roundedRect(a,c.x+f,c.y+f,b-f*2-c.x,d-f*2-c.y,h+(e-f),[0,0,0],f==e?0.29:0.065+f*
0.01);this.bodyRoundedRect(a,e-c.x,e-c.y,b-g,d-g,h,this.options.bodyBgColor);this.options.type!="notification"&&this.topRoundedRect(a,e-c.x,e-c.y,b-g,this.options.headerHeight,h,this.options.headerStartColor,this.options.headerStopColor)},drawBoxCollapsed:function(a,b,d,e,c,f){var g=this.options,h=e*2,j=g.cornerRadius;if(f!=false)for(f=0;f<=e;f++)MochaUI.roundedRect(a,c.x+f,c.y+f,b-f*2-c.x,d-f*2-c.y,j+(e-f),[0,0,0],f==e?0.3:0.06+f*0.01);this.topRoundedRect2(a,e-c.x,e-c.y,b-h,g.headerHeight+2,j,g.headerStartColor,
g.headerStopColor)},drawGauge:function(a,b,d,e,c,f){var g=this.options;if(f!=false)for(f=0;f<=e;f++)MochaUI.circle(a,b*0.5+c.x,(d+g.headerHeight)*0.5+c.x,b*0.5-f*2-c.x,[0,0,0],f==e?0.75:0.075+f*0.04);MochaUI.circle(a,b*0.5-c.x,(d+g.headerHeight)*0.5-c.y,b*0.5-e,g.bodyBgColor,1);this.canvasHeaderEl.setStyles({top:e-c.y,left:e-c.x});a=this.canvasHeaderEl.getContext("2d");a.clearRect(0,0,b,100);a.beginPath();a.lineWidth=24;a.lineCap="round";a.moveTo(13,13);a.lineTo(b-e*2-13,13);a.strokeStyle="rgba(0, 0, 0, .65)";
a.stroke()},bodyRoundedRect:function(a,b,d,e,c,f,g){a.fillStyle="rgba("+g.join(",")+", 100)";a.beginPath();a.moveTo(b,d+f);a.lineTo(b,d+c-f);a.quadraticCurveTo(b,d+c,b+f,d+c);a.lineTo(b+e-f,d+c);a.quadraticCurveTo(b+e,d+c,b+e,d+c-f);a.lineTo(b+e,d+f);a.quadraticCurveTo(b+e,d,b+e-f,d);a.lineTo(b+f,d);a.quadraticCurveTo(b,d,b,d+f);a.fill()},topRoundedRect:function(a,b,d,e,c,f,g,h){var j=a.createLinearGradient(0,0,0,c);j.addColorStop(0,"rgba("+g.join(",")+", 1)");j.addColorStop(1,"rgba("+h.join(",")+
", 1)");a.fillStyle=j;a.beginPath();a.moveTo(b,d);a.lineTo(b,d+c);a.lineTo(b+e,d+c);a.lineTo(b+e,d+f);a.quadraticCurveTo(b+e,d,b+e-f,d);a.lineTo(b+f,d);a.quadraticCurveTo(b,d,b,d+f);a.fill()},topRoundedRect2:function(a,b,d,e,c,f,g,h){var j=a.createLinearGradient(0,this.options.shadowBlur-1,0,c+this.options.shadowBlur+3);j.addColorStop(0,"rgba("+g.join(",")+", 1)");j.addColorStop(1,"rgba("+h.join(",")+", 1)");a.fillStyle=j;a.beginPath();a.moveTo(b,d+f);a.lineTo(b,d+c-f);a.quadraticCurveTo(b,d+c,b+
f,d+c);a.lineTo(b+e-f,d+c);a.quadraticCurveTo(b+e,d+c,b+e,d+c-f);a.lineTo(b+e,d+f);a.quadraticCurveTo(b+e,d,b+e-f,d);a.lineTo(b+f,d);a.quadraticCurveTo(b,d,b,d+f);a.fill()},maximizebutton:function(a,b,d,e,c,f,g){a.beginPath();a.moveTo(b,d);a.arc(b,d,7,0,Math.PI*2,true);a.fillStyle="rgba("+e.join(",")+","+c+")";a.fill();a.strokeStyle="rgba("+f.join(",")+","+g+")";a.beginPath();a.moveTo(b,d-4);a.lineTo(b,d+4);a.stroke();a.beginPath();a.moveTo(b-4,d);a.lineTo(b+4,d);a.stroke()},closebutton:function(a,
b,d,e,c,f,g){a.beginPath();a.moveTo(b,d);a.arc(b,d,7,0,Math.PI*2,true);a.fillStyle="rgba("+e.join(",")+","+c+")";a.fill();a.strokeStyle="rgba("+f.join(",")+","+g+")";a.beginPath();a.moveTo(b-3,d-3);a.lineTo(b+3,d+3);a.stroke();a.beginPath();a.moveTo(b+3,d-3);a.lineTo(b-3,d+3);a.stroke()},minimizebutton:function(a,b,d,e,c,f,g){a.beginPath();a.moveTo(b,d);a.arc(b,d,7,0,Math.PI*2,true);a.fillStyle="rgba("+e.join(",")+","+c+")";a.fill();a.strokeStyle="rgba("+f.join(",")+","+g+")";a.beginPath();a.moveTo(b-
4,d);a.lineTo(b+4,d);a.stroke()},hideSpinner:function(a){$(a)&&$(a).setStyle("visibility","hidden")},showSpinner:function(a){!this.options.useSpinner||this.options.shape=="gauge"||this.options.type=="notification"||$(a).setStyles({visibility:"visible"})},setMochaControlsWidth:function(){this.mochaControlsWidth=0;var a=this.options;if(a.minimizable)this.mochaControlsWidth+=this.minimizeButtonEl.getStyle("margin-left").toInt()+this.minimizeButtonEl.getStyle("width").toInt();if(a.maximizable)this.mochaControlsWidth+=
this.maximizeButtonEl.getStyle("margin-left").toInt()+this.maximizeButtonEl.getStyle("width").toInt();if(a.closable)this.mochaControlsWidth+=this.closeButtonEl.getStyle("margin-left").toInt()+this.closeButtonEl.getStyle("width").toInt();this.controlsEl.setStyle("width",this.mochaControlsWidth);a.useCanvasControls==true&&this.canvasControlsEl.setProperty("width",this.mochaControlsWidth)}});MochaUI.Window.implement(new Options,new Events);
MochaUI.Modal=new Class({Extends:MochaUI.Window,Implements:[Events,Options],initialize:function(){this.modalInitialize();window.addEvent("resize",function(){this.setModalSize()}.bind(this))},modalInitialize:function(){(new Element("div",{id:"modalOverlay",styles:{height:document.getCoordinates().height,opacity:0.6}})).inject(document.body).addEvent("click",function(){MochaUI.closeWindow(MochaUI.currentModal)});Browser.Engine.trident4&&(new Element("iframe",{id:"modalFix",scrolling:"no",marginWidth:0,
marginHeight:0,src:"",styles:{height:document.getCoordinates().height}})).inject(document.body);this.modalOverlayOpenMorph=new Fx.Morph($("modalOverlay"),{duration:150});this.modalOverlayCloseMorph=new Fx.Morph($("modalOverlay"),{duration:150,onComplete:function(){$("modalOverlay").setStyle("display","none");Browser.Engine.trident4&&$("modalFix").setStyle("display","none")}.bind(this)})},setModalSize:function(){$("modalOverlay").setStyle("height",document.getCoordinates().height);Browser.Engine.trident4&&
$("modalFix").setStyle("height",document.getCoordinates().height)}});MochaUI.Modal.implement(new Options,new Events);
MochaUI.extend({NewWindowsFromHTML:function(){$$("div.mocha").each(function(a){if(Browser.Engine.presto||Browser.Engine.trident5)a.setStyle("display","block");var b=a.getElement("h3.mochaTitle"),d=a.getStyles("height","width");d={id:a.getProperty("id"),height:d.height.toInt(),width:d.width.toInt(),x:a.getStyle("left").toInt(),y:a.getStyle("top").toInt()};if(b){d.title=b.innerHTML;b.destroy()}d.content=a.innerHTML;a.destroy();new MochaUI.Window(d,true)}.bind(this))}});MochaUI.extend({newWindowsFromJSON:function(a){a.each(function(b){new MochaUI.Window(b)}.bind(this))}});
MochaUI.options.extend({viewportTopOffset:30,viewportLeftOffset:20,windowTopOffset:50,windowLeftOffset:40});
MochaUI.extend({arrangeCascade:function(){var a=document.getCoordinates(),b=0;MochaUI.Windows.instances.each(function(g){g.isMinimized||b++});var d=this.options.windowTopOffset*(b+1)>=a.height-this.options.viewportTopOffset?(a.height-this.options.viewportTopOffset)/(b+1):this.options.windowTopOffset,e=this.options.windowLeftOffset*(b+1)>=a.width-this.options.viewportLeftOffset-20?(a.width-this.options.viewportLeftOffset-20)/(b+1):this.options.windowLeftOffset,c=this.options.viewportLeftOffset,f=this.options.viewportTopOffset;
$$("div.mocha").each(function(g){var h=MochaUI.Windows.instances.get(g.id);if(!h.isMinimized&&!h.isMaximized){id=g.id;MochaUI.focusWindow(g);c+=e;f+=d;MochaUI.options.useEffects==false?g.setStyles({top:f,left:c}):(new Fx.Morph(g,{duration:550})).start({top:f,left:c})}}.bind(this))}});
MochaUI.extend({arrangeTile:function(){var a=MochaUI.Windows.instances,b=0;a.each(function(j){!j.isMinimized&&!j.isMaximized&&b++});var d=Math.ceil(b/3),e=document.getCoordinates(),c=(e.width-this.options.viewportLeftOffset)/3,f=(e.height-this.options.viewportTopOffset)/d,g=0,h=0;a.each(function(j){if(!j.isMinimized&&!j.isMaximized){j.contentWrapperEl.getCoordinates();j.windowEl.getCoordinates();j.windowEl.setStyles({left:10+h*c,top:10+g*f});j.drawWindow(j.windowEl);MochaUI.focusWindow(j.windowEl);
if(++h===3){g++;h=0}}}.bind(this))}});MochaUI.extend({initializeTabs:function(a){$(a).getElements("li").each(function(b){b.addEvent("click",function(){MochaUI.selected(this,a)})})},selected:function(a,b){$(b).getChildren().each(function(d){d.removeClass("selected")});a.addClass("selected")}});
MochaUI.Desktop=new Class({Extends:MochaUI.Window,Implements:[Events,Options],options:{desktop:"desktop",desktopHeader:"desktopHeader",desktopFooter:"desktopFooter",desktopNavBar:"desktopNavbar",pageWrapper:"pageWrapper",page:"page",desktopFooter:"desktopFooterWrapper"},initialize:function(a){this.setOptions(a);this.desktop=$(this.options.desktop);this.desktopHeader=$(this.options.desktopHeader);this.desktopNavBar=$(this.options.desktopNavBar);this.pageWrapper=$(this.options.pageWrapper);this.page=
$(this.options.page);this.desktopFooter=$(this.options.desktopFooter);MochaUI.Dock.dockWrapper||this.setDesktopSize();this.menuInitialize();window.addEvent("resize",function(){this.onBrowserResize()}.bind(this))},menuInitialize:function(){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")})})},onBrowserResize:function(){this.setDesktopSize();
setTimeout(function(){MochaUI.Windows.instances.each(function(a){if(a.isMaximized){a.iframeEl&&a.iframeEl.setStyle("visibility","hidden");var b=document.getCoordinates(),d=a.contentBorderEl.getStyle("border-top").toInt()+a.contentBorderEl.getStyle("border-bottom").toInt(),e=a.toolbarWrapperEl?a.toolbarWrapperEl.getStyle("height").toInt()+a.toolbarWrapperEl.getStyle("border-top").toInt():0;a.contentWrapperEl.setStyles({height:b.height-a.options.headerHeight-a.options.footerHeight-d-e,width:b.width});
a.drawWindow($(a.options.id));if(a.iframeEl){a.iframeEl.setStyles({height:a.contentWrapperEl.getStyle("height")});a.iframeEl.setStyle("visibility","visible")}}}.bind(this))}.bind(this),100)},setDesktopSize:function(){var a=window.getCoordinates(),b=$(MochaUI.options.dockWrapper);this.desktop&&this.desktop.setStyle("height",a.height);if(this.pageWrapper){b=MochaUI.dockVisible?b.offsetHeight:0;a=a.height;a-=this.pageWrapper.getStyle("border-top").toInt();a-=this.pageWrapper.getStyle("border-bottom").toInt();
if(this.desktopHeader)a-=this.desktopHeader.offsetHeight;if(this.desktopFooter)a-=this.desktopFooter.offsetHeight;a-=b;if(a<0)a=0;this.pageWrapper.setStyle("height",a)}MochaUI.Columns.instances.getKeys().length>0&&MochaUI.Desktop.resizePanels()},resizePanels:function(){if(Browser.Engine.trident4){$$(".pad").setStyle("display","none");$$(".rHeight").setStyle("height",1)}MochaUI.panelHeight();MochaUI.rWidth();Browser.Engine.trident4&&$$(".pad").setStyle("display","block")},maximizeWindow:function(a){var b=
MochaUI.Windows.instances.get(a.id),d=b.options,e=b.windowDrag;if(!(a!=$(a)||b.isMaximized)){b.isCollapsed&&MochaUI.collapseToggle(a);b.isMaximized=true;if(b.options.restrict){e.detach();d.resizable&&b.detachResizable();b.titleBarEl.setStyle("cursor","default")}if(d.container!=this.desktop){this.desktop.grab(a);if(this.options.restrict)e.container=this.desktop}b.oldTop=a.getStyle("top");b.oldLeft=a.getStyle("left");e=b.contentWrapperEl;e.oldWidth=e.getStyle("width");e.oldHeight=e.getStyle("height");
b.iframeEl&&b.iframeEl.setStyle("visibility","hidden");var c=document.getCoordinates();d=b.options;var f=d.shadowBlur,g=d.shadowOffset;d=c.height-d.headerHeight-d.footerHeight;d-=b.contentBorderEl.getStyle("border-top").toInt();d-=b.contentBorderEl.getStyle("border-bottom").toInt();d-=b.toolbarWrapperEl?b.toolbarWrapperEl.getStyle("height").toInt()+b.toolbarWrapperEl.getStyle("border-top").toInt():0;if(MochaUI.options.useEffects==false){a.setStyles({top:g.y-f,left:g.x-f});b.contentWrapperEl.setStyles({height:d,
width:c.width});b.drawWindow(a);b.iframeEl&&b.iframeEl.setStyle("visibility","visible");b.fireEvent("onMaximize",a)}else(new Fx.Elements([e,a],{duration:70,onStart:function(h){b.maximizeAnimation=b.drawWindow.periodical(20,b,h)}.bind(this),onComplete:function(h){$clear(b.maximizeAnimation);b.drawWindow(h);b.iframeEl&&b.iframeEl.setStyle("visibility","visible");b.fireEvent("onMaximize",h)}.bind(this)})).start({"0":{height:d,width:c.width},"1":{top:g.y-f,left:g.x-f}});b.maximizeButtonEl.setProperty("title",
"reduir");MochaUI.focusWindow(a)}},restoreWindow:function(a){var b=MochaUI.Windows.instances.get(a.id);if(!(a!=$(a)||!b.isMaximized)){var d=b.options;b.isMaximized=false;if(d.restrict){b.windowDrag.attach();d.resizable&&b.reattachResizable();b.titleBarEl.setStyle("cursor","move")}b.iframeEl&&b.iframeEl.setStyle("visibility","hidden");var e=b.contentWrapperEl;if(MochaUI.options.useEffects==false){e.setStyles({width:e.oldWidth,height:e.oldHeight});b.drawWindow(a);a.setStyles({top:b.oldTop,left:b.oldLeft});
b.iframeEl&&b.iframeEl.setStyle("visibility","visible");if(d.container!=this.desktop){$(d.container).grab(a);if(d.restrict)b.windowDrag.container=$(d.container)}b.fireEvent("onRestore",a)}else(new Fx.Elements([e,a],{duration:150,onStart:function(c){b.maximizeAnimation=b.drawWindow.periodical(20,b,c)}.bind(this),onComplete:function(){$clear(b.maximizeAnimation);b.drawWindow(a);b.iframeEl&&b.iframeEl.setStyle("visibility","visible");if(d.container!=this.desktop){$(d.container).grab(a);if(d.restrict)b.windowDrag.container=
$(d.container)}b.fireEvent("onRestore",a)}.bind(this)})).start({"0":{height:e.oldHeight,width:e.oldWidth},"1":{top:b.oldTop,left:b.oldLeft}});b.maximizeButtonEl.setProperty("title","agrandir")}}});MochaUI.Desktop.implement(new Options,new Events);
MochaUI.Column=new Class({Extends:MochaUI.Desktop,Implements:[Events,Options],options:{id:null,placement:null,width:null,resizeLimit:[],onResize:$empty,onCollapse:$empty,onExpand:$empty},initialize:function(a){this.setOptions(a);$extend(this,{timestamp:$time(),isCollapsed:false,oldWidth:0});a=this.options;var b=MochaUI.Columns.instances;b.get(a.id);if(!this.columnEl){b.set(a.id,this);this.columnEl=(new Element("div",{id:this.options.id,"class":"column expanded",styles:{width:a.placement=="main"?null:
a.width}})).inject($(MochaUI.Desktop.pageWrapper));this.columnEl.setStyle("height",this.columnEl.getParent().getStyle("height").toInt());a.placement=="main"&&this.columnEl.addClass("rWidth");this.spacerEl=(new Element("div",{id:this.options.id+"_spacer","class":"horizontalHandle"})).inject(this.columnEl);switch(this.options.placement){case "left":this.handleEl=(new Element("div",{id:this.options.id+"_handle","class":"columnHandle"})).inject(this.columnEl,"after");this.handleIconEl=(new Element("div",
{id:a.id+"_handle_icon","class":"handleIcon"})).inject(this.handleEl);addResizeRight(this.columnEl,a.resizeLimit[0],a.resizeLimit[1]);break;case "right":this.handleEl=(new Element("div",{id:this.options.id+"_handle","class":"columnHandle"})).inject(this.columnEl,"before");this.handleIconEl=(new Element("div",{id:a.id+"_handle_icon","class":"handleIcon"})).inject(this.handleEl);addResizeLeft(this.columnEl,a.resizeLimit[0],a.resizeLimit[1]);break}this.handleEl!=null&&this.handleEl.addEvent("dblclick",
function(){this.columnToggle()}.bind(this));MochaUI.rWidth()}},columnToggle:function(){var a=this.columnEl;if(this.isCollapsed==false){this.oldWidth=a.getStyle("width").toInt();this.resize.detach();this.handleEl.removeEvents("dblclick");this.handleEl.addEvent("click",function(){this.columnToggle()}.bind(this));this.handleEl.setStyle("cursor","pointer").addClass("detached");a.setStyle("width",0);this.isCollapsed=true;a.addClass("collapsed");a.removeClass("expanded");MochaUI.rWidth();this.fireEvent("onCollapse")}else{a.setStyle("width",
this.oldWidth);this.isCollapsed=false;a.addClass("expanded");a.removeClass("collapsed");this.handleEl.removeEvents("click");this.handleEl.addEvent("dblclick",function(){this.columnToggle()}.bind(this));this.resize.attach();this.handleEl.setStyle("cursor","e-resize").addClass("attached");MochaUI.rWidth();this.fireEvent("onExpand")}}});MochaUI.Column.implement(new Options,new Events);
MochaUI.Panel=new Class({Extends:MochaUI.Desktop,Implements:[Events,Options],options:{id:null,title:"New Panel",column:null,loadMethod:"html",contentURL:"pages/lipsum.html",evalScripts:true,evalResponse:false,content:"Panel content",tabsURL:null,footer:false,footerURL:"pages/lipsum.html",height:125,addClass:"",scrollbars:true,padding:{top:8,right:8,bottom:8,left:8},panelBackground:"#f8f8f8",onBeforeBuild:$empty,onContentLoaded:$empty,onResize:$empty,onCollapse:$empty,onExpand:$empty},initialize:function(a){this.setOptions(a);
$extend(this,{timestamp:$time(),isCollapsed:false,oldHeight:0,partner:null});a=MochaUI.Panels.instances;a.get(this.options.id);if(!this.panelEl){a.set(this.options.id,this);this.fireEvent("onBeforeBuild");if(this.options.loadMethod=="iframe"){this.options.scrollbars=false;this.options.padding={top:0,right:0,bottom:0,left:0}}this.showHandle=true;if($(this.options.column).getChildren().length==0)this.showHandle=false;this.panelEl=(new Element("div",{id:this.options.id,"class":"panel expanded",styles:{height:this.options.height,
background:this.options.panelBackground}})).inject($(this.options.column));this.panelEl.addClass(this.options.addClass);this.contentEl=(new Element("div",{id:this.options.id+"_pad","class":"pad"})).inject(this.panelEl);if(this.options.footer){this.footerWrapperEl=(new Element("div",{id:this.options.id+"_panelFooterWrapper","class":"panel-footerWrapper"})).inject(this.panelEl);this.footerEl=(new Element("div",{id:this.options.id+"_panelFooter","class":"panel-footer"})).inject(this.footerWrapperEl);
MochaUI.updateContent({element:this.panelEl,childElement:this.footerEl,loadMethod:"xhr",url:this.options.footerURL})}this.contentWrapperEl=this.panelEl;this.contentWrapperEl.setStyles({overflow:this.options.scrollbars&&!this.iframeEl?"auto":"hidden"});this.contentEl.setStyles({"padding-top":this.options.padding.top,"padding-bottom":this.options.padding.bottom,"padding-left":this.options.padding.left,"padding-right":this.options.padding.right});this.panelHeaderEl=(new Element("div",{id:this.options.id+
"_header","class":"panel-header"})).inject(this.panelEl,"before");this.panelHeaderToolboxEl=(new Element("div",{id:this.options.id+"_headerToolbox","class":"panel-header-toolbox"})).inject(this.panelHeaderEl);this.collapseToggleEl=(new Element("div",{id:this.options.id+"_minmize","class":"panel-collapse icon16",styles:{width:16,height:16},title:"Collapse Panel"})).inject(this.panelHeaderToolboxEl);this.collapseToggleEl.addEvent("click",function(){var b=this.panelEl,d=MochaUI.Panels.instances,e=[];
b.getAllPrevious(".panel").each(function(f){d.get(f.id).isCollapsed==false&&e.push(f)});b.getAllNext(".panel").each(function(f){d.get(f.id).isCollapsed==false&&e.push(f)});if(this.isCollapsed==false){var c=MochaUI.Columns.instances.get($(this.options.column).id);if(e.length==0&&c.options.placement!="main"){c=MochaUI.Columns.instances.get($(this.options.column).id);c.columnToggle()}else if(!(e.length==0&&c.options.placement=="main")){this.oldHeight=b.getStyle("height").toInt();if(this.oldHeight<10)this.oldHeight=
20;b.setStyle("height",0);this.isCollapsed=true;b.addClass("collapsed");b.removeClass("expanded");MochaUI.panelHeight(this.options.column,b,"collapsing");this.collapseToggleEl.removeClass("panel-collapsed");this.collapseToggleEl.addClass("panel-expand");this.collapseToggleEl.setProperty("title","Expand Panel");this.fireEvent("onCollapse")}}else{b.setStyle("height",this.oldHeight);this.isCollapsed=false;b.addClass("expanded");b.removeClass("collapsed");MochaUI.panelHeight(this.options.column,b,"expanding");
this.collapseToggleEl.removeClass("panel-expand");this.collapseToggleEl.addClass("panel-collapsed");this.collapseToggleEl.setProperty("title","Collapse Panel");this.fireEvent("onExpand")}}.bind(this));this.panelHeaderContentEl=(new Element("div",{id:this.options.id+"_headerContent","class":"panel-headerContent"})).inject(this.panelHeaderEl);this.titleEl=(new Element("h2",{id:this.options.id+"_title"})).inject(this.panelHeaderContentEl);if(this.options.tabsURL==null)this.titleEl.set("html",this.options.title);
else{this.panelHeaderContentEl.addClass("tabs");MochaUI.updateContent({element:this.panelEl,childElement:this.panelHeaderContentEl,loadMethod:"xhr",url:this.options.tabsURL})}this.handleEl=(new Element("div",{id:this.options.id+"_handle","class":"horizontalHandle",styles:{display:this.showHandle==true?"block":"none"}})).inject(this.panelEl,"after");this.handleIconEl=(new Element("div",{id:this.options.id+"_handle_icon","class":"handleIcon"})).inject(this.handleEl);addResizeBottom(this.options.id);
MochaUI.updateContent({element:this.panelEl,content:this.options.content,url:this.options.contentURL});MochaUI.panelHeight(this.options.column,this.panelEl,"new")}}});MochaUI.Panel.implement(new Options,new Events);
MochaUI.extend({panelHeight:function(a,b,d){a!=null?MochaUI.panelHeight2($(a),b,d):$$(".column").each(function(e){MochaUI.panelHeight2(e)}.bind(this))},panelHeight2:function(a,b,d){var e=MochaUI.Panels.instances,c=a.getParent(),f=c.getStyle("height").toInt();if(Browser.Engine.trident4)f-=1;a.setStyle("height",f);f=a.getChildren(".panel");var g=a.getChildren(".expanded"),h=[],j,o=0;this.height=this.panelsHeight=0;f.each(function(i){currentInstance=e.get(i.id);if(i.hasClass("expanded")&&i.getNext(".expanded")){currentInstance.partner=
i.getNext(".expanded");currentInstance.resize.attach();currentInstance.handleEl.setStyles({display:"block",cursor:"n-resize"}).removeClass("detached")}else{currentInstance.resize.detach();currentInstance.handleEl.setStyle("cursor",null).addClass("detached")}i.getNext(".panel")==null&&currentInstance.handleEl.setStyle("display","none")}.bind(this));a.getChildren().each(function(i){if(i.hasClass("panel")){var k=e.get(i.id);areAnyNextSiblingsExpanded=function(m){var n;m.getAllNext(".panel").each(function(p){if(e.get(p.id).isCollapsed==
false)n=true}.bind(this));return n}.bind(this);areAnyExpandingNextSiblingsExpanded=function(){var m;b.getAllNext(".panel").each(function(n){if(e.get(n.id).isCollapsed==false)m=true}.bind(this));return m}.bind(this);if(d=="new"){k.isCollapsed!=true&&i!=b&&h.push(i);if(k.isCollapsed!=true&&i!=b)this.panelsHeight+=i.offsetHeight.toInt()}else if(d==null||d=="collapsing"){if(k.isCollapsed!=true&&(i.getAllNext(".panel").contains(b)!=true||areAnyNextSiblingsExpanded(i)!=true))h.push(i);if(k.isCollapsed!=
true&&(i.getAllNext(".panel").contains(b)!=true||areAnyNextSiblingsExpanded(i)!=true))this.panelsHeight+=i.offsetHeight.toInt()}else if(d=="expanding"){if(k.isCollapsed!=true&&(i.getAllNext(".panel").contains(b)!=true||areAnyExpandingNextSiblingsExpanded()!=true&&i.getNext(".expanded")==b)&&i!=b)h.push(i);if(k.isCollapsed!=true&&(i.getAllNext(".panel").contains(b)!=true||areAnyExpandingNextSiblingsExpanded()!=true&&i.getNext(".expanded")==b)&&i!=b)this.panelsHeight+=i.offsetHeight.toInt()}if(i.style.height)this.height+=
i.getStyle("height").toInt()}else this.height+=i.offsetHeight.toInt()}.bind(this));var l=a.offsetHeight.toInt()-this.height;this.height=0;a.getChildren().each(function(i){this.height+=i.offsetHeight.toInt()}.bind(this));l=a.offsetHeight.toInt()-this.height;h.each(function(i){var k=this.panelsHeight/i.offsetHeight.toInt();k=i.getStyle("height").toInt()+l/k;if(k<1)k=0;i.setStyle("height",k)}.bind(this));this.height=0;a.getChildren().each(function(i){this.height+=i.offsetHeight.toInt();if(i.hasClass("panel")&&
i.getStyle("height").toInt()>o){j=i;o=i.getStyle("height").toInt()}}.bind(this));l=a.offsetHeight.toInt()-this.height;if((l>0||l<0)&&o>0){j.setStyle("height",j.getStyle("height").toInt()+l);j.getStyle("height")<1&&j.setStyle("height",0)}$$(".columnHandle").each(function(i){var k=c.getStyle("height").toInt()-i.getStyle("border-top").toInt()-i.getStyle("border-bottom").toInt();if(Browser.Engine.trident4)k-=1;i.setStyle("height",k)});g.each(function(i){MochaUI.resizeChildren(i)}.bind(this))},resizeChildren:function(a){a=
MochaUI.Panels.instances.get(a.id);var b=a.contentWrapperEl;a.iframeEl&&a.iframeEl.setStyles({height:b.getStyle("height"),width:b.offsetWidth-b.getStyle("border-left").toInt()-b.getStyle("border-right").toInt()})},rWidth:function(){$$(".rWidth").each(function(a){var b=a.offsetWidth.toInt();b-=a.getStyle("border-left").toInt();b-=a.getStyle("border-right").toInt();var d=a.getParent();this.width=0;d.getChildren().each(function(c){if(c.hasClass("mocha")!=true)this.width+=c.offsetWidth.toInt()}.bind(this));
d=d.offsetWidth.toInt()-this.width;var e=b+d;if(e<1)e=0;a.setStyle("width",e);a.getChildren(".panel").each(function(c){c.setStyle("width",e-c.getStyle("border-left").toInt()-c.getStyle("border-right").toInt());MochaUI.resizeChildren(c)}.bind(this))})}});
function addResizeRight(a,b,d){if($(a)){a=$(a);var e=MochaUI.Columns.instances.get(a.id),c=a.getNext(".columnHandle");c.setStyle("cursor","e-resize");b||(b=50);d||(d=250);Browser.Engine.trident&&c.addEvents({mousedown:function(){c.setCapture()},mouseup:function(){c.releaseCapture()}});e.resize=a.makeResizable({handle:c,modifiers:{x:"width",y:false},limit:{x:[b,d]},onStart:function(){a.getElements("iframe").setStyle("visibility","hidden");a.getNext(".column").getElements("iframe").setStyle("visibility",
"hidden")}.bind(this),onDrag:function(){MochaUI.rWidth();Browser.Engine.trident4&&a.getChildren().each(function(f){var g=$(a).getStyle("width").toInt();g-=f.getStyle("border-right").toInt();g-=f.getStyle("border-left").toInt();g-=f.getStyle("padding-right").toInt();g-=f.getStyle("padding-left").toInt();f.setStyle("width",g)}.bind(this))}.bind(this),onComplete:function(){MochaUI.rWidth();a.getElements("iframe").setStyle("visibility","visible");a.getNext(".column").getElements("iframe").setStyle("visibility",
"visible");e.fireEvent("onResize")}.bind(this)})}}
function addResizeLeft(a,b,d){if($(a)){a=$(a);var e=MochaUI.Columns.instances.get(a.id),c=a.getPrevious(".columnHandle");c.setStyle("cursor","e-resize");var f=a.getPrevious(".column");b||(b=50);d||(d=250);Browser.Engine.trident&&c.addEvents({mousedown:function(){c.setCapture()},mouseup:function(){c.releaseCapture()}});e.resize=a.makeResizable({handle:c,modifiers:{x:"width",y:false},invert:true,limit:{x:[b,d]},onStart:function(){$(a).getElements("iframe").setStyle("visibility","hidden");f.getElements("iframe").setStyle("visibility",
"hidden")}.bind(this),onDrag:function(){MochaUI.rWidth()}.bind(this),onComplete:function(){MochaUI.rWidth();$(a).getElements("iframe").setStyle("visibility","visible");f.getElements("iframe").setStyle("visibility","visible");e.fireEvent("onResize")}.bind(this)})}}
function addResizeBottom(a){if($(a)){a=$(a);var b=MochaUI.Panels.instances.get(a.id),d=b.handleEl;d.setStyle("cursor","n-resize");partner=b.partner;min=0;max=function(){return a.getStyle("height").toInt()+partner.getStyle("height").toInt()}.bind(this);Browser.Engine.trident&&d.addEvents({mousedown:function(){d.setCapture()},mouseup:function(){d.releaseCapture()}});b.resize=a.makeResizable({handle:d,modifiers:{x:false,y:"height"},limit:{y:[min,max]},invert:false,onBeforeStart:function(){partner=b.partner;
this.originalHeight=a.getStyle("height").toInt();this.partnerOriginalHeight=partner.getStyle("height").toInt()}.bind(this),onStart:function(){b.iframeEl&&b.iframeEl.setStyle("visibility","hidden");partner.getElements("iframe").setStyle("visibility","hidden")}.bind(this),onDrag:function(){partnerHeight=partnerOriginalHeight+(this.originalHeight-a.getStyle("height").toInt());partner.setStyle("height",partnerHeight);MochaUI.resizeChildren(a,a.getStyle("height").toInt());MochaUI.resizeChildren(partner,
partnerHeight)}.bind(this),onComplete:function(){partnerHeight=partnerOriginalHeight+(this.originalHeight-a.getStyle("height").toInt());partner.setStyle("height",partnerHeight);MochaUI.resizeChildren(a,a.getStyle("height").toInt());MochaUI.resizeChildren(partner,partnerHeight);b.iframeEl&&b.iframeEl.setStyle("visibility","visible");partner.getElements("iframe").setStyle("visibility","visible");b.fireEvent("onResize")}.bind(this)})}}MochaUI.options.extend({dockWrapper:"dockWrapper",dock:"dock"});
window.addEvent("domready",function(){if($("dockWrapper"))MochaUI.dockVisible=true});MochaUI.extend({minimizeAll:function(){$$("div.mocha").each(function(a){var b=MochaUI.Windows.instances.get(a.id);!b.isMinimized&&b.options.minimizable==true&&MochaUI.Dock.minimizeWindow(a)}.bind(this))}});
MochaUI.Dock=new Class({Extends:MochaUI.Window,Implements:[Events,Options],options:{useControls:true,dockPosition:"top",dockTabColor:[255,255,255],trueButtonColor:[70,245,70],enabledButtonColor:[125,208,250],disabledButtonColor:[170,170,170]},initialize:function(a){if(MochaUI.Desktop){this.setOptions(a);this.dockWrapper=$(MochaUI.options.dockWrapper);this.dock=$(MochaUI.options.dock);this.autoHideEvent=null;this.dockAutoHide=false;if(this.dockWrapper){if(!this.options.useControls){$("dockPlacement")&&
$("dockPlacement").setStyle("cursor","default");$("dockAutoHide")&&$("dockAutoHide").setStyle("cursor","default")}this.dockWrapper.setStyles({display:"block",position:"absolute",top:null,bottom:MochaUI.Desktop.desktopFooter?MochaUI.Desktop.desktopFooter.offsetHeight:0,left:0});this.options.useControls&&this.initializeDockControls();if($("dockLinkCheck"))this.sidebarCheck=(new Element("div",{"class":"check",id:"dock_check"})).inject($("dockLinkCheck"));this.dockSortables=new Sortables("#dockSort",
{opacity:Browser.Engine.trident?1:0.5,constrain:true,clone:false,revert:false});MochaUI.Desktop.setDesktopSize()}}},initializeDockControls:function(){if(this.options.useControls){var a=(new Element("canvas",{id:"dockCanvas",width:"15",height:"18"})).inject(this.dock);Browser.Engine.trident&&MochaUI.ieSupport=="excanvas"&&G_vmlCanvasManager.initElement(a)}a=$("dockPlacement");var b=$("dockAutoHide");a.setProperty("title","Position Dock Top");a.addEvent("click",function(){this.moveDock()}.bind(this));
b.setProperty("title","Turn Auto Hide On");b.addEvent("click",function(){if(this.dockWrapper.getProperty("dockPosition")=="top")return false;var d=$("dockCanvas").getContext("2d");if(this.dockAutoHide=!this.dockAutoHide){$("dockAutoHide").setProperty("title","Turn Auto Hide Off");MochaUI.circle(d,5,14,3,this.options.trueButtonColor,1);this.autoHideEvent=function(e){if(this.dockAutoHide){if(MochaUI.Desktop.desktopFooter){if(MochaUI.Desktop.desktopFooter){c=this.dockWrapper.offsetHeight+MochaUI.Desktop.desktopFooter.offsetHeight;
if(c<25)c=25}}else{var c=this.dockWrapper.offsetHeight;if(c<25)c=25}if(!MochaUI.Desktop.desktopFooter&&e.client.y>document.getCoordinates().height-c){if(!MochaUI.dockVisible){this.dockWrapper.setStyle("display","block");MochaUI.dockVisible=true;MochaUI.Desktop.setDesktopSize()}}else if(MochaUI.Desktop.desktopFooter&&e.client.y>document.getCoordinates().height-c){if(!MochaUI.dockVisible){this.dockWrapper.setStyle("display","block");MochaUI.dockVisible=true;MochaUI.Desktop.setDesktopSize()}}else if(MochaUI.dockVisible){this.dockWrapper.setStyle("display",
"none");MochaUI.dockVisible=false;MochaUI.Desktop.setDesktopSize()}}}.bind(this);document.addEvent("mousemove",this.autoHideEvent)}else{$("dockAutoHide").setProperty("title","Turn Auto Hide On");MochaUI.circle(d,5,14,3,this.options.enabledButtonColor,1);document.removeEvent("mousemove",this.autoHideEvent)}}.bind(this));a=$("dockCanvas").getContext("2d");a.clearRect(0,0,100,100);MochaUI.circle(a,5,4,3,this.options.enabledButtonColor,1);MochaUI.circle(a,5,14,3,this.options.enabledButtonColor,1);this.options.dockPosition==
"top"&&this.moveDock()},moveDock:function(){var a=$("dockCanvas").getContext("2d");if(this.dockWrapper.getStyle("position")!="relative"){this.dockWrapper.setStyles({position:"relative",bottom:null});this.dockWrapper.addClass("top");MochaUI.Desktop.setDesktopSize();this.dockWrapper.setProperty("dockPosition","top");a.clearRect(0,0,100,100);MochaUI.circle(a,5,4,3,this.options.enabledButtonColor,1);MochaUI.circle(a,5,14,3,this.options.disabledButtonColor,1);$("dockPlacement").setProperty("title","Position Dock Bottom");
$("dockAutoHide").setProperty("title","Auto Hide Disabled in Top Dock Position");this.dockAutoHide=false}else{this.dockWrapper.setStyles({position:"absolute",bottom:MochaUI.Desktop.desktopFooter?MochaUI.Desktop.desktopFooter.offsetHeight:0});this.dockWrapper.removeClass("top");MochaUI.Desktop.setDesktopSize();this.dockWrapper.setProperty("dockPosition","bottom");a.clearRect(0,0,100,100);MochaUI.circle(a,5,4,3,this.options.enabledButtonColor,1);MochaUI.circle(a,5,14,3,this.options.enabledButtonColor,
1);$("dockPlacement").setProperty("title","Position Dock Top");$("dockAutoHide").setProperty("title","Turn Auto Hide On")}},createDockTab:function(a){var b=MochaUI.Windows.instances.get(a.id),d=(new Element("div",{id:b.options.id+"_dockTab","class":"dockTab",title:e})).inject($("dockClear"),"before");d.addEvent("mousedown",function(c){(new Event(c)).stop();this.timeDown=$time()});d.addEvent("mouseup",function(){this.timeUp=$time();if(this.timeUp-this.timeDown<275)if(MochaUI.Windows.windowsVisible==
false){MochaUI.toggleWindowVisibility();b.isMinimized==true?MochaUI.Dock.restoreMinimized.delay(25,MochaUI.Dock,a):MochaUI.focusWindow(a)}else if(b.isMinimized==true)MochaUI.Dock.restoreMinimized.delay(25,MochaUI.Dock,a);else{b.windowEl.hasClass("isFocused")&&b.options.minimizable==true?MochaUI.Dock.minimizeWindow(a):MochaUI.focusWindow(a);var c=document.getCoordinates();if(a.getStyle("left").toInt()>c.width||a.getStyle("top").toInt()>c.height)MochaUI.centerWindow(a)}});this.dockSortables.addItems(d);
var e=b.titleEl.innerHTML;(new Element("div",{id:b.options.id+"_dockTabText","class":"dockText"})).set("html",e.substring(0,20)+(e.length>20?"...":"")).inject($(d));MochaUI.Desktop.setDesktopSize()},makeActiveTab:function(){var a=MochaUI.getWindowWithHighestZindex();a=MochaUI.Windows.instances.get(a.id);$$("div.dockTab").removeClass("activeDockTab");if(a.isMinimized!=true){a.windowEl.addClass("isFocused");a=$(a.options.id+"_dockTab");a!=null&&a.addClass("activeDockTab")}else a.windowEl.removeClass("isFocused")},
minimizeWindow:function(a){if(a==$(a)){var b=MochaUI.Windows.instances.get(a.id);b.isMinimized=true;b.iframeEl&&b.iframeEl.setStyle("visibility","hidden");b.contentBorderEl.setStyle("visibility","hidden");b.toolbarWrapperEl&&b.toolbarWrapperEl.setStyle("visibility","hidden");a.setStyle("visibility","hidden");Browser.Platform.mac&&Browser.Engine.gecko&&/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)&&new Number(RegExp.$1)<3&&b.contentWrapperEl.setStyle("overflow","hidden");MochaUI.Desktop.setDesktopSize();
setTimeout(function(){a.setStyle("zIndex",1);a.removeClass("isFocused");this.makeActiveTab()}.bind(this),100);b.fireEvent("onMinimize",a)}},restoreMinimized:function(a){var b=MochaUI.Windows.instances.get(a.id);if(b.isMinimized!=false){MochaUI.Windows.windowsVisible==false&&MochaUI.toggleWindowVisibility();MochaUI.Desktop.setDesktopSize();b.options.scrollbars==true&&!b.iframeEl&&b.contentWrapperEl.setStyle("overflow","auto");b.isCollapsed&&MochaUI.collapseToggle(a);a.setStyle("visibility","visible");
b.contentBorderEl.setStyle("visibility","visible");b.toolbarWrapperEl&&b.toolbarWrapperEl.setStyle("visibility","visible");b.iframeEl&&b.iframeEl.setStyle("visibility","visible");b.isMinimized=false;MochaUI.focusWindow(a);b.fireEvent("onRestore",a)}}});MochaUI.Dock.implement(new Options,new Events);
MochaUI.extend({saveWorkspace:function(){this.cookie=new Hash.Cookie("mochaUIworkspaceCookie",{duration:3600});this.cookie.empty();MochaUI.Windows.instances.each(function(a){a.saveValues();this.cookie.set(a.options.id,{id:a.options.id,top:a.options.y,left:a.options.x})}.bind(this));this.cookie.save();new MochaUI.Window({loadMethod:"html",type:"notification",addClass:"notification",content:"Workspace saved.",closeAfter:"1400",width:200,height:40,y:53,padding:{top:10,right:12,bottom:10,left:12},shadowBlur:5,
bodyBgColor:[255,255,255]})},windowUnload:function(){$$("div.mocha").length==0&&this.myChain&&this.myChain.callChain()},loadWorkspace2:function(a){a.each(function(b){if(windowFunction=eval("MochaUI."+b.id+"Window")){eval("MochaUI."+b.id+"Window();");$(b.id).setStyles({top:b.top,left:b.left})}}.bind(this));this.loadingWorkspace=false},loadWorkspace:function(){cookie=new Hash.Cookie("mochaUIworkspaceCookie",{duration:3600});workspaceWindows=cookie.load();if(cookie.getKeys().length)if($$("div.mocha").length!=
0){this.loadingWorkspace=true;this.myChain=new Chain;this.myChain.chain(function(){$$("div.mocha").each(function(a){this.closeWindow(a)}.bind(this))}.bind(this),function(){this.loadWorkspace2(workspaceWindows)}.bind(this));this.myChain.callChain()}else this.loadWorkspace2(workspaceWindows);else new MochaUI.Window({loadMethod:"html",type:"notification",addClass:"notification",content:"You have no saved workspace.",closeAfter:"1400",width:220,height:40,y:25,padding:{top:10,right:12,bottom:10,left:12},
shadowBlur:5,bodyBgColor:[255,255,255]})}});
