D3.js donut chart

HTML

<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;
 ...