CSGL TimeZone Changer

Change CSGO timezones.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, Greasemonkey alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey alebo Userscripts.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie správcu používateľských skriptov.

(Už mám správcu používateľských skriptov, nechajte ma ho nainštalovať!)

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

(Už mám správcu používateľských štýlov, nechajte ma ho nainštalovať!)

// ==UserScript==
// @name        CSGL TimeZone Changer
// @version     1.6
// @description Change CSGO timezones.
// @match       http://csgolounge.com/*
// @match 		http://dota2lounge.com/*
// @require     http://code.jquery.com/jquery-2.1.1.js
// @require		http://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js
// @copyright   Josh Hubbard
// @namespace 	https://greasyfork.org/users/5596
// ==/UserScript==

// TODO: Dry up the code. Things need to be speeded up.

$(function () {
    var dt = new Date(),
        tzOffset = (dt.getTimezoneOffset()/60) + 1,
        AMorPM = "",
        hour12 = true;
    
    if ($.cookie("showTwelve") == undefined) {
    	$.cookie("showTwelve", true);
    } else {
        if ($.cookie("showTwelve") == 'true') {
    		hour12 = true;
        } else {
            hour12 = false;
        }
    }

    // Insert 12/24 hours box
    if (hour12) {
        $('#submenu > nav').append('<a id="hour-option">Switch to 24 Hours</a>');
    } else {
        $('#submenu > nav').append('<a id="hour-option">Switch to 12 Hours</a>');
    }
    
    $('#hour-option').click(function() {
        if (hour12) {
        	$.cookie("showTwelve", false);    
        } else {
	        $.cookie("showTwelve", true);   
        }
        
        location.reload();
    });
    
    $timeBox = $('.half:contains("CET")');
    
    // Converts CEST to local on match page.
    if ($timeBox.length) {
        var timeInCEST = $timeBox.text(),
            hour = timeInCEST.split(" ")[0].split(":")[0],
            minute = timeInCEST.split(" ")[0].split(":")[1];
        
        hour = hour - tzOffset;
        
        if (hour < 0) hour = 24 + hour;  
        
        if (hour12) {
          console.log('2');
          if (hour == 12) {
              AMorPM = "PM";
          } else if (hour > 12) {
              hour = hour - 12;
	     	  AMorPM = "PM";      
		  } else {
			AMorPM = "AM";
		  }
        }
        
        if (hour12) {
        	$timeBox.html("(" + hour + ":" + minute + " " + AMorPM + ") " + $timeBox.html());
        } else {
        	$timeBox.html("(" + hour + ":" + minute + ") " + $timeBox.html());
        }
    }
    
    // Gets match information for all upcoming matches and converts time.
    $boxes = $(".matchmain:has(.whenm:contains('hour'):contains('from now'),.whenm:contains('minute'):contains('from now'))");
    
    $boxes.each(function(i) {
        var $this = $(this),
            link = $this.find("a[href*='match']").attr("href"),
            $whenBox =  $this.find(".whenm:first");
        
        $.get(link, function(data) {
            var response = $('<html />').html(data),
                $timeBox = response.find('.half:contains("CET")'),
                timeInCEST = $timeBox.text(),
                hour = timeInCEST.split(" ")[0].split(":")[0] - tzOffset,
                minute = timeInCEST.split(" ")[0].split(":")[1];
            
            if (hour < 0) hour = 24 + hour;  
            
            if (hour12) {
                if (hour == 12) {
                    AMorPM = "PM";
                } else if (hour > 12) {
                    hour = hour - 12;
                    AMorPM = "PM";      
                } else {
                    AMorPM = "AM";
                }
        	}
            
            if (hour12) {
            	$whenBox.html($whenBox.html() + " (" + hour + ":" + minute + " " + AMorPM + ")");
            } else {
            	$whenBox.html($whenBox.html() + " (" + hour + ":" + minute + ")");    
            }
        });
        
    });
});