// PGX Lightview Class
var pgxLightview = Class.create(PGX, {
	
	version: '1.0',
	
	// Init
	initialize: function() {
		//Lightview.options.images = 'http://www.pgxframework.com/1.0/_templates/lightview/images/lightview/';
	},
	
	element: function() {
		tmpElement = new Element('div', { 'id': 'lightviewAjaxElement', 'style': 'width:100%; height:100%; overflow:hidden;' } );
		$$('body')[0].appendChild(tmpElement);
		$('lightviewAjaxElement').hide();
	},
	
	pgx: function(sFunction, aParams) {
		$('lightviewAjaxElement').innerHTML = '';
		document.observe('lightview:opened', function() {
			PGX.lightview.next(sFunction, aParams);
		});
		document.observe('lightview:hidden', function() {
			$('lightviewAjaxElement').hide();
		});
		
		// Width, height
		options = {};
		options.width = 400;
		options.height = 300;
		
		if (aParams.width) {
			options.width = aParams.width;
		}
		if (aParams.height) {
			options.height = aParams.height;
		}
		
		// Title
		if (!aParams.title) {
			aParams.title = ''
		}
		
		Lightview.show({
			href: '#lightviewAjaxElement',
			rel: 'inline',
			title: aParams.title,
			options: options
		});
		
	},
	
	next: function(sFunction, aParams) {
		$('lightviewAjaxElement').pgx(sFunction, aParams);
		$('lightviewAjaxElement').show();
		document.stopObserving('lightview:opened');
		document.stopObserving('lightview:hidden');
	},
	
	show: function(href, type) {
		switch(type) {
			case 'html':
				Lightview.show({
					href: '#' + href,
					rel: 'inline'
				});
				break;
			case 'image':
				Lightview.show({
					href: href
				});
				break;
			case 'youtube':
				Lightview.show({
					href: 'http://www.youtube.com/v/' + href + '&fs=1&autoplay=1',
					rel: 'flash'
				});
				break;
		}
	}
	
});

PGX.lightview = new pgxLightview();

// Dom loaded
if (document.loaded) {
	PGX.lightview.element();
}

document.observe("dom:loaded", function() {
	PGX.lightview.element();													
});