
var Stackbox=SingletonClass.create({initialize:function(){},activate:function(params){params=arguments[0]?arguments[0]:new Object();this._addMarkup();if(this._stack.length==0&&!params.content){return;}
else if(params.content){this._stack.push(params);}
if(typeof(this._stack[this._stack.length-1].content)=="string"){this._container.update(this._stack[this._stack.length-1].content);}
else{while(this._container.lastChild)this._container.removeChild(this._container.lastChild);this._container.appendChild(this._stack[this._stack.length-1].content.cloneNode(true));}
this._overlay.stopObserving('click');if(typeof(this._stack[this._stack.length-1].overlay_callback)=='function'){this._overlay.observe('click',this._stack[this._stack.length-1].overlay_callback);}
if(Prototype.Browser.IE){this._getScroll();this._prepareIE('100%','hidden');this._setScroll(0,0);this._hideSelects('hidden');}
this._displayStackbox("block");var contentDiv=$(this._container.getElementsByTagName('div')[0]);if(Prototype.Browser.IE){this._container.style.top=((document.viewport.getHeight()-contentDiv.getHeight())/2)+"px";this._container.style.left=((document.viewport.getWidth()-contentDiv.getWidth())/2)+"px";this._container.style.top=((document.viewport.getHeight()-contentDiv.getHeight())/2)+"px";this._container.style.left=((document.viewport.getWidth()-contentDiv.getWidth())/2)+"px";}
else{this._container.setStyle({left:Math.round((document.viewport.getWidth()-contentDiv.getWidth())/2)+"px",top:Math.round((document.viewport.getHeight()-contentDiv.getHeight())/2)+"px"});}},deactivate:function(){if(this._stack.length>1){this._stack.pop();this.activate();}
else if(this._stack.length==1){this._stack.pop();this._container.removeChild(this._container.lastChild);if(Prototype.Browser.IE){this._setScroll(0,this._yPos);this._prepareIE("auto","auto");this._hideSelects("visible");}
this._displayStackbox("none");}},popContent:function(){this._container.update('');this._stack.pop();},hideAll:function(){if(Prototype.Browser.IE){this._setScroll(0,this._yPos);this._prepareIE("auto","auto");this._hideSelects("visible");}
this._displayStackbox("none");},isActive:function(){return!this._overlay||this._overlay.style.display=='none'?false:true;},_displayStackbox:function(display){this._overlay.style.display=display;this._container.style.display=display;},_addMarkup:function(){if(!this._overlay){this._overlay=Element.extend(document.createElement('div'));this._overlay.id='stackbox_overlay';Element.insert($('noScriptMsg'),{after:this._overlay});}
if(!this._container){this._container=Element.extend(document.createElement('div'));this._container.id='stackbox_container';Element.insert(this._overlay,{after:this._container});}},_prepareIE:function(height,overflow){bod=document.getElementsByTagName('body')[0];bod.style.height=height;bod.style.overflow=overflow;htm=document.getElementsByTagName('html')[0];htm.style.height=height;htm.style.overflow=overflow;},_hideSelects:function(visibility){selects=document.getElementsByTagName('select');for(i=0;i<selects.length;i++){selects[i].style.visibility=visibility;}},_getScroll:function(){if(self.pageYOffset){this._yPos=self.pageYOffset;}else if(document.documentElement&&document.documentElement.scrollTop){this._yPos=document.documentElement.scrollTop;}else if(document.body){this._yPos=document.body.scrollTop;}},_setScroll:function(x,y){window.scrollTo(x,y);},_yPos:0,_overlay:null,_container:null,_stack:new Array()});