/*
 * lib_user_action.js	:	Commands performed by a user on other users (i.e. description, friend add, etc.)
 *
*/

// Send a friend add request
function user_action_friend_request_send(userid)
{
	var button = getElement('omchat_user_action_friend_button'+userid);
	button.innerHTML = 'Sending Friend Request...';
	button.disabled = true;

	xmlhttp_request('/CMS/php/xml_user_friend_add_request_send.php', 'userid='+userid, 'POST', user_action_friend_request_send_processxml, xmlhttp_error, true, true);
}

function user_action_friend_request_send_processxml(xml)
{
	/*
	 * XML output format
	 *
	 *	<?xml version="1.0" ?>
	 *	<items>
     *		<item>
     *			<error></error>
     *			<msg></msg>
     *			<userid></userid>
	 *		</item>
	 *	</items>
	*/

	// get the items in the xml document
	var items = xml.documentElement.getElementsByTagName('item');
	
	var error = getNodeValue(items.item(0), 'error');
	var msg = getNodeValue(items.item(0), 'msg');
	var userid = getNodeValue(items.item(0), 'userid_to');

	var button = getElement('omchat_user_action_friend_button'+userid);
	button.innerHTML = msg;
}

// Accept/reject a friend add request
// type is: 1 = accept, 2 = reject, 3 = ignore
function user_action_friend_request_acceptreject(userid, type)
{
	var type_text;
	switch( type )
	{
		case 1: 
			type_text = 'Accepting';
			break;
		case 2: 
			type_text = 'Rejecting';
			break;
		default: 
			type_text = 'Ignoring';
			break;
	}
	
	var button = getElement('omchat_user_action_friend_request'+type+'_button'+userid);
	button.innerHTML = type_text+' Friend Request...';
	button.disabled = true;
	// hide other buttons
	for(var i = 1;i <= 3;i++)
	{
		if( i != type )
		{
			getElement('omchat_user_action_friend_request'+i+'_button'+userid).style.display = 'none';
		}
	}

	xmlhttp_request('/CMS/php/xml_user_friend_add_request_respond.php', 'userid='+userid+'&type='+type, 'POST', user_action_friend_request_acceptreject_processxml, xmlhttp_error, true, true);
}

function user_action_friend_request_acceptreject_processxml(xml)
{
	/*
	 * XML output format
	 *
	 *	<?xml version="1.0" ?>
	 *	<items>
     *		<item>
     *			<error></error>
     *			<msg></msg>
     *			<userid></userid>
     *			<type></type>
	 *		</item>
	 *	</items>
	*/

	// get the items in the xml document
	var items = xml.documentElement.getElementsByTagName('item');
	
	var error = getNodeValue(items.item(0), 'error');
	var msg = getNodeValue(items.item(0), 'msg');
	var userid = getNodeValue(items.item(0), 'userid_to');
	var type = getNodeValue(items.item(0), 'type');

	var button = getElement('omchat_user_action_friend_request'+type+'_button'+userid);
	button.innerHTML = msg;
}

function user_action_friend_request_read(userid, type)
{
	var button = getElement('omchat_user_action_friend_request'+type+'_read_button'+userid);
	button.innerHTML = 'OK...';
	button.disabled = true;

	xmlhttp_request('/CMS/php/xml_user_friend_add_request_response_read.php', 'userid='+userid+'&type='+type, 'POST', user_action_friend_request_response_read_processxml, xmlhttp_error, true, true);
}

function user_action_friend_request_response_read_processxml(xml)
{
	/*
	 * XML output format
	 *
	 *	<?xml version="1.0" ?>
	 *	<items>
     *		<item>
     *			<error></error>
     *			<msg></msg>
     *			<userid></userid>
     *			<type></type>
	 *		</item>
	 *	</items>
	*/

	// get the items in the xml document
	var items = xml.documentElement.getElementsByTagName('item');
	
	var error = getNodeValue(items.item(0), 'error');
	var msg = getNodeValue(items.item(0), 'msg');
	var userid = getNodeValue(items.item(0), 'userid_to');
	var type = getNodeValue(items.item(0), 'type');

	var button = getElement('omchat_user_action_friend_request'+type+'_read_button'+userid);
	button.innerHTML = msg;
}

// Remove a friend
function user_action_friend_remove(userid)
{
	if( confirm('Are you sure you want to remove this friend?') )
	{
		var button = getElement('omchat_user_action_friend_remove_button'+userid);
		button.innerHTML = 'Removing Friend...';
		button.disabled = true;

		xmlhttp_request('/CMS/php/xml_user_friend_remove.php', 'friendid='+userid, 'POST', user_action_friend_remove_processxml, xmlhttp_error, true, true);
	}
}

function user_action_friend_remove_processxml(xml)
{
	/*
	 * XML output format
	 *
	 *	<?xml version="1.0" ?>
	 *	<items>
     *		<item>
     *			<msg></msg>
     *			<userid></userid>
	 *		</item>
	 *	</items>
	*/

	// get the items in the xml document
	var items = xml.documentElement.getElementsByTagName('item');

	var msg = getNodeValue(items.item(0), 'msg');
	var userid = getNodeValue(items.item(0), 'userid_to');

	var button = getElement('omchat_user_action_friend_remove_button'+userid);
	button.innerHTML = msg;
}

function user_action_describe_send(userid, typeid)
{
	var button = getElement('omchat_user_action_describe_button'+userid);
	button.innerHTML = 'Poking...';
	button.disabled = true;

	xmlhttp_request('/CMS/php/xml_user_describe_send.php', 'userid='+userid+'&typeid='+typeid, 'POST', user_action_describe_send_processxml, xmlhttp_error, true, true);
}

function user_action_describe_send_processxml(xml)
{
	/*
	 * XML output format
	 *
	 *	<?xml version="1.0" ?>
	 *	<items>
     *		<item>
     *			<error></error>
     *			<msg></msg>
     *			<userid></userid>
	 *		</item>
	 *	</items>
	*/

	// get the items in the xml document
	var items = xml.documentElement.getElementsByTagName('item');
	
	var error = getNodeValue(items.item(0), 'error');
	var msg = getNodeValue(items.item(0), 'msg');
	var userid = getNodeValue(items.item(0), 'userid_to');

	var button = getElement('omchat_user_action_describe_button'+userid);
	button.innerHTML = msg;
}

// ignore all updates
function user_action_ignore_all(userid)
{
	if( confirm('Are you sure you want to ignore all requests?') )
	{
		var progress_em_id = 'omchat_user_action_ignore_all_button';
		progress_em = getElement(progress_em_id);
		progress_em.innerHTML = 'Ignoring...';

		xmlhttp_request('/CMS/php/xml_user_action_ignore_all.php', 'userid='+userid, 'POST', user_action_ignore_all_processxml, xmlhttp_error, true, true);
	}
}

function user_action_ignore_all_processxml(xml)
{
	/*
	 * XML output format
	 *
	 *	<?xml version="1.0" ?>
	 *	<items>
     *		<item>
     *			<msg></msg>
	 *		</item>
	 *	</items>
	*/

	// get the items in the xml document
	var items = xml.documentElement.getElementsByTagName('item');
	var msg = getNodeValue(items.item(0), 'msg');

	var progress_em_id = 'omchat_user_action_ignore_all_button';
	progress_em = getElement(progress_em_id);
	progress_em.innerHTML = msg;
	progress_em.onclick = function() { }
	progress_em.style.cursor = 'pointer';

	getElement('omchat_user_updates_container').style.display = 'none';
}