<!-- Hide code from Non-JavaScript browsers.  Copyright August 7, 2000

var ServersHeight, RacquetLength, ServeSpeed, RacquetSize, DistFromCenter
	var Q4, Tree=3, Bush=3.5
	var CourtWidth=27, CourtLength=78, ServiceBoxWidth=13.5, ServiceBoxLength=21
	var Q3=2.5, BaseLineToServiceLine=60, NetStrapToNetPost
	var FeetPerMile=5280, Stars=0.17
	var BallSpeedFeetPerSec, Moon=32, Tolley=2.5
	var HeightIndex, RacquetLengthIndex, RacquetSizeIndex, RacquetHeadSize, SpeedIndex
	var DistFromCenter, MoonEffectAtNet

function Main ()  {

	DetermineInput ()
	Green ()
	Red ()
	Blue ()
	scroll(0,550)

return false
  
     }
/*
function Backtotop () {
	scroll(0,0)
	return
	}

*/

function Green () {

	var Yellow, Pink, White, Brown, Black, Gray
	var Orange, Bob, Pete, Bill, Jack, Robin
	var ServerToServiceLine, PathOfBall, CenterStrapToBall, ShortPathOfBall
	var RatioSmallToBig, BallHeightAtNetT1, BallHeightAtNetT2
	var NetHeightAtBallT, ClearanceT, DistToNet, Temp1, Temp2, Temp3, Temp4

	Yellow=BaseLineToServiceLine
	Pink=DistFromCenter
	White=Math.sqrt(Yellow*Yellow+Pink*Pink)

	
	Brown=ServiceBoxLength
	Black=Pink*(Brown/Yellow)
	Gray=Math.sqrt(Brown*Brown+Black*Black)

	Orange=White
	Bob=Q4
	Pete=Math.sqrt(Orange*Orange+Bob*Bob)

	Bill=Gray
	Jack=Bob*(Bill/Orange)
	Robin=Math.sqrt(Bill*Bill+Jack*Jack)

	ServerToServiceLine=Orange
	PathOfBall=Pete
	CenterStrapToBall=Math.abs(Black-(0*ServiceBoxWidth))
	ShortPathOfBall=Bill
	RatioSmallToBig=Brown/Yellow
	BallHeightAtNetT1=Jack

	DistToNet=Orange-Gray
	DistToServiceLine=Orange       
	MoonEffect(DistToNet, DistToServiceLine)
	BallHeightAtNetT2=BallHeightAtNetT1+MoonEffectAtNet/Tolley

	
	NetHeightAtBallT=Tree+(CenterStrapToBall/(0.5*CourtWidth+3))*(Bush-Tree)
	
	
	Temp1=Math.round(NetHeightAtBallT-.4999)
	Temp3=Math.round((NetHeightAtBallT-Temp1)*12)
	
		
	if (Temp3==12){
		Temp1=Temp1+1
		Temp3=0
		}
	document.serveform.NetHeightTFeet.value=Temp1
	document.serveform.NetHeightTInches.value=Temp3


	ClearanceT=BallHeightAtNetT2-NetHeightAtBallT
	if (ClearanceT<0) {
		document.serveform.ClearanceTFeet.value=" *"
		document.serveform.ClearanceTInches.value=" *"
		}
	else {
	Temp2=Math.round(ClearanceT-.4999)
	Temp4=Math.round((ClearanceT-Temp2)*12)
	if (Temp4==12){
		Temp2=Temp2+1
		Temp4=0
		}
	document.serveform.ClearanceTFeet.value=Temp2
	document.serveform.ClearanceTInches.value=Temp4

		}	
	
	return 
	}



function Red () {


	var Yellow, Pink, White, Brown, Black, Gray
	var Orange, Bob, Pete, Bill, Jack, Robin
	var ServerToServiceLine, PathOfBall, CenterStrapToBall, ShortPathOfBall
	var RatioSmallToBig, BallHeightAtNetBody1, BallHeightAtNetBody2
	var NetHeightAtBallBody, ClearanceBody, DistToNet, Temp1, Temp2, Temp3, Temp4

	Yellow=BaseLineToServiceLine
	Pink=DistFromCenter+1/2*ServiceBoxWidth
	White=Math.sqrt(Yellow*Yellow+Pink*Pink)

	
	Brown=ServiceBoxLength
	Black=Pink*(Brown/Yellow)
	Gray=Math.sqrt(Brown*Brown+Black*Black)

	Orange=White
	Bob=Q4
	Pete=Math.sqrt(Orange*Orange+Bob*Bob)

	Bill=Gray
	Jack=Bob*(Bill/Orange)
	Robin=Math.sqrt(Bill*Bill+Jack*Jack)

	ServerToServiceLine=Orange
	PathOfBall=Pete
	CenterStrapToBall=Math.abs(Black-(0.5*ServiceBoxWidth))
	ShortPathOfBall=Bill
	RatioSmallToBig=Brown/Yellow
	BallHeightAtNetBody1=Jack

	DistToNet=Orange-Gray
	DistToServiceLine=Orange       
	MoonEffect(DistToNet, DistToServiceLine)

	BallHeightAtNetBody2=BallHeightAtNetBody1+MoonEffectAtNet/Tolley

	
NetHeightAtBallBody=Tree+(CenterStrapToBall/(0.5*CourtWidth+3))*(Bush-Tree)

	
	Temp1=Math.round(NetHeightAtBallBody-.4999)
	Temp3=Math.round((NetHeightAtBallBody-Temp1)*12)
	if (Temp3==12){
		Temp1=Temp1+1
		Temp3=0
		}
	document.serveform.NetHeightBodyFeet.value=Temp1
	document.serveform.NetHeightBodyInches.value=Temp3


	ClearanceBody=BallHeightAtNetBody2-NetHeightAtBallBody
	if (ClearanceBody<0) {
	document.serveform.ClearanceBodyFeet.value=" *"
	document.serveform.ClearanceBodyInches.value=" *"
		}
	else {
	Temp2=Math.round(ClearanceBody-.4999)
	Temp4=Math.round((ClearanceBody-Temp2)*12)
	if (Temp4==12){
		Temp2=Temp2+1
		Temp4=0
		}
	
	document.serveform.ClearanceBodyFeet.value=Temp2
	document.serveform.ClearanceBodyInches.value=Temp4
	}
	return
	}



