prettyPrint();

// sidebar navigation $(function() {

var loc = window.location.href; // returns the full URL
if(/overview/.test(loc)) {
  $('.overview-nav').addClass('active');
}
else if(/code_index/.test(loc)) {
  $('.code-index-nav').addClass('active');
}
else if(/smells_index/.test(loc)) {
  $('.smells-index-nav').addClass('active');
}
else if(/simple_cov_index/.test(loc)) {
  $('.coverage-index-nav').addClass('active');
}

});

var turbulenceData = turbulenceData || []; var COLOR = {

'A' : '#00B50E',
'B': '#53D700',
'C': '#FDF400',
'D': '#FF6C00',
'F': '#C40009'

}; $(“#churn-vs-complexity-graph-container”).highcharts({

chart: {
  type: "scatter",
  zoomType: "xy"
},
title: {
  text: "Churn vs Complexity"
},
xAxis: {
  title: {
    enabled: true,
    text: "Churn"
  },
  floor: 0,
  startOnTick: true,
  endOnTick: true
},
yAxis: {
  title: {
    text: "Complexity"
  },
  floor: 0,
  startOnTick: true,
  endOnTick: true
},
plotOptions: {
  series: {
    turboThreshold: 0
  },
  scatter: {
    marker: {
      radius: 5,
      states: {
        hover: {
          enabled: true,
          lineColor: "rgb(100,100,100)"
        }
      }
    },
    tooltip: {
      headerFormat: "<b>{point.key}</b><br>",
      pointFormat: "Committed {point.x} times, with Flog score of {point.y}"
    }
  }
},
series: [{
  showInLegend: false,
  color: "steelblue",
  data: getMappedTurbulenceData()
}]

});

function getMappedTurbulenceData(){

var dataWithColorInformation = turbulenceData.map(function(data){
  data.color = COLOR[data.rating];
  return data;
});
return dataWithColorInformation;

};

$(function() {

$("#gpa-chart").highcharts(
  {
    chart: {
      type: 'pie',
      events: {
          load: addTitle,
          redraw: addTitle,
      },
    },
    title: {
      text: "",
      useHTML: true
    },
    plotOptions: {
      pie: {
        shadow: false
      }
    },
    tooltip: {
      formatter: function() {
        return '<b>'+ this.point.name +'</b>: '+ this.y +' %';
      }
    },
    series: [{
      name: 'Browsers',
      data: getGpaData(),
      size: '90%',
      innerSize: '65%',
      showInLegend:true,
      dataLabels: {
        enabled: false
      }
    }]
  });

});

function addTitle() {

if (this.title) {
    this.title.destroy();
}
var r = this.renderer,
    x = this.series[0].center[0] + this.plotLeft,
    y = this.series[0].center[1] + this.plotTop;
this.title = r.label('<span class="obtained-score">'+score.toFixed(2)+'</span><span class="total-score">/100</span>', 0, 0, "", 0, 0, true)
    .css({
    color: 'black'
}).hide().add();
var bbox = this.title.getBBox();
this.title.attr({
    x: x - (bbox.width / 2),
    y: y
}).show();
this.title.useHTML = true;

};

function getGpaData(){

var ratingACount = getRatingWiseCount("A");
var ratingBCount = getRatingWiseCount("B");
var ratingCCount = getRatingWiseCount("C");
var ratingDCount = getRatingWiseCount("D");
var ratingFCount = getRatingWiseCount("F");
var total = ratingACount + ratingBCount + ratingCCount + ratingDCount + ratingFCount;
return [
  {name: 'A', y: parseFloat(calculatePercentage(ratingACount, total).toFixed(2)), color: COLOR['A']},
  {name: 'B', y: parseFloat(calculatePercentage(ratingBCount, total).toFixed(2)), color: COLOR['B']},
  {name: 'C', y: parseFloat(calculatePercentage(ratingCCount, total).toFixed(2)), color: COLOR['C']},
  {name: 'D', y: parseFloat(calculatePercentage(ratingDCount, total).toFixed(2)), color: COLOR['D']},
  {name: 'F', y: parseFloat(calculatePercentage(ratingFCount, total).toFixed(2)), color: COLOR['F']},
];

};

