// JavaScript Document

//////////SETTINGS
var playerInitialLeftPosition = 70;
var playerProgressBarLength = 116;
var intervalID;






var otherFrameReady = false;
var playerWhichBar = 0;


function checkFrame() {
	//var objFrame = parent.top.frames["framePlayer"];
	//alert(objFrame.getPlayerStatus());

}




function playerStop() {
	clearInterval(intervalID);
	//var objFrame = parent.top.frames["framePlayer"];
	doStop();
	
	$('.playerPosition').removeClass('playerPositionOn').addClass('playerPositionOff').css('left', playerInitialLeftPosition);
	$('.playerImagePause').removeClass('playerImagePauseOn').addClass('playerImagePauseOff');
	$('.playerImageStop').removeClass('playerImageStopOn').addClass('playerImageStopOff');
	$('.playerImagePlay').removeClass('playerImagePlayOff').addClass('playerImagePlayOn');
	
//	if (objFrame.backgroundState == 'PLAYING') {
//		playerBackgroundMusic();
//	}
}

function playerPauseClick(This) {
	//var objFrame = parent.top.frames["framePlayer"];
	doPause();
	
	$(This).parent().children('img.playerImagePause').removeClass('playerImagePauseOn').addClass('playerImagePauseOff');
	$(This).parent().children('img.playerImagePlay').removeClass('playerImagePlayOff').addClass('playerImagePlayOn');
	$(This).parent().children('img.playerImageStop').removeClass('playerImageStopOn').addClass('playerImageStopOff');
	
}

function playerCheckStatus() {
	
	
	//var objFrame = parent.top.frames["framePlayer"];
	
	
	var left = playerInitialLeftPosition;
	//if (objFrame != "undefined"){ 
		var playerStatus = getPlayerStatus();
		
		var splitted = playerStatus.split('|');
		//alert(splitted[5]);
		if ((splitted[5] != '') && (splitted[1] == 'PLAYING')) {
			$(".playerVuMeter").removeClass('playerVuMeterOff').addClass('playerVuMeterOn');
			playerWhichBar = 0;
		} else {
			$(".playerVuMeter").removeClass('playerVuMeterOn').addClass('playerVuMeterOff');
		}
		if (playerWhichBar != 0) { 	
			if (splitted[3] != 0) {
				left = playerInitialLeftPosition + playerProgressBarLength * (splitted[2] / splitted[3]) ;
			} else {
				left = playerInitialLeftPosition;
			}
			$(".playerPositionOn").css('left', left);
			//alert(left);
		} else {
			//$(".playerVuMeter").removeClass('playerVuMeterOff').addClass('playerVuMeterOn');
			$('.playerPosition').removeClass('playerPositionOn').addClass('playerPositionOff').css('left', playerInitialLeftPosition);
			$('.playerImagePause').removeClass('playerImagePauseOn').addClass('playerImagePauseOff');
			$('.playerImageStop').removeClass('playerImageStopOn').addClass('playerImageStopOff');
			$('.playerImagePlay').removeClass('playerImagePlayOff').addClass('playerImagePlayOn');
		}
		$("#divPlayerStatus").html(playerStatus + ":" + playerWhichBar + ':' + left);
		if (splitted[1] == 'STOP') {
			$('.playerPosition').removeClass('playerPositionOn').addClass('playerPositionOff').css('left', playerInitialLeftPosition);
			$('.playerImagePause').removeClass('playerImagePauseOn').addClass('playerImagePauseOff');
			$('.playerImageStop').removeClass('playerImageStopOn').addClass('playerImageStopOff');
			$('.playerImagePlay').removeClass('playerImagePlayOff').addClass('playerImagePlayOn');
		}
		otherFrameReady = true;
	//} else {
		//alert('undefined');
	//}
	//alert( 'hi');
}

function playerBackgroundMusic() {

	//var objFrame = parent.top.frames["framePlayer"];
	songname = 'play_list.php';
	playSong(songname);
	//objFrame.backgroundState = 'PLAYING';

	intervalID = setInterval('playerCheckStatus()', 200);
	//$('.playerVuMeter').addClass('playerVuMeterOn');
}

function backgroundStop(This) {
	//var objFrame = parent.top.frames["framePlayer"];
	doPause();
	//objFrame.backgroundState = 'STOP';
	
	$('.playerPosition').removeClass('playerPositionOn').addClass('playerPositionOff').css('left', playerInitialLeftPosition);
	$('.playerImagePause').removeClass('playerImagePauseOn').addClass('playerImagePauseOff');
	$('.playerImageStop').removeClass('playerImageStopOn').addClass('playerImageStopOff');
	$('.playerImagePlay').removeClass('playerImagePlayOff').addClass('playerImagePlayOn');
	$(This).removeClass('playerVuMeterOn').addClass('playerVuMeterOff');
	
}


