<!--
/* controle de um chat simples */
/* required: rbJavaSrciptLib.js */
/* variavel para ajax */
var rb = new rbAjaxTry();
/* variável de atualização do chat, teste, e a ultima mensagem, twitter*/
var chat=false, test =false, lastMessage = 0, twt=false, redo = false;
/* atualiza o valor da mensagem */
/* inicializa o scroller */
/* programa uma nova atualizacao para 3segundos */
function updateMessage(){
	init_dw_Scroll();
	/* atualiza ultima mensagem */
	last = rb$('lastMessage');
	if(last){
		lastMessage = last.value;
		rb.setDiv().removeChild(last);
	}
	try{
		inp = rb$('hora_'+lastMessage).value;
		rbFill('horaChat', 'Última: '+inp);
	}catch(err){}
	if(chat)
		clearTimeout(chat);
	chat = setTimeout(function(){updateChat();}, 3000);
	return false;
}
/* posta mensagem */
function evalChat(){
	var t = rb$('textfield');
	var u = rb$('userid');
	if(t && u){
		var v = rbTrim(t.value);
		t.value = '';
		if(v != ""){
			v = encodeURIComponent(v);
			var msg = 'from='+u.value+'&mensagem='+v+'&last='+lastMessage;
			rb.sendRequest('index_control.php', msg, 'updateMessage');
		}
	}
	return false;
}
/* recupera mensagens */
/* so programa uma nova busca por mensagem se nehuma estiver na espera */
function updateChat(){
	/* atualiza ultima mensagem */
	last = rb$('lastMessage');
	if(last){
		lastMessage = last.value;
		rb.setDiv().removeChild(last);
	}
	try{
		inp = rb$('hora_'+lastMessage).value;
		rbFill('horaChat', 'Última: '+inp);
	}catch(err){}
	/* atualiza a proxima consulta ao chat */
	if(rb.numOfRequests() < 1){
		if(rb.response !== '' || redo){
			init_dw_Scroll();
			redo = false;
		}
		if(test){ clearTimeout(test);}
		chat = setTimeout(function(){getChat();}, 3000);
	}
	else{
		test = setTimeout(function(){updateChat();}, 3000);
	}
}
/* pega uma mensagem */
function getChat(){
	if(twt){
		clearTimeout(twt);
	}
	var param = encodeURIComponent(new Date().toUTCString());
	rb.setDiv('lyr1', 3);
	rb.makeRequest('index_control.php?last='+lastMessage+'&chat='+param, 'updateChat');
}
/* para o chat */
function stopChat(){
	if(test) clearTimeout(test);
	if(chat) clearTimeout(chat);
}
/* continua o chat */
function continueChat(){
	var param = encodeURIComponent(new Date().toUTCString());
	if(twt){
		rbFill('lyr1', 'Buscando dados no Eai.fm...<img src="imgs/load.gif" alt="loading" title="Loading..."> ');
		clearTimeout(twt);
		redo = true;
	}
	rb.setDiv('lyr1', 1);
	setOpacity('twtctr', 20);
	setOpacity('eaictr', 100);
	rb.makeRequest('index_control.php?last=0&chat='+param, 'updateChat');
}
/* função que inicializa o chat */
function rbInitializeChat(){
	rb.initialize('lyr1', 3);
	getChat();
	setOpacity('twtctr', 20);
}
/* adiciona o evento */
rbAddEvent(window, 'load', rbInitializeChat);
/***** Controllers para recuperação dos dados do twitter */
/** set opacity */
function setOpacity(img, value){
	var obj = rb$(img);
	try{
		obj.style.opacity = value/100;
		obj.style.filter = 'alpha(opacity='+value+')';
	}catch(err){}
}
/* dados do twitter */
function getTwitter(){
	stopChat();
	lastMessage = 0;
	setOpacity('twtctr', 100);
	setOpacity('eaictr', 20);
	rbFill('lyr1', 'Buscando dados no twitter...<img src="imgs/load.gif" alt="loading" title="Loading..."> ');
	getTwt();
}
/* busca twitter */
function getTwt(){
	var param = encodeURIComponent(new Date().toUTCString());
	rb.setDiv('lyr1', 1);
	rb.makeRequest('twitter.php?last='+lastMessage+'&chat='+param, 'updateTwitter');
}
/* mantem atualizacao do twitter */
function updateTwitter(){
	init_dw_Scroll();
	twt = setTimeout(function(){getTwt();}, 10000);
}
//-->
