D3.js donut chart

HTML

<script src="http://d3js.org/d3.v3.min.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
	<script src="http://d3js.org/d3.v3.min.js"></script>
	<div id="holder">

		<div id="theamazingpie"></div>
	</div>
	
		<ul class="testers">
		<li><a href="#">1</a></li>
		<li><a href="#">2</a></li>
	</ul>

CSS

body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin: auto;
  position: relative;
  width: 960px;
}

text {
  font: 10px sans-serif;
}

form {
  position: absolute;
  right: 10px;
  top: 10px;
}

JavaScript

var dataset = [
    {
        data: [53245, 28479, 19697, 24037, 40245, 34, 45, 64]
    },
    {
        data: [855, 79, 97, 237, 245, 7, 44, 7, 56, 6]
    }
];


var theAmazingPie = {

    buildPieStructure: function(){
             
        this.width = 300;
        this.height = 300;
        this.radius = Math.min(this.width, this.height) / 2;
        
        this.color = d3.scale.category20();
        
        this.pie = d3.layout.pie()
            .sort(null);
        
        
        this.arc = d3.svg.arc()
            .innerRadius(this.radius - 100)
            .outerRadius(this.radius - 50);
        
       this.svg = d3.select("#theamazingpie").append("svg")
            .attr("width", this.width)
            .attr("height", this.height)
            .append("g")
            .attr("transform", "translate(" + this.width / 2 + "," + this.height / 2 + ")");
        
  
    },
    oldPieData: "",
    pieTween: function(d, i){
        var that = this;
        
						var theOldDataInPie = theAmazingPie.oldPieData;
						// Interpolate the arcs in data space

						var s0;
						var e0;

						if(theOldDataInPie[i]){
								s0 = theOldDataInPie[i].startAngle;
								e0 = theOldDataInPie[i].endAngle;
						} else if (!(theOldDataInPie[i]) && theOldDataInPie[i-1]) {
								s0 = theOldDataInPie[i-1].endAngle;
								e0 = theOldDataInPie[i-1].endAngle;
						} else if(!(theOldDataInPie[i-1]) && theOldDataInPie.length > 0){
								s0 = theOldDataInPie[theOldDataInPie.length-1].endAngle;
								e0 = theOldDataInPie[theOldDataInPie.length-1].endAngle;
						} else {
								s0 = 0;
								e0 = 0;
						}

						var i = d3.interpolate({startAngle: s0, endAngle: e0}, {startAngle: d.startAngle, endAngle: d.endAngle});

						return function(t) {
								var b = i(t);
								return theAmazingPie.arc(b);
						};
	},
    removePieTween: function(d, i) {				
						var that = this;
						s0 = 2 * Math.PI;
						e0 = 2 * Math.PI;
						var i =...