var alertTimerId = 0;
var temp1,temp2,temp3,temp4;

var factor1=3, factor2=5;
var end_animation_now=false;
var should_show_sign=0;


var feedback_timer=0; number_to_show=0;
var rank=4, finishrank=0, averagerank=0;
var timer;
var x=0;
var x_to_stop=-8000;
var type_of_game=1;
var trial=1;
var number_to_analyze=Math.floor(Math.random()*900+199);
var a=0, b=0;
var temprand, temprand1, temprand2, temprand3, temprand4, temprand5, temprand6, temprand7, temprand8;
var distance;
var competitor_speed_factor=1;
var during_end_of_stage_period=false;
var acceleration_value;

var obj_boat=new Array(100);
var trial=1;
var mousex=0, mousey=0;
var ready_for_a_new_trial="false";
var number_to_extract_temp=100;
var sentence1="", sentence2="";
var str1=" ", str2=" ", str_end_of_stage=" ";
var number1, number2;
var stage=1;
var trialminus1=0;
var number_animation_time_counter=0;
var number_animation_time_counter_active="false";
var rand1,rand2,rand3,rand4,repeatthis,number1,number2,number3,number4;
var mishtaneezer;
var dontshow=false;
var score=0;
var distance=0;
var targetvalue=Math.floor(Math.random()*900+199);

var aySound = new Array();


	picbackground= new Image(1152,864); picbackground.src="./greaterthan_images/panoramic-seattle1.jpg";

	pic1= new Image(100,100); pic1.src="./greaterthan_images/raceboat.gif";
	pic2= new Image(100,100); pic2.src="./greaterthan_images/raceboat-yellow.gif";
	pic3= new Image(100,100); pic3.src="./greaterthan_images/raceboat-green.gif";
	pic4= new Image(100,100); pic4.src="./greaterthan_images/raceboat-blue.gif";

	pic5= new Image(100,100); pic5.src="./greaterthan_images/winning_flag.gif";

	pic6= new Image(100,100); pic6.src="./greaterthan_images/greater.jpg";
	pic7= new Image(100,100); pic7.src="./greaterthan_images/equal.jpg";
	pic8= new Image(100,100); pic8.src="./greaterthan_images/smaller.jpg";





function init_main(temp){

type_of_game=temp;

//	document.onmousemove=handlemousemove;
//	document.onmousedown=handlemousedown;
//	document.onmouseup=handlemouseup;

	document.getElementById("div_instructions").style.visibility="hidden";
	document.getElementById("div_imgthumb").style.visibility="hidden";
	document.getElementById("div_linkbacktomenu").style.visibility="hidden";
	document.getElementById("div_linkbacktomathgames").style.visibility="hidden";

	document.body.style.background="black left no-repeat fixed " ; 




	init_this_task_variables();



}

