var WindowManager={BaseWindow:function(a){return new BaseWindow(a)}};var DraggableObject=Class.create({el:null,moveState:false,mX:null,mY:null,elX:null,elY:null,onDragObserver:null,dragEndObserver:null,dragBegin:function(a){var a=a||window.event;this.mX=Event.pointerX(a);this.mY=Event.pointerY(a);var b=$(this.el).cumulativeOffset();this.elX=b.left;this.elY=b.top;this.moveState=true;document.observe("mousemove",this.onDragObserver);document.observe("mouseup",this.dragEndObserver);document.body.setStyle({overflow:"hidden"})},dragEnd:function(){this.moveState=false;document.stopObserving("mousemove",this.onDragObserver);document.stopObserving("mouseup",this.dragEndObserver);document.body.setStyle({overflow:"auto"})},dragHandler:function(a){var a=a||window.event;if(this.moveState){var c=this.elX+Event.pointerX(a)-this.mX;var b=this.elY+Event.pointerY(a)-this.mY;this.el.setStyle({left:c+"px",top:b+"px"})}},initDrag:function(b){var b=b||null;this.el.setStyle({position:"absolute"});this.onDragObserver=this.dragHandler.bindAsEventListener(this);this.dragEndObserver=this.dragEnd.bindAsEventListener(this);var a=Element.select(this.el,"."+b);a.each((function(c){c.observe("mousedown",this.dragBegin.bindAsEventListener(this));c.observe("mouseup",this.dragEndObserver);c.setStyle({cursor:"move"})}).bind(this))},initialize:function(a,b){if(!$(a)){return}this.el=Element.extend(a);this.initDrag(b)}});function BaseWindow(b){this.opener=null;this.modal=false;this.center=false;this.area=null;this.el=null;this.bgClickClose=false;this.noScrollTop=false;this.topOffset=null;this.draggable=true;this.dragRegionClass=null;this.dragObject=null;this.classBtnClose="wBtnClose";this.classBtnSubmit="wBtnSubmit";this.handlerHide=null;this.handlerSubmit=null;this.onHide=null;var a=null;this.alignToArea=function(){if(this.modal){var f=this.area||document.body;Element.extend(f);f.makePositioned();a.clonePosition(f);f.undoPositioned();a.setStyle({height:getPageHeight()+"px"})}if(this.el&&this.center){var i=Try.these((function(){return Element.select(this.el,".scrollable")[0]}).bind(this));if(i){i.setStyle({height:"auto",overflow:"visible"})}var j={x:0,y:0};var h={x:(this.el.getWidth()/2).floor(),y:(this.el.getHeight()/2).floor()};var c={x:0,y:0};var g=[0,0];if(this.area){g=a.cumulativeOffset();c.x=(a.getWidth()/2).floor();c.y=(a.getHeight()/2).floor()}else{if(this.noScrollTop){var e=document.viewport.getScrollOffsets();g[0]=e.left;g[1]=e.top}c.x=(document.viewport.getWidth()/2).floor();c.y=(document.viewport.getHeight()/2).floor()}j.x=g[0]+c.x-h.x;j.y=g[1]+(this.topOffset==null?(c.y-h.y):parseInt(this.topOffset));if(j.y+this.el.getHeight()>g[1]+document.viewport.getHeight()){if(this.el.getHeight()<=document.viewport.getHeight()){j.y=g[1]+((document.viewport.getHeight()-this.el.getHeight())/2).floor()}else{if(i){j.y=g[1]+10;var d=document.viewport.getHeight()-120;i.setStyle({height:d+"px",overflow:"scroll"})}}}if(j.y<=0){j.y=10}$(this.el).setStyle({left:j.x+"px",top:j.y+"px"})}};this.show=function(){this.alignToArea();if(this.modal){a.show()}if(this.el){this.el.show()}if(!this.area&&!this.noScrollTop){Element.scrollTo(document.body)}return this};this.hide=function(){if(typeof(this.onHide)=="function"){this.onHide(this)}if(this.el){this.el.hide()}if(this.modal){a.hide()}return this};this.initBackground=function(){var c=$(document.body);a=document.createElement("div");Element.extend(a);a.setStyle({position:"absolute",overflow:"hidden",backgroundColor:"#000000",opacity:"0.4",zIndex:"10000"}).hide();a.innerHTML="<!--[if lte IE 6.5]><iframe style='display:none; display:block; position:absolute; top:0; left:0; z-index:-1; filter:mask(); width:2000px; height:2000px;'></iframe><![endif]-->";c.appendChild(a);if(this.bgClickClose){a.observe("click",this.handlerHide.bindAsEventListener(this))}Event.observe(window,"resize",(function(d){this.alignToArea()}).bindAsEventListener(this));return this};this.initElement=function(c){if(!this.el){this.el=document.createElement("div");Element.extend(this.el);this.el.hide();document.body.appendChild(this.el);if(this.draggable&&!this.dragObject){this.dragObject=new DraggableObject(this.el,this.dragRegionClass)}}this.el.setStyle({position:"absolute",zIndex:parseInt(a.getStyle("zIndex"))+1}).hide();this.updateElement(c).setListeners();return this};this.updateElement=function(c){if(this.el&&c!=""){this.el.update(c);var e=this.el.firstDescendant();Element.extend(e);if(e){this.el.setStyle({width:e.getStyle("width")});e.setStyle({width:"auto"})}else{this.el.setStyle({width:"50%"})}if(this.draggable){this.dragObject.initDrag(this.dragRegionClass)}}return this};this.setListeners=function(){if(this.el){if(this.handlerHide){Element.select(this.el,"."+this.classBtnClose).each((function(c){Event.observe(c,"click",this.handlerHide.bind(this))}).bind(this))}if(this.handlerSubmit){Element.select(this.el,"."+this.classBtnSubmit).each((function(c){Event.observe(c,"click",this.handlerSubmit.bind(this))}).bind(this))}}return this};this.init=function(c){this.opener=c.opener||null;this.modal=!!c.modal||false;this.center=!!c.center||false;this.area=$(c.area)||null;this.el=$(c.el);this.elSrc=c.elSrc;this.bgClickClose=!!c.bgClickClose||false;this.noScrollTop=!!c.noScrollTop||false;this.topOffset=c.topOffset||null;this.draggable=c.draggable||true;this.dragRegionClass=c.dragRegionClass||"headLine";this.handlerHide=c.handlerHide||this.hide;this.onHide=c.OnHideHandler;this.handlerSubmit=c.handlerSubmit||null;if(this.modal){this.initBackground()}if(this.el||this.elSrc){this.initElement(this.elSrc)}};this.init(b)};