/*
 * lib_user_flag.js	:	Flag a user (i.e. as cammodel, spammer, etc.)
 *
*/

// Flags a user
function user_flag(userid, nflags)
{
	var progress_em = getElement('omchat_user'+userid+'_flag_progress');
	progress_em.innerHTML = 'Flagging...';
	progress_em.style.display = 'inline';

	// asynchronously flag the user
	var flag_uri = '';
	var flag_em;
	for(var i = 1;i <= nflags;i++)
	{
		if( (flag_em = document.getElementById('omchat_user'+userid+'_flag'+i)) != null )
		{
			flag_uri += '&flag'+i+'='+(flag_em.checked?'1':'0');
		}
	}

	if( flag_uri.length > 0 )
	{
		xmlhttp_request('/CMS/php/xml_user_flag.php', 'userid='+userid+flag_uri, 'POST', user_flag_processxml, xmlhttp_error, true, true);
	}
}

// process resulting XML from `xml_user_flag.php`
function user_flag_processxml(xml)
{
	/*
	 * XML output format
	 *
	 *	<?xml version="1.0" ?>
	 *	<items>
     *		<item>
     *			<userid></userid>
     *			<flag_text></flag_text>
     *			<flagged></flagged>
	 *		</item>
	 *	</items>
	*/

	// get the items in the xml document
	var items = xml.documentElement.getElementsByTagName('item');

	var userid = getNodeValue(items.item(0), 'userid');
	var flag_text = getNodeValue(items.item(0), 'flag_text');
	var flagged = getNodeValue(items.item(0), 'flagged')=='1';

	getElement('omchat_user'+userid+'_flag_text').innerHTML = flag_text;

	var displ = flag_text.length>0?'block':'none';
	getElement('omchat_user'+userid+'_flag_dt').style.display = displ;
	getElement('omchat_user'+userid+'_flag_text').style.display = displ;

	var progress_em = getElement('omchat_user'+userid+'_flag_progress');
	progress_em.innerHTML = flagged?'Flagged':'Flag';
	progress_em.style.display = 'inline';
}