
//
//Copyright (c) 2002-2003 Lexabean Consulting, LLC. All Rights Reserved.
//
// This computer software is owned by Lexabean Consulting, LLC and is
// protected by U.S. copyright laws and other laws and by international
// treaties. This computer software is furnished by Lexabean Consulting, LLC,
// pursuant to a written license agreement and may be used, copied,
//transmitted, and stored only in accordance with the terms of such
// license and with the inclusion of the above copyright notice. This
// computer software or any other copies thereof may not be provided or
// otherwise made available to any other person.
//


function getRndedVal(orig_val)
{
	var val_whole = parseInt(orig_val)

	var rnded_fract = parseInt((orig_val - parseFloat(val_whole)) * 100)
	var rnded_val;
	if (rnded_fract < 10)
	{
		rnded_val = val_whole + ".0" + rnded_fract
	}
	else
	{
		rnded_val = val_whole + "." + rnded_fract
	}

	return parseFloat(rnded_val)
}

function calc_and_display(form,Units,distance,url_split_hrs,url_split_min,url_split_secs)
{

	//
	//calculate the pace
	//	
	var pace = 0.0

	//use parseInt with seconds to ensure it gets evaluated as a number instead of a string (which would result
	//in appending the seconds to the end of the string instead of numerically adding it.
	var seconds = (url_split_hrs * 60 * 60) + (url_split_min * 60) + parseInt(url_split_secs)
	var seconds_per_mile = seconds/distance
	var pace_per_mile = seconds_per_mile/60.0
	var minutes_per_mile = parseInt(pace_per_mile)
	var secs_per_mile = (pace_per_mile - parseFloat(minutes_per_mile)) * .60
	pace = minutes_per_mile + secs_per_mile


	//
	//display the pace rounded to 2 digits after decimal
	//
	var rnded_pace_min = parseInt(pace)
	var rnded_pace_secs = parseInt((pace - parseFloat(rnded_pace_min)) * 100)

	if (Units == 'M')
	{
		if (rnded_pace_secs > 9)
		{
			form.MINMILETF.value=   rnded_pace_min + ":" + rnded_pace_secs
			
		}
		else
		{
			form.MINMILETF.value=   rnded_pace_min + ":0" + rnded_pace_secs
		}
	}
	else
	{
		if (rnded_pace_secs > 9)
		{
			form.MINKMTF.value=   rnded_pace_min + ":" + rnded_pace_secs
			
		}
		else
		{
			form.MINKMTF.value=   rnded_pace_min + ":0" + rnded_pace_secs
		}
	}


	//
	//display mph/kph
	//
	var speed = 0.0
	if (rnded_pace_min > 0)
	{
		sph_pace = rnded_pace_min + (rnded_pace_secs/60)
		var tmp_speed = 60/sph_pace
		speed = getRndedVal(tmp_speed)
	}
	if (Units == 'M')
	{
		form.MPHTF.value = speed
		
	}
	else
	{
		form.KPHTF.value = speed
	}

}
function updPace(form)
{
	var SelDist = (form.D1.options[form.D1.selectedIndex].value)
	var SelHRs= (form.HRs.options[form.HRs.selectedIndex].value)
	var SelMins = (form.Mins.options[form.Mins.selectedIndex].value)
	var SelSecs = (form.Secs.options[form.Secs.selectedIndex].value)
	

	calc_and_display(form,"M",SelDist,SelHRs,SelMins,SelSecs)
	

	//
	//now do the same for KM
	//

	if (String(SelDist) == "3.11")
	{
		SelDist = "5"
	}
	else if (String(SelDist) == "4.98")
	{
		SelDist = "8"
	}
	else if (String(SelDist) == "6.22")
	{
		SelDist = "10"
	}
	else if (String(SelDist) == "9.32")
	{
		SelDist = "15"
	}
	else if (String(SelDist) == "12.42")
	{
		SelDist = "20"
	}
	else if (String(SelDist) == "18.64")
	{
		SelDist = "30"
	}
	else if (String(SelDist) == "31.1")
	{
		SelDist = "50"
	}
	else if (String(SelDist) == "5")
	{
		SelDist = "8.05"
	}
	else if (String(SelDist) == "10")
	{
		SelDist = "16.1"
	}
	else if (String(SelDist) == "13.11")
	{
		SelDist = "21.1"
	}
	else if (String(SelDist) == "26.22")
	{
		SelDist = "42.2"
	}
	else if (String(SelDist) == "50")
	{
		SelDist = "80.48"
	}
	else if (String(SelDist) == "62.2")
	{
		SelDist = "100"
	}
	else if (String(SelDist) == "100")
	{
		SelDist = "160.1"
	}

	calc_and_display(form,"K",SelDist,SelHRs,SelMins,SelSecs)
	
	return true
}



