
var currentPlaylist = null;
var currentLength = 0;
var currentItem = -1; 
var previousItem = -1; 
var currentMute = false; 
var currentVolume = 80; 
var currentPosition = 0; 
var currentState = 'NONE';
var currentLoaded = 0;
var currentRemain = 0;

var player = null;
function playerReady(thePlayer) {
	//player = window.document[thePlayer.id];
	player = document.getElementById('playerID');
	addListeners();
}




function addListeners() {
	if (player) { 
		player.addControllerListener("ITEM", "itemListener");
		player.addControllerListener("MUTE", "muteListener");

		player.addModelListener("LOADED", "loadedListener");
		player.addModelListener("STATE", "stateListener");
		player.addModelListener("TIME", "positionListener");

		player.addViewListener("VOLUME", "volumeListener");
	} else {
		setTimeout("addListeners()",100);
	}
}


function stateListener(obj) { //IDLE, BUFFERING, PLAYING, PAUSED, COMPLETED
	currentState = obj.newstate; 
	previousState = obj.oldstate; 

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

function checkStatus(){
	var flash = $('ecualizador');
	flash.Play();
	$('audio-player').getElement('div.info p').fade('in');
	
	var estado = setInterval(
		(function(){
			if(currentState == 'IDLE' || currentState == 'COMPLETED') $('audio-player').getElement('div.info p').fade('out');
			if(testCurrentState()){
				flash.StopPlay();
				flash.Rewind();
				clearInterval(estado);
			}
		}),100
	);
}


function positionListener(obj) { 
	currentPosition = obj.position; 
	var tmp = document.getElementById("tim");
	if (tmp) { tmp.innerHTML = "position: " + currentPosition; }
}


function loadedListener(obj) { 
	currentLoaded = obj.loaded; 
	currentRemain = obj.total - currentLoaded;
	var tmp = document.getElementById("ldd");
	if (tmp) { 
		tmp.innerHTML = "bytes loaded: " + currentLoaded +
				"<br>bytes remaining: " + currentRemain; 
	}
}


function volumeListener(obj) { 
	currentVolume = obj.percentage; 
	var tmp = document.getElementById("vol");
	if (tmp) { tmp.innerHTML = "volume: " + currentVolume; }
}


function muteListener(obj) { 
	currentMute = obj.state; 
	var tmp = document.getElementById("mut");
	if (tmp) { tmp.innerHTML = "mute: " + currentMute; }
}


function itemListener(obj) { 
	if (obj.index != currentItem) {
 		previousItem = currentItem;
		currentItem = obj.index;

		if (previousItem == -1) { getPlaylistData(); }

		var tmp = document.getElementById("itm");
		if (tmp) { 
			tmp.innerHTML = "current item: " + currentItem +
				"<br>previous item: " + previousItem;
		}

		var tmp = document.getElementById("item");
		if (tmp) { tmp.innerHTML = "item: " + currentItem; }

		var tmp = document.getElementById("pid"); 
		if (tmp) { 
			tmp.innerHTML = "(received from the player with the id: <i><b>" + obj.id + "</b></i>)"; 
		} 

		printItemData(currentItem);
	}
}

function getPlaylistData() { 
	var plst = null;
	plst = player.getPlaylist();

	if (plst) { 
		currentPlaylist = plst; 

		var txt = ''; 
		for(var i in currentPlaylist) { 
			txt += '<input type="checkbox" id="cb' + i + '" checked="checked" /> &nbsp; ';
			txt += currentPlaylist[i].title;
			txt += '<br />';
		}
		var tmp = document.getElementById("plstDat");
		if (tmp) { tmp.innerHTML = txt; }
	}	
}



function loadCheckedPlaylistData() { 
	if (currentPlaylist) { 
		var j = 0; 
		var lst = new Array();
		for(var i in currentPlaylist) { 
			if(document.getElementById('cb' + i).checked) {
				lst[j] = {
					author:currentPlaylist[i].author,
					description:currentPlaylist[i].description,
					duration:currentPlaylist[i].duration,
					file:currentPlaylist[i].file,
					link:currentPlaylist[i].link,
					image:currentPlaylist[i].image,
					start:currentPlaylist[i].start,
					title:currentPlaylist[i].title,
					type:currentPlaylist[i].type
				}
				j++;
			}
		}
		if(lst.length > 0) { player.sendEvent('LOAD', lst); }
	}	
}

function printItemData(theIndex){
	var plst = null;
	plst = player.getPlaylist();
	if(plst){
		var txt = plst[theIndex].title;
		var txtPlaying;
		$$('html')[0].get('lang') == 'en' ? txtPlaying = 'Now Playing: ' : txtPlaying = 'Sonando: ';
		(function(){
			$('audio-player').getElement('div.info').set('html',
			'<p><strong>' + txtPlaying + txt + '</strong></p>');
		}).delay(200);
		$('audio-player').getElement('div.info p').fade('in');

	}
	
}


function getLength() { currentLength = player.getPlaylist().length; return(currentLength); };


function loadFile(theFile) { currentItem = -1; previousItem = -1; player.sendEvent('LOAD', theFile); };


function createPlayer(theFile) {
            var flashvars = {
		//streamer: "rtmp://fl.interoute.com/streamrt/_definst_",
		file: theFile, 
		autostart:"false", 
		shuffle:"false",
		repeat: "list",
		playlistsize:"0",
		playlist:"bottom",
		backcolor: "000000",		// face of buttons
                frontcolor: "12c9f7",
                lightcolor: "f5d92d"
            }
            var params = {
		allowfullscreen:"true", 
		allowscriptaccess:"always",
		wmode: "opaque"
            }
            var attributes = {
		id:"playerID",  
		name:"playerID"
            }
            swfobject.embedSWF("wp-content/themes/macaco/jwplayer/player.swf", "player-audio", "300", "20", "9.0.115", false, flashvars, params, attributes);
}

window.addEvent('load', function(){
	//createPlayer('mp3.xml');
});


function testCurrentState(){
     return (currentState != 'PLAYING');
}







