/*
 * old-school movieplayer plug-in for jquery
 * Sort of in-between media player. Uses Flash if available, otherwise 
 * renders html5 video tags, with fallback to a link and an image.
 *
 * tested with jQuery 1.6.1
 * author: Peter Anderhagen (peter_anderhagen@hotmail.com)
 * version 0.1 experimental state - use at own risk
 *
 * Requirements: jquery, swfobject.js
 * 
 *
 * Usage example
 * html:
 *
 * <p class="some_selector">
 * 		<a href="link_to_the_movie.mp4">
 *			<img src="fallback_image_and_size_placeholder.jpg" alt="Title_of_the_movie">
 *		</a>
 * </p>
 *
 *
 * Invocation:
 *
 *		$(".movie").movieplayer({
 *			"base_href": "<% = SC_sOnlineUrl %>",
 *			"swfplayersource": "upload/Movies/TCF_VideoPlayer_v1.swf"
 *		});
 *
 *
 * vidsource = src of mp4 movie
 * vidpreview = fallback image + thumbnail for Flash movie
 *
 */

(function($){ 
	$.fn.extend({  
		movieplayer: function(arguments){ 
 
			// Default settings.
			var defaults = ({
				base_href: "",
				moviesrcparam: "vidsource",
				moviepreview: "vidpreview",
				moviewidth: 480,
				movieheight: 320,
				swfplayersource: "/swfplayer.swf",
				autoplay: false,
				controls: true,
				fullscreen: true
			});
			// Override defaults for passed arguments.
			var settings = $.extend(defaults, arguments);
			

 			// Set a reference to the local root item.
			var oContainer = $(this);
			
			oContainer.each(function( i ){
				var sHtml = "";
				var sScript = "";
				
				var o = $(this);
				var sMovieUrl = o.find("a").attr("href");
				var sImage = o.find("img")
				var sPreviewUrl = sImage.attr("src");
				var nW = sImage.width();
				var nH = sImage.height();
				var sId = "movieplayer_" + i + "_container";

				// Create a div with a html5 video player.
				sHtml += "<div id='" + sId + "' style='width:" + nW + "; height:" + nH + "'>";
				sHtml += "<video ";
				
				if(settings.autoplay){
					sHtml += "autoplay='true' ";
				}
				if(settings.fullscreen){
					sHtml += "fullscreen='true' ";
				}

				sHtml += "controls='" + settings.controls + "' width='" + nW + "' height='" + nH + "'>";
				sHtml += "<source src='" + settings.base_href + sMovieUrl + "' type='video/mp4'>";
				//sHtml += "<img alt='Movie preview and fallback image' src='" + sPreviewUrl + "' />";
				sHtml += "</source>";
				sHtml += "</video>";
				sHtml += "</div>";
				
				o.replaceWith( sHtml );
				o.wrap( sHtml );
				
				// Add a swf player that will kick in if there is Flash support.
				// swfobject.embedSWF(swfUrl, id, width, height, version, expressInstallSwfurl, flashvars, params, attributes, callbackFn)
				
				var sFlashUrl = settings.swfplayersource + "?baseurl=" + settings.base_href;
				sFlashUrl += "&" + settings.moviesrcparam + "=" + sMovieUrl;
				sFlashUrl += "&" + settings.moviepreview + "=" + sPreviewUrl;
				
				sScript += "<script type='text/javascript'>";
				sScript += "var params = {menu: 'false', allowFullScreen: 'true', wmode: 'window', bgcolor: '#f5f5f5'};"
				sScript += "swfobject.embedSWF('" + sFlashUrl + "', '" + sId + "', " + nW + ", " + nH + ", '9.0.0', 'expressInstall.swf', null, params, null);";
				sScript += "</script>";
				
				o.append( sScript );
			
			});
			
        } 
    }); 
})(jQuery);	
	
	
	
	
	
	
	
	
	
	
