/****
** @tit: 	rbRadioController.js
** @desc:	Arquivo que habilita algumas funcionalidades de radio[mp3 player]
** @req:	rbJavaScriptLib.js
*****/
/** habilita ajax **/
var song = new rbAjaxTry();
	//song.setDebug();
/** som agora tocado , agenda, fakemarquee, valor máximo, valor atual **/
var nowplaying = '', 
	an, 
	fm, 
	til = -150, 
	now = 0;
/** busca o valor do nome atual **/
function atualizarNome(){
	var param = encodeURIComponent(new Date().toUTCString());
	song.makeRequest('radio.php?now='+param, 'agenda');
}
/** verifica se o nome recebido é o mesmo que está sendo exibido **/
function agenda(val){
	if(nowplaying != val && typeof val == 'string'){
		nowplaying = val;
		rbFill('songname', decodeURIComponent(val));
	}
	an = setTimeout(function(){atualizarNome();}, 1000);
}
/** função que simula a tag "marquee" **/
function fakeMarquee(){
	val = rb$('songname');
	--now;
	if(now < til)
		now = 150;
	val.style.marginLeft = now+'px';
	fm = setTimeout(function(){fakeMarquee()}, 100);
}
/** controle radio **/
function setVolume(val){
	if(rbInArray(val, new Array('0', '20', '40', '60', '80', '100'), true))
		return val;
	return '60';
}
/** toca o stream **/
function play(val){
	val = setVolume(val);
	cont = rbValidSWF(	'js/singlemp3player.swf',
						'file=http://r4f4.serverroom.us:7638/;stream.nsv.&autoStart=true&autoStart=true&songVolume='+val+'&backColor=000000&frontColor=FFFFFF',
						28, 
						20);
	rbFill(	'player', rbPrF('<div style="margin-left: -6px; margin-top: -1px;">%r</div>',cont)); 
}
/** Para o stream **/
function stop(){
	rbFill('player', '<a href="javascript:void(0)" onclick="play()"><img src="imgs/bt-play.png"  id="btplay"  alt="" /></a>');
}
/** Toca um mp3 escreve o player no local indicado **/
function playMp3(mp3file, where){
	mp3file = rbSetDefault(mp3file, '');
	where 	= rbSetDefault(where, document.body);
	if(mp3file != ''){
		cont = rbValidSWF(	'js/singlemp3player.swf',
					'file='+mp3file+'&autoStart=true&autoStart=true&songVolume=80&backColor=000000&frontColor=FFFFFF',
					28, 
					20);
		rbFill(where, cont);
	}
}
/** adiciona eventos **/
rbAddEvent(window, 'load', agenda);
rbAddEvent(window, 'load', fakeMarquee);
