var noDstTzs = [
{ tz:"Etc/GMT+12", offset:-43200000 },
{ tz:"Etc/GMT+11", offset:-39600000 },
{ tz:"Etc/GMT+10", offset:-36000000 },
{ tz:"Pacific/Marquesas", offset:-34200000 },
{ tz:"Etc/GMT+9", offset:-32400000 },
{ tz:"Etc/GMT+8", offset:-28800000 },
{ tz:"America/Dawson_Creek", offset:-25200000 },
{ tz:"America/Belize", offset:-21600000 },
{ tz:"America/Bogota", offset:-18000000 },
{ tz:"America/Anguilla", offset:-14400000 },
{ tz:"AGT", offset:-10800000 },
{ tz:"America/Noronha", offset:-7200000 },
{ tz:"Atlantic/Cape_Verde", offset:-3600000 },
{ tz:"Africa/Abidjan", offset:0 },
{ tz:"Africa/Algiers", offset:3600000 },
{ tz:"Africa/Blantyre", offset:7200000 },
{ tz:"Africa/Addis_Ababa", offset:10800000 },
{ tz:"Asia/Riyadh87", offset:11224000 },
{ tz:"Asia/Dubai", offset:14400000 },
{ tz:"Asia/Kabul", offset:16200000 },
{ tz:"Asia/Ashgabat", offset:18000000 },
{ tz:"Asia/Calcutta", offset:19800000 },
{ tz:"Asia/Katmandu", offset:20700000 },
{ tz:"Antarctica/Mawson", offset:21600000 },
{ tz:"Asia/Rangoon", offset:23400000 },
{ tz:"Antarctica/Davis", offset:25200000 },
{ tz:"Antarctica/Casey", offset:28800000 },
{ tz:"Asia/Choibalsan", offset:32400000 },
{ tz:"ACT", offset:34200000 },
{ tz:"Antarctica/DumontDUrville", offset:36000000 },
{ tz:"Etc/GMT-11", offset:39600000 },
{ tz:"Pacific/Norfolk", offset:41400000 },
{ tz:"Etc/GMT-12", offset:43200000 },
{ tz:"Etc/GMT-13", offset:46800000 },
{ tz:"Etc/GMT-14", offset:50400000 }
];

