/**handles:avia-module-audioplayer**/
// -------------------------------------------------------------------------------------------
// 
// AVIA Player
// 
// -------------------------------------------------------------------------------------------
(function($)
{ 
	"use strict";
	
	var autostarted = false,
		container = null,
	
		monitorStart = function( container )
			{
				var play_pause	= container.find('.av-player-player-container .mejs-playpause-button');
				
				if( play_pause.length == 0 )
				{
					setTimeout( function(){
							monitorStart( container );
						}, 200 );
				}
				
				if( ! play_pause.hasClass('mejs-pause') )
				{
					play_pause.trigger( 'click' );
				}
				
			};
	
	$.fn.aviaPlayer = function( options )
	{	
		if( ! this.length ) return; 

		return this.each(function()
		{
			var _self 			= {};
			
			_self.container		= $( this );
			_self.stopLoop		= false;
			
			_self.container.find('audio').on('play', function() {
									if( _self.stopLoop )
									{
										this.pause();
										_self.stopLoop = false;
									}

							});
			
			if( _self.container.hasClass( 'avia-playlist-no-loop' ) )
			{
				_self.container.find('audio').on('ended', function() {
						//	find the last track in the playlist so that when the last track ends we can pause the audio object
						var lastTrack	= _self.container.find('.wp-playlist-tracks .wp-playlist-item:last a');

						if ( this.currentSrc === lastTrack.attr('href') ) {
							_self.stopLoop = true;
						}

					});
				}
			
			/**
			 * Limit autostart to the first player with this option set only
			 * 
			 * DOM is not loaded completely and we have no event when player is loaded.
			 * We check for play button and perform a click
			 */
			if( _self.container.hasClass( 'avia-playlist-autoplay' ) && ! autostarted )
			{
				if( ( _self.container.css('display') == 'none') || ( _self.container.css("visibility") == "hidden" ) )
				{
					return;
				}
				
				autostarted = true;
				setTimeout( function(){
							monitorStart( _self.container, _self );
						}, 200 );
			}
			
		});
	};
}(jQuery));