// All source code is property of SmokemUp.com!
// You are NOT allowed To re-use this code in any way.
// If you want something like it write it yourself, like I did!

var i = 0;
var treeTimeout;
var lightnum  = "";
var comp_staged = Math.floor(Math.random()*2001);
var tree_delay = Math.floor(Math.random()*3500);
// var grandma_rt = Math.floor(Math.random()*450);
// var vinny_rt = Math.floor(Math.random()*350);
var comp_rt = ((Math.floor(Math.random()*450) + 450) / 1000);
var comp_light = 1000 * comp_rt;
// var bigdaddy_rt = Math.floor(Math.random()*101);
var left_staged = 0;    // Initialize computer stage var
var RacerPreStaged = 0;	// Initialize racer pre-staged var
var RacerStaged = 0;	// Initialize racer staged var
var racer_rt = 0;		// Initalize racer reaction time
var done_racing = 0; // Initialize variable used to tell if you've already raced.
var racer_red_light = 0;
var comp_red_light = 0;
var vrt = 0;
startTime = new Date();

if (comp_rt < .5 ) {
  comp_red_light = 1;		
}




if (document.images) {
  var l1_off = new Image()
 	l1_off.src = "/games/images/sm_bulb_off.jpg"
  var l1_on = new Image()
  	l1_on.src = "/games/images/sm_bulb_on.jpg"
  var l2_off = new Image()
  	l2_off.src = "/games/images/lg_bulb_grn_off.jpg"
  var l2_on = new Image()
  	l2_on.src = "/games/images/lg_bulb_grn_on.jpg"
  var l6_off = new Image()
    l6_off.src = "/games/images/lg_bulb_red_l_off.jpg"
  var l6_on = new Image()
    l6_on.src = "/games/images/lg_bulb_red_l_on.jpg"	  
  var l7_off = new Image()
 	l7_off.src = "/games/images/sm_bulb_off.jpg"
  var l7_on = new Image()
  	l7_on.src = "/games/images/sm_bulb_on.jpg"

  var r1_off = new Image()
 	r1_off.src = "/games/images/lg_bulb_yel_off.jpg"
  var r1_on = new Image()
  	r1_on.src = "/games/images/lg_bulb_yel_on.jpg"
  var r2_off = new Image()
  	r2_off.src = "/games/images/lg_bulb_grn_off.jpg"
  var r2_on = new Image()
  	r2_on.src = "/games/images/lg_bulb_grn_on.jpg"
  var r3_off = new Image()
  	r3_off.src = "/games/images/lg_bulb_yel_off.jpg"
  var r3_on = new Image()
  	r3_on.src = "/games/images/lg_bulb_yel_on.jpg"
  var r4_off = new Image()
  	r4_off.src = "/games/images/lg_bulb_yel_off.jpg"
  var r4_on = new Image()
  	r4_on.src = "/games/images/lg_bulb_yel_on.jpg"
  var r5_off = new Image()
  	r5_off.src = "/games/images/lg_bulb_yel_off.jpg"
  var r5_on = new Image()
  	r5_on.src = "/games/images/lg_bulb_yel_on.jpg"	
  var r6_off = new Image()
    r6_off.src = "/games/images/lg_bulb_red_l_off.jpg"
  var r6_on = new Image()
    r6_on.src = "/games/images/lg_bulb_red_l_on.jpg"	  
  var r7_off = new Image()
 	r7_off.src = "/games/images/sm_bulb_off.jpg"
  var r7_on = new Image()
  	r7_on.src = "/games/images/sm_bulb_on.jpg"	
	
	
  var both3_off = new Image()
    both3_off.src = "/games/images/lg_bulb_red_off.jpg"
  var both3_on = new Image()
    both3_on.src = "/games/images/lg_bulb_red_on.jpg"
  var both4_off = new Image()
	both4_off.src = "/games/images/lg_bulb_yel_l_off.jpg"
  var both4_on = new Image()
  	both4_on.src = "/games/images/lg_bulb_yel_l_on.jpg"
  var both5_off = new Image()
  	both5_off.src = "/games/images/lg_bulb_grn_l_off.jpg"
  var both5_on = new Image()
  	both5_on.src = "/games/images/lg_bulb_grn_l_on.jpg"	

}

function pstage() {
  if (RacerPreStaged ==0) {
	document.r11.src = "/games/images/sm_bulb_on.jpg";
	document.r12.src = "/games/images/sm_bulb_on.jpg";
	RacerPreStaged = 1;
	setTimeout("cstage(0)", comp_staged );
  } else {
    alert("You've already Pre-Staged");
  }	
	
}

function stage() {
  if (RacerStaged ==0) {	
	if (RacerPreStaged == 1) {
		document.r21.src = "/games/images/sm_bulb_on.jpg";
		document.r22.src = "/games/images/sm_bulb_on.jpg";
		RacerStaged = 1;
		ready_to_race();
	} else {
		alert("You must Pre-Stage First!");
	}
  } else {
    alert("You've already Staged, Try the Go Button!");
  }
}

