annotate program/js/jstz.min.js @ 11:aff04b06b685 default tip

various small fixes from upgrades to PHP and/or hangover from fix to apt-get overwrite at beginning of the year somehow
author Charlie Root
date Sun, 26 Jan 2025 13:09:03 -0500
parents bf99236cc5cd
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
1 /**
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
2 * This script gives you the zone info key representing your device's time zone setting.
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
3 *
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
4 * @name jsTimezoneDetect
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
5 * @version 1.0.5
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
6 * @author Jon Nylander
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
7 * @license MIT License - http://www.opensource.org/licenses/mit-license.php
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
8 *
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
9 * For usage and examples, visit:
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
10 * http://pellepim.bitbucket.org/jstz/
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
11 *
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
12 * Copyright (c) Jon Nylander
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
13 */
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
14
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
15 /*jslint undef: true */
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
16 /*global console, exports*/
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
17
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
18 (function(root) {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
19 /**
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
20 * Namespace to hold all the code for timezone detection.
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
21 */
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
22 var jstz = (function () {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
23 'use strict';
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
24 var HEMISPHERE_SOUTH = 's',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
25
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
26 /**
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
27 * Gets the offset in minutes from UTC for a certain date.
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
28 * @param {Date} date
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
29 * @returns {Number}
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
30 */
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
31 get_date_offset = function (date) {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
32 var offset = -date.getTimezoneOffset();
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
33 return (offset !== null ? offset : 0);
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
34 },
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
35
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
36 get_date = function (year, month, date) {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
37 var d = new Date();
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
38 if (year !== undefined) {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
39 d.setFullYear(year);
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
40 }
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
41 d.setMonth(month);
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
42 d.setDate(date);
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
43 return d;
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
44 },
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
45
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
46 get_january_offset = function (year) {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
47 return get_date_offset(get_date(year, 0 ,2));
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
48 },
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
49
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
50 get_june_offset = function (year) {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
51 return get_date_offset(get_date(year, 5, 2));
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
52 },
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
53
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
54 /**
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
55 * Private method.
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
56 * Checks whether a given date is in daylight saving time.
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
57 * If the date supplied is after august, we assume that we're checking
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
58 * for southern hemisphere DST.
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
59 * @param {Date} date
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
60 * @returns {Boolean}
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
61 */
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
62 date_is_dst = function (date) {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
63 var is_southern = date.getMonth() > 7,
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
64 base_offset = is_southern ? get_june_offset(date.getFullYear()) :
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
65 get_january_offset(date.getFullYear()),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
66 date_offset = get_date_offset(date),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
67 is_west = base_offset < 0,
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
68 dst_offset = base_offset - date_offset;
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
69
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
70 if (!is_west && !is_southern) {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
71 return dst_offset < 0;
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
72 }
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
73
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
74 return dst_offset !== 0;
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
75 },
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
76
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
77 /**
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
78 * This function does some basic calculations to create information about
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
79 * the user's timezone. It uses REFERENCE_YEAR as a solid year for which
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
80 * the script has been tested rather than depend on the year set by the
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
81 * client device.
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
82 *
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
83 * Returns a key that can be used to do lookups in jstz.olson.timezones.
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
84 * eg: "720,1,2".
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
85 *
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
86 * @returns {String}
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
87 */
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
88
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
89 lookup_key = function () {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
90 var january_offset = get_january_offset(),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
91 june_offset = get_june_offset(),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
92 diff = january_offset - june_offset;
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
93
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
94 if (diff < 0) {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
95 return january_offset + ",1";
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
96 } else if (diff > 0) {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
97 return june_offset + ",1," + HEMISPHERE_SOUTH;
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
98 }
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
99
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
100 return january_offset + ",0";
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
101 },
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
102
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
103 /**
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
104 * Uses get_timezone_info() to formulate a key to use in the olson.timezones dictionary.
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
105 *
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
106 * Returns a primitive object on the format:
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
107 * {'timezone': TimeZone, 'key' : 'the key used to find the TimeZone object'}
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
108 *
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
109 * @returns Object
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
110 */
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
111 determine = function () {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
112 var key = lookup_key();
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
113 return new jstz.TimeZone(jstz.olson.timezones[key]);
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
114 },
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
115
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
116 /**
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
117 * This object contains information on when daylight savings starts for
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
118 * different timezones.
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
119 *
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
120 * The list is short for a reason. Often we do not have to be very specific
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
121 * to single out the correct timezone. But when we do, this list comes in
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
122 * handy.
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
123 *
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
124 * Each value is a date denoting when daylight savings starts for that timezone.
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
125 */
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
126 dst_start_for = function (tz_name) {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
127
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
128 var ru_pre_dst_change = new Date(2010, 6, 15, 1, 0, 0, 0), // In 2010 Russia had DST, this allows us to detect Russia :)
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
129 dst_starts = {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
130 'America/Denver': new Date(2011, 2, 13, 3, 0, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
131 'America/Mazatlan': new Date(2011, 3, 3, 3, 0, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
132 'America/Chicago': new Date(2011, 2, 13, 3, 0, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
133 'America/Mexico_City': new Date(2011, 3, 3, 3, 0, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
134 'America/Asuncion': new Date(2012, 9, 7, 3, 0, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
135 'America/Santiago': new Date(2012, 9, 3, 3, 0, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
136 'America/Campo_Grande': new Date(2012, 9, 21, 5, 0, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
137 'America/Montevideo': new Date(2011, 9, 2, 3, 0, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
138 'America/Sao_Paulo': new Date(2011, 9, 16, 5, 0, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
139 'America/Los_Angeles': new Date(2011, 2, 13, 8, 0, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
140 'America/Santa_Isabel': new Date(2011, 3, 5, 8, 0, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
141 'America/Havana': new Date(2012, 2, 10, 2, 0, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
142 'America/New_York': new Date(2012, 2, 10, 7, 0, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
143 'Europe/Helsinki': new Date(2013, 2, 31, 5, 0, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
144 'Pacific/Auckland': new Date(2011, 8, 26, 7, 0, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
145 'America/Halifax': new Date(2011, 2, 13, 6, 0, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
146 'America/Goose_Bay': new Date(2011, 2, 13, 2, 1, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
147 'America/Miquelon': new Date(2011, 2, 13, 5, 0, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
148 'America/Godthab': new Date(2011, 2, 27, 1, 0, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
149 'Europe/Moscow': ru_pre_dst_change,
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
150 'Asia/Amman': new Date(2013, 2, 29, 1, 0, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
151 'Asia/Beirut': new Date(2013, 2, 31, 2, 0, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
152 'Asia/Damascus': new Date(2013, 3, 6, 2, 0, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
153 'Asia/Jerusalem': new Date(2013, 2, 29, 5, 0, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
154 'Asia/Yekaterinburg': ru_pre_dst_change,
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
155 'Asia/Omsk': ru_pre_dst_change,
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
156 'Asia/Krasnoyarsk': ru_pre_dst_change,
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
157 'Asia/Irkutsk': ru_pre_dst_change,
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
158 'Asia/Yakutsk': ru_pre_dst_change,
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
159 'Asia/Vladivostok': ru_pre_dst_change,
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
160 'Asia/Baku': new Date(2013, 2, 31, 4, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
161 'Asia/Yerevan': new Date(2013, 2, 31, 3, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
162 'Asia/Kamchatka': ru_pre_dst_change,
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
163 'Asia/Gaza': new Date(2010, 2, 27, 4, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
164 'Africa/Cairo': new Date(2010, 4, 1, 3, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
165 'Europe/Minsk': ru_pre_dst_change,
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
166 'Pacific/Apia': new Date(2010, 10, 1, 1, 0, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
167 'Pacific/Fiji': new Date(2010, 11, 1, 0, 0, 0),
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
168 'Australia/Perth': new Date(2008, 10, 1, 1, 0, 0, 0)
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
169 };
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
170
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
171 return dst_starts[tz_name];
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
172 };
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
173
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
174 return {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
175 determine: determine,
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
176 date_is_dst: date_is_dst,
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
177 dst_start_for: dst_start_for
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
178 };
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
179 }());
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
180
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
181 /**
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
182 * Simple object to perform ambiguity check and to return name of time zone.
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
183 */
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
184 jstz.TimeZone = function (tz_name) {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
185 'use strict';
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
186 /**
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
187 * The keys in this object are timezones that we know may be ambiguous after
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
188 * a preliminary scan through the olson_tz object.
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
189 *
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
190 * The array of timezones to compare must be in the order that daylight savings
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
191 * starts for the regions.
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
192 */
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
193 var AMBIGUITIES = {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
194 'America/Denver': ['America/Denver', 'America/Mazatlan'],
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
195 'America/Chicago': ['America/Chicago', 'America/Mexico_City'],
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
196 'America/Santiago': ['America/Santiago', 'America/Asuncion', 'America/Campo_Grande'],
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
197 'America/Montevideo': ['America/Montevideo', 'America/Sao_Paulo'],
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
198 'Asia/Beirut': ['Asia/Amman', 'Asia/Jerusalem', 'Asia/Beirut', 'Europe/Helsinki','Asia/Damascus'],
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
199 'Pacific/Auckland': ['Pacific/Auckland', 'Pacific/Fiji'],
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
200 'America/Los_Angeles': ['America/Los_Angeles', 'America/Santa_Isabel'],
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
201 'America/New_York': ['America/Havana', 'America/New_York'],
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
202 'America/Halifax': ['America/Goose_Bay', 'America/Halifax'],
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
203 'America/Godthab': ['America/Miquelon', 'America/Godthab'],
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
204 'Asia/Dubai': ['Europe/Moscow'],
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
205 'Asia/Dhaka': ['Asia/Yekaterinburg'],
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
206 'Asia/Jakarta': ['Asia/Omsk'],
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
207 'Asia/Shanghai': ['Asia/Krasnoyarsk', 'Australia/Perth'],
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
208 'Asia/Tokyo': ['Asia/Irkutsk'],
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
209 'Australia/Brisbane': ['Asia/Yakutsk'],
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
210 'Pacific/Noumea': ['Asia/Vladivostok'],
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
211 'Pacific/Tarawa': ['Asia/Kamchatka', 'Pacific/Fiji'],
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
212 'Pacific/Tongatapu': ['Pacific/Apia'],
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
213 'Asia/Baghdad': ['Europe/Minsk'],
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
214 'Asia/Baku': ['Asia/Yerevan','Asia/Baku'],
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
215 'Africa/Johannesburg': ['Asia/Gaza', 'Africa/Cairo']
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
216 },
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
217
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
218 timezone_name = tz_name,
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
219
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
220 /**
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
221 * Checks if a timezone has possible ambiguities. I.e timezones that are similar.
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
222 *
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
223 * For example, if the preliminary scan determines that we're in America/Denver.
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
224 * We double check here that we're really there and not in America/Mazatlan.
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
225 *
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
226 * This is done by checking known dates for when daylight savings start for different
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
227 * timezones during 2010 and 2011.
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
228 */
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
229 ambiguity_check = function () {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
230 var ambiguity_list = AMBIGUITIES[timezone_name],
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
231 length = ambiguity_list.length,
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
232 i = 0,
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
233 tz = ambiguity_list[0];
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
234
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
235 for (; i < length; i += 1) {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
236 tz = ambiguity_list[i];
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
237
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
238 if (jstz.date_is_dst(jstz.dst_start_for(tz))) {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
239 timezone_name = tz;
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
240 return;
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
241 }
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
242 }
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
243 },
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
244
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
245 /**
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
246 * Checks if it is possible that the timezone is ambiguous.
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
247 */
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
248 is_ambiguous = function () {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
249 return typeof (AMBIGUITIES[timezone_name]) !== 'undefined';
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
250 };
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
251
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
252 if (is_ambiguous()) {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
253 ambiguity_check();
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
254 }
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
255
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
256 return {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
257 name: function () {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
258 return timezone_name;
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
259 }
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
260 };
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
261 };
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
262
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
263 jstz.olson = {};
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
264
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
265 /*
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
266 * The keys in this dictionary are comma separated as such:
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
267 *
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
268 * First the offset compared to UTC time in minutes.
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
269 *
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
270 * Then a flag which is 0 if the timezone does not take daylight savings into account and 1 if it
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
271 * does.
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
272 *
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
273 * Thirdly an optional 's' signifies that the timezone is in the southern hemisphere,
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
274 * only interesting for timezones with DST.
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
275 *
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
276 * The mapped arrays is used for constructing the jstz.TimeZone object from within
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
277 * jstz.determine_timezone();
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
278 */
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
279 jstz.olson.timezones = {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
280 '-720,0' : 'Pacific/Majuro',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
281 '-660,0' : 'Pacific/Pago_Pago',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
282 '-600,1' : 'America/Adak',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
283 '-600,0' : 'Pacific/Honolulu',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
284 '-570,0' : 'Pacific/Marquesas',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
285 '-540,0' : 'Pacific/Gambier',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
286 '-540,1' : 'America/Anchorage',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
287 '-480,1' : 'America/Los_Angeles',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
288 '-480,0' : 'Pacific/Pitcairn',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
289 '-420,0' : 'America/Phoenix',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
290 '-420,1' : 'America/Denver',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
291 '-360,0' : 'America/Guatemala',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
292 '-360,1' : 'America/Chicago',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
293 '-360,1,s' : 'Pacific/Easter',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
294 '-300,0' : 'America/Bogota',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
295 '-300,1' : 'America/New_York',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
296 '-270,0' : 'America/Caracas',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
297 '-240,1' : 'America/Halifax',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
298 '-240,0' : 'America/Santo_Domingo',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
299 '-240,1,s' : 'America/Santiago',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
300 '-210,1' : 'America/St_Johns',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
301 '-180,1' : 'America/Godthab',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
302 '-180,0' : 'America/Argentina/Buenos_Aires',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
303 '-180,1,s' : 'America/Montevideo',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
304 '-120,0' : 'America/Noronha',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
305 '-120,1' : 'America/Noronha',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
306 '-60,1' : 'Atlantic/Azores',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
307 '-60,0' : 'Atlantic/Cape_Verde',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
308 '0,0' : 'UTC',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
309 '0,1' : 'Europe/London',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
310 '60,1' : 'Europe/Berlin',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
311 '60,0' : 'Africa/Lagos',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
312 '60,1,s' : 'Africa/Windhoek',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
313 '120,1' : 'Asia/Beirut',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
314 '120,0' : 'Africa/Johannesburg',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
315 '180,0' : 'Asia/Baghdad',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
316 '180,1' : 'Europe/Moscow',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
317 '210,1' : 'Asia/Tehran',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
318 '240,0' : 'Asia/Dubai',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
319 '240,1' : 'Asia/Baku',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
320 '270,0' : 'Asia/Kabul',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
321 '300,1' : 'Asia/Yekaterinburg',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
322 '300,0' : 'Asia/Karachi',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
323 '330,0' : 'Asia/Kolkata',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
324 '345,0' : 'Asia/Kathmandu',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
325 '360,0' : 'Asia/Dhaka',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
326 '360,1' : 'Asia/Omsk',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
327 '390,0' : 'Asia/Rangoon',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
328 '420,1' : 'Asia/Krasnoyarsk',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
329 '420,0' : 'Asia/Jakarta',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
330 '480,0' : 'Asia/Shanghai',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
331 '480,1' : 'Asia/Irkutsk',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
332 '525,0' : 'Australia/Eucla',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
333 '525,1,s' : 'Australia/Eucla',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
334 '540,1' : 'Asia/Yakutsk',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
335 '540,0' : 'Asia/Tokyo',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
336 '570,0' : 'Australia/Darwin',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
337 '570,1,s' : 'Australia/Adelaide',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
338 '600,0' : 'Australia/Brisbane',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
339 '600,1' : 'Asia/Vladivostok',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
340 '600,1,s' : 'Australia/Sydney',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
341 '630,1,s' : 'Australia/Lord_Howe',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
342 '660,1' : 'Asia/Kamchatka',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
343 '660,0' : 'Pacific/Noumea',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
344 '690,0' : 'Pacific/Norfolk',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
345 '720,1,s' : 'Pacific/Auckland',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
346 '720,0' : 'Pacific/Tarawa',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
347 '765,1,s' : 'Pacific/Chatham',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
348 '780,0' : 'Pacific/Tongatapu',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
349 '780,1,s' : 'Pacific/Apia',
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
350 '840,0' : 'Pacific/Kiritimati'
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
351 };
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
352
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
353 if (typeof exports !== 'undefined') {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
354 exports.jstz = jstz;
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
355 } else {
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
356 root.jstz = jstz;
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
357 }
bf99236cc5cd try to recover from upgrade fail
Charlie Root
parents: 0
diff changeset
358 })(this);