/* Poll */
jQuery(document).ready(function(){
 var pollCookies = jQuery('.blox-poll-asset .blox-poll .blox-poll-cookie');
 jQuery("#blox-poll .poll-option-wrapper .poll-view-options").hide();

  // if poll and cookie present
  if(pollCookies.length > 0){
    pollPosition = 0;
    jQuery.each(pollCookies,function(){
      var pollCookie = jQuery(this);
			
      if(jQuery.cookie(pollCookie.attr("title")) != null){
	  var pollPost = pollCookie.parent().find(".blox-poll-results form").attr('action');
	  var pollFlashPath = pollCookie.parent().find(".blox-poll-results form input[name='path']").val();

          if(Number(jQuery.cookie(pollCookie.attr("title")+"-totalVotes"))==Number(jQuery(jQuery(".blox-poll")[pollPosition]).find(".blox-poll-totalVotes").attr("title"))){
            getPollResults(pollPosition,pollPost,pollFlashPath,jQuery.cookie(pollCookie.attr("title")));
          } else {
            getPollResults(pollPosition,pollPost,pollFlashPath);
          }
	  
jQuery(jQuery('.poll-option-wrapper')[pollPosition]).find(".poll-submit").hide();
jQuery(jQuery('.poll-option-wrapper')[pollPosition]).find(".poll-view-results").hide(); 
jQuery(jQuery('.poll-option-wrapper')[pollPosition]).html("<strong>You voted</strong>: "+ jQuery.cookie(pollCookie.attr("title")));
	 
	jQuery(jQuery('.loading-poll')[pollPosition]).hide();
      } else {
	  jQuery(jQuery('.blox-poll')[pollPosition]).show();
	  jQuery(jQuery('.loading-poll')[pollPosition]).hide();
      }
      pollPosition++;
    });
  } else { jQuery(".loading-poll").css({'display':'none'}); }

  // view poll results without voting
  jQuery('.poll-view-results').bind("click",function(){
    var pollTotalVotes = Number(jQuery(this).parents(".blox-poll").find(".blox-poll-totalVotes").attr("title"));
    var pollCount = jQuery(this).parents("form").find("input[name='number']").val();
    var pollFlashPath = jQuery(this).parents("form").find("input[name='path']").val();
    var pollPost = jQuery(this).parents("form").attr('action');

    if(pollTotalVotes!=0){
    	jQuery(this).parents(".poll-option-wrapper").find(".poll-submit").hide();
    	jQuery(this).parents(".poll-option-wrapper").find(".poll-view-results").hide();
    	jQuery(this).parents(".poll-option-wrapper").find(".poll-view-options").show();

    	getPollResults(pollCount,pollPost,pollFlashPath);
    }else{alert("There have not yet been any votes cast");}
  return false;});

  // view poll answers after viewing the results
  jQuery('.poll-view-options').bind("click",function(){
    jQuery(this).parents(".blox-poll").find(".blox-poll-output").hide();

    jQuery(this).parents(".blox-poll").find(".poll-answers").removeClass("showChart");
    jQuery(this).parents(".blox-poll").find(".poll-answers input").show();
    jQuery(this).parents(".blox-poll").find(".swatch").hide();
    jQuery(this).parents(".blox-poll").find(".vote-percentage").hide();

    jQuery(this).parents(".poll-option-wrapper").find(".poll-submit").show();
    jQuery(this).parents(".poll-option-wrapper").find(".poll-view-results").show();
    jQuery(this).parents(".poll-option-wrapper").find(".poll-view-options").hide();
  return false; });

// poll submit action
jQuery('.poll-vote-form').submit(function(){
  var pollPreview = jQuery(this).find("input[name='preview']").val();
  var pollFlashPath = jQuery(this).find("input[name='path']").val();
  if(pollPreview=="true"){
    alert("Voting Disabled in Preview");
    return false;
  }else{
    var pollId = jQuery(this).find("input[name='id']").val();
    var pollCount = jQuery(this).find("input[name='number']").val();
    var pollCookie = jQuery(jQuery('.blox-poll-asset .blox-poll .blox-poll-cookie')[pollCount]);
    var pollPost = jQuery(this).attr('action');
    var pollAction = jQuery(this).find("input[name='action']").val();
    var pollAnswer = jQuery(this).find("input[name='answer']:checked").val();
    var pollAnswerNice = jQuery(this).find("input[name='answer']:checked").attr('title');
    var pollVoteTotal = Number(jQuery(jQuery(".blox-poll")[pollCount]).find(".blox-poll-totalVotes").attr("title"));
    var pollRedirect = jQuery(this).find("input[name='redirect']").val();

    if(!pollAnswer){
      alert('Please make a selection!');
    return false;} else {
		
    jQuery.ajax({
      type: "POST",
      url: pollPost,
      data: "format=json&action=poll:vote&answer="+pollAnswer,
      success: function(result){ //alert("success");
        jQuery.cookie(pollCookie.attr("title"),pollAnswerNice);
        jQuery.cookie(pollCookie.attr("title")+"-totalVotes",pollVoteTotal);
	
	if(pollRedirect=="true"){
	        window.location.href=pollPost;
	} else { getPollResults(pollCount,pollPost,pollFlashPath,pollAnswerNice); }
		
        jQuery(jQuery('.poll-option-wrapper')[pollCount]).find(".poll-submit").hide();
        jQuery(jQuery('.poll-option-wrapper')[pollCount]).find(".poll-view-results").hide();
        jQuery(jQuery('.poll-option-wrapper')[pollCount]).html("<strong>You voted</strong>: "+ pollAnswerNice);

       jQuery(jQuery('.loading-poll')[pollCount]).hide();
      }
   });
 }
 return false;}
});


});


