+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Permalink
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | + | (function(){ | +
| + | + | +
| + | areCookiesEnabled = function() { | +
| + | // Credit for this function goes to: http://stackoverflow.com/a/18114024/764723 | +
| + | var cookieEnabled = navigator.cookieEnabled; | +
| + | var cookieEnabledSupported; | +
| + | + | +
| + | // When cookieEnabled flag is present and false then cookies are disabled. | +
| + | if (cookieEnabled === false) { | +
| + | return false; | +
| + | } | +
| + | + | +
| + | // If cookieEnabled is null or undefined then assume the browser | +
| + | // doesn't support this flag | +
| + | if (cookieEnabled !== false && !cookieEnabled) { | +
| + | cookieEnabledSupported = false; | +
| + | } else { | +
| + | cookieEnabledSupported = true; | +
| + | } | +
| + | + | +
| + | + | +
| + | // try to set a test cookie if we can't see any cookies and we're using | +
| + | // either a browser that doesn't support navigator.cookieEnabled | +
| + | // or IE (which always returns true for navigator.cookieEnabled) | +
| + | if (!document.cookie && (!cookieEnabledSupported || /*@cc_on!@*/false)) { | +
| + | document.cookie = "testcookie=1"; | +
| + | + | +
| + | if (!document.cookie) { | +
| + | return false; | +
| + | } else { | +
| + | document.cookie = "testcookie=; expires=" + new Date(0).toUTCString(); | +
| + | } | +
| + | } | +
| + | + | +
| + | return true; | +
| + | }; | +
| + | + | +
| + | var createXMLHttp = function() { | +
| + | var xmlHttp = null; | +
| + | // Use XMLHttpRequest where available | +
| + | if (typeof(XMLHttpRequest) !== undefined) { | +
| + | xmlHttp = new XMLHttpRequest(); | +
| + | return xmlHttp; | +
| + | // IE | +
| + | } else if (window.ActiveXObject) { | +
| + | var ieXMLHttpVersions = ['MSXML2.XMLHttp.5.0', 'MSXML2.XMLHttp.4.0', 'MSXML2.XMLHttp.3.0', 'MSXML2.XMLHttp', 'Microsoft.XMLHttp']; | +
| + | for (var i = 0; i < ieXMLHttpVersions.length; i++) { | +
| + | try { | +
| + | xmlHttp = new ActiveXObject(ieXMLHttpVersions[i]); | +
| + | return xmlHttp; | +
| + | } catch (e) {} | +
| + | } | +
| + | } | +
| + | }; | +
| + | + | +
| + | if(!areCookiesEnabled()) { | +
| + | // If cookies are disabled then storing the timezone in the user's | +
| + | // session is a hopeless task and will trigger a request for each | +
| + | // page load. Therefore, we shouldn't bother. | +
| + | return; | +
| + | } | +
| + | + | +
| + | var xmlHttp = createXMLHttp(); | +
| + | if(xmlHttp) { | +
| + | xmlHttp.open('post', window.tz_set_endpoint, true); | +
| + | xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); | +
| + | xmlHttp.setRequestHeader('X-CSRFToken', window.csrf_token); | +
| + | xmlHttp.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); | +
| + | xmlHttp.send("offset=" + (new Date()).getTimezoneOffset()); | +
| + | } | +
| + | + | +
| + | }()); | +
+