function init_this_task_variables(){


	finishrank=0;
	during_end_of_stage_period=false;


	document.getElementById("img_backgroundimage1").src=picbackground.src;
	document.getElementById("img_backgroundimage2").src=picbackground.src;

	document.getElementById("img_boat1").src=pic1.src;
	document.getElementById("img_boat2").src=pic2.src;
	document.getElementById("img_boat3").src=pic3.src;
	document.getElementById("img_boat4").src=pic4.src;

	document.getElementById("img_winning_flag").src=pic5.src;

	document.getElementById("img_greater").src=pic6.src;
	document.getElementById("img_equal").src=pic7.src;
	document.getElementById("img_smaller").src=pic8.src;
	document.getElementById("img_signtoshow").src=pic7.src;


//	document.getElementById("txbx_first_number").src=pica1.src;
//	document.getElementById("txbx_second_number").src=pica10.src;






	document.getElementById("div_btnrun").style.visibility="hidden";
		document.getElementById("div_btnrun1").style.visibility="hidden";
			

	document.getElementById("div_play_easy").style.visibility="hidden";
		document.getElementById("div_play_medium").style.visibility="hidden";
			


	document.getElementById("div_exittomenu").style.visibility="visible";
//	document.getElementById("div_score1").style.visibility="visible";

	
	document.getElementById("div_backgroundimage1").style.visibility="visible";
	document.getElementById("div_backgroundimage2").style.visibility="visible";
	document.getElementById("div_boat1").style.visibility="visible";
	if(type_of_game==1){
		document.getElementById("div_boat2").style.visibility="visible";
		document.getElementById("div_boat3").style.visibility="visible";
		document.getElementById("div_boat4").style.visibility="visible";
		document.getElementById("div_rank").style.visibility="visible";
		document.getElementById("txbx_rank").value=rank;
	}

	document.getElementById("div_winning_flag").style.visibility="visible";

	document.getElementById("div_first_number").style.visibility="visible";

	document.getElementById("div_second_number").style.visibility="visible";

	document.getElementById("div_btngreater").style.visibility="visible";
	document.getElementById("div_btnequal").style.visibility="visible";
	document.getElementById("div_btnsmaller").style.visibility="visible";
//	document.getElementById("div_signtoshow").style.visibility="visible";


	document.getElementById("div_speed").style.visibility="visible";
	document.getElementById("txbx_speed").value=targetvalue;
	document.getElementById("div_distance").style.visibility="visible";
	


	obj_background1=new obj_prototype;
	obj_background2=new obj_prototype;

	obj_background1.x=0;
	obj_background2.x=7990;

	obj_background1.movex=0;
	obj_background2.movex=0;


	for (i=1;i<5 ;i++ )	{
			obj_boat[i]=new obj_prototype();
			obj_boat[i].x=50;

	}

	obj_boat[1].y=440;
	obj_boat[2].y=470;
	obj_boat[3].y=500;
	obj_boat[4].y=530;



	obj_winning_flag=new obj_prototype;
	obj_winning_flag.x=10000;  //7080   15000-60;
	obj_winning_flag.y=430;


	create_numbers();

	run_main_animation();


}


function assign_divs_and_images_to_objects(){ 


			document.getElementById("div_backgroundimage1").style.left=obj_background1.x;

			document.getElementById("div_backgroundimage2").style.left=obj_background2.x;

	for (i=1;i<5 ;i++ )	{
				document.getElementById("div_boat"+i).style.left=obj_boat[i].x;
				document.getElementById("div_boat"+i).style.top=obj_boat[i].y;

	}

			document.getElementById("div_winning_flag").style.left=obj_winning_flag.x;
			document.getElementById("div_winning_flag").style.top=obj_winning_flag.y;


		document.getElementById("txbx_speed").value=" Current Speed: "+Math.floor(obj_background1.movex*factor2+0.999);	
		document.getElementById("txbx_distance").value=" Distance Left: "+Math.floor(distance/100);	
		if(finishrank==0) {document.getElementById("txbx_rank").value=" Current Rank: "+rank;}
			else {document.getElementById("txbx_rank").value=" Current Rank: "+finishrank;}

}



function obj_prototype(){

	this.x=Math.floor(Math.random()*650+100);
	this.y=Math.floor(Math.random()*400+10);
	this.xnumber=42;
	this.ynumber=46;
	this.numbervalue=4837;
	this.movex=1;
	this.movey=0;
	this.istarget=false;
	this.animationstage=0;
	this.timer1=100;
	this.moveacceleration=0;
	this.sizex=142;
	this.sizey=68;

}


