// JavaScript Document
var popupHelper={
	wipe:null,
	init:function(){
		this.prepareWipe();
	},
	popupDivs:[],
	//creates the requested popup if it doesn't already exist
	getPopup:function(name){
		el=$(name+'Popup');
		if(!el){
			el = document.createElement('div');
			el.id=name+'Popup'; 
			el.className='pageWipePopup'; 
			this.wipe.appendChild(el); 
			el=$(name+'Popup');
			this.popupDivs.push(el);
		}
		el.setStyle('display','none');
		el.showMe=function(){
			if(this.state==1) return;
			scroll(0,0);
			this.setStyle('opacity','0');
			this.setStyle('display','block');
			popupHelper.showWipe(); 
			var fadeChange = new Fx.Style(this,'opacity',{duration:200});
	    	fadeChange.start(1);
			this.state=1;
		}
		el.hideMe=function(){
			var fadeChange = new Fx.Style(this,'opacity',{duration:200});
			fadeChange.start(0);
			this.setStyle('display','none');
			fadeChange.addEvent('onComplete',function(){
								popupHelper.releaseModal();
							});
			this.state=0;			
		}		
		return el; 
	},
	//checks to see if all popups are closed, then closes the page wipe
	releaseModal:function(){
		for(var i=0;i<this.popupDivs.length;i++){ 
			if(this.popupDivs[i].style.display=='block')	return;
		}
		popupHelper.hideWipe();
	},
	prepareWipe:function(){
		el = document.createElement('div');
		el.id='pageWipe';
		el.style.display='none';
		document.body.appendChild(el); 
		fade = document.createElement('div');
		fade.id='pageWipeFade';
		el.appendChild(fade);
		this.wipe=$('pageWipe');
		this.sizeWipe(); 
		window.addEvent('resize',function(){popupHelper.sizeWipe()}); 
	},
	sizeWipe:function(){
		this.wipe.setStyle('width',window.getWidth()+'px');
		this.wipe.setStyle('height',window.getScrollHeight()+'px');
	},
	showWipe:function(){
		if(this.wipe.style.display=='block') return;
		popupHelper.sizeWipe();
		this.wipe.setStyle('opacity',0);
		this.wipe.setStyle('display','block'); 
		var fadeChange = new Fx.Style(this.wipe,'opacity',{duration:150});
	    fadeChange.start(1);
	},
	hideWipe:function(){ 
		var fadeChange = new Fx.Style(this.wipe,'opacity',{duration:150});
	    fadeChange.start(0);
		fadeChange.addEvent('onComplete',function(){
								popupHelper.wipe.setStyle('display','none');
							}); 
	}
}
window.addEvent('domready', function(){popupHelper.init()}); 