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

var votedID;

var voted = 0;

function CommaFormatted(amount)
{
	var delimiter = ","; // replace comma if desired
	var a = amount;
	var d = '';
	var i = parseInt(a);
	if(isNaN(i)) { return ''; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	var n = new String(i);
	var a = [];
	while(n.length > 3)
	{
		var nn = n.substr(n.length-3);
		a.unshift(nn);
		n = n.substr(0,n.length-3);
	}
	if(n.length > 0) { a.unshift(n); }
	n = a.join(delimiter);
	if(d.length < 1) { amount = n; }
	else { amount = n + '.' + d; }
	amount = minus + amount;
	return amount;
}

$(document).ready(function(){
  $("#poll").submit(formProcess); // setup the submit handler
  
  if ($("#poll-results").length > 0 ) {
    animateResults();
  }
  $('#figures').hide();
  
  if ($.cookie('vote_id')) {
    $("#poll-container").empty();
    $("#poll-container").css({'background': 'none'});
    voted = 1;

    votedID = $.cookie('vote_id');
    $.getJSON("/mapaction/poll.php?vote=none",loadResults);
  }
});

function formProcess(event){
  event.preventDefault();
  
  var id = $("input[@name='poll']:hidden").attr("value");
  id = id.replace("opt",'');
  window.log(id);
  
  $("#poll-container").fadeOut("slow",function(){
    $(this).empty();
    $("#poll-container").css({'background': 'none'});
        
    votedID = id;
    $.getJSON("/mapaction/poll.php?vote="+id,loadResults);
    
    $.cookie('vote_id', id, {expires: 365});
    });
}

function animateResults(jumps){
	var percentage = ((jumps*25)/45075); // 25km per jump/click
	if (percentage > 1) {
		var integer = Math.floor(percentage);
		var percentage = percentage-integer;
	}
	percentage = (percentage*100);
  $('.footer .speech p').clone().appendTo('#zebraMarker');
  $("#zebraMarker").css({right: "0%"}).animate({
  	right: percentage+"%",
  	bottom: ((100-percentage)/6)+"px"
  }, 'slow');
  
}

function loadResults(data) {
  var total_votes = 0;
  var jumps;
  $("#poll-container").css({'background': 'none'});
  for (id in data) {
    total_votes = total_votes+parseInt(data[id][OPT_VOTES]);
  }
  zebra_html = '<div id="zebraMarkerContainer">\n';
  zebra_html = zebra_html+'<div id="zebraMarker">\n';
  
 // var results_html = "<div id='poll-results'><h3>Poll Results</h3>\n<dl class='graph'>\n";
  for (id in data) {
    jumps = parseInt(data[id][OPT_VOTES]);
    if (data[id][OPT_ID] !== votedID) {
      zebra_html = zebra_html+"\n";
    } else {
      zebra_html = zebra_html+"\n";
    }
  }
  
  zebra_html = zebra_html+"</div>\n</div>\n";
  
  var timesRound = (jumps-1)/1803;
  var timesInteger = Math.floor(timesRound);
  
  $('.timesClicked span.num').html(CommaFormatted(jumps));
  $('.timesRound span.num').html(timesInteger);
  $('.distance span.num').html(CommaFormatted(jumps*25));
  $("#poll-container").after(zebra_html).fadeIn("slow",function(){
    animateResults(jumps);});
  $('#figures').fadeIn();
  if (voted == 1) {
  	$('.share').hide();
  }
  $('#figures').append('<a href="#" class="shareBut">Share</a>');
  $('.shareBut').hide().click(function(e){
  	e.preventDefault();
  	$('#figures .share').fadeIn();
  	$(this).fadeOut();
  });
  if (voted == 1) {
  	$('.shareBut').show();
  }
  
    $('#figures .share').prepend('<a href="#" class="closeBut">X</a>');
    $('#figures .share a.closeBut').click(function(){
    	$('#figures .share').fadeOut();
    	$('.shareBut').fadeIn();
    });
	$('#figures .share ul li a').live('click', function(e){
		e.preventDefault();
		var url = $(this).attr('href');
		 var width  = 900;
		 var height = 400;
		 var left   = (screen.width  - width)/2;
		 var top    = (screen.height - height)/2;
		 var params = 'width='+width+', height='+height;
		 params += ', top='+top+', left='+left;
		 params += ', directories=no';
		 params += ', location=no';
		 params += ', menubar=no';
		 params += ', resizable=no';
		 params += ', scrollbars=yes';
		 params += ', status=no';
		 params += ', toolbar=no';
		 window.open(url,'SocialPopUp', params);
	});
  
}
