var SECONDS_IN_YEAR = 31556926; var SECONDS_IN_DAY = 86400; var SECONDS_IN_HOUR = 3600; var SECONDS_IN_MINUTE = 60; var SECONDS_IN_SECOND = 1; var load_date = new Date(); function countdown() { var timeleft = document.getElementById("timeleft").value; var d = new Date(); document.getElementById("countdown").innerHTML= get_time_left_string(parseFloat(timeleft) - ((d.getTime() - load_date.getTime())/1000)); setTimeout("countdown()",100); } function moore() { var timesince4004 = document.getElementById("timesince4004").value; var d = new Date(); document.getElementById("moorelaw").innerHTML= get_transistors(parseFloat(timesince4004) + ((d.getTime() - load_date.getTime())/1000)); setTimeout("moore()",100); } function get_transistors(t) { //the first processor had 2300 transistors doubling every two years var transistors = 2300 * Math.pow(2,(t/(SECONDS_IN_YEAR*2))); return Math.floor(transistors); } function get_people_online(t) { //in 2009 there were 1,733,993,741 people online last 9 years saw 380% growth var people = 1733993741 + ((t/(5*SECONDS_IN_YEAR))*0.45*1733993741); return Math.floor(people); } function people_online() { var elapsedsince2009 = document.getElementById("elapsedsince2009").value; var d = new Date(); document.getElementById("people_online").innerHTML = get_people_online(parseFloat(elapsedsince2009) + ((d.getTime() - load_date.getTime())/1000)); setTimeout("people_online()",100); } function get_time_left_string(t) { var years = Math.floor(t/SECONDS_IN_YEAR); t = t-(SECONDS_IN_YEAR*years); var days = Math.floor(t/SECONDS_IN_DAY); t = t-(SECONDS_IN_DAY*days); var hours = Math.floor(t/SECONDS_IN_HOUR); t = t-(SECONDS_IN_HOUR*hours); var minutes = Math.floor(t/SECONDS_IN_MINUTE); t = t-(SECONDS_IN_MINUTE*minutes); var seconds = Math.floor(t/SECONDS_IN_SECOND); t = t-(SECONDS_IN_SECOND*seconds); var tenmilliseconds = Math.floor(t*10); return make_plural('Year',years) + ' ' + make_plural('Day',days) + ' ' + make_plural('Hour',hours) + ' ' + make_plural('Minute',minutes) + ' ' + make_plural('.' + tenmilliseconds + ' Second',seconds); } function make_plural(word,n) { //add an s if we need to if(n==1) { return n + ' ' + word; } return n + ' ' + word + 's'; }