﻿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 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 feed;
var left11top;
var left12top;
var right1top;
var left21top;
var left22top;
var right2top;
var focustrack;
var fillcode;
var right
var solution;
var stopper = 0;
var checker = 0;
var righttop;
var topans;
var botans;

function keyChecker(evt){

	var evt = (evt) ? evt : ((window.event) ? event : null);
	if (evt.type == 'keydown') {
		charCode = (evt.charCode) ? evt.charCode : evt.keyCode;
	}
	if (stopper==0) {
  		if (charCode == 13 && topcard == 1) {
			eraseProblem('problemcontainer1');
		}
		else if (charCode == 13 && topcard == 2) {
			eraseProblem('problemcontainer2');
		}
	  }
}

function Get_Number(numdem, torb){

	if (charCode>40 || charCode<37) {
		if (charCode!=13) {

		  	var input = document.getElementById("answer"+numdem);
  			var output = document.getElementById("card" + topcard + "rightnumber" + torb);
  			output.childNodes[0].nodeValue = input.value;
			var name = "sign" + topcard;
			var object=document.getElementById(name);
			var container = "problemcontainer" + topcard;
			var cardobject = document.getElementById(container);

			righttop = parseFloat(document.getElementById("answer1").value);
									
			if (topcard==1) {
				topans=parseFloat(right1top);
			}
			else {
				topans=parseFloat(right2top);
			}

			if (righttop==topans && testonoff=="0") {
				cardobject.style.color="green";

			}
			else {
				cardobject.style.color="rgb(20, 135, 190)";

			}
			if (righttop==topans) {
				lastanswer="1"
			}
			else {
				lastanswer="0"
			};

		    }
	}
	else {
			document.getElementById('answer1').select();
			document.getElementById('answer1').onfocus();
	}


}

function reset() {
  	if (topcard == 1) {
		eraseProblem('problemcontainer1');
	}
	else {
		eraseProblem('problemcontainer2');
	}

}

function eraseProblem(objectID) {
window.status="Subtract the decimals and type in the answer!"
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 = feed;
		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 {
			left21top=Math.floor(99 * Math.random())+1; 
			left22top=Math.floor(99 * Math.random())+1; 
			var left21top = left21top/10;
			var left22top = left22top/10;
			left21top=left21top.toFixed(1);
			left22top=left22top.toFixed(1);
			right2top = parseFloat(left21top) - parseFloat(left22top);
		}
		while (right2top<.01)

			right2top=right2top.toFixed(1);
			left1=left21top;
			left2=left22top;
			var right=right2top;
			feed = left1 + " - " + left2 + " = " + right;
		
		var holder = document.getElementById("card2left1numbertop");
		holder.childNodes[0].nodeValue=left21top;
		var holder = document.getElementById("card2left2numbertop");
		holder.childNodes[0].nodeValue=left22top;	
		var holder = document.getElementById("card2rightnumbertop");
		holder.childNodes[0].nodeValue="";
	}
	else {
		object1=document.getElementById('problemcontainer1');

		do {
			left11top=Math.floor(99 * Math.random())+1; 
			left12top=Math.floor(99 * Math.random())+1; 
			left11top = left11top/10;
			left12top = left12top/10;
			left11top=left11top.toFixed(1);
			left12top=left12top.toFixed(1);
			right1top = parseFloat(left11top) - parseFloat(left12top);
		}
		while (right1top<.01)

			right1top=right1top.toFixed(1);	
	
		left1=left11top;
		left2=left12top;
		var right=right1top;
		feed = left1 + " - " + left2 + " = " + right;
		
		var holder = document.getElementById("card1left1numbertop");
		holder.childNodes[0].nodeValue=left11top;
		var holder = document.getElementById("card1left2numbertop");
		holder.childNodes[0].nodeValue=left12top;
		var holder = document.getElementById("card1rightnumbertop");
		holder.childNodes[0].nodeValue="";

	}	
	object1.style.zIndex=1;
	document.getElementById('problemcover').style.zIndex=2;
	document.getElementById('problemcover').style.cursor='wait';
	checker=0;
	eraseIt();
}
}

function eraseIt() {
	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 () {
	object.style.zIndex=-1;
	object.style.clip = 'rect(0px 0px 0px 0px)';
	object1.style.clip = 'rect(0px 582px 270px 0px)';
	document.getElementById('problemcover').style.zIndex=-2;
	document.getElementById('problemcontainer2').style.cursor='pointer';
	document.getElementById('problemcontainer1').style.cursor='pointer';
	document.getElementById('problemcover').style.cursor='auto';
	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)';
	stopper=0;
	righttop = "";
	topans = "";
	document.getElementById('answer1').select();
	document.getElementById('answer1').onfocus();
stopper=0;
}

function initProblem() {
	window.document.onkeydown = keyChecker;
window.status="Subtract the decimals and type in the answer!"
	do {
		left11top=Math.floor(99 * Math.random())+1; 
		left12top=Math.floor(99 * Math.random())+1; 
		left11top = left11top/10;
		left12top = left12top/10;
		left11top=left11top.toFixed(1);
		left12top=left12top.toFixed(1);
		right1top = parseFloat(left11top) - parseFloat(left12top);
	}
	while (right1top<.01)
		right1top=right1top.toFixed(1);	
		left1=left11top;
		left2=left12top;
		var right=right1top;
		feed = left1 + " - " + left2 + " = " + right;
		
		var holder = document.getElementById("card1left1numbertop");
		holder.childNodes[0].nodeValue=left11top;
		var holder = document.getElementById("card1left2numbertop");
		holder.childNodes[0].nodeValue=left12top;
		var holder = document.getElementById("card1rightnumbertop");
		holder.childNodes[0].nodeValue="";

	document.getElementById('answer1').select();
	document.getElementById('answer1').onfocus();
stopper=0;
}


function refreshcheck()
{
	if (testonoff=="0") {

		setcheck = document.getElementById("checkButton");
		setcheck.src = "../checkdecblue.gif";
	}

	else {

		setcheck = document.getElementById("checkButton");
		setcheck.src = "../checkdecblue.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 = "../checkdecblue.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";
		document.getElementById("helpmark").style.visibility = "hidden";
	}

	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 = "../checkdecblue.gif";
		document.getElementById("helpmark").style.visibility = "visible";
	}
}

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;
}	

