﻿var delay = 1;
var eraseTop=0;
var eraseRight=582; 
var eraseBottom=190;
var eraseLeft=0;
var object=null;  
var writeTop=0;
var writeRight=0; 
var writeBottom=0;
var writeLeft=0;
var object1=null;  
var left1top;
var right1top;
var left2top;
var right2top;
var left1bot;
var right1bot;
var left2bot;
var right2bot;
var equality;
var topcard=1;
var testonoff=0;
var numberquestions = 25;
var displayquestions = 25;
var checknumber = 2;
var testonoff = "0";
var questioncounter = 0;
var questionscorrect = 0;
var left;
var right;
var lefttop;
var leftbot;
var righttop;
var rightbot;
var focus;
var fillcode;
var solution;
var stopper = 0;
var checker = 0;
var focustrack;
var kcode;
var macadjust=1;




function keyChecker(evt){

if (evt.which) {kcode=evt.which}
     else {kcode=evt.keyCode};

  if (stopper==0) {
  	if (kcode == 13 && topcard == 1) {
		eraseProblem('problemcontainer1');
	}
	else if (kcode == 13 && topcard == 2) {
		eraseProblem('problemcontainer2');
	}
  }
}

function Get_Number(evt, numdem, torb){

if (evt.which) {kcode=evt.which}
     else {kcode=evt.keyCode};

	if (kcode>40 || kcode<37) {
		if (kcode!=13) {
		  	var input = document.getElementById("answer" + numdem)
		  	var output = document.getElementById("card" + topcard + "rightnumber" + torb)
		  	output.childNodes[0].nodeValue = input.value;
			var ans=input.value;
			var name = "sign" + topcard;
			var object=document.getElementById(name);
			var holder="card" + topcard + "leftline";
			var leftlineobject=document.getElementById(holder);
			var holder="card" + topcard + "rightline";
			var rightlineobject=document.getElementById(holder);
			var container = "problemcontainer" + topcard;
			var cardobject = document.getElementById(container);
			righttop = document.getElementById("answer1").value;
			rightbot = document.getElementById("answer2").value;
			if (topcard==1) {
				topans=right1top;
				botans=right1bot;
			}
			else {
				topans=right2top;
				botans=right2bot;
			}
			if (righttop==topans && rightbot==botans && testonoff=="0") {
				cardobject.style.color="green";
				leftlineobject.style.backgroundColor = "green";
				rightlineobject.style.backgroundColor = "green";

			}
			else {
				cardobject.style.color="rgb(20, 135, 190)";
				leftlineobject.style.backgroundColor = "rgb(20, 135, 190)";
				rightlineobject.style.backgroundColor = "rgb(20, 135, 190)";
			}
			if (righttop==topans && rightbot==botans) {
				lastanswer="1"}
			else {
				lastanswer="0"
			};
		}
	}
	if (macadjust==1) {
		if (kcode<41 && kcode>36) {
			if (focustrack=='1') {
					document.getElementById('answer2').focus();
					document.getElementById('answer2').select();
					focustrack=2;
			}	
			else {
					document.getElementById('answer1').focus();
					document.getElementById('answer1').select();
					focustrack=1;
			}
		}
	}

if (window.navigator.vendor) {
	if (window.navigator.vendor.indexOf('Apple')!= -1) {
		if (window.navigator.appName.indexOf('Netscape')!= -1) {
			if (macadjust==1) {
				macadjust=2;
			}
			else {
				macadjust=1;
			}
		}
	}
}


}

function reset() {
  	if (topcard == 1) {
		eraseProblem('problemcontainer1');
	}
	else {
		eraseProblem('problemcontainer2');
	}
}

