﻿var x=600;
var level=1;
var trial=1;
var number_to_analyze=Math.floor(Math.random()*900+199);

var obj=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="";
var str1=" ";
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 targetnumber;
var tempnumber;
var wrong_answer_is_higher_timer=0;
var what_direction="ascending";
var cars_left=4;

	pic1= new Image(1024,768); pic1.src="./cars_images/road-side2.jpg"; 
	pic_black_background= new Image(1022,620); pic_black_background.src="./cars_images/black_background.gif"; 	

var delay=15;





function init_main(){


//	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="url('"+pic1.src+"') black top left no-repeat fixed "
	document.getElementById("img_black_background").src=pic_black_background.src;
	document.getElementById("div_black_background").style.visibility="visible";

	for (i=1; i<5; i++) {
		obj[i]=new obj_prototype();	
	}

	obj[1].y=250;	obj[2].y=330;	obj[3].y=410;	obj[4].y=490;


	init_this_task_variables();

	assign_divs_and_images_to_objects();	

	run_main_animation();

}

function init_this_task_variables(){

	document.getElementById("div_spaceship1").style.visibility="visible";
	document.getElementById("div_spaceship2").style.visibility="visible";
	document.getElementById("div_spaceship3").style.visibility="visible";
	document.getElementById("div_spaceship4").style.visibility="visible";

	document.getElementById("div_targetnumber").style.visibility="visible";


	document.getElementById("div_btnrun").style.visibility="hidden";
	document.getElementById("div_exittomenu").style.visibility="visible";

	document.getElementById("div_score1").style.visibility="visible";
	document.getElementById("div_score1").style.left=20;
	document.getElementById("div_score1").style.top=500;


	set_numbers_to_spaceships();
	
}


         
function set_numbers_to_spaceships(){





	document.getElementById("txbx_score1").value=score;

	rand1=Math.floor(Math.random()*8)+2;	
	rand2=Math.floor(Math.random()*8)+2;	

	temprand=0;

	do	{
		number1=Math.floor(Math.random()*100)+1; obj[1].numbervalue=number1;
		number2=Math.floor(Math.random()*100)+1; obj[2].numbervalue=number2;
		number3=Math.floor(Math.random()*100)+1; obj[3].numbervalue=number3;
		number4=Math.floor(Math.random()*100)+1; obj[4].numbervalue=number4;

		if (number1>number2&&number2>number3&&number3>number4)	{temprand=1}
	}
	while (temprand==0);
		

//	(number1==number2||number1==number3||number1==number4||number2==number3||number2==number4||number3==number4);






for (i3=0;i3<=350 ;i3++ ){	                   // mixing up their locations
	temprand=Math.floor(Math.random()*4);	

		if (temprand==0)		{tempnumber=obj[1].y;	obj[1].y=obj[2].y;	obj[2].y=tempnumber;}
		if (temprand==1)		{tempnumber=obj[2].y;	obj[2].y=obj[3].y;	obj[3].y=tempnumber;}
		if (temprand==2)		{tempnumber=obj[3].y;	obj[3].y=obj[4].y;	obj[4].y=tempnumber;}
		if (temprand==3)		{tempnumber=obj[4].y;	obj[4].y=obj[1].y;	obj[1].y=tempnumber;}

}




	document.getElementById("txbx_number1").value=number1;
	document.getElementById("txbx_number2").value=number2;
	document.getElementById("txbx_number3").value=number3;
	document.getElementById("txbx_number4").value=number4;
	

	rand1=Math.floor(Math.random()*2)+1;	

	if(rand1==1) {what_direction="ascending"} else {what_direction="descending"};

	if (what_direction=="ascending")	{sentence1=" סדר עולה - נא ללחוץ מהקטן ביותר אל הגדול ביותר."	}
	if (what_direction=="descending")	{sentence1=" סדר יורד - נא ללחוץ מהגדול ביותר אל הקטן ביותר."	}

	cars_left=4;
	for (i4=1 ;i4<5; i4++ ){obj[i4].istarget=false}


	if (cars_left==4&&what_direction=="ascending")	{obj[4].istarget=true;	}


	if (cars_left==4&&what_direction=="descending")	{obj[1].istarget=true;	}


	document.getElementById("txbx_targetnumber").value=sentence1;	



}


