var Timer=function(n,t){var i=this;if(i.CurrentTime=[0,0,0],i.TimerInterval=null,i.ElapseTime=[0,0,0],i.element=$(n),i.options=$.extend({},Timer.DEFAULTS,t),localStorage.setItem("Beep","false"),i.myFlag=!1,i.clientTimerInterval=i.element.find("#clientTimerInterval"),i.stopped=0,i.hours=i.element.find("#hours"),i.minutes=i.element.find("#minutes"),i.seconds=i.element.find("#seconds"),i.totalTime=i.element.find("#totalTime"),i.timeLimit=i.element.find(".timeLimit"),i.chkbox=i.element.find(".opt-TrafficLight"),i.options.canControl)i.element.off().on("click",".play",function(n){n.preventDefault();i.start(i,i.clientTimerInterval.text())}).on("click",".pause",function(n){n.preventDefault();i.stop(i,i.clientTimerInterval.text())}).on("click",".stop",function(n){n.preventDefault();i.stop(i,i.clientTimerInterval.text())}).on("click",".replay",function(n){n.preventDefault();(i.TimerInterval!==null||i.stopped===1)&&(i.stop(i),i.reset(i))}).on("click",".takeControl",function(n){n.preventDefault();i.clientTimerInterval==""||i.clientTimerInterval==0}).on("click",".setTimeLimitBtn",function(n){n.preventDefault();var r=i.element.find(".timeLimit").val(),t=r.split(":");$.each(t,function(n){this.length<2&&(t[n]="0"+this)});i.options.maxTime=t.length==3?t[0]+":"+t[1]+":"+t[2]:t.length==2?"00:"+t[0]+":"+t[1]:"00:00:"+t[0];i.stop(i);i.reset(i)}).on("keypress",".timeLimit",function(n){(n.which<48||n.which>57)&&n.which!=58&&n.which!=8&&n.which!=0&&n.preventDefault()});else i.element.find(".timer-player").children("input").prop("disabled","disabled");i.reset(i,!0)},old;Timer.DEFAULTS={maxTime:"00:02:00",canControl:!1,timerHub:null,groupId:null};Timer.prototype.start=function(n,t){n.TimerInterval==null&&t==""&&(n.TimerInterval=setInterval(function(){n.tick(n)},1e3),n.clientTimerInterval.empty().append(n.TimerInterval),n.TimerInterval=n.TimerInterval,n.stopped=0,n.myFlag=!1)};Timer.prototype.tick=function(n){(n.myFlag=!1,n.clientTimerInterval.text()!=="0")&&(n.CurrentTime[0]!=0||n.CurrentTime[1]!=0||n.CurrentTime[2]!=0?(n.CurrentTime[2]--,n.CurrentTime[2]<0&&(n.CurrentTime[2]=60+n.CurrentTime[2],n.CurrentTime[1]--,n.CurrentTime[1]<0&&(n.CurrentTime[1]=60+n.CurrentTime[1],n.CurrentTime[0]--)),n.CurrentTime[0]==0||n.CurrentTime[1]==0||n.CurrentTime[2]<31?(document.querySelector("body").style.backgroundColor="yellow",n.element.find("#hours, #minutes, #seconds").css("color","#0")):(document.querySelector("body").style.backgroundColor="white",n.element.find("#hours, #minutes, #seconds").css("color",""))):n.ElapseTime[2]%2==0?n.element.find("#hours, #minutes, #seconds").css("color","#900"):n.element.find("#hours, #minutes, #seconds").css("color",""),n.ElapseTime[2]++,n.ElapseTime[2]>59&&(n.ElapseTime[2]=0,n.ElapseTime[1]++,n.ElapseTime[1]>59&&(n.ElapseTime[1]=0,n.ElapseTime[0]++)),n.clientTimerInterval.empty().append(n.TimerInterval),n.options.timerHub!=null&&n.options.timerHub.server.updateTimer(n.options.groupId,n.CurrentTime,n.options.maxTime,n.ElapseTime,n.TimerInterval),n.update(n))};Timer.prototype.stop=function(n,t){if(n.TimerInterval!=null&&n.TimerInterval!=""){if(t!=="undefined"&&t!==null){if(t==""||t==0)return}else if(n.TimerInterval===null)return;n.TimerInterval===t&&n.options.timerHub.server.stopTimer(t);n.TimerInterval!=null?(clearInterval(n.TimerInterval),n.TimerInterval=null,n.clientTimerInterval.empty(),n.element.find("#hours, #minutes, #seconds").css("color",""),n.options.timerHub.server.updateTimer(n.options.groupId,n.CurrentTime,n.options.maxTime,n.ElapseTime,0),n.stopped=1):t!=""&&(clearInterval(t),n.TimerInterval=null,n.clientTimerInterval.empty(),n.element.find("#hours, #minutes, #seconds").css("color",""),n.options.timerHub.server.stopTimer(t),n.stopped=1);n.element.find("#hours, #minutes, #seconds").removeClass("blink_me");n.element.find("#hours, #minutes, #seconds").removeClass("blink_me2");n.element.find("#hours, #minutes, #seconds").removeClass("blink_me3");n.myFlag=!1}};Timer.prototype.reset=function(n,t){var i=n.options.maxTime.split(":");n.element.find("#minutes").empty().append(i[1]);n.element.find("#seconds").empty().append(i[2]);n.CurrentTime[0]=parseInt(i[0]);n.CurrentTime[1]=parseInt(i[1]);n.CurrentTime[2]=parseInt(i[2]);n.ElapseTime[0]=n.ElapseTime[1]=n.ElapseTime[2]=0;n.update(n);t!==undefined&&t||n.options.timerHub.server.updateTimer(n.options.groupId,n.CurrentTime,n.options.maxTime,n.ElapseTime,0);n.element.find("#hours, #minutes, #seconds").removeClass("blink_me");n.element.find("#hours, #minutes, #seconds").removeClass("blink_me2");n.element.find("#hours, #minutes, #seconds").removeClass("blink_me3");n.element.find("#hours, #minutes, #seconds").css("color","");n.clientTimerInterval.empty();n.element.find("#hours, #minutes, #seconds").css("color","");n.options.canControl?(n.element.find(".setTimLimitContainer").show(),n.element.find(".timeLimit").val(n.options.maxTime)):n.element.find(".setTimLimitContainer").hide();n.stopped=0;n.myFlag=!1};Timer.prototype.update=function(n,t){t!==undefined&&t!==null&&(t.currentTime!==undefined&&t.currentTime!==null&&(n.CurrentTime=t.currentTime),t.elapseTime!==undefined&&t.elapseTime!==null&&(n.ElapseTime=t.elapseTime),t.maxTime!==undefined&&t.maxTime!==null&&(n.options.maxTime=t.maxTime),(t.timerInterval==undefined||t.timerInterval==null)&&n.clientTimerInterval.empty().append(""),t.timerInterval===""&&n.clientTimerInterval.empty().append(t.timerInterval));var i=[];if(i[0]=n.CurrentTime[0].toString(),i[0].length<2&&(i[0]="0"+i[0]),i[1]=n.CurrentTime[1].toString(),i[1].length<2&&(i[1]="0"+i[1]),i[2]=n.CurrentTime[2].toString(),i[2].length<2&&(i[2]="0"+i[2]),n.minutes.empty().append(i[1]),n.seconds.empty().append(i[2]),t!==undefined&&t!==null?t.timerInterval==0||t.timerInterval==""?n.clientTimerInterval.empty().append(""):n.clientTimerInterval.empty().append(t.timerInterval):n.clientTimerInterval.empty().append(n.TimerInterval),$("#spanBody").text()=="S"&&(document.querySelector("body").style.backgroundColor=n.CurrentTime[0]===0&&n.CurrentTime[1]===0&&n.CurrentTime[2]<=0?"red":n.CurrentTime[0]===0&&n.CurrentTime[1]===0&&n.CurrentTime[2]<=30?"yellow":"white"),n.CurrentTime[0]===0&&n.CurrentTime[1]===0&&n.CurrentTime[2]<=15)if(n.element.find("#hours, #minutes, #seconds").css("color","#e00"),n.CurrentTime[2]===0){if(n.hours[0].classList.contains("blink_me")?(n.element.find("#hours, #minutes, #seconds").addClass("blink_me2"),n.element.find("#hours, #minutes, #seconds").removeClass("blink_me")):(n.element.find("#hours, #minutes, #seconds").addClass("blink_me"),n.element.find("#hours, #minutes, #seconds").removeClass("blink_me2")),!n.myFlag){n.myFlag=!0;let t=new Audio("https://azleg.gov/alispdfs/censor-beep-88052.mp3");t.muted=!1;t.play()}}else n.myFlag=!1;else localStorage.setItem("Beep","false"),n.element.find("#hours, #minutes, #seconds").removeClass("blink_me"),n.element.find("#hours, #minutes, #seconds").removeClass("blink_me2"),n.element.find("#hours, #minutes, #seconds").removeClass("blink_me3"),n.element.find("#hours, #minutes, #seconds").css("color",""),n.myFlag=!1;i[0]=n.ElapseTime[0].toString();i[0].length<2&&(i[0]="0"+i[0]);i[1]=n.ElapseTime[1].toString();i[1].length<2&&(i[1]="0"+i[1]);i[2]=n.ElapseTime[2].toString();i[2].length<2&&(i[2]="0"+i[2]);n.totalTime.empty().append(i[0]+":"+i[1]+":"+i[2]);n.timeLimit.val(n.options.maxTime)};old=$.fn.timer;$.fn.timer=function(n,t){var i=$(this),r=i.data("timer"),u=$.extend({},Timer.DEFAULTS,i.data(),typeof n=="object"&&n,!1);return r||i.data("timer",r=new Timer(this,u)),typeof n=="string"&&r[n](r,t),i};$.fn.timer.Constructor=Timer;$.fn.timer.noConflict=function(){return $.fn.timer=old,this}