var lastMessageId = 0;
var chatManager = {
	getAjaxManager:function() {
		// configure here if it changes
		return "./ajax/chatManager.php";
	},
	initBehaviour:function() {
		$("entryMessage").focus();
		var f = function(){chatManager.updateMessages()}
		window.setInterval(f, 300);
	},
	addMessage:function() {
		var name = $("entryAuthor").value;
		var msg  = $("entryMessage").value;
		if (msg != '' && name != '') {
			var action = $H({
				action : "addMessage",
				author : name,	
				message : msg
			});	
			$("entryMessage").value='';
			$("entryMessage").focus();
			var requestUrl = chatManager.getAjaxManager() + '?' + action.toQueryString();			
		  	new Ajax.Request(requestUrl, { 
	  			onSuccess: function(resp) {
	  						var msgs = eval(resp.responseText);
	  						chatManager.showMessages(msgs);
	  					}, 
 				onFailure : function(resp) { alert('Error : cannot add message'); }
	  			} ); 			
		}
	},
	showMessages: function(messages) {
		var nb_messages = messages.length;		
		for(i=0; i < nb_messages; i++) {
			var id_message = messages[i][0];
			var author = messages[i][1];
			var message = messages[i][2];
			if (id_message > lastMessageId) {
				lastMessageId = id_message;			
				var id = "msg_" + id_message;
				new Insertion.Before("endOfMessagesBox", '<div class="msg" id="' + id +  '"><span class="name">' + author + '</span>' + message  + '</div>');		
				var o = document.getElementById("chatMessagesBox");
				o.scrollTop = o.scrollHeight;
			}
		}
	},
	updateMessages:function() {
		var action = $H({
			action : "getNewMessages",
			id_message : lastMessageId
			
		});	
		var requestUrl = chatManager.getAjaxManager() + '?' + action.toQueryString();			
		//var requestUrl = './ajax/ChatManager.php?action=getNewMessages&id_message=' + lastMessageId; 
	  	new Ajax.Request(requestUrl, { 
  			onSuccess: function(resp) { 
	  						var msgs = eval(resp.responseText);
	  						chatManager.showMessages(msgs);
	 					}, 
			onFailure : function(resp) { alert('Error : cannot retrieve messages'); }
		} ); 			
	}
}