function eraseProblem(objectID) {

if (stopper==0) {

stopper=1;
document.getElementById("answer1").value="";
	if (testonoff=="1" && lastanswer=="1") {
		questionscorrect++;
		document.getElementById("correctCounter").childNodes[0].nodeValue = questionscorrect;
		document.getElementById("feedback").style.visibility="hidden"
	};
	if (testonoff=="1" && lastanswer=="0") {
		document.getElementById("feedback").childNodes[0].nodeValue = left + " = " + right;
		document.getElementById("feedback").style.visibility="visible"
	};
	if (testonoff=="1" && parseInt(questioncounter) < (parseInt(numberquestions)-1)) {
		questioncounter++;
		document.getElementById("questionsCounter").childNodes[0].nodeValue = questioncounter
	}
	else {
		if (testonoff=="1"){
			questioncounter++;
			document.getElementById("questionsCounter").childNodes[0].nodeValue = questioncounter;
			score = parseInt((questionscorrect/questioncounter)*100);
			alert ("That's it!\nYou got " + questionscorrect + " out of " + questioncounter + " correct.\n" + "That is a score of " + score + "%.\n" +
			"Press OK to return to practice cards.");
			refreshtest();
		}
	}
	lastanswer=0;
	object=document.getElementById(objectID);
	if (object.id=='problemcontainer1') {
		object1=document.getElementById('problemcontainer2');
		do {
			do {		
			right2top=Math.floor(12 * Math.random())+1; 
			right2bot=Math.floor(12 * Math.random())+1; 
			}
			while (right2top>=right2bot);
		
			if (right2bot==12) {
				if (right2top==11 || right2top==7 || right2top==5 || right2top==1) {
					checker=1;
				}
			}
			if (right2bot==11) {
				checker=1;
			}
			if (right2bot==10) {
				if (right2top==9 || right2top==7 || right2top==3 || right2top==1) {
					checker=1;
				}
			}
			if (right2bot==9) {
				if (right2top==8 || right2top==7 || right2top==5 || right2top==4 || right2top==2 || right2top==1) {
					checker=1;
				}
			}
			if (right2bot==8) {
				if (right2top==7 || right2top==5 || right2top==3 || right2top==1) {
					checker=1;
				}
			}
			if (right2bot==7) {
				checker=1;
			}
			if (right2bot==6) {
				if (right2top==5 || right2top==1) {
					checker=1;
				}
			}
			if (right2bot==5) {
				checker=1;
			}
			if (right2bot==4) {
				if (right2top==3 || right2top==1) {
					checker=1;
				}
			}
			if (right2bot==3) {
				checker=1;
			}
			if (right2bot==2) {
				checker=1;
			}

		}
		while (checker==0) 
		right2=right2top/right2bot;
		do {
		var tempmult=Math.floor(8 * Math.random())+1; 
		left2top=right2top*tempmult; 
		left2bot=right2bot*tempmult;
		}
		while (left2top==1); 
		left2=left2top/left2bot;
		left=left2top + "/" + left2bot;
		right=right2top + "/" + right2bot;
		var holder = document.getElementById("card2leftnumbertop");
		holder.childNodes[0].nodeValue=left2top;
		var holder = document.getElementById("card2rightnumbertop");
		holder.childNodes[0].nodeValue=" ";
		var holder = document.getElementById("card2leftnumberbot");
		holder.childNodes[0].nodeValue=left2bot;
		var holder = document.getElementById("card2rightnumberbot");
		holder.childNodes[0].nodeValue=" ";
	}
	else {
		object1=document.getElementById('problemcontainer1');
		do {
			do {		
			right1top=Math.floor(12 * Math.random())+1; 
			right1bot=Math.floor(12 * Math.random())+1; 
			}
			while (right1top>=right1bot);
			if (right1bot==12) {
				if (right1top==11 || right1top==7 || right1top==5 || right1top==1) {
					checker=1;
				}
			}
			if (right1bot==11) {
				checker=1;
			}
			if (right1bot==10) {
				if (right1top==9 || right1top==7 || right1top==3 || right1top==1) {
					checker=1;
				}
			}
			if (right1bot==9) {
				if (right1top==8 || right1top==7 || right1top==5 || right1top==4 || right1top==2 || right1top==1) {
					checker=1;
				}
			}
			if (right1bot==8) {
				if (right1top==7 || right1top==5 || right1top==3 || right1top==1) {
					checker=1;
				}
			}
			if (right1bot==7) {
				checker=1;
			}
			if (right1bot==6) {
				if (right1top==5 || right1top==1) {
					checker=1;
				}
			}
			if (right1bot==5) {
				checker=1;
			}
			if (right1bot==4) {
				if (right1top==3 || right1top==1) {
					checker=1;
				}
			}
			if (right1bot==3) {
				checker=1;
			}
			if (right1bot==2) {
				checker=1;
			}
		}
		while (checker==0) 
		right1=right1top/right1bot;

		do {
		var tempmult=Math.floor(8 * Math.random())+1; 
		left1top=right1top*tempmult; 
		left1bot=right1bot*tempmult;
		}
		while (left1top==1); 
		left1=left1top/left1bot;

		left=left1top + "/" + left1bot;
		right=right1top + "/" + right1bot;
		var holder = document.getElementById("card1leftnumbertop");
		holder.childNodes[0].nodeValue=left1top;
		var holder = document.getElementById("card1rightnumbertop");
		holder.childNodes[0].nodeValue=" ";
		var holder = document.getElementById("card1leftnumberbot");
		holder.childNodes[0].nodeValue=left1bot;
		var holder = document.getElementById("card1rightnumberbot");
		holder.childNodes[0].nodeValue=" ";
	}	
	object1.style.zIndex=1;
	checker=0;
	eraseIt();
}
}

