<!-- Hide script form older browsers
// Original script: Anton Steenkamp
// Website: http://www.sportsdigest.co.za
// This script may be copied and used without any changes or modifications.
// If you so wish to use this script on your site, feel free. I am only asking
// a linked reference to www.sportsdigest.co.za. If you let me know the website
// where you are using it, I'll create a link to yours as well.

function newWindow()
	{
	helpWindow = window.open('hlp_bin/runhlp.htm','hlpWin','width=580,height=350')
	}

function leading(A)
	{
	if(A < 10)
		A = '0'+A;
	return A;
	}

function runcalc() {

	foundError = false;
		if(document.runprediction.ad.value == "")    {
		alert("\nPlease enter any reasonable distance.");
		foundError = true;
		document.runprediction.ad.focus();
		return false;
		}
	
	foundError = false;
		if((document.runprediction.ath.value == "") && (document.runprediction.atm.value == "") && (document.runprediction.ats.value == ""))    {
		alert("\nPlease enter your actual/planned finish time for the distance.");
		foundError = true;
		document.runprediction.ath.focus();
		return false;
		}
	else {
		if(document.runprediction.ath.value == "") document.runprediction.ath.value = 0;
		if(document.runprediction.atm.value == "") document.runprediction.atm.value = "00";
		if(document.runprediction.ats.value == "") document.runprediction.ats.value = "00";
		}

	// Variable Factors & Values
	F1 = 1.06;
	F2 = 1.245;

	// ACTUAL INFORMATION
	// Actual Distance (AD)
	AD = document.runprediction.ad.value;

	//Actual Time (AT)
	ATH = document.runprediction.ath.value;
	ATM = document.runprediction.atm.value;
	ATS = document.runprediction.ats.value;

	AT = ((ATH * 3600) + (ATM * 60) + (ATS * 1));

	// Actual Pace (AP) Calculation
	AP = (AT / AD);
		APH = Math.floor(AP / 3600);
		APM = Math.floor((AP - (APH * 3600)) / 60);
		APS = Math.floor(AP - (APH * 3600) - (APM * 60));

	document.runprediction.aph.value = APH;
	document.runprediction.apm.value = leading(APM);
	document.runprediction.aps.value = leading(APS);

	// Planned Distance (PD)
	PD = document.runprediction.pd.value;

	if(PD == "")
		{
		PD = AD;
		}
	else
		{
		PD = PD * 1;
		}

	document.runprediction.pd.value = PD;

	// Predicted Time (PT) Calculation
	if((AD <= "50") && (PD <= "50"))
		PT = Math.pow((PD / AD),F1) * AT;
	if((AD > "50") && (PD <= "50"))
		PT = Math.pow((PD / 50),F1) * (Math.pow((50 / AD),F2) * AT);
	if((AD <= "50") && (PD > "50"))
		PT = Math.pow((PD / 50),F2) * (Math.pow((50 / AD),F1) * AT);
	if((AD > "50") && (PD > "50"))
		PT = Math.pow((PD / AD),F2) * AT;

			PTH = Math.floor(PT / 3600);
			PTM = Math.floor((PT - (PTH * 3600)) / 60);
			PTS = Math.floor(PT - (PTH * 3600) - (PTM * 60));

	document.runprediction.pth.value = PTH;
	document.runprediction.ptm.value = leading(PTM);
	document.runprediction.pts.value = leading(PTS);


	// Predicted Pace (PP)
	PP = (PT / PD);

		PPH = Math.floor(PP / 3600);
		PPM = Math.floor((PP - (PPH * 3600)) / 60);
		PPS = Math.floor(PP - (PPH * 3600) - (PPM * 60));

	document.runprediction.pph.value = PPH;
	document.runprediction.ppm.value = leading(PPM);
	document.runprediction.pps.value = leading(PPS);

	// INFORMATION FOR TIME TABLE
	// 10km Calculations
	if(AD <=50)
		PT10 = Math.pow((10 / AD),F1) * AT;
	if(AD > 50)
		PT10 = Math.pow((10 / 50),F1) * (Math.pow((50 / AD),F2) * AT);

			PT10H = Math.floor(PT10 / 3600);
			PT10M = Math.floor((PT10 - (PT10H * 3600)) / 60);
			PT10S = Math.floor(PT10 - (PT10H * 3600) - (PT10M * 60));

		PP10 = (PT10 / 10);

			PP10H = Math.floor(PP10 / 3600);
			PP10M = Math.floor((PP10 - (PP10H * 3600)) / 60);
			PP10S = Math.floor(PP10 - (PP10H * 3600) - (PP10M * 60));

	document.timetable.pt10h.value = PT10H;
	document.timetable.pt10m.value = leading(PT10M);
	document.timetable.pt10s.value = leading(PT10S);
	//document.timetable.pp10h.value = PP10H;
	document.timetable.pp10m.value = leading(PP10M);
	document.timetable.pp10s.value = leading(PP10S);

	// 15km Calculations
	if(AD <=50)
		PT15 = Math.pow((15 / AD),F1) * AT;
	if(AD > 50)
		PT15 = Math.pow((15 / 50),F1) * (Math.pow((50 / AD),F2) * AT);

			PT15H = Math.floor(PT15 / 3600);
			PT15M = Math.floor((PT15 - (PT15H * 3600)) / 60);
			PT15S = Math.floor(PT15 - (PT15H * 3600) - (PT15M * 60));

		PP15 = (PT15 / 15);

			PP15H = Math.floor(PP15 / 3600);
			PP15M = Math.floor((PP15 - (PP15H * 3600)) / 60);
			PP15S = Math.floor(PP15 - (PP15H * 3600) - (PP15M * 60));

	document.timetable.pt15h.value = PT15H;
	document.timetable.pt15m.value = leading(PT15M);
	document.timetable.pt15s.value = leading(PT15S);
	//document.timetable.pp15h.value = PP15H;
	document.timetable.pp15m.value = leading(PP15M);
	document.timetable.pp15s.value = leading(PP15S);

	// 21.1km Calculations
	if(AD <=50)
		PT21 = Math.pow((21.1 / AD),F1) * AT;
	if(AD > 50)
		PT21 = Math.pow((21.1 / 50),F1) * (Math.pow((50 / AD),F2) * AT);

			PT21H = Math.floor(PT21 / 3600);
			PT21M = Math.floor((PT21 - (PT21H * 3600)) / 60);
			PT21S = Math.floor(PT21 - (PT21H * 3600) - (PT21M * 60));

		PP21 = (PT21 / 21.1);

			PP21H = Math.floor(PP21 / 3600);
			PP21M = Math.floor((PP21 - (PP21H * 3600)) / 60);
			PP21S = Math.floor(PP21 - (PP21H * 3600) - (PP21M * 60));

	document.timetable.pt21h.value = PT21H;
	document.timetable.pt21m.value = leading(PT21M);
	document.timetable.pt21s.value = leading(PT21S);
	//document.timetable.pp21h.value = PP21H;
	document.timetable.pp21m.value = leading(PP21M);
	document.timetable.pp21s.value = leading(PP21S);

	// 32km Calculations
	if(AD <=50)
		PT32 = Math.pow((32 / AD),F1) * AT;
	if(AD > 50)
		PT32 = Math.pow((32 / 50),F1) * (Math.pow((50 / AD),F2) * AT);

			PT32H = Math.floor(PT32 / 3600);
			PT32M = Math.floor((PT32 - (PT32H * 3600)) / 60);
			PT32S = Math.floor(PT32 - (PT32H * 3600) - (PT32M * 60));

		PP32 = (PT32 / 32);

			PP32H = Math.floor(PP32 / 3600);
			PP32M = Math.floor((PP32 - (PP32H * 3600)) / 60);
			PP32S = Math.floor(PP32 - (PP32H * 3600) - (PP32M * 60));

	document.timetable.pt32h.value = PT32H;
	document.timetable.pt32m.value = leading(PT32M);
	document.timetable.pt32s.value = leading(PT32S);
	//document.timetable.pp32h.value = PP32H;
	document.timetable.pp32m.value = leading(PP32M);
	document.timetable.pp32s.value = leading(PP32S);

	// 42.2km Calculations
	if(AD <=50)
		PT42 = Math.pow((42.2 / AD),F1) * AT;
	if(AD > 50)
		PT42 = Math.pow((42.2 / 50),F1) * (Math.pow((50 / AD),F2) * AT);

			PT42H = Math.floor(PT42 / 3600);
			PT42M = Math.floor((PT42 - (PT42H * 3600)) / 60);
			PT42S = Math.floor(PT42 - (PT42H * 3600) - (PT42M * 60));

		PP42 = (PT42 / 42.2);

			PP42H = Math.floor(PP42 / 3600);
			PP42M = Math.floor((PP42 - (PP42H * 3600)) / 60);
			PP42S = Math.floor(PP42 - (PP42H * 3600) - (PP42M * 60));

	document.timetable.pt42h.value = PT42H;
	document.timetable.pt42m.value = leading(PT42M);
	document.timetable.pt42s.value = leading(PT42S);
	//document.timetable.pp42h.value = PP42H;
	document.timetable.pp42m.value = leading(PP42M);
	document.timetable.pp42s.value = leading(PP42S);

	// 50km Calculations
	if(AD <=50)
		PT50 = Math.pow((50 / AD),F1) * AT;
	if(AD > 50)
		PT50 = Math.pow((50 / AD),F2) * AT;

			PT50H = Math.floor(PT50 / 3600);
			PT50M = Math.floor((PT50 - (PT50H * 3600)) / 60);
			PT50S = Math.floor(PT50 - (PT50H * 3600) - (PT50M * 60));

		PP50 = (PT50 / 50);

			PP50H = Math.floor(PP50 / 3600);
			PP50M = Math.floor((PP50 - (PP50H * 3600)) / 60);
			PP50S = Math.floor(PP50 - (PP50H * 3600) - (PP50M * 60));

	document.timetable.pt50h.value = PT50H;
	document.timetable.pt50m.value = leading(PT50M);
	document.timetable.pt50s.value = leading(PT50S);
	//document.timetable.pp50h.value = PP50H;
	document.timetable.pp50m.value = leading(PP50M);
	document.timetable.pp50s.value = leading(PP50S);

	// 56km Calculations
	if(AD <=50)
		PT56 = Math.pow((56 / 50),F2) * (Math.pow((50 / AD),F1) * AT);
	if(AD > 50)
		PT56 = Math.pow((56 / AD),F2) * AT;

			PT56H = Math.floor(PT56 / 3600);
			PT56M = Math.floor((PT56 - (PT56H * 3600)) / 60);
			PT56S = Math.floor(PT56 - (PT56H * 3600) - (PT56M * 60));

		PP56 = (PT56 / 56);

			PP56H = Math.floor(PP56 / 3600);
			PP56M = Math.floor((PP56 - (PP56H * 3600)) / 60);
			PP56S = Math.floor(PP56 - (PP56H * 3600) - (PP56M * 60));

	document.timetable.pt56h.value = PT56H;
	document.timetable.pt56m.value = leading(PT56M);
	document.timetable.pt56s.value = leading(PT56S);
	//document.timetable.pp56h.value = PP56H;
	document.timetable.pp56m.value = leading(PP56M);
	document.timetable.pp56s.value = leading(PP56S);

	// 88km (Comrades) Calculations
	if(AD <=50)
		PT88 = Math.pow((87.4 / 50),F2) * (Math.pow((50 / AD),F1) * AT);
	if(AD > 50)
		PT88 = Math.pow((87.4 / AD),F2) * AT;

			PT88H = Math.floor(PT88 / 3600);
			PT88M = Math.floor((PT88 - (PT88H * 3600)) / 60);
			PT88S = Math.floor(PT88 - (PT88H * 3600) - (PT88M * 60));

		PP88 = (PT88 / 88);

			PP88H = Math.floor(PP88 / 3600);
			PP88M = Math.floor((PP88 - (PP88H * 3600)) / 60);
			PP88S = Math.floor(PP88 - (PP88H * 3600) - (PP88M * 60));

	document.timetable.pt88h.value = PT88H;
	document.timetable.pt88m.value = leading(PT88M);
	document.timetable.pt88s.value = leading(PT88S);
	//document.timetable.pp88h.value = PP88H;
	document.timetable.pp88m.value = leading(PP88M);
	document.timetable.pp88s.value = leading(PP88S);

	}

