Advertisement
Guest User

Untitled

a guest
Apr 9th, 2020
292
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <script type="text/javascript">
  2.         // calculate gear inches and development
  3.         function calculateGear() {
  4.             var chainring = document.getElementById("chainring").value
  5.             var cog = document.getElementById("cog").value
  6.             document.getElementById("gear-inches-nominal").value = Math.round(chainring/cog*27*10)/10
  7.             // document.getElementById("gear-inches-actual").value = Math.round(chainring/cog*26.27*10)/10
  8.             document.getElementById("development").value = Math.round(chainring/cog*2.096*100)/100
  9.            
  10.             // calculate times from cadence
  11.             if (document.getElementById("cadence").value>0){
  12.                 calculate1()
  13.             }
  14.            
  15.             if (document.getElementById("mph2").value>0){
  16.                 calculate2()
  17.             }
  18.            
  19.             if (document.getElementById("kph3").value>0){
  20.                 calculate3()
  21.             }
  22.         }
  23.        
  24.         // calculate mmss from seconds - expects a number, returns a string
  25.        
  26.         function secsToMmSs(seconds){
  27.             minutes = Math.floor(seconds/60)
  28.             seconds = Math.round((seconds%60)*100)/100
  29.             if (seconds === 60) {
  30.                 seconds = 0
  31.                 minutes = minutes + 1
  32.             }
  33.             time = minutes + ":" + seconds
  34.             if (seconds<10) {
  35.                 time = minutes + ":" + "0" + seconds
  36.             }
  37.             return time
  38.         }
  39.        
  40.         // calculate 200m - 333m times
  41.         function calculateShortTimes(metersPerSecond) {
  42.             document.getElementById("m200").value = Math.round(200/metersPerSecond*100)/100
  43.             document.getElementById("m250").value = Math.round(250/metersPerSecond*100)/100
  44.             document.getElementById("m268").value = Math.round(268/metersPerSecond*100)/100
  45.             document.getElementById("m333").value = Math.round(333.33/metersPerSecond*100)/100
  46.         }
  47.        
  48.         // calculate 500m to 4000m times
  49.         function calculateMultiLapTimes(metersPerSecond, startingLap) {
  50.             document.getElementById("m500").value = Math.round(startingLap*100)/100 + Math.round((250/metersPerSecond)*100)/100
  51.             document.getElementById("m750").value = Math.round(startingLap*100)/100 + Math.round((500/metersPerSecond)*100)/100
  52.            
  53.             // calculate times and convert to MM:SS        
  54.             seconds = Math.round(startingLap*100)/100 + 750/metersPerSecond
  55.             document.getElementById("m1000").value = secsToMmSs(seconds)
  56.            
  57.             seconds = Math.round(startingLap*100)/100 + 1750/metersPerSecond
  58.             document.getElementById("m2000").value = secsToMmSs(seconds)
  59.            
  60.             seconds = Math.round(startingLap*100)/100 + 2750/metersPerSecond
  61.             document.getElementById("m3000").value = secsToMmSs(seconds)
  62.            
  63.             seconds = Math.round(startingLap*100)/100 + 3750/metersPerSecond
  64.             document.getElementById("m4000").value = secsToMmSs(seconds)
  65.         }
  66.        
  67.        
  68.        
  69.         // calculate times from cadence
  70.         function calculate1() {
  71.             var chainring = document.getElementById("chainring").value
  72.             var cog = document.getElementById("cog").value
  73.             var cadence = document.getElementById("cadence").value
  74.             var metersPerSecond = cadence*chainring/cog*2.096/60
  75.            
  76.             document.getElementById("kph").value = Math.round((cadence*chainring/cog*2.096*60/1000)*10)/10
  77.            
  78.             var calculatedKph = document.getElementById("kph").value
  79.             document.getElementById("mph").value = Math.round((calculatedKph/1.60934)*10)/10
  80.            
  81.             // clear other values
  82.             document.getElementById("cadence2").value = null
  83.             document.getElementById("mph2").value = null
  84.             document.getElementById("kph2").value = null
  85.            
  86.             document.getElementById("cadence3").value = null
  87.             document.getElementById("mph3").value = null
  88.             document.getElementById("kph3").value = null
  89.            
  90.             //calculate times
  91.            
  92.             var startingLap = document.getElementById("startinglap").value
  93.             calculateShortTimes(metersPerSecond)
  94.             if (startingLap > 0){
  95.                 calculateMultiLapTimes(metersPerSecond, startingLap)
  96.             }
  97.         }
  98.        
  99.         // calculate times from mph
  100.         function calculate2(){
  101.             var speedMph = document.getElementById("mph2").value
  102.             var speedKph = speedMph*1.60934
  103.             var metersPerSecond = speedKph*1000/3600
  104.            
  105.            
  106.             // write kph
  107.             document.getElementById("kph2").value = Math.round(speedKph*100)/100
  108.            
  109.             // calculate cadence
  110.             var chainring = document.getElementById("chainring").value
  111.             var cog = document.getElementById("cog").value
  112.             document.getElementById("cadence2").value = Math.round(speedKph*1000*cog/(chainring*2.096*60))
  113.            
  114.             // clear other values
  115.             document.getElementById("cadence").value = null
  116.             document.getElementById("mph").value = null
  117.             document.getElementById("kph").value = null
  118.            
  119.             document.getElementById("cadence3").value = null
  120.             document.getElementById("mph3").value = null
  121.             document.getElementById("kph3").value = null
  122.  
  123.            
  124.             //calculate times
  125.             var startingLap = document.getElementById("startinglap").value
  126.             calculateShortTimes(metersPerSecond)
  127.             if (startingLap > 0){
  128.                 calculateMultiLapTimes(metersPerSecond, startingLap)
  129.             }
  130.         }
  131.        
  132.        
  133.        
  134.         // calculate times from kph
  135.         function calculate3(){
  136.             var speedKph = document.getElementById("kph3").value
  137.             var metersPerSecond = speedKph*1000/3600
  138.             var startingLap = document.getElementById("startinglap").value
  139.            
  140.             // calculate mph
  141.             document.getElementById("mph3").value = Math.round(speedKph*.621371*100)/100
  142.            
  143.             // calculate cadence
  144.             var chainring = document.getElementById("chainring").value
  145.             var cog = document.getElementById("cog").value
  146.             document.getElementById("cadence3").value = Math.round(speedKph*1000*cog/(chainring*2.096*60))
  147.            
  148.            
  149.             // clear other values
  150.             document.getElementById("cadence").value = null
  151.             document.getElementById("mph").value = null
  152.             document.getElementById("kph").value = null
  153.            
  154.             document.getElementById("cadence2").value = null
  155.             document.getElementById("mph2").value = null
  156.             document.getElementById("kph2").value = null
  157.            
  158.             // calculate times
  159.             calculateShortTimes(metersPerSecond)
  160.             if (startingLap > 0){
  161.                 calculateMultiLapTimes(metersPerSecond, startingLap)
  162.             }
  163.         }
  164.        
  165.         function startLapCalc() {
  166.             var kph = document.getElementById("kph").value + document.getElementById("kph2").value + document.getElementById("kph3").value
  167.             var mps = kph * 1000/3600
  168.             var start = document.getElementById("startinglap").value
  169.            
  170.             if (mps > 0) {
  171.                 calculateMultiLapTimes(mps, start)
  172.             }
  173.         }
  174.        
  175.        
  176.     </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement