Advertisement
Guest User

Untitled

a guest
Mar 3rd, 2019
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 4.15 KB | None | 0 0
  1. <div style="float: center; width: 95%; padding: 5px; margin: 15px 0 15px 0; background-color: #e0e0e0; border: 1px solid #afafaf;">
  2.     <div style="font-size: 14px; text-align: center;" id="serverTime"></div>
  3.     <div style="padding: 5px; margin: 5px 0 5px 0; background-color: #ffffff; border: 1px solid #afafaf;" >
  4.         <div class="divTable">
  5.             <div class="divTableBody" id="eventsList">
  6.  
  7.             </div>
  8.         </div>
  9.     </div>
  10. </div>
  11. <script type="text/javascript">
  12.     var dayNames = ['', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
  13.    
  14.     var events = [
  15.         ['Blood Castle', '0', '00:30', '01:30', '02:30', '03:30', '04:30', '05:30', '06:30', '07:30', '08:30', '09:30', '10:30', '11:30', '12:30', '13:30', '14:30', '15:30', '16:30', '17:30', '18:30', '19:30', '20:30', '21:30', '22:30', '23:30'],
  16.         ['Devil Square', '0', '01:00', '03:00', '05:00', '07:00', '09:00', '11:00', '13:00', '15:00', '17:00', '19:00', '21:00', '23:00'],
  17.         ['Sky Event', '0', '03:50', '07:50', '11:50', '15:50', '19:50', '23:00'],
  18.         ['Golden Invasion', '0', '01:30', '04:30', '07:30', '10:30', '13:30', '16:30', '19:30', '22:30'],
  19.         ['Chaos Castle', '0', '18:15'],                        
  20.         ['White Wizard', '0', '01:15', '03:15', '05:15', '07:15', '09:15', '11:15', '13:15', '15:15', '17:15', '19:15', '21:15', '23:15'],
  21.         ['HOF Event', '5', '19:00', '19:00'] //5 = 5th day of the week aka Friday, 7 = Sunday etc.
  22.     ];
  23.  
  24.     function eventTimers() {
  25.         var eventsList = '<div class="divTableRow" style="background-color: #e0e0e0;"><div class="divTableCell" style="text-align: center;">Event</div><div class="divTableCell">Start Time</div><div class="divTableCell">Time Remaining</div></div>';
  26.         var currTime = moment().tz('Europe/Sofia');
  27.         var time = currTime.toObject();
  28.         var secs = (time.hours * 60 + time.minutes) * 60 + time.seconds;
  29.  
  30.         for (i = 0; i < events.length; i++) {
  31.            var event = events[i];
  32.  
  33.            var daysLeft = 0;
  34.            var dayOfWeek = currTime.isoWeekday();
  35.            var eventDay = parseInt(event[1]);
  36.            if (eventDay != 0 && dayOfWeek != eventDay) {
  37.                var daysLeft = dayOfWeek > eventDay ? (7 - (dayOfWeek - eventDay)) : (eventDay - dayOfWeek);
  38.             }
  39.  
  40.             if (event.length > 3) {
  41.                 for (t = 2; t < event.length; t++) {
  42.                    var hour = event[t].split(':'), dSecs = (parseInt(hour[0]) * 60 + parseInt(hour[1])) * 60;
  43.                    if (dSecs > secs) {
  44.                         var nextSeconds = dSecs, id = t;
  45.                         break;
  46.                     }
  47.  
  48.                     if (t === (event.length - 1)) {
  49.                         var hour = event[2].split(':'), nextSeconds = ((parseInt(hour[0]) * 60 + parseInt(hour[1])) * 60 + 86400), id = 2;
  50.                     }
  51.                 }
  52.             } else {
  53.                 var hour = event[2].split(':'), nextSeconds = ((parseInt(hour[0]) * 60 + parseInt(hour[1])) * 60 + 86400), id = 2;
  54.             }
  55.  
  56.             var nextSeconds = nextSeconds - secs, hours = addZero(Math.floor(nextSeconds / 60 / 60)), minutes = addZero(Math.floor((nextSeconds - hours * 60 * 60) / 60)), seconds = addZero(Math.floor(nextSeconds - minutes * 60 - hours * 60 * 60));
  57.  
  58.             eventsList = eventsList + "<div class='divTableRow' style='font-size: 13px;'><div class='divTableCell' style='text-align: center;'>" + event[0] + "</div><div class='divTableCell'>" + (eventDay > 0 ? dayNames[eventDay] + ' ' : '') + event[id] + "</div><div class='divTableCell'>" + ((nextSeconds <= 300 && daysLeft == 0) || (eventDay > 0 && daysLeft == 0) ? '<font style=\'color: #ff0000 !important;\'>' + hours + 'h ' + minutes + 'm ' + seconds + 's</font>' : (daysLeft > 0 ? daysLeft + 'd ' : '') + hours + 'h ' + minutes + 'm ' + seconds + 's') + "</div></div>";
  59.         }
  60.  
  61.         $('#serverTime').html('Server local time - <b>' + addZero(time.hours) + ':' + addZero(time.minutes) + ':' + addZero(time.seconds) + '</b>');
  62.         $('#eventsList').html(eventsList);
  63.     }
  64.  
  65.     eventTimers();
  66.     setInterval(function () {
  67.         eventTimers();
  68.     }, 500);
  69. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement