var player = null;
var currentState = null; 
var previousState = null;
var currentIcon = null;

$(document).ready(function(){
	
	/** Set up all media players **/
	var so = new SWFObject('/flvplayer/player-licensed.swf','mp1','0','0','9');
	so.addParam('allowscriptaccess','always');
	so.addParam('flashvars','&file=/media/JeffHester.mp3');
	so.write('jeffplayer');
	
	var so = new SWFObject('/flvplayer/player-licensed.swf','mp2','0','0','9');
	so.addParam('allowscriptaccess','always');
	so.addParam('flashvars','&file=/media/CelerieKemble.mp3');
	so.write('celerieplayer');
	
	var so = new SWFObject('/flvplayer/player-licensed.swf','mp3','0','0','9');
	so.addParam('allowscriptaccess','always');
	so.addParam('flashvars','&file=/media/DarrylCarter.mp3');
	so.write('darrylplayer');
	
	var so = new SWFObject('/flvplayer/player-licensed.swf','mp4','0','0','9');
	so.addParam('allowscriptaccess','always');
	so.addParam('flashvars','&file=/media/RalphRossi.mp3');
	so.write('ralphplayer');
	
	var so = new SWFObject('/flvplayer/player-licensed.swf','mp5','0','0','9');
	so.addParam('allowscriptaccess','always');
	so.addParam('flashvars','&file=/media/JamieDrake.mp3');
	so.write('jamieplayer');
	
	var so = new SWFObject('/flvplayer/player-licensed.swf','mp6','0','0','9');
	so.addParam('allowscriptaccess','always');
	so.addParam('flashvars','&file=/media/BrianGluckstein.mp3');
	so.write('brianplayer');
	
	var so = new SWFObject('/flvplayer/player-licensed.swf','mp7','0','0','9');
	so.addParam('allowscriptaccess','always');
	so.addParam('flashvars','&file=/media/AmyLau.mp3');
	so.write('amyplayer');
	
	
	/** Play audio files **/
	$("#jeff").click(function() {
		stopAllPlayers();
		player = $("#mp1").get(0);
	  	player.sendEvent("PLAY","true");
	  	$("#jeff-sound").addClass("active");
	  	currentIcon = "#jeff-sound";
	  	addListeners();
	  	return false;
	});
	
	$("#celerie").click(function() {
	  	stopAllPlayers();
	  	player = $("#mp2").get(0);
	  	player.sendEvent("PLAY","true");
	  	$("#celerie-sound").addClass("active");
	  	currentIcon = "#celerie-sound";
	  	addListeners();
	  	return false;
	});
	
	$("#darryl").click(function() {
	  	stopAllPlayers();
	  	player = $("#mp3").get(0);
	  	player.sendEvent("PLAY","true");
	  	$("#darryl-sound").addClass("active");
	  	currentIcon = "#darryl-sound";
	  	addListeners();
	  	return false;
	});
	
	$("#ralph").click(function() {
	  	stopAllPlayers();
	  	player = $("#mp4").get(0);
	  	player.sendEvent("PLAY","true");
	  	$("#ralph-sound").addClass("active");
	  	currentIcon = "#ralph-sound";
	  	addListeners();
	  	return false;
	});
	
	$("#jamie").click(function() {
	  	stopAllPlayers();
	  	player = $("#mp5").get(0);
	  	player.sendEvent("PLAY","true");
	  	$("#jamie-sound").addClass("active");
	  	currentIcon = "#jamie-sound";
	  	addListeners();
	  	return false;
	});
	
	$("#brian").click(function() {
	  	stopAllPlayers();
	  	player = $("#mp6").get(0);
	  	player.sendEvent("PLAY","true");
	  	$("#brian-sound").addClass("active");
	  	currentIcon = "#brian-sound";
	  	addListeners();
	  	return false;
	});
	
	$("#amy").click(function() {
		stopAllPlayers();
	  	player = $("#mp7").get(0);
	  	player.sendEvent("PLAY","true");
	  	$("#amy-sound").addClass("active");
	  	currentIcon = "#amy-sound";
	  	addListeners();
	  	return false;
	});
	
	$("#vladimir").click(function() {
	  	return false;
	});
	
	
	/** Stop all players **/
	function stopAllPlayers() {
		$(currentIcon).removeClass("active");
		$(currentIcon).hide();
		$("#mp1").get(0).sendEvent("STOP","true");
		$("#mp2").get(0).sendEvent("STOP","true");
		$("#mp3").get(0).sendEvent("STOP","true");
		$("#mp4").get(0).sendEvent("STOP","true");
		$("#mp5").get(0).sendEvent("STOP","true");
		$("#mp6").get(0).sendEvent("STOP","true");
		$("#mp7").get(0).sendEvent("STOP","true");
	}
	
	
	/** Model Listeners **/
	function addListeners() {
		if (player) { 
			player.addModelListener("STATE", "stateListener");
		} else {
			setTimeout("addListeners()",100);
		}
	}


	/** Hover effects **/
	$("#jeff").hover(
		function() { 
			if ( !( $("#jeff-sound").hasClass("active") ) ) {
				$("#jeff-sound").show();
				$("#jeff-sound").addClass("hover");
			}
		},
		function() { 
			if ( !( $("#jeff-sound").hasClass("active") ) ) {
				$("#jeff-sound").removeClass("hover");
				$("#jeff-sound").hide();
			}
		}
	);
	
	$("#celerie").hover(	
		function() { 
			if ( !( $("#celerie-sound").hasClass("active") ) ) {
				$("#celerie-sound").show();
				$("#celerie-sound").addClass("hover");
			}
		},
		function() { 
			if ( !( $("#celerie-sound").hasClass("active") ) ) {
				$("#celerie-sound").removeClass("hover");
				$("#celerie-sound").hide();
			}
		}
	);
	
	$("#darryl").hover(
		function() { 
			if ( !( $("#darryl-sound").hasClass("active") ) ) {
				$("#darryl-sound").show();
				$("#darryl-sound").addClass("hover");
			}
		},
		function() { 
			if ( !( $("#darryl-sound").hasClass("active") ) ) {
				$("#darryl-sound").removeClass("hover");
				$("#darryl-sound").hide();
			}
		}
	);
	
	$("#ralph").hover(
		function() { 
			if ( !( $("#ralph-sound").hasClass("active") ) ) {
				$("#ralph-sound").show();
				$("#ralph-sound").addClass("hover");
			}
		},
		function() { 
			if ( !( $("#ralph-sound").hasClass("active") ) ) {
				$("#ralph-sound").removeClass("hover");
				$("#ralph-sound").hide();
			}
		}
	);
	
	$("#jamie").hover(
		function() { 
			if ( !( $("#jamie-sound").hasClass("active") ) ) {
				$("#jamie-sound").show();
				$("#jamie-sound").addClass("hover");
			}
		},
		function() { 
			if ( !( $("#jamie-sound").hasClass("active") ) ) {
				$("#jamie-sound").removeClass("hover");
				$("#jamie-sound").hide();
			}
		}
	);
	
	$("#brian").hover(
		function() { 
			if ( !( $("#brian-sound").hasClass("active") ) ) {
				$("#brian-sound").show();
				$("#brian-sound").addClass("hover");
			}
		},
		function() { 
			if ( !( $("#brian-sound").hasClass("active") ) ) {
				$("#brian-sound").removeClass("hover");
				$("#brian-sound").hide();
			}
		}
	);
	
	$("#amy").hover(
		function() { 
			if ( !( $("#amy-sound").hasClass("active") ) ) {
				$("#amy-sound").show();
				$("#amy-sound").addClass("hover");
			}
		},
		function() { 
			if ( !( $("#amy-sound").hasClass("active") ) ) {
				$("#amy-sound").removeClass("hover");
				$("#amy-sound").hide();
			}
		}
	);
	
});

/*
 *
 * Model State Listener
 * This needs to live outside $(document).ready to work
 * Checks for the following states:
 * Idle, Buffering, Playing, Paused, Completed
 *
 */
function stateListener(obj) {
	currentState = obj.newstate; 
	previousState = obj.oldstate; 

	var tmp = document.getElementById("stat");
	if (tmp) { 
		tmp.innerHTML = "current state: " + currentState + 
		"<br>previous state: " + previousState; 
	}

	if ((currentState == "COMPLETED")&&(previousState == "PLAYING")) {
		//alert("Completed");
		removeIcon();
	}
}

/*
 *
 * Remove Sound Icon
 * This needs to live outside $(document).ready since it is being
 * called by the stateListener function. It removes the sound icon
 * for the currently playing audio clip
 *
 */
function removeIcon() {
	$(currentIcon).removeClass("active");
	$(currentIcon).hide();
}
