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

var votedID;
//var developerid = $("input[@name='developer_id']").attr("value");

$(document).ready(function(){
  $("#poll").submit(formProcess); // setup the submit handler
  
  if ($("#poll-results").length > 0 ) {
    animateResults();
  }
              
  if ($.cookie('vote_id' + developerid) && pageinfo == 1 ) {
    $("#poll-container").empty();
    votedID = $.cookie('vote_id' + developerid);
    $.getJSON("poll.php?vote=none&developer=" + developerid + "&openrice=" + openprice,loadResults_normal);
  }
  
   if (!$.cookie('vote_id' + developerid)){
      $("#poll-container").css("display", "block");
   }
  
});

function formProcess(event){
  event.preventDefault();
  
  var id = $("input[@name='poll']:checked").attr("value");
  var goid = $("input[@name='goid']").attr("value");
  var goprice = $("input[@name='goprice']").attr("value");
  
  id = id.replace("opt",'');
  
  $("#poll-container").fadeOut("slow",function(){
    $(this).empty();                  
    
    votedID = id;
    //$.getJSON("poll.php?vote=" + id + "&amp;developer_id=" + developerid + "&amp;open_price=" + openprice ,loadResults);
    $.getJSON("poll.php?vote=" + id + "&developer=" + goid + "&amp;openprice=" + goprice ,loadResults);
    $.cookie('vote_id' + goid , id, {expires: 10});
    });
}

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

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'><h3>投票結果</h3>\n";
  for (id in data) {
        
       results_html = results_html+"<dl class='graph'>\n"; 
        
    percent = Math.round((parseInt(data[id][OPT_VOTES])/parseInt(total_votes))*100);
    if (data[id][OPT_ID] !== votedID) {
      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>\n"; 
    
  }
  
  results_html = results_html+"<p>投票人數: "+total_votes+"</p></div>\n";
  
  $("#poll-container").append(results_html).fadeIn("slow",function(){
   
   animateResults();});

}
function loadResults_normal(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'><h3>投票結果</h3>\n";
  for (id in data) {
        
       results_html = results_html+"<dl class='graph'>\n"; 
        
    percent = Math.round((parseInt(data[id][OPT_VOTES])/parseInt(total_votes))*100);
    if (data[id][OPT_ID] !== votedID) {
      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>\n"; 
    
  }
  
  results_html = results_html+"<p>投票人數: "+total_votes+"</p></div>\n";
  
  $("#poll-container").append(results_html).fadeIn("slow",function(){
   
   animateResults();});
}