var dstTzs = [
{ tz:"America/Adak", offset:-36000000, dls:3600000, year:2004, month:3, day:4, hour:2 },
{ tz:"AST", offset:-32400000, dls:3600000, year:2004, month:3, day:4, hour:2 },
{ tz:"America/Dawson", offset:-28800000, dls:3600000, year:2004, month:3, day:4, hour:2 },
{ tz:"America/Boise", offset:-25200000, dls:3600000, year:2004, month:3, day:4, hour:2 },
{ tz:"America/Cancun", offset:-21600000, dls:3600000, year:2004, month:3, day:4, hour:2 },
{ tz:"Chile/EasterIsland", offset:-21600000, dls:3600000, year:2004, month:9, day:10, hour:4 },
{ tz:"America/Detroit", offset:-18000000, dls:3600000, year:2004, month:3, day:4, hour:2 },
{ tz:"America/Grand_Turk", offset:-18000000, dls:3600000, year:2004, month:3, day:4, hour:0 },
{ tz:"America/Havana", offset:-18000000, dls:3600000, year:2004, month:3, day:4, hour:0 },
{ tz:"America/Asuncion", offset:-14400000, dls:3600000, year:2004, month:8, day:5, hour:0 },
{ tz:"America/Cuiaba", offset:-14400000, dls:3600000, year:2004, month:9, day:10, hour:0 },
{ tz:"America/Glace_Bay", offset:-14400000, dls:3600000, year:2004, month:3, day:4, hour:2 },
{ tz:"America/Goose_Bay", offset:-14400000, dls:3600000, year:2004, month:3, day:4, hour:0 },
{ tz:"America/Santiago", offset:-14400000, dls:3600000, year:2004, month:9, day:10, hour:4 },
{ tz:"Antarctica/Palmer", offset:-14400000, dls:3600000, year:2004, month:9, day:10, hour:0 },
{ tz:"Atlantic/Stanley", offset:-14400000, dls:3600000, year:2004, month:8, day:5, hour:2 },
{ tz:"America/St_Johns", offset:-12600000, dls:3600000, year:2004, month:3, day:4, hour:0 },
{ tz:"America/Araguaina", offset:-10800000, dls:3600000, year:2004, month:9, day:10, hour:0 },
{ tz:"America/Godthab", offset:-10800000, dls:3600000, year:2004, month:2, day:28, hour:1 },
{ tz:"America/Miquelon", offset:-10800000, dls:3600000, year:2004, month:3, day:4, hour:2 },
{ tz:"America/Scoresbysund", offset:-3600000, dls:3600000, year:2004, month:2, day:28, hour:1 },
{ tz:"Atlantic/Canary", offset:0, dls:3600000, year:2004, month:2, day:28, hour:1 },
{ tz:"Africa/Ceuta", offset:3600000, dls:3600000, year:2004, month:2, day:28, hour:1 },
{ tz:"Africa/Windhoek", offset:3600000, dls:3600000, year:2004, month:8, day:5, hour:2 },
{ tz:"CET", offset:3600000, dls:3600000, year:2004, month:2, day:28, hour:2 },
{ tz:"ART", offset:7200000, dls:3600000, year:2004, month:3, day:30, hour:0 },
{ tz:"Asia/Amman", offset:7200000, dls:3600000, year:2004, month:2, day:25, hour:0 },
{ tz:"Asia/Beirut", offset:7200000, dls:3600000, year:2004, month:2, day:28, hour:0 },
{ tz:"Asia/Damascus", offset:7200000, dls:3600000, year:2004, month:3, day:1, hour:0 },
{ tz:"Asia/Gaza", offset:7200000, dls:3600000, year:2004, month:3, day:16, hour:0 },
{ tz:"Asia/Istanbul", offset:7200000, dls:3600000, year:2004, month:2, day:28, hour:1 },
{ tz:"Asia/Jerusalem", offset:7200000, dls:3600000, year:2004, month:3, day:1, hour:1 },
{ tz:"Europe/Kaliningrad", offset:7200000, dls:3600000, year:2004, month:2, day:28, hour:2 },
{ tz:"Asia/Baghdad", offset:10800000, dls:3600000, year:2004, month:3, day:1, hour:3 },
{ tz:"Europe/Moscow", offset:10800000, dls:3600000, year:2004, month:2, day:28, hour:2 },
{ tz:"Asia/Tehran", offset:12600000, dls:3600000, year:2004, month:2, day:21, hour:0 },
{ tz:"Asia/Aqtau", offset:14400000, dls:3600000, year:2004, month:2, day:28, hour:2 },
{ tz:"Asia/Baku", offset:14400000, dls:3600000, year:2004, month:2, day:28, hour:1 },
{ tz:"Asia/Tbilisi", offset:14400000, dls:3600000, year:2004, month:2, day:28, hour:0 },
{ tz:"Asia/Aqtobe", offset:18000000, dls:3600000, year:2004, month:2, day:28, hour:2 },
{ tz:"Asia/Bishkek", offset:18000000, dls:3600000, year:2004, month:2, day:28, hour:2 },
{ tz:"Asia/Almaty", offset:21600000, dls:3600000, year:2004, month:2, day:28, hour:2 },
{ tz:"Asia/Krasnoyarsk", offset:25200000, dls:3600000, year:2004, month:2, day:28, hour:2 },
{ tz:"Asia/Irkutsk", offset:28800000, dls:3600000, year:2004, month:2, day:28, hour:2 },
{ tz:"Asia/Yakutsk", offset:32400000, dls:3600000, year:2004, month:2, day:28, hour:2 },
{ tz:"Australia/Adelaide", offset:34200000, dls:3600000, year:2004, month:9, day:31, hour:2 },
{ tz:"AET", offset:36000000, dls:3600000, year:2004, month:9, day:31, hour:2 },
{ tz:"Asia/Sakhalin", offset:36000000, dls:3600000, year:2004, month:2, day:28, hour:2 },
{ tz:"Australia/Hobart", offset:36000000, dls:3600000, year:2004, month:9, day:3, hour:2 },
{ tz:"Australia/LHI", offset:37800000, dls:1800000, year:2004, month:9, day:31, hour:2 },
{ tz:"Asia/Magadan", offset:39600000, dls:3600000, year:2004, month:2, day:28, hour:2 },
{ tz:"Antarctica/McMurdo", offset:43200000, dls:3600000, year:2004, month:9, day:3, hour:2 },
{ tz:"Asia/Anadyr", offset:43200000, dls:3600000, year:2004, month:2, day:28, hour:2 },
{ tz:"NZ-CHAT", offset:45900000, dls:3600000, year:2004, month:9, day:3, hour:2 }
];


