CSGL TimeZone Changer

Change CSGO timezones.

Aby zainstalować ten skrypt, wymagana jest instalacje jednego z następujących rozszerzeń: Tampermonkey, Greasemonkey lub Violentmonkey.

Aby zainstalować ten skrypt, wymagana jest instalacje jednego z następujących rozszerzeń: Tampermonkey, Violentmonkey.

Aby zainstalować ten skrypt, wymagana jest instalacje jednego z następujących rozszerzeń: Tampermonkey, Violentmonkey.

Aby zainstalować ten skrypt, wymagana będzie instalacja rozszerzenia Tampermonkey lub Userscripts.

You will need to install an extension such as Tampermonkey to install this script.

Aby zainstalować ten skrypt, musisz zainstalować rozszerzenie menedżera skryptów użytkownika.

(Mam już menedżera skryptów użytkownika, pozwól mi to zainstalować!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

Będziesz musiał zainstalować rozszerzenie menedżera stylów użytkownika, aby zainstalować ten styl.

Będziesz musiał zainstalować rozszerzenie menedżera stylów użytkownika, aby zainstalować ten styl.

Musisz zainstalować rozszerzenie menedżera stylów użytkownika, aby zainstalować ten styl.

(Mam już menedżera stylów użytkownika, pozwól mi to zainstalować!)

// ==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 + ")");    
            }
        });
        
    });
});