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

var votedID;

$(document).ready(function(){
  try {
  $("#pollvote").bind("click", formProcess);
  $("#pollresult").bind("click", function(e) {
	e.preventDefault();
	$.getJSON("vote.php?poll_id=" + $("input[name='poll_id']").attr("value"), loadResults);
  });
  
  if ($("#poll-results").length > 0 ) {
    animateResults();
  }
  
  if ($.cookie('poll_id') == $("input[name='poll_id']").attr("value")) {
    $("#poll-container").empty();
    votedID = $.cookie('poll_id');
    $.getJSON("vote.php?poll_id="+votedID, loadResults);
  }
  } catch(e) {}
});

function formProcess(event){
  event.preventDefault();
  
  var option_id = $("input[name='option_id']:checked").attr("value");
  var poll_id = $("input[name='poll_id']").attr("value");
  
  //$("#poll-container").fadeOut("slow",function(){
    $("#poll-container").empty()
	.append('الرجاء الانتظار...');
    votedID = option_id;
    
	$.post("vote.php", {poll_id:poll_id, option_id:option_id}, loadResults, "json");

    $.cookie('poll_id', poll_id, {expires: 365});
   // });
}

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

function loadResults(data) {
  var total_votes = 0;
  var percent;
  
  if (data.error) {
	  alert("Error");
  }
  
  for (id in data) {
    total_votes = total_votes+parseInt(data[id][OPT_VOTES]);
  }
  
  var results_html = "<div id='poll-results'><dl class='graph'>\n";
  for (id in data) {
    percent = Math.round((parseInt(data[id][OPT_VOTES])/parseInt(total_votes))*100);
	//results_html += '<label><input type="radio" name="option_id" value="{$option.option_id}" id="opt{$smarty.foreach.poll.iteration}" /> {$option.option_title}</label>';
    results_html += '<dt class="bar-title">' + data[id][OPT_TITLE] + '</dt>';
	results_html += '<dd class="bar-container"><div id="bar' + data[id][OPT_ID] + '" style="width:0%"></div><span>'+percent+'%</span></dd>';
	results_html += '<dd class="votes"> عدد الأصوات: '+parseInt(data[id][OPT_VOTES])+'</dd>';
  }
  
  results_html = results_html+"</dl><p>إجمالي الأصوات: "+total_votes+"</p></div>\n";
 
  $("#poll-container").empty();
  $("#poll-container").append(results_html).fadeIn("slow",function(){
    animateResults();});
}