function openWindow(url, name, height, width)
{
	var div_name = '#' + name;
	$.ajax({
		url: url,
		cache: false,
		success: function(html)
		{
			if ($(div_name).length)
			{
				$(div_name).html = html;
			}
			else
			{
				$("body").append("<div id='"+name+"' title='"+name+"'>"+html+"</div>");
			}
			$(div_name).dialog({minWidth: width, width: width, minHeight: height, height: height});
		}
	});
	return false;
}
function clear()
{
	$("#messages").html("");
	return false;
}
function logout(message)
{
	$.post("ajax.php",
	{
		mode: "logout"
	});
	alert(message);
	window.location = "index.php";
}

function moveScrollBar(div)
{
	document.getElementById(div).scrollTop = document.getElementById(div).scrollHeight;
}

function sendMessage()
{
	$("#ajax_status").html("Sending Message");
	$("#msg").focus();
	if ($("#msg").val() == '/clear')
	{
		clear(); 
		$("#msg").val("");
		return false;
	}
	$.post("ajax.php",
	{
		mode: "send",
		message: $("#msg").val()
	});
	$("#ajax_status").html("Sent Message");
	getMessages();
	$("#msg").val("");
	return false;
}
function switchRoom(room_id)
{
	clear();

	$.ajax({
		type: "POST",
		url: "ajax.php",
		data: "mode=switch_room&id=" + room_id,
		success: function(xml){
			room_name = $("room_name", xml).text();
			room_topic = $("room_topic", xml).text();
			$("#messages").html("<div class='white_box'>" + room_name + ": " + room_topic + "</div>");
		}
	});

	$("#msg").focus();
}
function getMessages()
{
	$("#ajax_status").html("Checking For Messages");
	$.post("ajax.php",
	{
		mode: "load_messages"
	},
	function(xml)
	{
	$("#ajax_status").html("Done Checking Messages, Loading Them.");
		$("message",xml).each(function(id)
		{
			message = $("message",xml).get(id);
			if ($("action", message).text() == 'logout')
			{
				logout($("text", message).text());
			}
			if ($("action", message).text() == 'clear')
			{
				clear();
			}
			if ($("action", message).text() == 'popup')
			{
				openWindow($("path", message).text(), $("window_title", message).text(), 600, 450);
			}
			if ($("action", message).text() == 'switchRoom')
			{
				switchRoom($("room_id",message).text());
			}
			$("#messages").append("<div class='message'><span onclick=\"return openWindow('?module=profile&user=" + $("username",message).text() + "', 'profile_"+$("username",message).text()+"',500, 450);\" style='font-weight:bold;color:#" + $("user_color",message).text() + ";'>" + $("username",message).text() + "</span>: <span style='color:#" + $("message_color",message).text() + ";'>" + $("text",message).text() + "</span></div>");
moveScrollBar('messages');
		});

	});
	setTimeout("getMessages()",1500);
}
function getUsers()
{
	$.post("ajax.php",
	{
		mode: "users"
	},
	function(xml)
	{
		var online_users = $("online",xml);
		var offline_users = $("offline_users",xml);
		$("user",online_users).each(function(id)
		{
			users = $("user", online_users).get(id);
			user_html = "<img src='http://74.121.182.114/~scriptsc/stuff/icons/png/16x16/user.png'> <span style='color:#" + $("color",users).text() + ";'>" + $("username",users).text() + "</span>";
			$("#users").append("<div id='user_" + $("username",users).text() + "' class='user'>" + user_html + "</div>");
		});
		$("offline_user",offline_users).each(function(id)
		{
			offline_user = $("offline_user", offline_users).get(id);
			user = $("username",offline_user).text();
			$("#user_" + user).remove();
		});
	});
	$("#users > div").tsort("",{attr:"id"});
	setTimeout("getUsers()",10000);
}