// MIT = Etc/GMT+11
// Pacific/Apia = Etc/GMT+11
// Pacific/Midway = Etc/GMT+11
// Pacific/Niue = Etc/GMT+11
// Pacific/Pago_Pago = Etc/GMT+11
// Pacific/Samoa = Etc/GMT+11
// US/Samoa = Etc/GMT+11
// America/Atka = America/Adak
// HST = Etc/GMT+10
// Pacific/Fakaofo = Etc/GMT+10
// Pacific/Honolulu = Etc/GMT+10
// Pacific/Johnston = Etc/GMT+10
// Pacific/Rarotonga = Etc/GMT+10
// Pacific/Tahiti = Etc/GMT+10
// SystemV/HST10 = Etc/GMT+10
// US/Aleutian = America/Adak
// US/Hawaii = Etc/GMT+10
// America/Anchorage = AST
// America/Juneau = AST
// America/Nome = AST
// America/Yakutat = AST
// Pacific/Gambier = Etc/GMT+9
// SystemV/YST9 = Etc/GMT+9
// SystemV/YST9YDT = AST
// US/Alaska = AST
// America/Ensenada = America/Dawson
// America/Los_Angeles = America/Dawson
// America/Tijuana = America/Dawson
// America/Vancouver = America/Dawson
// America/Whitehorse = America/Dawson
// Canada/Pacific = America/Dawson
// Canada/Yukon = America/Dawson
// Mexico/BajaNorte = America/Dawson
// PST = America/Dawson
// PST8PDT = America/Dawson
// Pacific/Pitcairn = Etc/GMT+8
// SystemV/PST8 = Etc/GMT+8
// SystemV/PST8PDT = America/Dawson
// US/Pacific = America/Dawson
// US/Pacific-New = America/Dawson
// America/Cambridge_Bay = America/Boise
// America/Chihuahua = America/Boise
// America/Denver = America/Boise
// America/Edmonton = America/Boise
// America/Hermosillo = America/Dawson_Creek
// America/Inuvik = America/Boise
// America/Mazatlan = America/Boise
// America/Phoenix = America/Dawson_Creek
// America/Shiprock = America/Boise
// America/Yellowknife = America/Boise
// Canada/Mountain = America/Boise
// Etc/GMT+7 = America/Dawson_Creek
// MST = America/Boise
// MST7MDT = America/Boise
// Mexico/BajaSur = America/Boise
// Navajo = America/Boise
// PNT = America/Dawson_Creek
// SystemV/MST7 = America/Dawson_Creek
// SystemV/MST7MDT = America/Boise
// US/Arizona = America/Dawson_Creek
// US/Mountain = America/Boise
// America/Chicago = America/Cancun
// America/Costa_Rica = America/Belize
// America/El_Salvador = America/Belize
// America/Guatemala = America/Belize
// America/Managua = America/Belize
// America/Menominee = America/Cancun
// America/Merida = America/Cancun
// America/Mexico_City = America/Cancun
// America/Monterrey = America/Cancun
// America/North_Dakota/Center = America/Cancun
// America/Rainy_River = America/Cancun
// America/Rankin_Inlet = America/Cancun
// America/Regina = America/Belize
// America/Swift_Current = America/Belize
// America/Tegucigalpa = America/Belize
// America/Winnipeg = America/Cancun
// CST = America/Cancun
// CST6CDT = America/Cancun
// Canada/Central = America/Cancun
// Canada/East-Saskatchewan = America/Belize
// Canada/Saskatchewan = America/Belize
// Etc/GMT+6 = America/Belize
// Mexico/General = America/Cancun
// Pacific/Easter = Chile/EasterIsland
// Pacific/Galapagos = America/Belize
// SystemV/CST6 = America/Belize
// SystemV/CST6CDT = America/Cancun
// US/Central = America/Cancun
// America/Cayman = America/Bogota
// America/Eirunepe = America/Bogota
// America/Fort_Wayne = America/Bogota
// America/Guayaquil = America/Bogota
// America/Indiana/Indianapolis = America/Bogota
// America/Indiana/Knox = America/Bogota
// America/Indiana/Marengo = America/Bogota
// America/Indiana/Vevay = America/Bogota
// America/Indianapolis = America/Bogota
// America/Iqaluit = America/Detroit
// America/Jamaica = America/Bogota
// America/Kentucky/Louisville = America/Detroit
// America/Kentucky/Monticello = America/Detroit
// America/Knox_IN = America/Bogota
// America/Lima = America/Bogota
// America/Louisville = America/Detroit
// America/Montreal = America/Detroit
// America/Nassau = America/Detroit
// America/New_York = America/Detroit
// America/Nipigon = America/Detroit
// America/Panama = America/Bogota
// America/Pangnirtung = America/Detroit
// America/Port-au-Prince = America/Bogota
// America/Porto_Acre = America/Bogota
// America/Rio_Branco = America/Bogota
// America/Thunder_Bay = America/Detroit
// Brazil/Acre = America/Bogota
// Canada/Eastern = America/Detroit
// Cuba = America/Havana
// EST = America/Detroit
// EST5EDT = America/Detroit
// Etc/GMT+5 = America/Bogota
// IET = America/Bogota
// Jamaica = America/Bogota
// SystemV/EST5 = America/Bogota
// SystemV/EST5EDT = America/Detroit
// US/East-Indiana = America/Bogota
// US/Eastern = America/Detroit
// US/Indiana-Starke = America/Bogota
// US/Michigan = America/Detroit
// America/Antigua = America/Anguilla
// America/Aruba = America/Anguilla
// America/Barbados = America/Anguilla
// America/Boa_Vista = America/Anguilla
// America/Caracas = America/Anguilla
// America/Curacao = America/Anguilla
// America/Dominica = America/Anguilla
// America/Grenada = America/Anguilla
// America/Guadeloupe = America/Anguilla
// America/Guyana = America/Anguilla
// America/Halifax = America/Glace_Bay
// America/La_Paz = America/Anguilla
// America/Manaus = America/Anguilla
// America/Martinique = America/Anguilla
// America/Montserrat = America/Anguilla
// America/Port_of_Spain = America/Anguilla
// America/Porto_Velho = America/Anguilla
// America/Puerto_Rico = America/Anguilla
// America/Santo_Domingo = America/Anguilla
// America/St_Kitts = America/Anguilla
// America/St_Lucia = America/Anguilla
// America/St_Thomas = America/Anguilla
// America/St_Vincent = America/Anguilla
// America/Thule = America/Glace_Bay
// America/Tortola = America/Anguilla
// America/Virgin = America/Anguilla
// Atlantic/Bermuda = America/Glace_Bay
// Brazil/West = America/Anguilla
// Canada/Atlantic = America/Glace_Bay
// Chile/Continental = America/Santiago
// Etc/GMT+4 = America/Anguilla
// PRT = America/Anguilla
// SystemV/AST4 = America/Anguilla
// SystemV/AST4ADT = America/Glace_Bay
// CNT = America/St_Johns
// Canada/Newfoundland = America/St_Johns
// America/Belem = AGT
// America/Buenos_Aires = AGT
// America/Catamarca = AGT
// America/Cayenne = AGT
// America/Cordoba = AGT
// America/Fortaleza = AGT
// America/Jujuy = AGT
// America/Maceio = AGT
// America/Mendoza = AGT
// America/Montevideo = AGT
// America/Paramaribo = AGT
// America/Recife = AGT
// America/Rosario = AGT
// America/Sao_Paulo = America/Araguaina
// Antarctica/Rothera = AGT
// BET = America/Araguaina
// Brazil/East = America/Araguaina
// Etc/GMT+3 = AGT
// Atlantic/South_Georgia = America/Noronha
// Brazil/DeNoronha = America/Noronha
// Etc/GMT+2 = America/Noronha
// Atlantic/Azores = America/Scoresbysund
// Etc/GMT+1 = Atlantic/Cape_Verde
// Africa/Accra = Africa/Abidjan
// Africa/Bamako = Africa/Abidjan
// Africa/Banjul = Africa/Abidjan
// Africa/Bissau = Africa/Abidjan
// Africa/Casablanca = Africa/Abidjan
// Africa/Conakry = Africa/Abidjan
// Africa/Dakar = Africa/Abidjan
// Africa/El_Aaiun = Africa/Abidjan
// Africa/Freetown = Africa/Abidjan
// Africa/Lome = Africa/Abidjan
// Africa/Monrovia = Africa/Abidjan
// Africa/Nouakchott = Africa/Abidjan
// Africa/Ouagadougou = Africa/Abidjan
// Africa/Sao_Tome = Africa/Abidjan
// Africa/Timbuktu = Africa/Abidjan
// America/Danmarkshavn = Africa/Abidjan
// Atlantic/Faeroe = Atlantic/Canary
// Atlantic/Madeira = Atlantic/Canary
// Atlantic/Reykjavik = Africa/Abidjan
// Atlantic/St_Helena = Africa/Abidjan
// Eire = Atlantic/Canary
// Etc/GMT = Africa/Abidjan
// Etc/GMT+0 = Africa/Abidjan
// Etc/GMT-0 = Africa/Abidjan
// Etc/GMT0 = Africa/Abidjan
// Etc/Greenwich = Africa/Abidjan
// Etc/UCT = Africa/Abidjan
// Etc/UTC = Africa/Abidjan
// Etc/Universal = Africa/Abidjan
// Etc/Zulu = Africa/Abidjan
// Europe/Belfast = Atlantic/Canary
// Europe/Dublin = Atlantic/Canary
// Europe/Lisbon = Atlantic/Canary
// Europe/London = Atlantic/Canary
// GB = Atlantic/Canary
// GB-Eire = Atlantic/Canary
// GMT = Africa/Abidjan
// GMT0 = Africa/Abidjan
// Greenwich = Africa/Abidjan
// Iceland = Africa/Abidjan
// Portugal = Atlantic/Canary
// UCT = Africa/Abidjan
// UTC = Africa/Abidjan
// Universal = Africa/Abidjan
// WET = Atlantic/Canary
// Zulu = Africa/Abidjan
// Africa/Bangui = Africa/Algiers
// Africa/Brazzaville = Africa/Algiers
// Africa/Douala = Africa/Algiers
// Africa/Kinshasa = Africa/Algiers
// Africa/Lagos = Africa/Algiers
// Africa/Libreville = Africa/Algiers
// Africa/Luanda = Africa/Algiers
// Africa/Malabo = Africa/Algiers
// Africa/Ndjamena = Africa/Algiers
// Africa/Niamey = Africa/Algiers
// Africa/Porto-Novo = Africa/Algiers
// Africa/Tunis = Africa/Algiers
// Arctic/Longyearbyen = Africa/Ceuta
// Atlantic/Jan_Mayen = Africa/Ceuta
// ECT = Africa/Ceuta
// Etc/GMT-1 = Africa/Algiers
// Europe/Amsterdam = Africa/Ceuta
// Europe/Andorra = Africa/Ceuta
// Europe/Belgrade = Africa/Ceuta
// Europe/Berlin = Africa/Ceuta
// Europe/Bratislava = Africa/Ceuta
// Europe/Brussels = Africa/Ceuta
// Europe/Budapest = Africa/Ceuta
// Europe/Copenhagen = Africa/Ceuta
// Europe/Gibraltar = Africa/Ceuta
// Europe/Ljubljana = Africa/Ceuta
// Europe/Luxembourg = Africa/Ceuta
// Europe/Madrid = Africa/Ceuta
// Europe/Malta = Africa/Ceuta
// Europe/Monaco = Africa/Ceuta
// Europe/Oslo = Africa/Ceuta
// Europe/Paris = Africa/Ceuta
// Europe/Prague = Africa/Ceuta
// Europe/Rome = Africa/Ceuta
// Europe/San_Marino = Africa/Ceuta
// Europe/Sarajevo = Africa/Ceuta
// Europe/Skopje = Africa/Ceuta
// Europe/Stockholm = Africa/Ceuta
// Europe/Tirane = Africa/Ceuta
// Europe/Vaduz = Africa/Ceuta
// Europe/Vatican = Africa/Ceuta
// Europe/Vienna = Africa/Ceuta
// Europe/Warsaw = Africa/Ceuta
// Europe/Zagreb = Africa/Ceuta
// Europe/Zurich = Africa/Ceuta
// MET = CET
// Poland = Africa/Ceuta
// Africa/Bujumbura = Africa/Blantyre
// Africa/Cairo = ART
// Africa/Gaborone = Africa/Blantyre
// Africa/Harare = Africa/Blantyre
// Africa/Johannesburg = Africa/Blantyre
// Africa/Kigali = Africa/Blantyre
// Africa/Lubumbashi = Africa/Blantyre
// Africa/Lusaka = Africa/Blantyre
// Africa/Maputo = Africa/Blantyre
// Africa/Maseru = Africa/Blantyre
// Africa/Mbabane = Africa/Blantyre
// Africa/Tripoli = Africa/Blantyre
// Asia/Nicosia = Asia/Istanbul
// Asia/Tel_Aviv = Asia/Jerusalem
// CAT = Africa/Blantyre
// EET = Asia/Istanbul
// Egypt = ART
// Etc/GMT-2 = Africa/Blantyre
// Europe/Athens = Asia/Istanbul
// Europe/Bucharest = Asia/Istanbul
// Europe/Chisinau = Asia/Istanbul
// Europe/Helsinki = Asia/Istanbul
// Europe/Istanbul = Asia/Istanbul
// Europe/Kiev = Asia/Istanbul
// Europe/Minsk = Europe/Kaliningrad
// Europe/Nicosia = Asia/Istanbul
// Europe/Riga = Asia/Istanbul
// Europe/Simferopol = Asia/Istanbul
// Europe/Sofia = Asia/Istanbul
// Europe/Tallinn = Asia/Istanbul
// Europe/Tiraspol = Asia/Istanbul
// Europe/Uzhgorod = Asia/Istanbul
// Europe/Vilnius = Asia/Istanbul
// Europe/Zaporozhye = Asia/Istanbul
// Israel = Asia/Jerusalem
// Libya = Africa/Blantyre
// Turkey = Asia/Istanbul
// Africa/Asmera = Africa/Addis_Ababa
// Africa/Dar_es_Salaam = Africa/Addis_Ababa
// Africa/Djibouti = Africa/Addis_Ababa
// Africa/Kampala = Africa/Addis_Ababa
// Africa/Khartoum = Africa/Addis_Ababa
// Africa/Mogadishu = Africa/Addis_Ababa
// Africa/Nairobi = Africa/Addis_Ababa
// Antarctica/Syowa = Africa/Addis_Ababa
// Asia/Aden = Africa/Addis_Ababa
// Asia/Bahrain = Africa/Addis_Ababa
// Asia/Kuwait = Africa/Addis_Ababa
// Asia/Qatar = Africa/Addis_Ababa
// Asia/Riyadh = Africa/Addis_Ababa
// EAT = Africa/Addis_Ababa
// Etc/GMT-3 = Africa/Addis_Ababa
// Indian/Antananarivo = Africa/Addis_Ababa
// Indian/Comoro = Africa/Addis_Ababa
// Indian/Mayotte = Africa/Addis_Ababa
// W-SU = Europe/Moscow
// Asia/Riyadh88 = Asia/Riyadh87
// Asia/Riyadh89 = Asia/Riyadh87
// Mideast/Riyadh87 = Asia/Riyadh87
// Mideast/Riyadh88 = Asia/Riyadh87
// Mideast/Riyadh89 = Asia/Riyadh87
// Iran = Asia/Tehran
// Asia/Muscat = Asia/Dubai
// Asia/Oral = Asia/Aqtau
// Asia/Yerevan = Asia/Aqtau
// Etc/GMT-4 = Asia/Dubai
// Europe/Samara = Asia/Aqtau
// Indian/Mahe = Asia/Dubai
// Indian/Mauritius = Asia/Dubai
// Indian/Reunion = Asia/Dubai
// NET = Asia/Aqtau
// Asia/Ashkhabad = Asia/Ashgabat
// Asia/Dushanbe = Asia/Ashgabat
// Asia/Karachi = Asia/Ashgabat
// Asia/Samarkand = Asia/Ashgabat
// Asia/Tashkent = Asia/Ashgabat
// Asia/Yekaterinburg = Asia/Aqtobe
// Etc/GMT-5 = Asia/Ashgabat
// Indian/Kerguelen = Asia/Ashgabat
// Indian/Maldives = Asia/Ashgabat
// PLT = Asia/Ashgabat
// IST = Asia/Calcutta
// Antarctica/Vostok = Antarctica/Mawson
// Asia/Colombo = Antarctica/Mawson
// Asia/Dacca = Antarctica/Mawson
// Asia/Dhaka = Antarctica/Mawson
// Asia/Novosibirsk = Asia/Almaty
// Asia/Omsk = Asia/Almaty
// Asia/Qyzylorda = Asia/Almaty
// Asia/Thimbu = Antarctica/Mawson
// Asia/Thimphu = Antarctica/Mawson
// BST = Antarctica/Mawson
// Etc/GMT-6 = Antarctica/Mawson
// Indian/Chagos = Antarctica/Mawson
// Indian/Cocos = Asia/Rangoon
// Asia/Bangkok = Antarctica/Davis
// Asia/Hovd = Antarctica/Davis
// Asia/Jakarta = Antarctica/Davis
// Asia/Phnom_Penh = Antarctica/Davis
// Asia/Pontianak = Antarctica/Davis
// Asia/Saigon = Antarctica/Davis
// Asia/Vientiane = Antarctica/Davis
// Etc/GMT-7 = Antarctica/Davis
// Indian/Christmas = Antarctica/Davis
// VST = Antarctica/Davis
// Asia/Brunei = Antarctica/Casey
// Asia/Chongqing = Antarctica/Casey
// Asia/Chungking = Antarctica/Casey
// Asia/Harbin = Antarctica/Casey
// Asia/Hong_Kong = Antarctica/Casey
// Asia/Kashgar = Antarctica/Casey
// Asia/Kuala_Lumpur = Antarctica/Casey
// Asia/Kuching = Antarctica/Casey
// Asia/Macao = Antarctica/Casey
// Asia/Macau = Antarctica/Casey
// Asia/Makassar = Antarctica/Casey
// Asia/Manila = Antarctica/Casey
// Asia/Shanghai = Antarctica/Casey
// Asia/Singapore = Antarctica/Casey
// Asia/Taipei = Antarctica/Casey
// Asia/Ujung_Pandang = Antarctica/Casey
// Asia/Ulaanbaatar = Antarctica/Casey
// Asia/Ulan_Bator = Antarctica/Casey
// Asia/Urumqi = Antarctica/Casey
// Australia/Perth = Antarctica/Casey
// Australia/West = Antarctica/Casey
// CTT = Antarctica/Casey
// Etc/GMT-8 = Antarctica/Casey
// Hongkong = Antarctica/Casey
// PRC = Antarctica/Casey
// Singapore = Antarctica/Casey
// Asia/Dili = Asia/Choibalsan
// Asia/Jayapura = Asia/Choibalsan
// Asia/Pyongyang = Asia/Choibalsan
// Asia/Seoul = Asia/Choibalsan
// Asia/Tokyo = Asia/Choibalsan
// Etc/GMT-9 = Asia/Choibalsan
// JST = Asia/Choibalsan
// Japan = Asia/Choibalsan
// Pacific/Palau = Asia/Choibalsan
// ROK = Asia/Choibalsan
// Australia/Broken_Hill = Australia/Adelaide
// Australia/Darwin = ACT
// Australia/North = ACT
// Australia/South = Australia/Adelaide
// Australia/Yancowinna = Australia/Adelaide
// Asia/Vladivostok = Asia/Sakhalin
// Australia/ACT = AET
// Australia/Brisbane = Antarctica/DumontDUrville
// Australia/Canberra = AET
// Australia/Lindeman = Antarctica/DumontDUrville
// Australia/Melbourne = AET
// Australia/NSW = AET
// Australia/Queensland = Antarctica/DumontDUrville
// Australia/Sydney = AET
// Australia/Tasmania = Australia/Hobart
// Australia/Victoria = AET
// Etc/GMT-10 = Antarctica/DumontDUrville
// Pacific/Guam = Antarctica/DumontDUrville
// Pacific/Port_Moresby = Antarctica/DumontDUrville
// Pacific/Saipan = Antarctica/DumontDUrville
// Pacific/Truk = Antarctica/DumontDUrville
// Pacific/Yap = Antarctica/DumontDUrville
// Australia/Lord_Howe = Australia/LHI
// Pacific/Efate = Etc/GMT-11
// Pacific/Guadalcanal = Etc/GMT-11
// Pacific/Kosrae = Etc/GMT-11
// Pacific/Noumea = Etc/GMT-11
// Pacific/Ponape = Etc/GMT-11
// SST = Etc/GMT-11
// Antarctica/South_Pole = Antarctica/McMurdo
// Asia/Kamchatka = Asia/Anadyr
// Kwajalein = Etc/GMT-12
// NST = Antarctica/McMurdo
// NZ = Antarctica/McMurdo
// Pacific/Auckland = Antarctica/McMurdo
// Pacific/Fiji = Etc/GMT-12
// Pacific/Funafuti = Etc/GMT-12
// Pacific/Kwajalein = Etc/GMT-12
// Pacific/Majuro = Etc/GMT-12
// Pacific/Nauru = Etc/GMT-12
// Pacific/Tarawa = Etc/GMT-12
// Pacific/Wake = Etc/GMT-12
// Pacific/Wallis = Etc/GMT-12
// Pacific/Chatham = NZ-CHAT
// Pacific/Enderbury = Etc/GMT-13
// Pacific/Tongatapu = Etc/GMT-13
// Pacific/Kiritimati = Etc/GMT-14

