\n") swin.document.writeln("\n") var stime = 0 for (var split = 1; split <= nsplits; split++){ stime = stime + pace var shours = HrsFromTSecs(stime) var smins = MinsFromTSecs(stime) var ssecs = SecsFromTSecs(stime) var hmstime = shours + ":" + smins + ":" + ssecs.substring(0,5) swin.document.writeln("\n") } if (nsplits != dist){ // the last split is for the total dist var extrasecs = remain * pace stime = stime + extrasecs var shours = HrsFromTSecs(stime) var smins = MinsFromTSecs(stime) var ssecs = SecsFromTSecs(stime) var hmstime = shours + ":" + smins + ":" + ssecs.substring(0,5) swin.document.writeln("\n") } swin.document.writeln("
StöðvarTími
" + split + "" + pdisp + "" +hmstime + "
" + dist + "" + pdisp + "" +hmstime + "
Hosted by www.Geocities.ws

\n") } // end of else } function CheckTime(form){ // Makes sure that both the Dist and Pace data needed to calc Time are valid if((getDist(form)) && (getPace(form))){ return true }else{ return false } } function CheckDist(form){ // Makes sure that both the Time and Pace data needed to calc Dist are valid if(getTime(form) && getPace(form)){ return true }else{ return false } } function CheckPace(form){ // Makes sure that both the Dist and Time data needed to calc Pace are valid if((getTime(form)) && (getDist(form))){ return true }else{ return false } } function getTime(form){ // set global time var to total secs and return true if input valid thour = form.thr.value if (thour == "") {thour = "0"} // substitute 0 for null components if (!(isPosNum(thour))){return false} thr = StripZeroes(thour) tminute = form.tmin.value if (tminute == "") {tminute = "0"} // substitute 0 for null components if(!(isPosNum(tminute))){return false} tmin = StripZeroes(tminute) tsecond = form.tsec.value if (tsecond == "") {tsecond = "0"} // substitute 0 for null components if(!(isPosNum(tsecond))){return false} tsec = StripZeroes(tsecond) time = toSecs(thr, tmin, tsec) time = parseFloat(time, 10) if (time == 0) return false // means all components were null return true } function getDist(form){ // set global dist var to a number and return true if input valid dist = document.forms[0].dist.value if (!(isPosNum(dist))) {return false} dist = StripZeroes(dist) dist = parseFloat(dist, 10) return true } function getPace(form){ // set global pace var to total secs and return true if input valid phr = form.phr.value if (phr == "") {phr = "0"} // substitute 0 for null components if (!(isPosNum(phr))) {return false} phr = StripZeroes(phr) pmin = form.pmin.value if (pmin == "") {pmin = "0"} // substitute 0 for null components if (!(isPosNum(pmin))) {return false} pmin = StripZeroes(pmin) psec = form.psec.value if (psec == "") {psec = "0"} // substitute 0 for null components if (!(isPosNum(psec))) {return false} psec = StripZeroes(psec) pace = toSecs(phr, pmin, psec) pace = parseFloat(pace, 10) if (pace == 0) return false return true } function toSecs(hr, min, sec){ // Convert each component to a number (remove leading 0) and sum them var hour = parseFloat(hr, 10) var minute = parseFloat(min, 10) var second = parseFloat(sec, 10) var hsecs = parseFloat(hour * 3600) var msecs = parseFloat(minute * 60) var total = hsecs + msecs + second return total } function HrsFromTSecs(totsecs){ // Gets hr component for hr:min:sec string var hrs // hr component as string var flthrs = totsecs / 3600 hrs = Math.floor(flthrs) //get next int less or equal hrs = hrs.toString(10) if (hrs.length == 1) {hrs = "0" + hrs} return hrs } function MinsFromTSecs(totsecs){ // Gets min component for hr:min:sec string var mins // hr component as string var hrs = HrsFromTSecs(totsecs) var nsecs = hrs * 3600 var secsleft = totsecs - nsecs var fltmin = secsleft / 60 mins = Math.floor(fltmin) //conv to integer mins = mins.toString(10) if (mins.length == 1) {mins = "0" + mins} return mins } function SecsFromTSecs(totsecs){ // Converts total seconds number to hr:min:sec string // secs is only component that may have a decimal value var secs // hr component as string secs = totsecs - (HrsFromTSecs(totsecs) * 3600) - (MinsFromTSecs(totsecs) * 60) secs = secs.toString(10) if (secs.length == 1) { secs = "0" + secs }else{ // check for a decimal point for (var i = 0; i < secs.length; i++){ tchar = secs.charAt(i) if (i == 1 && tchar == "."){ secs = "0" + secs break } } } return secs } function StripZeroes(number){ // Strips off the leading 0, unless only one char if (number.length == 1) return number var outnum = "" var goodc mynum = number.toString(10) for (var i = 0; i < mynum.length; i++){ goodc = mynum.charAt(i) if (i == 0 && goodc == "0"){ continue // skip } outnum += goodc } return outnum } function isPosNum(number){ // Validates number as positive number with only one decimal point at most mynum = number.toString(10) if (mynum.length == 0) {return false} oneDecimal = false for (var i = 0 ; i < mynum.length; i++){ var oneChar = mynum.charAt(i) if (oneChar == "." && !oneDecimal){ oneDecimal = true continue } if (oneChar < "0" || oneChar > "9"){ return false } }// end of for return true } function setDunit (form){ if (form.event.options[1].selected == true){ //mara form.dunit.options[0].selected=true // set dist unit to km form.dist.value = maradist //set dist to mara } if (form.event.options[2].selected==true){//halfmara form.dunit.options[0].selected=true // set dist unit to km form.dist.value = halfmaradist } if (form.event.options[3].selected==true){//5K form.dunit.options[0].selected=true // set dist unit to kilometers form.dist.value = 5 } if (form.event.options[4].selected==true){//8K form.dunit.options[0].selected=true // set dist unit to kilometers form.dist.value = 8 } if (form.event.options[5].selected==true){//10K form.dunit.options[0].selected=true // set dist unit to kilometers form.dist.value = 10 } if (form.event.options[6].selected==true){//15K form.dunit.options[0].selected=true // set dist unit to kilometers form.dist.value = 15 } if (form.event.options[7].selected==true){//20K form.dunit.options[0].selected=true // set dist unit to kilometers form.dist.value = 20 } if (form.event.options[8].selected==true){//25K form.dunit.options[0].selected=true // set dist unit to kilometers form.dist.value = 25 } if (form.event.options[9].selected==true){//30K form.dunit.options[0].selected=true // set dist unit to kilometers form.dist.value = 30 } } //-->
H L A U P A R E I K N I R   N F R
Tími
klst mín sek
: :
Til að reikna tíma, skráirðu inn vegalengd og tempó og smellir svo hér:
Vegalengd
eða
Til að reikna vegalengd, skráirðu inn tíma og tempó og smellir svo hér:
Tempó
klst mín sek
: :
pr / hlaupinn
Til að reikna "tempó", skráirðu inn tíma og vegalengd og smellir svo hér:

Unnið út frá gögnum frá www.coolrunning.com.
Hosted by www.Geocities.ws

1