function run_main_animation(){



	if(obj_background1.x<x_to_stop){obj_background1.x=7970}
	if(obj_background2.x<x_to_stop){obj_background2.x=7970}

	obj_background1.x=obj_background1.x-obj_background1.movex;
	obj_background2.x=obj_background2.x-obj_background2.movex;

	obj_winning_flag.x=obj_winning_flag.x-obj_background2.movex;

	distance=Math.floor(obj_winning_flag.x);
	if (distance<0){ distance=0;	}

	if (obj_background1.movex>0) {obj_background1.movex=obj_background1.movex*0.999} else {obj_background1.movex=0;};
	if (obj_background2.movex>0) {obj_background2.movex=obj_background2.movex*0.999} else {obj_background2.movex=0;};


	
//	if(Math.random()*20>19.5) {obj_raceboat1.y=obj_raceboat1.y-1}
//	if(Math.random()*20>19.5) {obj_raceboat1.y=obj_raceboat1.y+1}


	for (i=2;i<5 ;i++ )	{
			if (Math.random()*20>19.8)		{obj_boat[i].movex=obj_boat[i].movex+0.1*competitor_speed_factor}
			obj_boat[i].x=obj_boat[i].x+obj_boat[i].movex;
			obj_boat[i].x=obj_boat[i].x-obj_background1.movex;	
			
	}

	rank=1;
	if (obj_boat[2].x>50){rank=rank+1};
	if (obj_boat[3].x>50){rank=rank+1};
	if (obj_boat[4].x>50){rank=rank+1};





	if(feedback_timer>0){
				document.getElementById("div_feedback").style.visibility="visible";
				mousex=0; mousey=0;
				feedback_timer=feedback_timer-1;
	
				document.getElementById("div_feedback").style.filter = 'alpha(opacity=' + feedback_timer + ')';
				document.getElementById("div_feedback").style.filter = 'alpha(opacity=' + feedback_timer + ')';


} else {
	document.getElementById("div_feedback").style.visibility="hidden";
	if(should_show_sign>0) {document.getElementById("div_signtoshow").style.visibility="visible";}

  }


if(feedback_timer==0&&during_end_of_stage_period==false){	document.getElementById("div_first_number").style.visibility="visible";		document.getElementById("div_second_number").style.visibility="visible";	}



assign_divs_and_images_to_objects()


if (obj_boat[1].x>=obj_winning_flag.x&&during_end_of_stage_period==false){
	if (finishrank==0)	{finishrank=rank	}
	end_of_stage();

	}




if(end_animation_now==false) {var timer=setTimeout('run_main_animation()',1);}
	else { clearTimeout(timer); end_animation_now=false;}

}


function create_numbers(){

			temprand1=Math.floor(Math.random()*8)+1;
			temprand2=Math.floor(Math.random()*8)+1;
			temprand3=Math.floor(Math.random()*8)+1;
			temprand4=Math.floor(Math.random()*8)+1;

			temprand5=Math.floor(Math.random()*8)+1;
			temprand6=Math.floor(Math.random()*8)+1;
			temprand7=Math.floor(Math.random()*8)+1;
			temprand8=Math.floor(Math.random()*8)+1;
			
			temprand=Math.floor(Math.random()*6);

			if(temprand==0){temprand5=temprand1}
			if(temprand==1){temprand5=temprand1; temprand6=temprand2; }
			if(temprand==2){temprand5=temprand1; temprand6=temprand2; temprand7=temprand3; }
			if(temprand==3){temprand5=temprand1; temprand6=temprand2; temprand7=temprand3; temprand8=temprand4;}


			acceleration_value=4;
			if(temprand5==temprand1) {acceleration_value=6}
			if(temprand5==temprand1&&temprand6==temprand2) {acceleration_value=8}
			if(temprand5==temprand1&&temprand6==temprand2&&temprand7==temprand3) {acceleration_value=10}
			if(temprand1==temprand5&&temprand2==temprand6&&temprand3==temprand7&&temprand4==temprand8){acceleration_value=7;}
			
						
			number1=temprand1*1000+temprand2*100+temprand3*10+temprand4;

			number2=temprand5*1000+temprand6*100+temprand7*10+temprand8;

//			if(temprand==0) {number2==number1};
			str1=number1;
			str2=number2;

	
	document.getElementById("txbx_first_number").value=""+str1;
	document.getElementById("txbx_second_number").value=""+str2;


	

}


function show_sign(x){

	if(feedback_timer==0){
		if (x==1){		document.getElementById("img_signtoshow").src=pic6.src;  should_show_sign=1;}
		if (x==2){		document.getElementById("img_signtoshow").src=pic7.src;  should_show_sign=2;}
		if (x==3){		document.getElementById("img_signtoshow").src=pic8.src;  should_show_sign=3;}
	
		document.getElementById("div_signtoshow").style.visibility="visible";
	}

}


