var DIALOG = new Class({
	initialize: function() {
		var _self = this;
		this.dialog = null;
		this.dialogID = 'dialog';
		this.dialogFx = null;
		this.dialogFxDuration = 300;
		this.dialogOpacity = 0.9
		
		var body = document.getElementsByTagName('body')[0];
		
		this.dialog = new Element('div', {'id':this.dialogID}).setStyles({
			'background-color':'#000',
			'display':'none',
			'left':0,
			'opacity':0,
			'position':'absolute',
			'top':0,
			'z-index':50
		});
		
		body.appendChild(this.dialog);
		this.resize();
	},
	
	getDimensions: function() {
		var size = window.getSize();
		var sizeScroll = window.getScrollSize();
		
		size.absX = (sizeScroll.y > size.y ? size.x : sizeScroll.x);
		size.absY = sizeScroll.y;
		
		return size;
	},
	
	show: function() {
		var size = this.getDimensions();
		this.dialog.setStyles({'display':'block', 'height':size.absY, 'width':size.absX});
		this.dialogFx = new Fx.Morph(this.dialog, {duration:this.dialogFxDuration}).start({'opacity':this.dialogOpacity});
	},
	
	hide: function() {
		var _self = this;
		this.dialogFx = new Fx.Morph(this.dialog, {duration:this.dialogFxDuration}).start({'opacity':0}).chain(function() {
			_self.dialog.setStyle('display', 'none');
		});
	},
	
	resize: function() {
		var size = this.getDimensions();
		this.dialog.setStyles({'height':size.absY, 'width':size.absX});
	}
});

window.addEvent('resize', function() {
	if(typeof dialog == 'object') dialog.resize();
});