	/* Some random stuff to help out with this poor page. Relies on mooTools
	 * Alexey Serikov kompadre@gmail.com, 2009
	 */ 
	window.Overlay = 
	{
		init: function(options) {
			if (this.options)
				return;
			_localThis = this;
			this.options = $extend({
				width : 500,
				height : 200
			}, options || {});
			this.backgroundDiv = new Element('div');
			this.backgroundDiv.setProperty('id', 'OverlayBackground');
			this.backgroundDiv.setStyles({
				width: window.getWidth(),
				height: window.getHeight()
			});
			this.backgroundDiv = new Element('div').setProperty('id', 'OverlayBackground').setStyles({
				width: window.getWidth(),
				height: window.getHeight()
			}).injectInside(document.body).addEvents({
				click: function() { Overlay.close(); },
				mousewheel: function() { Overlay.updatePosition(); }
			});
			this.content = new Element('div').setProperty('id', 'OverlayContent');
			this.content.setStyles({
				width: this.options.width,
				height: this.options.height,
				left: Math.round(((window.getWidth() / 2) - (_localThis.options.width / 2))),
				top: Math.round(((window.getHeight() / 2) - (_localThis.options.height / 2))),
				display: 'none'
			}).injectInside(document.body);
			this.fx = {
					background: this.backgroundDiv.effect('opacity', {
						duration: 666,
						onComplete: function() {
							_localThis.content.setStyle('display', 'block');
						}
					})
			};
			return this;
		},
		fadeIn: function(howMuch)
		{
			if (this.isOpen)
				return this.close();
			this.toggleNastyElems(true);
			this.updatePosition();
			this.backgroundDiv.setStyle('display', 'block');
			this.fx.background.start(howMuch);
			
			if (this.options.swf)
			{
				UFO.launch(this.content.id, this.options.swf);
			}	
			this.isOpen = true;
		},
		close: function()
		{
			this.toggleNastyElems(false);
			this.backgroundDiv.setStyles({
				opacity: 0,
				display: 'none'
			});
			this.content.setStyles({
				display: 'none'	
			});
			this.isOpen = false;
		},
		toggleNastyElems: function(open)
		{
			var elements = $A(document.getElementsByTagName('object'));
			elements.extend(document.getElementsByTagName(window.ie ? 'select' : 'embed'));
			elements.each(function(el){
				if (open) el.lbBackupStyle = el.style.visibility;
				el.style.visibility = open ? 'hidden' : el.lbBackupStyle;
			});
		},
		updatePosition: function()
		{
			this.backgroundDiv.setStyles({'top': window.getScrollTop(), 'height': window.getHeight()});
		}
	}
	window.addEvent('load', function() {
		Overlay.init.bind(Overlay);
	});