function clearall() {

	document.runprediction.ad.value = "";
	document.runprediction.ath.value = "";
	document.runprediction.atm.value = "";
	document.runprediction.ats.value = "";
	document.runprediction.aph.value = "";
	document.runprediction.apm.value = "";
	document.runprediction.aps.value = "";
	document.runprediction.pth.value = "";
	document.runprediction.ptm.value = "";
	document.runprediction.pts.value = "";
	document.runprediction.pph.value = "";
	document.runprediction.ppm.value = "";
	document.runprediction.pps.value = "";
	document.runprediction.pd.value = "";
	document.timetable.pt10h.value = "";
	document.timetable.pt10m.value = "";
	document.timetable.pt10s.value = "";
	//document.timetable.pp10h.value = "";
	document.timetable.pp10m.value = "";
	document.timetable.pp10s.value = "";
	document.timetable.pt15h.value = "";
	document.timetable.pt15m.value = "";
	document.timetable.pt15s.value = "";
	//document.timetable.pp15h.value = "";
	document.timetable.pp15m.value = "";
	document.timetable.pp15s.value = "";
	document.timetable.pt21h.value = "";
	document.timetable.pt21m.value = "";
	document.timetable.pt21s.value = "";
	//document.timetable.pp21h.value = "";
	document.timetable.pp21m.value = "";
	document.timetable.pp21s.value = "";
	document.timetable.pt32h.value = "";
	document.timetable.pt32m.value = "";
	document.timetable.pt32s.value = "";
	//document.timetable.pp32h.value = "";
	document.timetable.pp32m.value = "";
	document.timetable.pp32s.value = "";
	document.timetable.pt42h.value = "";
	document.timetable.pt42m.value = "";
	document.timetable.pt42s.value = "";
	//document.timetable.pp42h.value = "";
	document.timetable.pp42m.value = "";
	document.timetable.pp42s.value = "";
	document.timetable.pt50h.value = "";
	document.timetable.pt50m.value = "";
	document.timetable.pt50s.value = "";
	//document.timetable.pp50h.value = "";
	document.timetable.pp50m.value = "";
	document.timetable.pp50s.value = "";
	document.timetable.pt56h.value = "";
	document.timetable.pt56m.value = "";
	document.timetable.pt56s.value = "";
	//document.timetable.pp56h.value = "";
	document.timetable.pp56m.value = "";
	document.timetable.pp56s.value = "";
	document.timetable.pt88h.value = "";
	document.timetable.pt88m.value = "";
	document.timetable.pt88s.value = "";
	//document.timetable.pp88h.value = "";
	document.timetable.pp88m.value = "";
	document.timetable.pp88s.value = "";
	document.runprediction.ad.focus();

	}


// End of JavaScript code -->	
