Prime numbers and circle test

by rastrano

HTML

<script type="text/javascript">
//<![CDATA[
    // calculate successive prime numbers
    var Prime = function() {
      // current prime number
      this.prime = 1;

      // return true if NUM is prime
      this.isPrime = function(num) {
        var result = true;
        if (num !== 2) {
          if (num % 2 == 0) {
            result = false;
          } else {
            for (x=3; x<=Math.sqrt(num); x+=2) {
              if (num % x == 0) result = false;
            }
          }
        }
        return result;
      }

      // return next prime number
      this.nextPrime = function() {
        this.prime++;
        while (!this.isPrime(this.prime)) this.prime++;
        return this.prime;
      }
    }

    // prime
    this.prime = new Prime();

    // current delay
    this.delay = 100;

    // calculate primes
    function calcPrimesLoop() {
      var primes = document.getElementById('primes');
var prime=this.prime.nextPrime();
var diam=(prime/(2*Math.PI))*2
      primes.appendChild(document.createTextNode(' '+prime+" diam: "+diam));
      calcPrimesDelay = setTimeout('calcPrimesLoop()', this.delay);
    }

    // start calculating primes
    function calcPrimesStart() {
      var prime = this.prime.nextPrime();
      var calculate = document.getElementById('calculate');
      calculate.href = 'javascript:calcPrimesStop()';
      calculate.firstChild.data = 'calculate on';
      var primes = document.getElementById('primes');
      var spacer = ' ';
      if (prime == 2) spacer = '';
      primes.appendChild(document.createTextNode(spacer+prime));
      scrollPrimesStart();
      calcPrimesDelay = setTimeout('calcPrimesLoop()', this.delay);
    }

    // stop calculating primes
    function calcPrimesStop() {
      clearTimeout(calcPrimesDelay);
      var calculate = document.getElementById('calculate');
      calculate.href = 'javascript:calcPrimesStart()';
      calculate.firstChild.data = 'calculate off';
      scrollPrimesStop();
    }

    //...