function getID(id) {
    return document.getElementById(id);
}

function pad(str, to) {
    for(var i = str.length; i < to; ++i) { str += "0"; }
    str = str.replace(/^0+(.*)/, "$1");
    return str;
}

function findStat() {
     var s1 = getID("stat1").value.replace(/[^0-9]+/g, ""); if(s1.length == 0) { s1 = "0"; }
     var s2 = getID("stat2").value.replace(/[^0-9]+/g, ""); if(s2.length == 0) { s2 = "0"; }
     var t1 = getID("train1").value.replace(/[^0-9]+/g, ""); if(t1.length == 0) { t1 = "0"; }
     var t2 = getID("train2").value.replace(/[^0-9]+/g, ""); if(t2.length == 0) { t2 = "0"; }

     getID("result").innerHTML = "Working... (<u>Stat</u>: " + s1 + "." + s2 + ", <u>Train</u>: " + t1 + "." + t2 + ")<br><br>";

     s2 = pad(s2, 4);
     t2 = pad(t2, 4);

     s1 = ((s1.match(/^[1-9][0-9]*\.?$/)) ? (s1 - 0) * 10000 : 0);
     s2 = ((s2.match(/^[1-9][0-9]*\.?$/)) ? s2 - 0 : 0);
     t1 = ((t1.match(/^[1-9][0-9]*\.?$/)) ? (t1 - 0) * 10000 : 0);
     t2 = ((t2.match(/^[1-9][0-9]*\.?$/)) ? t2 - 0 : 0);

     if(t1 == 0 && t2 == 0) { getID("result").innerHTML = "Please enter a valid train."; return; }

     var stat = s1 + s2;
     var train = t1 + t2;
     var trainCount = 0;
     var statTemp = stat;
     var foundStat = false;
     while(statTemp < 10000000000) {
         statTemp += train;
         ++trainCount;
         if(statTemp % 10000 == 0) { foundStat = true; break; }
     }

     if(foundStat) { getID("result").innerHTML += "Next exact stat: <strong>" + (statTemp / 10000) + "</strong>, after <strong>" + trainCount + "</strong> " + ((trainCount == 1) ? "train." : "trains."); }
     else { getID("result").innerHTML += "Unable to find an exact stat."; }
}