﻿var receiveReq = getXmlHttpRequestObject();

function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		//document.getElementById('p_status').innerHTML = 'Status: Cound not create XmlHttpRequest Object.  Consider upgrading your browser.';
	}
}

function startChat(userid)
{
    window.open("../controls/myChat/chatModal.aspx?startChat=" + userid, "MyChat", "toolbar=0,location=0,menubar=0,status=0,scrollbars=0,resizable=0,width=654,height=542");
    
    Effect.toggle('onlineFriendsContainer', 'blind', {duration: 0.5});
}

function loginToChat()
{
    window.open("../controls/myChat/chatModal.aspx", "MyChat", "toolbar=0,location=0,menubar=0,status=0,scrollbars=0,resizable=0,width=654,height=542");
    
    Effect.toggle('onlineFriendsContainer', 'blind', {duration: 0.5});
    document.getElementById('chatLogin').style.display = "none";
}

function getOnlineFriends()
{    
    //onlineFriendsContainer = document.getElementById('onlineFriendsContainer');
    
    //onlineFriendsContainer.style.display = "block";
    if (document.getElementById('onlineFriendsContainer').style.display == "none")
    {
        Effect.toggle('onlineFriendsContainer', 'blind', {duration: 0.5});
        var onlineFriendsList = document.getElementById('onlineFriendsList');
		
		onlineFriendsList.innerHTML = "<li><a>Loading...</a></li>";
        if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
		    receiveReq.open("GET", '/controls/myChat/getChat.aspx?getFriends=1', true);
		    receiveReq.onreadystatechange = handleGetOnlineFriends;
		    receiveReq.send(null);
	    }
	}
	else
	{
	    Effect.toggle('onlineFriendsContainer', 'blind', {duration: 0.5});
	}
}

function handleGetOnlineFriends()
{
	if (receiveReq.readyState == 4)
	{
		var response = eval("(" + receiveReq.responseText + ")");
		
		var onlineFriendsList = document.getElementById('onlineFriendsList');
		
		onlineFriendsList.innerHTML = "";
		
		for(i=0;i < response.friends.length; i++)
		{
		    response.friends[i].username = response.friends[i].u;
            switch(response.friends[i].s)
            {
                case "1":
                    response.friends[i].status = "Available";
                    break;
                case "2":
                    response.friends[i].status = "Away";
                    break;
                case "0":
                    response.friends[i].status = "Busy";
                    break;
            }
            
		    if (response.friends[i].b >> 1 == 0)
		        response.friends[i].blocked = "0";
            else
		        response.friends[i].blocked = "1";
		    if (response.friends[i].b & 1 == 1)
		        response.friends[i].online = "True";
	        else
	            response.friends[i].online = "False";
		
			if (response.friends[i].online == "True")
			{
			    if (response.friends[i].status == "Available")
			        onlineFriendsList.innerHTML += "<li><a class='available' href='javascript:startChat(" + response.friends[i].id + ");'>" + response.friends[i].username+ "</a></li>";
			    else if (response.friends[i].status == "Away")
			        onlineFriendsList.innerHTML += "<li><a class='away' href='javascript:startChat(" + response.friends[i].id + ");'>" + response.friends[i].username + "</a></li>";
			    else if (response.friends[i].status == "Busy")
			        onlineFriendsList.innerHTML += "<li><a class='busy' href='javascript:startChat(" + response.friends[i].id + ");'>" + response.friends[i].username + "</a></li>";
			    else
			        onlineFriendsList.innerHTML += "<li><a class='nostatus' href='javascript:startChat(" + response.friends[i].id + ");'>" + response.friends[i].username + "</a></li>";    
			    
			}
		}
		
		var chatLogin = document.getElementById('chatLogin');
		
		if (response.isOnline == "False")
		    chatLogin.style.display = "block";
		else
            chatLogin.style.display = "none";
		
		if (onlineFriendsList.innerHTML == "")
		    onlineFriendsList.innerHTML = "<li><a>No friends online</a></li>";
	}
}