var popupDiv;


var Popup = Class.create();

Popup.prototype = {

	initialize: function() {
		 
		var objBody = document.getElementsByTagName("body").item(0);
		
		var objOverlay = document.createElement("div");
		objOverlay.setAttribute('id','overlay');
		objOverlay.style.display = 'none';
		objOverlay.onclick = function() { myPopup.hide(); }
		objBody.appendChild(objOverlay);

	
	},
	
	hide: function() {
		var allForms=$$( '.hideme');
	
		for (var i = 1; i <=  allForms.length; i++) {
			$(allForms[i-1]).style.visibility='visible'
		}
		Element.hide($(this.popupDiv));
		Element.hide('overlay');
		//enableDivs();
		
	},
	
	pophide:function() {
		Element.hide($(this.popupDiv));
	},
	popshow:function() {
		var pageSize = getPageSize();
		Element.setWidth('overlay', pageSize[0]);
		Element.setHeight('overlay', pageSize[1]);
		 
		$(this.popupDiv).style.zIndex=1000;
		
		
		 
	 	this.center();
	 	
	 	
		Element.show($(this.popupDiv));
		
	
	},
	
	show: function(solid) {
		var allForms=$$( '.hideme');
	
		for (var i = 1; i <=  allForms.length; i++) {
			$(allForms[i-1]).style.visibility='hidden'
		}
		
		var pageSize = getPageSize();
		Element.setWidth('overlay', pageSize[0]);
		Element.setHeight('overlay', pageSize[1]);
		
		 
		if (solid) {
			 
			new Effect.Appear('overlay', { duration: 0, from: 0.0, to: 1 });
		} else {
			new Effect.Appear('overlay', { duration: 0, from: 0.0, to: 0.8 });
		}
		
		$(this.popupDiv).style.zIndex=1000;
		
		
		//disableDivs();
	 
	 	this.center();
	 	
	 	
		Element.show($(this.popupDiv));
		
		
		 
	
	},
	
	
	
	
	
	center: function() {
		var pageSize = getPageSize();
		
		var divSize = Element.getDimensions(this.popupDiv);//$(this.popupDiv).getDimensions();
	 	 
	 	
	 	var arrayPageScroll = getPageScroll();
	 	//log(arrayPageScroll[1] + ','+pageSize[3]+","+divSize.height);
		var divTop = arrayPageScroll[1] + Math.floor((pageSize[3]-divSize.height)/2)-50;//(arrayPageSize[3] / 10);
		var divLeft = arrayPageScroll[0];
		//log(divSize.width+","+divSize.height);
		
		//log(Element.getWidth(this.popupDiv));
		if ( divTop+divSize.height >  arrayPageSize[1]) {
			divTop=(arrayPageSize[1]-divSize.height-10);
		
		}
		
		if ( divTop < 10 ) {
			divTop=10;
		}
		
		Element.setTop(this.popupDiv, divTop);
		
		//log(divSize.width);
		Element.setLeft(this.popupDiv, divLeft+Math.floor((pageSize[0]-divSize.width)/2));
	 	 
	
	}
	

	
}
Object.extend(Element, {
	getWidth: function(element) {
	   	element = $(element);
	   	return element.offsetWidth; 
	},
	setWidth: function(element,w) {
	   	element = $(element);
    	element.style.width = w +"px";
	},
	setHeight: function(element,h) {
   		element = $(element);
    	element.style.height = h +"px";
	},
	setTop: function(element,t) {
	   	element = $(element);
    	element.style.top = t +"px";
	},
	setLeft: function(element,l) {
	   	element = $(element);
    	element.style.left = l +"px";
	},
	setSrc: function(element,src) {
    	element = $(element);
    	element.src = src; 
	},
	setHref: function(element,href) {
    	element = $(element);
    	element.href = href; 
	},
	setInnerHTML: function(element,content) {
		element = $(element);
		element.innerHTML = content;
	}
});


function initPopup() { myPopup = new Popup(); }
Event.observe(window, 'load', initPopup, false);


