var fp;
var players = new Array();

(function($) {
	$.fn.videoHolder = function( userOptions ) {
		var defaultOptions = {
		}
		var uO = $.extend( defaultOptions, userOptions );

		var self = this;
	
		return this.each(function() {
			var $this = $( this );
			var $id = $this.attr( "id" );

			var currentHost = "http://cdn.darkersideofgreen.com/";
			var currentRTMP = "rtmp://cdn1.darkersideofgreen.com/cfx/st";
			var currentClip = "mp4:" + $this.attr( "rel" );
			var posterImage = $this.find( ".poster_image" ).attr( "rel" );
			var fireTagBegin = $this.find( ".firetag_begin" ).attr( "rel" );
			var fireTagPause = $this.find( ".firetag_pause" ).attr( "rel" );
			var fireTagUnpause = $this.find( ".firetag_unpause" ).attr( "rel" );
			var fireTagFinish = $this.find( ".firetag_finish" ).attr( "rel" );
			var fireTagFullscreen = $this.find( ".firetag_fullscreen" ).attr( "rel" );
			$this.empty();

			var isFirst = true;
		
			function hideMenu() {
				if ( $("#nav_top_right > ul > li.right").eq(0).html() == 'HIDE MENU') $("#nav_top_right li.right").click();
			}
			function showMenu() {
				if ( $("#nav_top_right > ul > li.right").eq(0).html() == 'SHOW MENU') $("#nav_top_right li.right").click();
			}

			var flowplayerKey;
			if( window.location.hostname == "darkersideofgreen.com" || window.location.hostname.substr( 4 )=='darkersideofgreen.com' ) {
				flowplayerKey = "#@d8f58ba962a36a63935"
			}
			else {
				flowplayerKey = "#@65cfb5f13bf38d206cd"
			}

			function initialize() {
				fp = flowplayer( $id, { src: currentHost + "swf/flowplayer.commercial-3.1.5.swf" }, {
					key: flowplayerKey,
					clip: {
						url: currentClip,
						autoPlay: false,
						provider: 'aws',
						urlResolvers: 'bandwidth',
						onBegin: function() {
							this.getPlugin( "controlbar" ).setControlBar( true );
							hideMenu();
							if (isFirst){
								trackHash("Begin");
								fireTag(fireTagBegin);
								isFirst=false;
							}
							this.getPlugin( "buffer" ).setVisible( true );
							this.getPlugin( "poster" ).setVisible( false );
							$( ".gallery_nav" ).fadeOut( "fast" );
						},
						onStop: function() {
							this.getPlugin( "controlbar" ).setFullScreen( false );
							showMenu();
							$( ".gallery_nav" ).fadeIn( "fast" );
						},
						onPause: function() {
							this.getPlugin( "controlbar" ).setToggle( false );
							trackHash( "Pause" );
							fireTag(fireTagPause);
							showMenu();
							$( ".gallery_nav" ).fadeIn( "fast" );
						},
						onResume: function() {
							this.getPlugin( "controlbar" ).setToggle( true );
							trackHash( "Unpause" );
							$( ".gallery_nav" ).fadeOut( "fast" );
							fireTag(fireTagUnpause);
						},
						onFinish: function() {
							this.getPlugin( "controlbar" ).setFullScreen( false );
							//this.getPlugin( "poster" ).setEnd( true );
							trackHash( "Finish" );
							fireTag(fireTagFinish);
							showMenu();
							$( ".gallery_nav" ).fadeIn( "fast" );
						},
						onBufferStop: function() {
							this.getPlugin( "buffer" ).setVisible( true );
						},
						onBufferEmpty: function() {
							this.getPlugin( "buffer" ).setVisible( true );
						},
						onBufferFull: function() {
							this.getPlugin( "buffer" ).setVisible( false );
						}
					},
					canvas: {
						backgroundColor: '#000000',
						backgroundGradient: 'none'
					},
					onFullscreen: function(){ 
						trackHash('FullScreen');
						fireTag(fireTagFullscreen);
					},
					onMouseOver: function() {
						this.getPlugin( "controlbar" ).setVisible( true );
					},
					onMouseOut: function() {
						this.getPlugin( "controlbar" ).setVisible( false );
					},
					onLoad: function() {
						this.getPlugin( "poster" ).setPoster( currentHost + posterImage );
					},
					plugins: {
						controls: null,
						controlbar: { 
							url: currentHost + 'swf/flowplayer.controlbar.dsog.swf'
						}, 
						poster: { 
							url: currentHost + 'swf/flowplayer.poster-1.6.swf'//kjfslkdjlskjdflskdjf
						}, 
						buffer: { 
							url: currentHost + 'swf/flowplayer.buffer.swf'
						}, 
						aws: { 
							url: currentHost + 'swf/flowplayer.rtmp-3.1.3.swf',
							netConnectionUrl: currentRTMP
						},
						bandwidth: {   
							url: currentHost + 'swf/flowplayer.bandwidth-3.1.3.swf',
							netConnectionUrl: currentRTMP,
							serverType: 'fms',
							dynamic: true,
							bitrates: [300, 500, 900, 1200, 1500],
							urlPattern: '{0}_{1}.{2}'
						}
					},
					play: null
				});
				players.push( fp );
			}

			initialize();
		}); // end return this
	}; // end plugin
})(jQuery);

function sendVolume( newVolume ) {
	fp.setVolume( newVolume * 10 );
}
function receivePluginEvent( currentPlugin, eventType ) {
	if( eventType == "onClick" && currentPlugin == "PosterPlugin" ) fp.getPlugin( "buffer" ).setVisible( true );
}

