var Popup = {
	
	els : {
		matte : null,
		win : null,
		shadow : null,
		titlebar : null
	},
	
	show : function(title, width, height)
	{
		var is_ie6 = (Browser.Engine.trident && (Browser.Engine.version<5)) || false;
		
		var header_height = 40;
		var height = height+header_height;
		
		var w_width = window.getWidth();
		var w_height = window.getHeight();
		
		var d_width = $(document).getWidth();
		var d_height = $(document.body).getHeight();
		
		var scroll = window.getScroll();
		var w_top = scroll.y;
		var w_left = scroll.x;
				
		var top = (w_height/2)-(height/2);
		var left = (w_width/2)-(width/2);
		
		var s_width = 8;
		
		if (!this.els.matte) 
		{
			var matte = new Element('div');
			matte.className = 'popup-matte';
			this.els.matte = matte;
			matte.addEvent('click', this.close.bind(this));
			document.body.appendChild(matte);
		}
		
		if (is_ie6) {
			matte = this.els.matte;
			matte.style.position = 'absolute';
			matte.style.top = '0px';
			matte.style.left = '0px';
			matte.style.width = d_width+'px';
			matte.style.height = d_height+'px';
			matte.set('opacity', 0.5);
		}
		
		if (!this.els.win) 
		{
			var win = new Element('div');
			win.className = 'popup-window';
			this.els.win = win;
			document.body.appendChild(win);
			
			var titlebar = new Element('div');
			titlebar.className = 'popup-window-titlebar';
			win.appendChild(titlebar);
			
			var btn_close = new Element('span');
			btn_close.innerHTML = 'Close';
			btn_close.className = 'popup-close';
			btn_close.addEvent('click', this.close.bind(this));
			titlebar.appendChild(btn_close);
			
			var el_title = new Element('div');
			titlebar.appendChild(el_title);
			this.els.titlebar = el_title;
			
			var el_content = new Element('div');
			el_content.setStyle('overflow', 'auto');
			win.appendChild(el_content);
			this.els.content = el_content;
			
			var iframe = new Element('iframe');
			this.els.iframe = iframe;
			iframe.style.zIndex = 70;
			iframe.setStyle('position', 'fixed');
			document.body.appendChild(iframe);
		}
		this.els.content.innerHTML = '';
		this.els.content.style.height = (height-header_height)+'px';
		
		var win = this.els.win;
		var iframe = this.els.iframe;
		
		win.style.width = width+'px';
		win.style.height = height+'px';
		iframe.style.width = width+'px';
		iframe.style.height = height+'px';
		
		if (is_ie6) {
			win.style.position = 'absolute';
			win.style.top = (w_top+top)+'px';
			win.style.left = left+'px';		
		} else {
			win.style.top = top+'px';
			win.style.left = left+'px';
			iframe.style.top = top+'px';
			iframe.style.left = left+'px';
		}
		
		if (!this.els.shadow) 
		{
			var shadow = new Element('div');
			shadow.className = 'popup-shadow';
			this.els.shadow = shadow;
			document.body.appendChild(shadow);
		}
		var shadow = this.els.shadow;
		shadow.style.width = (width+(s_width*2))+'px';
		shadow.style.height = (height+(s_width*2))+'px';
		if (is_ie6) {
			shadow.style.position = 'absolute';
			shadow.style.top = ((top-s_width)+w_top)+'px';
			shadow.style.left = (left-s_width)+'px';
		} else {
			shadow.style.top = (top-s_width)+'px';
			shadow.style.left = (left-s_width)+'px';
		}
		
		
		this.els.matte.style.display = '';
		this.els.win.style.display = '';
		this.els.shadow.style.display = '';
		this.els.titlebar.innerHTML = title+'&nbsp;';
	},
	
	getContentElement : function()
	{
		return this.els.content;
	},
	
	close : function()
	{
		this.els.iframe.style.display = 'none';
		this.els.matte.style.display = 'none';
		this.els.win.style.display = 'none';
		this.els.shadow.style.display = 'none';
	},
	
	displayInlineUrl : function(url, callback)
	{
		this.load_callback = callback || null;
		
		this.setLoading(true);
		
		var myreq = new Request({
			method: 'get',
			url : url,
			onSuccess : this.inlineLoadComplete.bind(this),
			onError : this.loadError.bind(this)
		});
		myreq.send();
	},
	
	inlineLoadComplete : function(html)
	{
		this.setLoading(false);
		this.els.content.innerHTML = html;
		
		if (this.load_callback) this.load_callback();
	},
	
	loadError : function() {
		this.setLoading(false);
		this.els.content.innerHTML = 'Error...';
	},
	
	setLoading : function(is_loading)
	{
		if (is_loading)
			this.els.titlebar.addClass('popup-loading');
		else
			this.els.titlebar.removeClass('popup-loading');	
	}
}


/**
 *	3 select Date boxes
 */

function initDates()
{
	var els = $$('.Sparks_Admin_Date_Options');
	
	for(var i=0;i<els.length;i++)
	{
		var el = els[i];
		
		el.innerHTML = '<a onclick="date_clear(this);return false;" href="#">Clear</a> | <a onclick="date_set(this);return false;" href="#">Today</a>';
	}
}


function date_set(el, offset_days)
{
	alert(offset);
}

function date_clear(el)
{
	var els = $(el).getParent().getParent().getElements('select');
	els.set('value', '');
}


function date_set(el)
{
	var d = new Date();
	var els = $(el).getParent().getParent().getElements('select');
	
	els[0].set('value', d.getDate());
	els[1].set('value', d.getMonth()+1);
	els[2].set('value', d.getFullYear());
}