function hide_sign(){

	document.getElementById("div_signtoshow").style.visibility="hidden";
	should_show_sign=0;
}

function button_pressed(x){

	if(feedback_timer==0){

		if (x==1)	{

		
			if(number1>number2) {
				obj_background1.movex=obj_background1.movex+acceleration_value/factor2;
				obj_background2.movex=obj_background2.movex+acceleration_value/factor2;
				document.getElementById("txbx_feedback").value="Correct!";
			} 	else {
				document.getElementById("txbx_feedback").value="Wrong!";
			}

				feedback_timer=150;
	
				document.getElementById("div_signtoshow").style.visibility="hidden";

		}

		if (x==2)	{
			if(number1==number2){
				obj_background1.movex=obj_background1.movex+acceleration_value/factor2;
				obj_background2.movex=obj_background2.movex+acceleration_value/factor2;
				document.getElementById("txbx_feedback").value="Correct!";
			} 	else {
				document.getElementById("txbx_feedback").value="Wrong!";
			}
					
				feedback_timer=150;

				document.getElementById("div_signtoshow").style.visibility="hidden";
		}

		if (x==3)	{
			if(number1<number2){
				obj_background1.movex=obj_background1.movex+acceleration_value/factor2;
				obj_background2.movex=obj_background2.movex+acceleration_value/factor2;
				document.getElementById("txbx_feedback").value="Correct!";
			} 	else {
				document.getElementById("txbx_feedback").value="Wrong!";
			}
			
				feedback_timer=150;

				document.getElementById("div_signtoshow").style.visibility="hidden";
		}

		document.getElementById("div_first_number").style.visibility="hidden";		
		document.getElementById("div_second_number").style.visibility="hidden";


		playSound(0);

		create_numbers();
	
	}  //end of if(feedback_timer==0)

}




function end_of_stage(){
	playSound(1);
	stage=stage+1;
	averagerank=averagerank+finishrank; 
	
			during_end_of_stage_period=true;

			document.getElementById("div_first_number").style.visibility="hidden";
			document.getElementById("div_second_number").style.visibility="hidden";
			document.getElementById("div_btngreater").style.visibility="hidden";
			document.getElementById("div_btnequal").style.visibility="hidden";
			document.getElementById("div_btnsmaller").style.visibility="hidden";
			should_show_sign=0;
			document.getElementById("div_signtoshow").style.visibility="hidden";


			if(type_of_game==1){
				if (finishrank==1)	{	str_end_of_stage=" You finished this stage first place!";  if(stage!=4)  str_end_of_stage+=" Now let's try it faster.";	}
				if (finishrank==2)	{	str_end_of_stage=" You finished this stage second place."; if(stage!=4)  str_end_of_stage+=" Now let's try it faster.";	}
				if (finishrank==3)	{	str_end_of_stage=" You finished this stage third place.";  if(stage!=4)  str_end_of_stage+=" Now let's try it faster.";	}
				if (finishrank==4)	{	str_end_of_stage=" You finished this stage last place.";}

				document.getElementById("txbx_end_of_stage").value=str_end_of_stage;
				document.getElementById("div_end_of_stage").style.visibility="visible";
				if(stage!=4) {document.getElementById("div_btncontinue_to_next_stage").style.visibility="visible";}
		
				if (stage==4||stage==7||stage==10){ endgame();  }
			} else { endgame()}
	
}



function prepare_next_stage(){


end_animation_now=true;
during_end_of_stage_period=false;

		

	if (finishrank!=4)	{
		if(type_of_game==1)	{competitor_speed_factor=competitor_speed_factor*1.25; 	}
	}
	

	if(stage!=4) {document.getElementById("div_end_of_stage").style.visibility="hidden";}
	document.getElementById("div_btncontinue_to_next_stage").style.visibility="hidden";

	init_this_task_variables();



}