function assign_divs_and_images_to_objects(){ 

		
			document.getElementById("div_spaceship1").style.left=obj[1].x;
			document.getElementById("div_spaceship1").style.top=obj[1].y;
			document.getElementById("img_spaceship1").style.width=obj[1].sizex;
			document.getElementById("img_spaceship1").style.height=obj[1].sizey;
			document.getElementById("div_number1").style.left=obj[1].x+obj[1].xnumber;
			document.getElementById("div_number1").style.top=obj[1].y+obj[1].ynumber;

			document.getElementById("div_spaceship2").style.left=obj[2].x;
			document.getElementById("div_spaceship2").style.top=obj[2].y;
			document.getElementById("img_spaceship2").style.width=obj[2].sizex;
			document.getElementById("img_spaceship2").style.height=obj[2].sizey;
			document.getElementById("div_number2").style.left=obj[2].x+obj[2].xnumber;
			document.getElementById("div_number2").style.top=obj[2].y+obj[2].ynumber;

			document.getElementById("div_spaceship3").style.left=obj[3].x;
			document.getElementById("div_spaceship3").style.top=obj[3].y;
			document.getElementById("img_spaceship3").style.width=obj[3].sizex;
			document.getElementById("img_spaceship3").style.height=obj[3].sizey;
			document.getElementById("div_number3").style.left=obj[3].x+obj[3].xnumber;
			document.getElementById("div_number3").style.top=obj[3].y+obj[3].ynumber;

			document.getElementById("div_spaceship4").style.left=obj[4].x;
			document.getElementById("div_spaceship4").style.top=obj[4].y;
			document.getElementById("img_spaceship4").style.width=obj[4].sizex;
			document.getElementById("img_spaceship4").style.height=obj[4].sizey;
			document.getElementById("div_number4").style.left=obj[4].x+obj[4].xnumber;
			document.getElementById("div_number4").style.top=obj[4].y+obj[4].ynumber;



}

function set_locations_to_spaceships(){

	for (i1=1; i1<5; i1++){
		obj[i1].x=Math.floor(Math.random()*300+50);
		obj[i1].animationstage=0;
		obj[i1].timer1=100;

	}



}




function obj_prototype(){

	this.x=Math.floor(Math.random()*300+50);
	this.y=Math.floor(Math.random()*400+10);
	this.xnumber=90;
	this.ynumber=33;
	this.numbervalue=4837;
	this.movex=1;
	this.movey=0;
	this.istarget=false;
	this.animationstage=0;
	this.timer1=100;
	this.moveacceleration=0;
	this.sizex=231;
	this.sizey=80;
	this.order_to_go=0;

}



