/**
 * Next Mediaplayer Plugin 
 * 
 * @author dan.rades
 * 
 */

(function($) {                                         
$.fn.nextMediaplayer = function(o) 
{   
    var o = $.extend(
		{	
			src : '/swf/flvplayer_new.swf',
			width: 320,
			height: 284,
			quality : 'high',
			autostart : false,
			allowfullscreen: true,		
			onChange : function() {}
		}, o || {}
	);

	var ofv = o.flashvars || {};
	var fv = $.extend(		
		{
			autostart : true,			
			backcolor : '0x011E1E',
			frontcolor : '0xFFFFFF',
			lightcolor : '0xFFFFFF', 
			file : ''
		}, 
		ofv || {}
	);

	o.flashvars = fv;
	
	var _self = $(this);
	
	var mediaplayer = $('.mediaplayerFlv', _self);
	var previewImg = '';
	
	_self.firstRun = true;
	
	function initMediaplayer(file)
	{
		var options = o;
		options.flashvars.file = file;
		
		if (_self.firstRun == true && previewImg != '' && !o.autostart	)
		{
			options.flashvars.image = previewImg;
			options.flashvars.autostart = false;
		}
		else 
		{
			options.flashvars.autostart = true;
		}
		
		mediaplayer.empty();
		mediaplayer.flash(options);
		
		_self.firstRun = false;
	}
	
	if (o.flashvars.file != '' && o.flashvars.file != undefined)
	{
		return initMediaplayer(o.flashvars.file);
	}
	
	var items = $('.mediaplayerItem, .mediaplayerThumb',_self);
	var itemsSrc = $('input.mediaplayerSrc', _self);
	
	var descriptions = $('input.mediaplayerDescription', _self);
	var titles = $('input.mediaplayerTitle', _self);
	previewImg = $('input.mediaplayerPreviewImg', _self).eq(0).val();
	
	var titleContainer = $('.mediaplayerTitleContainer', _self).eq(0);
	var descriptionContainer = $('.mediaplayerDescriptionContainer', _self).eq(0);
	var anchor = $('.mediaplayerAnchor').eq(0);
	
	items.each(function(i) 
	{
		var item = $(this);
		item.click(function() {
			var title = titles.eq(i).val();
			var description = descriptions.eq(i).val();
			var file = itemsSrc.eq(i).val();
			
			titleContainer.html(title);
			descriptionContainer.html(description);
			initMediaplayer(file);
			
			items.removeClass('selected');
			items.eq(i).addClass('selected');
			
			if (anchor.length > 0)
			{
				window.location.hash = anchor.attr('name');				
			}
			
			o.onChange(item);
		});
	});
	
	items.eq(0).click();
	
	_self.play = function(i, autostart, _previewImg)
	{
	
		_self.firstRun = !autostart;
		previewImg = _previewImg;
		return items.eq(i).click();
	}
	
	_self.getItemIndex = function(el)
	{
		return items.index(el);
	}
	
	return _self;
};

})(jQuery);