// JavaScript Document
/*
*****************************************************************
AJAX-Based Chat System
Author: Alejandro Gervasio
Version: 1.0
//
REVISED BY: Joshua Pangell
06-12-2007
*****************************************************************
*/

// check status of sender object
function senderStatusChecker(){
    // check if request is completed
    if(senderXMLHttpObj.readyState==4){
        if(senderXMLHttpObj.status==200){
			// if status == 200 display chat data			
			displayChatData(senderXMLHttpObj);		
			var mtxt=document.getElementById('murmur');
			mtxt.value = '';
        }
        else{
            //alert('Failed to get response :'+ senderXMLHttpObj.statusText);
        }
    }
}
// check status of receiver object
function receiverStatusChecker(){
    // if request is completed
    if(receiverXMLHttpObj.readyState==4){
        if(receiverXMLHttpObj.status==200){
			// if status == 200 display chat data
			displayChatData(receiverXMLHttpObj);
        }
        else{
           // alert('Failed to get response :'+ receiverXMLHttpObj.statusText);
        }
    }
}
// get messages from database each 5 seconds
function getChatData(){
	receiverXMLHttpObj.open('GET','projects/murmur-reader.php?prid='+document.getElementById('prid').value+'',true);
	receiverXMLHttpObj.send(null);
	receiverXMLHttpObj.onreadystatechange=receiverStatusChecker;
	setTimeout('getChatData()',5000);
}
// display messages
function displayChatData(reqObj){
	// remove previous messages
	var mdiv=document.getElementById('scrollContent');
	if(!reqObj.responseText) return
	else {
		//mdiv.innerHTML='';
		var result=reqObj.responseText.split(' ##|## ');
		
		var murmur=result[1];
		// display messages
		mdiv.innerHTML=murmur+mdiv.innerHTML;
		//
		new Effect.Appear('murmur_container_'+result[0], { duration:0.5 });
		
	}
}
// send user murmur
function sendMessage(){
	var murmur=document.getElementById('murmur').value;
	var prid=document.getElementById('prid').value;
	// open socket connection
	senderXMLHttpObj.open('POST','projects/murmur-process.php',true);
	// set form http header
	senderXMLHttpObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	senderXMLHttpObj.send('action=insert&prid='+prid+'&murmur='+murmur);
	senderXMLHttpObj.onreadystatechange=senderStatusChecker;

	return false;
}
// initialize chat 
function intitializeMurmurs(){
	if(document.getElementById&&document.getElementsByTagName&&document.createElement){
		getChatData();
	}
}