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

var votedID;

$(document).ready(function(){
  if ($.cookie('vote_id_20100222')) {
    $("#poll-container").empty();
	$("#poll-container").append("<div style='text-align:center; margin:20px 0 20px 0;' id='poll-container-loading'><img src='http://simsexchange.de/scripts/loading.gif' style='vertical-align:middle;' /> Loading...</div>");
	$("#poll-container").animate({ height : "260px" },1000);
    votedID = $.cookie('vote_id_20100222');
    $.getJSON("http://simsexchange.de/scripts/umfrage/poll.php?vote=none",loadResults);
	$("#poll-container").ajaxComplete(function(request, settings){
		$("#poll-container-loading").remove();
	});
  }
  
  $("#poll").submit(formProcess); // setup the submit handler
  
  if ($("#poll-results").length > 0 ) {
    animateResults();
  }
  
});

function formProcess(event){
  event.preventDefault();
  
  var id = $("input[@name='poll']:checked").attr("value");
  id = id.replace("opt",'');
  
  $("#poll-container").fadeOut(0,function(){
	$(this).animate({ height : "0px" },300);
    $(this).empty();
	$(this).append("<div style='text-align:center; margin:20px 0 20px 0;' id='poll-container-loading'><img src='http://simsexchange.de/scripts/loading.gif' style='vertical-align:middle;' /> Loading...</div>");
	$(this).animate({ height : "260px" },2000);
    votedID = id;
    $.getJSON("http://simsexchange.de/scripts/umfrage/poll.php?vote="+id,loadResults);
	$("#poll-container").ajaxComplete(function(request, settings){
		$("#poll-container-loading").remove();
	});    
    $.cookie('vote_id_20100222', 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;
  
  for (id in data) {
    total_votes = total_votes+parseInt(data[id][OPT_VOTES]);
  }
  
  var results_html = "<div id='poll-results'>\n\n";
  for (id in data) {
    percent = Math.round((parseInt(data[id][OPT_VOTES])/parseInt(total_votes))*100);
    if (data[id][OPT_ID] !== votedID) {
      results_html = results_html+"<dt><span class='pollBartxt'>"+data[id][OPT_TITLE]+"</span></dt><dt class='pollResult'><div id='bar"+data[id][OPT_ID]+"'style='width:0%;' class='pollBar'></div><span class='pollBartxt'>"+percent+"%</span><span class='pollBartxt'> / "+data[id][OPT_VOTES]+"</span></dt>\n";
    } else {
      results_html = results_html+"<dt><span class='pollBartxt'>"+data[id][OPT_TITLE]+"</span></dt><dt class='pollResult'><div id='bar"+data[id][OPT_ID]+"'style='width:0%;' class='pollBarActive'></div><span class='pollBartxt'>"+percent+"%</span><span class='pollBartxt'> / "+data[id][OPT_VOTES]+"</span></dt>\n";
    }
  }
  
  results_html = results_html+"<p style='font-style:italic; margin:0; font-size: 9px;'>"+total_votes+" User haben bisher abgestimmt</p></div>\n";
  
  $("#poll-container").append(results_html).fadeIn("slow",function(){
    animateResults();});
}