function getTimezone() {
	var i, d1, d2, d3, d4, off1, off2, off3, off4;

	// first check for timezone with no daylight savings
	d1 = new Date(2004, 0, 1, 0, 0, 0, 0);
	off1 = d1.getTimezoneOffset() * 60000;
	d2 = new Date(2004, 3, 1, 0, 0, 0, 0);
	off2 = d2.getTimezoneOffset() * 60000;
	d3 = new Date(2004, 6, 1, 0, 0, 0, 0);
	off3 = d3.getTimezoneOffset() * 60000;
	d4 = new Date(2004, 9, 1, 0, 0, 0, 0);
	off4 = d4.getTimezoneOffset() * 60000;

	if (off1 == off2 && off2 == off3 && off3==off4 && off4==off1) {
		for (i=0; i<noDstTzs.length; i++) {
			if (noDstTzs[i].offset == -off1)
				return noDstTzs[i].tz;
		}
	}

	// now check for timezone with daylight savings
	for (i=0; i<dstTzs.length; i++) {
		hour = dstTzs[i].hour - 2;
		if (hour < 0) hour = 0;
		d1 = new Date(dstTzs[i].year, dstTzs[i].month, dstTzs[i].day, hour, 0, 0, 0);
		off1 = d1.getTimezoneOffset() * 60000;
		hour = dstTzs[i].hour + 2;
		d2 = new Date(dstTzs[i].year, dstTzs[i].month, dstTzs[i].day, hour, 0, 0, 0);
		off2 = d2.getTimezoneOffset() * 60000;
		if ((off1 == -dstTzs[i].offset || off2 == -dstTzs[i].offset) && ((off1-off2) == dstTzs[i].dls))
			return dstTzs[i].tz;
	}
	return "";
}