function eraseIt() {
	righttop="";
	rightbot="";
	document.getElementById("answer1").value="";
	document.getElementById("answer2").value="";
	eraseTop++;
	writeBottom++;
	eraseLeft=eraseLeft+3;
	writeRight=writeRight+3;
	object.style.clip = 'rect(' + eraseTop + 'px ' + eraseRight + 'px ' + eraseBottom + 'px ' + eraseLeft + 'px)';
	object1.style.clip = 'rect(' + writeTop + 'px ' + writeRight + 'px ' + writeBottom + 'px ' + writeLeft + 'px)';
	if (eraseLeft<587) {
		setTimeout ('eraseIt()', delay);
	}
	else {
		setItAgain();
	}		
}

function setItAgain () {
	window.status="Fractions are fun!"
	object.style.zIndex=-1;
	object.style.clip = 'rect(0px 0px 0px 0px)';
	object1.style.clip = 'rect(0px 582px 190px 0px)';
	document.getElementById('problemcontainer2').style.cursor='pointer';
	document.getElementById('problemcontainer1').style.cursor='pointer';
	eraseTop=0;
	eraseRight=582; 
	eraseBottom=190;
	eraseLeft=0;
	object=null;  
	writeTop=0;
	writeRight=0; 
	writeBottom=0;
	writeLeft=0;
	object1=null;
	if (topcard==1) {topcard=2} else {topcard=1};
	document.getElementById('problemcontainer2').style.color='rgb(20, 135, 190)';
	document.getElementById('problemcontainer1').style.color='rgb(20, 135, 190)';
	document.getElementById('card1leftline').style.backgroundColor='rgb(20, 135, 190)';
	document.getElementById('card1rightline').style.backgroundColor='rgb(20, 135, 190)';
	document.getElementById('card2leftline').style.backgroundColor='rgb(20, 135, 190)';
	document.getElementById('card2rightline').style.backgroundColor='rgb(20, 135, 190)';
	document.getElementById('answer1').select();
	document.getElementById('answer1').onfocus();
	topans="";
	botans="";
stopper=0;
}

