// JavaScript Document
function contactCard(from,to){
	document.getElementById("contactCard").style.display="block";
	document.contactCardForm.to_id.value = to;
	document.contactCardForm.from_id.value = from;
}


var xmlHttp = msgObject();

function msgObject(){
	var xmlHttp;
	if(window.ActiveXObject){
		try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); }
		catch (e) { cmlHttp=false; }
	} else {
		try { xmlHttp = new XMLHttpRequest(); }
		catch(e) { xmlHttp=false; }
	}
	
	if(xmlHttp) return xmlHttp;
}

function sendMessage(){
	if(xmlHttp.readyState == 4 || xmlHttp.readyState == 0) {
		var to_id = document.contactCardForm.to_id.value;
		var from_id = document.contactCardForm.from_id.value;
		var message = document.contactCardForm.message.value;
		var params = "to_id="+to_id+"&from_id="+from_id+"&message="+message;
		xmlHttp.open("POST","/index/getdata",true);
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", params.length);
		xmlHttp.setRequestHeader("Connection", "close");
		xmlHttp.onreadystatechange = handleServerResponse;
		xmlHttp.send(params);
	} else setTimeout('sendMessage()', 1000);
	
}

function handleServerResponse(){
	if(xmlHttp.readyState == 4){
		if(xmlHttp.status == 200){
			xmlResponse = xmlHttp.responseText;
			document.contactCardForm.reset();
			document.getElementById("contactCard").style.display="none";
			alert(xmlResponse);
		}
	} else {
		// alert("There was a problem sending your message.");
	}
}

// Message Handling
function openMsg(msgId,msg){
	document.getElementById('messageBox').innerHTML = msg;
	document.getElementById('showMessage').style.display = 'block';
	setMsgState(msgId,"read");
}

function setMsgState(msgId,state){
	if(xmlHttp.readyState == 4 || xmlHttp.readyState == 0) {
		var params = "msgId="+msgId+"&state="+state;
		xmlHttp.open("POST","/index/setmsgstate",true);
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", params.length);
		xmlHttp.setRequestHeader("Connection", "close");
		xmlHttp.onreadystatechange = handleMsgStateServerResponse;
		xmlHttp.send(params);
	} else setTimeout('sendMessage()', 1000);
}

function handleMsgStateServerResponse(){
	if(xmlHttp.readyState == 4){
		if(xmlHttp.status == 200){
			var xmlResponse = xmlHttp.responseText.split(",");
			document.getElementById("msgState"+xmlResponse[0]).innerHTML = xmlResponse[1];
		}
	}
}

function confirmDeleteMessage(msgId,Index){
	var confirmed = confirm("Are you sure that you want to delete this message?");
	if(confirmed == true) deleteMessage(msgId,Index);
}

var rowIndex;

function deleteMessage(msgId,index){
	rowIndex = index;
	if(xmlHttp.readyState == 4 || xmlHttp.readyState == 0) {
		var params = "msgId="+msgId;
		xmlHttp.open("POST","/index/deletemessage",true);
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", params.length);
		xmlHttp.setRequestHeader("Connection", "close");
		xmlHttp.onreadystatechange = handleMsgDeleteServerResponse;
		xmlHttp.send(params);
	} else setTimeout('sendMessage()', 1000);
}

function handleMsgDeleteServerResponse() {
	if(xmlHttp.readyState == 4){
		if(xmlHttp.status == 200){
			var xmlResponse = xmlHttp.responseText;
			if(xmlResponse == "true"){
				document.getElementById("showMessage").style.display="none";
				// remove table row
				var tbl = document.getElementById("messagesTable");
				tbl.deleteRow(rowIndex);
				messageCount = messageCount - 1;
				if(messageCount < 0) messageCout = 0;
				document.getElementById("msgCount").innerHTML = messageCount;
			} else {
				alert("There was a problem deleting your message. Please try again later.");
			}
		}
	}
}
