// Routinen für den Rallye Rechner
// Geschrieben von Stefan Tomek
// Eigentum der Bromberger Betriebe

function format_decimal(nummer, stellen)
{
	nummer = nummer + "";
	punkt = nummer.indexOf(".");
	
	if (punkt != -1)
	{
		index = punkt + stellen;
		nummer = nummer.substring(0, index + 2);
		if (parseInt(nummer.charAt(index + 1)) > 4)
		{
			nummer = "" + (parseFloat(nummer) + (1 / (Math.pow(10, stellen))));
			nummer = nummer.substring(0, index + 1);
		}
		else
		{
			nummer = nummer.substring(0, index + 1);
		}
	}
	else
	{
		nummer = nummer + ".";
		
		for (counter = 0; counter < stellen; counter++)
		{
			nummer = nummer + "0";
		}
	}
	
	return nummer;
}

function reset_fahrzeit()
{
	document.fahrzeit.schnitt.value = "";
	document.fahrzeit.kilometer.value = "";
	document.fahrzeit.sollzeit.value = "";
}

function reset_schnitt()
{
	document.schnitt.kilometer.value = "";
	document.schnitt.zeit.value = "";
	document.schnitt.sollschnitt.value = "";
}

function rechne_fahrzeit()
{
	if (isNaN(document.fahrzeit.schnitt.value))
	{
		alert("Bitte geben Sie einen gültigen Schnittwert ein.");
	}
	else
	{
		if (document.fahrzeit.schnitt.value < 0)
		{
			alert("Der eingegebene Schnittwert ist kleiner als 0. Bitte geben Sie einen gültigen Schnittwert ein.");
		}
		else
		{
			if(isNaN(document.fahrzeit.kilometer.value))
			{
				alert("Bitte geben Sie eine gültige Streckenlänge ein.");
			}
			else
			{
				if (document.fahrzeit.kilometer.value < 0)
				{
					alert("Die eingegebene Streckenlänge ist kleiner als 0. Bitte geben Sie eine gültige Streckenlänge ein.");
				}
				else
				{
					var kilometer = parseFloat(document.fahrzeit.kilometer.value);
					var schnitt = parseFloat(document.fahrzeit.schnitt.value);
					
					var stunden = Math.abs(kilometer / schnitt);
					var minuten = ((kilometer / schnitt) * 60) % 60;
					var sekunden = ((kilometer / schnitt) * 3600) % 60;
					
					document.fahrzeit.sollzeit.value = parseInt(stunden) + " Stunden, " + parseInt(minuten) + " Minuten und " + format_decimal(sekunden, 2) + " Sekunden"
				}
			}
		}
	}
}

function rechne_schnitt()
{
	if (isNaN(document.schnitt.kilometer.value))
	{
		alert("Bitte geben Sie einen gültigen Schnittwert ein.");
	}
	else
	{
		if (document.schnitt.kilometer.value < 0)
		{
			alert("Der eingegebene Schnittwert ist kleiner als 0. Bitte geben Sie einen gültigen Schnittwert ein.");
		}
		else
		{
			var kilometer = parseFloat(document.schnitt.kilometer.value);
			var zeit = document.schnitt.zeit.value;
			
			var stunden = parseInt(zeit.substr(0, 2));
			var minuten = parseInt(zeit.substr(3, 2));
			var sekunden = parseInt(zeit.substr(6, 2));
			
			var gesamt = stunden + (minuten / 60) + (sekunden / 3600);
			
			document.schnitt.sollschnitt.value = "Schnitt: " + format_decimal((kilometer / gesamt), 2) + " km/h"
		}
	}
}