Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <script type="text/javascript">
- // calculate gear inches and development
- function calculateGear() {
- var chainring = document.getElementById("chainring").value
- var cog = document.getElementById("cog").value
- document.getElementById("gear-inches-nominal").value = Math.round(chainring/cog*27*10)/10
- // document.getElementById("gear-inches-actual").value = Math.round(chainring/cog*26.27*10)/10
- document.getElementById("development").value = Math.round(chainring/cog*2.096*100)/100
- // calculate times from cadence
- if (document.getElementById("cadence").value>0){
- calculate1()
- }
- if (document.getElementById("mph2").value>0){
- calculate2()
- }
- if (document.getElementById("kph3").value>0){
- calculate3()
- }
- }
- // calculate mmss from seconds - expects a number, returns a string
- function secsToMmSs(seconds){
- minutes = Math.floor(seconds/60)
- seconds = Math.round((seconds%60)*100)/100
- if (seconds === 60) {
- seconds = 0
- minutes = minutes + 1
- }
- time = minutes + ":" + seconds
- if (seconds<10) {
- time = minutes + ":" + "0" + seconds
- }
- return time
- }
- // calculate 200m - 333m times
- function calculateShortTimes(metersPerSecond) {
- document.getElementById("m200").value = Math.round(200/metersPerSecond*100)/100
- document.getElementById("m250").value = Math.round(250/metersPerSecond*100)/100
- document.getElementById("m268").value = Math.round(268/metersPerSecond*100)/100
- document.getElementById("m333").value = Math.round(333.33/metersPerSecond*100)/100
- }
- // calculate 500m to 4000m times
- function calculateMultiLapTimes(metersPerSecond, startingLap) {
- document.getElementById("m500").value = Math.round(startingLap*100)/100 + Math.round((250/metersPerSecond)*100)/100
- document.getElementById("m750").value = Math.round(startingLap*100)/100 + Math.round((500/metersPerSecond)*100)/100
- // calculate times and convert to MM:SS
- seconds = Math.round(startingLap*100)/100 + 750/metersPerSecond
- document.getElementById("m1000").value = secsToMmSs(seconds)
- seconds = Math.round(startingLap*100)/100 + 1750/metersPerSecond
- document.getElementById("m2000").value = secsToMmSs(seconds)
- seconds = Math.round(startingLap*100)/100 + 2750/metersPerSecond
- document.getElementById("m3000").value = secsToMmSs(seconds)
- seconds = Math.round(startingLap*100)/100 + 3750/metersPerSecond
- document.getElementById("m4000").value = secsToMmSs(seconds)
- }
- // calculate times from cadence
- function calculate1() {
- var chainring = document.getElementById("chainring").value
- var cog = document.getElementById("cog").value
- var cadence = document.getElementById("cadence").value
- var metersPerSecond = cadence*chainring/cog*2.096/60
- document.getElementById("kph").value = Math.round((cadence*chainring/cog*2.096*60/1000)*10)/10
- var calculatedKph = document.getElementById("kph").value
- document.getElementById("mph").value = Math.round((calculatedKph/1.60934)*10)/10
- // clear other values
- document.getElementById("cadence2").value = null
- document.getElementById("mph2").value = null
- document.getElementById("kph2").value = null
- document.getElementById("cadence3").value = null
- document.getElementById("mph3").value = null
- document.getElementById("kph3").value = null
- //calculate times
- var startingLap = document.getElementById("startinglap").value
- calculateShortTimes(metersPerSecond)
- if (startingLap > 0){
- calculateMultiLapTimes(metersPerSecond, startingLap)
- }
- }
- // calculate times from mph
- function calculate2(){
- var speedMph = document.getElementById("mph2").value
- var speedKph = speedMph*1.60934
- var metersPerSecond = speedKph*1000/3600
- // write kph
- document.getElementById("kph2").value = Math.round(speedKph*100)/100
- // calculate cadence
- var chainring = document.getElementById("chainring").value
- var cog = document.getElementById("cog").value
- document.getElementById("cadence2").value = Math.round(speedKph*1000*cog/(chainring*2.096*60))
- // clear other values
- document.getElementById("cadence").value = null
- document.getElementById("mph").value = null
- document.getElementById("kph").value = null
- document.getElementById("cadence3").value = null
- document.getElementById("mph3").value = null
- document.getElementById("kph3").value = null
- //calculate times
- var startingLap = document.getElementById("startinglap").value
- calculateShortTimes(metersPerSecond)
- if (startingLap > 0){
- calculateMultiLapTimes(metersPerSecond, startingLap)
- }
- }
- // calculate times from kph
- function calculate3(){
- var speedKph = document.getElementById("kph3").value
- var metersPerSecond = speedKph*1000/3600
- var startingLap = document.getElementById("startinglap").value
- // calculate mph
- document.getElementById("mph3").value = Math.round(speedKph*.621371*100)/100
- // calculate cadence
- var chainring = document.getElementById("chainring").value
- var cog = document.getElementById("cog").value
- document.getElementById("cadence3").value = Math.round(speedKph*1000*cog/(chainring*2.096*60))
- // clear other values
- document.getElementById("cadence").value = null
- document.getElementById("mph").value = null
- document.getElementById("kph").value = null
- document.getElementById("cadence2").value = null
- document.getElementById("mph2").value = null
- document.getElementById("kph2").value = null
- // calculate times
- calculateShortTimes(metersPerSecond)
- if (startingLap > 0){
- calculateMultiLapTimes(metersPerSecond, startingLap)
- }
- }
- function startLapCalc() {
- var kph = document.getElementById("kph").value + document.getElementById("kph2").value + document.getElementById("kph3").value
- var mps = kph * 1000/3600
- var start = document.getElementById("startinglap").value
- if (mps > 0) {
- calculateMultiLapTimes(mps, start)
- }
- }
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement