// JavaScript Document
//allows only numbers, plus if it's a big number gives a warning
var digitsFlag =  true; //flag for warning at end of function

function niceNumbers(evt) {

evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
        ((evt.which) ? evt.which : 0));
    if (charCode > 31 && (charCode < 48 || charCode > 57)) {
        alert("Enter only numerals in this field.");
        document.primeform.number.focus();
		document.primeform.number.select()
		return false;
    }
	stringNum = "" + document.primeform.number.value
	howManyDigits= (stringNum.length+1);
	howManyDigitsNum= Number(howManyDigits);
	if((howManyDigitsNum> 7) && (digitsFlag))
		{
			alert("This is a very large number. The calculator may or may not be able to break it down before timing out.");
			digitsFlag = false;
			}
	if((howManyDigitsNum> 12))
		{alert("There is a good chance that this number is too big for the calculator to break down before it automatically times out.");
		}
return true;

}

var time =0;

function clock(){
time++;
myclock = document.getElementById('time');
myclock  = myclock.firstChild;
mywarning = document.getElementById('warning');
mywarning = mywarning.firstChild;
displayTimer=time/10;
if((displayTimer > 20) &&(displayTimer <40))
	{
	mywarning.nodeValue = "-working on it ";
	}
else if((displayTimer > 90) && (displayTimer < 160))
	{
	mywarning.nodeValue = "-This is a tough one but I haven't given up yet!";
	}

else if ((displayTimer > 160)&& (displayTimer < 240))
	{
	mywarning.nodeValue= "-This is a REALLY tough one. I may not break be able to break down the number.";
	}

else if (displayTimer > 240)
	{
	mywarning.nodeValue= "Please try a smaller number.";
	}

else{
mywarning="";
	}
myclock.nodeValue = "Calculator Timer: " + displayTimer +" seconds." ;
//max exucation: 120
}


function go()
{
      op = document.primeform.primeFunctions.selectedIndex ;
      number = document.primeform.number.value ;
	if(number =="")
		{
		alert("Please type in a number");
		return;
		}      
	if((number =="0") ||(number ==0) )
		{
		alert("Zero is not a prime number and has no prime factoriation.");
		return;
		}      


      if ( number.indexOf(",") != -1 && op != 0 )
      {
            mssg = "Enter more numbers only for factorization." ;
            alert( mssg );
            return ;
      }

      var path = "" ;

      switch( op )
      {
          case 0:
            path = "prime-factorization.php?number=" + number + "#primeFactorization" ;
			id = setInterval('clock()', 100);
			document.getElementById('theTimer').style.display= 'block';
          break;
          case 1:
            path = "what-is-sieve-of-erasthones.php?number=" + number ;
//            path = "draw-sieve.php?number=" + number ;
          break;
          case 2:
            path = "list-number-prime.php?whatNumer=" + number ;
          break;
          case 3:
            path = "primes-before-number.php?number=" + number ;
          break;
          case 4:
            path = "prime-test.php?number=" + number ;
          break;
      }

      window.top.location = path ;
}
function ownSieve(){
suffix = document.form.number.value;
url = "what-is-sieve-of-erasthones.php?number=" +suffix ;
window.top.location = url;
}
