// JavaScript Documentvar Pool = {};

var Pool = {};

Pool.init = function ()
{
	this.loadData ();
}

Pool.loadData = function (renderResults)
{
		$j.ajax ({
			url: '_services/listar_enquete.php',
			dataType: 'xml',
			complete: function (XMLHttpRequest, textStatus)
			{
				Pool.xmlData = $j(XMLHttpRequest.responseXML).get ();
				
				if (renderResults) Pool.renderResults ();	
				else Pool.render ();
			}
		});
}

Pool.render = function ()
{
	var optItem = '';
	//
	$j('#enquete-titulo').text($j('enquete', this.xmlData).attr('titulo'));
	//
	$j('opcao', this.xmlData).each (function (i)
	{
		optItem += '<input type="radio" class="enquete-option" id="enquete-option" name="enquete-option" ' + (i == 0 ? 'checked="checked"' : '') + ' value="' + $j(this).attr('eqo_id') + '" /><label>' + $j(this).attr('eqo_rotulo') + '</label><br />';
	});
	//
	$j('#enquetes-options').empty ();
	$j('#enquetes-options').append (optItem);
	$j('#form-enquetes #btn-submit').show ();
	//
	this.setForm ();
}

Pool.renderResults = function ()
{
	var enqItem = '';
	
	$j('opcao', this.xmlData).each (function (i)
	{
		enqItem += $j(this).attr('eqo_rotulo') + ' - ' + Math.round ($j(this).attr('percentual')) + '%';
        enqItem += '<div style="width: ' + $j(this).attr('percentual') + '%; height:10px; background-color:#0066FF">&nbsp;</div>';
	});
	
	$j('#enquete-titulo').text ('Resultado da enquete');
	$j('#enquete-titulo').append ('<br/>');
	
	$j('#enquetes-results').empty ();
	$j('#enquetes-results').append (enqItem);
	$j('#enquetes-results').show ();
}

Pool.setForm = function ()
{
	this.frm = $j('#form-enquetes');
	
	this.frm.submit (function ()
	{
		$j('#enquetes-options').hide ();
		$j('#form-enquetes #btn-submit').hide ();
		$j('#enquete-titulo').text('Aguarde...');
		
		var eqo_id = getCheckedValue(document.forms['form-enquetes'].elements['enquete-option']);
		//
		$j.ajax (
		{
			url: '_services/votar_enquete.php?eqo_id=' + eqo_id,
			dataType: 'xml',
			complete: function (XMLHttpRequest, textStatus)
			{
				Pool.loadData (true);
			}
		});
		
		return false;
	});
}

function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

//
$j(function ($j) { Pool.init () } );