/*
 *	@author: Zsotyooo
 *	@description:
 *
 */

(function($){
	$.fn.videoPlay=function(options)
	{
		$(this).each(
			function(elementIndex)
			{
				if(!$(this).attr("data-videodata")) return;

				new $videoPlay(elementIndex,this,options);
			}
		);
	}

	//konstruktor
	$.videoPlay=function(elementIndex,element,options)
	{

		this.element=element;
		this.elementindex=elementIndex;
		//$(".tiny-video-gallery-inner",this.element).show();
		//$(this.element).removeClass("ajax-linear");

		if(options == undefined)options={};
		this.options={};
		$.extend(
			this.options,
			$videoPlay.defaultoptions,
			options
		);
		this.data=$.parseJSON($(this.element).attr("data-videodata"));
		this.createElements();

		this.addEvents();

	}

	//shortcutok
	$videoPlay=$.videoPlay;
	$videoPlay.fn=$videoPlay.prototype={};
	//egyszerűség kedvéért a jQuery extend fgv-ét használjuk a statikus és példány szintű elemeknél is
	$videoPlay.fn.extend = $videoPlay.extend = $.extend;

	//statikus változók, függvények:
	$videoPlay.extend(
	{
		defaultoptions: {
			start: function(){},
			complete: function(){}
		},
		/*
		 * Itt adhatóak meg a konstansok
		 */
		constants: {

		}
	});

	//Instance függvényei
	$videoPlay.fn.extend({
		createElements: function()
		{

			var This=this;

			$(this.element)
			.after(
				this.playTag=$("<a></a>",{href:'javascript:;'}).addClass("video-playtag")
			);
			$(this.element).parent().css('position','relative')

			if(this.data.url)
			{
				this.playTag.after(
					this.link=$("<a></a>",{href:This.data.url}).addClass("video-link").html('tovább &raquo;')
				);
			}

			this.container=$(this.element).parent();
		},
		/*
		 * Ez rakja rá az eseményeket
		 */
		addEvents: function()
		{
			var This=this;
			$(This.playTag).one(
				'click',
				function()
				{
					This.options.start();
					This.container.css({
						display: 'block',
						width: '130px',
						height: '100px'
					});
					This.playTag.remove();
					This.container.empty()
					.addClass("ajax-loader")
					.animate(
					{
						width: This.data.flashdata.width+'px',
						height: This.data.flashdata.height+'px'
					},
					function(){
						$(this).removeClass("ajax-loader");
						if(This.data.embed){
							This.container.html(This.data.embed);
						} else {
							This.container
							.flash(
								This.data.flashdata,
								{version: 9, expressInstall: true}
							);
						}
						This.options.complete();
					});

				}
			);
		}
	});
})(jQuery)


