/**
 * @author on1ooker
 */

var playList = new Array();
var players;

function wrap_mp3()
{
	var playItem = 0;
	
	playList = getPlaylist($('.archive-item'));

	players = $('.player_container');
	
	player = $('#jquery_jplayer');

	player.jPlayer({
			ready: function(){
				playListInit(false); // Parameter is a boolean for autoplay.
			},
			oggSupport: false,
			swfPath: "/scripts/jPlayer"
		});
	
	
	
	
		player.onProgressChange(function(loadPercent, playedPercentRelative, playedPercentAbsolute, playedTime, totalTime){
			var myPlayedTime = new Date(playedTime);
			var ptMin = (myPlayedTime.getUTCMinutes() < 10) ? "0" + myPlayedTime.getUTCMinutes() : myPlayedTime.getUTCMinutes();
			var ptSec = (myPlayedTime.getUTCSeconds() < 10) ? "0" + myPlayedTime.getUTCSeconds() : myPlayedTime.getUTCSeconds();
			$("#play_time").text(ptMin + ":" + ptSec);
			
		}).onSoundComplete(function(){
			stopSong();
		});
		
	function playListInit(autoplay){
		if (autoplay) {
			playListChange(playItem);
		}
		else {
			playListConfig(playItem);
		}
	}
	
	function playListConfig(index){
		$("#playlist_item_" + playItem).removeClass("playlist_current");
		$("#playlist_item_" + index).addClass("playlist_current");
		playItem = index;
		player.setFile(playList[playItem].mp3);
	}
	
	function appendPlayer(id,item)
	{
		var html = '<div class="player_container" id="player'+id+'">'+
				   '<div class="player_play"></div>'+
				   '<div class="player_pause"></div>'+
				   '<div class="play_time">00:00</div>'+
				   '<div class="player_progress">'+
				   '<span>Слушать</span>'+
				   '<div class="play_corner_left"></div>'+	
				   '<div class="player_progress_load_bar">'+
				   '<div class="player_progress_play_bar"></div>'+
				   '</div>'+
				   '<div class="play_corner_right"></div>'+
				   '</div></div>';
		item.after(html);	
		$('.pane1 .source').eq(id).css('display','none');
	}	
	
	function getPlaylist (list)
	{	
		
		var PlayList = new Array();
		var songNames = list.find(".title");
		var srcs = list.find(".source");
		var Song;
		for (i=0;i<songNames.length; i++)
		{
		 	Song = {name: $(songNames[i]).text(),mp3: $(srcs[i]).text()};
			PlayList[i] = Song;
			appendPlayer(i,$(srcs[i]));
		}
		return PlayList; 
	}
	
	function playSong(curPlay,toTime)
	{

		var play = $('.player_play',players[playItem]).attr('id','player_play');
		var pause = $('.player_pause',players[playItem]).attr('id','player_pause');
		$('.player_stop',players[playItem]).attr('id','player_stop');
		$('.player_progress_load_bar',players[playItem]).attr('id','player_progress_load_bar');
		$('.player_progress_play_bar',players[playItem]).attr('id','player_progress_play_bar');
		$('.play_time',players[playItem]).attr('id','play_time');
		player.jPlayerId("play", "player_play").jPlayerId("pause", "player_pause").jPlayerId("stop", "player_stop").jPlayerId("loadBar", "player_progress_load_bar").jPlayerId("playBar", "player_progress_play_bar");
		player.setFile(playList[playItem].mp3);

		if (playItem != curPlay) 
		{
			player.play(); 				
		}
		else
		{
			play.oneTime(1000, function() {player.playHeadTime(toTime+1000); })
		}

		play.css('display','none');
		var listen = $('.player_progress').find('span');
		$(listen).eq(playItem).css('display','none');
		pause.css('display','block');

	}

	function stopSong(curPlay)
	{
		var playtime = $("#play_time").text().split(':');
		var min = playtime[0];
		var sec = playtime[1];
		var toTime = (parseInt(min)*60 + parseInt(sec))*1000;

		(toTime)?(toTime+2):(toTime = 0);
		player.stop();

		var play = $('.player_play',players[playItem]).attr('id','');
		var pause = $('.player_pause',players[playItem]).attr('id','');
		$('.player_stop',players[playItem]).attr('id','');
		$('.player_progress_load_bar',players[playItem]).attr('id','');
		$('.player_progress_play_bar',players[playItem]).attr('id','');
		$('.play_time',players[playItem]).attr('id','');
		play.css('display','block');
		var listen = $('.player_progress').find('span');
		$(listen).eq(curPlay).css('display','none');
		pause.css('display','none');

		return toTime;
	}

	$('.player_container .player_play').click(function(){

		var curPlay = playItem;
		var playedTime = stopSong(curPlay);
		playItem = parseInt($(this).parents('.player_container').attr('id').substr(6));
		playSong(curPlay,playedTime);
	});
	
}