/////////////////////////////////////////////////////////////////

MODAL_OPACITY_LEVEL = 0.5;

// reposition video window
window.addEvent('resize',function(){
	if($chk($('flash_player')))
	{
		player = $('flash_player');

		if(window.getSize().x > player.offsetWidth)
			player.setStyle('left', ((window.getSize().x-player.offsetWidth)/2));
		else
			player.setStyle('left',0);
	}
});

// Required Functions
function open_modal(args)
{
	var screen = new Element('div',{id: 'modal_screen'});

	var hide_elements = $$('select');
	hide_elements.combine($$('input[type=checkbox]'));
	hide_elements.combine($$('input[type=radio]'));
	hide_elements.combine($$('textarea'));

	screen.setStyles({
		height: document.body.offsetHeight,
		width: document.body.offsetWidth,
		background: '#000',
		opacity: 0,
		position: 'absolute',
		top: 0,
		left: 0,
		zIndex: 1000
	});

	var screen_fx = new Fx.Tween(screen, { onComplete: args() });
	screen.inject($($(document.body)),'top');

	// hide system elements
	hide_elements.each(function(el){
		el.setStyle('visibility','hidden');
	});

	screen_fx.start('opacity', 0, MODAL_OPACITY_LEVEL);
}

/////////////////////////////////////////////////////////////////

function open_window(url)
{
	// build elements
	var container = new Element('div',{id: 'flash_container'});
	var player = new Element('div',{id: 'flash_player'});


	
	// center flash_container
	container.setStyles({
		position: 'relative',
		margin: '0 auto',
		zIndex: 1001,
		width: 520
	});

	// center flash_player
	player.setStyles({
		position: 'fixed'//,
		//top: 100,
		//left: 0 //((window.getSize().x-520)/2)
	});
	if(isIE && Browser.Engine.version>4)
		player.setStyle('left',((window.getSize().x-520)/2));
	
	// add objects to page
	player.inject(container);
	container.inject(document.body,'top');
	var req = new Request.HTML({url: url,
		onSuccess: function(html) {
			// create flash object
			/*var flash_object = new Swiff(swf_url, args); $('flash_player').setStyle('text-align','left');*/
			//$('flash_player').set('text', '');
			$('flash_player').adopt(html);

			set_close_player();

			//flash_object.replaces($('flash_player').getElement('div[id=flash_placeholder]'));
		}
	});

	req.send();
}

/////////////////////////////////////////////////////////////////

function set_close_player()
{
	var button = $('flash_player').getElement('a[class=close_player]');
	button.addEvent('click',function(e){
		e = new Event(e);
		e.stop();

		$('flash_container').destroy();

		var screen_fx = new Fx.Tween($('modal_screen'), { onComplete: function() {$('modal_screen').destroy();} });
		screen_fx.start('opacity', 0);
	});
}


/////////////////////////////////////////////////////////////////

function open_player(link)
{
	var url = link.href;
	open_modal(function(){
		open_window(url);
	});

	return false;
}