/**
 * jQuery Audio Player
 * Converte links diretos para arquivos .mp3 em players de audio baseado no Plugin Audioplayer Standalone,
 * desenvolvido por Martin Laine. O objetivo deste plugins é fornecer uma interface intuitiva para o uso
 * com jQuery.
 * 
 * 
 * @link http://wpaudioplayer.com
 */
(function($q){
	
	var $apc = 1;
	
	var _defaultOptions = 
	{
		playerOptions: {
			width: 290,
			initialvolume: 100
		},
		downloadLink: false,
		downloadTitle: 'Download'
	};
	
	$q.fn.audioPlayer = function(args){
		
		var options = $q.extend(_defaultOptions, args || {});
		
		this.each(function(i, e)
		{	
			var tag = String(e.tagName).toUpperCase();
			if('A' == tag)
			{
				_replaceElement(e, options);
			}
			
		});
	};
	
	function _replaceElement(element, options)
	{
		var link  = $q(element);
		var href = link.attr('href');
		
		if(href.match(/(\.mp3)$/i))
		{
			var alternateContent = link.text();
			var downloadTemplate = '';
			
			if(false !== options.downloadLink)
			{
				// Se nada foi passado, considera o texto do link
				if(String(options.downloadTitle).length == 0) options.downloadTitle = alternateContent;
				// Se mesmo assim, estiver em branco, considera "Download"
				if(String(options.downloadTitle).length == 0) options.downloadTitle = 'Download';
				
				downloadTemplate = '<span class="jquery-audio-player-download">'+
										'<a href="'+href+'" rel="download">'+downloadTitle+'</a>';
									'</span>';
			}
			
			var playerID = 'jquery-audioplayer-' + String($apc);
			var newHTML = '<span class="jquery-audio-player-wrapper">'+
								'<span class="jquery-audio-player-container" id="'+playerID+'">'+
									alternateContent +
								'</span>'+
								downloadTemplate +
						  '</span>';
			
			link.replaceWith(newHTML);
			
			options.playerOptions.soundFile = href;
			
			AudioPlayer.embed(playerID, options.playerOptions);
			
			$apc++; // Incrementa a contagem de players para gerar IDs sequenciais
		}
	}
	
})(jQuery);
