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(updateOptions){var options={'element':null,'childElement':null,'title':null,'content':null,'loadMethod':null,'url':null,'padding':null};$extend(options,updateOptions);if(!options.element)return;var element=options.element;if(MochaUI.Windows.instances.get(element.id)){var recipient='window';var currentInstance=MochaUI.Windows.instances.get(element.id);var spinnerEl=currentInstance.spinnerEl;if(options.title){currentInstance.titleEl.set('html',options.title);}}
else{var recipient='panel';var currentInstance=MochaUI.Panels.instances.get(element.id);if(options.title){currentInstance.titleEl.set('html',options.title);}}
var contentEl=currentInstance.contentEl;if(options.childElement!=null){var contentContainer=options.childElement;}
else{var contentContainer=currentInstance.contentEl;}
var loadMethod=options.loadMethod!=null?options.loadMethod:currentInstance.options.loadMethod;if(contentContainer==currentInstance.contentEl){currentInstance.contentWrapperEl.setStyles({'overflow':currentInstance.options.scrollbars==true&&loadMethod!='iframe'?'auto':'hidden'});}
var contentWrapperEl=currentInstance.contentWrapperEl;if(options.padding!=null){contentEl.setStyles({'padding-top':options.padding.top,'padding-bottom':options.padding.bottom,'padding-left':options.padding.left,'padding-right':options.padding.right});}
if(contentContainer==contentEl){contentEl.empty();}
switch(loadMethod){case'xhr':new Request.HTML({url:options.url,update:contentContainer,evalScripts:currentInstance.options.evalScripts,evalResponse:currentInstance.options.evalResponse,onRequest:function(){if(recipient=='window'&&contentContainer==contentEl){currentInstance.showSpinner(spinnerEl);}
else if(recipient=='panel'&&contentContainer==contentEl&&$('spinner')){$('spinner').setStyle('visibility','visible');}}.bind(this),onFailure:function(){if(contentContainer==contentEl){contentContainer.set('html','<p><strong>Error Loading XMLHttpRequest</strong></p>');if(recipient=='window'){currentInstance.hideSpinner(spinnerEl);}
else if(recipient=='panel'&&$('spinner')){$('spinner').setStyle('visibility','hidden');}}}.bind(this),onException:function(){}.bind(this),onSuccess:function(){if(contentContainer==contentEl){if(recipient=='window'){currentInstance.hideSpinner(spinnerEl);}
else if(recipient=='panel'&&$('spinner')){$('spinner').setStyle('visibility','hidden');}
currentInstance.fireEvent('onContentLoaded',element);}}.bind(this),onComplete:function(){}.bind(this)}).get();break;case'iframe':if(currentInstance.options.contentURL==''||contentContainer!=contentEl){break;}
currentInstance.iframeEl=new Element('iframe',{'id':currentInstance.options.id+'_iframe','name':currentInstance.options.id+'_iframe','class':'mochaIframe','src':options.url,'marginwidth':0,'marginheight':0,'frameBorder':0,'scrolling':'auto','styles':{'height':contentWrapperEl.offsetHeight-contentWrapperEl.getStyle('border-top').toInt()-contentWrapperEl.getStyle('border-bottom').toInt(),'width':currentInstance.panelEl?contentWrapperEl.offsetWidth-contentWrapperEl.getStyle('border-left').toInt()-contentWrapperEl.getStyle('border-right').toInt():'100%'}}).injectInside(contentEl);currentInstance.iframeEl.addEvent('load',function(e){if(recipient=='window'){currentInstance.hideSpinner(spinnerEl);}
else if(recipient=='panel'&&contentContainer==contentEl&&$('spinner')){$('spinner').setStyle('visibility','hidden');}
currentInstance.fireEvent('onContentLoaded',element);}.bind(this));if(recipient=='window'){currentInstance.showSpinner(spinnerEl);}
else if(recipient=='panel'&&contentContainer==contentEl&&$('spinner')){$('spinner').setStyle('visibility','visible');}
break;case'html':default:var elementTypes=new Array('element','textnode','whitespace','collection');if(elementTypes.contains($type(options.content))){options.content.inject(contentContainer);}else{contentContainer.set('html',options.content);}
currentInstance.fireEvent('onContentLoaded',element);break;}},reloadIframe:function(iframe){if(Browser.Engine.gecko){$(iframe).src=$(iframe).src;}
else{top.frames[iframe].location.reload(true);}},collapseToggle:function(windowEl){var instances=MochaUI.Windows.instances;var currentInstance=instances.get(windowEl.id);var handles=currentInstance.windowEl.getElements('.handle');if(currentInstance.isMaximized==true)return;if(currentInstance.isCollapsed==false){currentInstance.isCollapsed=true;handles.setStyle('display','none');if(currentInstance.iframeEl){currentInstance.iframeEl.setStyle('visibility','hidden');}
currentInstance.contentBorderEl.setStyles({visibility:'hidden',position:'absolute',top:-10000,left:-10000});if(currentInstance.toolbarWrapperEl){currentInstance.toolbarWrapperEl.setStyles({visibility:'hidden',position:'absolute',top:-10000,left:-10000});}
currentInstance.drawWindowCollapsed(windowEl);}
else{currentInstance.isCollapsed=false;currentInstance.drawWindow(windowEl);currentInstance.contentBorderEl.setStyles({visibility:'visible',position:null,top:null,left:null});if(currentInstance.toolbarWrapperEl){currentInstance.toolbarWrapperEl.setStyles({visibility:'visible',position:null,top:null,left:null});}
if(currentInstance.iframeEl){currentInstance.iframeEl.setStyle('visibility','visible');}
handles.setStyle('display','block');}},closeWindow:function(windowEl){var instances=MochaUI.Windows.instances;var currentInstance=instances.get(windowEl.id);if(windowEl!=$(windowEl)||currentInstance.isClosing)return;currentInstance.isClosing=true;currentInstance.fireEvent('onClose',windowEl);if(currentInstance.check)currentInstance.check.destroy();if((currentInstance.options.type=='modal'||currentInstance.options.type=='modal2')&&Browser.Engine.trident4){$('modalFix').setStyle('display','none');}
if(MochaUI.options.useEffects==false){if(currentInstance.options.type=='modal'||currentInstance.options.type=='modal2'){$('modalOverlay').setStyle('opacity',0);}
MochaUI.closingJobs(windowEl);return true;}
else{if(Browser.Engine.trident)currentInstance.drawWindow(windowEl,false);if(currentInstance.options.type=='modal'||currentInstance.options.type=='modal2'){MochaUI.Modal.modalOverlayCloseMorph.start({'opacity':0});}
var closeMorph=new Fx.Morph(windowEl,{duration:120,onComplete:function(){MochaUI.closingJobs(windowEl);return true;}.bind(this)});closeMorph.start({'opacity':.4});}},closingJobs:function(windowEl){var instances=MochaUI.Windows.instances;var currentInstance=instances.get(windowEl.id);windowEl.setStyle('visibility','hidden');windowEl.destroy();currentInstance.fireEvent('onCloseComplete');if(currentInstance.options.type!='notification'){var newFocus=this.getWindowWithHighestZindex();this.focusWindow(newFocus);}
instances.erase(currentInstance.options.id);if(this.loadingWorkspace==true){this.windowUnload();}
if(MochaUI.Dock&&$(MochaUI.options.dock)&&currentInstance.options.type=='window'){var currentButton=$(currentInstance.options.id+'_dockTab');if(currentButton!=null){MochaUI.Dock.dockSortables.removeItems(currentButton).destroy();}
MochaUI.Desktop.setDesktopSize();}},closeAll:function(){$$('div.mocha').each(function(windowEl){this.closeWindow(windowEl);}.bind(this));},toggleWindowVisibility:function(){MochaUI.Windows.instances.each(function(instance){if(instance.options.type=='modal'||instance.options.type=='modal2'||instance.isMinimized==true)return;var id=$(instance.options.id);if(id.getStyle('visibility')=='visible'){if(instance.iframe){instance.iframeEl.setStyle('visibility','hidden');}
if(instance.toolbarEl){instance.toolbarWrapperEl.setStyle('visibility','hidden');}
instance.contentBorderEl.setStyle('visibility','hidden');id.setStyle('visibility','hidden');MochaUI.Windows.windowsVisible=false;}
else{id.setStyle('visibility','visible');instance.contentBorderEl.setStyle('visibility','visible');if(instance.iframe){instance.iframeEl.setStyle('visibility','visible');}
if(instance.toolbarEl){instance.toolbarWrapperEl.setStyle('visibility','visible');}
MochaUI.Windows.windowsVisible=true;}}.bind(this));},focusWindow:function(windowEl,fireEvent){MochaUI.focusingWindow='true';var windowClicked=function(){MochaUI.focusingWindow='false';};windowClicked.delay(170,this);if($$('.mocha').length==0)return;if(windowEl!=$(windowEl)||windowEl.hasClass('isFocused'))return;var instances=MochaUI.Windows.instances;var currentInstance=instances.get(windowEl.id);if(currentInstance.options.type=='notification')return;MochaUI.Windows.indexLevel+=2;windowEl.setStyle('zIndex',MochaUI.Windows.indexLevel);$('windowUnderlay').setStyle('zIndex',MochaUI.Windows.indexLevel-1).inject($(windowEl),'after');instances.each(function(instance){if(instance.windowEl.hasClass('isFocused')){instance.fireEvent('onBlur',instance.windowEl);}
instance.windowEl.removeClass('isFocused');});if(MochaUI.Dock&&$(MochaUI.options.dock)&&currentInstance.options.type=='window'){MochaUI.Dock.makeActiveTab();}
currentInstance.windowEl.addClass('isFocused');if(fireEvent!=false){currentInstance.fireEvent('onFocus',windowEl);}},getWindowWithHighestZindex:function(){this.highestZindex=0;$$('div.mocha').each(function(element){this.zIndex=element.getStyle('zIndex');if(this.zIndex>=this.highestZindex){this.highestZindex=this.zIndex;}}.bind(this));$$('div.mocha').each(function(element){if(element.getStyle('zIndex')==this.highestZindex){this.windowWithHighestZindex=element;}}.bind(this));return this.windowWithHighestZindex;},blurAll:function(){if(MochaUI.focusingWindow=='false'){$$('.mocha').each(function(windowEl){var instances=MochaUI.Windows.instances;var currentInstance=instances.get(windowEl.id);if(currentInstance.options.type!='modal'&&currentInstance.options.type!='modal2'){windowEl.removeClass('isFocused');}});$$('div.dockTab').removeClass('activeDockTab');}},roundedRect:function(ctx,x,y,width,height,radius,rgb,a){ctx.fillStyle='rgba('+rgb.join(',')+','+a+')';ctx.beginPath();ctx.moveTo(x,y+radius);ctx.lineTo(x,y+height-radius);ctx.quadraticCurveTo(x,y+height,x+radius,y+height);ctx.lineTo(x+width-radius,y+height);ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius);ctx.lineTo(x+width,y+radius);ctx.quadraticCurveTo(x+width,y,x+width-radius,y);ctx.lineTo(x+radius,y);ctx.quadraticCurveTo(x,y,x,y+radius);ctx.fill();},triangle:function(ctx,x,y,width,height,rgb,a){ctx.beginPath();ctx.moveTo(x+width,y);ctx.lineTo(x,y+height);ctx.lineTo(x+width,y+height);ctx.closePath();ctx.fillStyle='rgba('+rgb.join(',')+','+a+')';ctx.fill();},circle:function(ctx,x,y,diameter,rgb,a){ctx.beginPath();ctx.moveTo(x,y);ctx.arc(x,y,diameter,0,Math.PI*2,true);ctx.fillStyle='rgba('+rgb.join(',')+','+a+')';ctx.fill();},centerWindow:function(windowEl){if(!windowEl){MochaUI.Windows.instances.each(function(instance){if(instance.windowEl.hasClass('isFocused')){windowEl=instance.windowEl;}});}
var currentInstance=MochaUI.Windows.instances.get(windowEl.id);var options=currentInstance.options;var dimensions=options.container.getCoordinates();var windowPosTop=(dimensions.height*.5)-((options.height+currentInstance.headerFooterShadow)*.5);if(windowPosTop<0){windowPosTop=0;}
var windowPosLeft=(dimensions.width*.5)-(options.width*.5);if(windowPosLeft<0){windowPosLeft=0;}
if(MochaUI.options.useEffects==true){currentInstance.morph.start({'top':windowPosTop,'left':windowPosLeft});}
else{windowEl.setStyles({'top':windowPosTop,'left':windowPosLeft});}},notification:function(message){new MochaUI.Window({loadMethod:'html',closeAfter:1500,type:'notification',addClass:'notification',content:message,width:220,height:40,y:53,padding:{top:10,right:12,bottom:10,left:12},shadowBlur:5,bodyBgColor:[255,255,255]});},dynamicResize:function(windowEl){var currentInstance=MochaUI.Windows.instances.get(windowEl.id);var contentWrapperEl=currentInstance.contentWrapperEl;var contentEl=currentInstance.contentEl;contentWrapperEl.setStyle('height',contentEl.offsetHeight);contentWrapperEl.setStyle('width',contentEl.offsetWidth);currentInstance.drawWindow(windowEl);},garbageCleanUp:function(){$$('div.mocha').each(function(el){el.destroy();}.bind(this));},underlayInitialize:function(){var windowUnderlay=new Element('div',{'id':'windowUnderlay','styles':{'height':parent.getCoordinates().height,'opacity':.01,'display':'none'}}).inject(document.body);},setUnderlaySize:function(){if($('windowUnderlay')){$('windowUnderlay').setStyle('height',parent.getCoordinates().height);}}});function fixPNG(myImage){if(Browser.Engine.trident4&&document.body.filters){var imgID=(myImage.id)?"id='"+myImage.id+"' ":"";var imgClass=(myImage.className)?"class='"+myImage.className+"' ":"";var imgTitle=(myImage.title)?"title='"+myImage.title+"' ":"title='"+myImage.alt+"' ";var imgStyle="display:inline-block;"+myImage.style.cssText;var strNewHTML="<span "+imgID+imgClass+imgTitle
+" style=\""+"width:"+myImage.width
+"px; height:"+myImage.height
+"px;"+imgStyle+";"
+"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+"(src=\'"+myImage.src+"\', sizingMethod='scale');\"></span>";myImage.outerHTML=strNewHTML;}}
document.addEvent('keydown',function(event){if(event.key=='q'&&event.control&&event.alt){MochaUI.toggleWindowVisibility();}});document.addEvent('mousedown',function(event){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:'pages/lipsum.html',closeAfter:false,evalScripts:true,evalResponse:false,content:'Window content',toolbar:false,toolbarPosition:'top',toolbarHeight:29,toolbarURL:'pages/lipsum.html',toolbarContent:'',toolbar2:false,toolbar2Position:'bottom',toolbar2Height:29,toolbar2URL:'pages/lipsum.html',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,2000]},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,center:false,headerHeight:25,footerHeight:25,cornerRadius:8,contentBgColor:'#fff',headerStartColor:[250,250,250],headerStopColor:[229,229,229],bodyBgColor:[229,229,229],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(options){this.setOptions(options);var options=this.options;$extend(this,{mochaControlsWidth:0,minimizebuttonX:0,maximizebuttonX:0,closebuttonX:0,headerFooterShadow:options.headerHeight+options.footerHeight+(options.shadowBlur*2),oldTop:0,oldLeft:0,isMaximized:false,isMinimized:false,isCollapsed:false,timestamp:$time()});if(options.type!='window'){options.container=document.body;options.minimizable=false;}
if(!options.container){options.container=MochaUI.Desktop?MochaUI.Desktop.desktop:document.body;}
if(options.resizable==null){if(options.type!='window'||options.shape=='gauge'){options.resizable=false;}
else{options.resizable=true;}}
if(options.draggable==null){if(options.type!='window'){options.draggable=false;}
else{options.draggable=true;}}
if(options.shape=='gauge'||options.type=='notification'){options.collapsible=false;options.maximizable=false;options.contentBgColor='transparent';options.scrollbars=false;options.footerHeight=0;}
if(options.type=='notification'){options.closable=false;options.headerHeight=0;}
if(MochaUI.Dock&&$(MochaUI.options.dock)){if(MochaUI.Dock.dock&&options.type!='modal'&&options.type!='modal2'){options.minimizable=options.minimizable;}}
else{options.minimizable=false;}
options.maximizable=MochaUI.Desktop&&options.maximizable&&options.type!='modal'&&options.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(options.id==null){options.id='win'+(++MochaUI.Windows.windowIDCount);}
this.windowEl=$(options.id);this.newWindow();return this;},saveValues:function(){var coordinates=this.windowEl.getCoordinates();this.options.x=coordinates.left.toInt();this.options.y=coordinates.top.toInt();},newWindow:function(properties){var instances=MochaUI.Windows.instances;var instanceID=instances.get(this.options.id);if(instanceID){var currentInstance=instanceID;}
if(this.windowEl&&!this.isClosing){if(currentInstance.isMinimized){MochaUI.Dock.restoreMinimized(this.windowEl);}
if(currentInstance.isCollapsed){MochaUI.collapseToggle(this.windowEl);setTimeout(MochaUI.focusWindow.pass(this.windowEl,this),10);}
else{var coordinates=document.getCoordinates();if(this.windowEl.getStyle('left').toInt()>coordinates.width||this.windowEl.getStyle('top').toInt()>coordinates.height){MochaUI.centerWindow(this.windowEl);}
setTimeout(MochaUI.focusWindow.pass(this.windowEl,this),10);}
return;}
else{instances.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);if(this.options.type=='modal2'){this.windowEl.addClass('modal2');}
if(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){if(/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){var ffversion=new Number(RegExp.$1);if(ffversion<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'){if(this.options.useCanvasControls){this.canvasControlsEl.setStyle('display','none');}
else{this.controlsEl.setStyle('display','none');}
this.windowEl.addEvent('mouseover',function(){this.mouseover=true;var showControls=function(){if(this.mouseover!=false){if(this.options.useCanvasControls){this.canvasControlsEl.setStyle('display','block');}
else{this.controlsEl.setStyle('display','block');}
this.canvasHeaderEl.setStyle('display','block');this.titleEl.setStyle('display','block');}};showControls.delay(150,this);}.bind(this));this.windowEl.addEvent('mouseleave',function(){this.mouseover=false;if(this.options.useCanvasControls){this.canvasControlsEl.setStyle('display','none');}
else{this.controlsEl.setStyle('display','none');}
this.canvasHeaderEl.setStyle('display','none');this.titleEl.setStyle('display','none');}.bind(this));}
this.windowEl.injectInside(this.options.container);if(this.options.type!='notification'){this.setMochaControlsWidth();}
MochaUI.updateContent({'element':this.windowEl,'content':this.options.content,'url':this.options.contentURL});if(this.options.toolbar==true){MochaUI.updateContent({'element':this.windowEl,'childElement':this.toolbarEl,'content':this.options.toolbarContent,'loadMethod':'xhr','url':this.options.toolbarURL});}
if(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);if(this.options.resizable){this.adjustHandles();}
if(this.options.container==document.body||this.options.container==MochaUI.Desktop.desktop){if(this.options.center){var d1=window.getSize();var d2=window.getScroll();var dimensions={x:d1.x+d2.x,y:(d2.y*2)+d1.y}}else{var dimensions=window.getSize();}}
else{var dimensions=$(this.options.container).getSize();}
if(!this.options.y){var y=(dimensions.y*.5)-((this.options.height+this.headerFooterShadow+this.windowEl.getStyle('border-top').toInt()+this.windowEl.getStyle('border-bottom').toInt())*.5);}
else{var y=this.options.y-this.options.shadowBlur;}
if(!this.options.x){var x=(dimensions.x*.5)-(this.options.width*.5);}
else{var x=this.options.x-this.options.shadowBlur;}
this.windowEl.setStyles({'top':y,'left':x});if(MochaUI.options.useEffects==true){if(Browser.Engine.trident){this.drawWindow(this.windowEl,false);}
this.opacityMorph=new Fx.Morph(this.windowEl,{'duration':350,onComplete:function(){if(Browser.Engine.trident){this.drawWindow(this.windowEl);}}.bind(this)});}
if(this.options.type=='modal'||this.options.type=='modal2'){MochaUI.currentModal=this.windowEl;if(Browser.Engine.trident4){$('modalFix').setStyle('display','block');}
$('modalOverlay').setStyle('display','block');if(MochaUI.options.useEffects==false){$('modalOverlay').setStyle('opacity',.6);this.windowEl.setStyles({'zIndex':11000,'opacity':1});}
else{MochaUI.Modal.modalOverlayCloseMorph.cancel();MochaUI.Modal.modalOverlayOpenMorph.start({'opacity':.6});this.windowEl.setStyles({'zIndex':11000});this.opacityMorph.start({'opacity':1});}
$$('.dockTab').removeClass('activeDockTab');$$('.mocha').removeClass('isFocused');this.windowEl.addClass('isFocused');}
else if(MochaUI.options.useEffects==false){this.windowEl.setStyle('opacity',1);setTimeout(MochaUI.focusWindow.pass(this.windowEl,this),10);}
else{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');}
if(this.options.closeAfter!=false){MochaUI.closeWindow.delay(this.options.closeAfter,this,this.windowEl);}
if(MochaUI.Dock&&$(MochaUI.options.dock)&&this.options.type=='window'){MochaUI.Dock.createDockTab(this.windowEl);}},setupEvents:function(windowEl){if(this.closeButtonEl){this.closeButtonEl.addEvent('click',function(e){new Event(e).stop();MochaUI.closeWindow(windowEl);}.bind(this));}
if(this.options.type=='window'){windowEl.addEvent('mousedown',function(){MochaUI.focusWindow(windowEl);}.bind(this));}
if(this.minimizeButtonEl){this.minimizeButtonEl.addEvent('click',function(e){new Event(e).stop();MochaUI.Dock.minimizeWindow(windowEl);}.bind(this));}
if(this.maximizeButtonEl){this.maximizeButtonEl.addEvent('click',function(e){new Event(e).stop();if(this.isMaximized){MochaUI.Desktop.restoreWindow(windowEl);}else{MochaUI.Desktop.maximizeWindow(windowEl);}}.bind(this));}
if(this.options.collapsible==true){this.titleEl.addEvent('selectstart',function(e){e=new Event(e).stop();}.bind(this));this.titleBarEl.addEvent('mousedown',function(e){if(Browser.Engine.trident){this.titleEl.setCapture();}}.bind(this));this.titleBarEl.addEvent('mouseup',function(e){if(Browser.Engine.trident){this.titleEl.releaseCapture();}}.bind(this));this.titleBarEl.addEvent('dblclick',function(e){e=new Event(e).stop();MochaUI.collapseToggle(this.windowEl);}.bind(this));}},attachDraggable:function(windowEl){if(!this.options.draggable)return;this.windowDrag=new Drag.Move(windowEl,{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(windowEl);$('windowUnderlay').setStyle('display','block');}
if(this.iframeEl)
this.iframeEl.setStyle('visibility','hidden');}.bind(this),onComplete:function(){if(this.options.type!='modal'&&this.options.type!='modal2'){$('windowUnderlay').setStyle('display','none');}
if(this.iframeEl){this.iframeEl.setStyle('visibility','visible');}
this.saveValues();}.bind(this)});},attachResizable:function(windowEl){if(!this.options.resizable)return;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(windowEl);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(windowEl);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(windowEl);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(windowEl);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(windowEl);this.adjustHandles();}.bind(this),onComplete:function(){this.resizeOnComplete();}.bind(this)});},resizeOnStart:function(){$('windowUnderlay').setStyle('display','block');if(this.iframeEl){this.iframeEl.setStyle('visibility','hidden');}},resizeOnComplete:function(){$('windowUnderlay').setStyle('display','none');if(this.iframeEl){this.iframeEl.setStyle('visibility','visible');}
this.fireEvent('onResize',this.windowEl);},adjustHandles:function(){var shadowBlur=this.options.shadowBlur;var shadowBlur2x=shadowBlur*2;var shadowOffset=this.options.shadowOffset;var top=shadowBlur-shadowOffset.y-1;var right=shadowBlur+shadowOffset.x-1;var bottom=shadowBlur+shadowOffset.y-1;var left=shadowBlur-shadowOffset.x-1;var coordinates=this.windowEl.getCoordinates();var width=coordinates.width-shadowBlur2x+2;var height=coordinates.height-shadowBlur2x+2;this.n.setStyles({'top':top,'left':left+10,'width':width-20});this.e.setStyles({'top':top+10,'right':right,'height':height-30});this.s.setStyles({'bottom':bottom,'left':left+10,'width':width-30});this.w.setStyles({'top':top+10,'left':left,'height':height-20});this.ne.setStyles({'top':top,'right':right});this.se.setStyles({'bottom':bottom,'right':right});this.sw.setStyles({'bottom':bottom,'left':left});this.nw.setStyles({'top':top,'left':left});},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 options=this.options;var height=options.height;var width=options.width;var id=options.id;var cache={};if(Browser.Engine.trident4){cache.zIndexFixEl=new Element('iframe',{'id':id+'_zIndexFix','class':'zIndexFix','scrolling':'no','marginWidth':0,'marginHeight':0,'src':''}).inject(this.windowEl);}
cache.overlayEl=new Element('div',{'id':id+'_overlay','class':'mochaOverlay'}).inject(this.windowEl);cache.titleBarEl=new Element('div',{'id':id+'_titleBar','class':'mochaTitlebar','styles':{'cursor':options.draggable?'move':'default'}}).inject(cache.overlayEl,'top');cache.titleEl=new Element('h3',{'id':id+'_title','class':'mochaTitle'}).inject(cache.titleBarEl);if(options.icon!=false){cache.titleBarEl.setStyles({'padding-left':15,'background':'url('+options.icon+') 5px 5px no-repeat'});}
cache.contentBorderEl=new Element('div',{'id':id+'_contentBorder','class':'mochaContentBorder'}).inject(cache.overlayEl);if(options.toolbar){cache.toolbarWrapperEl=new Element('div',{'id':id+'_toolbarWrapper','class':'mochaToolbarWrapper'}).inject(cache.contentBorderEl,options.toolbarPosition=='bottom'?'after':'before');if(options.toolbarPosition=='bottom'){cache.toolbarWrapperEl.addClass('bottom');}
cache.toolbarEl=new Element('div',{'id':id+'_toolbar','class':'mochaToolbar'}).inject(cache.toolbarWrapperEl);}
if(options.toolbar2){cache.toolbar2WrapperEl=new Element('div',{'id':id+'_toolbar2Wrapper','class':'mochaToolbarWrapper'}).inject(cache.contentBorderEl,options.toolbar2Position=='bottom'?'after':'before');if(options.toolbar2Position=='bottom'){cache.toolbar2WrapperEl.addClass('bottom');}
cache.toolbar2El=new Element('div',{'id':id+'_toolbar2','class':'mochaToolbar'}).inject(cache.toolbar2WrapperEl);}
cache.contentWrapperEl=new Element('div',{'id':id+'_contentWrapper','class':'mochaContentWrapper','styles':{'width':width+'px','height':height+'px'}}).inject(cache.contentBorderEl);if(this.options.shape=='gauge'){cache.contentBorderEl.setStyle('borderWidth',0);}
cache.contentEl=new Element('div',{'id':id+'_content','class':'mochaContent'}).inject(cache.contentWrapperEl);if(this.options.useCanvas==true){cache.canvasEl=new Element('canvas',{'id':id+'_canvas','class':'mochaCanvas','width':1,'height':1}).inject(this.windowEl);if(Browser.Engine.trident&&MochaUI.ieSupport=='excanvas'){G_vmlCanvasManager.initElement(cache.canvasEl);cache.canvasEl=this.windowEl.getElement('.mochaCanvas');}}
cache.controlsEl=new Element('div',{'id':id+'_controls','class':'mochaControls'}).inject(cache.overlayEl,'after');if(options.useCanvasControls==true){cache.canvasControlsEl=new Element('canvas',{'id':id+'_canvasControls','class':'mochaCanvasControls','width':14,'height':14}).inject(this.windowEl);if(Browser.Engine.trident&&MochaUI.ieSupport=='excanvas'){G_vmlCanvasManager.initElement(cache.canvasControlsEl);cache.canvasControlsEl=this.windowEl.getElement('.mochaCanvasControls');}}
if(options.closable){cache.closeButtonEl=new Element('div',{'id':id+'_closeButton','class':'mochaCloseButton','title':'Close'}).inject(cache.controlsEl);if(options.useCanvasControls==true){cache.closeButtonEl.setStyle('background','none');}}
if(options.maximizable){cache.maximizeButtonEl=new Element('div',{'id':id+'_maximizeButton','class':'mochaMaximizeButton','title':'Maximize'}).inject(cache.controlsEl);if(options.useCanvasControls==true){cache.maximizeButtonEl.setStyle('background','none');}}
if(options.minimizable){cache.minimizeButtonEl=new Element('div',{'id':id+'_minimizeButton','class':'mochaMinimizeButton','title':'Minimize'}).inject(cache.controlsEl);if(options.useCanvasControls==true){cache.minimizeButtonEl.setStyle('background','none');}}
if(options.useSpinner==true&&options.shape!='gauge'&&options.type!='notification'){cache.spinnerEl=new Element('div',{'id':id+'_spinner','class':'mochaSpinner','width':16,'height':16}).inject(this.windowEl,'bottom');}
if(this.options.shape=='gauge'){cache.canvasHeaderEl=new Element('canvas',{'id':id+'_canvasHeader','class':'mochaCanvasHeader','width':this.options.width,'height':26}).inject(this.windowEl,'bottom');if(Browser.Engine.trident&&MochaUI.ieSupport=='excanvas'){G_vmlCanvasManager.initElement(cache.canvasHeaderEl);cache.canvasHeaderEl=this.windowEl.getElement('.mochaCanvasHeader');}}
if(Browser.Engine.trident){cache.overlayEl.setStyle('zIndex',2);}
if(Browser.Platform.mac&&Browser.Engine.gecko){if(/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){var ffversion=new Number(RegExp.$1);if(ffversion<3){cache.overlayEl.setStyle('overflow','auto');}}}
if(options.resizable){cache.n=new Element('div',{'id':id+'_resizeHandle_n','class':'handle','styles':{'top':0,'left':10,'cursor':'n-resize'}}).inject(cache.overlayEl,'after');cache.ne=new Element('div',{'id':id+'_resizeHandle_ne','class':'handle corner','styles':{'top':0,'right':0,'cursor':'ne-resize'}}).inject(cache.overlayEl,'after');cache.e=new Element('div',{'id':id+'_resizeHandle_e','class':'handle','styles':{'top':10,'right':0,'cursor':'e-resize'}}).inject(cache.overlayEl,'after');cache.se=new Element('div',{'id':id+'_resizeHandle_se','class':'handle cornerSE','styles':{'bottom':0,'right':0,'cursor':'se-resize'}}).inject(cache.overlayEl,'after');cache.s=new Element('div',{'id':id+'_resizeHandle_s','class':'handle','styles':{'bottom':0,'left':10,'cursor':'s-resize'}}).inject(cache.overlayEl,'after');cache.sw=new Element('div',{'id':id+'_resizeHandle_sw','class':'handle corner','styles':{'bottom':0,'left':0,'cursor':'sw-resize'}}).inject(cache.overlayEl,'after');cache.w=new Element('div',{'id':id+'_resizeHandle_w','class':'handle','styles':{'top':10,'left':0,'cursor':'w-resize'}}).inject(cache.overlayEl,'after');cache.nw=new Element('div',{'id':id+'_resizeHandle_nw','class':'handle corner','styles':{'top':0,'left':0,'cursor':'nw-resize'}}).inject(cache.overlayEl,'after');}
$extend(this,cache);},drawWindow:function(windowEl,shadows){if(this.isCollapsed){this.drawWindowCollapsed(windowEl,shadows);return;}
var options=this.options;var shadowBlur=options.shadowBlur;var shadowBlur2x=shadowBlur*2;var shadowOffset=this.options.shadowOffset;this.overlayEl.setStyles({'width':this.contentWrapperEl.offsetWidth});if(this.iframeEl){this.iframeEl.setStyles({'height':this.contentWrapperEl.offsetHeight});}
var borderHeight=this.contentBorderEl.getStyle('border-top').toInt()+this.contentBorderEl.getStyle('border-bottom').toInt();var toolbarHeight=this.toolbarWrapperEl?this.toolbarWrapperEl.getStyle('height').toInt()+this.toolbarWrapperEl.getStyle('border-top').toInt():0;var toolbar2Height=this.toolbar2WrapperEl?this.toolbar2WrapperEl.getStyle('height').toInt()+this.toolbar2WrapperEl.getStyle('border-top').toInt():0;this.headerFooterShadow=options.headerHeight+options.footerHeight+shadowBlur2x;var height=this.contentWrapperEl.getStyle('height').toInt()+this.headerFooterShadow+toolbarHeight+toolbar2Height+borderHeight;var width=this.contentWrapperEl.getStyle('width').toInt()+shadowBlur2x;this.windowEl.setStyles({'height':height,'width':width});this.overlayEl.setStyles({'height':height,'top':shadowBlur-shadowOffset.y,'left':shadowBlur-shadowOffset.x});if(this.options.useCanvas==true){this.canvasEl.height=height;this.canvasEl.width=width;}
if(Browser.Engine.trident4){this.zIndexFixEl.setStyles({'width':width,'height':height})}
this.titleBarEl.setStyles({'width':width-shadowBlur2x,'height':options.headerHeight});if(options.useSpinner==true&&options.shape!='gauge'&&options.type!='notification'){this.spinnerEl.setStyles({'left':shadowBlur-shadowOffset.x+3,'bottom':shadowBlur+shadowOffset.y+4});}
if(this.options.useCanvas!=false){var ctx=this.canvasEl.getContext('2d');ctx.clearRect(0,0,width,height);switch(options.shape){case'box':this.drawBox(ctx,width,height,shadowBlur,shadowOffset,shadows);break;case'gauge':this.drawGauge(ctx,width,height,shadowBlur,shadowOffset,shadows);break;}
if(options.resizable){MochaUI.triangle(ctx,width-(shadowBlur+shadowOffset.x+17),height-(shadowBlur+shadowOffset.y+18),11,11,options.resizableColor,1.0);}
if(Browser.Engine.trident){MochaUI.triangle(ctx,0,0,10,10,options.resizableColor,0);}}
if(options.type!='notification'&&options.useCanvasControls==true){this.drawControls(width,height,shadows);}},drawWindowCollapsed:function(windowEl,shadows){var options=this.options;var shadowBlur=options.shadowBlur;var shadowBlur2x=shadowBlur*2;var shadowOffset=options.shadowOffset;var headerShadow=options.headerHeight+shadowBlur2x+2;var height=headerShadow;var width=this.contentWrapperEl.getStyle('width').toInt()+shadowBlur2x;this.windowEl.setStyle('height',height);this.overlayEl.setStyles({'height':height,'top':shadowBlur-shadowOffset.y,'left':shadowBlur-shadowOffset.x});this.canvasEl.height=height;this.canvasEl.width=width;if(Browser.Engine.trident4){this.zIndexFixEl.setStyles({'width':width,'height':height});}
this.windowEl.setStyle('width',width);this.overlayEl.setStyle('width',width);this.titleBarEl.setStyles({'width':width-shadowBlur2x,'height':options.headerHeight});if(this.options.useCanvas!=false){var ctx=this.canvasEl.getContext('2d');ctx.clearRect(0,0,width,height);this.drawBoxCollapsed(ctx,width,height,shadowBlur,shadowOffset,shadows);if(options.useCanvasControls==true){this.drawControls(width,height,shadows);}
if(Browser.Engine.trident){MochaUI.triangle(ctx,0,0,10,10,options.resizableColor,0);}}},drawControls:function(width,height,shadows){var options=this.options;var shadowBlur=options.shadowBlur;var shadowOffset=options.shadowOffset;var controlsOffset=options.controlsOffset;this.controlsEl.setStyles({'right':shadowBlur+shadowOffset.x+controlsOffset.right,'top':shadowBlur-shadowOffset.y+controlsOffset.top});this.canvasControlsEl.setStyles({'right':shadowBlur+shadowOffset.x+controlsOffset.right,'top':shadowBlur-shadowOffset.y+controlsOffset.top});this.closebuttonX=options.closable?this.mochaControlsWidth-7:this.mochaControlsWidth+12;this.maximizebuttonX=this.closebuttonX-(options.maximizable?19:0);this.minimizebuttonX=this.maximizebuttonX-(options.minimizable?19:0);var ctx2=this.canvasControlsEl.getContext('2d');ctx2.clearRect(0,0,100,100);if(this.options.closable){this.closebutton(ctx2,this.closebuttonX,7,options.closeBgColor,1.0,options.closeColor,1.0);}
if(this.options.maximizable){this.maximizebutton(ctx2,this.maximizebuttonX,7,options.maximizeBgColor,1.0,options.maximizeColor,1.0);}
if(this.options.minimizable){this.minimizebutton(ctx2,this.minimizebuttonX,7,options.minimizeBgColor,1.0,options.minimizeColor,1.0);}},drawBox:function(ctx,width,height,shadowBlur,shadowOffset,shadows){var shadowBlur2x=shadowBlur*2;var cornerRadius=this.options.cornerRadius;if(shadows!=false){for(var x=0;x<=shadowBlur;x++){MochaUI.roundedRect(ctx,shadowOffset.x+x,shadowOffset.y+x,width-(x*2)-shadowOffset.x,height-(x*2)-shadowOffset.y,cornerRadius+(shadowBlur-x),[0,0,0],x==shadowBlur?.29:.065+(x*.01));}}
this.bodyRoundedRect(ctx,shadowBlur-shadowOffset.x,shadowBlur-shadowOffset.y,width-shadowBlur2x,height-shadowBlur2x,cornerRadius,this.options.bodyBgColor);if(this.options.type!='notification'){this.topRoundedRect(ctx,shadowBlur-shadowOffset.x,shadowBlur-shadowOffset.y,width-shadowBlur2x,this.options.headerHeight,cornerRadius,this.options.headerStartColor,this.options.headerStopColor);}},drawBoxCollapsed:function(ctx,width,height,shadowBlur,shadowOffset,shadows){var options=this.options;var shadowBlur2x=shadowBlur*2;var cornerRadius=options.cornerRadius;if(shadows!=false){for(var x=0;x<=shadowBlur;x++){MochaUI.roundedRect(ctx,shadowOffset.x+x,shadowOffset.y+x,width-(x*2)-shadowOffset.x,height-(x*2)-shadowOffset.y,cornerRadius+(shadowBlur-x),[0,0,0],x==shadowBlur?.3:.06+(x*.01));}}
this.topRoundedRect2(ctx,shadowBlur-shadowOffset.x,shadowBlur-shadowOffset.y,width-shadowBlur2x,options.headerHeight+2,cornerRadius,options.headerStartColor,options.headerStopColor);},drawGauge:function(ctx,width,height,shadowBlur,shadowOffset,shadows){var options=this.options;var radius=(width*.5)-(shadowBlur)+16;if(shadows!=false){for(var x=0;x<=shadowBlur;x++){MochaUI.circle(ctx,width*.5+shadowOffset.x,(height+options.headerHeight)*.5+shadowOffset.x,(width*.5)-(x*2)-shadowOffset.x,[0,0,0],x==shadowBlur?.75:.075+(x*.04));}}
MochaUI.circle(ctx,width*.5-shadowOffset.x,(height+options.headerHeight)*.5-shadowOffset.y,(width*.5)-shadowBlur,options.bodyBgColor,1);this.canvasHeaderEl.setStyles({'top':shadowBlur-shadowOffset.y,'left':shadowBlur-shadowOffset.x});var ctx=this.canvasHeaderEl.getContext('2d');ctx.clearRect(0,0,width,100);ctx.beginPath();ctx.lineWidth=24;ctx.lineCap='round';ctx.moveTo(13,13);ctx.lineTo(width-(shadowBlur*2)-13,13);ctx.strokeStyle='rgba(0, 0, 0, .65)';ctx.stroke();},bodyRoundedRect:function(ctx,x,y,width,height,radius,rgb){ctx.fillStyle='rgba('+rgb.join(',')+', 100)';ctx.beginPath();ctx.moveTo(x,y+radius);ctx.lineTo(x,y+height-radius);ctx.quadraticCurveTo(x,y+height,x+radius,y+height);ctx.lineTo(x+width-radius,y+height);ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius);ctx.lineTo(x+width,y+radius);ctx.quadraticCurveTo(x+width,y,x+width-radius,y);ctx.lineTo(x+radius,y);ctx.quadraticCurveTo(x,y,x,y+radius);ctx.fill();},topRoundedRect:function(ctx,x,y,width,height,radius,headerStartColor,headerStopColor){var lingrad=ctx.createLinearGradient(0,0,0,height);lingrad.addColorStop(0,'rgba('+headerStartColor.join(',')+', 1)');lingrad.addColorStop(1,'rgba('+headerStopColor.join(',')+', 1)');ctx.fillStyle=lingrad;ctx.beginPath();ctx.moveTo(x,y);ctx.lineTo(x,y+height);ctx.lineTo(x+width,y+height);ctx.lineTo(x+width,y+radius);ctx.quadraticCurveTo(x+width,y,x+width-radius,y);ctx.lineTo(x+radius,y);ctx.quadraticCurveTo(x,y,x,y+radius);ctx.fill();},topRoundedRect2:function(ctx,x,y,width,height,radius,headerStartColor,headerStopColor){var lingrad=ctx.createLinearGradient(0,this.options.shadowBlur-1,0,height+this.options.shadowBlur+3);lingrad.addColorStop(0,'rgba('+headerStartColor.join(',')+', 1)');lingrad.addColorStop(1,'rgba('+headerStopColor.join(',')+', 1)');ctx.fillStyle=lingrad;ctx.beginPath();ctx.moveTo(x,y+radius);ctx.lineTo(x,y+height-radius);ctx.quadraticCurveTo(x,y+height,x+radius,y+height);ctx.lineTo(x+width-radius,y+height);ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius);ctx.lineTo(x+width,y+radius);ctx.quadraticCurveTo(x+width,y,x+width-radius,y);ctx.lineTo(x+radius,y);ctx.quadraticCurveTo(x,y,x,y+radius);ctx.fill();},maximizebutton:function(ctx,x,y,rgbBg,aBg,rgb,a){ctx.beginPath();ctx.moveTo(x,y);ctx.arc(x,y,7,0,Math.PI*2,true);ctx.fillStyle='rgba('+rgbBg.join(',')+','+aBg+')';ctx.fill();ctx.strokeStyle='rgba('+rgb.join(',')+','+a+')';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,rgbBg,aBg,rgb,a){ctx.beginPath();ctx.moveTo(x,y);ctx.arc(x,y,7,0,Math.PI*2,true);ctx.fillStyle='rgba('+rgbBg.join(',')+','+aBg+')';ctx.fill();ctx.strokeStyle='rgba('+rgb.join(',')+','+a+')';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,rgbBg,aBg,rgb,a){ctx.beginPath();ctx.moveTo(x,y);ctx.arc(x,y,7,0,Math.PI*2,true);ctx.fillStyle='rgba('+rgbBg.join(',')+','+aBg+')';ctx.fill();ctx.strokeStyle='rgba('+rgb.join(',')+','+a+')';ctx.beginPath();ctx.moveTo(x-4,y);ctx.lineTo(x+4,y);ctx.stroke();},hideSpinner:function(spinner){if($(spinner))$(spinner).setStyle('visibility','hidden');},showSpinner:function(spinner){if(!this.options.useSpinner||this.options.shape=='gauge'||this.options.type=='notification')return;$(spinner).setStyles({'visibility':'visible'});},setMochaControlsWidth:function(){this.mochaControlsWidth=0;var options=this.options;if(options.minimizable){this.mochaControlsWidth+=(this.minimizeButtonEl.getStyle('margin-left').toInt()+this.minimizeButtonEl.getStyle('width').toInt());}
if(options.maximizable){this.mochaControlsWidth+=(this.maximizeButtonEl.getStyle('margin-left').toInt()+this.maximizeButtonEl.getStyle('width').toInt());}
if(options.closable){this.mochaControlsWidth+=(this.closeButtonEl.getStyle('margin-left').toInt()+this.closeButtonEl.getStyle('width').toInt());}
this.controlsEl.setStyle('width',this.mochaControlsWidth);if(options.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(options){this.modalInitialize();window.addEvent('resize',function(){this.setModalSize();}.bind(this));},modalInitialize:function(){var modalOverlay=new Element('div',{'id':'modalOverlay','styles':{'height':document.getCoordinates().height,'opacity':.6}}).inject(document.body);modalOverlay.addEvent('click',function(e){MochaUI.closeWindow(MochaUI.currentModal);});if(Browser.Engine.trident4){var modalFix=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');if(Browser.Engine.trident4){$('modalFix').setStyle('display','none');}}.bind(this)});},setModalSize:function(){$('modalOverlay').setStyle('height',document.getCoordinates().height);if(Browser.Engine.trident4){$('modalFix').setStyle('height',document.getCoordinates().height);}}});MochaUI.Modal.implement(new Options,new Events);
/* Fri, 3 Sep 2010 05:00:57 GMT js/libs/mocha/mocha-modal.js */