// JavaScript Document
function stripBad(string) {
    for (var i=0, output='', valid="eE-0123456789."; i<string.length; i++)
       if (valid.indexOf(string.charAt(i)) != -1)
          output += string.charAt(i)
    return output;
}

function comma(num) {
 var n = Math.floor(num);
 var myNum = num + "";
 var myDec = ""

 if (myNum.indexOf('.',0) > -1){
  myDec = myNum.substring(myNum.indexOf('.',0),myNum.length);
 }

  var arr=new Array('0'), i=0;
  while (n>0)
    {arr[i]=''+n%1000; n=Math.floor(n/1000); i++;}
  arr=arr.reverse();
  for (var i in arr) if (i>0) //padding zeros
    while (arr[i].length<3) arr[i]='0'+arr[i];
  return arr.join() + myDec;
}

function isPrime(ptest)
{
  if (ptest == 2)
    return 0;

  if (ptest % 2 == 0)
  {
    return 2;
  }

  var primeFound = true;
  var maxPrimeSeek = Math.sqrt(ptest)+1;

  for (var i = 3; i <= maxPrimeSeek; i++,i++)
  {
    if (!(ptest % i))
	{
	  primeFound = false;
	  break;
	}
  }

  if (primeFound)
    return 0;
  else
    return i;
}

function calculate(form)
{
  var num = parseInt(stripBad(form.number.value));
  form.number.value = num;

  if (isNaN(num) || num < 2)
  {
    form.result.value = "Please enter a valid number!";
	form.result2.value = "";
	return;
  }

  var primeNum = isPrime(num);

  if (primeNum == 0)
  {
    form.result.value = num + " is a prime number.";
	form.result2.value = "";
  }
  else
  {
    form.result.value = comma(num) + " is NOT a prime number.";
	form.result2.value = "It is divisible by " + primeNum;
  }

}

