Mon, 02 Mar 2020 17:15:38 +0100
Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.
368
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1 | /* tslint:disable */ |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
2 | /* eslint-disable */ |
1 | 3 | /*! |
4 | * Globalize | |
5 | * | |
6 | * http://github.com/jquery/globalize | |
7 | * | |
8 | * Copyright Software Freedom Conservancy, Inc. | |
9 | * Dual licensed under the MIT or GPL Version 2 licenses. | |
10 | * http://jquery.org/license | |
11 | */ | |
368
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
12 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
13 | (function( window, undefined ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
14 | if (document.Globalize) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
15 | return; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
16 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
17 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
18 | var Globalize, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
19 | // private variables |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
20 | regexHex, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
21 | regexInfinity, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
22 | regexParseFloat, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
23 | regexTrim, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
24 | // private JavaScript utility functions |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
25 | arrayIndexOf, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
26 | endsWith, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
27 | extend, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
28 | isArray, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
29 | isFunction, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
30 | isObject, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
31 | startsWith, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
32 | trim, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
33 | truncate, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
34 | zeroPad, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
35 | // private Globalization utility functions |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
36 | appendPreOrPostMatch, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
37 | expandFormat, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
38 | formatDate, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
39 | formatNumber, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
40 | getTokenRegExp, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
41 | getEra, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
42 | getEraYear, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
43 | parseExact, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
44 | parseNegativePattern; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
45 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
46 | // Global variable (Globalize) or CommonJS module (globalize) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
47 | Globalize = function( cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
48 | return new Globalize.prototype.init( cultureSelector ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
49 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
50 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
51 | if ( typeof require !== "undefined" && |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
52 | typeof exports !== "undefined" && |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
53 | typeof module !== "undefined" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
54 | // Assume CommonJS |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
55 | module.exports = Globalize; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
56 | } else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
57 | // Export as global variable |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
58 | window.Globalize = Globalize; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
59 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
60 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
61 | Globalize.cultures = {}; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
62 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
63 | Globalize.prototype = { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
64 | constructor: Globalize, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
65 | init: function( cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
66 | this.cultures = Globalize.cultures; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
67 | this.cultureSelector = cultureSelector; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
68 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
69 | return this; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
70 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
71 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
72 | Globalize.prototype.init.prototype = Globalize.prototype; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
73 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
74 | // 1. When defining a culture, all fields are required except the ones stated as optional. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
75 | // 2. Each culture should have a ".calendars" object with at least one calendar named "standard" |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
76 | // which serves as the default calendar in use by that culture. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
77 | // 3. Each culture should have a ".calendar" object which is the current calendar being used, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
78 | // it may be dynamically changed at any time to one of the calendars in ".calendars". |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
79 | Globalize.cultures[ "default" ] = { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
80 | // A unique name for the culture in the form <language code>-<country/region code> |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
81 | name: "en", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
82 | // the name of the culture in the english language |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
83 | englishName: "English", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
84 | // the name of the culture in its own language |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
85 | nativeName: "English", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
86 | // whether the culture uses right-to-left text |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
87 | isRTL: false, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
88 | // "language" is used for so-called "specific" cultures. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
89 | // For example, the culture "es-CL" means "Spanish, in Chili". |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
90 | // It represents the Spanish-speaking culture as it is in Chili, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
91 | // which might have different formatting rules or even translations |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
92 | // than Spanish in Spain. A "neutral" culture is one that is not |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
93 | // specific to a region. For example, the culture "es" is the generic |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
94 | // Spanish culture, which may be a more generalized version of the language |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
95 | // that may or may not be what a specific culture expects. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
96 | // For a specific culture like "es-CL", the "language" field refers to the |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
97 | // neutral, generic culture information for the language it is using. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
98 | // This is not always a simple matter of the string before the dash. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
99 | // For example, the "zh-Hans" culture is netural (Simplified Chinese). |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
100 | // And the "zh-SG" culture is Simplified Chinese in Singapore, whose lanugage |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
101 | // field is "zh-CHS", not "zh". |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
102 | // This field should be used to navigate from a specific culture to it's |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
103 | // more general, neutral culture. If a culture is already as general as it |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
104 | // can get, the language may refer to itself. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
105 | language: "en", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
106 | // numberFormat defines general number formatting rules, like the digits in |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
107 | // each grouping, the group separator, and how negative numbers are displayed. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
108 | numberFormat: { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
109 | // [negativePattern] |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
110 | // Note, numberFormat.pattern has no "positivePattern" unlike percent and currency, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
111 | // but is still defined as an array for consistency with them. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
112 | // negativePattern: one of "(n)|-n|- n|n-|n -" |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
113 | pattern: [ "-n" ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
114 | // number of decimal places normally shown |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
115 | decimals: 2, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
116 | // string that separates number groups, as in 1,000,000 |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
117 | ",": ",", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
118 | // string that separates a number from the fractional portion, as in 1.99 |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
119 | ".": ".", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
120 | // array of numbers indicating the size of each number group. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
121 | // TODO: more detailed description and example |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
122 | groupSizes: [ 3 ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
123 | // symbol used for positive numbers |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
124 | "+": "+", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
125 | // symbol used for negative numbers |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
126 | "-": "-", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
127 | // symbol used for NaN (Not-A-Number) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
128 | "NaN": "NaN", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
129 | // symbol used for Negative Infinity |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
130 | negativeInfinity: "-Infinity", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
131 | // symbol used for Positive Infinity |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
132 | positiveInfinity: "Infinity", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
133 | percent: { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
134 | // [negativePattern, positivePattern] |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
135 | // negativePattern: one of "-n %|-n%|-%n|%-n|%n-|n-%|n%-|-% n|n %-|% n-|% -n|n- %" |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
136 | // positivePattern: one of "n %|n%|%n|% n" |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
137 | pattern: [ "-n %", "n %" ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
138 | // number of decimal places normally shown |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
139 | decimals: 2, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
140 | // array of numbers indicating the size of each number group. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
141 | // TODO: more detailed description and example |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
142 | groupSizes: [ 3 ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
143 | // string that separates number groups, as in 1,000,000 |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
144 | ",": ",", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
145 | // string that separates a number from the fractional portion, as in 1.99 |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
146 | ".": ".", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
147 | // symbol used to represent a percentage |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
148 | symbol: "%" |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
149 | }, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
150 | currency: { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
151 | // [negativePattern, positivePattern] |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
152 | // negativePattern: one of "($n)|-$n|$-n|$n-|(n$)|-n$|n-$|n$-|-n $|-$ n|n $-|$ n-|$ -n|n- $|($ n)|(n $)" |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
153 | // positivePattern: one of "$n|n$|$ n|n $" |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
154 | pattern: [ "($n)", "$n" ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
155 | // number of decimal places normally shown |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
156 | decimals: 2, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
157 | // array of numbers indicating the size of each number group. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
158 | // TODO: more detailed description and example |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
159 | groupSizes: [ 3 ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
160 | // string that separates number groups, as in 1,000,000 |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
161 | ",": ",", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
162 | // string that separates a number from the fractional portion, as in 1.99 |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
163 | ".": ".", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
164 | // symbol used to represent currency |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
165 | symbol: "$" |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
166 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
167 | }, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
168 | // calendars defines all the possible calendars used by this culture. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
169 | // There should be at least one defined with name "standard", and is the default |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
170 | // calendar used by the culture. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
171 | // A calendar contains information about how dates are formatted, information about |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
172 | // the calendar's eras, a standard set of the date formats, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
173 | // translations for day and month names, and if the calendar is not based on the Gregorian |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
174 | // calendar, conversion functions to and from the Gregorian calendar. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
175 | calendars: { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
176 | standard: { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
177 | // name that identifies the type of calendar this is |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
178 | name: "Gregorian_USEnglish", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
179 | // separator of parts of a date (e.g. "/" in 11/05/1955) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
180 | "/": "/", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
181 | // separator of parts of a time (e.g. ":" in 05:44 PM) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
182 | ":": ":", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
183 | // the first day of the week (0 = Sunday, 1 = Monday, etc) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
184 | firstDay: 0, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
185 | days: { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
186 | // full day names |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
187 | names: [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
188 | // abbreviated day names |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
189 | namesAbbr: [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
190 | // shortest day names |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
191 | namesShort: [ "Su", "Mo", "Tu", "We", "Th", "Fr", "Sa" ] |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
192 | }, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
193 | months: { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
194 | // full month names (13 months for lunar calendards -- 13th month should be "" if not lunar) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
195 | names: [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", "" ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
196 | // abbreviated month names |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
197 | namesAbbr: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "" ] |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
198 | }, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
199 | // AM and PM designators in one of these forms: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
200 | // The usual view, and the upper and lower case versions |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
201 | // [ standard, lowercase, uppercase ] |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
202 | // The culture does not use AM or PM (likely all standard date formats use 24 hour time) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
203 | // null |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
204 | AM: [ "AM", "am", "AM" ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
205 | PM: [ "PM", "pm", "PM" ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
206 | eras: [ |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
207 | // eras in reverse chronological order. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
208 | // name: the name of the era in this culture (e.g. A.D., C.E.) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
209 | // start: when the era starts in ticks (gregorian, gmt), null if it is the earliest supported era. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
210 | // offset: offset in years from gregorian calendar |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
211 | { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
212 | "name": "A.D.", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
213 | "start": null, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
214 | "offset": 0 |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
215 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
216 | ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
217 | // when a two digit year is given, it will never be parsed as a four digit |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
218 | // year greater than this year (in the appropriate era for the culture) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
219 | // Set it as a full year (e.g. 2029) or use an offset format starting from |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
220 | // the current year: "+19" would correspond to 2029 if the current year 2010. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
221 | twoDigitYearMax: 2029, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
222 | // set of predefined date and time patterns used by the culture |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
223 | // these represent the format someone in this culture would expect |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
224 | // to see given the portions of the date that are shown. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
225 | patterns: { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
226 | // short date pattern |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
227 | d: "M/d/yyyy", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
228 | // long date pattern |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
229 | D: "dddd, MMMM dd, yyyy", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
230 | // short time pattern |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
231 | t: "h:mm tt", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
232 | // long time pattern |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
233 | T: "h:mm:ss tt", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
234 | // long date, short time pattern |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
235 | f: "dddd, MMMM dd, yyyy h:mm tt", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
236 | // long date, long time pattern |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
237 | F: "dddd, MMMM dd, yyyy h:mm:ss tt", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
238 | // month/day pattern |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
239 | M: "MMMM dd", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
240 | // month/year pattern |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
241 | Y: "yyyy MMMM", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
242 | // S is a sortable format that does not vary by culture |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
243 | S: "yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss" |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
244 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
245 | // optional fields for each calendar: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
246 | /* |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
247 | monthsGenitive: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
248 | Same as months but used when the day preceeds the month. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
249 | Omit if the culture has no genitive distinction in month names. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
250 | For an explaination of genitive months, see http://blogs.msdn.com/michkap/archive/2004/12/25/332259.aspx |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
251 | convert: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
252 | Allows for the support of non-gregorian based calendars. This convert object is used to |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
253 | to convert a date to and from a gregorian calendar date to handle parsing and formatting. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
254 | The two functions: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
255 | fromGregorian( date ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
256 | Given the date as a parameter, return an array with parts [ year, month, day ] |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
257 | corresponding to the non-gregorian based year, month, and day for the calendar. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
258 | toGregorian( year, month, day ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
259 | Given the non-gregorian year, month, and day, return a new Date() object |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
260 | set to the corresponding date in the gregorian calendar. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
261 | */ |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
262 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
263 | }, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
264 | // For localized strings |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
265 | messages: {} |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
266 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
267 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
268 | Globalize.cultures[ "default" ].calendar = Globalize.cultures[ "default" ].calendars.standard; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
269 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
270 | Globalize.cultures.en = Globalize.cultures[ "default" ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
271 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
272 | Globalize.cultureSelector = "en"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
273 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
274 | // |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
275 | // private variables |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
276 | // |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
277 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
278 | regexHex = /^0x[a-f0-9]+$/i; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
279 | regexInfinity = /^[+\-]?infinity$/i; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
280 | regexParseFloat = /^[+\-]?\d*\.?\d*(e[+\-]?\d+)?$/; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
281 | regexTrim = /^\s+|\s+$/g; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
282 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
283 | // |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
284 | // private JavaScript utility functions |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
285 | // |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
286 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
287 | arrayIndexOf = function( array, item ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
288 | if ( array.indexOf ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
289 | return array.indexOf( item ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
290 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
291 | for ( var i = 0, length = array.length; i < length; i++ ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
292 | if ( array[i] === item ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
293 | return i; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
294 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
295 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
296 | return -1; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
297 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
298 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
299 | endsWith = function( value, pattern ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
300 | return value.substr( value.length - pattern.length ) === pattern; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
301 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
302 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
303 | extend = function() { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
304 | var options, name, src, copy, copyIsArray, clone, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
305 | target = arguments[0] || {}, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
306 | i = 1, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
307 | length = arguments.length, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
308 | deep = false; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
309 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
310 | // Handle a deep copy situation |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
311 | if ( typeof target === "boolean" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
312 | deep = target; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
313 | target = arguments[1] || {}; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
314 | // skip the boolean and the target |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
315 | i = 2; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
316 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
317 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
318 | // Handle case when target is a string or something (possible in deep copy) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
319 | if ( typeof target !== "object" && !isFunction(target) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
320 | target = {}; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
321 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
322 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
323 | for ( ; i < length; i++ ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
324 | // Only deal with non-null/undefined values |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
325 | if ( (options = arguments[ i ]) != null ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
326 | // Extend the base object |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
327 | for ( name in options ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
328 | src = target[ name ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
329 | copy = options[ name ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
330 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
331 | // Prevent never-ending loop |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
332 | if ( target === copy ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
333 | continue; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
334 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
335 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
336 | // Recurse if we're merging plain objects or arrays |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
337 | if ( deep && copy && ( isObject(copy) || (copyIsArray = isArray(copy)) ) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
338 | if ( copyIsArray ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
339 | copyIsArray = false; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
340 | clone = src && isArray(src) ? src : []; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
341 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
342 | } else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
343 | clone = src && isObject(src) ? src : {}; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
344 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
345 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
346 | // Never move original objects, clone them |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
347 | target[ name ] = extend( deep, clone, copy ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
348 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
349 | // Don't bring in undefined values |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
350 | } else if ( copy !== undefined ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
351 | target[ name ] = copy; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
352 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
353 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
354 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
355 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
356 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
357 | // Return the modified object |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
358 | return target; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
359 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
360 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
361 | isArray = Array.isArray || function( obj ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
362 | return Object.prototype.toString.call( obj ) === "[object Array]"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
363 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
364 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
365 | isFunction = function( obj ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
366 | return Object.prototype.toString.call( obj ) === "[object Function]"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
367 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
368 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
369 | isObject = function( obj ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
370 | return Object.prototype.toString.call( obj ) === "[object Object]"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
371 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
372 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
373 | startsWith = function( value, pattern ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
374 | return value.indexOf( pattern ) === 0; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
375 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
376 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
377 | trim = function( value ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
378 | return ( value + "" ).replace( regexTrim, "" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
379 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
380 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
381 | truncate = function( value ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
382 | if ( isNaN( value ) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
383 | return NaN; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
384 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
385 | return Math[ value < 0 ? "ceil" : "floor" ]( value ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
386 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
387 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
388 | zeroPad = function( str, count, left ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
389 | var l; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
390 | for ( l = str.length; l < count; l += 1 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
391 | str = ( left ? ("0" + str) : (str + "0") ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
392 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
393 | return str; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
394 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
395 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
396 | // |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
397 | // private Globalization utility functions |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
398 | // |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
399 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
400 | appendPreOrPostMatch = function( preMatch, strings ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
401 | // appends pre- and post- token match strings while removing escaped characters. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
402 | // Returns a single quote count which is used to determine if the token occurs |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
403 | // in a string literal. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
404 | var quoteCount = 0, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
405 | escaped = false; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
406 | for ( var i = 0, il = preMatch.length; i < il; i++ ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
407 | var c = preMatch.charAt( i ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
408 | switch ( c ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
409 | case "\'": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
410 | if ( escaped ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
411 | strings.push( "\'" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
412 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
413 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
414 | quoteCount++; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
415 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
416 | escaped = false; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
417 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
418 | case "\\": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
419 | if ( escaped ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
420 | strings.push( "\\" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
421 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
422 | escaped = !escaped; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
423 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
424 | default: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
425 | strings.push( c ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
426 | escaped = false; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
427 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
428 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
429 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
430 | return quoteCount; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
431 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
432 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
433 | expandFormat = function( cal, format ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
434 | // expands unspecified or single character date formats into the full pattern. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
435 | format = format || "F"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
436 | var pattern, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
437 | patterns = cal.patterns, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
438 | len = format.length; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
439 | if ( len === 1 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
440 | pattern = patterns[ format ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
441 | if ( !pattern ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
442 | throw "Invalid date format string \'" + format + "\'."; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
443 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
444 | format = pattern; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
445 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
446 | else if ( len === 2 && format.charAt(0) === "%" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
447 | // %X escape format -- intended as a custom format string that is only one character, not a built-in format. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
448 | format = format.charAt( 1 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
449 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
450 | return format; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
451 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
452 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
453 | formatDate = function( value, format, culture ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
454 | var cal = culture.calendar, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
455 | convert = cal.convert, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
456 | ret; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
457 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
458 | if ( !format || !format.length || format === "i" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
459 | if ( culture && culture.name.length ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
460 | if ( convert ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
461 | // non-gregorian calendar, so we cannot use built-in toLocaleString() |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
462 | ret = formatDate( value, cal.patterns.F, culture ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
463 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
464 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
465 | var eraDate = new Date( value.getTime() ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
466 | era = getEra( value, cal.eras ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
467 | eraDate.setFullYear( getEraYear(value, cal, era) ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
468 | ret = eraDate.toLocaleString(); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
469 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
470 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
471 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
472 | ret = value.toString(); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
473 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
474 | return ret; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
475 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
476 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
477 | var eras = cal.eras, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
478 | sortable = format === "s"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
479 | format = expandFormat( cal, format ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
480 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
481 | // Start with an empty string |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
482 | ret = []; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
483 | var hour, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
484 | zeros = [ "0", "00", "000" ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
485 | foundDay, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
486 | checkedDay, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
487 | dayPartRegExp = /([^d]|^)(d|dd)([^d]|$)/g, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
488 | quoteCount = 0, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
489 | tokenRegExp = getTokenRegExp(), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
490 | converted; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
491 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
492 | //function padZeros( num, c ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
493 | // var r, s = num + ""; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
494 | // if ( c > 1 && s.length < c ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
495 | // r = ( zeros[c - 2] + s); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
496 | // return r.substr( r.length - c, c ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
497 | // } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
498 | // else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
499 | // r = s; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
500 | // } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
501 | // return r; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
502 | //} |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
503 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
504 | function padZeros(num, c) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
505 | if (num < 0) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
506 | return "-" + padZeros(-num, c); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
507 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
508 | var r, s = num + ""; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
509 | if (c > 1 && s.length < c) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
510 | r = (zeros[c - 2] + s); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
511 | return r.substr(r.length - c, c); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
512 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
513 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
514 | r = s; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
515 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
516 | return r; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
517 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
518 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
519 | function hasDay() { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
520 | if ( foundDay || checkedDay ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
521 | return foundDay; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
522 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
523 | foundDay = dayPartRegExp.test( format ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
524 | checkedDay = true; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
525 | return foundDay; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
526 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
527 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
528 | function getPart( date, part ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
529 | if ( converted ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
530 | return converted[ part ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
531 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
532 | switch ( part ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
533 | case 0: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
534 | return date.getFullYear(); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
535 | case 1: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
536 | return date.getMonth(); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
537 | case 2: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
538 | return date.getDate(); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
539 | default: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
540 | throw "Invalid part value " + part; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
541 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
542 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
543 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
544 | if ( !sortable && convert ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
545 | converted = convert.fromGregorian( value ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
546 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
547 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
548 | for ( ; ; ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
549 | // Save the current index |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
550 | var index = tokenRegExp.lastIndex, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
551 | // Look for the next pattern |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
552 | ar = tokenRegExp.exec( format ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
553 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
554 | // Append the text before the pattern (or the end of the string if not found) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
555 | var preMatch = format.slice( index, ar ? ar.index : format.length ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
556 | quoteCount += appendPreOrPostMatch( preMatch, ret ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
557 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
558 | if ( !ar ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
559 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
560 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
561 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
562 | // do not replace any matches that occur inside a string literal. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
563 | if ( quoteCount % 2 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
564 | ret.push( ar[0] ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
565 | continue; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
566 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
567 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
568 | var current = ar[ 0 ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
569 | clength = current.length; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
570 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
571 | switch ( current ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
572 | case "ddd": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
573 | //Day of the week, as a three-letter abbreviation |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
574 | case "dddd": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
575 | // Day of the week, using the full name |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
576 | var names = ( clength === 3 ) ? cal.days.namesAbbr : cal.days.names; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
577 | ret.push( names[value.getDay()] ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
578 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
579 | case "d": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
580 | // Day of month, without leading zero for single-digit days |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
581 | case "dd": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
582 | // Day of month, with leading zero for single-digit days |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
583 | foundDay = true; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
584 | ret.push( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
585 | padZeros( getPart(value, 2), clength ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
586 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
587 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
588 | case "MMM": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
589 | // Month, as a three-letter abbreviation |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
590 | case "MMMM": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
591 | // Month, using the full name |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
592 | var part = getPart( value, 1 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
593 | ret.push( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
594 | ( cal.monthsGenitive && hasDay() ) ? |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
595 | ( cal.monthsGenitive[ clength === 3 ? "namesAbbr" : "names" ][ part ] ) : |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
596 | ( cal.months[ clength === 3 ? "namesAbbr" : "names" ][ part ] ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
597 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
598 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
599 | case "M": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
600 | // Month, as digits, with no leading zero for single-digit months |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
601 | case "MM": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
602 | // Month, as digits, with leading zero for single-digit months |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
603 | ret.push( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
604 | padZeros( getPart(value, 1) + 1, clength ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
605 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
606 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
607 | case "y": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
608 | // Year, as two digits, but with no leading zero for years less than 10 |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
609 | case "yy": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
610 | // Year, as two digits, with leading zero for years less than 10 |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
611 | case "yyyy": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
612 | // Year represented by four full digits |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
613 | part = converted ? converted[ 0 ] : getEraYear( value, cal, getEra(value, eras), sortable ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
614 | if ( clength < 4 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
615 | part = part % 100; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
616 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
617 | ret.push( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
618 | padZeros( part, clength ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
619 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
620 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
621 | case "h": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
622 | // Hours with no leading zero for single-digit hours, using 12-hour clock |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
623 | case "hh": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
624 | // Hours with leading zero for single-digit hours, using 12-hour clock |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
625 | hour = value.getHours() % 12; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
626 | if ( hour === 0 ) hour = 12; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
627 | ret.push( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
628 | padZeros( hour, clength ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
629 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
630 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
631 | case "H": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
632 | // Hours with no leading zero for single-digit hours, using 24-hour clock |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
633 | case "HH": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
634 | // Hours with leading zero for single-digit hours, using 24-hour clock |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
635 | ret.push( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
636 | padZeros( value.getHours(), clength ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
637 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
638 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
639 | case "m": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
640 | // Minutes with no leading zero for single-digit minutes |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
641 | case "mm": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
642 | // Minutes with leading zero for single-digit minutes |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
643 | ret.push( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
644 | padZeros( value.getMinutes(), clength ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
645 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
646 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
647 | case "s": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
648 | // Seconds with no leading zero for single-digit seconds |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
649 | case "ss": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
650 | // Seconds with leading zero for single-digit seconds |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
651 | ret.push( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
652 | padZeros( value.getSeconds(), clength ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
653 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
654 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
655 | case "t": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
656 | // One character am/pm indicator ("a" or "p") |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
657 | case "tt": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
658 | // Multicharacter am/pm indicator |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
659 | part = value.getHours() < 12 ? ( cal.AM ? cal.AM[0] : " " ) : ( cal.PM ? cal.PM[0] : " " ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
660 | ret.push( clength === 1 ? part.charAt(0) : part ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
661 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
662 | case "f": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
663 | // Deciseconds |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
664 | case "ff": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
665 | // Centiseconds |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
666 | case "fff": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
667 | // Milliseconds |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
668 | ret.push( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
669 | padZeros( value.getMilliseconds(), 3 ).substr( 0, clength ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
670 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
671 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
672 | case "z": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
673 | // Time zone offset, no leading zero |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
674 | case "zz": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
675 | // Time zone offset with leading zero |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
676 | hour = value.getTimezoneOffset() / 60; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
677 | ret.push( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
678 | ( hour <= 0 ? "+" : "-" ) + padZeros( Math.floor(Math.abs(hour)), clength ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
679 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
680 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
681 | case "zzz": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
682 | // Time zone offset with leading zero |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
683 | hour = value.getTimezoneOffset() / 60; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
684 | ret.push( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
685 | ( hour <= 0 ? "+" : "-" ) + padZeros( Math.floor(Math.abs(hour)), 2 ) + |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
686 | // Hard coded ":" separator, rather than using cal.TimeSeparator |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
687 | // Repeated here for consistency, plus ":" was already assumed in date parsing. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
688 | ":" + padZeros( Math.abs(value.getTimezoneOffset() % 60), 2 ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
689 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
690 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
691 | case "g": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
692 | case "gg": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
693 | if ( cal.eras ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
694 | ret.push( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
695 | cal.eras[ getEra(value, eras) ].name |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
696 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
697 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
698 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
699 | case "/": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
700 | ret.push( cal["/"] ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
701 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
702 | default: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
703 | throw "Invalid date format pattern \'" + current + "\'."; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
704 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
705 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
706 | return ret.join( "" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
707 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
708 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
709 | // formatNumber |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
710 | (function() { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
711 | var expandNumber; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
712 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
713 | expandNumber = function( number, precision, formatInfo ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
714 | var groupSizes = formatInfo.groupSizes, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
715 | curSize = groupSizes[ 0 ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
716 | curGroupIndex = 1, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
717 | factor = Math.pow( 10, precision ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
718 | rounded = Math.round( number * factor ) / factor; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
719 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
720 | if ( !isFinite(rounded) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
721 | rounded = number; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
722 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
723 | number = rounded; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
724 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
725 | var numberString = number+"", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
726 | right = "", |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
727 | split = numberString.split( /e/i ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
728 | exponent = split.length > 1 ? parseInt( split[1], 10 ) : 0; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
729 | numberString = split[ 0 ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
730 | split = numberString.split( "." ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
731 | numberString = split[ 0 ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
732 | right = split.length > 1 ? split[ 1 ] : ""; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
733 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
734 | var l; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
735 | if ( exponent > 0 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
736 | right = zeroPad( right, exponent, false ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
737 | numberString += right.slice( 0, exponent ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
738 | right = right.substr( exponent ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
739 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
740 | else if ( exponent < 0 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
741 | exponent = -exponent; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
742 | numberString = zeroPad( numberString, exponent + 1, true ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
743 | right = numberString.slice( -exponent, numberString.length ) + right; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
744 | numberString = numberString.slice( 0, -exponent ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
745 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
746 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
747 | if ( precision > 0 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
748 | right = formatInfo[ "." ] + |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
749 | ( (right.length > precision) ? right.slice(0, precision) : zeroPad(right, precision) ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
750 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
751 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
752 | right = ""; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
753 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
754 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
755 | var stringIndex = numberString.length - 1, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
756 | sep = formatInfo[ "," ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
757 | ret = ""; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
758 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
759 | while ( stringIndex >= 0 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
760 | if ( curSize === 0 || curSize > stringIndex ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
761 | return numberString.slice( 0, stringIndex + 1 ) + ( ret.length ? (sep + ret + right) : right ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
762 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
763 | ret = numberString.slice( stringIndex - curSize + 1, stringIndex + 1 ) + ( ret.length ? (sep + ret) : "" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
764 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
765 | stringIndex -= curSize; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
766 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
767 | if ( curGroupIndex < groupSizes.length ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
768 | curSize = groupSizes[ curGroupIndex ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
769 | curGroupIndex++; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
770 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
771 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
772 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
773 | return numberString.slice( 0, stringIndex + 1 ) + sep + ret + right; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
774 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
775 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
776 | formatNumber = function( value, format, culture ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
777 | if ( !isFinite(value) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
778 | if ( value === Infinity ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
779 | return culture.numberFormat.positiveInfinity; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
780 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
781 | if ( value === -Infinity ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
782 | return culture.numberFormat.negativeInfinity; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
783 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
784 | return culture.numberFormat.NaN; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
785 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
786 | if ( !format || format === "i" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
787 | return culture.name.length ? value.toLocaleString() : value.toString(); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
788 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
789 | format = format || "D"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
790 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
791 | var nf = culture.numberFormat, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
792 | number = Math.abs( value ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
793 | precision = -1, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
794 | pattern; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
795 | if ( format.length > 1 ) precision = parseInt( format.slice(1), 10 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
796 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
797 | var current = format.charAt( 0 ).toUpperCase(), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
798 | formatInfo; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
799 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
800 | switch ( current ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
801 | case "D": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
802 | pattern = "n"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
803 | number = truncate( number ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
804 | if ( precision !== -1 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
805 | number = zeroPad( "" + number, precision, true ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
806 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
807 | if ( value < 0 ) number = "-" + number; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
808 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
809 | case "N": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
810 | formatInfo = nf; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
811 | /* falls through */ |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
812 | case "C": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
813 | formatInfo = formatInfo || nf.currency; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
814 | /* falls through */ |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
815 | case "P": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
816 | formatInfo = formatInfo || nf.percent; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
817 | pattern = value < 0 ? formatInfo.pattern[ 0 ] : ( formatInfo.pattern[1] || "n" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
818 | if ( precision === -1 ) precision = formatInfo.decimals; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
819 | number = expandNumber( number * (current === "P" ? 100 : 1), precision, formatInfo ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
820 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
821 | default: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
822 | throw "Bad number format specifier: " + current; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
823 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
824 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
825 | var patternParts = /n|\$|-|%/g, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
826 | ret = ""; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
827 | for ( ; ; ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
828 | var index = patternParts.lastIndex, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
829 | ar = patternParts.exec( pattern ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
830 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
831 | ret += pattern.slice( index, ar ? ar.index : pattern.length ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
832 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
833 | if ( !ar ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
834 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
835 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
836 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
837 | switch ( ar[0] ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
838 | case "n": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
839 | ret += number; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
840 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
841 | case "$": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
842 | ret += nf.currency.symbol; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
843 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
844 | case "-": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
845 | // don't make 0 negative |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
846 | if ( /[1-9]/.test(number) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
847 | ret += nf[ "-" ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
848 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
849 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
850 | case "%": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
851 | ret += nf.percent.symbol; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
852 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
853 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
854 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
855 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
856 | return ret; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
857 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
858 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
859 | }()); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
860 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
861 | getTokenRegExp = function() { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
862 | // regular expression for matching date and time tokens in format strings. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
863 | return (/\/|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z|gg|g/g); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
864 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
865 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
866 | getEra = function( date, eras ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
867 | if ( !eras ) return 0; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
868 | var start, ticks = date.getTime(); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
869 | for ( var i = 0, l = eras.length; i < l; i++ ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
870 | start = eras[ i ].start; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
871 | if ( start === null || ticks >= start ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
872 | return i; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
873 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
874 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
875 | return 0; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
876 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
877 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
878 | getEraYear = function( date, cal, era, sortable ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
879 | var year = date.getFullYear(); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
880 | if ( !sortable && cal.eras ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
881 | // convert normal gregorian year to era-shifted gregorian |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
882 | // year by subtracting the era offset |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
883 | year -= cal.eras[ era ].offset; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
884 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
885 | return year; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
886 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
887 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
888 | // parseExact |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
889 | (function() { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
890 | var expandYear, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
891 | getDayIndex, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
892 | getMonthIndex, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
893 | getParseRegExp, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
894 | outOfRange, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
895 | toUpper, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
896 | toUpperArray; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
897 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
898 | expandYear = function( cal, year ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
899 | // expands 2-digit year into 4 digits. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
900 | if ( year < 100 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
901 | var now = new Date(), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
902 | era = getEra( now ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
903 | curr = getEraYear( now, cal, era ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
904 | twoDigitYearMax = cal.twoDigitYearMax; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
905 | twoDigitYearMax = typeof twoDigitYearMax === "string" ? new Date().getFullYear() % 100 + parseInt( twoDigitYearMax, 10 ) : twoDigitYearMax; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
906 | year += curr - ( curr % 100 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
907 | if ( year > twoDigitYearMax ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
908 | year -= 100; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
909 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
910 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
911 | return year; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
912 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
913 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
914 | getDayIndex = function ( cal, value, abbr ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
915 | var ret, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
916 | days = cal.days, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
917 | upperDays = cal._upperDays; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
918 | if ( !upperDays ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
919 | cal._upperDays = upperDays = [ |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
920 | toUpperArray( days.names ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
921 | toUpperArray( days.namesAbbr ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
922 | toUpperArray( days.namesShort ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
923 | ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
924 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
925 | value = toUpper( value ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
926 | if ( abbr ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
927 | ret = arrayIndexOf( upperDays[1], value ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
928 | if ( ret === -1 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
929 | ret = arrayIndexOf( upperDays[2], value ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
930 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
931 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
932 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
933 | ret = arrayIndexOf( upperDays[0], value ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
934 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
935 | return ret; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
936 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
937 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
938 | getMonthIndex = function( cal, value, abbr ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
939 | var months = cal.months, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
940 | monthsGen = cal.monthsGenitive || cal.months, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
941 | upperMonths = cal._upperMonths, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
942 | upperMonthsGen = cal._upperMonthsGen; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
943 | if ( !upperMonths ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
944 | cal._upperMonths = upperMonths = [ |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
945 | toUpperArray( months.names ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
946 | toUpperArray( months.namesAbbr ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
947 | ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
948 | cal._upperMonthsGen = upperMonthsGen = [ |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
949 | toUpperArray( monthsGen.names ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
950 | toUpperArray( monthsGen.namesAbbr ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
951 | ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
952 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
953 | value = toUpper( value ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
954 | var i = arrayIndexOf( abbr ? upperMonths[1] : upperMonths[0], value ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
955 | if ( i < 0 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
956 | i = arrayIndexOf( abbr ? upperMonthsGen[1] : upperMonthsGen[0], value ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
957 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
958 | return i; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
959 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
960 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
961 | getParseRegExp = function( cal, format ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
962 | // converts a format string into a regular expression with groups that |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
963 | // can be used to extract date fields from a date string. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
964 | // check for a cached parse regex. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
965 | var re = cal._parseRegExp; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
966 | if ( !re ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
967 | cal._parseRegExp = re = {}; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
968 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
969 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
970 | var reFormat = re[ format ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
971 | if ( reFormat ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
972 | return reFormat; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
973 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
974 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
975 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
976 | // expand single digit formats, then escape regular expression characters. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
977 | var expFormat = expandFormat( cal, format ).replace( /([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g, "\\\\$1" ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
978 | regexp = [ "^" ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
979 | groups = [], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
980 | index = 0, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
981 | quoteCount = 0, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
982 | tokenRegExp = getTokenRegExp(), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
983 | match; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
984 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
985 | // iterate through each date token found. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
986 | while ( (match = tokenRegExp.exec(expFormat)) !== null ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
987 | var preMatch = expFormat.slice( index, match.index ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
988 | index = tokenRegExp.lastIndex; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
989 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
990 | // don't replace any matches that occur inside a string literal. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
991 | quoteCount += appendPreOrPostMatch( preMatch, regexp ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
992 | if ( quoteCount % 2 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
993 | regexp.push( match[0] ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
994 | continue; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
995 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
996 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
997 | // add a regex group for the token. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
998 | var m = match[ 0 ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
999 | len = m.length, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1000 | add; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1001 | switch ( m ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1002 | case "dddd": case "ddd": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1003 | case "MMMM": case "MMM": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1004 | case "gg": case "g": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1005 | add = "(\\D+)"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1006 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1007 | case "tt": case "t": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1008 | add = "(\\D*)"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1009 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1010 | case "yyyy": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1011 | case "fff": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1012 | case "ff": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1013 | case "f": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1014 | add = "(\\d{" + len + "})"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1015 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1016 | case "dd": case "d": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1017 | case "MM": case "M": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1018 | case "yy": case "y": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1019 | case "HH": case "H": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1020 | case "hh": case "h": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1021 | case "mm": case "m": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1022 | case "ss": case "s": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1023 | add = "(\\d\\d?)"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1024 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1025 | case "zzz": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1026 | add = "([+-]?\\d\\d?:\\d{2})"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1027 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1028 | case "zz": case "z": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1029 | add = "([+-]?\\d\\d?)"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1030 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1031 | case "/": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1032 | add = "(\\/)"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1033 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1034 | default: |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1035 | throw "Invalid date format pattern \'" + m + "\'."; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1036 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1037 | if ( add ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1038 | regexp.push( add ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1039 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1040 | groups.push( match[0] ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1041 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1042 | appendPreOrPostMatch( expFormat.slice(index), regexp ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1043 | regexp.push( "$" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1044 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1045 | // allow whitespace to differ when matching formats. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1046 | var regexpStr = regexp.join( "" ).replace( /\s+/g, "\\s+" ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1047 | parseRegExp = { "regExp": regexpStr, "groups": groups }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1048 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1049 | // cache the regex for this format. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1050 | return re[ format ] = parseRegExp; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1051 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1052 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1053 | outOfRange = function( value, low, high ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1054 | return value < low || value > high; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1055 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1056 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1057 | toUpper = function( value ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1058 | // "he-IL" has non-breaking space in weekday names. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1059 | return value.split( "\u00A0" ).join( " " ).toUpperCase(); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1060 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1061 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1062 | toUpperArray = function( arr ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1063 | var results = []; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1064 | for ( var i = 0, l = arr.length; i < l; i++ ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1065 | results[ i ] = toUpper( arr[i] ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1066 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1067 | return results; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1068 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1069 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1070 | parseExact = function( value, format, culture ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1071 | // try to parse the date string by matching against the format string |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1072 | // while using the specified culture for date field names. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1073 | value = trim( value ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1074 | var cal = culture.calendar, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1075 | // convert date formats into regular expressions with groupings. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1076 | // use the regexp to determine the input format and extract the date fields. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1077 | parseInfo = getParseRegExp( cal, format ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1078 | match = new RegExp( parseInfo.regExp ).exec( value ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1079 | if ( match === null ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1080 | return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1081 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1082 | // found a date format that matches the input. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1083 | var groups = parseInfo.groups, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1084 | era = null, year = null, month = null, date = null, weekDay = null, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1085 | hour = 0, hourOffset, min = 0, sec = 0, msec = 0, tzMinOffset = null, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1086 | pmHour = false; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1087 | // iterate the format groups to extract and set the date fields. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1088 | for ( var j = 0, jl = groups.length; j < jl; j++ ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1089 | var matchGroup = match[ j + 1 ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1090 | if ( matchGroup ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1091 | var current = groups[ j ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1092 | clength = current.length, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1093 | matchInt = parseInt( matchGroup, 10 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1094 | switch ( current ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1095 | case "dd": case "d": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1096 | // Day of month. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1097 | date = matchInt; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1098 | // check that date is generally in valid range, also checking overflow below. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1099 | if ( outOfRange(date, 1, 31) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1100 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1101 | case "MMM": case "MMMM": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1102 | month = getMonthIndex( cal, matchGroup, clength === 3 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1103 | if ( outOfRange(month, 0, 11) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1104 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1105 | case "M": case "MM": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1106 | // Month. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1107 | month = matchInt - 1; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1108 | if ( outOfRange(month, 0, 11) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1109 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1110 | case "y": case "yy": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1111 | case "yyyy": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1112 | year = clength < 4 ? expandYear( cal, matchInt ) : matchInt; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1113 | if ( outOfRange(year, 0, 9999) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1114 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1115 | case "h": case "hh": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1116 | // Hours (12-hour clock). |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1117 | hour = matchInt; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1118 | if ( hour === 12 ) hour = 0; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1119 | if ( outOfRange(hour, 0, 11) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1120 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1121 | case "H": case "HH": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1122 | // Hours (24-hour clock). |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1123 | hour = matchInt; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1124 | if ( outOfRange(hour, 0, 23) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1125 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1126 | case "m": case "mm": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1127 | // Minutes. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1128 | min = matchInt; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1129 | if ( outOfRange(min, 0, 59) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1130 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1131 | case "s": case "ss": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1132 | // Seconds. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1133 | sec = matchInt; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1134 | if ( outOfRange(sec, 0, 59) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1135 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1136 | case "tt": case "t": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1137 | // AM/PM designator. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1138 | // see if it is standard, upper, or lower case PM. If not, ensure it is at least one of |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1139 | // the AM tokens. If not, fail the parse for this format. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1140 | pmHour = cal.PM && ( matchGroup === cal.PM[0] || matchGroup === cal.PM[1] || matchGroup === cal.PM[2] ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1141 | if ( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1142 | !pmHour && ( |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1143 | !cal.AM || ( matchGroup !== cal.AM[0] && matchGroup !== cal.AM[1] && matchGroup !== cal.AM[2] ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1144 | ) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1145 | ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1146 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1147 | case "f": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1148 | // Deciseconds. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1149 | case "ff": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1150 | // Centiseconds. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1151 | case "fff": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1152 | // Milliseconds. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1153 | msec = matchInt * Math.pow( 10, 3 - clength ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1154 | if ( outOfRange(msec, 0, 999) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1155 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1156 | case "ddd": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1157 | // Day of week. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1158 | case "dddd": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1159 | // Day of week. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1160 | weekDay = getDayIndex( cal, matchGroup, clength === 3 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1161 | if ( outOfRange(weekDay, 0, 6) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1162 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1163 | case "zzz": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1164 | // Time zone offset in +/- hours:min. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1165 | var offsets = matchGroup.split( /:/ ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1166 | if ( offsets.length !== 2 ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1167 | hourOffset = parseInt( offsets[0], 10 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1168 | if ( outOfRange(hourOffset, -12, 13) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1169 | var minOffset = parseInt( offsets[1], 10 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1170 | if ( outOfRange(minOffset, 0, 59) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1171 | tzMinOffset = ( hourOffset * 60 ) + ( startsWith(matchGroup, "-") ? -minOffset : minOffset ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1172 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1173 | case "z": case "zz": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1174 | // Time zone offset in +/- hours. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1175 | hourOffset = matchInt; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1176 | if ( outOfRange(hourOffset, -12, 13) ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1177 | tzMinOffset = hourOffset * 60; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1178 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1179 | case "g": case "gg": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1180 | var eraName = matchGroup; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1181 | if ( !eraName || !cal.eras ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1182 | eraName = trim( eraName.toLowerCase() ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1183 | for ( var i = 0, l = cal.eras.length; i < l; i++ ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1184 | if ( eraName === cal.eras[i].name.toLowerCase() ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1185 | era = i; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1186 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1187 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1188 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1189 | // could not find an era with that name |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1190 | if ( era === null ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1191 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1192 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1193 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1194 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1195 | var result = new Date(), defaultYear, convert = cal.convert; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1196 | defaultYear = convert ? convert.fromGregorian( result )[ 0 ] : result.getFullYear(); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1197 | if ( year === null ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1198 | year = defaultYear; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1199 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1200 | else if ( cal.eras ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1201 | // year must be shifted to normal gregorian year |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1202 | // but not if year was not specified, its already normal gregorian |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1203 | // per the main if clause above. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1204 | year += cal.eras[( era || 0 )].offset; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1205 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1206 | // set default day and month to 1 and January, so if unspecified, these are the defaults |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1207 | // instead of the current day/month. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1208 | if ( month === null ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1209 | month = 0; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1210 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1211 | if ( date === null ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1212 | date = 1; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1213 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1214 | // now have year, month, and date, but in the culture's calendar. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1215 | // convert to gregorian if necessary |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1216 | if ( convert ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1217 | result = convert.toGregorian( year, month, date ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1218 | // conversion failed, must be an invalid match |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1219 | if ( result === null ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1220 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1221 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1222 | // have to set year, month and date together to avoid overflow based on current date. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1223 | result.setFullYear( year, month, date ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1224 | // check to see if date overflowed for specified month (only checked 1-31 above). |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1225 | if ( result.getDate() !== date ) return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1226 | // invalid day of week. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1227 | if ( weekDay !== null && result.getDay() !== weekDay ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1228 | return null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1229 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1230 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1231 | // if pm designator token was found make sure the hours fit the 24-hour clock. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1232 | if ( pmHour && hour < 12 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1233 | hour += 12; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1234 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1235 | result.setHours( hour, min, sec, msec ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1236 | if ( tzMinOffset !== null ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1237 | // adjust timezone to utc before applying local offset. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1238 | var adjustedMin = result.getMinutes() - ( tzMinOffset + result.getTimezoneOffset() ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1239 | // Safari limits hours and minutes to the range of -127 to 127. We need to use setHours |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1240 | // to ensure both these fields will not exceed this range. adjustedMin will range |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1241 | // somewhere between -1440 and 1500, so we only need to split this into hours. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1242 | result.setHours( result.getHours() + parseInt(adjustedMin / 60, 10), adjustedMin % 60 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1243 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1244 | return result; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1245 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1246 | }()); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1247 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1248 | parseNegativePattern = function( value, nf, negativePattern ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1249 | var neg = nf[ "-" ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1250 | pos = nf[ "+" ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1251 | ret; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1252 | switch ( negativePattern ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1253 | case "n -": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1254 | neg = " " + neg; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1255 | pos = " " + pos; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1256 | /* falls through */ |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1257 | case "n-": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1258 | if ( endsWith(value, neg) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1259 | ret = [ "-", value.substr(0, value.length - neg.length) ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1260 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1261 | else if ( endsWith(value, pos) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1262 | ret = [ "+", value.substr(0, value.length - pos.length) ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1263 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1264 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1265 | case "- n": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1266 | neg += " "; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1267 | pos += " "; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1268 | /* falls through */ |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1269 | case "-n": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1270 | if ( startsWith(value, neg) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1271 | ret = [ "-", value.substr(neg.length) ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1272 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1273 | else if ( startsWith(value, pos) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1274 | ret = [ "+", value.substr(pos.length) ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1275 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1276 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1277 | case "(n)": |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1278 | if ( startsWith(value, "(") && endsWith(value, ")") ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1279 | ret = [ "-", value.substr(1, value.length - 2) ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1280 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1281 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1282 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1283 | return ret || [ "", value ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1284 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1285 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1286 | // |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1287 | // public instance functions |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1288 | // |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1289 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1290 | Globalize.prototype.findClosestCulture = function( cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1291 | return Globalize.findClosestCulture.call( this, cultureSelector ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1292 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1293 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1294 | Globalize.prototype.format = function( value, format, cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1295 | return Globalize.format.call( this, value, format, cultureSelector ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1296 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1297 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1298 | Globalize.prototype.localize = function( key, cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1299 | return Globalize.localize.call( this, key, cultureSelector ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1300 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1301 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1302 | Globalize.prototype.parseInt = function( value, radix, cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1303 | return Globalize.parseInt.call( this, value, radix, cultureSelector ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1304 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1305 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1306 | Globalize.prototype.parseFloat = function( value, radix, cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1307 | return Globalize.parseFloat.call( this, value, radix, cultureSelector ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1308 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1309 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1310 | Globalize.prototype.culture = function( cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1311 | return Globalize.culture.call( this, cultureSelector ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1312 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1313 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1314 | // |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1315 | // public singleton functions |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1316 | // |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1317 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1318 | Globalize.addCultureInfo = function( cultureName, baseCultureName, info ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1319 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1320 | var base = {}, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1321 | isNew = false; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1322 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1323 | if ( typeof cultureName !== "string" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1324 | // cultureName argument is optional string. If not specified, assume info is first |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1325 | // and only argument. Specified info deep-extends current culture. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1326 | info = cultureName; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1327 | cultureName = this.culture().name; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1328 | base = this.cultures[ cultureName ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1329 | } else if ( typeof baseCultureName !== "string" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1330 | // baseCultureName argument is optional string. If not specified, assume info is second |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1331 | // argument. Specified info deep-extends specified culture. |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1332 | // If specified culture does not exist, create by deep-extending default |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1333 | info = baseCultureName; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1334 | isNew = ( this.cultures[ cultureName ] == null ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1335 | base = this.cultures[ cultureName ] || this.cultures[ "default" ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1336 | } else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1337 | // cultureName and baseCultureName specified. Assume a new culture is being created |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1338 | // by deep-extending an specified base culture |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1339 | isNew = true; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1340 | base = this.cultures[ baseCultureName ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1341 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1342 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1343 | this.cultures[ cultureName ] = extend(true, {}, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1344 | base, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1345 | info |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1346 | ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1347 | // Make the standard calendar the current culture if it's a new culture |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1348 | if ( isNew ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1349 | this.cultures[ cultureName ].calendar = this.cultures[ cultureName ].calendars.standard; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1350 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1351 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1352 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1353 | Globalize.findClosestCulture = function( name ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1354 | var match; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1355 | if ( !name ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1356 | return this.findClosestCulture( this.cultureSelector ) || this.cultures[ "default" ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1357 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1358 | if ( typeof name === "string" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1359 | name = name.split( "," ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1360 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1361 | if ( isArray(name) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1362 | var lang, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1363 | cultures = this.cultures, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1364 | list = name, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1365 | i, l = list.length, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1366 | prioritized = []; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1367 | for ( i = 0; i < l; i++ ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1368 | name = trim( list[i] ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1369 | var pri, parts = name.split( ";" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1370 | lang = trim( parts[0] ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1371 | if ( parts.length === 1 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1372 | pri = 1; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1373 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1374 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1375 | name = trim( parts[1] ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1376 | if ( name.indexOf("q=") === 0 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1377 | name = name.substr( 2 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1378 | pri = parseFloat( name ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1379 | pri = isNaN( pri ) ? 0 : pri; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1380 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1381 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1382 | pri = 1; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1383 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1384 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1385 | prioritized.push({ lang: lang, pri: pri }); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1386 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1387 | prioritized.sort(function( a, b ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1388 | if ( a.pri < b.pri ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1389 | return 1; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1390 | } else if ( a.pri > b.pri ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1391 | return -1; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1392 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1393 | return 0; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1394 | }); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1395 | // exact match |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1396 | for ( i = 0; i < l; i++ ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1397 | lang = prioritized[ i ].lang; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1398 | match = cultures[ lang ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1399 | if ( match ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1400 | return match; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1401 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1402 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1403 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1404 | // neutral language match |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1405 | for ( i = 0; i < l; i++ ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1406 | lang = prioritized[ i ].lang; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1407 | do { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1408 | var index = lang.lastIndexOf( "-" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1409 | if ( index === -1 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1410 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1411 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1412 | // strip off the last part. e.g. en-US => en |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1413 | lang = lang.substr( 0, index ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1414 | match = cultures[ lang ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1415 | if ( match ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1416 | return match; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1417 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1418 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1419 | while ( 1 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1420 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1421 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1422 | // last resort: match first culture using that language |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1423 | for ( i = 0; i < l; i++ ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1424 | lang = prioritized[ i ].lang; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1425 | for ( var cultureKey in cultures ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1426 | var culture = cultures[ cultureKey ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1427 | if ( culture.language == lang ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1428 | return culture; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1429 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1430 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1431 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1432 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1433 | else if ( typeof name === "object" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1434 | return name; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1435 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1436 | return match || null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1437 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1438 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1439 | Globalize.format = function( value, format, cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1440 | var culture = this.findClosestCulture( cultureSelector ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1441 | if ( value instanceof Date ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1442 | value = formatDate( value, format, culture ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1443 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1444 | else if ( typeof value === "number" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1445 | value = formatNumber( value, format, culture ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1446 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1447 | return value; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1448 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1449 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1450 | Globalize.localize = function( key, cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1451 | return this.findClosestCulture( cultureSelector ).messages[ key ] || |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1452 | this.cultures[ "default" ].messages[ key ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1453 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1454 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1455 | Globalize.parseDate = function( value, formats, culture ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1456 | culture = this.findClosestCulture( culture ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1457 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1458 | var date, prop, patterns; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1459 | if ( formats ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1460 | if ( typeof formats === "string" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1461 | formats = [ formats ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1462 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1463 | if ( formats.length ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1464 | for ( var i = 0, l = formats.length; i < l; i++ ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1465 | var format = formats[ i ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1466 | if ( format ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1467 | date = parseExact( value, format, culture ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1468 | if ( date ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1469 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1470 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1471 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1472 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1473 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1474 | } else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1475 | patterns = culture.calendar.patterns; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1476 | for ( prop in patterns ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1477 | date = parseExact( value, patterns[prop], culture ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1478 | if ( date ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1479 | break; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1480 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1481 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1482 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1483 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1484 | return date || null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1485 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1486 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1487 | Globalize.parseInt = function( value, radix, cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1488 | return truncate( Globalize.parseFloat(value, radix, cultureSelector) ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1489 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1490 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1491 | Globalize.parseFloat = function( value, radix, cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1492 | // radix argument is optional |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1493 | if ( typeof radix !== "number" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1494 | cultureSelector = radix; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1495 | radix = 10; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1496 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1497 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1498 | var culture = this.findClosestCulture( cultureSelector ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1499 | var ret = NaN, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1500 | nf = culture.numberFormat; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1501 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1502 | if ( value.indexOf(culture.numberFormat.currency.symbol) > -1 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1503 | // remove currency symbol |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1504 | value = value.replace( culture.numberFormat.currency.symbol, "" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1505 | // replace decimal seperator |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1506 | value = value.replace( culture.numberFormat.currency["."], culture.numberFormat["."] ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1507 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1508 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1509 | //Remove percentage character from number string before parsing |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1510 | if ( value.indexOf(culture.numberFormat.percent.symbol) > -1){ |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1511 | value = value.replace( culture.numberFormat.percent.symbol, "" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1512 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1513 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1514 | // remove spaces: leading, trailing and between - and number. Used for negative currency pt-BR |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1515 | value = value.replace( / /g, "" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1516 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1517 | // allow infinity or hexidecimal |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1518 | if ( regexInfinity.test(value) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1519 | ret = parseFloat( value ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1520 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1521 | else if ( !radix && regexHex.test(value) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1522 | ret = parseInt( value, 16 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1523 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1524 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1525 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1526 | // determine sign and number |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1527 | var signInfo = parseNegativePattern( value, nf, nf.pattern[0] ), |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1528 | sign = signInfo[ 0 ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1529 | num = signInfo[ 1 ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1530 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1531 | // #44 - try parsing as "(n)" |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1532 | if ( sign === "" && nf.pattern[0] !== "(n)" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1533 | signInfo = parseNegativePattern( value, nf, "(n)" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1534 | sign = signInfo[ 0 ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1535 | num = signInfo[ 1 ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1536 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1537 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1538 | // try parsing as "-n" |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1539 | if ( sign === "" && nf.pattern[0] !== "-n" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1540 | signInfo = parseNegativePattern( value, nf, "-n" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1541 | sign = signInfo[ 0 ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1542 | num = signInfo[ 1 ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1543 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1544 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1545 | sign = sign || "+"; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1546 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1547 | // determine exponent and number |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1548 | var exponent, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1549 | intAndFraction, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1550 | exponentPos = num.indexOf( "e" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1551 | if ( exponentPos < 0 ) exponentPos = num.indexOf( "E" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1552 | if ( exponentPos < 0 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1553 | intAndFraction = num; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1554 | exponent = null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1555 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1556 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1557 | intAndFraction = num.substr( 0, exponentPos ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1558 | exponent = num.substr( exponentPos + 1 ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1559 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1560 | // determine decimal position |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1561 | var integer, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1562 | fraction, |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1563 | decSep = nf[ "." ], |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1564 | decimalPos = intAndFraction.indexOf( decSep ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1565 | if ( decimalPos < 0 ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1566 | integer = intAndFraction; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1567 | fraction = null; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1568 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1569 | else { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1570 | integer = intAndFraction.substr( 0, decimalPos ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1571 | fraction = intAndFraction.substr( decimalPos + decSep.length ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1572 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1573 | // handle groups (e.g. 1,000,000) |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1574 | var groupSep = nf[ "," ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1575 | integer = integer.split( groupSep ).join( "" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1576 | var altGroupSep = groupSep.replace( /\u00A0/g, " " ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1577 | if ( groupSep !== altGroupSep ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1578 | integer = integer.split( altGroupSep ).join( "" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1579 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1580 | // build a natively parsable number string |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1581 | var p = sign + integer; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1582 | if ( fraction !== null ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1583 | p += "." + fraction; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1584 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1585 | if ( exponent !== null ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1586 | // exponent itself may have a number patternd |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1587 | var expSignInfo = parseNegativePattern( exponent, nf, "-n" ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1588 | p += "e" + ( expSignInfo[0] || "+" ) + expSignInfo[ 1 ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1589 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1590 | if ( regexParseFloat.test(p) ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1591 | ret = parseFloat( p ); |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1592 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1593 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1594 | return ret; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1595 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1596 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1597 | Globalize.culture = function( cultureSelector ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1598 | // setter |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1599 | if ( typeof cultureSelector !== "undefined" ) { |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1600 | this.cultureSelector = cultureSelector; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1601 | } |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1602 | // getter |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1603 | return this.findClosestCulture( cultureSelector ) || this.cultures[ "default" ]; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1604 | }; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1605 | |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1606 | document.Globalize = Globalize; |
e9dafd7a59d5
Updated jqwidgets to version 7.2.0
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
1607 | }(this)); |