Skip to content
Schools
Teachers
Jobs
View teaching jobs
ClassCover for Job Seekers
Post a job
Teacher PD
ClassCover Learn
Teacher PD Library
Pricing
Login
Free Trial
Navigation Menu
Navigation Menu
Login
Free Trial
Schools
Teachers
Jobs
View teaching jobs
ClassCover for Job Seekers
Post a job
Teacher PD
ClassCover Learn
Teacher PD Library
Pricing
Find Out How Much Time You Will Save by Switching to ClassCover
0?n:0; } function hm(hours){ hours = hours>0?hours:0; var h = Math.floor(hours); var m = Math.round((hours-h)*60); if(m===60){h+=1;m=0;} return h+"h "+String(m).padStart(2,"0")+"m"; } function money(n){ try { return new Intl.NumberFormat("en-AU",{style:"currency",currency:"AUD",maximumFractionDigits:0}).format(n||0); } catch(e){ n=Math.round(n||0); return "$"+n.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g,","); } } var TWO_MIN_17S_MIN = 2 + (17/60); // 2.2833 minutes var PER_BOOKING_HRS = TWO_MIN_17S_MIN/60; // 0.0380556 hours var hours=$("tc-hours"), bookings=$("tc-bookings"), bookingsNum=$("tc-bookingsNum"), weeks=$("tc-weeks"), rate=$("tc-rate"); var curWeek=$("tc-current-week"), ccWeek=$("tc-cc-week"), savedWeek=$("tc-saved-week"), savedYear=$("tc-saved-year"), moneyWrap=$("tc-money-wrap"), moneyYear=$("tc-money-year"); function recalc(){ // keep slider and number in sync if (document.activeElement!==bookingsNum) bookingsNum.value = bookings.value; var curHoursWeek = toNum(hours.value); var bkw = toNum(bookings.value); var wpy = Math.max(1, toNum(weeks.value)||40); var hourly = toNum(rate.value); var ccHoursWeek = bkw * PER_BOOKING_HRS; var savedHoursWeek = Math.max(curHoursWeek - ccHoursWeek, 0); var savedHoursYear = savedHoursWeek * wpy; curWeek.textContent = hm(curHoursWeek); ccWeek.textContent = hm(ccHoursWeek); savedWeek.textContent = hm(savedHoursWeek); savedYear.textContent = hm(savedHoursYear); if (hourly>0){ moneyWrap.style.display = "flex"; moneyYear.textContent = money(savedHoursYear * hourly); } else { moneyWrap.style.display = "none"; } // keep iframe height snug try{ parent.postMessage({ cc:"tcHeight", h: document.documentElement.scrollHeight }, "*"); }catch(e){} } [hours, bookings, bookingsNum, weeks, rate].forEach(function(el){ ["input","change","keyup","blur"].forEach(function(evt){ el.addEventListener(evt, recalc); }); }); bookingsNum.addEventListener("input", function(){ bookings.value = bookingsNum.value; }); // initial renders (handle editor/autofill timing) recalc(); setTimeout(recalc,80); setTimeout(recalc,200); new ResizeObserver(recalc).observe(document.body); window.addEventListener("resize", recalc); })(); });