function cstage(i) {
 i++;
	if (i == 1) {
		document.l11.src = "/games/images/sm_bulb_on.jpg";
		document.l12.src = "/games/images/sm_bulb_on.jpg";
		setTimeout("cstage(1)", comp_staged );
	}
	if (i == 2) {
		document.l21.src = "/games/images/sm_bulb_on.jpg";
		document.l22.src = "/games/images/sm_bulb_on.jpg";	
		cstage(2);
	}
	if (i == 3) {
		left_staged = 1;
		ready_to_race();
	}
}

function ready_to_race() {
	if (RacerStaged == 1) {
		if (left_staged == 1) {
			startTime = new Date(); // get start time		
			setTimeout("stdTree(0)", tree_delay );
		} 
	}
}


function stdTree(i){
	i++;
	if (i == 1) {
		document.r3.src = "/games/images/lg_bulb_yel_on.jpg";
		document.l3.src = "/games/images/lg_bulb_yel_l_on.jpg";
		setTimeout("stdTree(1)",500);
	}
	if (i == 2) {
		document.r4.src = "/games/images/lg_bulb_yel_on.jpg";
		document.l4.src = "/games/images/lg_bulb_yel_l_on.jpg";	
		setTimeout("stdTree(2)",500);		
	}
	if (i == 3) {
		document.r5.src = "/games/images/lg_bulb_yel_on.jpg";
		document.l5.src = "/games/images/lg_bulb_yel_l_on.jpg";
		setTimeout("complight()", comp_light );
	}

}

function complight() {
	// Now time for computer reaction time
	if (comp_rt > .499) {
		document.l6.src = "/games/images/lg_bulb_grn_l_on.jpg";
	} else {
		document.l7.src = "/games/images/lg_bulb_red_l_on.jpg";
		comp_red_light = 1;		
	}
}

function reaction_time() {
        vrt = eval(document.tree.vrt.value);	
	endTime = new Date(); //get finish time
	if (done_racing == 0) {
	if (RacerStaged == 1) {
		racer_rt = (((( endTime.getTime() - startTime.getTime() ) / 1000 ) - (1 + (tree_delay/1000)) + vrt) * 1000); 
		racer_rt = Math.round(racer_rt);
		// vrt = Math.round(vrt);
		//racer_rt = (racer_rt / 1000);
		racer_rt = (racer_rt / 1000) ;
		// alert( vrt);
		
		

		// Light correct light for racer
		if (racer_rt > .499) {
			document.r6.src = "/games/images/lg_bulb_grn_on.jpg";
		} else {
			document.r7.src = "/games/images/lg_bulb_red_on.jpg";
			racer_red_light = 1;			
		}

		// write the reaction times to the board
		document.tree.l_rt.value = comp_rt;
		document.tree.r_rt.value = racer_rt;		
		
		if ( racer_rt < comp_rt) {
		  if (racer_red_light == 0) { 
		    win = 1;
		  } else {
		    win = 0;
		  }
		} else {
		  if (comp_red_light == 0) { 
		    win = 0;
		  } else {
		    if (racer_red_light == 0) { 
		      win = 1;
		    } else {
		      win = 0;
		    }		  	
		  }		  
		}	
		// uncomment to debug alert( "computer red light = " + comp_red_light + "\n comp_rt = " + comp_rt + "\n comp_light = " + comp_light );

                if ( win == 1 ) {
                   // racer won
                   if ((racer_rt > 0.499) && (racer_rt < 0.510)) { my_message = "Winner! \nU da man, Superstar!";}
                   if ((racer_rt > 0.511) && (racer_rt < 0.600)) { my_message = "Winner! \nExcellent!";}
                   if ((racer_rt > 0.601) && (racer_rt < 0.700)) { my_message = "Winner! \nNot bad, but could be better";}
                   if ((racer_rt > 0.701) && (racer_rt < 0.900)) { my_message = "Winner! \n Lucky bastard!";}                   
                   if (racer_rt > 0.900) { my_message = "Winner! \n You don't deserve to win with this time!";}                                                                            
                } else {
                   // computer won
                   if (racer_rt < 0.499) { my_message = "You Lost \nRedlight, You lose!";}
                   if ((racer_rt > 0.499) && (racer_rt < 0.510)) { my_message = "You Lost \n Fantastic R/T but the computer was better";}
                   if ((racer_rt > 0.511) && (racer_rt < 0.600)) { my_message = "You Lost \n Good job but not good enough.";}
                   if ((racer_rt > 0.601) && (racer_rt < 0.700)) { my_message = "You Lost \n Keep trying you'll get it";}
                   if ((racer_rt > 0.701) && (racer_rt < 0.900)) { my_message = "You Lost \n Put it on the trailer!";}                   
                   if (racer_rt > 0.900) { my_message = "You Lost \n Are you DEAD, go back to sleep!";}                                                                            
        	}
                alert( my_message);
			
	} else {
		alert("Switch to De-Caf \n You must First Pre-Stage \n then Stage!");
	}
	} else {
		alert("You've already hit Go \n Try racing again!");
	}	
	done_racing = 1;
}