function run_main_animation(){

	for (i=1; i<5; i++){

		if (obj[i].animationstage==0){

			if (dontshow==false) document.getElementById("div_number"+i).style.visibility="visible";



			if (obj[i].timer1>0) {
				
				obj[i].timer1=obj[i].timer1-1;
				mishtaneezer=100-obj[i].timer1;
				document.getElementById("div_spaceship"+i).style.filter = 'alpha(opacity=' + mishtaneezer + ')';
				document.getElementById("div_number"+i).style.filter = 'alpha(opacity=' + mishtaneezer + ')';

				if (obj[i].timer1<95) dontshow=false;  //this is to show the spaceships and numbers in their new locations only after set their opacity to transparent.

				

			} else {
				obj[i].timer1=0;
				obj[i].animationstage=1;
				}

		}



		if (obj[i].animationstage==1){

			obj[i].x=obj[i].x+obj[i].movex;
		
			if (obj[i].x>=400||obj[i].x<=20) obj[i].movex=obj[i].movex*(-1);

			temprand=Math.floor(Math.random()*60);
			if (temprand==1) {obj[i].movex=obj[i].movex+0.3}
			if (temprand==2) {obj[i].movex=obj[i].movex-0.3}
			
			if (obj[i].movex>1.5) obj[i].movex=1.5;
			if (obj[i].movex<-1.5) obj[i].movex=-1.5;

//			temprand=Math.floor(Math.random()*20);
//			if (Math.random()*20>19) {obj[i].y=obj[i].y-1} 
//			else {if (Math.random()*20>19) {obj[i].y=obj[i].y+1} }



		}

		if (obj[i].animationstage==2){
			obj[i].movey=0;


//				document.getElementById("div_number1").style.visibility="hidden";
//				document.getElementById("div_number2").style.visibility="hidden";
//				document.getElementById("div_number3").style.visibility="hidden";
//				document.getElementById("div_number4").style.visibility="hidden";


			obj[i].animationstage=21;
			
			document.getElementById("div_spaceship"+i).style.zIndex="0";

			obj[i].moveacceleration=0.1;

		}




		if (obj[i].animationstage==21){    			//animating the spacship landing
			obj[i].moveacceleration=obj[i].moveacceleration+0.0015;
			obj[i].movex=obj[i].movex+obj[i].moveacceleration;
			obj[i].x=obj[i].x+obj[i].movex;
//			obj[i].y=obj[i].y+obj[i].movey*5;
//			obj[i].sizex=obj[i].sizex*(1-obj[i].moveacceleration)*1.001; 
//			obj[i].sizey=obj[i].sizey*(1-obj[i].moveacceleration)*1.001; 

			if(obj[i].x>1180) {document.getElementById("div_spaceship"+i).style.visibility="hidden";   document.getElementById("div_number"+i).style.visibility="hidden";  obj[i].x=1220;}


			if (what_direction=="ascending"&&obj[1].x>1200&&cars_left==0||what_direction=="descending"&&obj[4].x>1200&&cars_left==0) {	//bringing everything back to normal, and starting new values and locations

				score=score+1; 
				document.getElementById("txbx_score1").value=score;

				for (i2=1; i2<5; i2++){


					dontshow=true;
					obj[1].y=250;	obj[2].y=330;	obj[3].y=410;	obj[4].y=490;
					set_numbers_to_spaceships();					
					set_locations_to_spaceships();
					

					obj[i2].animationstage=0;


					obj[i2].movex=0;
					obj[i2].moveacceleration=0;

					

					obj[i2].sizex=231;
					obj[i2].sizey=80;

					document.getElementById("div_spaceship"+i2).style.visibility="visible";
					document.getElementById("div_number"+i2).style.visibility="visible";


				}

				if (score%10==0){
					for (i2=1; i2<5; i2++){
						obj[i2].animationstage=3;

					}

				document.getElementById("div_btncontinue").style.visibility="visible";	
				document.getElementById("div_btncontinue").style.left=730;	

				document.getElementById("div_btnrestart").style.visibility="visible";	
				document.getElementById("div_btnrestart").style.left=730;	
							     
				document.getElementById("div_btnbacktomenu").style.visibility="visible";	
				document.getElementById("div_btnbacktomenu").style.left=730;	

				document.getElementById("div_exittomenu").style.visibility="hidden";	

				document.getElementById("div_targetnumber").style.visibility="hidden";	

				sentence1="מצויין! שלחת לדרכן "+score*4+" מכוניות! כל הכבוד!";
				document.getElementById("txbx_sentence1").value=sentence1;	
				document.getElementById("div_sentence1").style.visibility="visible";	

					

				}


			}
		}

		if (obj[i].animationstage==3){

			document.getElementById("div_spaceship1").style.visibility="hidden";
			document.getElementById("div_spaceship2").style.visibility="hidden";
			document.getElementById("div_spaceship3").style.visibility="hidden";
			document.getElementById("div_spaceship4").style.visibility="hidden";

			document.getElementById("div_number1").style.visibility="hidden";
			document.getElementById("div_number2").style.visibility="hidden";
			document.getElementById("div_number3").style.visibility="hidden";
			document.getElementById("div_number4").style.visibility="hidden";
			
		}

		
	}  // close the "for (i=1; i<5; i++)


if(wrong_answer_is_higher_timer>0){
	document.getElementById("div_answerfeedback").style.visibility="visible";
	mousex=0; mousey=0;
	wrong_answer_is_higher_timer=wrong_answer_is_higher_timer-1;

//	document.getElementById("txtarea_answerfeedback").style.width="340";
	document.getElementById("txtarea_answerfeedback").value="יש מכונית אחרת עם מספר "+str1+" יותר...";		

		document.getElementById("div_answerfeedback").style.filter = 'alpha(opacity=' + wrong_answer_is_higher_timer + ')';
		document.getElementById("div_answerfeedback").style.filter = 'alpha(opacity=' + wrong_answer_is_higher_timer + ')';


} else {
	document.getElementById("div_answerfeedback").style.visibility="hidden";

  }


	if (dontshow==false) assign_divs_and_images_to_objects();



	setTimeout('run_main_animation()',delay);
}


