loadFriends();

function loadFriends()
{
	if(document.getElementById('chatInner'))
	{
		if(document.getElementById('chatInner').innerHTML != "") 
		{
			if(document.getElementById('chatFriends').innerHTML != "") 
			{
				processAjax('chatFriends', '/chat/chat.php?friends=reload');
			}
		}
	}
	setTimeout('loadFriends()',5000);
}

function sendMessage(message, friend, friendId)
{
	processAjax(friend+'_'+friendId+'_chatConversation', '/chat/chat.php?talk='+message+'&friend='+friend+'&friendId='+friendId);
	document.getElementById(friend+'_'+friendId+'_speak').value = "";
	updateMessages(friendId, friend);
}


function loadChat()
{
	if(document.getElementById('loadChat').innerHTML == "Close Chat")
	{
		document.getElementById('chatMain').innerHTML = "<div id=\"chatWrapper\"><div id=\"loadChat\" onclick=\"loadChat();\">Load Chat</div><div id=\"chatErrors\"></div><div id=\"chatInner\"></div></div>";
		processAjax('chatInner', '/chat/chat.php?close=true');
	}
	else
	{
		var content = document.getElementById('chatMain').innerHTML;
		document.getElementById('chatMain').innerHTML = content + '<div id=\"chatConversation\"></div>';
		document.getElementById('loadChat').innerHTML = "Close Chat";
		processAjax('chatInner', '/chat/chat.php?close=false');
		findNewChat();
	}
}

findNewChat();

function findNewChat()
{
	if(document.getElementById('chatConversation'))
	{
		chatAjax('chatConversation', '/chat/chat.php?findNewChat=true');
	}
	setTimeout('findNewChat()',10000);
}

function updateMessages(friendId, friend)
{
	if(document.getElementById(friend+'_'+friendId+'_chatConversation'))
	{
		processAjax(friend+'_'+friendId+'_chatConversation', '/chat/chat.php?updateTalk='+friend+'&friendId='+friendId);
	}
	setTimeout('updateMessages("'+friendId+'", "'+friend+'")',1000);
}

function chatAjax(div, page)
{
	var xmlHttp = GetXmlHttpObject();
	xmlHttp.onreadystatechange=function()
	{
		if(xmlHttp.readyState==4)
	    {
			if(xmlHttp.status == 200)
			{
				var res = xmlHttp.responseText;
				var usersList = res.split('||');
				var user = usersList[0].split('_');
				for(var x = 1; x<user.length; x++)
				{
					var friend = user[x].split('-');
					updateMessages(friend[0], friend[1]);
				}				
				document.getElementById(div).innerHTML = usersList[1];
			}
		}
	}
	xmlHttp.open("get",page, true);
	xmlHttp.send(null);
}

function startChat(friend, friendId)
{
	var chatWrapper = document.getElementById('chatConversation').innerHTML;
	if(!document.getElementById(friend+'_'+friendId+'_chatHolder'))
	{
		document.getElementById('chatConversation').innerHTML = chatWrapper+'<div id="'+friend+'_'+friendId+'_chatHolder" class="chatHolder"></div>';
		chatAjax(friend+'_'+friendId+'_chatHolder', '/chat/chat.php?start='+friend+'&friendId='+friendId);
	}
}

function closeChat(friend, friendId)
{
	if(document.getElementById(friend+'_'+friendId+'_chatHolder'))
	{
		//remove the chat holder div from the chatMain div
		var div = document.getElementById(friend+'_'+friendId+'_chatHolder');
		div.parentNode.removeChild(div); 
		processAjax('chatErrors', '/chat/chat.php?end='+friend+'&friendId='+friendId);
	}
}
