summaryrefslogtreecommitdiff
path: root/html/includes/js/clocks.js
diff options
context:
space:
mode:
authorMatthijs Kuiper <info@matthijskuiper.nl>2018-01-08 23:47:23 +0100
committerGitHub <noreply@github.com>2018-01-08 23:47:23 +0100
commite861eafbeae0560add7956530d76de6cc285be20 (patch)
treec32e746977fde711cecd716570989014bf2d3592 /html/includes/js/clocks.js
parent66b162b5f01c996fd8a5cd4e570e31f8483cdffa (diff)
parent730c20dd04b5753cb372a289923e39516d1f8b87 (diff)
Merge pull request #5 from randommonk/develop4.3.0
Bumped version to 4.3. Added jpgraph stats developed by killerEye
Diffstat (limited to 'html/includes/js/clocks.js')
-rw-r--r--html/includes/js/clocks.js561
1 files changed, 561 insertions, 0 deletions
diff --git a/html/includes/js/clocks.js b/html/includes/js/clocks.js
new file mode 100644
index 0000000..7f17b42
--- /dev/null
+++ b/html/includes/js/clocks.js
@@ -0,0 +1,561 @@
+//<![CDATA[
+
+$(function () {
+
+ /**
+ * Get the current time
+ */
+ function getNow() {
+ var now = new Date();
+ var gmt_offset = now.getTimezoneOffset( ) / 60;
+ var est = gmt_offset + 5;
+
+ return {
+ hours: now.getHours() - est + now.getMinutes() / 60,
+ minutes: now.getMinutes() * 12 / 60 + now.getSeconds() * 12 / 3600,
+ seconds: now.getSeconds() * 12 / 60
+ };
+ }
+
+ /**
+ * Pad numbers
+ */
+ function pad(number, length) {
+ // Create an array of the remaining length + 1 and join it with 0\'s
+ return new Array((length || 2) + 1 - String(number).length).join(0) + number;
+ }
+
+ var now = getNow();
+
+ // Create the chart
+ $(\'.column-right\').highcharts({
+
+ chart: {
+ type: \'gauge\',
+ plotBackgroundColor: null,
+ plotBackgroundImage: null,
+ plotBorderWidth: 0,
+ plotShadow: false,
+ height: 200
+ },
+
+ credits: {
+ enabled: false
+ },
+
+ title: {
+ text: \'EST\'
+ },
+
+ pane: {
+ background: [{
+ // default background
+ }, {
+ // reflex for supported browsers
+ backgroundColor: \'#1e1e1e\' ? {
+ radialGradient: {
+ cx: 0.5,
+ cy: -0.4,
+ r: 1.9
+ },
+ stops: [
+ [0.5, \'rgba(81, 81, 81, 0.8)\'],
+ [0.5, \'rgba(59, 56, 59, 0.8)\']
+ ]
+ } : null
+ }]
+ },
+
+ yAxis: {
+
+
+ labels: {
+ distance: -20,
+
+ style: {
+ color: \'#848484\'
+ }
+ },
+ min: 0,
+ max: 12,
+ lineWidth: 0,
+ showFirstLabel: false,
+
+ minorTickInterval: \'auto\',
+ minorTickWidth: 1,
+ minorTickLength: 5,
+ minorTickPosition: \'inside\',
+ minorGridLineWidth: 0,
+ minorTickColor: \'#2e2e2e\',
+
+ tickInterval: 1,
+ tickWidth: 2,
+ tickPosition: \'inside\',
+ tickLength: 10,
+ tickColor: \'#fff\',
+ title: {
+ text: \'\',
+ style: {
+ color: \'#fff\',
+ fontWeight: \'normal\',
+ fontSize: \'8px\',
+ lineHeight: \'10px\'
+ },
+ y: 10
+ }
+ },
+
+ tooltip: {
+ formatter: function () {
+ return this.series.chart.tooltipText;
+ }
+ },
+
+ series: [{
+ data: [{
+ id: \'hour\',
+ y: now.hours,
+ dial: {
+ radius: \'60%\',
+ baseWidth: 4,
+ baseLength: \'95%\',
+ rearLength: 0
+ }
+ }, {
+ id: \'minute\',
+ y: now.minutes,
+ dial: {
+ baseLength: \'95%\',
+ rearLength: 0
+ }
+ }, {
+ id: \'second\',
+ y: now.seconds,
+ dial: {
+ radius: \'100%\',
+ baseWidth: 1,
+ rearLength: \'20%\'
+ }
+ }],
+ animation: false,
+ dataLabels: {
+ enabled: false
+ }
+ }]
+ },
+
+ // Move
+ function (chart) {
+ setInterval(function () {
+
+ now = getNow();
+
+ var hour = chart.get(\'hour\'),
+ minute = chart.get(\'minute\'),
+ second = chart.get(\'second\'),
+ // run animation unless we\'re wrapping around from 59 to 0
+ animation = now.seconds === 0 ?
+ false :
+ {
+ easing: \'easeOutElastic\'
+ };
+
+ // Cache the tooltip text
+ chart.tooltipText =
+ pad(Math.floor(now.hours), 2) + \':\' +
+ pad(Math.floor(now.minutes * 5), 2) + \':\' +
+ pad(now.seconds * 5, 2);
+
+ hour.update(now.hours, true, animation);
+ minute.update(now.minutes, true, animation);
+ second.update(now.seconds, true, animation);
+
+ }, 1000);
+
+ });
+});
+
+// Extend jQuery with some easing (copied from jQuery UI)
+$.extend($.easing, {
+ easeOutElastic: function (x, t, b, c, d) {
+ var s=1.70158;var p=0;var a=c;
+ if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
+ if (a < Math.abs(c)) { a=c; var s=p/4; }
+ else var s = p/(2*Math.PI) * Math.asin (c/a);
+ return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
+ }
+});
+
+$(function () {
+
+ /**
+ * Get the current time
+ */
+ function getNow() {
+ var now = new Date();
+ var gmt_offset = now.getTimezoneOffset( ) / 60;
+ var est = gmt_offset + 5;
+ var cet = gmt_offset - 1;
+
+ return {
+ hours: now.getHours() - cet + now.getMinutes() / 60,
+ minutes: now.getMinutes() * 12 / 60 + now.getSeconds() * 12 / 3600,
+ seconds: now.getSeconds() * 12 / 60
+ };
+ }
+
+ /**
+ * Pad numbers
+ */
+ function pad(number, length) {
+ // Create an array of the remaining length + 1 and join it with 0\'s
+ return new Array((length || 2) + 1 - String(number).length).join(0) + number;
+ }
+
+ var now = getNow();
+
+ // Create the chart
+ $(\'.column-center\').highcharts({
+
+ chart: {
+ type: \'gauge\',
+ plotBackgroundColor: null,
+ plotBackgroundImage: null,
+ plotBorderWidth: 0,
+ plotShadow: false,
+ height: 200
+ },
+
+ credits: {
+ enabled: false
+ },
+
+ title: {
+ text: \'CET\'
+ },
+
+ pane: {
+ background: [{
+ // default background
+ }, {
+ // reflex for supported browsers
+ backgroundColor: Highcharts.svg ? {
+ radialGradient: {
+ cx: 0.5,
+ cy: -0.4,
+ r: 1.9
+ },
+ stops: [
+ [0.5, \'rgba(81, 81, 81, 0.8)\'],
+ [0.5, \'rgba(59, 56, 59, 0.8)\']
+ ]
+ } : null
+ }]
+ },
+
+ yAxis: {
+
+
+ labels: {
+ distance: -20,
+
+ style: {
+ color: \'#848484\'
+ }
+ },
+ min: 0,
+ max: 12,
+ lineWidth: 0,
+ showFirstLabel: false,
+
+ minorTickInterval: \'auto\',
+ minorTickWidth: 1,
+ minorTickLength: 5,
+ minorTickPosition: \'inside\',
+ minorGridLineWidth: 0,
+ minorTickColor: \'#2e2e2e\',
+
+ tickInterval: 1,
+ tickWidth: 2,
+ tickPosition: \'inside\',
+ tickLength: 10,
+ tickColor: \'#fff\',
+ title: {
+ text: \'\',
+ style: {
+ color: \'#fff\',
+ fontWeight: \'normal\',
+ fontSize: \'8px\',
+ lineHeight: \'10px\'
+ },
+ y: 10
+ }
+ },
+
+ tooltip: {
+ formatter: function () {
+ return this.series.chart.tooltipText;
+ }
+ },
+
+ series: [{
+ data: [{
+ id: \'hour\',
+ y: now.hours,
+ dial: {
+ radius: \'60%\',
+ baseWidth: 4,
+ baseLength: \'95%\',
+ rearLength: 0
+ }
+ }, {
+ id: \'minute\',
+ y: now.minutes,
+ dial: {
+ baseLength: \'95%\',
+ rearLength: 0
+ }
+ }, {
+ id: \'second\',
+ y: now.seconds,
+ dial: {
+ radius: \'100%\',
+ baseWidth: 1,
+ rearLength: \'20%\'
+ }
+ }],
+ animation: false,
+ dataLabels: {
+ enabled: false
+ }
+ }]
+ },
+
+ // Move
+ function (chart) {
+ setInterval(function () {
+
+ now = getNow();
+
+ var hour = chart.get(\'hour\'),
+ minute = chart.get(\'minute\'),
+ second = chart.get(\'second\'),
+ // run animation unless we\'re wrapping around from 59 to 0
+ animation = now.seconds === 0 ?
+ false :
+ {
+ easing: \'easeOutElastic\'
+ };
+
+ // Cache the tooltip text
+ chart.tooltipText =
+ pad(Math.floor(now.hours), 2) + \':\' +
+ pad(Math.floor(now.minutes * 5), 2) + \':\' +
+ pad(now.seconds * 5, 2);
+
+ hour.update(now.hours, true, animation);
+ minute.update(now.minutes, true, animation);
+ second.update(now.seconds, true, animation);
+
+ }, 1000);
+
+ });
+});
+
+// Extend jQuery with some easing (copied from jQuery UI)
+$.extend($.easing, {
+ easeOutElastic: function (x, t, b, c, d) {
+ var s=1.70158;var p=0;var a=c;
+ if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
+ if (a < Math.abs(c)) { a=c; var s=p/4; }
+ else var s = p/(2*Math.PI) * Math.asin (c/a);
+ return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
+ }
+});
+
+$(function () {
+
+ /**
+ * Get the current time
+ */
+ function getNow() {
+ var now = new Date();
+ var gmt_offset = now.getTimezoneOffset( ) / 60;
+ var est = gmt_offset + 5;
+
+ return {
+ hours: now.getHours() + now.getMinutes() / 60,
+ minutes: now.getMinutes() * 12 / 60 + now.getSeconds() * 12 / 3600,
+ seconds: now.getSeconds() * 12 / 60
+ };
+ }
+
+ /**
+ * Pad numbers
+ */
+ function pad(number, length) {
+ // Create an array of the remaining length + 1 and join it with 0\'s
+ return new Array((length || 2) + 1 - String(number).length).join(0) + number;
+ }
+
+ var now = getNow();
+
+ // Create the chart
+ $(\'.column-left\').highcharts({
+
+ chart: {
+ type: \'gauge\',
+ plotBackgroundColor: null,
+ plotBackgroundImage: null,
+ plotBorderWidth: 0,
+ plotShadow: false,
+ height: 200
+ },
+
+ credits: {
+ enabled: false
+ },
+
+ title: {
+ text: \'Your time\'
+ },
+
+ pane: {
+ background: [{
+ // default background
+ }, {
+ // reflex for supported browsers
+ backgroundColor: Highcharts.svg ? {
+ radialGradient: {
+ cx: 0.5,
+ cy: -0.4,
+ r: 1.9
+ },
+ stops: [
+ [0.5, \'rgba(81, 81, 81, 0.8)\'],
+ [0.5, \'rgba(59, 56, 59, 0.8)\']
+ ]
+ } : null
+ }]
+ },
+
+ yAxis: {
+
+
+ labels: {
+ distance: -20,
+
+ style: {
+ color: \'#848484\'
+ }
+ },
+ min: 0,
+ max: 12,
+ lineWidth: 0,
+ showFirstLabel: false,
+
+ minorTickInterval: \'auto\',
+ minorTickWidth: 1,
+ minorTickLength: 5,
+ minorTickPosition: \'inside\',
+ minorGridLineWidth: 0,
+ minorTickColor: \'#2e2e2e\',
+
+ tickInterval: 1,
+ tickWidth: 2,
+ tickPosition: \'inside\',
+ tickLength: 10,
+ tickColor: \'#fff\',
+ title: {
+ text: \'\',
+ style: {
+ color: \'#fff\',
+ fontWeight: \'normal\',
+ fontSize: \'8px\',
+ lineHeight: \'10px\'
+ },
+ y: 10
+ }
+ },
+
+ tooltip: {
+ formatter: function () {
+ return this.series.chart.tooltipText;
+ }
+ },
+
+ series: [{
+ data: [{
+ id: \'hour\',
+ y: now.hours,
+ dial: {
+ radius: \'60%\',
+ baseWidth: 4,
+ baseLength: \'95%\',
+ rearLength: 0
+ }
+ }, {
+ id: \'minute\',
+ y: now.minutes,
+ dial: {
+ baseLength: \'95%\',
+ rearLength: 0
+ }
+ }, {
+ id: \'second\',
+ y: now.seconds,
+ dial: {
+ radius: \'100%\',
+ baseWidth: 1,
+ rearLength: \'20%\'
+ }
+ }],
+ animation: false,
+ dataLabels: {
+ enabled: false
+ }
+ }]
+ },
+
+ // Move
+ function (chart) {
+ setInterval(function () {
+
+ now = getNow();
+
+ var hour = chart.get(\'hour\'),
+ minute = chart.get(\'minute\'),
+ second = chart.get(\'second\'),
+ // run animation unless we\'re wrapping around from 59 to 0
+ animation = now.seconds === 0 ?
+ false :
+ {
+ easing: \'easeOutElastic\'
+ };
+
+ // Cache the tooltip text
+ chart.tooltipText =
+ pad(Math.floor(now.hours), 2) + \':\' +
+ pad(Math.floor(now.minutes * 5), 2) + \':\' +
+ pad(now.seconds * 5, 2);
+
+ hour.update(now.hours, true, animation);
+ minute.update(now.minutes, true, animation);
+ second.update(now.seconds, true, animation);
+
+ }, 1000);
+
+ });
+});
+
+// Extend jQuery with some easing (copied from jQuery UI)
+$.extend($.easing, {
+ easeOutElastic: function (x, t, b, c, d) {
+ var s=1.70158;var p=0;var a=c;
+ if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
+ if (a < Math.abs(c)) { a=c; var s=p/4; }
+ else var s = p/(2*Math.PI) * Math.asin (c/a);
+ return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
+ }
+});
+//]]>