function continuegame(){

	for (i2=1; i2<5; i2++){
		obj[i2].animationstage=0;
	}

	document.getElementById("div_spaceship1").style.visibility="visible";
	document.getElementById("div_spaceship2").style.visibility="visible";
	document.getElementById("div_spaceship3").style.visibility="visible";
	document.getElementById("div_spaceship4").style.visibility="visible";
	document.getElementById("div_targetnumber").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_exittomenu").style.visibility="visible";	
	document.getElementById("div_sentence1").style.visibility="hidden";

	dontshow=true;


}


function EvalSound(soundobj) {
  	var thissound=document.getElementById(soundobj);


  	thissound.Play();

}


         






function handlemousedown(evt) {

	var e = (window.event) ? window.event : evt; 


	if (e.pageX)  {  				//firefox

		mousex=e.pageX; //event.clientX;
		mousey=e.pageY; //event.clientY;
	} else {  					//IE
		mousex=event.clientX;
		mousey=event.clientY;

	}



	for (i=1; i<5; i++){
		if (checkforcontact(i)=="true") {            
			if (obj[i].istarget==true) {
				obj[i].animationstage=2;
				obj[i].timer1=100;
				cars_left=cars_left-1;


	
	if (cars_left==3&&what_direction=="ascending")	{obj[3].istarget=true;	}
	if (cars_left==2&&what_direction=="ascending")	{obj[2].istarget=true;	}
	if (cars_left==1&&what_direction=="ascending")	{obj[1].istarget=true;	}

	
	if (cars_left==3&&what_direction=="descending")	{obj[2].istarget=true;	}
	if (cars_left==2&&what_direction=="descending")	{obj[3].istarget=true;	}
	if (cars_left==1&&what_direction=="descending")	{obj[4].istarget=true;	}




	if (cars_left==0)		{EvalSound('sound_correct');}


			}

			else {
				if(obj[1].animationstage!=2){
					 EvalSound('sound_wrong');
					 if(what_direction=="ascending"){str1="קטן"; wrong_answer_is_higher_timer=180;} else {str1="גדול"; wrong_answer_is_higher_timer=180;};

				}



			}

		}
		

	}

	

	return false;
}

function handlemouseup(evt) {

	ready_for_a_new_trial="true";


	return false;
}


function checkforcontact(i){

var rtemp="false";


		x1=obj[i].x; x2=obj[i].x+240;
		y1=obj[i].y; y2=obj[i].y+80;


		x3=mousex; 	x4=mousex+2;
		y3=mousey; 	y4=mousey+2;
	
		if(x3>x1&&x3<x2&&y3>y1&&y3<y2) rtemp="true";
		if(x4>x1&&x4<x2&&y3>y1&&y3<y2) rtemp="true";
		if(x3>x1&&x3<x2&&y4>y1&&y4<y2) rtemp="true";
		if(x4>x1&&x4<x2&&y4>y1&&y4<y2) rtemp="true";
		
		if(x2>x3&&x2<x4&&y2>y3&&y2<y4) rtemp="true";
		if(x1>x3&&x1<x4&&y2>y3&&y2<y4) rtemp="true";
		if(x2>x3&&x2<x4&&y1>y3&&y1<y4) rtemp="true";
		if(x1>x3&&x1<x4&&y1>y3&&y1<y4) rtemp="true";	


	
	return rtemp;
}	



