// JavaScript Document
var totalAnswers;
var totalAnswerImages = 0;
var pollCompleted = false;
var pollId;
var tablePadding = 1;
var tableSpacing = 4;
var tableBorder = 0;
var answerId;

var blue = "#7fbe1d";
var green = "#ec602b";

function loadPoll(data){
	var pollXml = data.responseXML.documentElement;
	var pollWrapper = "<form name='pollWidgetForm' id='pollWidgetForm' onSubmit='return sendPollResponse()' style='display:inline'>";
	pollQuestion = pollXml.getElementsByTagName('pollQuestion')[0].firstChild.nodeValue;
	pollAnswers = pollXml.getElementsByTagName('pollAnswer');
	pollWrapper += "<div id='pollQuestion'>" + pollQuestion + "</div>";
	for(i=0;i<pollAnswers.length;i++){
		/*imgSrc = ($(this).attr('img')!="null") ? "<td align='center'><img src='php/Polling/poll_images/" + $(this).attr('img') + "' /></td>" : "";*/
		pollWrapper += "<div class='pollAnswer'><table cellpadding='0' cellspacing'0'><tr><td valign='top'><input type='radio' onclick='selectOption(this)' name='pollWidgetAnswer' id='a" + i + "' /></td><td><div id='pollAnswerText'>" + pollAnswers[i].firstChild.nodeValue + "</div></td></tr></table></div>";
	}
	totalAnswers = i;
	pollWrapper += "<div id='pollButton'><span id='voteButton'><input type='image' name='voteButton' src='" + pollWidgetPath + "images/vote.png' alt='Vote' title='Vote' onmouseover='javascript:this.src=\"" + pollWidgetPath + "images/vote-over.png\";' onmouseout='javascript:this.src=\"" + pollWidgetPath + "images/vote.png\";' /></span><span><a href='#' onclick='return viewPublicResults()' onmouseout='MM_swapImgRestore()' onmouseover='MM_swapImage(\"view_result\",\"\",\"" + pollWidgetPath + "images/view_result-over.png\",1)'><img src='" + pollWidgetPath + "/images/view_result.png' name='view_result' width='97' height='29' alt='View Result' title='View Result' /></a></span></div></form>";
	
	pollWidgetDiv = new YAHOO.widget.Module("pollMarkup");
	pollWidgetDiv.setBody(pollWrapper);
	pollWidgetDiv.render();
}

function showPollResultsPublic(data){
	var pollXml = data.responseXML.documentElement;
	pollQuestion = pollXml.getElementsByTagName('pollQuestion')[0].firstChild.nodeValue;
	pollAnswers = pollXml.getElementsByTagName('pollAnswer');
	var graphIncrement = 300 / 100;
	var pollWrapper = "<div id='pollWidgetResults'>";
	pollWrapper += "<div id='resultsMarkup' class='resultMarkupCSS'><table  cellpadding='0' cellspacing='0' width='352'>";
	pollWrapper += "<tr><td id='resultQuestion' colspan='2'>" + pollQuestion + "</td></tr>";
	for(i=0;i<pollAnswers.length;i++){
		var textColor = "#ffffff";
		var graphWidth = (pollAnswers[i].getAttribute("percent") == "0") ? 1 : pollAnswers[i].getAttribute("percent");
		//imgSrc = (pollAnswers[i].getAttribute("img")!="null") ? "<td width='35'><img src='php/Polling/poll_images/" + pollAnswers[i].getAttribute("img") + "' /></td>" : "";
		pollWrapper += "<tr><td colspan='2'><table width='316' cellpadding='0' cellspacing='0'><tr><td class='resultAnswer' valign='bottom'>" + pollAnswers[i].firstChild.nodeValue + "</td><td class='smallFont' valign='bottom' align='right'>" + pollAnswers[i].getAttribute("totalResponse") + " votes</td></tr></table></td></tr>";
		pollWrapper += "<tr><td><div class='graphBg'><div class='pollGraph' style='width:" + (graphWidth*graphIncrement) + "px;background-color:" + ((answerId == i && pollCompleted == true) ? green : blue) + ";color:" + textColor + "' class='none'></div></div></td>";
		pollWrapper += "<td class='percentFont' align='left' valign='top'>" + pollAnswers[i].getAttribute("percent") + "%</td></tr>";
	}
	backToPoll = (pollCompleted == false) ? "<a href='#' onclick='return getPollXml()'>Back To Poll</a>" : "";
	totalAnswers = i;
	pollWrapper += "<tr><td colspan='2'><table width='316' cellpadding-'0' cellspacing='0'><tr><td class='totalFont'>Total votes: " + pollXml.getAttribute("totalResponse") + "</td><td align='right' class='totalFont'>" + backToPoll + "</td></tr></table></td></tr></table>";
	
	pollWrapper += "</div></div>";
	
	pollWidgetDiv = new YAHOO.widget.Module("pollMarkup");
	pollWidgetDiv.setBody(pollWrapper);
	pollWidgetDiv.render();
}

function viewPublicResults(){
	var postData = "pid=" + pollId + "&x=pollResults";
	var callback = {success:showPollResultsPublic,failure:function(){}};
	var transaction = YAHOO.util.Connect.asyncRequest('POST', pollWidgetPath + "php/Polling/polls.php", callback, postData);
	return false;
}

function selectOption(radioObj){
	answerId = radioObj.id.substring(1,radioObj.id.length);
}

function sendPollResponse(){
	if(answerId != null){
		var postData = "pid=" + pollId + "&x=logResponse&answerId=" + answerId;
		var callback = {success:showPollResultsPublic,failure:function(){}};
		var transaction = YAHOO.util.Connect.asyncRequest('POST', pollWidgetPath + "php/Polling/polls.php", callback, postData);
		pollCompleted = true;
	}
	else{
		alert("An answer is required to respond to the poll");
	}
	return false;
}

function getPollXml(){ 
	var postData = "pid=" + pollId + "&x=getWidget";
	var callback = {success:loadPoll,failure:function(){}};
	var transaction = YAHOO.util.Connect.asyncRequest('POST', pollWidgetPath + "php/Polling/polls.php", callback, postData);
	return false;
}

function checkPollCompleted(){
	var rand = Math.random();
	var postData = "pid=" + pollId + "&x=checkCompleted&r=" + rand;
	var callback = {success:returnPollCompleted,failure:function(){}};
	var transaction = YAHOO.util.Connect.asyncRequest('POST', pollWidgetPath + "php/Polling/polls.php", callback, postData);
}

function returnPollCompleted(data){
	if(data.responseText == "-1"){
		getPollXml();
	}
	else{
		pollCompleted = true;
		answerId = data.responseText;
		viewPublicResults();
	}
}

YAHOO.util.Event.onDOMReady(checkPollCompleted);