var Popup=Class.create();Popup.prototype={popupUnderBg:null,popup:null,popupLoading:null,popupLoadingImg:null,popupContent:null,iframe:null,hiddenSelects:null,initialize:function(a){this.options={url:null,width:300,height:300,method:"get",header:true,center:true,onLoad:null,draggable:false,destroyOnClose:true,loadingImg:null};Object.extend(this.options,a||{});this.popupUnderBg=document.createElement("div");Element.addClassName(this.popupUnderBg,"popupUnderBg");this.popup=document.createElement("div");if(this.options.header){var b=document.createElement("div");Element.addClassName(b,"popupHeader");this.popup.appendChild(b);el=document.createElement("div");Element.addClassName(el,"popupClose");el.innerHTML='<div class="popupClose"><img src="/gfx/newHome/elems/mailWindowClose.gif" alt="Zamknij" title="Zamknij"></div>';b.appendChild(el);Event.observe(el,"click",this.closePopup.bindAsEventListener(this));el=document.createElement("br");el.setAttribute("clear","all");b.appendChild(el);if(this.options.draggable){new Draggable(this.popup,{handle:b,starteffect:null,endeffect:null})}if(this.options.loadingImg){this.popupLoadingImg=new Image();this.popupLoadingImg.src=this.options.loadingImg;this.popupLoading=document.createElement("div");Element.addClassName(this.popupLoading,"popupLoading");b.appendChild(this.popupLoading)}}this.popupContent=document.createElement("div");Element.addClassName(this.popupContent,"popupContent");Element.hide(this.popup);this.popup.appendChild(this.popupContent);if(($$("div.popupUnderBg")=="")||($$("div.popupUnderBg")==" ")||($$("div.popupUnderBg")=="undefined")){Element.hide(this.popupUnderBg);document.getElementsByTagName("body")[0].appendChild(this.popupUnderBg)}document.getElementsByTagName("body")[0].appendChild(this.popup);this.showUnderBg();this.show();this.loadContent()},startLoading:function(){if(this.popupLoading&&this.popupLoadingImg){this.popupLoading.appendChild(this.popupLoadingImg)}},stopLoading:function(){if(this.popupLoading){this.popupLoading.innerHTML=""}},showUnderBg:function(){if(this.options.center){Element.addClassName(this.popupUnderBg,"popupUnderBg");if(window.innerWidth){frameWidth=window.innerWidth;frameHeight=window.innerHeight}else{if(document.body){frameWidth=document.body.clientWidth;frameHeight=document.body.clientHeight}}this.popupUnderBg.style.width=frameWidth+"px";this.popupUnderBg.style.height=document.body.clientHeight+"px";var a=this.realScrolled();this.popupUnderBg.style.left="0px";this.popupUnderBg.style.top="0px"}if(this.popupUnderBg.getClientRects){this.hideSelectsUnderPopupBg()}Element.show(this.popupUnderBg)},show:function(){this.popup.style.width=this.options.width+"px";this.popup.style.height=this.options.height+"px";if(this.options.center){Element.addClassName(this.popup,"popup");if(self.innerWidth){frameWidth=self.innerWidth;frameHeight=self.innerHeight}else{if(document.documentElement&&document.documentElement.clientWidth){frameWidth=document.documentElement.clientWidth;frameHeight=document.documentElement.clientHeight}else{if(document.body){frameWidth=document.body.clientWidth;frameHeight=document.body.clientHeight}}}var a=this.realScrolled();this.popup.style.left=(frameWidth-this.options.width)/2+a[0]+"px";this.popup.style.top=(frameHeight-this.options.height)/2+a[1]+"px"}Element.show(this.popup)},hideSelectsUnderPopup:function(){this.hiddenSelects=new Array();var b=0;var c=0;if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){b=document.body.scrollTop;c=document.body.scrollLeft}var g=document.getElementsByTagName("select");var d=parseInt(this.popup.style.left,10)-c;var h=parseInt(this.popup.style.top,10)-b;var k=d+this.options.width;var a=h+this.options.height;for(var f=0;f<g.length;f++){if(g[f].getClientRects){var l=g[f].getClientRects();for(var e=0;e<l.length;e++){if(l[e].top<a&&h<l[e].bottom&&l[e].left<k&&d<l[e].right&&g[f].style.visibility!="hidden"){g[f].style.visibility="hidden";this.hiddenSelects[this.hiddenSelects.length]=g[f];break}}}}},hideSelectsUnderPopupBg:function(){var a=document.getElementsByTagName("select");for(var b=0;b<a.length;b++){a[b].style.visibility="hidden";break}},unHideSelectsUnderPopup:function(){if(this.hiddenSelects){for(var a=0;a<this.hiddenSelects.length;a++){this.hiddenSelects[a].style.visibility="visible"}}},unHideSelectsUnderPopupBg:function(){var a=document.getElementsByTagName("select");for(var b=0;b<a.length;b++){a[b].style.visibility="";break}},closePopup:function(){if(this.options.destroyOnClose){Element.remove(this.popup);Element.remove(this.popupUnderBg);this.popup=null;this.popupUnderBg=null}else{Element.hide(this.popup);Element.hide(this.popupUnderBg)}this.unHideSelectsUnderPopupBg()},loadContent:function(a){this.startLoading();if(a!=null){this.options.url=a}if(this.options.url){new Ajax.Updater(this.popupContent,a||this.options.url,{method:this.options.method,evalScripts:true,onComplete:this.onLoadedContent.bind(this),onFailure:this.onError.bind(this)})}else{this.onLoadedContent.bind(this)}},onLoadedContent:function(){this.popupContent.style.visibility="";this.stopLoading();if(this.options.onLoad){this.options.onLoad()}},onError:function(){this.stopLoading();showError()},realScrolled:function(){var a,b;if(self.pageYOffset){a=self.pageXOffset;b=self.pageYOffset}else{if(document.documentElement&&document.documentElement.scrollTop){a=document.documentElement.scrollLeft;b=document.documentElement.scrollTop}else{if(document.body){a=document.body.scrollLeft;b=document.body.scrollTop}}}return[a,b]}};
