(function() {

  // script by Josh Fraser (http://www.onlineaspect.com)
  // modified to return the integer offset, not a formatted one
  function calculate_time_zone() {
    var rightNow = new Date();
    var jan1 = new Date(rightNow.getFullYear(), 0, 1, 0, 0, 0, 0);  // jan 1st
    var june1 = new Date(rightNow.getFullYear(), 6, 1, 0, 0, 0, 0); // june 1st
    var temp = jan1.toGMTString();
    var jan2 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
    temp = june1.toGMTString();
    var june2 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
    var std_time_offset = (jan1 - jan2) / (1000 * 60 * 60);
    var daylight_time_offset = (june1 - june2) / (1000 * 60 * 60);
    var dst;

    if (std_time_offset == daylight_time_offset) {
      dst = "0"; // daylight savings time is NOT observed
    } else {
      // positive is southern, negative is northern hemisphere
      var hemisphere = std_time_offset - daylight_time_offset;
      if (hemisphere >= 0)
        std_time_offset = daylight_time_offset;
      dst = "1"; // daylight savings time is observed
    }
    var i;

    return std_time_offset;
  }

  var trk_src     = document.location.hostname;
  var trk_path    = document.getElementById('theconversation_tracker_hook').getAttribute('data-tracker');
  var trk_script  = document.createElement('script');
  trk_script.type = 'text/javascript';
  trk_script.async = true;
  trk_script.src = trk_path +
    '?from='            + escape(trk_src) +
    '&timezone_offset=' + escape(calculate_time_zone()) +
    '&referrer=' + escape(document.referrer);

  var s           = document.getElementsByTagName('script')[0];
  s.parentNode.insertBefore(trk_script, s);
})();