function playerPlayClick(This) {
	//var objFrame = parent.top.frames["framePlayer"];
	backgroundStop();
	playerStop();
	
	playerWhichBar = 0;
	$('.playerPosition').removeClass('playerPositionOn').removeClass('playerPositionOff').addClass('playerPositionOff').css('left', playerInitialLeftPosition);
	$('.playerImagePause').removeClass('playerImagePauseOn').addClass('playerImagePauseOff');
	$('.playerImageStop').removeClass('playerImageStopOn').addClass('playerImageStopOff');
	$('.playerImagePlay').removeClass('playerImagePlayOff').addClass('playerImagePlayOn');
	
	songname = $(This).attr('rel');
	playSong(songname);
	id = $(This).attr('id'); //get the id "play???"
	playerWhichBar = id.substring(16); //get the number
	

	$(This).removeClass('playerImagePlayOn').addClass("playerImagePlayOff");
	$(This).parent().children('img.playerPosition').removeClass('playerPositionOff').addClass('playerPositionOn');
	$(This).parent().children('img.playerImagePause').removeClass('playerImagePauseOff').addClass('playerImagePauseOn');
	$(This).parent().children('img.playerImageStop').removeClass('playerImageStopOff').addClass('playerImageStopOn');
	intervalID = setInterval('playerCheckStatus()', 200);
}






$(document).ready(function(){ 
	//alert( 'li');
	//$("#teste", top.framePlayer.document).hide(); 
	//pageInit();


	$('.playerImagePlay').click(
		function () {
			alert( 'click');
			if ($(this).hasClass('playerImagePlayOn')) {
				This = this;
				playerPlayClick(This);
			}
		}
	);
	
	
	$('.playerContainer').append("<img src='/images/dot.gif' class='playerPosition playerPositionOff' />");
	$('.playerContainer').append("<img src='/images/dot.gif' class='playerImagePause playerImagePauseOff' />");
	$('.playerContainer').append("<img src='/images/dot.gif' class='playerImageStop playerImageStopOff' />");

	$('.playerImageStop').click(
		function() {
			if ($(this).hasClass('playerImageStopOn')) {
				playerStop();
			}
		}
	);
	
	$('.playerImagePause').click(
		function() {
			if ($(this).hasClass('playerImagePauseOn')) {
				This = this;
				playerPauseClick(This);
			}
		}
	);
	
	$('.playerVuMeter').click(
		function() {
			clearInterval(intervalID);
			//playerStop();
			if ($(this).hasClass('playerVuMeterOff')) {
				playerBackgroundMusic();
			} else {
				//alert('pause');
				//var objFrame = parent.top.frames["framePlayer"];
				This = this;
				$(this).removeClass('playerVuMeterOn').addClass('playerVuMeterOff');
				backgroundStop(This);
			}
			intervalID = setInterval('playerCheckStatus()', 200);
		}
	);

	intervalID = setInterval('playerCheckStatus()', 200);

});  

/*
function SendDataToFlashMovie()
{
     var flashMovie = $("#playerMovie", top.framePlayer.document);
    alert( flashMovie.getStatus());
}
*/














/////////PREVIOUSLY ON ANOTHER FRAME ///////////

	<!--
	// ------- Private vars -------
	var jsReady = false;
	var swfReady = false;
	//var backgroundState = 'STOP';

	// ------- functions called by ActionScript -------
	// called to check if the page has initialized and JavaScript is available
	function isReady() {
		return jsReady;
	}

	// called to notify the page that the SWF has set it's callbacks
	function setSWFIsReady() {
		// record that the SWF has registered it's functions (i.e. that JavaScript
		// can safely call the ActionScript functions)
		swfReady = true;

		playSong('play_list.php');
		//backgroundState = 'PLAYING';
		updateStatus();
	}
	
	// called to notify the page of a new message
	function newMessage(value) {
		// append the message text to the end of the transcript
		//document.forms["imForm"].transcript.value += "The Other Person: " + value + "\n";
	}

	// called to notify the page that the SWF user's availability (status) has changed
	function statusChange() {
		updateStatus();
	}


	// ------- utility functions -------
	// if the SWF has indicated it's ready for communication, calls the ActionScript
	// function to get the current "availability" status and writes it into the text field.
	function updateStatus() {
		if (swfReady) {
			var currentStatus = getSWF("myFlashMovie").getStatus();
			//document.forms["imForm"].status.value = currentStatus;
		}
	}

	// Gets a reference to the specified SWF file by checking which browser is
	// being used and using the appropriate JavaScript.
	// Unfortunately, newer approaches such as using getElementByID() don't
	// work well with Flash Player/ExternalInterface.
	function getSWF(movieName) {
		if (navigator.appName.indexOf("Microsoft") != -1) {
			return window[movieName];
		} else {
			return document[movieName];
		}
	}
		
	function getFlashMovieObject(movieName)
	{
	  if (window.document[movieName]) 
	  {
		return window.document[movieName];
	  }
	  if (navigator.appName.indexOf("Microsoft Internet")==-1)
	  {
		if (document.embeds && document.embeds[movieName])
		  return document.embeds[movieName]; 
	  }
	  else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
	  {
		return document.getElementById(movieName);
	  }
	}
	



	// ------- event handling -------
	// called by the onload event of the <body> tag
	function pageInit() {
		// record that JavaScript is ready to go.
		jsReady = true;
	}

	// called when the "Send" button is pressed; the value in the messageText text field
	// is passed in as a parameter.
	function playSong(songname) {
		if (swfReady) {
			getSWF("myFlashMovie").playSong(songname);
		}
	}
	function doStop(songname) {
		if (swfReady) {
			getSWF("myFlashMovie").doStop();
		}
	}
	function doPause() {
		if (swfReady) {
			getSWF("myFlashMovie").doPause();
		}
	}
	function getPlayerStatus() {
		if (swfReady) {
			return getFlashMovieObject("myFlashMovie").getStatus();
		} else {
			return "not ready :(";
		}
	}