function initProblem() {
window.status="Fractions are fun!"
		do {
			do {		
			right1top=Math.floor(12 * Math.random())+1; 
			right1bot=Math.floor(12 * Math.random())+1; 
			}
			while (right1top>=right1bot);
		
			if (right1bot==12) {
				if (right1top==11 || right1top==7 || right1top==5 || right1top==1) {
					checker=1;
				}
			}
			if (right1bot==11) {
				checker=1;
			}
			if (right1bot==10) {
				if (right1top==9 || right1top==7 || right1top==3 || right1top==1) {
					checker=1;
				}
			}
			if (right1bot==9) {
				if (right1top==8 || right1top==7 || right1top==5 || right1top==4 || right1top==2 || right1top==1) {
					checker=1;
				}
			}
			if (right1bot==8) {
				if (right1top==7 || right1top==5 || right1top==3 || right1top==1) {
					checker=1;
				}
			}
			if (right1bot==7) {
				checker=1;
			}
			if (right1bot==6) {
				if (right1top==5 || right1top==1) {
					checker=1;
				}
			}
			if (right1bot==5) {
				checker=1;
			}
			if (right1bot==4) {
				if (right1top==3 || right1top==1) {
					checker=1;
				}
			}
			if (right1bot==3) {
				checker=1;
			}
			if (right1bot==2) {
				checker=1;
			}
		}
		while (checker==0) 
		right1=right1top/right1bot;
		do {
		var tempmult=Math.floor(8 * Math.random())+1; 
		left1top=right1top*tempmult; 
		left1bot=right1bot*tempmult; 
		}
		while (left1top==1);
		left1=left1top/left1bot;
		left=left1top + "/" + left1bot;
		right=right1top + "/" + right1bot;
		var holder = document.getElementById("card1leftnumbertop");
		holder.childNodes[0].nodeValue=left1top;
		var holder = document.getElementById("card1rightnumbertop");
		holder.childNodes[0].nodeValue=" ";
		holder.style.backgroundColor='rgb(247,255,243)';
		var holder = document.getElementById("card1leftnumberbot");
		holder.childNodes[0].nodeValue=left1bot;
		var holder = document.getElementById("card1rightnumberbot");
		holder.childNodes[0].nodeValue=" ";
		document.getElementById('answer1').select();
		document.getElementById('answer1').onfocus();
		checker=0;
stopper=0;
}

function refreshcheck()
{
	if (testonoff=="0") {

		setcheck = document.getElementById("checkButton");
		setcheck.src = "../checkpalebackblue.gif";
	}
	else {

		setcheck = document.getElementById("checkButton");
		setcheck.src = "../checkpalebackblue.gif";
	}
}

function refreshtest()
{
	if (testonoff=="0") {
		testonoff = "1";
		lastanswer="0";
		questioncounter = 0;
		document.getElementById("questionsCounter").childNodes[0].nodeValue = "0";
		questionscorrect = 0;
		document.getElementById("correctCounter").childNodes[0].nodeValue = "0";
		setcheck = document.getElementById("checkButton");
		setcheck.src = "../checkpalebackblue.gif";
		document.getElementById("numbersign").style.visibility = "visible";
		document.getElementById("arrowup").style.visibility = "visible";
		document.getElementById("arrowdown").style.visibility = "visible";
		document.getElementById("questionsCounter").style.visibility = "visible";
		document.getElementById("correctCounter").style.visibility = "visible";
		document.getElementById("numberOfQuestions").style.visibility = "visible";
	}
	else {
		testonoff = "0";
		lastanswer="0";
		questioncounter = 0;
		document.getElementById("questionsCounter").childNodes[0].nodeValue = "0";
		questionscorrect = 0;
		document.getElementById("correctCounter").childNodes[0].nodeValue = "0";
		document.getElementById("numbersign").style.visibility = "hidden";
		document.getElementById("arrowup").style.visibility = "hidden";
		document.getElementById("arrowdown").style.visibility = "hidden";
		document.getElementById("questionsCounter").style.visibility = "hidden";
		document.getElementById("correctCounter").style.visibility = "hidden";
		document.getElementById("numberOfQuestions").style.visibility = "hidden";
                document.getElementById("feedback").style.visibility = "hidden";
		setcheck = document.getElementById("checkButton");
		setcheck.src = "../checkpalebackblue.gif";
	}
}

function decrease(){
	if (checknumber==0) {
	checknumber=5
	}
	else		    {
	checknumber --;
	}
checkanumber();
}

function increase() {
	if (checknumber==5) {
	checknumber=0
	}
	else		    {
	checknumber ++;
	}
checkanumber();
}	


function checkanumber(){	
	switch (checknumber)
	    {
    		case 0:
      			numberquestions = 5;
			displayquestions = 5;
      			break;
      		case 1:
      			numberquestions = 10;
			displayquestions =10;
      			break;
      		case 2:
			numberquestions = 25;
			displayquestions = 25;
      			break;
      		case 3:
      			numberquestions = 50;
			displayquestions = 50;
 			break;
      		case 4:
      			numberquestions = 100;
			displayquestions = 100;
      			break;
      		case 5:
      			numberquestions = 100000;
			displayquestions = "";
      			break;

    }
   	var Output = document.getElementById("numberOfQuestions");
   	Output.childNodes[0].nodeValue = displayquestions;
}	