function calculatePercentage(gradeCount, total){

return (gradeCount/total)*100;

};

function getRatingWiseCount(rating){

var count = 0;
turbulenceData.forEach(function(data, index){
  if(data.rating === rating){
    count++;
  }
});
return count;

};

function emphasizeLineFromFragment() {

emphasizeLine(window.location.hash)

}

$(“.js-file-code”).on(“click”, “.js-smell-location”, emphasizeLineFromHref);

function emphasizeLineFromHref(event) {

if (hrefTargetIsOnCurrentPage(this) && !event.ctrlKey) {
  $(".js-file-code li").removeClass("highlight");
  var lineId = "#" + this.href.split("#")[1];
  emphasizeLine(lineId);
  return false;
}

}

function hrefTargetIsOnCurrentPage(aTag) {

return (window.location.pathname === aTag.pathname);

}

function emphasizeLine(lineReference) {

scrollToTarget(lineReference);
highlightLine(lineReference);

}

function scrollToTarget(lineReference) {

window.location.hash = lineReference;
$.scrollTo(lineReference, {
  duration: 300,
  easing: "linear",
  offset: {top: -87},
  axis: 'y'
});

}

function highlightLine(lineReference) {

$(lineReference).addClass("highlight");

}

$(“#toggle-code”).on(“click”, showCode); $(“#toggle-smells”).on(“click”, showSmells); $(“#toggle-coverage”).on(“click”, showCoverage);

function showCode() {

$('#toggle-code').parent('li').addClass('active');
$('#toggle-smells').parent('li').removeClass('active');
$('#toggle-coverage').parent('li').removeClass('active');
$(".smells").hide();

}

function showSmells() {

$('#toggle-code').parent('li').removeClass('active');
$('#toggle-coverage').parent('li').removeClass('active');
$('#toggle-smells').parent('li').addClass('active');
$(".smells").show();

}

function showCoverage() {

$('#toggle-code').parent('li').removeClass('active');
$('#toggle-smells').parent('li').removeClass('active');
$('#toggle-coverage').parent('li').addClass('active');
$(".coverage").show();

}

$(“#codeTable”)

.tablesorter({          // Sort the table
  sortList: [[0,1]]
});

$(“#smellsTable”)

.tablesorter({          // Sort the table
  sortList: [[0,0]]
});

$(“#coverageTable”)

.tablesorter({          // Sort the table
  sortList: [[0,1]]
});

$(“.js-timeago”).timeago();

$(function(){

$('.table-header').click(function(){
  $('.table-header').not(this).each(function(){
    $(this).removeClass('active');
    $(this).find('.sort-type').removeClass('table-header-asc');
    $(this).find('.sort-type').removeClass('table-header-desc');
  });
  if($(this).hasClass('active')){
    $(this).find('.sort-type').toggleClass('table-header-asc table-header-desc');
  }
  else{
    $(this).addClass('active');
    $(this).find('.sort-type').addClass('table-header-asc');
  }
});

});

function assignIdsToCodeLines(){

$($('.linenums')[1]).children().each(function(index){
  $(this).attr('id', "L" + index)
});

};

$(document).ready(function(){

assignIdsToCodeLines();
emphasizeLineFromFragment();
initTableFilters();

});

var initTableFilters = function() {

$("#codeTable").filterTable({ignoreColumns: [2], placeholder: 'Filter by Name'});
$("#smellsTable").filterTable({ignoreColumns: [2, 3, 4, 5], placeholder: 'Filter by Smell or Location', inputSelector: 'form-control'});
$("#coverageTable").filterTable({ignoreColumns: [0], placeholder: 'Filter by Smell or Location', inputSelector: 'form-control'});

}