var statusChatRequestObject = "";

function statusChat_Callback(responseText) {
	document.getElementById("online_status").innerHTML = responseText;
}

function statusChat(url) {
	if(window.XMLHttpRequest)
	{
        statusChatRequestObject = new XMLHttpRequest();
    }
	else if(window.ActiveXObject)
	{
        statusChatRequestObject = new ActiveXObject("Msxml2.XMLHTTP");
        
		if(!(statusChatRequestObject))
		{
            statusChatRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
	
	if(!statusChatRequestObject)
	{
		return false;
	}
	
	statusChatRequestObject.onreadystatechange = function() 
	{
		if(statusChatRequestObject.readyState == 4)
		{
			if(statusChatRequestObject.status == 200)
			{
				eval('statusChat_Callback(statusChatRequestObject.responseText)');
			}
			else
			{
				document.getElementById("ajaxErrorMsgRegion").innerHTML = "There was a problem with the request. (Error Code: " + statusChatRequestObject.status + ")";
				document.getElementById("ajaxErrorMsgRegion").style.display = "visible";
			}
		}
	}
	
	statusChatRequestObject.open("GET", url, true);
	
	statusChatRequestObject.send(null);
}


var clostChatRequestObject = "";

function closeChat_Callback(responseText) {
	
}

function closeChat(url) {
	if(window.XMLHttpRequest)
	{
        clostChatRequestObject = new XMLHttpRequest();
    }
	else if(window.ActiveXObject)
	{
        clostChatRequestObject = new ActiveXObject("Msxml2.XMLHTTP");
        
		if(!(clostChatRequestObject))
		{
            clostChatRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
	
	if(!clostChatRequestObject)
	{
		return false;
	}
	
	clostChatRequestObject.onreadystatechange = function() 
	{
		if(clostChatRequestObject.readyState == 4)
		{
			if(clostChatRequestObject.status == 200)
			{
				eval('closeChat_Callback(clostChatRequestObject.responseText)');
			}
			else
			{
				document.getElementById("ajaxErrorMsgRegion").innerHTML = "There was a problem with the request. (Error Code: " + clostChatRequestObject.status + ")";
				document.getElementById("ajaxErrorMsgRegion").style.display = "visible";
			}
		}
	}
	
	clostChatRequestObject.open("GET", url, true);
	
	clostChatRequestObject.send(null);
}

var checkRequestObject = "";

function checkMessages_Callback(responseText) {
	if(responseText != "0") {
		var buffer = responseText.split(";");
		openChatDialog(buffer[0], buffer[1]);
	}
}

function checMessages(url) {
	if(window.XMLHttpRequest)
	{
        checkRequestObject = new XMLHttpRequest();
    }
	else if(window.ActiveXObject)
	{
        checkRequestObject = new ActiveXObject("Msxml2.XMLHTTP");
        
		if(!(checkRequestObject))
		{
            checkRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
	
	if(!checkRequestObject)
	{
		return false;
	}
	
	checkRequestObject.onreadystatechange = function() 
	{
		if(checkRequestObject.readyState == 4)
		{
			if(checkRequestObject.status == 200)
			{
				eval('checkMessages_Callback(checkRequestObject.responseText)');
			}
			else
			{
				document.getElementById("ajaxErrorMsgRegion").innerHTML = "There was a problem with the request. (Error Code: " + checkRequestObject.status + ")";
				document.getElementById("ajaxErrorMsgRegion").style.display = "visible";
			}
		}
	}
	
	checkRequestObject.open("GET", url, true);
	
	checkRequestObject.send(null);
}

var refreshRequestObject = "";

function refreshFriendsList_Callback(responseText) {
	var buffer = responseText.split("\n");
	
	document.getElementById("chatOnlineMembersCount").innerHTML = buffer[0];
	document.getElementById("chatMemberList").innerHTML = buffer[1];
}

function refreshFriendsList(url) {
	if(window.XMLHttpRequest)
	{
        refreshRequestObject = new XMLHttpRequest();
    }
	else if(window.ActiveXObject)
	{
        refreshRequestObject = new ActiveXObject("Msxml2.XMLHTTP");
        
		if(!(refreshRequestObject))
		{
            refreshRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
	
	if(!refreshRequestObject)
	{
		return false;
	}
	
	refreshRequestObject.onreadystatechange = function() 
	{
		if(refreshRequestObject.readyState == 4)
		{
			if(refreshRequestObject.status == 200)
			{
				eval('refreshFriendsList_Callback(refreshRequestObject.responseText)');
			}
			else
			{
				document.getElementById("ajaxErrorMsgRegion").innerHTML = "There was a problem with the request. (Error Code: " + refreshRequestObject.status + ")";
				document.getElementById("ajaxErrorMsgRegion").style.display = "visible";
			}
		}
	}
	
	refreshRequestObject.open("GET", url, true);
	
	refreshRequestObject.send(null);
}

var chatDialogRefreshRequestObject = "";

function chatDialogRefresh_Callback(responseText, history, chatAreaId) {
	if(history) {
		document.getElementById(chatAreaId).innerHTML = responseText;
		document.getElementById(chatAreaId).scrollTop = document.getElementById(chatAreaId).scrollHeight;
	}
	else {
		document.getElementById(chatAreaId).innerHTML = document.getElementById(chatAreaId).innerHTML + responseText;
		document.getElementById(chatAreaId).scrollTop = document.getElementById(chatAreaId).scrollHeight;
	}
}

function chatDialogRefresh(url, history, chatAreaId) {
	if(window.XMLHttpRequest)
	{
        chatDialogRefreshRequestObject = new XMLHttpRequest();
    }
	else if(window.ActiveXObject)
	{
        chatDialogRefreshRequestObject = new ActiveXObject("Msxml2.XMLHTTP");
        
		if(!(chatDialogRefreshRequestObject))
		{
            chatDialogRefreshRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
	
	if(!chatDialogRefreshRequestObject)
	{
		return false;
	}
	
	chatDialogRefreshRequestObject.onreadystatechange = function() 
	{
		if(chatDialogRefreshRequestObject.readyState == 4)
		{
			if(chatDialogRefreshRequestObject.status == 200)
			{
				eval('chatDialogRefresh_Callback(chatDialogRefreshRequestObject.responseText, history, chatAreaId)');
			}
			else
			{
				document.getElementById("ajaxErrorMsgRegion").innerHTML = "There was a problem with the request. (Error Code: " + chatDialogRefreshRequestObject.status + ")";
				document.getElementById("ajaxErrorMsgRegion").style.display = "visible";
			}
		}
	}
	
	chatDialogRefreshRequestObject.open("GET", url, true);
	
	chatDialogRefreshRequestObject.send(null);
}

var chatPostMessageRequestObject = "";

function chatPostMessage_Callback(responseText, chatAreaId) {
	document.getElementById(chatAreaId).innerHTML = document.getElementById(chatAreaId).innerHTML + responseText;
}

function chatPostMessage(url, chatAreaId) {
	if(window.XMLHttpRequest)
	{
        chatPostMessageRequestObject = new XMLHttpRequest();
    }
	else if(window.ActiveXObject)
	{
        chatPostMessageRequestObject = new ActiveXObject("Msxml2.XMLHTTP");
        
		if(!(chatPostMessageRequestObject))
		{
            chatPostMessageRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
	
	if(!chatPostMessageRequestObject)
	{
		return false;
	}
	
	chatPostMessageRequestObject.onreadystatechange = function() 
	{
		if(chatPostMessageRequestObject.readyState == 4)
		{
			if(chatPostMessageRequestObject.status == 200)
			{
				eval('chatPostMessage_Callback(chatPostMessageRequestObject.responseText, chatAreaId)');
			}
			else
			{
				document.getElementById("ajaxErrorMsgRegion").innerHTML = "There was a problem with the request. (Error Code: " + chatPostMessageRequestObject.status + ")";
				document.getElementById("ajaxErrorMsgRegion").style.display = "visible";
			}
		}
	}
	
	chatPostMessageRequestObject.open("GET", url, true);
	
	chatPostMessageRequestObject.send(null);
}
