// Global variable definitions
// DB column numbers
var OPT_ID = 0;
var OPT_TITLE = 1;
var OPT_VOTES = 2;

var pollID;

jQuery(document).ready(function()
{
	jQuery("#poll").submit(formProcess); // setup the submit handler
	if (jQuery("#poll-results").length > 0 )
	{
		animateResults();
	}
	/*
	currentPollID is set in the html.
	var currentPollID = jQuery.ajax({
	url: "/mxpPoll.php?actn=getCurrent",
	async: false
	}).responseText;
	//jQuery("#poll-container").empty();
	//jQuery.getJSON("/mxpPoll.php?actn=getResult&pollID="+currentPollID,loadResults);
	*/
	if (jQuery.cookie('pollID') && jQuery.cookie('pollID') == currentPollID)
	{
		jQuery("#poll-container").empty();
		pollID = jQuery.cookie('pollID');
		jQuery.getJSON("/mxpPoll.php?actn=getResult&pollID="+pollID,loadResults);
	}
});

function formProcess(event)
{
	event.preventDefault();
  
	var id = jQuery("input[@name='poll']:checked").attr("value");
  
	id = id.replace("opt",'');
	id_arr = id.split("_");
	var pollID = id_arr[0];
	var paID = id_arr[1];
  
	jQuery("#poll-container").fadeOut("slow",function(){
	jQuery(this).empty();
    
	//votedID = id;
	jQuery.getJSON("/mxpPoll.php?actn=submit&pollID="+pollID+"&paID="+paID, loadResults);
    
	jQuery.cookie('pollID', pollID, {expires: 365});
	});
}

function animateResults()
{
	jQuery("#poll-results div").each(function()
	{
		var percentage = jQuery(this).next().text();
		jQuery(this).css({width: "0%"}).animate({
			width: percentage}, 'slow');
		});
}

function loadResults(data)
{
	var total_votes = 0;
	var percent;
	for (id in data)
	{
		if(parseInt(data[id][OPT_VOTES]))
			total_votes = total_votes+parseInt(data[id][OPT_VOTES]);
	}
	
	var results_html = "<div id='poll-results'><h4>Poll Results</h4>\n<dl class='graph'>\n";
	for (id in data)
	{
		if(parseInt(data[id][OPT_VOTES]))
		{
			percent = Math.round((parseInt(data[id][OPT_VOTES])/parseInt(total_votes))*100);
			if (data[id][OPT_ID] !== pollID) {
				results_html = results_html+"<dt class='bar-title'>"+data[id][OPT_TITLE]+"</dt><dd class='bar-container'><div id='bar"+data[id][OPT_ID]+"'style='width:0%;'>&nbsp;</div><strong>"+percent+"%</strong></dd>\n";
			}
			else
			{
				results_html = results_html+"<dt class='bar-title'>"+data[id][OPT_TITLE]+"</dt><dd class='bar-container'><div id='bar"+data[id][OPT_ID]+"'style='width:0%;background-color:#0066cc;'>&nbsp;</div><strong>"+percent+"%</strong></dd>\n";
			}
		}

	}
	results_html = results_html+"</dl><p>Total Votes: "+total_votes+"</p></div>\n"; 
	jQuery("#poll-container").append(results_html).fadeIn("slow",function(){
	animateResults();});
}