/*

Race !

The functions required to calculate and run the race.

NOTES:
Random Events turned off

*/

if (debug) { alert('race loaded'); }

function go_race(form) {

	move_horse(form);
	show_horse(form);
	check_fin(form);
	if (winner == 0) {
		window.setTimeout('go_race(the_form)', scroll_speed);
	} else {
		finished(form);
	}

}

function check_fin(form) {

	for (var i = 1; i <= this.horses_racing; i++) {
		if (horses[i].grass.length > fin_line) {
			fin_line = horses[i].grass.length;
			winner = i;
		}
	}

}

function calculate_move(bonus) {

	if (randNum(100)<(50+bonus)) {
		return " ";
	} else {
		return "";
	}

}

function random_event() {

	var target = randNum(this.horses_racing)+1;
	var event_type = randNum(30);
	
	//alert("Horse "+target+" gets event "+event_type);
	if (event_type > 25) {
		horses[target].bonus = horses[target].bonus + randNum(25); 
		//big burst of energy!
	} else if (event_type > 20) {
		horses[target].bonus = horses[target].bonus + randNum(20) - randNum(20); 
		//burst of energy?
	} else if (event_type > 10) {
		horses[target].bonus = horses[target].bonus + randNum(10) - randNum(10); 
		// burst of energy?
	} else if (event_type <2) {
		horses[target].horse_fell=1;
	}

}

/*  for running wrong way.
//horses[i].grass=horses[i].grass.substring(1,horses[i].grass.length-(randNum(10)>5));
*/

function move_horse(form) {

	for (var i = 1; i <= this.horses_racing; i++) {
		if (!horses[i].horse_fell) {
			horses[i].grass = horses[i].grass + calculate_move(i);
		}
	}

	if (randNum(100)>98) {
		random_event();
	}

}


function show_horse(form) {
/*
eval("form.horse_"+i).value = horses[i].grass+horse_wrong_ascii[randNum(2)+1];
*/

	for (var i = 1; i <= this.horses_racing; i++) {
		//if (horses[i].bonus>-100) {
		if (!horses[i].horse_fell) {
			eval("form.horse_"+i).value = horses[i].grass+horse_ascii[randNum(2)+1];
		} else {
			eval("form.horse_"+i).value = horses[i].grass+horse_fallen;
		}
	}

}


function reset_vals(form) {

	for (var i = 1; i <= this.horses_racing; i++) {
		eval("form.horse_"+i).value = ""
	}

	winner = 0;
	fin_line = the_fin_line;

}

function finished(form) {
	//alert(winner);
	form.Start.disabled = true; // grey out start button.
	form.Bet.disabled = true; // grey out start button.
	var winner_name = horses[winner].name;
	alert(winner_name+" Is the winner");
	calc_bets(winner);
	make_dough();
	check_losers();
	//reset_vals(form);
}