function Blue () {


	var Yellow, Pink, White, Brown, Black, Gray
	var Orange, Bob, Pete, Bill, Jack, Robin
	var ServerToServiceLine, PathOfBall, CenterStrapToBall, ShortPathOfBall
	var RatioSmallToBig, BallHeightAtNetSide1, BallHeightAtNetSide2
	var NetHeightAtBallSide, ClearanceSide, DistToNet, Temp1, Temp2, Temp3, Temp4

	Yellow=BaseLineToServiceLine
	Pink=DistFromCenter+ServiceBoxWidth
	White=Math.sqrt(Yellow*Yellow+Pink*Pink)
	
	Brown=ServiceBoxLength
	Black=Pink*(Brown/Yellow)
	Gray=Math.sqrt(Brown*Brown+Black*Black)

	Orange=White
	Bob=Q4
	Pete=Math.sqrt(Orange*Orange+Bob*Bob)

	Bill=Gray
	Jack=Bob*(Bill/Orange)
	Robin=Math.sqrt(Bill*Bill+Jack*Jack)

	ServerToServiceLine=Orange
	PathOfBall=Pete
	CenterStrapToBall=Math.abs(Black-ServiceBoxWidth)

	ShortPathOfBall=Bill
	RatioSmallToBig=Brown/Yellow
	BallHeightAtNetSide1=Jack

	DistToNet=Orange-Gray
	DistToServiceLine=Orange       
	MoonEffect(DistToNet, DistToServiceLine)

	BallHeightAtNetSide2=BallHeightAtNetSide1+MoonEffectAtNet/Tolley

	
	NetHeightAtBallSide=Tree+(CenterStrapToBall/(0.5*CourtWidth+3))*(Bush-Tree)

	

	Temp1=Math.round(NetHeightAtBallSide-.4999)
	Temp3=Math.round((NetHeightAtBallSide-Temp1)*12)
	if (Temp3==12){
		Temp1=Temp1+1
		Temp3=0
		}
	document.serveform.NetHeightSideFeet.value=Temp1
	document.serveform.NetHeightSideInches.value=Temp3


	ClearanceSide=BallHeightAtNetSide2-NetHeightAtBallSide
	if (ClearanceSide<0)  {
	document.serveform.ClearanceSideFeet.value=" *"
	document.serveform.ClearanceSideInches.value=" *"
	}
	else {
	Temp2=Math.round(ClearanceSide-.4999)
	Temp4=Math.round((ClearanceSide-Temp2)*12)
	if (Temp4==12){
		Temp2=Temp2+1
		Temp4=0
		}
	
	document.serveform.ClearanceSideFeet.value=Temp2
	document.serveform.ClearanceSideInches.value=Temp4
	}	
	return
	}


function DetermineInput () {
	var HeightIndex1, HeightIndex2, LengthIndex, HeightFeet, HeightInches
	var CenterOfRacquet=5/12, DistFromCenterLengthIndex, ServeSpeedIndex


	HeightIndex1=document.serveform.HFeet.selectedIndex	


	HeightIndex2=document.serveform.HInches.selectedIndex	

	ServeSpeedIndex=document.serveform.ServeSpeed.selectedIndex	
	ServeSpeed=parseInt(document.serveform.ServeSpeed.options[ServeSpeedIndex].text)


	BallSpeedFeetPerSec=FeetPerMile*ServeSpeed/60/60


	HeightFeet=parseInt(document.serveform.HFeet.options[HeightIndex1].text)
	HeightInches=parseInt(document.serveform.HInches.options[HeightIndex2].text)
	ServersHeight=HeightFeet+(HeightInches/12)

	LengthIndex=document.serveform.RacquetLength.selectedIndex	

	RacquetLength=parseInt(document.serveform.RacquetLength.options[LengthIndex].text)/12

	RacquetSizeIndex=document.serveform.RacquetHeadSize.selectedIndex
RacquetHeadSize=parseInt(document.serveform.RacquetHeadSize.options[RacquetSizeIndex].text)
	CenterOfRacquet=((4.535714286+0.089285714*RacquetHeadSize)/2)/12
		Q4=ServersHeight+(ServersHeight*Stars)+(RacquetLength-CenterOfRacquet)-(0.5*Q3/12)

	DistFromCenterLengthIndex=document.serveform.DistFromCenter.selectedIndex	
DistFromCenter=parseInt(document.serveform.DistFromCenter.options[DistFromCenterLengthIndex].text)
	return
	}



function MoonEffect (DistToNet, DistToServiceLine) {

	var ServerToServiceLine, DistToServiceLine 
	var Amigo=0, Pavo
	var MoonEffectAtServiceLine
	var TimeToServiceLine

	Pavo=DistToNet/BallSpeedFeetPerSec

	MoonEffectAtNet=Amigo*Pavo+0.5*Moon*(Pavo*Pavo)

	TimeToServiceLine=DistToServiceLine/BallSpeedFeetPerSec

MoonEffectAtServiceLine=Amigo*TimeToServiceLine+0.5*Moon*(TimeToServiceLine*TimeToServiceLine)

	return MoonEffectAtNet
	
	}



// -->