rem: var tzindex = offset + " " + timezone; if (tzindex in tzTable) { return tzTable[tzindex]; } else {  return "floating"; 
add: var icssrv = Components.classes["@mozilla.org/calendar/ics-service;1"] .getService(Components.interfaces.calIICSService);   function checkTZ(someTZ) { var comp = icssrv.getTimezone(someTZ); var subComp = comp.getFirstSubcomponent("VTIMEZONE"); var standard = subComp.getFirstSubcomponent("STANDARD"); var standardTZOffset = standard.getFirstProperty("TZOFFSETTO").stringValue; var standardName = standard.getFirstProperty("TZNAME").stringValue; var daylight = subComp.getFirstSubcomponent("DAYLIGHT"); var daylightTZOffset = null; var daylightName = null; if (daylight) { daylightTZOffset = daylight.getFirstProperty("TZOFFSETTO").stringValue; daylightName = daylight.getFirstProperty("TZNAME").stringValue; } if (winterOffset == standardTZOffset && winterOffset == summerOffset && !daylight) { if(!standardName || standardName == summerTZName) return 2; return 1; } if (winterOffset == standardTZOffset && summerOffset == daylightTZOffset) {  if ((!standardName || standardName == summerTZname) && (!daylightName || daylightName == winterTZname)) return 2; return 1; } return 0; 
context: function guessSystemTimezone(){    var m = (new Date()).toString().match(/[^(]* ([^ ]*) \(([^)]+)\)/);    var offset = m[1];    var timezone = m[2];    dump("Guessing system timezone:\n");    dump("offset  : " + offset + "\ntimezone: " + timezone + "\n");    var tzindex = offset + " " + timezone;    if (tzindex in tzTable) {        return tzTable[tzindex];    } else {        // XXX we don't really have a better option here        return "floating";    }}
meta: 8395	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/8395/0effe4340c821e67eabdd1a51fe1c2fab0e7d516/calendarUtils.js/buggy/calendar/resources/content/calendarUtils.js