| /* |
| * To change this license header, choose License Headers in Project Properties. |
| * To change this template file, choose Tools | Templates |
| * and open the template in the editor. |
| */ |
| var timer = { |
| lastDate: null, |
| timerIntervalId: null, |
| blockStatus: false, |
| timeShowBlock: { |
| hourse: 8, |
| minutes: 0, |
| seconds: 0 |
| }, |
| timeHideBlock: { |
| hourse: 20, |
| minutes: 0, |
| seconds: 0 |
| }, |
| dom: { |
| hourse: null, |
| minutes: null, |
| second: null, |
| checkVars: function () { |
| if (this.hourse && this.minutes && this.second) { |
| return true; |
| } else { |
| return false; |
| } |
| }, |
| init: function () { |
| if (this.checkVars()) { |
| return true; |
| } |
| this.hourse = document.getElementById('h'); |
| this.minutes = document.getElementById('m'); |
| this.second = document.getElementById('s'); |
| if (this.checkVars()) { |
| return true; |
| } else { |
| return false; |
| } |
| }, |
| hide: function () { |
| timer.start(30000); |
| if (timer.blockStatus == true) { |
| document.getElementById('second-blank').className += 'hidden'; |
| timer.blockStatus = false; |
| } |
| }, |
| show: function () { |
| if (timer.blockStatus == false) { |
| document.getElementById('second-blank').className = ''; |
| timer.blockStatus = true; |
| timer.start(1000); |
| } |
| } |
| }, |
| setLastDate: function(d) { |
| if (d) { |
| this.lastDate = d; |
| } else { |
| this.lastDate = new Date(); |
| } |
| this.lastDate.setHours(this.timeHideBlock.hourse, this.timeHideBlock.minutes, this.timeHideBlock.second); |
| }, |
| range: function (h, m, s) { |
| if (!this.dom.init()) { |
| return false; |
| } |
| this.dom.hourse.innerHTML = h; |
| this.dom.minutes.innerHTML = m; |
| this.dom.second.innerHTML = s; |
| }, |
| arrToSec: function (h, m, s) { |
| if (m>0) s+= m*60; |
| if (h>0) s+=h*60*60; |
| return s; |
| }, |
| interval: function () { |
| if (!this.dom.init()) { |
| return false; |
| } |
| |
| d = new Date(); |
| lastTime = new Date(); |
| lastTime.setHours(this.timeHideBlock.hourse, this.timeHideBlock.minutes, this.timeHideBlock.seconds) |
| lastSecond = lastTime - d; |
| firstTime = new Date(); |
| firstTime.setHours(this.timeShowBlock.hourse, this.timeShowBlock.minutes, this.timeShowBlock.seconds) |
| firstSecond = d - firstTime; |
| if ( firstSecond > 0 && lastSecond > 0) { |
| this.dom.show(); |
| } else { |
| this.dom.hide(); |
| return; |
| } |
| |
| rem = new Date(lastSecond); |
| h = rem.getHours() + (d.getTimezoneOffset() / 60); |
| m = rem.getMinutes(); |
| s = rem.getSeconds(); |
| |
| |
| if (h<10) h = '0'+h; |
| if (m<10) m = '0'+m; |
| if (s<10) s = '0'+s; |
| this.range(h, m, s); |
| }, |
| start: function (time) { |
| clearInterval(this.timerIntervalId); |
| this.timerIntervalId = setInterval(function () {timer.interval()}, (time?time:1000)); |
| |
| } |
| }; |
| window.onload = function () { |
| timer.start(5000); |
| } |