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()); | |
| } | |
| }()); |