// JavaScript Document

var songIndex = 0;

//Media Player Load
$(document).ready(function(){

	// Local copy of jQuery selectors, for performance.
	var jpPlayTime = $("#jplayer_play_time");
	var jpTotalTime = $("#jplayer_total_time");
	var jpStatus = $("#demo_status"); // For displaying information about jPlayer's status in the demo page
	
	
	$("#jquery_jplayer").jPlayer({
		ready: function () {
			this.element.jPlayer("setFile", setSong());    
			//demoInstanceInfo(this.element, $("#demo_info")); // This displays information about jPlayer's configuration in the demo page
		},
		volume: 50,
		oggSupport: false,
		swfPath: "js"

	})
	/*.jPlayer("onProgressChange", function(loadPercent, playedPercentRelative, playedPercentAbsolute, playedTime, totalTime) {
		jpPlayTime.text($.jPlayer.convertTime(playedTime));
		jpTotalTime.text($.jPlayer.convertTime(totalTime));

		demoStatusInfo(this.element, jpStatus); // This displays information about jPlayer's status in the demo page
	})*/
	.jPlayer("onSoundComplete", function() {
		this.element.jPlayer("setFile", nextSong()).jPlayer("play");
	});
});

function demoInstanceInfo(myPlayer, myInfo) {
	var jPlayerInfo = "<p>This jPlayer instance is running in your browser using ";

	if(myPlayer.jPlayer("getData", "usingFlash")) {
		jPlayerInfo += "<strong>Flash</strong> with ";
	} else {
		jPlayerInfo += "<strong>HTML5</strong> with ";
	}
	
	if(myPlayer.jPlayer("getData", "usingMP3")) {
		jPlayerInfo += "<strong>MP3</strong>";
	} else {
		jPlayerInfo += "<strong>OGG</strong>";
	}
	
	
	jPlayerInfo += " files.<br />This instance is using the constructor options:<br /><code>$(\"#" + myPlayer.jPlayer("getData", "id") + "\").jPlayer({<br />";
	
	jPlayerInfo += "&nbsp;&nbsp;&nbsp;nativeSupport: " + myPlayer.jPlayer("getData", "nativeSupport");
	jPlayerInfo += ", oggSupport: " + myPlayer.jPlayer("getData", "oggSupport");
	jPlayerInfo += ", customCssIds: " + myPlayer.jPlayer("getData", "customCssIds");
	
	jPlayerInfo += "<br />});</code></p>";
	myInfo.html(jPlayerInfo);
}

function demoStatusInfo(myPlayer, myInfo) {
	var jPlayerStatus = "<p>jPlayer is ";
	jPlayerStatus += (myPlayer.jPlayer("getData", "diag.isPlaying") ? "playing" : "stopped");
	jPlayerStatus += " at time: " + Math.floor(myPlayer.jPlayer("getData", "diag.playedTime")) + "ms.";
	jPlayerStatus += " (tt: " + Math.floor(myPlayer.jPlayer("getData", "diag.totalTime")) + "ms";
	jPlayerStatus += ", lp: " + Math.floor(myPlayer.jPlayer("getData", "diag.loadPercent")) + "%";
	jPlayerStatus += ", ppr: " + Math.floor(myPlayer.jPlayer("getData", "diag.playedPercentRelative")) + "%";
	jPlayerStatus += ", ppa: " + Math.floor(myPlayer.jPlayer("getData", "diag.playedPercentAbsolute")) + "%)</p>"
	myInfo.html(jPlayerStatus);
}


function setSong(method){
	if(method == 'next'){
		if(songIndex == songarray.length-1){
			songIndex=0;
		} else {
			songIndex++;
		}
	}
	var song = songarray[songIndex];
	$('#songname').html(stripUnderscore(song));
	var returnSong = 'mp3/'+song;
	return returnSong;

}

function nextSong(){
	
	var nextSong = setSong('next');
	$('#song_name').html(stripUnderscore(nextSong));
	$("#jquery_jplayer").jPlayer("setFile", nextSong).jPlayer("play");
	
}

function playSong(){
	//var nextSong = specific
	var nextSong = setSong();
	$('#song_name').html(stripUnderscore(nextSong));
	$("#jquery_jplayer").jPlayer("setFile", nextSong).jPlayer("play");
}

function stopPlayer(){
	$("#jquery_jplayer").jPlayer("stop");
}

function stripUnderscore(rawname){
	var newname = rawname.replace(/_/g, " ");
	var newname = newname.replace(".mp3", "");
	var newname = newname.replace("mp3/", "");
	return newname;
}

