/**
 * Lightbox effect
 * Author: Alexander Lindhorst
 * Date: October 19th, 2008
 *
 * Depends on Scriptaculous (http://script.aculo.us) for effects
 */
 
var Lightbox={
	show: function(element,seconds) {
		//make overlay and lightbox visible
		new Effect.Parallel( [
			new Effect.Appear('overlay',{sync:true,from:0,to: .75}),
			new Effect.Appear('lightbox',{sync:true})
		],{
			duration: seconds
		});
	},
	appear: function(element) {
		this.show(element,1);
	},
	hide: function(seconds) {
		new Effect.Parallel( [
			new Effect.Fade('overlay',{sync:true}),
			new Effect.Fade('lightbox',{sync:true})
		], {
			duration:seconds
		});
	},
	fade: function() {
		this.hide(1);
	}
};

var Viewport={
	getDimensions:function() {
		var viewPortWidth=-1;
		if(self.innerWidth) {
			viewPortWidth=self.innerWidth;
		} else if(document.documentElement && document.documentElement.clientWidth) {
			viewPortWidth=document.documentElement.clientWidth;
		} else {
			viewPortWidth=document.body.clientWidth;
		}
		var viewPortHeight=-1;
		if(self.innerHeight) {
			viewPortHeight=self.innerHeight;
		} else if(document.documentElement && document.documentElement.clientHeight) {
			viewPortHeight=document.documentElement.clientHeight;
		} else {
			viewPortHeight=document.body.clientHeight;
		}	
		return { width:viewPortWidth, height:viewPortHeight};
	},
	centerElement:function(element,width,height){
		var viewPortDimensions=this.getDimensions();
		var elementOffsetX=(viewPortDimensions.width-width)/2;
		var elementOffsetY=(viewPortDimensions.height-height)/2;
		element.style.top=""+elementOffsetY+"px";
		element.style.left=elementOffsetX+"px";
	}
};

Element.getDimensions=function(element) {
	elementWidth=element.offsetWidth;
	return { width:elementWidth, height:0};
}

