var Window=Class.create();Window.keepMultiModalWindow=false;Window.hasEffectLib=(typeof Effect!="undefined");Window.resizeEffectDuration=0.4;Window.prototype={initialize:function(){var f;var d=0;if(arguments.length>0){if(typeof arguments[0]=="string"){f=arguments[0];d=1}else{f=arguments[0]?arguments[0].id:null}}if(!f){f="window_"+new Date().getTime()}if($(f)){alert("Window "+f+" is already registered in the DOM! Make sure you use setDestroyOnClose() or destroyOnClose: true in the constructor")}this.options=Object.extend({className:"dialog",blurClassName:null,minWidth:100,minHeight:20,resizable:true,closable:true,minimizable:true,maximizable:true,draggable:true,userData:null,showEffect:(Window.hasEffectLib?Effect.Appear:Element.show),hideEffect:(Window.hasEffectLib?Effect.Fade:Element.hide),showEffectOptions:{},hideEffectOptions:{},effectOptions:null,parent:document.body,title:"&nbsp;",url:null,onload:Prototype.emptyFunction,width:200,height:300,opacity:1,recenterAuto:true,wiredDrag:false,closeCallback:null,destroyOnClose:false,gridX:1,gridY:1},arguments[d]||{});if(this.options.blurClassName){this.options.focusClassName=this.options.className}if(typeof this.options.top=="undefined"&&typeof this.options.bottom=="undefined"){this.options.top=this._round(Math.random()*500,this.options.gridY)}if(typeof this.options.left=="undefined"&&typeof this.options.right=="undefined"){this.options.left=this._round(Math.random()*500,this.options.gridX)}if(this.options.effectOptions){Object.extend(this.options.hideEffectOptions,this.options.effectOptions);Object.extend(this.options.showEffectOptions,this.options.effectOptions);if(this.options.showEffect==Element.Appear){this.options.showEffectOptions.to=this.options.opacity}}if(Window.hasEffectLib){if(this.options.showEffect==Effect.Appear){this.options.showEffectOptions.to=this.options.opacity}if(this.options.hideEffect==Effect.Fade){this.options.hideEffectOptions.from=this.options.opacity}}if(this.options.hideEffect==Element.hide){this.options.hideEffect=function(){Element.hide(this.element);if(this.options.destroyOnClose){this.destroy()}}.bind(this)}if(this.options.parent!=document.body){this.options.parent=$(this.options.parent)}this.element=this._createWindow(f);this.element.win=this;this.eventMouseDown=this._initDrag.bindAsEventListener(this);this.eventMouseUp=this._endDrag.bindAsEventListener(this);this.eventMouseMove=this._updateDrag.bindAsEventListener(this);this.eventOnLoad=this._getWindowBorderSize.bindAsEventListener(this);this.eventMouseDownContent=this.toFront.bindAsEventListener(this);this.eventResize=this._recenter.bindAsEventListener(this);this.topbar=$(this.element.id+"_top");this.bottombar=$(this.element.id+"_bottom");this.content=$(this.element.id+"_content");Event.observe(this.topbar,"mousedown",this.eventMouseDown);Event.observe(this.bottombar,"mousedown",this.eventMouseDown);Event.observe(this.content,"mousedown",this.eventMouseDownContent);Event.observe(window,"load",this.eventOnLoad);Event.observe(window,"resize",this.eventResize);Event.observe(window,"scroll",this.eventResize);Event.observe(this.options.parent,"scroll",this.eventResize);if(this.options.draggable){var e=this;[this.topbar,this.topbar.up().previous(),this.topbar.up().next()].each(function(a){a.observe("mousedown",e.eventMouseDown);a.addClassName("top_draggable")});[this.bottombar.up(),this.bottombar.up().previous(),this.bottombar.up().next()].each(function(a){a.observe("mousedown",e.eventMouseDown);a.addClassName("bottom_draggable")})}if(this.options.resizable){this.sizer=$(this.element.id+"_sizer");Event.observe(this.sizer,"mousedown",this.eventMouseDown)}this.useLeft=null;this.useTop=null;if(typeof this.options.left!="undefined"){this.element.setStyle({left:parseFloat(this.options.left)+"px"});this.useLeft=true}else{this.element.setStyle({right:parseFloat(this.options.right)+"px"});this.useLeft=false}if(typeof this.options.top!="undefined"){this.element.setStyle({top:parseFloat(this.options.top)+"px"});this.useTop=true}else{this.element.setStyle({bottom:parseFloat(this.options.bottom)+"px"});this.useTop=false}this.storedLocation=null;this.setOpacity(this.options.opacity);if(this.options.zIndex){this.setZIndex(this.options.zIndex)}if(this.options.destroyOnClose){this.setDestroyOnClose(true)}this._getWindowBorderSize();this.width=this.options.width;this.height=this.options.height;this.visible=false;this.constraint=false;this.constraintPad={top:0,left:0,bottom:0,right:0};if(this.width&&this.height){this.setSize(this.options.width,this.options.height)}this.setTitle(this.options.title);Windows.register(this)},destroy:function(){this._notify("onDestroy");Event.stopObserving(this.topbar,"mousedown",this.eventMouseDown);Event.stopObserving(this.bottombar,"mousedown",this.eventMouseDown);Event.stopObserving(this.content,"mousedown",this.eventMouseDownContent);Event.stopObserving(window,"load",this.eventOnLoad);Event.stopObserving(window,"resize",this.eventResize);Event.stopObserving(window,"scroll",this.eventResize);Event.stopObserving(this.content,"load",this.options.onload);if(this._oldParent){var f=this.getContent();var e=null;for(var d=0;d<f.childNodes.length;d++){e=f.childNodes[d];if(e.nodeType==1){break}e=null}if(e){this._oldParent.appendChild(e)}this._oldParent=null}if(this.sizer){Event.stopObserving(this.sizer,"mousedown",this.eventMouseDown)}if(this.options.url){this.content.src=null}if(this.iefix){Element.remove(this.iefix)}Element.remove(this.element);Windows.unregister(this)},setCloseCallback:function(b){this.options.closeCallback=b},getContent:function(){return this.content},setContent:function(j,k,d){var i=$(j);if(null==i){throw"Unable to find element '"+j+"' in DOM"}this._oldParent=i.parentNode;var l=null;var m=null;if(k){l=Element.getDimensions(i)}if(d){m=Position.cumulativeOffset(i)}var n=this.getContent();this.setHTMLContent("");n=this.getContent();n.appendChild(i);i.show();if(k){this.setSize(l.width,l.height)}if(d){this.setLocation(m[1]-this.heightN,m[0]-this.widthW)}},setHTMLContent:function(d){if(this.options.url){this.content.src=null;this.options.url=null;var c='<div id="'+this.getId()+'_content" class="'+this.options.className+'_content"> </div>';$(this.getId()+"_table_content").innerHTML=c;this.content=$(this.element.id+"_content")}this.getContent().innerHTML=d},setAjaxContent:function(e,f,g,h){this.showFunction=g?"showCenter":"show";this.showModal=h||false;f=f||{};this.setHTMLContent("");this.onComplete=f.onComplete;if(!this._onCompleteHandler){this._onCompleteHandler=this._setAjaxContent.bind(this)}f.onComplete=this._onCompleteHandler;new Ajax.Request(e,f);f.onComplete=this.onComplete},_setAjaxContent:function(b){Element.update(this.getContent(),b.responseText);if(this.onComplete){this.onComplete(b)}this.onComplete=null;this[this.showFunction](this.showModal)},setURL:function(d){if(this.options.url){this.content.src=null}this.options.url=d;var c="<iframe frameborder='0' name='"+this.getId()+"_content'  id='"+this.getId()+"_content' src='"+d+"' width='"+this.width+"' height='"+this.height+"'> </iframe>";$(this.getId()+"_table_content").innerHTML=c;this.content=$(this.element.id+"_content")},getURL:function(){return this.options.url?this.options.url:null},refresh:function(){if(this.options.url){$(this.element.getAttribute("id")+"_content").src=this.options.url}},setCookie:function(y,x,h,v,z){y=y||this.element.id;this.cookie=[y,x,h,v,z];var p=WindowUtilities.getCookie(y);if(p){var o=p.split(",");var r=o[0].split(":");var s=o[1].split(":");var q=parseFloat(o[2]),u=parseFloat(o[3]);var t=o[4];var w=o[5];this.setSize(q,u);if(t=="true"){this.doMinimize=true}else{if(w=="true"){this.doMaximize=true}}this.useLeft=r[0]=="l";this.useTop=s[0]=="t";this.element.setStyle(this.useLeft?{left:r[1]}:{right:r[1]});this.element.setStyle(this.useTop?{top:s[1]}:{bottom:s[1]})}},getId:function(){return this.element.id},setDestroyOnClose:function(){this.options.destroyOnClose=true},setConstraint:function(d,c){this.constraint=d;this.constraintPad=Object.extend(this.constraintPad,c||{});if(this.useTop&&this.useLeft){this.setLocation(parseFloat(this.element.style.top),parseFloat(this.element.style.left))}},_initDrag:function(c){if(Event.element(c)==this.sizer&&this.isMinimized()){return}if(Event.element(c)!=this.sizer&&this.isMaximized()){return}if(Prototype.Browser.IE&&this.heightN==0){this._getWindowBorderSize()}this.pointer=[this._round(Event.pointerX(c),this.options.gridX),this._round(Event.pointerY(c),this.options.gridY)];if(this.options.wiredDrag){this.currentDrag=this._createWiredElement()}else{this.currentDrag=this.element}if(Event.element(c)==this.sizer){this.doResize=true;this.widthOrg=this.width;this.heightOrg=this.height;this.bottomOrg=parseFloat(this.element.getStyle("bottom"));this.rightOrg=parseFloat(this.element.getStyle("right"));this._notify("onStartResize")}else{this.doResize=false;var d=$(this.getId()+"_close");if(d&&Position.within(d,this.pointer[0],this.pointer[1])){this.currentDrag=null;return}this.toFront();if(!this.options.draggable){return}this._notify("onStartMove")}Event.observe(document,"mouseup",this.eventMouseUp,false);Event.observe(document,"mousemove",this.eventMouseMove,false);WindowUtilities.disableScreen("__invisible__","__invisible__",this.overlayOpacity);document.body.ondrag=function(){return false};document.body.onselectstart=function(){return false};this.currentDrag.show();Event.stop(c)},_round:function(c,d){return d==1?c:c=Math.floor(c/d)*d},_updateDrag:function(s){var t=[this._round(Event.pointerX(s),this.options.gridX),this._round(Event.pointerY(s),this.options.gridY)];var h=t[0]-this.pointer[0];var l=t[1]-this.pointer[1];if(this.doResize){var m=this.widthOrg+h;var q=this.heightOrg+l;h=this.width-this.widthOrg;l=this.height-this.heightOrg;if(this.useLeft){m=this._updateWidthConstraint(m)}else{this.currentDrag.setStyle({right:(this.rightOrg-h)+"px"})}if(this.useTop){q=this._updateHeightConstraint(q)}else{this.currentDrag.setStyle({bottom:(this.bottomOrg-l)+"px"})}this.setSize(m,q);this._notify("onResize")}else{this.pointer=t;if(this.useLeft){var r=parseFloat(this.currentDrag.getStyle("left"))+h;var n=this._updateLeftConstraint(r);this.pointer[0]+=n-r;this.currentDrag.setStyle({left:n+"px"})}else{this.currentDrag.setStyle({right:parseFloat(this.currentDrag.getStyle("right"))-h+"px"})}if(this.useTop){var o=parseFloat(this.currentDrag.getStyle("top"))+l;var p=this._updateTopConstraint(o);this.pointer[1]+=p-o;this.currentDrag.setStyle({top:p+"px"})}else{this.currentDrag.setStyle({bottom:parseFloat(this.currentDrag.getStyle("bottom"))-l+"px"})}this._notify("onMove")}if(this.iefix){this._fixIEOverlapping()}this._removeStoreLocation();Event.stop(s)},_endDrag:function(b){WindowUtilities.enableScreen("__invisible__");if(this.doResize){this._notify("onEndResize")}else{this._notify("onEndMove")}Event.stopObserving(document,"mouseup",this.eventMouseUp,false);Event.stopObserving(document,"mousemove",this.eventMouseMove,false);Event.stop(b);this._hideWiredElement();this._saveCookie();document.body.ondrag=null;document.body.onselectstart=null},_updateLeftConstraint:function(c){if(this.constraint&&this.useLeft&&this.useTop){var d=this.options.parent==document.body?WindowUtilities.getPageSize().windowWidth:this.options.parent.getDimensions().width;if(c<this.constraintPad.left){c=this.constraintPad.left}if(c+this.width+this.widthE+this.widthW>d-this.constraintPad.right){c=d-this.constraintPad.right-this.width-this.widthE-this.widthW}}return c},_updateTopConstraint:function(f){if(this.constraint&&this.useLeft&&this.useTop){var e=this.options.parent==document.body?WindowUtilities.getPageSize().windowHeight:this.options.parent.getDimensions().height;var d=this.height+this.heightN+this.heightS;if(f<this.constraintPad.top){f=this.constraintPad.top}if(f+d>e-this.constraintPad.bottom){f=e-this.constraintPad.bottom-d}}return f},_updateWidthConstraint:function(e){if(this.constraint&&this.useLeft&&this.useTop){var d=this.options.parent==document.body?WindowUtilities.getPageSize().windowWidth:this.options.parent.getDimensions().width;var f=parseFloat(this.element.getStyle("left"));if(f+e+this.widthE+this.widthW>d-this.constraintPad.right){e=d-this.constraintPad.right-f-this.widthE-this.widthW}}return e},_updateHeightConstraint:function(d){if(this.constraint&&this.useLeft&&this.useTop){var e=this.options.parent==document.body?WindowUtilities.getPageSize().windowHeight:this.options.parent.getDimensions().height;var f=parseFloat(this.element.getStyle("top"));if(f+d+this.heightN+this.heightS>e-this.constraintPad.bottom){d=e-this.constraintPad.bottom-f-this.heightN-this.heightS}}return d},_createWindow:function(r){var m=this.options.className;var o=document.createElement("div");o.setAttribute("id",r);o.className="dialog";var n;if(this.options.url){n='<iframe frameborder="0" name="'+r+'_content"  id="'+r+'_content" src="'+this.options.url+'"> </iframe>'}else{n='<div id="'+r+'_content" class="'+m+'_content"> </div>'}var l=this.options.closable?"<div class='"+m+"_close' id='"+r+"_close' onclick='Windows.close(\""+r+"\", event)'> </div>":"";var k=this.options.minimizable?"<div class='"+m+"_minimize' id='"+r+"_minimize' onclick='Windows.minimize(\""+r+"\", event)'> </div>":"";var j=this.options.maximizable?"<div class='"+m+"_maximize' id='"+r+"_maximize' onclick='Windows.maximize(\""+r+"\", event)'> </div>":"";var p=this.options.resizable?"class='"+m+"_sizer' id='"+r+"_sizer'":"class='"+m+"_se'";var q="../themes/default/blank.gif";o.innerHTML=l+k+j+"      <table id='"+r+"_row1' class=\"top table_window\">        <tr>          <td class='"+m+"_nw'></td>          <td class='"+m+"_n'><div id='"+r+"_top' class='"+m+"_title title_window'>"+this.options.title+"</div></td>          <td class='"+m+"_ne'></td>        </tr>      </table>      <table id='"+r+"_row2' class=\"mid table_window\">        <tr>          <td class='"+m+"_w'></td>            <td id='"+r+"_table_content' class='"+m+"_content' valign='top'>"+n+"</td>          <td class='"+m+"_e'></td>        </tr>      </table>        <table id='"+r+"_row3' class=\"bot table_window\">        <tr>          <td class='"+m+"_sw'></td>            <td class='"+m+"_s'><div id='"+r+"_bottom' class='status_bar'><span style='float:left; width:1px; height:1px'></span></div></td>            <td "+p+"></td>        </tr>      </table>    ";Element.hide(o);this.options.parent.insertBefore(o,this.options.parent.firstChild);Event.observe($(r+"_content"),"load",this.options.onload);return o},changeClassName:function(e){var d=this.options.className;var f=this.getId();$A(["_close","_minimize","_maximize","_sizer","_content"]).each(function(a){this._toggleClassName($(f+a),d+a,e+a)}.bind(this));this._toggleClassName($(f+"_top"),d+"_title",e+"_title");$$("#"+f+" td").each(function(a){a.className=a.className.sub(d,e)});this.options.className=e},_toggleClassName:function(f,d,e){if(f){f.removeClassName(d);f.addClassName(e)}},setLocation:function(f,d){f=this._updateTopConstraint(f);d=this._updateLeftConstraint(d);var e=this.currentDrag||this.element;e.setStyle({top:f+"px"});e.setStyle({left:d+"px"});this.useLeft=true;this.useTop=true},getLocation:function(){var b={};if(this.useTop){b=Object.extend(b,{top:this.element.getStyle("top")})}else{b=Object.extend(b,{bottom:this.element.getStyle("bottom")})}if(this.useLeft){b=Object.extend(b,{left:this.element.getStyle("left")})}else{b=Object.extend(b,{right:this.element.getStyle("right")})}return b},getSize:function(){return{width:this.width,height:this.height}},setSize:function(j,e,g){j=parseFloat(j);e=parseFloat(e);if(!this.minimized&&j<this.options.minWidth){j=this.options.minWidth}if(!this.minimized&&e<this.options.minHeight){e=this.options.minHeight}if(this.options.maxHeight&&e>this.options.maxHeight){e=this.options.maxHeight}if(this.options.maxWidth&&j>this.options.maxWidth){j=this.options.maxWidth}if(this.useTop&&this.useLeft&&Window.hasEffectLib&&Effect.ResizeWindow&&g){new Effect.ResizeWindow(this,null,null,j,e,{duration:Window.resizeEffectDuration})}else{this.width=j;this.height=e;var h=this.currentDrag?this.currentDrag:this.element;h.setStyle({width:j+this.widthW+this.widthE+"px"});h.setStyle({height:e+this.heightN+this.heightS+"px"});if(!this.currentDrag||this.currentDrag==this.element){var i=$(this.element.id+"_content");i.setStyle({height:e+"px"});i.setStyle({width:j+"px"})}}},updateHeight:function(){this.setSize(this.width,this.content.scrollHeight,true)},updateWidth:function(){this.setSize(this.content.scrollWidth,this.height,true)},toFront:function(){if(this.element.style.zIndex<Windows.maxZIndex){this.setZIndex(Windows.maxZIndex+1)}if(this.iefix){this._fixIEOverlapping()}},getBounds:function(e){if(!this.width||!this.height||!this.visible){this.computeBounds()}var f=this.width;var h=this.height;if(!e){f+=this.widthW+this.widthE;h+=this.heightN+this.heightS}var g=Object.extend(this.getLocation(),{width:f+"px",height:h+"px"});return g},computeBounds:function(){if(!this.width||!this.height){var b=WindowUtilities._computeSize(this.content.innerHTML,this.content.id,this.width,this.height,0,this.options.className);if(this.height){this.width=b+5}else{this.height=b+5}}this.setSize(this.width,this.height);if(this.centered){this._center(this.centerTop,this.centerLeft)}},show:function(c){this.visible=true;if(c){if(typeof this.overlayOpacity=="undefined"){var d=this;setTimeout(function(){d.show(c)},10);return}Windows.addModalWindow(this);this.modal=true;this.setZIndex(Windows.maxZIndex+1);Windows.unsetOverflow(this)}else{if(!this.element.style.zIndex){this.setZIndex(Windows.maxZIndex+1)}}if(this.oldStyle){this.getContent().setStyle({overflow:this.oldStyle})}this.computeBounds();this._notify("onBeforeShow");if(this.options.showEffect!=Element.show&&this.options.showEffectOptions){this.options.showEffect(this.element,this.options.showEffectOptions)}else{this.options.showEffect(this.element)}this._checkIEOverlapping();WindowUtilities.focusedWindow=this;this._notify("onShow")},showCenter:function(e,f,d){this.centered=true;this.centerTop=f;this.centerLeft=d;this.show(e)},isVisible:function(){return this.visible},_center:function(h,e){var g=WindowUtilities.getWindowScroll(this.options.parent);var f=WindowUtilities.getPageSize(this.options.parent);if(typeof h=="undefined"){h=(f.windowHeight-(this.height+this.heightN+this.heightS))/2}h+=g.top;if(typeof e=="undefined"){e=(f.windowWidth-(this.width+this.widthW+this.widthE))/2}e+=g.left;this.setLocation(h,e);this.toFront()},_recenter:function(d){if(this.centered){var e=WindowUtilities.getPageSize(this.options.parent);var f=WindowUtilities.getWindowScroll(this.options.parent);if(this.pageSize&&this.pageSize.windowWidth==e.windowWidth&&this.pageSize.windowHeight==e.windowHeight&&this.windowScroll.left==f.left&&this.windowScroll.top==f.top){return}this.pageSize=e;this.windowScroll=f;if($("overlay_modal")){$("overlay_modal").setStyle({height:(e.pageHeight+"px")})}if(this.options.recenterAuto){this._center(this.centerTop,this.centerLeft)}}},hide:function(){this.visible=false;if(this.modal){Windows.removeModalWindow(this);Windows.resetOverflow()}this.oldStyle=this.getContent().getStyle("overflow")||"auto";this.getContent().setStyle({overflow:"hidden"});this.options.hideEffect(this.element,this.options.hideEffectOptions);if(this.iefix){this.iefix.hide()}if(!this.doNotNotifyHide){this._notify("onHide")}},close:function(){if(this.visible){if(this.options.closeCallback&&!this.options.closeCallback(this)){return}if(this.options.destroyOnClose){var d=this.destroy.bind(this);if(this.options.hideEffectOptions.afterFinish){var c=this.options.hideEffectOptions.afterFinish;this.options.hideEffectOptions.afterFinish=function(){c();d()}}else{this.options.hideEffectOptions.afterFinish=function(){d()}}}Windows.updateFocusedWindow();this.doNotNotifyHide=true;this.hide();this.doNotNotifyHide=false;this._notify("onClose")}},minimize:function(){if(this.resizing){return}var f=$(this.getId()+"_row2");if(!this.minimized){this.minimized=true;var g=f.getDimensions().height;this.r2Height=g;var h=this.element.getHeight()-g;if(this.useLeft&&this.useTop&&Window.hasEffectLib&&Effect.ResizeWindow){new Effect.ResizeWindow(this,null,null,null,this.height-g,{duration:Window.resizeEffectDuration})}else{this.height-=g;this.element.setStyle({height:h+"px"});f.hide()}if(!this.useTop){var e=parseFloat(this.element.getStyle("bottom"));this.element.setStyle({bottom:(e+g)+"px"})}}else{this.minimized=false;var g=this.r2Height;this.r2Height=null;if(this.useLeft&&this.useTop&&Window.hasEffectLib&&Effect.ResizeWindow){new Effect.ResizeWindow(this,null,null,null,this.height+g,{duration:Window.resizeEffectDuration})}else{var h=this.element.getHeight()+g;this.height+=g;this.element.setStyle({height:h+"px"});f.show()}if(!this.useTop){var e=parseFloat(this.element.getStyle("bottom"));this.element.setStyle({bottom:(e-g)+"px"})}this.toFront()}this._notify("onMinimize");this._saveCookie()},maximize:function(){if(this.isMinimized()||this.resizing){return}if(Prototype.Browser.IE&&this.heightN==0){this._getWindowBorderSize()}if(this.storedLocation!=null){this._restoreLocation();if(this.iefix){this.iefix.hide()}}else{this._storeLocation();Windows.unsetOverflow(this);var j=WindowUtilities.getWindowScroll(this.options.parent);var h=WindowUtilities.getPageSize(this.options.parent);var k=j.left;var l=j.top;if(this.options.parent!=document.body){j={top:0,left:0,bottom:0,right:0};var m=this.options.parent.getDimensions();h.windowWidth=m.width;h.windowHeight=m.height;l=0;k=0}if(this.constraint){h.windowWidth-=Math.max(0,this.constraintPad.left)+Math.max(0,this.constraintPad.right);h.windowHeight-=Math.max(0,this.constraintPad.top)+Math.max(0,this.constraintPad.bottom);k+=Math.max(0,this.constraintPad.left);l+=Math.max(0,this.constraintPad.top)}var n=h.windowWidth-this.widthW-this.widthE;var i=h.windowHeight-this.heightN-this.heightS;if(this.useLeft&&this.useTop&&Window.hasEffectLib&&Effect.ResizeWindow){new Effect.ResizeWindow(this,l,k,n,i,{duration:Window.resizeEffectDuration})}else{this.setSize(n,i);this.element.setStyle(this.useLeft?{left:k}:{right:k});this.element.setStyle(this.useTop?{top:l}:{bottom:l})}this.toFront();if(this.iefix){this._fixIEOverlapping()}}this._notify("onMaximize");this._saveCookie()},isMinimized:function(){return this.minimized},isMaximized:function(){return(this.storedLocation!=null)},setOpacity:function(b){if(Element.setOpacity){Element.setOpacity(this.element,b)}},setZIndex:function(b){this.element.setStyle({zIndex:b});Windows.updateZindex(b,this)},setTitle:function(b){if(!b||b==""){b="&nbsp;"}Element.update(this.element.id+"_top",b)},getTitle:function(){return $(this.element.id+"_top").innerHTML},setStatusBar:function(c){var d=$(this.getId()+"_bottom");if(typeof(c)=="object"){if(this.bottombar.firstChild){this.bottombar.replaceChild(c,this.bottombar.firstChild)}else{this.bottombar.appendChild(c)}}else{this.bottombar.innerHTML=c}},_checkIEOverlapping:function(){if(!this.iefix&&(navigator.appVersion.indexOf("MSIE")>0)&&(navigator.userAgent.indexOf("Opera")<0)&&(this.element.getStyle("position")=="absolute")){new Insertion.After(this.element.id,'<iframe id="'+this.element.id+'_iefix" style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" src="javascript:false;" frameborder="0" scrolling="no"></iframe>');this.iefix=$(this.element.id+"_iefix")}if(this.iefix){setTimeout(this._fixIEOverlapping.bind(this),50)}},_fixIEOverlapping:function(){Position.clone(this.element,this.iefix);this.iefix.style.zIndex=this.element.style.zIndex-1;this.iefix.show()},_getWindowBorderSize:function(d){var f=this._createHiddenDiv(this.options.className+"_n");this.heightN=Element.getDimensions(f).height;f.parentNode.removeChild(f);var f=this._createHiddenDiv(this.options.className+"_s");this.heightS=Element.getDimensions(f).height;f.parentNode.removeChild(f);var f=this._createHiddenDiv(this.options.className+"_e");this.widthE=Element.getDimensions(f).width;f.parentNode.removeChild(f);var f=this._createHiddenDiv(this.options.className+"_w");this.widthW=Element.getDimensions(f).width;f.parentNode.removeChild(f);var f=document.createElement("div");f.className="overlay_"+this.options.className;document.body.appendChild(f);var e=this;setTimeout(function(){e.overlayOpacity=($(f).getStyle("opacity"));f.parentNode.removeChild(f)},10);if(Prototype.Browser.IE){this.heightS=$(this.getId()+"_row3").getDimensions().height;this.heightN=$(this.getId()+"_row1").getDimensions().height}if(Prototype.Browser.WebKit&&Prototype.Browser.WebKitVersion<420){this.setSize(this.width,this.height)}if(this.doMaximize){this.maximize()}if(this.doMinimize){this.minimize()}},_createHiddenDiv:function(d){var e=document.body;var f=document.createElement("div");f.setAttribute("id",this.element.id+"_tmp");f.className=d;f.style.display="none";f.innerHTML="";e.insertBefore(f,e.firstChild);return f},_storeLocation:function(){if(this.storedLocation==null){this.storedLocation={useTop:this.useTop,useLeft:this.useLeft,top:this.element.getStyle("top"),bottom:this.element.getStyle("bottom"),left:this.element.getStyle("left"),right:this.element.getStyle("right"),width:this.width,height:this.height}}},_restoreLocation:function(){if(this.storedLocation!=null){this.useLeft=this.storedLocation.useLeft;this.useTop=this.storedLocation.useTop;if(this.useLeft&&this.useTop&&Window.hasEffectLib&&Effect.ResizeWindow){new Effect.ResizeWindow(this,this.storedLocation.top,this.storedLocation.left,this.storedLocation.width,this.storedLocation.height,{duration:Window.resizeEffectDuration})}else{this.element.setStyle(this.useLeft?{left:this.storedLocation.left}:{right:this.storedLocation.right});this.element.setStyle(this.useTop?{top:this.storedLocation.top}:{bottom:this.storedLocation.bottom});this.setSize(this.storedLocation.width,this.storedLocation.height)}Windows.resetOverflow();this._removeStoreLocation()}},_removeStoreLocation:function(){this.storedLocation=null},_saveCookie:function(){if(this.cookie){var b="";if(this.useLeft){b+="l:"+(this.storedLocation?this.storedLocation.left:this.element.getStyle("left"))}else{b+="r:"+(this.storedLocation?this.storedLocation.right:this.element.getStyle("right"))}if(this.useTop){b+=",t:"+(this.storedLocation?this.storedLocation.top:this.element.getStyle("top"))}else{b+=",b:"+(this.storedLocation?this.storedLocation.bottom:this.element.getStyle("bottom"))}b+=","+(this.storedLocation?this.storedLocation.width:this.width);b+=","+(this.storedLocation?this.storedLocation.height:this.height);b+=","+this.isMinimized();b+=","+this.isMaximized();WindowUtilities.setCookie(b,this.cookie)}},_createWiredElement:function(){if(!this.wiredElement){if(Prototype.Browser.IE){this._getWindowBorderSize()}var c=document.createElement("div");c.className="wired_frame "+this.options.className+"_wired_frame";c.style.position="absolute";this.options.parent.insertBefore(c,this.options.parent.firstChild);this.wiredElement=$(c)}if(this.useLeft){this.wiredElement.setStyle({left:this.element.getStyle("left")})}else{this.wiredElement.setStyle({right:this.element.getStyle("right")})}if(this.useTop){this.wiredElement.setStyle({top:this.element.getStyle("top")})}else{this.wiredElement.setStyle({bottom:this.element.getStyle("bottom")})}var d=this.element.getDimensions();this.wiredElement.setStyle({width:d.width+"px",height:d.height+"px"});this.wiredElement.setStyle({zIndex:Windows.maxZIndex+30});return this.wiredElement},_hideWiredElement:function(){if(!this.wiredElement||!this.currentDrag){return}if(this.currentDrag==this.element){this.currentDrag=null}else{if(this.useLeft){this.element.setStyle({left:this.currentDrag.getStyle("left")})}else{this.element.setStyle({right:this.currentDrag.getStyle("right")})}if(this.useTop){this.element.setStyle({top:this.currentDrag.getStyle("top")})}else{this.element.setStyle({bottom:this.currentDrag.getStyle("bottom")})}this.currentDrag.hide();this.currentDrag=null;if(this.doResize){this.setSize(this.width,this.height)}}},_notify:function(b){if(this.options[b]){this.options[b](this)}else{Windows.notify(b,this)}}};var Windows={windows:[],modalWindows:[],observers:[],focusedWindow:null,maxZIndex:0,overlayShowEffectOptions:{duration:0.5},overlayHideEffectOptions:{duration:0.5},addObserver:function(b){this.removeObserver(b);this.observers.push(b)},removeObserver:function(b){this.observers=this.observers.reject(function(a){return a==b})},notify:function(d,c){this.observers.each(function(a){if(a[d]){a[d](d,c)}})},getWindow:function(b){return this.windows.detect(function(a){return a.getId()==b})},getFocusedWindow:function(){return this.focusedWindow},updateFocusedWindow:function(){this.focusedWindow=this.windows.length>=2?this.windows[this.windows.length-2]:null},register:function(b){this.windows.push(b)},addModalWindow:function(b){if(this.modalWindows.length==0){WindowUtilities.disableScreen(b.options.className,"overlay_modal",b.overlayOpacity,b.getId(),b.options.parent)}else{if(Window.keepMultiModalWindow){$("overlay_modal").style.zIndex=Windows.maxZIndex+1;Windows.maxZIndex+=1;WindowUtilities._hideSelect(this.modalWindows.last().getId())}else{this.modalWindows.last().element.hide()}WindowUtilities._showSelect(b.getId())}this.modalWindows.push(b)},removeModalWindow:function(b){this.modalWindows.pop();if(this.modalWindows.length==0){WindowUtilities.enableScreen()}else{if(Window.keepMultiModalWindow){this.modalWindows.last().toFront();WindowUtilities._showSelect(this.modalWindows.last().getId())}else{this.modalWindows.last().element.show()}}},register:function(b){this.windows.push(b)},unregister:function(b){this.windows=this.windows.reject(function(a){return a==b})},closeAll:function(){this.windows.each(function(b){Windows.close(b.getId())})},closeAllModalWindows:function(){WindowUtilities.enableScreen();this.modalWindows.each(function(b){if(b){b.close()}})},minimize:function(f,e){var d=this.getWindow(f);if(d&&d.visible){d.minimize()}Event.stop(e)},maximize:function(f,e){var d=this.getWindow(f);if(d&&d.visible){d.maximize()}Event.stop(e)},close:function(f,e){var d=this.getWindow(f);if(d){d.close()}if(e){Event.stop(e)}},blur:function(c){var d=this.getWindow(c);if(!d){return}if(d.options.blurClassName){d.changeClassName(d.options.blurClassName)}if(this.focusedWindow==d){this.focusedWindow=null}d._notify("onBlur")},focus:function(c){var d=this.getWindow(c);if(!d){return}if(this.focusedWindow){this.blur(this.focusedWindow.getId())}if(d.options.focusClassName){d.changeClassName(d.options.focusClassName)}this.focusedWindow=d;d._notify("onFocus")},unsetOverflow:function(b){this.windows.each(function(a){a.oldOverflow=a.getContent().getStyle("overflow")||"auto";a.getContent().setStyle({overflow:"hidden"})});if(b&&b.oldOverflow){b.getContent().setStyle({overflow:b.oldOverflow})}},resetOverflow:function(){this.windows.each(function(b){if(b.oldOverflow){b.getContent().setStyle({overflow:b.oldOverflow})}})},updateZindex:function(d,c){if(d>this.maxZIndex){this.maxZIndex=d;if(this.focusedWindow){this.blur(this.focusedWindow.getId())}}this.focusedWindow=c;if(this.focusedWindow){this.focus(this.focusedWindow.getId())}}};var Dialog={dialogId:null,onCompleteFunc:null,callFunc:null,parameters:null,confirm:function(k,l){if(k&&typeof k!="string"){Dialog._runAjaxRequest(k,l,Dialog.confirm);return}k=k||"";l=l||{};var i=l.okLabel?l.okLabel:"Ok";var h=l.cancelLabel?l.cancelLabel:"Cancel";l=Object.extend(l,l.windowParameters||{});l.windowParameters=l.windowParameters||{};l.className=l.className||"alert";var g="class ='"+(l.buttonClass?l.buttonClass+" ":"")+" ok_button'";var j="class ='"+(l.buttonClass?l.buttonClass+" ":"")+" cancel_button'";var k="      <div class='"+l.className+"_message'>"+k+"</div>        <div class='"+l.className+"_buttons'>          <input type='button' value='"+i+"' onclick='Dialog.okCallback()' "+g+"/>          <input type='button' value='"+h+"' onclick='Dialog.cancelCallback()' "+j+"/>        </div>    ";return this._openDialog(k,l)},alert:function(h,e){if(h&&typeof h!="string"){Dialog._runAjaxRequest(h,e,Dialog.alert);return}h=h||"";e=e||{};var g=e.okLabel?e.okLabel:"Ok";e=Object.extend(e,e.windowParameters||{});e.windowParameters=e.windowParameters||{};e.className=e.className||"alert";var f="class ='"+(e.buttonClass?e.buttonClass+" ":"")+" ok_button'";var h="      <div class='"+e.className+"_message'>"+h+"</div>        <div class='"+e.className+"_buttons'>          <input type='button' value='"+g+"' onclick='Dialog.okCallback()' "+f+"/>        </div>";return this._openDialog(h,e)},info:function(c,d){if(c&&typeof c!="string"){Dialog._runAjaxRequest(c,d,Dialog.info);return}c=c||"";d=d||{};d=Object.extend(d,d.windowParameters||{});d.windowParameters=d.windowParameters||{};d.className=d.className||"alert";var c="<div id='modal_dialog_message' class='"+d.className+"_message'>"+c+"</div>";if(d.showProgress){c+="<div id='modal_dialog_progress' class='"+d.className+"_progress'>  </div>"}d.ok=null;d.cancel=null;return this._openDialog(c,d)},setInfoMessage:function(b){$("modal_dialog_message").update(b)},closeInfo:function(){Windows.close(this.dialogId)},_openDialog:function(j,k){var l=k.className;if(!k.height&&!k.width){k.width=WindowUtilities.getPageSize(k.options.parent||document.body).pageWidth/2}if(k.id){this.dialogId=k.id}else{var g=new Date();this.dialogId="modal_dialog_"+g.getTime();k.id=this.dialogId}if(!k.height||!k.width){var h=WindowUtilities._computeSize(j,this.dialogId,k.width,k.height,5,l);if(k.height){k.width=h+5}else{k.height=h+5}}k.effectOptions=k.effectOptions;k.resizable=k.resizable||false;k.minimizable=k.minimizable||false;k.maximizable=k.maximizable||false;k.draggable=k.draggable||false;k.closable=k.closable||false;var i=new Window(k);i.getContent().innerHTML=j;i.showCenter(true,k.top,k.left);i.setDestroyOnClose();i.cancelCallback=k.onCancel||k.cancel;i.okCallback=k.onOk||k.ok;return i},_getAjaxContent:function(b){Dialog.callFunc(b.responseText,Dialog.parameters)},_runAjaxRequest:function(f,d,e){if(f.options==null){f.options={}}Dialog.onCompleteFunc=f.options.onComplete;Dialog.parameters=d;Dialog.callFunc=e;f.options.onComplete=Dialog._getAjaxContent;new Ajax.Request(f.url,f.options)},okCallback:function(){var b=Windows.focusedWindow;if(!b.okCallback||b.okCallback(b)){$$("#"+b.getId()+" input").each(function(a){a.onclick=null});b.close()}},cancelCallback:function(){var b=Windows.focusedWindow;$$("#"+b.getId()+" input").each(function(a){a.onclick=null});b.close();if(b.cancelCallback){b.cancelCallback(b)}}};if(Prototype.Browser.WebKit){var array=navigator.userAgent.match(new RegExp(/AppleWebKit\/([\d\.\+]*)/));Prototype.Browser.WebKitVersion=parseFloat(array[1])}var WindowUtilities={getWindowScroll:function(parent){var T,L,W,H;parent=parent||document.body;if(parent!=document.body){T=parent.scrollTop;L=parent.scrollLeft;W=parent.scrollWidth;H=parent.scrollHeight}else{var w=window;with(w.document){if(w.document.documentElement&&documentElement.scrollTop){T=documentElement.scrollTop;L=documentElement.scrollLeft}else{if(w.document.body){T=body.scrollTop;L=body.scrollLeft}}if(w.innerWidth){W=w.innerWidth;H=w.innerHeight}else{if(w.document.documentElement&&documentElement.clientWidth){W=documentElement.clientWidth;H=documentElement.clientHeight}else{W=body.offsetWidth;H=body.offsetHeight}}}}return{top:T,left:L,width:W,height:H}},getPageSize:function(m){m=m||document.body;var n,j;var l,h;if(m!=document.body){n=m.getWidth();j=m.getHeight();h=m.scrollWidth;l=m.scrollHeight}else{var k,i;if(window.innerHeight&&window.scrollMaxY){k=document.body.scrollWidth;i=window.innerHeight+window.scrollMaxY}else{if(document.body.scrollHeight>document.body.offsetHeight){k=document.body.scrollWidth;i=document.body.scrollHeight}else{k=document.body.offsetWidth;i=document.body.offsetHeight}}if(self.innerHeight){n=self.innerWidth;j=self.innerHeight}else{if(document.documentElement&&document.documentElement.clientHeight){n=document.documentElement.clientWidth;j=document.documentElement.clientHeight}else{if(document.body){n=document.body.clientWidth;j=document.body.clientHeight}}}if(i<j){l=j}else{l=i}if(k<n){h=n}else{h=k}}return{pageWidth:h,pageHeight:l,windowWidth:n,windowHeight:j}},disableScreen:function(j,g,i,h,f){WindowUtilities.initLightbox(g,j,function(){this._disableScreen(j,g,i,h)}.bind(this),f||document.body)},_disableScreen:function(l,g,j,i){var k=$(g);var h=WindowUtilities.getPageSize(k.parentNode);if(i&&Prototype.Browser.IE){WindowUtilities._hideSelect();WindowUtilities._showSelect(i)}k.style.height=(h.pageHeight+"px");k.style.display="none";if(g=="overlay_modal"&&Window.hasEffectLib&&Windows.overlayShowEffectOptions){k.overlayOpacity=j;new Effect.Appear(k,Object.extend({from:0,to:j},Windows.overlayShowEffectOptions))}else{k.style.display="block"}},enableScreen:function(c){c=c||"overlay_modal";var d=$(c);if(d){if(c=="overlay_modal"&&Window.hasEffectLib&&Windows.overlayHideEffectOptions){new Effect.Fade(d,Object.extend({from:d.overlayOpacity,to:0},Windows.overlayHideEffectOptions))}else{d.style.display="none";d.parentNode.removeChild(d)}if(c!="__invisible__"){WindowUtilities._showSelect()}}},_hideSelect:function(b){if(Prototype.Browser.IE){b=b==null?"":"#"+b+" ";$$(b+"select").each(function(a){if(!WindowUtilities.isDefined(a.oldVisibility)){a.oldVisibility=a.style.visibility?a.style.visibility:"visible";a.style.visibility="hidden"}})}},_showSelect:function(b){if(Prototype.Browser.IE){b=b==null?"":"#"+b+" ";$$(b+"select").each(function(a){if(WindowUtilities.isDefined(a.oldVisibility)){try{a.style.visibility=a.oldVisibility}catch(d){a.style.visibility="visible"}a.oldVisibility=null}else{if(a.style.visibility){a.style.visibility="visible"}}})}},isDefined:function(b){return typeof(b)!="undefined"&&b!=null},initLightbox:function(h,j,g,f){if($(h)){Element.setStyle(h,{zIndex:Windows.maxZIndex+1});Windows.maxZIndex++;g()}else{var i=document.createElement("div");i.setAttribute("id",h);i.className="overlay_"+j;i.style.display="none";i.style.position="absolute";i.style.top="0";i.style.left="0";i.style.zIndex=Windows.maxZIndex+1;Windows.maxZIndex++;i.style.width="100%";f.insertBefore(i,f.firstChild);if(Prototype.Browser.WebKit&&h=="overlay_modal"){setTimeout(function(){g()},10)}else{g()}}},setCookie:function(c,d){document.cookie=d[0]+"="+escape(c)+((d[1])?"; expires="+d[1].toGMTString():"")+((d[2])?"; path="+d[2]:"")+((d[3])?"; domain="+d[3]:"")+((d[4])?"; secure":"")},getCookie:function(j){var f=document.cookie;var h=j+"=";var i=f.indexOf("; "+h);if(i==-1){i=f.indexOf(h);if(i!=0){return null}}else{i+=2}var g=document.cookie.indexOf(";",i);if(g==-1){g=f.length}return unescape(f.substring(i+h.length,g))},_computeSize:function(n,r,q,l,o,m){var j=document.body;var p=document.createElement("div");p.setAttribute("id",r);p.className=m+"_content";if(l){p.style.height=l+"px"}else{p.style.width=q+"px"}p.style.position="absolute";p.style.top="0";p.style.left="0";p.style.display="none";p.innerHTML=n;j.insertBefore(p,j.firstChild);var k;if(l){k=$(p).getDimensions().width+o}else{k=$(p).getDimensions().height+o}j.removeChild(p);return k}};