function endgame(){

	document.getElementById("div_first_number").style.visibility="hidden";
	document.getElementById("div_second_number").style.visibility="hidden";

	document.getElementById("div_speed").style.visibility="hidden";
	document.getElementById("div_distance").style.visibility="hidden";
	document.getElementById("div_rank").style.visibility="hidden";
	document.getElementById("div_signtoshow").style.visibility="hidden";
	document.getElementById("div_btncontinue_to_next_stage").style.visibility="hidden";
	feedback_timer=1;





//	document.getElementById("div_btnrestart").style.visibility="visible";	

	document.getElementById("div_exittomenu").style.visibility="hidden";

	if(type_of_game==1){
		document.getElementById("div_btnrestart").style.visibility="visible";	
		document.getElementById("div_btnbacktomenu").style.visibility="visible";
		document.getElementById("div_btncontinue").style.visibility="visible";	
		document.getElementById("div_end_of_stage").style.visibility="visible";
		document.getElementById("div_sentence1").style.visibility="visible";
		document.getElementById("div_sentence2").style.visibility="visible";
		document.getElementById("txbx_sentence1").value=" You successfuly completed all "+(stage-1)+" stages!";
		temprand=Math.round((averagerank)/(stage-1)*10)/10;
		document.getElementById("txbx_sentence2").value=" Your average rank across all stages was "+temprand+".";
	} else {
		document.getElementById("btn_restart").value="Back to Menu";	
		document.getElementById("div_btnrestart").style.visibility="visible";	
			document.getElementById("div_sentence1").style.visibility="visible";
			document.getElementById("txbx_sentence1").value=" Great job! You made it all the way to the finish!";
		}

}


function continuegame(){

	document.getElementById("div_first_number").style.visibility="visible";
	document.getElementById("div_second_number").style.visibility="visible";
	document.getElementById("div_btngreater").style.visibility="visible";
	document.getElementById("div_btnequal").style.visibility="visible";
	document.getElementById("div_btnsmaller").style.visibility="visible";
	//document.getElementById("div_signtoshow").style.visibility="visible";


	document.getElementById("div_btncontinue").style.visibility="hidden";	
	document.getElementById("div_btnrestart").style.visibility="hidden";	
	document.getElementById("div_btnbacktomenu").style.visibility="hidden";
	document.getElementById("div_sentence1").style.visibility="hidden";
	document.getElementById("div_sentence2").style.visibility="hidden";
	document.getElementById("div_end_of_stage").style.visibility="hidden";

	prepare_next_stage();

}



					// Sound Script


						var aySound = new Array();
						// Below: source for sound files to be preloaded
						aySound[0] = "../sounds/Button.mp3";
						aySound[1] = "../sounds/DingLing.wav";

						// DO NOT edit below this line
						document.write('<BGSOUND ID="auIEContainer">')
						IE = (navigator.appVersion.indexOf("MSIE")!=-1 && document.all)? 1:0;
						NS = (navigator.appName=="Netscape" && navigator.plugins["LiveAudio"])? 1:0;
						ver4 = IE||NS? 1:0;
						onload=auPreload;

						function auPreload() {
						if (!ver4) return;
						if (NS) auEmb = new Layer(0,window);
						else {
						Str = "<DIV ID='auEmb' STYLE='position:absolute;'></DIV>";
						document.body.insertAdjacentHTML("BeforeEnd",Str);
						}
						var Str = '';
						for (i=0;i<aySound.length;i++)
						Str += "<EMBED SRC='"+aySound[i]+"' AUTOSTART='FALSE' HIDDEN='TRUE'>"
						if (IE) auEmb.innerHTML = Str;
						else {
						auEmb.document.open();
						auEmb.document.write(Str);
						auEmb.document.close();
						}
						auCon = IE? document.all.auIEContainer:auEmb;
						auCon.control = auCtrl;
						}
						function auCtrl(whSound,play) {
						if (IE) this.src = play? aySound[whSound]:'';
						else eval("this.document.embeds[whSound]." + (play? "play()":"stop()"))
						}
						function playSound(whSound) { if (window.auCon) auCon.control(whSound,true); }
						function stopSound(whSound) { if (window.auCon) auCon.control(whSound,false); }




