// JavaScript Document
dObj=document.getElementById('dId');
  sObj=document.getElementById('sId');
  tObj=document.getElementById('tId');
  duObj=document.getElementById('duId');
  sudObj=document.getElementById('sudId');
  sutObj=document.getElementById('sutId');
  compChg();
  tx=window.location.href.split('?');
  tx2=tx;
  if( tx[1]  )
    sss=setv(tx[1]);
  if( !tx2[1] || !sss ){
    set=setv('radS=true&dId=100&tId=00:00:9.58&duId=1&sutId=3600&sudId=1609.344');
    }
  function getDist(){ //in meters
    d=dObj.value;
    u=duObj.value;
    return d*u;
    }
  function getTime(unit){ //inSeconds
    return getSec(tObj.value);
    }
  function getSpeed(){ //m/s
    s=sObj.value;
    
    if( !s )
      return "";
    ud=sudObj.value;
    ut=sutObj.value;
    return s/ut*ud;
    }
    
  function getSec(tim){
    p=tim.split(":");
  text="";
  h=m=s=0;
  for(i=0;i<3;i++){
    if( typeof( p[i] )=="undefined" || !p[i] || p[i]=="." )
      p[i]=0;
    }
    p0=parseFloat(p[0]);
    p1=parseFloat(p[1]);
    p2=parseFloat(p[2]);
    if( isNaN(p0) || isNaN(p1) || isNaN(p2) ){
      text="Error";
      alert(text);
      return 0;
      }
    return p0*3600+p1*60+p2;
    }
  
  function liczS(){
    d=getDist();
    t=getTime();
    if( !d || !t ){
        sObj.value="";
        return;
        }
    else {
      ud=sudObj.value;
      ut=sutObj.value;
      v=d/t;  //m/s
      ans=(v/ud*ut);
      }
  sObj.value=my_round(ans);
    }
    
  function liczT(){
    dx=getDist();
    sx=getSpeed();
    if( !d || !s ){
      tObj.value="";
      return;
      }
    t=(dx/sx);
    x=t;
    a=sec2tab(t);
    tObj.value=ftim(a[0])+":"+ftim(a[1])+":"+ftim(my_round(a[2]));
    }
  function liczD(){
    sx=getSpeed();
    tx=getTime();
    if( !sx || !tx ){
        dObj.value="";
        return;
        }
    else {
      ud=duObj.value;
      d=sx*tx;  //m
      ans=(d/ud);
     
      }
  dObj.value=my_round(ans);
    }
  function licz(){
    switch(whatComp()){
      case "s":liczS();return;
      case "t":liczT();return;
      case "d":liczD();return;
    }
  }
    
  function setv(argu){
  aa=argu;
  tabs=aa.split('&');
  answ=false;
  for( i=0; i<tabs.length; i++ ){
    t2=tabs[i].split('=');
    o=document.getElementById(t2[0]);
    if(o)answ=true;
    if( t2[0].indexOf('rad')!=-1 ){
      o.checked=t2[1];
      }
    else
    if(o)o.value=t2[1];
    }
    licz();
    return answ;
    }
    
  function getv(){
    //first radio
    ans="";
  r=whatComp();
  ans="rad"+r.toUpperCase()+"=true";
  switch(r){
    case 's':
      ans+="&dId="+dObj.value;
      ans+="&tId="+tObj.value;
      break;
    case 'd':
      ans+="&tId="+tObj.value;
      ans+="&sId="+sObj.value;
      break;
    case 't':
      ans+="&dId="+dObj.value;
      ans+="&sId="+sObj.value;
      break;
      }
  ans+="&duId="+duObj.value+"&sutId="+sutObj.value+"&sudId="+sudObj.value;
  return ans;
  }
  
function show_link(){
lnk="http://www.unitarium.com/speed-calculator?"+getv();
prompt( "Copy this link into your clipboard then paste it onto any internet page", lnk );
  }
    
  function compChg(){
    idx=whatComp()+"Id";
    unlock(tObj);
    unlock(sObj);
    unlock(dObj);
    lock(document.getElementById(idx));
    }
  function lock(o){
    o.readOnly=true;
    o.style.color="yellow";
    }
  function unlock(o){
    o.readOnly=false;
    o.style.color="";
    }
  function  whatComp(){
    if( document.getElementById('radD').checked )return "d";
    if( document.getElementById('radS').checked )return "s";
    if( document.getElementById('radT').checked )return "t";
    return "s";
    }