var PastIssues = function(){
  var btnPast = "#pastLink"
  $(btnPast).bind("click", function(){$("#pastPanel").toggle();});
  $("#pastClose").bind("click", function(){$("#pastPanel").hide();});
  $("#btnGetPast").bind("click", function(){
    var month = $("[name=month]").val();
    var year = $("[name=year]").val();
    $("[name=vol]").val(month + '_' + year);
    $("#frmPast").submit();
  });
  
  var d = new Date();
  var m = d.getMonth() + 1;
  var y = d.getFullYear();
  
  $("#yearSel").bind("change", function(){
    var selYear = this.value;
    $("#monthSel").empty();
    if(selYear == y){
      for(var i = 1; i <= m; i++){$("#monthSel").append('<option value="' + i + '">' + i + '</option>');}
      $("#monthSel").val(m);
    } else {
      for(var i = 1; i <= 12; i++){$("#monthSel").append('<option value="' + i + '">' + i + '</option>');}
    }
  });
}
var Ask = function(){
  $('.khnAExpandLink').bind("click", function(){
    var idx = this.id.split('_')[1];
    $("#answerPanel" + idx).css("border-color", "#e7e7e7");
    $('#expand_' + idx + '_panel').hide();
    $('#collapse_' + idx + '_panel').show();
  });
  $('.khnACollapseLink').bind("click", function(){
    var idx = this.id.split('_')[1];
    $("#answerPanel" + idx).css("border-color", "#fff");
    $('#collapse_' + idx + '_panel').hide();
    $('#expand_' + idx + '_panel').show();
  });
}
var Poll = function(){
  $("#seeResults").bind("click", function(){ShowResults()});
  $("#seeVote").bind("click", function(){ShowPoll()});
  $("#btnPollSubmit").bind("click", function(){
    var pId = $("#pollId").val();
    var curResults = $("#currentResults").val();
    if(curResults && curResults.indexOf('|') > -1){
      curResults = curResults.split('|');
      for(var i = 0; i < curResults.length; i++){if(curResults[i] < 0 || isNaN(Number(curResults[i])) || curResults[i] == undefined){curResults[i] = 0;}}
    }
    else {
      var cCt = Number($("pChoiceCt").val());
      curResults = [];
      for(var i = 0; i < cCt; i++){curResults.push(0);}
    }
    var choice = Number($('input[name=choicesgrp]:checked').val());
    curResults[(choice - 1)]++;
    $("#currentResults").val(curResults.join('|'));
    $.ajax({
      url: "../../common/buffer/knowhownewsBuffer.asp",
      data: {action:"saveresults", id: encodeURIComponent(pId), results: encodeURIComponent(curResults.join('|'))},
      type:"POST",
      error:function(){ShowResults()},
      success: function(data){
        if(data){
          var s = new Serializer();
          data = s.deserialize(data);
          if(data && data.status == 1){
            var results = decodeURIComponent(data.pollResults);
            if(results && results.indexOf('|') > -1){results = results.split('|');}
            if(results && results.length > 0){
              var largest = -1;
              var totalVotes = 0;
              for(var i = 0; i < results.length; i++){if(results[i] > largest){largest = results[i];}totalVotes += Number(results[i]);}
              var largeClass = ''; var width = ''; var percentVal = '';
              var classMap = [];classMap["off"] = "on";classMap["on"] = "off";
              ShowResults();
              var maxWidth = parseInt($(".pollGraphDiv").width());
              for(var i = 0; i < results.length; i++){
                largeClass = 'off';
                if(results[i] == largest){largeClass = "on";}
                if(results[i] == 0){percentVal = 0;}else{percentVal = results[i]/totalVotes;}
                width = Math.round(percentVal * maxWidth);
                percentVal = Math.round(percentVal * 100) + "%";
                if(width < 0){width = 0;}
                $("#pollBar_" + i).attr("style", "width:" + width + "px");
                if(!$("#pollBar_" + i).hasClass(largeClass)){$("#pollBar_" + i).removeClass(classMap[largeClass]);$("#pollBar_" + i).addClass(largeClass)}
                $('#pollVal_' + i).text(percentVal);
                if(width > 18){$('#pollVal_' + i).css({"margin":"0 5px 0 0", "color":"#fff","text-align":"right","display":"block"})}
                $("#currentResults").val(decodeURIComponent(data.pollResults))
              }
            }  
          }
        }
      }
    });
  });
  function ShowPoll(){$("#pollResults").hide();$("#poll").show();}
  function ShowResults(){$("#poll").hide();$("#pollResults").show();}
}

$(document).ready(function(){
  var pi = new PastIssues();
  var ak = new Ask();
  var pl = new Poll();
});