/*
 * lib_poll_vote.js :	Poll voting functionality
 *
*/

function poll_vote(container_em_id, optionid, full)
{
	var container_em = getElement(container_em_id);
	var container_progress_em = getElement(container_em_id+'_progress');

	container_em.style.display = 'none';
	container_progress_em.style.display = 'block';

	// asynchronously vote for given option in given poll
	xmlhttp_request('/CMS/php/xml_poll_vote.php', 'container_em_id='+container_em_id+'&optionid='+optionid+'&full='+(full?'1':'0'), 'POST', poll_vote_processxml, xmlhttp_error, true, true);
}

function poll_vote_processxml(xml)
{
	/*
	 * XML output format
	 *
	 *	<?xml version="1.0" ?>
	 *	<items>
     *		<item>
     *			<container_em_id></container_em_id>
     *			<html></html>
	 *		</item>
	 *	</items>
	*/

	var items = xml.documentElement.getElementsByTagName('item');

	var container_em_id = getNodeValue(items.item(0), 'container_em_id');
	var html = getNodeValue(items.item(0), 'html');

	var container_em = getElement(container_em_id);
	var container_progress_em = getElement(container_em_id+'_progress');
	container_em.innerHTML = html;
	container_progress_em.style.display = 'none';
	container_em.style.display = 'block';
}

// user clicks to change his vote
function poll_vote_change(container_em_id, pollid, full)
{
	var container_em = getElement(container_em_id);
	var container_progress_em = getElement(container_em_id+'_progress');

	container_em.style.display = 'none';
	container_progress_em.style.display = 'block';

	// asynchronously vote for given option in given poll
	xmlhttp_request('/CMS/php/xml_poll_vote_change.php', 'container_em_id='+container_em_id+'&pollid='+pollid+'&full='+(full?'1':'0'), 'POST', poll_vote_processxml, xmlhttp_error, true, true);
}

// user clicks to view poll results
function poll_vote_results(container_em_id, pollid, full)
{
	var container_em = getElement(container_em_id);
	var container_progress_em = getElement(container_em_id+'_progress');

	container_em.style.display = 'none';
	container_progress_em.style.display = 'block';

	// asynchronously vote for given option in given poll
	xmlhttp_request('/CMS/php/xml_poll_vote_results.php', 'container_em_id='+container_em_id+'&pollid='+pollid+'&full='+(full?'1':'0'), 'POST', poll_vote_processxml, xmlhttp_error, true, true);
}