// get poll results
function getPollResults(pollId, pollPost, pollFlashPath, pollAnswer){
	jQuery.ajax({
		type: "GET",
		url: pollPost+'?action=poll:results',
		dataType: "json",
		success: function(result){ //alert("get poll results success");
			var bloxPoll=jQuery(".blox-poll")[pollId];
			var chartType = jQuery(bloxPoll).find('.blox-poll-type').attr('title');
			var chartHeight = jQuery(bloxPoll).find('.blox-poll-height').attr('title');
			var chartWidth = jQuery(bloxPoll).find('.blox-poll-width').attr('title');
			var totalVotes = Number(jQuery(bloxPoll).find('.blox-poll-totalVotes').attr('title'));

			var p=0;
			var pollXML = '';
			var pollSeries = '';
			var pollGraph = '';
			var pollColors = '';
			var fakeIt = false;
			//if(pollAnswer != null){ alert(pollAnswer); }

			var swfFile = (chartType!='pie' ? 'amcolumn.swf' : 'ampie.swf');
			var poll = new SWFObject(pollFlashPath+swfFile, "ampie", chartWidth, chartHeight, "8", "#FFFFFF");
			
				
			// loop json and build xml per chart type
			jQuery.each(result.results,function(i,item){
				p++;
				if(item.votes==null){item.votes=0;};
				if(chartType!='pie'){
					if(item.text == pollAnswer){
						pollSeries += "<value xid='"+p+"'><![CDATA["+item.text+"]]></value>";
						pollGraph += "<value xid='"+p+"' color='"+item.color+"'>"+(Number(item.votes)+1)+"</value>";

						totalVotes++;
						jQuery(jQuery(".blox-poll-asset")[pollId]).find(".total-votes").text(totalVotes);
						jQuery(jQuery(jQuery(".blox-poll-asset")[pollId]).find(".poll-answers").find(".vote-count")[p-1]).text(Number(item.votes+1));
						fakeIt=true;
					} else {
						pollSeries += "<value xid='"+p+"'><![CDATA["+item.text+"]]></value>";
						pollGraph += "<value xid='"+p+"' color='"+item.color+"'>"+Number(item.votes)+"</value>";
					}
					pollColors +=item.color+',';
				} else {
					if(item.text == pollAnswer){
						pollXML += "<slice title='"+cleanQuestion(item.text)+"'>"+(Number(item.votes)+1)+"</slice>";

						totalVotes++;
						jQuery(jQuery(".blox-poll-asset")[pollId]).find(".total-votes").text(Number(totalVotes));
						jQuery(jQuery(jQuery(".blox-poll-asset")[pollId]).find(".poll-answers").find(".vote-count")[p-1]).text(Number(item.votes+1));
						fakeIt=true;
					} else {
						pollXML += "<slice title='"+cleanQuestion(item.text)+"'>"+Number(item.votes)+"</slice>";
					}
					pollColors +=item.color+',';
				}
			});

			if(fakeIt){
jQuery.each(jQuery(jQuery(".blox-poll-asset")[pollId]).find(".poll-answers").find("dd"),function(){
  var voteCount = Number(jQuery(this).find(".vote-count").text());
  var votePercentage = Math.round((voteCount/totalVotes)*100);
  jQuery(this).find(".vote-percentage").text(votePercentage+"%")
});
			}
			
			if(chartType!='pie'){ //alert("chart type bar");
				poll.addVariable("path",pollFlashPath);
				poll.addVariable("chart_data", encodeURIComponent("<chart><series>"+pollSeries+"</series><graphs><graph>"+pollGraph+"</graph></graphs></chart>"));
				//poll.addVariable("key","amcharts.key");
				poll.addVariable("chart_settings", encodeURIComponent("<settings><type>column</type><data_type>xml</data_type><data_labels>false</data_labels><depth>10</depth><angle>30</angle><legend><enabled>false</enabled></legend><values><category><enabled>false</enabled></category><value><integers_only>true</integers_only></value></values><plot_area><margins><left>30</left></margins></plot_area></settings>"));
			} else { //alert("chart type pie");
				/* if(chartWidth<280){ */
					chartRadius = Number(chartWidth)*.4;
					chartYpos = Number(chartHeight)*.5; /* 115; */
					chartXpos = Number(chartWidth)*.5;
				/* }else{chartYpos=125;chartXpos=150;chartRadius=110;} */

				poll.addVariable("path",pollFlashPath);
				poll.addVariable("chart_data", encodeURIComponent('<pie>'+pollXML+'</pie>'));
				//poll.addVariable("key","amcharts.key");                   
				poll.addVariable("chart_settings", encodeURIComponent("<settings><data_type>xml</data_type><font>arial</font><text_size>12</text_size><text_color>#000000</text_color><decimals_separator>.</decimals_separator><thousands_separator>,</thousands_separator><digits_after_decimal>1</digits_after_decimal><pie><x>"+chartXpos+"</x><y>"+chartYpos+"</y><radius>"+chartRadius+"</radius><height>10</height><angle>15</angle><start_angle>90</start_angle><colors>"+pollColors+"</colors></pie><animation><start_time>2</start_time><start_effect>regular</start_effect><pull_out_on_click></pull_out_on_click><pull_out_time>1.5</pull_out_time><pull_out_only_one>true</pull_out_only_one></animation><data_labels><radius>-10%</radius><show></show><show_lines>false</show_lines></data_labels><plot_area><margins><top>30px</top></margins></plot_area><balloon><alpha>80</alpha></balloon><legend><y>225</y><enabled>false</enabled><values><enabled>true</enabled><text><![CDATA[{percents}%]]></text></values></legend></settings>"));
			}
			// write results
			jQuery("#blox-poll-results-"+pollId+" .poll-answers").addClass("showChart");
			jQuery("#blox-poll-results-"+pollId+" .poll-answers input").hide();
			jQuery("#blox-poll-results-"+pollId+" .swatch").show();
			jQuery("#blox-poll-results-"+pollId+" .vote-percentage").show();
			poll.write("blox-poll-output-"+pollId); 
			jQuery("#blox-poll-output-"+pollId).show();
			jQuery('.blox-poll').show();
		},
		complete: function(){ /*alert("get poll results complete"); */},
		error: function(XMLHttpRequest, textStatus, errorThrown){ /*alert('An Error Ocurred while getting poll results!' + errorThrown);*/ }
	});
}

function cleanQuestion(question){
	question = question.replace('"',"");
	question = question.replace("'","");
return question;}
