var overlay = {
	init: function(parent) {
		overlay.ready = false;
		overlay.preloader = new Element('img');
		overlay.preloader.addEvent('load', function() {
			if (overlay.preloader.src.search(/loading\.gif/i)>=0) return false;
			if (overlay.ready) {
				overlay.showimg();
			} else {
				overlay.showloader();
				overlay.ready = true;
			}
		});
		overlay.ovl = new Element('div', {
			'styles': {
				'background': 'black',
				'cursor': 'pointer',
				'height': window.getScrollHeight() + 'px',
				'position': 'absolute',
				'top': '0',
				'left': '0',
				'width': '100%',
				'z-index': 9998
			},
			'events': {
				'click': overlay.turnoff
			},
			'id': 'overlay'
		}).setOpacity(0).injectInside(parent);
		overlay.container = new Element('div', {
			'styles': {
				'background': 'white url("/interests/projects/images/loading.gif") no-repeat center center',
				'border': '1px solid black',
				'display': 'none',
				'overflow': 'hidden',
				'padding': '5px',
				'position': 'absolute',
				'top': '125px',
				'left': '50%',
				'z-index': 9999
			}
		}).injectInside(parent);
		overlay.container.setHTML('<div style="text-align: right"><a href="#" onclick="overlay.turnoff(); return false;" style="display: block; padding: 1px 2px"><img src="../images/close.gif" alt="Close" border="0" /></a></div>');
		overlay.pic = new Element('img', {
			'styles': {
				'display': 'block',
				'border': '15px solid white'
			}
		}).injectInside(overlay.container);
	},
	turnon: function(imgsrc) {
		overlay.ready = false;
		overlay.preloader.src = imgsrc;
		overlay.ovl.setStyle('height', window.getScrollHeight() + 'px');
		overlay.ovl.effect('opacity', {
			onComplete: function() {
				if (overlay.ready) {
					overlay.showimg();
				} else {
					overlay.showloader();
					overlay.ready = true;
				}
			}
		}).start(0.8);
	},
	turnoff: function() {
		overlay.container.setStyle('display', 'none');
		overlay.ovl.effect('opacity').start(0);
	},
	showloader: function() {
		overlay.pic.setStyle('display', 'none');
		overlay.container.setStyles({
			top: (window.getScrollTop() + 125),
			height: 173,
			width: 143,
			marginLeft: -72,
			display: 'block'
		});
	},
	showimg: function() {
		overlay.pic.src = overlay.preloader.src;
		if (overlay.container.getStyle('display')=='block') {
			overlay.pic.effect('opacity').set(0);
			overlay.pic.setStyle('display', 'block');
			overlay.container.effects({ 
				duration: 180, 
				transition: Fx.Transitions.Quad.easeOut, 
				onComplete: function() {
					overlay.pic.effect('opacity', { duration: 180 }).start(1);
				}
			}).start({
				'height': overlay.pic.height.toInt()+40,
				'width': overlay.pic.width.toInt()+30,
				'margin-left': -1 * (overlay.pic.width.toInt()/2)
			});
		} else {
			overlay.pic.setStyle('display', 'block');
			overlay.container.setStyles({
				top: (window.getScrollTop() + 125),
				marginLeft: -1 * (overlay.preloader.width.toInt()/2),
				display: 'block'
			});
		}
		overlay.preloader.src = '/interests/projects/images/loading.gif';
	}
};