From 3ef1e03e4273544cce177ce7fa0e0ab75eded990 Mon Sep 17 00:00:00 2001 From: Alvin Li Date: Wed, 21 Aug 2013 07:55:06 +0800 Subject: med 'indicator/static/javascripts/load_card.js' to 'card_chart.js * set Highcharts global options in 'card_chart.js' * 'indicator/templates/indicator/SheetDefault.html': added js function 'chart_getdata_draw()' to draw chart for card * improved 'indicator.views.ajax_get_card_data_chart()' * implemented drawing chart for 'FLOAT_TYPE' and 'RANGE_TYPE' indicators * added datetime plugin 'momentjs': 'indicator/static/plugins/moment/', version 2.1.0 * 'indicator/templates/indicator/NewDeleteIndex.html': added link button to goto 'indicator_status' SheetDefault.html page * added option 'useHTML: true' for Highcharts; improved the display style of ylabels, if value >9999, then show in exponential notation * improved drawing of 'detail_chart', and the 'detail_card_info' * moved js global var to 'SheetDefault.html'; renamed var 'card_detail_id' to 'detail_card_id' * fixed js local variables problem; added 'var' keyword * added check of 'date' for 'indicator.models.IndicatorRecord' * ThickBox: removed param 'no1_title' from thickbox popup page's url placed the param 'card_id' before 'TB_iframe' * changed to use 'ANNOTATION_TYPES' for 'sciblog.models.BlogAnnotation' * improved 'indicator/templates/indicator/popup/IndexDesc.html' improved 'indicator.views.indicator_indexdesc()' * added 'sympy' to 'env/requirements.pip' TODO: * BlogAnnotation: 'get_absolute_url()' -> 'IndexDesc: go_library_btn' * detail_card_info: data table * Data input/edit form, and validate & submit * Highcharts xAxis labels problem ?? --- .../apps/indicator/fixtures/initial_data.json | 83 +- 97suifangqa/apps/indicator/models.py | 35 +- .../apps/indicator/static/css/index_desc.css | 16 +- .../apps/indicator/static/css/new_delete_index.css | 27 + .../apps/indicator/static/css/sheet_default.css | 14 +- 97suifangqa/apps/indicator/static/css/sidebar.css | 4 +- .../indicator/static/javascripts/card_chart.js | 272 + .../static/javascripts/edit_history_data.js | 5 + .../apps/indicator/static/javascripts/load_card.js | 333 - .../indicator/static/javascripts/sheetdefault.js | 6 +- .../static/plugins/datepicker/datepicker.js | 10514 +++++++++---------- .../indicator/static/plugins/moment/lang/ar-ma.js | 5 + .../indicator/static/plugins/moment/lang/ar.js | 5 + .../indicator/static/plugins/moment/lang/bg.js | 4 + .../indicator/static/plugins/moment/lang/br.js | 4 + .../indicator/static/plugins/moment/lang/ca.js | 4 + .../indicator/static/plugins/moment/lang/cs.js | 4 + .../indicator/static/plugins/moment/lang/cv.js | 4 + .../indicator/static/plugins/moment/lang/da.js | 4 + .../indicator/static/plugins/moment/lang/de.js | 5 + .../indicator/static/plugins/moment/lang/el.js | 4 + .../indicator/static/plugins/moment/lang/en-ca.js | 4 + .../indicator/static/plugins/moment/lang/en-gb.js | 4 + .../indicator/static/plugins/moment/lang/eo.js | 6 + .../indicator/static/plugins/moment/lang/es.js | 4 + .../indicator/static/plugins/moment/lang/et.js | 4 + .../indicator/static/plugins/moment/lang/eu.js | 4 + .../indicator/static/plugins/moment/lang/fa.js | 4 + .../indicator/static/plugins/moment/lang/fi.js | 4 + .../indicator/static/plugins/moment/lang/fr-ca.js | 4 + .../indicator/static/plugins/moment/lang/fr.js | 4 + .../indicator/static/plugins/moment/lang/gl.js | 4 + .../indicator/static/plugins/moment/lang/he.js | 5 + .../indicator/static/plugins/moment/lang/hi.js | 4 + .../indicator/static/plugins/moment/lang/hu.js | 4 + .../indicator/static/plugins/moment/lang/id.js | 5 + .../indicator/static/plugins/moment/lang/is.js | 4 + .../indicator/static/plugins/moment/lang/it.js | 5 + .../indicator/static/plugins/moment/lang/ja.js | 4 + .../indicator/static/plugins/moment/lang/ka.js | 4 + .../indicator/static/plugins/moment/lang/ko.js | 4 + .../indicator/static/plugins/moment/lang/lv.js | 4 + .../indicator/static/plugins/moment/lang/ms-my.js | 4 + .../indicator/static/plugins/moment/lang/nb.js | 4 + .../indicator/static/plugins/moment/lang/ne.js | 4 + .../indicator/static/plugins/moment/lang/nl.js | 4 + .../indicator/static/plugins/moment/lang/nn.js | 4 + .../indicator/static/plugins/moment/lang/pl.js | 4 + .../indicator/static/plugins/moment/lang/pt-br.js | 4 + .../indicator/static/plugins/moment/lang/pt.js | 4 + .../indicator/static/plugins/moment/lang/ro.js | 5 + .../indicator/static/plugins/moment/lang/ru.js | 5 + .../indicator/static/plugins/moment/lang/sk.js | 5 + .../indicator/static/plugins/moment/lang/sl.js | 4 + .../indicator/static/plugins/moment/lang/sq.js | 5 + .../indicator/static/plugins/moment/lang/sv.js | 4 + .../indicator/static/plugins/moment/lang/th.js | 4 + .../indicator/static/plugins/moment/lang/tr.js | 5 + .../indicator/static/plugins/moment/lang/tzm-la.js | 4 + .../indicator/static/plugins/moment/lang/tzm.js | 4 + .../indicator/static/plugins/moment/lang/uk.js | 5 + .../indicator/static/plugins/moment/lang/zh-cn.js | 4 + .../indicator/static/plugins/moment/lang/zh-tw.js | 4 + .../apps/indicator/static/plugins/moment/langs.js | 3693 +++++++ .../indicator/static/plugins/moment/langs.min.js | 3 + .../apps/indicator/static/plugins/moment/moment.js | 1662 +++ .../indicator/static/plugins/moment/moment.min.js | 6 + .../apps/indicator/static/plugins/moment/readme.md | 269 + .../indicator/static/plugins/thickbox/thickbox.css | 270 +- .../indicator/static/plugins/thickbox/thickbox.js | 575 +- .../templates/indicator/NewDeleteIndex.html | 12 +- .../templates/indicator/SheetDefault.html | 224 +- .../templates/indicator/popup/IndexDesc.html | 73 +- 97suifangqa/apps/indicator/views.py | 161 +- 97suifangqa/apps/sciblog/models.py | 41 +- 97suifangqa/env/requirements.pip | 1 + 97suifangqa/isuifangqa.db | Bin 397312 -> 397312 bytes .../staticfiles/javascripts/jargon-display.js | 9 +- 78 files changed, 12418 insertions(+), 6112 deletions(-) create mode 100644 97suifangqa/apps/indicator/static/javascripts/card_chart.js delete mode 100644 97suifangqa/apps/indicator/static/javascripts/load_card.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/ar-ma.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/ar.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/bg.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/br.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/ca.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/cs.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/cv.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/da.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/de.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/el.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/en-ca.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/en-gb.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/eo.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/es.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/et.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/eu.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/fa.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/fi.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/fr-ca.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/fr.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/gl.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/he.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/hi.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/hu.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/id.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/is.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/it.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/ja.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/ka.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/ko.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/lv.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/ms-my.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/nb.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/ne.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/nl.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/nn.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/pl.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/pt-br.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/pt.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/ro.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/ru.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/sk.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/sl.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/sq.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/sv.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/th.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/tr.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/tzm-la.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/tzm.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/uk.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/zh-cn.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/lang/zh-tw.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/langs.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/langs.min.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/moment.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/moment.min.js create mode 100644 97suifangqa/apps/indicator/static/plugins/moment/readme.md diff --git a/97suifangqa/apps/indicator/fixtures/initial_data.json b/97suifangqa/apps/indicator/fixtures/initial_data.json index 07aeaaa..1c18457 100644 --- a/97suifangqa/apps/indicator/fixtures/initial_data.json +++ b/97suifangqa/apps/indicator/fixtures/initial_data.json @@ -97,11 +97,11 @@ "model": "indicator.indicator", "fields": { "addByUser": 1, - "name": "\u5b9a1", + "name": "\u5b9a\u503c1", "dataType": "FL", - "pinyin": "ding-1", + "pinyin": "ding-zhi-1", "helpText": "\u6d6e\u70b9\u578b", - "englishName": "indicator1", + "englishName": "float1", "categories": [ 1 ], @@ -145,12 +145,14 @@ "pk": 1, "model": "indicator.userindicator", "fields": { + "followedHistories": [ + 4 + ], "followedIndicators": [ 3, 1, 2 ], - "followedHistories": [], "user": 1 } }, @@ -158,8 +160,8 @@ "pk": 2, "model": "indicator.userindicator", "fields": { - "followedIndicators": [], "followedHistories": [], + "followedIndicators": [], "user": 2 } }, @@ -184,10 +186,10 @@ "model": "indicator.indicatorrecord", "fields": { "indicator": 1, - "notes": "\r\n\u8bb0\u5f55", + "notes": "\u8bb0\u5f552", "created_at": "2013-08-09T10:53:15.927Z", - "updated_at": "2013-08-16T16:23:33.798Z", - "value": "50", + "updated_at": "2013-08-18T13:35:03.065Z", + "value": "100", "val_min": null, "user": 1, "date": "2013-08-09", @@ -195,6 +197,54 @@ "unit": 1 } }, + { + "pk": 4, + "model": "indicator.indicatorrecord", + "fields": { + "indicator": 1, + "notes": "", + "created_at": "2013-08-18T13:33:20.569Z", + "updated_at": "2013-08-18T13:33:20.569Z", + "value": "150", + "val_min": null, + "user": 1, + "date": "2013-08-15", + "val_max": null, + "unit": 1 + } + }, + { + "pk": 6, + "model": "indicator.indicatorrecord", + "fields": { + "indicator": 2, + "notes": "", + "created_at": "2013-08-18T13:46:26.511Z", + "updated_at": "2013-08-18T13:46:26.511Z", + "value": "", + "val_min": 10000.0, + "user": 1, + "date": "2013-08-05", + "val_max": 23000.0, + "unit": 3 + } + }, + { + "pk": 5, + "model": "indicator.indicatorrecord", + "fields": { + "indicator": 2, + "notes": "", + "created_at": "2013-08-18T13:37:41.124Z", + "updated_at": "2013-08-18T13:37:41.125Z", + "value": "", + "val_min": 15000.0, + "user": 1, + "date": "2013-08-10", + "val_max": 25000.0, + "unit": 3 + } + }, { "pk": 3, "model": "indicator.indicatorrecord", @@ -338,6 +388,21 @@ "math_min": null } }, + { + "pk": 4, + "model": "indicator.innateconfine", + "fields": { + "math_max": 15000.0, + "indicator": 4, + "human_max": 10000.0, + "description": "float type", + "val_norm": "", + "addByUser": 1, + "human_min": 500.0, + "unit": 4, + "math_min": 0.0 + } + }, { "pk": 1, "model": "indicator.relatedindicator", @@ -403,4 +468,4 @@ "objectType": "BL" } } -] +] \ No newline at end of file diff --git a/97suifangqa/apps/indicator/models.py b/97suifangqa/apps/indicator/models.py index 18c699c..1b35791 100644 --- a/97suifangqa/apps/indicator/models.py +++ b/97suifangqa/apps/indicator/models.py @@ -282,15 +282,15 @@ class IndicatorRecord(models.Model): # {{{ related_name="indicator_records", null=True, blank=True) value = models.CharField(u"指标数据值", max_length=30, blank=True) - val_max = models.FloatField(u"数据范围上限", - null=True, blank=True) val_min = models.FloatField(u"数据范围下限", null=True, blank=True) + val_max = models.FloatField(u"数据范围上限", + null=True, blank=True) notes = models.TextField(u"记录说明", blank=True) class Meta: verbose_name_plural = u"指标数据记录" - ordering = ['id', 'date', 'created_at'] + ordering = ['indicator__id', 'date', 'created_at'] def __unicode__(self): return u"< IndicatorRecord: #%s; %s, %s, %s >" % (self.id, @@ -308,6 +308,13 @@ class IndicatorRecord(models.Model): # {{{ def is_valid(self, **kwargs): # {{{ """验证输入数据是否合法""" + # check if exists record for the date + qs = IndicatorRecord.objects.filter(indicator=self.indicator, + date=self.date) + if qs: + raise ValueError(u'date="%s" 该日期已经存在记录' % self.date) + return False + # check dataType if self.indicator.dataType == self.indicator.INTEGER_TYPE: # 整数型 try: @@ -677,8 +684,8 @@ class IndicatorRecord(models.Model): # {{{ 'date': self.date.isoformat(), 'unit_id': unit_id, 'value': self.value, - 'val_max': self.val_max, 'val_min': self.val_min, + 'val_max': self.val_max, 'notes': self.notes, 'record_histories_id': [rh.id for rh in self.record_histories.all()], @@ -706,10 +713,10 @@ class RecordHistory(models.Model): # {{{ null=True, blank=True, editable=False) value_bak = models.CharField(u"原指标数据值", max_length=30, blank=True, editable=False) - val_max_bak = models.FloatField(u"原数据范围上限", - null=True, blank=True, editable=False) val_min_bak = models.FloatField(u"原数据范围下限", null=True, blank=True, editable=False) + val_max_bak = models.FloatField(u"原数据范围上限", + null=True, blank=True, editable=False) notes_bak = models.TextField(u"原记录说明", blank=True, editable=False) @@ -727,8 +734,8 @@ class RecordHistory(models.Model): # {{{ self.date_bak = sr.date self.unit_bak = sr.unit self.value_bak = sr.value - self.val_max_bak = sr.val_max self.val_min_bak = sr.val_min + self.val_max_bak = sr.val_max self.notes_bak = sr.notes # save super(RecordHistory, self).save(**kwargs) @@ -748,8 +755,8 @@ class RecordHistory(models.Model): # {{{ 'date_bak': self.date_bak.isoformat(), 'unit_bak_id': unit_bak_id, 'value_bak': self.value_bak, - 'val_max_bak': self.val_max_bak, 'val_min_bak': self.val_min_bak, + 'val_max_bak': self.val_max_bak, 'notes_bak': self.notes_bak, } return dump_data @@ -856,15 +863,15 @@ class InnateConfine(models.Model): # {{{ val_norm = models.CharField(u"正常值", max_length=30, blank=True, help_text=u'填写"整数型","阴阳(+/-)型数据"') # normal range - human_max = models.FloatField(u"人体正常值上限", - null=True, blank=True) human_min = models.FloatField(u"人体正常值下限", null=True, blank=True) - # possbile range - math_max = models.FloatField(u"数学可能值上限", + human_max = models.FloatField(u"人体正常值上限", null=True, blank=True) + # possbile range math_min = models.FloatField(u"数学可能值下限", null=True, blank=True) + math_max = models.FloatField(u"数学可能值上限", + null=True, blank=True) # description or notes description = models.TextField(u"描述", blank=True) # 记录添加的用户,用户只能修改自己添加的对象 @@ -957,10 +964,10 @@ class InnateConfine(models.Model): # {{{ 'indicator_id': self.indicator.id, 'unit': unit_dump, 'val_norm': self.val_norm, - 'human_max': self.human_max, 'human_min': self.human_min, - 'math_max': self.math_max, + 'human_max': self.human_max, 'math_min': self.math_min, + 'math_max': self.math_max, 'addByUser_id': self.addByUser.id, } return dump_data diff --git a/97suifangqa/apps/indicator/static/css/index_desc.css b/97suifangqa/apps/indicator/static/css/index_desc.css index ab042d4..c5adbc8 100644 --- a/97suifangqa/apps/indicator/static/css/index_desc.css +++ b/97suifangqa/apps/indicator/static/css/index_desc.css @@ -31,15 +31,27 @@ line-height: 20px; color: #4A4A4A; font-size: 14px; - letter-spacing: 1px; overflow: auto; } +.index_desc_content .not_found { + color: #4A4A4A; + line-height: 22px; + font-size: 16px; + text-align: left; +} .collection { background-color: #F7F7F7; height: 38px; line-height: 38px; + font-size: 16px; text-align: center; cursor: pointer; + border: 1px solid #CCCCCC; + border-radius: 3px; + border-shadow: 0 0 2px white; +} +.collection:hover { + background-color: #EAEAEA; } .go_library { padding-top: 8px; @@ -53,4 +65,4 @@ padding-right: 5px; padding-bottom: 2px; padding-top: 2px; -} \ No newline at end of file +} diff --git a/97suifangqa/apps/indicator/static/css/new_delete_index.css b/97suifangqa/apps/indicator/static/css/new_delete_index.css index b5b161a..f26430d 100644 --- a/97suifangqa/apps/indicator/static/css/new_delete_index.css +++ b/97suifangqa/apps/indicator/static/css/new_delete_index.css @@ -202,3 +202,30 @@ border-bottom: 1px solid #BFBFBF; height: 24px; } + +.link_container { + width: 596px; + height: 39px; + margin: 10px 0; /* top/bottom: 10px; left/right: 0 */ +} + +.link_container .status_link { + width: 594px; + height: 37px; + line-height: 37px; + border: 1px solid #B5B5B5; + border-radius: 2px; + /* background-color: #F7F7F7; */ + background-color: #F3F3F1; + text-align: center; +} + +.link_container .status_link a { + color: #4A4A4A; + text-decoration: none; + font-weight: bold; + font-size: 19px; + letter-spacing: 1px; + cursor: pointer; +} + diff --git a/97suifangqa/apps/indicator/static/css/sheet_default.css b/97suifangqa/apps/indicator/static/css/sheet_default.css index 15d1a98..8f9e001 100644 --- a/97suifangqa/apps/indicator/static/css/sheet_default.css +++ b/97suifangqa/apps/indicator/static/css/sheet_default.css @@ -40,13 +40,18 @@ display: none; } .detail_card_info .card_title { + height: 32px; + padding-top: 10px; + padding-bottom: 10px; + border-bottom: 1px solid #CACACA; +} +.detail_card_info .card_title .title { height: 32px; line-height: 32px; color: #4b4a48; font-weight: bold; font-size: 18px; - padding-bottom: 10px; - border-bottom: 1px solid #CACACA; + float: left; } .detail_card_info .card_title .collapse_btn { width: 80px; @@ -69,7 +74,7 @@ line-height: 23px; float: left; } -.detail_card_info .search_data_div .recent_two_week { +.detail_card_info .search_data_div .shift_date { margin-left: 4px; } .detail_card_info .search_data_div .unselected { @@ -101,6 +106,9 @@ top: 2px; right: 8px; } +.detail_card_info .chart { + height: 400px; +} .detail_card_info .table_div table { margin-bottom: 0; } diff --git a/97suifangqa/apps/indicator/static/css/sidebar.css b/97suifangqa/apps/indicator/static/css/sidebar.css index 39a6ce0..185145a 100644 --- a/97suifangqa/apps/indicator/static/css/sidebar.css +++ b/97suifangqa/apps/indicator/static/css/sidebar.css @@ -179,7 +179,7 @@ #compare_container .compare_btn { border: 1px solid #7da625; width: 380px; - height: 37px; + height: 38px; border-radius: 3px; margin-top: 8px; } @@ -203,4 +203,4 @@ #compare_container .logo_container { margin-top: 30px; text-align: center; -} \ No newline at end of file +} diff --git a/97suifangqa/apps/indicator/static/javascripts/card_chart.js b/97suifangqa/apps/indicator/static/javascripts/card_chart.js new file mode 100644 index 0000000..42a5220 --- /dev/null +++ b/97suifangqa/apps/indicator/static/javascripts/card_chart.js @@ -0,0 +1,272 @@ +// set global options for hightcharts {{{ +$(function() { + Highcharts.setOptions ({ + //chart: { + // type: 'areaspline' + // //marginLeft: 25, + // //height: 223, + // //spacingTop: 10, + // //spacingBottom: 4 + // //overflow: false, + // //zIndex: 5 + //}, + colors: ['#31B6AD'], + credits: { + enabled: false + }, + legend: { + enabled: false + }, + plotOptions: { + series: { + fillOpacity: 0.12, + lineWidth: 1, + marker: { + enabled: true, //false false的时候就不会突出显示点 + lineColor: '#31B6AD', + lineWidth: 1, + radius: 3, // 点的大小 + fillColor: '#FFFFFF' // 设置点中间填充的颜色 + }, + shadow: false + //threshold: null + } + }, + title: { + text: null + }, + tooltip: { + useHTML: true, + style: { + padding: '7px' + }, + borderColor: '#EAEAEA' + }, + xAxis: { + type: 'datetime', + dateTimeLabelFormats: { + day: '%m-%e', + month: '%Y-%m' + }, + lineColor: '#CECECE', + gridLineColor: '#EFECEF', + gridLineWidth: 1, + tickWidth: 0, + labels: { + step: 2, + maxStaggerLines: 1 + }, + startOnTick: false, + endOnTick: false, + //tickInterval: (7 * 24 * 3600 * 1000), // 7 days + tickInterval: null, + tickPixelInterval: 50, + tickColor: '#FFFFFF' + }, + yAxis: { + title: { + text: null + }, + min: null, + max: null, + //allowDecimals: false, + startOnTick: false, + endOnTick: false, + tickInterval: null, + tickPixelInterval: 40, + lineColor: '#CECECE', + lineWidth: 2, + gridLineColor: '#EFECEF', + gridLineWidth: 1, + minPadding: 0.3, + maxPadding: 1.2 + } + }); +}); +// }}} + +$(document).ready(function(){ + //详细历史记录 + $(".detail_history").bind("click", function(){ + // update 'detail_card_id' + detail_card_id = $(this).closest(".index_card").attr("id").replace('index_card_', ''); + // check if this card has data + // if has no data, then exists div class="edit_icon_container" + if ($("#index_card_"+detail_card_id + " .edit_icon_container").length) { + $(".detail_card_info").hide(); + return false; + } + // get the index title and set for the 'detail card' + var index_title = $("#index_card_"+detail_card_id + " .card_title").html(); + $(".detail_card_info .card_title .title").html(index_title); + // set date for the 'shift_date' buttons + var date_fmt = 'YYYY-MM-DD'; + var today_mm = moment(); + var today_str = today_mm.format(date_fmt); + var three_month_ago_str = today_mm.clone().subtract('months', 3).format(date_fmt); + var six_month_ago_str = today_mm.clone().subtract('months', 6).format(date_fmt); + $(".recent_three_month").attr('end_date', today_str); + $(".recent_three_month").attr('begin_date', three_month_ago_str); + $(".recent_six_month").attr('end_date', today_str); + $(".recent_six_month").attr('begin_date', six_month_ago_str); + // draw chart + // pass default global var 'begin_date_str' and 'end_date_str' + // detail_chart global var: 'detail_chart' + // options for chart global var: 'options_chart_' + // update global var 'detail_chart_options' + detail_chart_options = 'options_chart_' + detail_card_id; + redraw_chart(detail_chart_str, detail_chart_options, + begin_date_str, end_date_str + ); + $(".act_card_container").addClass("move_div_2_left"); + return false; + }); + + //切换日期 + $(".shift_date").bind("click", function(){ + $(".shift_date").addClass("unselected"); + $(this).removeClass("unselected"); + var begin_str = $(this).attr("begin_date"); + var end_str = $(this).attr("end_date"); + redraw_chart(detail_chart_str, detail_chart_options, + begin_str, end_str + ); + return false; + }); + + //根据日期搜索 + $("#search_begin_date, #search_end_date").bind("change", function(){ + $(".shift_date").addClass("unselected"); + var begin_str = $("#search_begin_date").val(); + var end_str = $("#search_end_date").val(); + redraw_chart(detail_chart_str, detail_chart_options, + begin_str, end_str + ); + return false; + }); + + //浏览更多 + $(".see_more_btn").bind("click", function(){ + var btn = $(".see_more_btn"); + var end_str = end_date_str; + get_card_data_table(null, end_str, false); + return false; + }); + + //收起历史记录 + $(".collapse_btn").bind("click", function(){ + // //删除图表数据 + // var serieses = detail_chart.series; + // for (series_key in serieses){ + // serieses[series_key].remove(); + // } + //删除图表 + if (window[detail_chart_str] != null) { + window[detail_chart_str].destroy(); + window[detail_chart_str] = null; + } + //删除表格数据 + $("tr").not(".first_line").remove(); + //隐藏div + $(".detail_card_info").hide(); + //初始化详细卡片id + detail_card_id = "-1"; + //添加删除div位置初始化 + $(".act_card_container").removeClass("move_div_2_left"); + return false; + }); +}); + +// 重画历史记录图表 +// destroy the original chart and new. +// chart_str: (string), +// name of global var of chart to draw; +// and the div id to contain the chart. +// options_str: (string), +// name of global var of the chart options for drawing, +// used to draw the detail chart by updating its data. +// begin, end: (string), 'YYYY-MM-DD' +function redraw_chart(chart_str, options_str, begin, end){ + var time = moment().valueOf(); + $.ajax({ + type: 'get', + url: indicator_url + 'ajax/get_card_data_chart', + data: 'card_id='+detail_card_id + '&begin='+begin + '&end='+end + '&time='+time, + dataType: 'json', + success: function(dataJson) { + // 设置默认起始结束时间 + //console.log(begin); + //console.log(end); + var begin_date_js = $.datepicker.parseDate('yy-mm-dd', begin); + var end_date_js = $.datepicker.parseDate('yy-mm-dd', end); + $("#search_begin_date").datepicker("setDate", begin_date_js); + $("#search_end_date").datepicker("setDate", end_date_js); + + //显示 + $(".detail_card_info").show(); + + //删除chart已有数据 + //var serieses = detail_chart.series; + //for (series_key in serieses){ + // serieses[series_key].remove(); + //} + //更新chart数据 + //detail_chart.addSeries({ + // data: dataJson, + // pointStart: begin_date_log_UTC_time, + // pointInterval: pointInterval + //}); + + // destroy original chart and + // redraw with new options and data + var begin_dt = moment(begin); + var end_dt = moment(end); + window[options_str].chart.renderTo = chart_str; + window[options_str].xAxis.min = begin_dt.valueOf(); + window[options_str].xAxis.max = end_dt.valueOf(); + window[options_str].series[0].data = dataJson; + // clickable data point + window[options_str].plotOptions = { + series: { + cursor: 'pointer', + point: { + events: { + click: function(event) { + //console.log(event); + //console.log(this); + var date = moment(this.x).utc().format('YYYY-MM-DD'); + TB_show(false, indicator_url+'popup/edithistorydata?card_id='+detail_card_id+'&date='+date+'&TB_iframe=true&transfer_params&height=351&width=630', false); + } + } + } + } + } + if (window[chart_str] != null) { + window[chart_str].destroy(); + window[chart_str] = null; + } + window[chart_str] = new Highcharts.Chart(window[options_str]); + + //更新table数据 + //TODO + get_card_data_table(begin, end, true); + } + }); +} + +function get_card_data_table(begin, end, redraw){ + var time = moment().valueOf(); + $.ajax({ + type: 'get', + url: indicator_url + 'ajax/get_card_data_table', + data: 'card_id='+detail_card_id + '&begin='+begin + '&end='+end + '&time='+time, + success: function(data) { + if(redraw){ + $("tr").not(".first_line").remove(); + } + $("table").append(data); + } + }); +} + +// vim: set ts=8 sw=4 tw=0 fenc=utf-8 ft=javascript: // diff --git a/97suifangqa/apps/indicator/static/javascripts/edit_history_data.js b/97suifangqa/apps/indicator/static/javascripts/edit_history_data.js index 03c62e9..204f404 100644 --- a/97suifangqa/apps/indicator/static/javascripts/edit_history_data.js +++ b/97suifangqa/apps/indicator/static/javascripts/edit_history_data.js @@ -1,4 +1,9 @@ $(document).ready(function(){ + //点大叉,关闭弹层页面 + $(".edit_history_data_close").bind("click", function(){ + parent.TB_remove(); + return false; + }); $("#edit_btn").bind("click", function(){ var this_edit_data_div = $(this).parent(); var data_fir = $(this).siblings(".data_fir").text(); diff --git a/97suifangqa/apps/indicator/static/javascripts/load_card.js b/97suifangqa/apps/indicator/static/javascripts/load_card.js deleted file mode 100644 index 160273b..0000000 --- a/97suifangqa/apps/indicator/static/javascripts/load_card.js +++ /dev/null @@ -1,333 +0,0 @@ -var detail_chart; - -// set global options for hightcharts {{{ -$(function() { - Highcharts.setOptions ({ - chart: { - type: 'area', - marginLeft: 15, - height: 223, - spacingTop: 10, - spacingBottom: 0 - //overflow: false, - //zIndex: 5 - }, - colors: ['#31B6AD'], - credits: { - enabled: false - }, - legend: { - enabled: false - }, - plotOptions: { - series: { - fillOpacity: 0.12, - lineWidth: 1, - marker: { - enabled: true, //false false的时候就不会突出显示点 - lineColor: '#31B6AD', - lineWidth: 1, - radius: 3, // 点的大小 - fillColor: '#FFFFFF' // 设置点中间填充的颜色 - }, - shadow: false - //threshold: null - } - }, - //series: [{ - // data: [6.0, 5.9, 5.5, 4.5, 6.2, 6.5, 5.2, 6.0, - // 5.9, 5.5, 4.5, 6.2, 6.5, 5.2, 6.0, 5.9, - // 5.5, 4.5, 6.2, 6.5], - // pointStart: start_date_UTC_time, - // pointInterval: 1 * 24 * 3600 * 1000 // one day - //}], - title: { - text: null - }, - tooltip: { - //formatter: function() { - // return '' + Highcharts.dateFormat('%b %e', this.x) + '' +'
' + '' + this.y + 'mmol/L' + '' + '
' + 'click for more info'; - //}, - // positioner: function (boxWidth, boxHeight, point) { - // return { x: point.plotX+80, y: point.plotY-20 }; - // }, - style: { - padding: '7px' - }, - borderColor: '#EAEAEA' - }, - xAxis: { - type: 'datetime', - dateTimeLabelFormats: { - day: '%e/%m' - }, - lineColor: '#CECECE', - gridLineColor: '#EFECEF', - gridLineWidth: 1, - tickWidth: 0, - labels:{ - step: 2, - maxStaggerLines: 1 - }, - tickInterval: (4 * 24 * 3600 * 1000), // 4 days - tickColor: '#FFFFFF' - }, - yAxis: { - //title: { - // text: '' - //}, - allowDecimals: false, - endOnTick: false, - tickInterval: 1, - lineColor: '#CECECE', - lineWidth: 2, - gridLineColor: '#EFECEF', - gridLineWidth: 1, - minPadding: 0.3, - maxPadding: 1.2 - } - }); -}); -// }}} - -$(document).ready(function(){ - var startDate = '2013-07-13'; - startDate = new Date(startDate.replace(/-/g,"/")); - var start_date_UTC_time = startDate.getTime() - startDate.getTimezoneOffset() * 60 * 1000; - var chart3 = new Highcharts.Chart({ - chart: { - renderTo: 'chart_3' - }, - yAxis: { - title: { - text: '' - } - }, - tooltip: { - formatter: function() { - return '' + Highcharts.dateFormat('%b %e', this.x) + '' +'
' + '' + this.y + 'mmol/L' + '' + '
' + 'click for more info'; - } - // positioner: function (boxWidth, boxHeight, point) { - // return { x: point.plotX+80, y: point.plotY-20 }; - // }, - }, - series: [{ - data: [6.0, 5.9, 5.5, 4.5, 6.2, 6.5, 5.2, 6.0, 5.9, 5.5, 4.5, 6.2, 6.5, 5.2, 6.0, 5.9, 5.5, 4.5, 6.2, 6.5], - pointStart: start_date_UTC_time, - pointInterval:1 * 24 * 3600 * 1000 - }] - }); - - detail_chart = new Highcharts.Chart({ - chart: { - renderTo: 'detail_chart', - type: 'area', - marginLeft: 25, - width: 562, - height: 303, - spacingTop: 10, - spacingBottom: 0, - overflow: false, - zIndex: 5 - }, - credits: { - enabled: false - }, - title: { - text: ' ' - }, - colors: ['#31B6AD'], - xAxis: { - type: 'datetime', - dateTimeLabelFormats: { - day: '%e/%m' - }, - lineColor: '#CECECE', - gridLineColor: '#EFECEF', - gridLineWidth: 1, - tickWidth: 0, - labels:{ - step: 2 - }, - tickInterval: (2 * 24 * 3600 * 1000), - tickColor: '#FFFFFF' - }, - yAxis: { - title: { - text: '' - }, - allowDecimals: true, - endOnTick: false, - tickInterval: 0.5, - lineColor: '#CECECE', - lineWidth: 2, - gridLineColor: '#EFECEF', - gridLineWidth: 1, - minPadding: 0.3, - maxPadding: 1.2, - labels: { - formatter: function() { - var originYValue = this.value+''; - if (originYValue.length == 1){ - originYValue += '.0'; - } - return originYValue; - } - } - }, - legend: { - enabled: false - }, - tooltip: { - formatter: function() { - return '' + Highcharts.dateFormat('%b %e', this.x) + '' +'
' + '' + this.y + 'mmol/L' + '' + '
' + 'click for more info'; - }, - // positioner: function (boxWidth, boxHeight, point) { - // return { x: point.plotX+80, y: point.plotY-20 }; - // }, - style: { - padding: '7px' - }, - borderColor: '#EAEAEA' - }, - plotOptions: { - series: { - marker: { - enabled: true, //false false的时候就不会突出显示点 - lineColor: '#31B6AD', - lineWidth: 1, - radius: 3, // 点的大小 - fillColor: '#FFFFFF', // 设置点中间填充的颜色 - symbol: 'circle' - }, - fillOpacity: 0.12, - lineWidth: 1, - threshold: null, - shadow: false, - point: { - events: { - click: function() { - alert(this.x); - alert(this.y); - TB_show(false, indicator_url + 'popup/edithistorydata?TB_iframe=true&no1_title&transfer_params&height=351&width=630&card_id=3', false); - } - } - } - } - }, - series: [] - }); - - //详细历史记录 - $(".detail_history").bind("click", function(){ - card_detail_id = $(this).closest(".index_card").attr("id").replace('index_card_', ''); - var startDateLog = '2013-08-04'; - var endDateLog = '2013-08-10'; - var date = new Date(); - var time = date.getTime(); - redraw_chart(detail_chart, startDateLog, endDateLog); - $(".act_card_container").addClass("move_div_2_left"); - return false; - }); - - //切换日期 - $(".shift_week").bind("click", function(){ - $(".shift_week").addClass("unselected"); - $(this).removeClass("unselected"); - var startDateLog = $(this).attr("start_date"); - var endDateLog = $(this).attr("end_date"); - redraw_chart(detail_chart, startDateLog, endDateLog); - return false; - }); - - //根据日期搜索 - $("#search_start_date, #search_end_date").bind("change", function(){ - var startDateLog = $("#search_start_date").val(); - var endDateLog = $("#search_end_date").val(); - redraw_chart(detail_chart, startDateLog, endDateLog); - return false; - }); - - //浏览更多 - $(".see_more_btn").bind("click", function(){ - var btn = $(".see_more_btn"); - var end = "2013-08-10"; - get_card_data_table(null, end, false); - return false; - }); - - //收起历史记录 - $(".collapse_btn").bind("click", function(){ - //删除图表数据 - var serieses = detail_chart.series; - for (series_key in serieses){ - serieses[series_key].remove(); - } - //删除表格数据 - $("tr").not(".first_line").remove(); - //隐藏div - $(".detail_card_info").hide(); - //初始化详细卡片id - card_detail_id = 0; - //添加删除div位置初始化 - $(".act_card_container").removeClass("move_div_2_left"); - return false; - }); -}); - -//重画历史记录图表 -function redraw_chart(detail_chart, start, end){ - var date = new Date(); - var time = date.getTime(); - $.ajax({ - type: 'get', - url: indicator_url + 'ajax/get_card_data_chart', - data: 'card_detail_id='+card_detail_id+'&start='+start+'&end='+end+'&time='+time, - dataType: 'json', - success: function(dataJson) { - //每一天都要有数据,否则x轴刻度时间对不上 - var startDateLogFormat = new Date(start.replace(/-/g,"/")); - var start_date_log_UTC_time = startDateLogFormat.getTime() - startDateLogFormat.getTimezoneOffset() * 60 * 1000; - var pointStart = start_date_log_UTC_time; - var pointInterval = 1 * 24 * 3600 * 1000; - - //设置默认起始结束时间 - $("#search_start_date").datepicker( "setDate", start); - $("#search_end_date").datepicker( "setDate", end); - - //删除chart已有数据 - var serieses = detail_chart.series; - for (series_key in serieses){ - serieses[series_key].remove(); - } - //更新chart数据 - detail_chart.addSeries({ - data: dataJson, - pointStart: start_date_log_UTC_time, - pointInterval: pointInterval - }); - //更新table数据 - get_card_data_table(start, end, true); - //显示 - $(".detail_card_info").show(); - } - }); -} - -function get_card_data_table(start, end, redraw){ - var date = new Date(); - var time = date.getTime(); - $.ajax({ - type: 'get', - url: indicator_url + 'ajax/get_card_data_table', - data: 'card_detail_id='+card_detail_id+'&start='+start+'&end='+end+'&time='+time, - success: function(data){ - if(redraw){ - $("tr").not(".first_line").remove(); - } - $("table").append(data); - } - }); -} - -// vim: set ts=8 sw=4 tw=0 fenc=utf-8 ft=javascript: // diff --git a/97suifangqa/apps/indicator/static/javascripts/sheetdefault.js b/97suifangqa/apps/indicator/static/javascripts/sheetdefault.js index 55dfcd5..7b95631 100644 --- a/97suifangqa/apps/indicator/static/javascripts/sheetdefault.js +++ b/97suifangqa/apps/indicator/static/javascripts/sheetdefault.js @@ -1,5 +1,3 @@ -var card_2_delete_id; -var card_detail_id; $(document).ready(function(){ //不允许input框复制,减少验证粘帖的交互 $("input[type='text']").bind("paste", function(){ @@ -151,7 +149,7 @@ $(document).ready(function(){ }); //时间范围控制(开始时间<结束时间) - $("#search_start_date").datepicker({ + $("#search_begin_date").datepicker({ showOn: "both", buttonImage: static_url + "plugins/datepicker/images/calendar.png", buttonImageOnly: true, @@ -161,7 +159,7 @@ $(document).ready(function(){ }); $("#search_end_date").datepicker({ onClose: function( selectedDate ) { - $("#search_start_date").datepicker("option", "maxDate", selectedDate); + $("#search_begin_date").datepicker("option", "maxDate", selectedDate); } }); }); diff --git a/97suifangqa/apps/indicator/static/plugins/datepicker/datepicker.js b/97suifangqa/apps/indicator/static/plugins/datepicker/datepicker.js index 5c4ed85..964b5cc 100644 --- a/97suifangqa/apps/indicator/static/plugins/datepicker/datepicker.js +++ b/97suifangqa/apps/indicator/static/plugins/datepicker/datepicker.js @@ -1,5257 +1,5257 @@ -/*! - * jQuery UI 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI - */ -(function(a, b) { - function d(b) { - return ! a(b).parents().andSelf().filter(function() { - return a.curCSS(this, "visibility") === "hidden" || a.expr.filters.hidden(this) - }).length - } - function c(b, c) { - var e = b.nodeName.toLowerCase(); - if ("area" === e) { - var f = b.parentNode, - g = f.name, - h; - if (!b.href || !g || f.nodeName.toLowerCase() !== "map") return ! 1; - h = a("img[usemap=#" + g + "]")[0]; - return !! h && d(h) - } - return (/input|select|textarea|button|object/.test(e) ? !b.disabled: "a" == e ? b.href || c: c) && d(b) - } - a.ui = a.ui || {}; - a.ui.version || (a.extend(a.ui, { - version: "1.8.18", - keyCode: { - ALT: 18, - BACKSPACE: 8, - CAPS_LOCK: 20, - COMMA: 188, - COMMAND: 91, - COMMAND_LEFT: 91, - COMMAND_RIGHT: 93, - CONTROL: 17, - DELETE: 46, - DOWN: 40, - END: 35, - ENTER: 13, - ESCAPE: 27, - HOME: 36, - INSERT: 45, - LEFT: 37, - MENU: 93, - NUMPAD_ADD: 107, - NUMPAD_DECIMAL: 110, - NUMPAD_DIVIDE: 111, - NUMPAD_ENTER: 108, - NUMPAD_MULTIPLY: 106, - NUMPAD_SUBTRACT: 109, - PAGE_DOWN: 34, - PAGE_UP: 33, - PERIOD: 190, - RIGHT: 39, - SHIFT: 16, - SPACE: 32, - TAB: 9, - UP: 38, - WINDOWS: 91 - } - }), a.fn.extend({ - propAttr: a.fn.prop || a.fn.attr, - _focus: a.fn.focus, - focus: function(b, c) { - return typeof b == "number" ? this.each(function() { - var d = this; - setTimeout(function() { - a(d).focus(), - c && c.call(d) - }, - b) - }) : this._focus.apply(this, arguments) - }, - scrollParent: function() { - var b; - a.browser.msie && /(static|relative)/.test(this.css("position")) || /absolute/.test(this.css("position")) ? b = this.parents().filter(function() { - return /(relative|absolute|fixed)/.test(a.curCSS(this, "position", 1)) && /(auto|scroll)/.test(a.curCSS(this, "overflow", 1) + a.curCSS(this, "overflow-y", 1) + a.curCSS(this, "overflow-x", 1)) - }).eq(0) : b = this.parents().filter(function() { - return /(auto|scroll)/.test(a.curCSS(this, "overflow", 1) + a.curCSS(this, "overflow-y", 1) + a.curCSS(this, "overflow-x", 1)) - }).eq(0); - return /fixed/.test(this.css("position")) || !b.length ? a(document) : b - }, - zIndex: function(c) { - if (c !== b) return this.css("zIndex", c); - if (this.length) { - var d = a(this[0]), - e, - f; - while (d.length && d[0] !== document) { - e = d.css("position"); - if (e === "absolute" || e === "relative" || e === "fixed") { - f = parseInt(d.css("zIndex"), 10); - if (!isNaN(f) && f !== 0) return f - } - d = d.parent() - } - } - return 0 - }, - disableSelection: function() { - return this.bind((a.support.selectstart ? "selectstart": "mousedown") + ".ui-disableSelection", - function(a) { - a.preventDefault() - }) - }, - enableSelection: function() { - return this.unbind(".ui-disableSelection") - } - }), a.each(["Width", "Height"], - function(c, d) { - function h(b, c, d, f) { - a.each(e, - function() { - c -= parseFloat(a.curCSS(b, "padding" + this, !0)) || 0, - d && (c -= parseFloat(a.curCSS(b, "border" + this + "Width", !0)) || 0), - f && (c -= parseFloat(a.curCSS(b, "margin" + this, !0)) || 0) - }); - return c - } - var e = d === "Width" ? ["Left", "Right"] : ["Top", "Bottom"], - f = d.toLowerCase(), - g = { - innerWidth: a.fn.innerWidth, - innerHeight: a.fn.innerHeight, - outerWidth: a.fn.outerWidth, - outerHeight: a.fn.outerHeight - }; - a.fn["inner" + d] = function(c) { - if (c === b) return g["inner" + d].call(this); - return this.each(function() { - a(this).css(f, h(this, c) + "px") - }) - }, - a.fn["outer" + d] = function(b, c) { - if (typeof b != "number") return g["outer" + d].call(this, b); - return this.each(function() { - a(this).css(f, h(this, b, !0, c) + "px") - }) - } - }), a.extend(a.expr[":"], { - data: function(b, c, d) { - return !! a.data(b, d[3]) - }, - focusable: function(b) { - return c(b, !isNaN(a.attr(b, "tabindex"))) - }, - tabbable: function(b) { - var d = a.attr(b, "tabindex"), - e = isNaN(d); - return (e || d >= 0) && c(b, !e) - } - }), a(function() { - var b = document.body, - c = b.appendChild(c = document.createElement("div")); - c.offsetHeight, - a.extend(c.style, { - minHeight: "100px", - height: "auto", - padding: 0, - borderWidth: 0 - }), - a.support.minHeight = c.offsetHeight === 100, - a.support.selectstart = "onselectstart" in c, - b.removeChild(c).style.display = "none" - }), a.extend(a.ui, { - plugin: { - add: function(b, c, d) { - var e = a.ui[b].prototype; - for (var f in d) e.plugins[f] = e.plugins[f] || [], - e.plugins[f].push([c, d[f]]) - }, - call: function(a, b, c) { - var d = a.plugins[b]; - if ( !! d && !!a.element[0].parentNode) for (var e = 0; e < d.length; e++) a.options[d[e][0]] && d[e][1].apply(a.element, c) - } - }, - contains: function(a, b) { - return document.compareDocumentPosition ? a.compareDocumentPosition(b) & 16 : a !== b && a.contains(b) - }, - hasScroll: function(b, c) { - if (a(b).css("overflow") === "hidden") return ! 1; - var d = c && c === "left" ? "scrollLeft": "scrollTop", - e = !1; - if (b[d] > 0) return ! 0; - b[d] = 1, - e = b[d] > 0, - b[d] = 0; - return e - }, - isOverAxis: function(a, b, c) { - return a > b && a < b + c - }, - isOver: function(b, c, d, e, f, g) { - return a.ui.isOverAxis(b, d, f) && a.ui.isOverAxis(c, e, g) - } - })) -})(jQuery); -/*! - * jQuery UI Widget 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Widget - */ -(function(a, b) { - if (a.cleanData) { - var c = a.cleanData; - a.cleanData = function(b) { - for (var d = 0, - e; (e = b[d]) != null; d++) try { - a(e).triggerHandler("remove") - } catch(f) {} - c(b) - } - } else { - var d = a.fn.remove; - a.fn.remove = function(b, c) { - return this.each(function() { - c || (!b || a.filter(b, [this]).length) && a("*", this).add([this]).each(function() { - try { - a(this).triggerHandler("remove") - } catch(b) {} - }); - return d.call(a(this), b, c) - }) - } - } - a.widget = function(b, c, d) { - var e = b.split(".")[0], - f; - b = b.split(".")[1], - f = e + "-" + b, - d || (d = c, c = a.Widget), - a.expr[":"][f] = function(c) { - return !! a.data(c, b) - }, - a[e] = a[e] || {}, - a[e][b] = function(a, b) { - arguments.length && this._createWidget(a, b) - }; - var g = new c; - g.options = a.extend(!0, {}, - g.options), - a[e][b].prototype = a.extend(!0, g, { - namespace: e, - widgetName: b, - widgetEventPrefix: a[e][b].prototype.widgetEventPrefix || b, - widgetBaseClass: f - }, - d), - a.widget.bridge(b, a[e][b]) - }, - a.widget.bridge = function(c, d) { - a.fn[c] = function(e) { - var f = typeof e == "string", - g = Array.prototype.slice.call(arguments, 1), - h = this; - e = !f && g.length ? a.extend.apply(null, [!0, e].concat(g)) : e; - if (f && e.charAt(0) === "_") return h; - f ? this.each(function() { - var d = a.data(this, c), - f = d && a.isFunction(d[e]) ? d[e].apply(d, g) : d; - if (f !== d && f !== b) { - h = f; - return ! 1 - } - }) : this.each(function() { - var b = a.data(this, c); - b ? b.option(e || {})._init() : a.data(this, c, new d(e, this)) - }); - return h - } - }, - a.Widget = function(a, b) { - arguments.length && this._createWidget(a, b) - }, - a.Widget.prototype = { - widgetName: "widget", - widgetEventPrefix: "", - options: { - disabled: !1 - }, - _createWidget: function(b, c) { - a.data(c, this.widgetName, this), - this.element = a(c), - this.options = a.extend(!0, {}, - this.options, this._getCreateOptions(), b); - var d = this; - this.element.bind("remove." + this.widgetName, - function() { - d.destroy() - }), - this._create(), - this._trigger("create"), - this._init() - }, - _getCreateOptions: function() { - return a.metadata && a.metadata.get(this.element[0])[this.widgetName] - }, - _create: function() {}, - _init: function() {}, - destroy: function() { - this.element.unbind("." + this.widgetName).removeData(this.widgetName), - this.widget().unbind("." + this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass + "-disabled " + "ui-state-disabled") - }, - widget: function() { - return this.element - }, - option: function(c, d) { - var e = c; - if (arguments.length === 0) return a.extend({}, - this.options); - if (typeof c == "string") { - if (d === b) return this.options[c]; - e = {}, - e[c] = d - } - this._setOptions(e); - return this - }, - _setOptions: function(b) { - var c = this; - a.each(b, - function(a, b) { - c._setOption(a, b) - }); - return this - }, - _setOption: function(a, b) { - this.options[a] = b, - a === "disabled" && this.widget()[b ? "addClass": "removeClass"](this.widgetBaseClass + "-disabled" + " " + "ui-state-disabled").attr("aria-disabled", b); - return this - }, - enable: function() { - return this._setOption("disabled", !1) - }, - disable: function() { - return this._setOption("disabled", !0) - }, - _trigger: function(b, c, d) { - var e, f, g = this.options[b]; - d = d || {}, - c = a.Event(c), - c.type = (b === this.widgetEventPrefix ? b: this.widgetEventPrefix + b).toLowerCase(), - c.target = this.element[0], - f = c.originalEvent; - if (f) for (e in f) e in c || (c[e] = f[e]); - this.element.trigger(c, d); - return ! (a.isFunction(g) && g.call(this.element[0], c, d) === !1 || c.isDefaultPrevented()) - } - } -})(jQuery); -/*! - * jQuery UI Mouse 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Mouse - * - * Depends: - * jquery.ui.widget.js - */ -(function(a, b) { - var c = !1; - a(document).mouseup(function(a) { - c = !1 - }), - a.widget("ui.mouse", { - options: { - cancel: ":input,option", - distance: 1, - delay: 0 - }, - _mouseInit: function() { - var b = this; - this.element.bind("mousedown." + this.widgetName, - function(a) { - return b._mouseDown(a) - }).bind("click." + this.widgetName, - function(c) { - if (!0 === a.data(c.target, b.widgetName + ".preventClickEvent")) { - a.removeData(c.target, b.widgetName + ".preventClickEvent"), - c.stopImmediatePropagation(); - return ! 1 - } - }), - this.started = !1 - }, - _mouseDestroy: function() { - this.element.unbind("." + this.widgetName) - }, - _mouseDown: function(b) { - if (!c) { - this._mouseStarted && this._mouseUp(b), - this._mouseDownEvent = b; - var d = this, - e = b.which == 1, - f = typeof this.options.cancel == "string" && b.target.nodeName ? a(b.target).closest(this.options.cancel).length: !1; - if (!e || f || !this._mouseCapture(b)) return ! 0; - this.mouseDelayMet = !this.options.delay, - this.mouseDelayMet || (this._mouseDelayTimer = setTimeout(function() { - d.mouseDelayMet = !0 - }, - this.options.delay)); - if (this._mouseDistanceMet(b) && this._mouseDelayMet(b)) { - this._mouseStarted = this._mouseStart(b) !== !1; - if (!this._mouseStarted) { - b.preventDefault(); - return ! 0 - } - } ! 0 === a.data(b.target, this.widgetName + ".preventClickEvent") && a.removeData(b.target, this.widgetName + ".preventClickEvent"), - this._mouseMoveDelegate = function(a) { - return d._mouseMove(a) - }, - this._mouseUpDelegate = function(a) { - return d._mouseUp(a) - }, - a(document).bind("mousemove." + this.widgetName, this._mouseMoveDelegate).bind("mouseup." + this.widgetName, this._mouseUpDelegate), - b.preventDefault(), - c = !0; - return ! 0 - } - }, - _mouseMove: function(b) { - if (a.browser.msie && !(document.documentMode >= 9) && !b.button) return this._mouseUp(b); - if (this._mouseStarted) { - this._mouseDrag(b); - return b.preventDefault() - } - this._mouseDistanceMet(b) && this._mouseDelayMet(b) && (this._mouseStarted = this._mouseStart(this._mouseDownEvent, b) !== !1, this._mouseStarted ? this._mouseDrag(b) : this._mouseUp(b)); - return ! this._mouseStarted - }, - _mouseUp: function(b) { - a(document).unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate), - this._mouseStarted && (this._mouseStarted = !1, b.target == this._mouseDownEvent.target && a.data(b.target, this.widgetName + ".preventClickEvent", !0), this._mouseStop(b)); - return ! 1 - }, - _mouseDistanceMet: function(a) { - return Math.max(Math.abs(this._mouseDownEvent.pageX - a.pageX), Math.abs(this._mouseDownEvent.pageY - a.pageY)) >= this.options.distance - }, - _mouseDelayMet: function(a) { - return this.mouseDelayMet - }, - _mouseStart: function(a) {}, - _mouseDrag: function(a) {}, - _mouseStop: function(a) {}, - _mouseCapture: function(a) { - return ! 0 - } - }) -})(jQuery); -/* - * jQuery UI Position 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Position - */ -(function(a, b) { - a.ui = a.ui || {}; - var c = /left|center|right/, - d = /top|center|bottom/, - e = "center", - f = {}, - g = a.fn.position, - h = a.fn.offset; - a.fn.position = function(b) { - if (!b || !b.of) return g.apply(this, arguments); - b = a.extend({}, - b); - var h = a(b.of), - i = h[0], - j = (b.collision || "flip").split(" "), - k = b.offset ? b.offset.split(" ") : [0, 0], - l, - m, - n; - i.nodeType === 9 ? (l = h.width(), m = h.height(), n = { - top: 0, - left: 0 - }) : i.setTimeout ? (l = h.width(), m = h.height(), n = { - top: h.scrollTop(), - left: h.scrollLeft() - }) : i.preventDefault ? (b.at = "left top", l = m = 0, n = { - top: b.of.pageY, - left: b.of.pageX - }) : (l = h.outerWidth(), m = h.outerHeight(), n = h.offset()), - a.each(["my", "at"], - function() { - var a = (b[this] || "").split(" "); - a.length === 1 && (a = c.test(a[0]) ? a.concat([e]) : d.test(a[0]) ? [e].concat(a) : [e, e]), - a[0] = c.test(a[0]) ? a[0] : e, - a[1] = d.test(a[1]) ? a[1] : e, - b[this] = a - }), - j.length === 1 && (j[1] = j[0]), - k[0] = parseInt(k[0], 10) || 0, - k.length === 1 && (k[1] = k[0]), - k[1] = parseInt(k[1], 10) || 0, - b.at[0] === "right" ? n.left += l: b.at[0] === e && (n.left += l / 2), - b.at[1] === "bottom" ? n.top += m: b.at[1] === e && (n.top += m / 2), - n.left += k[0], - n.top += k[1]; - return this.each(function() { - var c = a(this), - d = c.outerWidth(), - g = c.outerHeight(), - h = parseInt(a.curCSS(this, "marginLeft", !0)) || 0, - i = parseInt(a.curCSS(this, "marginTop", !0)) || 0, - o = d + h + (parseInt(a.curCSS(this, "marginRight", !0)) || 0), - p = g + i + (parseInt(a.curCSS(this, "marginBottom", !0)) || 0), - q = a.extend({}, - n), - r; - b.my[0] === "right" ? q.left -= d: b.my[0] === e && (q.left -= d / 2), - b.my[1] === "bottom" ? q.top -= g: b.my[1] === e && (q.top -= g / 2), - f.fractions || (q.left = Math.round(q.left), q.top = Math.round(q.top)), - r = { - left: q.left - h, - top: q.top - i - }, - a.each(["left", "top"], - function(c, e) { - a.ui.position[j[c]] && a.ui.position[j[c]][e](q, { - targetWidth: l, - targetHeight: m, - elemWidth: d, - elemHeight: g, - collisionPosition: r, - collisionWidth: o, - collisionHeight: p, - offset: k, - my: b.my, - at: b.at - }) - }), - a.fn.bgiframe && c.bgiframe(), - c.offset(a.extend(q, { - using: b.using - })) - }) - }, - a.ui.position = { - fit: { - left: function(b, c) { - var d = a(window), - e = c.collisionPosition.left + c.collisionWidth - d.width() - d.scrollLeft(); - b.left = e > 0 ? b.left - e: Math.max(b.left - c.collisionPosition.left, b.left) - }, - top: function(b, c) { - var d = a(window), - e = c.collisionPosition.top + c.collisionHeight - d.height() - d.scrollTop(); - b.top = e > 0 ? b.top - e: Math.max(b.top - c.collisionPosition.top, b.top) - } - }, - flip: { - left: function(b, c) { - if (c.at[0] !== e) { - var d = a(window), - f = c.collisionPosition.left + c.collisionWidth - d.width() - d.scrollLeft(), - g = c.my[0] === "left" ? -c.elemWidth: c.my[0] === "right" ? c.elemWidth: 0, - h = c.at[0] === "left" ? c.targetWidth: -c.targetWidth, - i = -2 * c.offset[0]; - b.left += c.collisionPosition.left < 0 ? g + h + i: f > 0 ? g + h + i: 0 - } - }, - top: function(b, c) { - if (c.at[1] !== e) { - var d = a(window), - f = c.collisionPosition.top + c.collisionHeight - d.height() - d.scrollTop(), - g = c.my[1] === "top" ? -c.elemHeight: c.my[1] === "bottom" ? c.elemHeight: 0, - h = c.at[1] === "top" ? c.targetHeight: -c.targetHeight, - i = -2 * c.offset[1]; - b.top += c.collisionPosition.top < 0 ? g + h + i: f > 0 ? g + h + i: 0 - } - } - } - }, - a.offset.setOffset || (a.offset.setOffset = function(b, c) { / static / .test(a.curCSS(b, "position")) && (b.style.position = "relative"); - var d = a(b), - e = d.offset(), - f = parseInt(a.curCSS(b, "top", !0), 10) || 0, - g = parseInt(a.curCSS(b, "left", !0), 10) || 0, - h = { - top: c.top - e.top + f, - left: c.left - e.left + g - }; - "using" in c ? c.using.call(b, h) : d.css(h) - }, - a.fn.offset = function(b) { - var c = this[0]; - if (!c || !c.ownerDocument) return null; - if (b) return this.each(function() { - a.offset.setOffset(this, b) - }); - return h.call(this) - }), - function() { - var b = document.getElementsByTagName("body")[0], - c = document.createElement("div"), - d, - e, - g, - h, - i; - d = document.createElement(b ? "div": "body"), - g = { - visibility: "hidden", - width: 0, - height: 0, - border: 0, - margin: 0, - background: "none" - }, - b && a.extend(g, { - position: "absolute", - left: "-1000px", - top: "-1000px" - }); - for (var j in g) d.style[j] = g[j]; - d.appendChild(c), - e = b || document.documentElement, - e.insertBefore(d, e.firstChild), - c.style.cssText = "position: absolute; left: 10.7432222px; top: 10.432325px; height: 30px; width: 201px;", - h = a(c).offset(function(a, b) { - return b - }).offset(), - d.innerHTML = "", - e.removeChild(d), - i = h.top + h.left + (b ? 2e3: 0), - f.fractions = i > 21 && i < 22 - } () -})(jQuery); -/* - * jQuery UI Draggable 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Draggables - * - * Depends: - * jquery.ui.core.js - * jquery.ui.mouse.js - * jquery.ui.widget.js - */ -(function(a, b) { - a.widget("ui.draggable", a.ui.mouse, { - widgetEventPrefix: "drag", - options: { - addClasses: !0, - appendTo: "parent", - axis: !1, - - connectToSortable: !1, - containment: !1, - cursor: "auto", - cursorAt: !1, - grid: !1, - handle: !1, - helper: "original", - iframeFix: !1, - opacity: !1, - refreshPositions: !1, - revert: !1, - revertDuration: 500, - scope: "default", - scroll: !0, - scrollSensitivity: 20, - scrollSpeed: 20, - snap: !1, - snapMode: "both", - snapTolerance: 20, - stack: !1, - zIndex: !1 - }, - _create: function() { - this.options.helper == "original" && !/^(?:r|a|f)/.test(this.element.css("position")) && (this.element[0].style.position = "relative"), - this.options.addClasses && this.element.addClass("ui-draggable"), - this.options.disabled && this.element.addClass("ui-draggable-disabled"), - this._mouseInit() - }, - destroy: function() { - if ( !! this.element.data("draggable")) { - this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"), - this._mouseDestroy(); - return this - } - }, - _mouseCapture: function(b) { - var c = this.options; - if (this.helper || c.disabled || a(b.target).is(".ui-resizable-handle")) return ! 1; - this.handle = this._getHandle(b); - if (!this.handle) return ! 1; - c.iframeFix && a(c.iframeFix === !0 ? "iframe": c.iframeFix).each(function() { - a('
').css({ - width: this.offsetWidth + "px", - height: this.offsetHeight + "px", - position: "absolute", - opacity: "0.001", - zIndex: 1e3 - }).css(a(this).offset()).appendTo("body") - }); - return ! 0 - }, - _mouseStart: function(b) { - var c = this.options; - this.helper = this._createHelper(b), - this._cacheHelperProportions(), - a.ui.ddmanager && (a.ui.ddmanager.current = this), - this._cacheMargins(), - this.cssPosition = this.helper.css("position"), - this.scrollParent = this.helper.scrollParent(), - this.offset = this.positionAbs = this.element.offset(), - this.offset = { - top: this.offset.top - this.margins.top, - left: this.offset.left - this.margins.left - }, - a.extend(this.offset, { - click: { - left: b.pageX - this.offset.left, - top: b.pageY - this.offset.top - }, - parent: this._getParentOffset(), - relative: this._getRelativeOffset() - }), - this.originalPosition = this.position = this._generatePosition(b), - this.originalPageX = b.pageX, - this.originalPageY = b.pageY, - c.cursorAt && this._adjustOffsetFromHelper(c.cursorAt), - c.containment && this._setContainment(); - if (this._trigger("start", b) === !1) { - this._clear(); - return ! 1 - } - this._cacheHelperProportions(), - a.ui.ddmanager && !c.dropBehaviour && a.ui.ddmanager.prepareOffsets(this, b), - this.helper.addClass("ui-draggable-dragging"), - this._mouseDrag(b, !0), - a.ui.ddmanager && a.ui.ddmanager.dragStart(this, b); - return ! 0 - }, - _mouseDrag: function(b, c) { - this.position = this._generatePosition(b), - this.positionAbs = this._convertPositionTo("absolute"); - if (!c) { - var d = this._uiHash(); - if (this._trigger("drag", b, d) === !1) { - this._mouseUp({}); - return ! 1 - } - this.position = d.position - } - if (!this.options.axis || this.options.axis != "y") this.helper[0].style.left = this.position.left + "px"; - if (!this.options.axis || this.options.axis != "x") this.helper[0].style.top = this.position.top + "px"; - a.ui.ddmanager && a.ui.ddmanager.drag(this, b); - return ! 1 - }, - _mouseStop: function(b) { - var c = !1; - a.ui.ddmanager && !this.options.dropBehaviour && (c = a.ui.ddmanager.drop(this, b)), - this.dropped && (c = this.dropped, this.dropped = !1); - if ((!this.element[0] || !this.element[0].parentNode) && this.options.helper == "original") return ! 1; - if (this.options.revert == "invalid" && !c || this.options.revert == "valid" && c || this.options.revert === !0 || a.isFunction(this.options.revert) && this.options.revert.call(this.element, c)) { - var d = this; - a(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), - function() { - d._trigger("stop", b) !== !1 && d._clear() - }) - } else this._trigger("stop", b) !== !1 && this._clear(); - return ! 1 - }, - _mouseUp: function(b) { - this.options.iframeFix === !0 && a("div.ui-draggable-iframeFix").each(function() { - this.parentNode.removeChild(this) - }), - a.ui.ddmanager && a.ui.ddmanager.dragStop(this, b); - return a.ui.mouse.prototype._mouseUp.call(this, b) - }, - cancel: function() { - this.helper.is(".ui-draggable-dragging") ? this._mouseUp({}) : this._clear(); - return this - }, - _getHandle: function(b) { - var c = !this.options.handle || !a(this.options.handle, this.element).length ? !0 : !1; - a(this.options.handle, this.element).find("*").andSelf().each(function() { - this == b.target && (c = !0) - }); - return c - }, - _createHelper: function(b) { - var c = this.options, - d = a.isFunction(c.helper) ? a(c.helper.apply(this.element[0], [b])) : c.helper == "clone" ? this.element.clone().removeAttr("id") : this.element; - d.parents("body").length || d.appendTo(c.appendTo == "parent" ? this.element[0].parentNode: c.appendTo), - d[0] != this.element[0] && !/(fixed|absolute)/.test(d.css("position")) && d.css("position", "absolute"); - return d - }, - _adjustOffsetFromHelper: function(b) { - typeof b == "string" && (b = b.split(" ")), - a.isArray(b) && (b = { - left: +b[0], - top: +b[1] || 0 - }), - "left" in b && (this.offset.click.left = b.left + this.margins.left), - "right" in b && (this.offset.click.left = this.helperProportions.width - b.right + this.margins.left), - "top" in b && (this.offset.click.top = b.top + this.margins.top), - "bottom" in b && (this.offset.click.top = this.helperProportions.height - b.bottom + this.margins.top) - }, - _getParentOffset: function() { - this.offsetParent = this.helper.offsetParent(); - var b = this.offsetParent.offset(); - this.cssPosition == "absolute" && this.scrollParent[0] != document && a.ui.contains(this.scrollParent[0], this.offsetParent[0]) && (b.left += this.scrollParent.scrollLeft(), b.top += this.scrollParent.scrollTop()); - if (this.offsetParent[0] == document.body || this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == "html" && a.browser.msie) b = { - top: 0, - left: 0 - }; - return { - top: b.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0), - left: b.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0) - } - }, - _getRelativeOffset: function() { - if (this.cssPosition == "relative") { - var a = this.element.position(); - return { - top: a.top - (parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(), - left: a.left - (parseInt(this.helper.css("left"), 10) || 0) + this.scrollParent.scrollLeft() - } - } - return { - top: 0, - left: 0 - } - }, - _cacheMargins: function() { - this.margins = { - left: parseInt(this.element.css("marginLeft"), 10) || 0, - top: parseInt(this.element.css("marginTop"), 10) || 0, - right: parseInt(this.element.css("marginRight"), 10) || 0, - bottom: parseInt(this.element.css("marginBottom"), 10) || 0 - } - }, - _cacheHelperProportions: function() { - this.helperProportions = { - width: this.helper.outerWidth(), - height: this.helper.outerHeight() - } - }, - _setContainment: function() { - var b = this.options; - b.containment == "parent" && (b.containment = this.helper[0].parentNode); - if (b.containment == "document" || b.containment == "window") this.containment = [b.containment == "document" ? 0 : a(window).scrollLeft() - this.offset.relative.left - this.offset.parent.left, b.containment == "document" ? 0 : a(window).scrollTop() - this.offset.relative.top - this.offset.parent.top, (b.containment == "document" ? 0 : a(window).scrollLeft()) + a(b.containment == "document" ? document: window).width() - this.helperProportions.width - this.margins.left, (b.containment == "document" ? 0 : a(window).scrollTop()) + (a(b.containment == "document" ? document: window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top]; - if (!/^(document|window|parent)$/.test(b.containment) && b.containment.constructor != Array) { - var c = a(b.containment), - d = c[0]; - if (!d) return; - var e = c.offset(), - f = a(d).css("overflow") != "hidden"; - this.containment = [(parseInt(a(d).css("borderLeftWidth"), 10) || 0) + (parseInt(a(d).css("paddingLeft"), 10) || 0), (parseInt(a(d).css("borderTopWidth"), 10) || 0) + (parseInt(a(d).css("paddingTop"), 10) || 0), (f ? Math.max(d.scrollWidth, d.offsetWidth) : d.offsetWidth) - (parseInt(a(d).css("borderLeftWidth"), 10) || 0) - (parseInt(a(d).css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left - this.margins.right, (f ? Math.max(d.scrollHeight, d.offsetHeight) : d.offsetHeight) - (parseInt(a(d).css("borderTopWidth"), 10) || 0) - (parseInt(a(d).css("paddingBottom"), 10) || 0) - this.helperProportions.height - this.margins.top - this.margins.bottom], - this.relative_container = c - } else b.containment.constructor == Array && (this.containment = b.containment) - }, - _convertPositionTo: function(b, c) { - c || (c = this.position); - var d = b == "absolute" ? 1 : -1, - e = this.options, - f = this.cssPosition == "absolute" && (this.scrollParent[0] == document || !a.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent: this.scrollParent, - g = /(html|body)/i.test(f[0].tagName); - return { - top: c.top + this.offset.relative.top * d + this.offset.parent.top * d - (a.browser.safari && a.browser.version < 526 && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : g ? 0 : f.scrollTop()) * d), - left: c.left + this.offset.relative.left * d + this.offset.parent.left * d - (a.browser.safari && a.browser.version < 526 && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : g ? 0 : f.scrollLeft()) * d) - } - }, - _generatePosition: function(b) { - var c = this.options, - d = this.cssPosition == "absolute" && (this.scrollParent[0] == document || !a.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent: this.scrollParent, - e = /(html|body)/i.test(d[0].tagName), - f = b.pageX, - g = b.pageY; - if (this.originalPosition) { - var h; - if (this.containment) { - if (this.relative_container) { - var i = this.relative_container.offset(); - h = [this.containment[0] + i.left, this.containment[1] + i.top, this.containment[2] + i.left, this.containment[3] + i.top] - } else h = this.containment; - b.pageX - this.offset.click.left < h[0] && (f = h[0] + this.offset.click.left), - b.pageY - this.offset.click.top < h[1] && (g = h[1] + this.offset.click.top), - b.pageX - this.offset.click.left > h[2] && (f = h[2] + this.offset.click.left), - b.pageY - this.offset.click.top > h[3] && (g = h[3] + this.offset.click.top) - } - if (c.grid) { - var j = c.grid[1] ? this.originalPageY + Math.round((g - this.originalPageY) / c.grid[1]) * c.grid[1] : this.originalPageY; - g = h ? j - this.offset.click.top < h[1] || j - this.offset.click.top > h[3] ? j - this.offset.click.top < h[1] ? j + c.grid[1] : j - c.grid[1] : j: j; - var k = c.grid[0] ? this.originalPageX + Math.round((f - this.originalPageX) / c.grid[0]) * c.grid[0] : this.originalPageX; - f = h ? k - this.offset.click.left < h[0] || k - this.offset.click.left > h[2] ? k - this.offset.click.left < h[0] ? k + c.grid[0] : k - c.grid[0] : k: k - } - } - return { - top: g - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + (a.browser.safari && a.browser.version < 526 && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : e ? 0 : d.scrollTop()), - left: f - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + (a.browser.safari && a.browser.version < 526 && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : e ? 0 : d.scrollLeft()) - } - }, - _clear: function() { - this.helper.removeClass("ui-draggable-dragging"), - this.helper[0] != this.element[0] && !this.cancelHelperRemoval && this.helper.remove(), - this.helper = null, - this.cancelHelperRemoval = !1 - }, - _trigger: function(b, c, d) { - d = d || this._uiHash(), - a.ui.plugin.call(this, b, [c, d]), - b == "drag" && (this.positionAbs = this._convertPositionTo("absolute")); - return a.Widget.prototype._trigger.call(this, b, c, d) - }, - plugins: {}, - _uiHash: function(a) { - return { - helper: this.helper, - position: this.position, - originalPosition: this.originalPosition, - offset: this.positionAbs - } - } - }), - a.extend(a.ui.draggable, { - version: "1.8.18" - }), - a.ui.plugin.add("draggable", "connectToSortable", { - start: function(b, c) { - var d = a(this).data("draggable"), - e = d.options, - f = a.extend({}, - c, { - item: d.element - }); - d.sortables = [], - a(e.connectToSortable).each(function() { - var c = a.data(this, "sortable"); - c && !c.options.disabled && (d.sortables.push({ - instance: c, - shouldRevert: c.options.revert - }), c.refreshPositions(), c._trigger("activate", b, f)) - }) - }, - stop: function(b, c) { - var d = a(this).data("draggable"), - e = a.extend({}, - c, { - item: d.element - }); - a.each(d.sortables, - function() { - this.instance.isOver ? (this.instance.isOver = 0, d.cancelHelperRemoval = !0, this.instance.cancelHelperRemoval = !1, this.shouldRevert && (this.instance.options.revert = !0), this.instance._mouseStop(b), this.instance.options.helper = this.instance.options._helper, d.options.helper == "original" && this.instance.currentItem.css({ - top: "auto", - left: "auto" - })) : (this.instance.cancelHelperRemoval = !1, this.instance._trigger("deactivate", b, e)) - }) - }, - drag: function(b, c) { - var d = a(this).data("draggable"), - e = this, - f = function(b) { - var c = this.offset.click.top, - d = this.offset.click.left, - e = this.positionAbs.top, - f = this.positionAbs.left, - g = b.height, - h = b.width, - i = b.top, - j = b.left; - return a.ui.isOver(e + c, f + d, i, j, g, h) - }; - a.each(d.sortables, - function(f) { - this.instance.positionAbs = d.positionAbs, - this.instance.helperProportions = d.helperProportions, - this.instance.offset.click = d.offset.click, - this.instance._intersectsWith(this.instance.containerCache) ? (this.instance.isOver || (this.instance.isOver = 1, this.instance.currentItem = a(e).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item", !0), this.instance.options._helper = this.instance.options.helper, this.instance.options.helper = function() { - return c.helper[0] - }, - b.target = this.instance.currentItem[0], this.instance._mouseCapture(b, !0), this.instance._mouseStart(b, !0, !0), this.instance.offset.click.top = d.offset.click.top, this.instance.offset.click.left = d.offset.click.left, this.instance.offset.parent.left -= d.offset.parent.left - this.instance.offset.parent.left, this.instance.offset.parent.top -= d.offset.parent.top - this.instance.offset.parent.top, d._trigger("toSortable", b), d.dropped = this.instance.element, d.currentItem = d.element, this.instance.fromOutside = d), this.instance.currentItem && this.instance._mouseDrag(b)) : this.instance.isOver && (this.instance.isOver = 0, this.instance.cancelHelperRemoval = !0, this.instance.options.revert = !1, this.instance._trigger("out", b, this.instance._uiHash(this.instance)), this.instance._mouseStop(b, !0), this.instance.options.helper = this.instance.options._helper, this.instance.currentItem.remove(), this.instance.placeholder && this.instance.placeholder.remove(), d._trigger("fromSortable", b), d.dropped = !1) - }) - } - }), - a.ui.plugin.add("draggable", "cursor", { - start: function(b, c) { - var d = a("body"), - e = a(this).data("draggable").options; - d.css("cursor") && (e._cursor = d.css("cursor")), - d.css("cursor", e.cursor) - }, - stop: function(b, c) { - var d = a(this).data("draggable").options; - d._cursor && a("body").css("cursor", d._cursor) - } - }), - a.ui.plugin.add("draggable", "opacity", { - start: function(b, c) { - var d = a(c.helper), - e = a(this).data("draggable").options; - d.css("opacity") && (e._opacity = d.css("opacity")), - d.css("opacity", e.opacity) - }, - stop: function(b, c) { - var d = a(this).data("draggable").options; - d._opacity && a(c.helper).css("opacity", d._opacity) - } - }), - a.ui.plugin.add("draggable", "scroll", { - start: function(b, c) { - var d = a(this).data("draggable"); - d.scrollParent[0] != document && d.scrollParent[0].tagName != "HTML" && (d.overflowOffset = d.scrollParent.offset()) - }, - drag: function(b, c) { - var d = a(this).data("draggable"), - e = d.options, - f = !1; - if (d.scrollParent[0] != document && d.scrollParent[0].tagName != "HTML") { - if (!e.axis || e.axis != "x") d.overflowOffset.top + d.scrollParent[0].offsetHeight - b.pageY < e.scrollSensitivity ? d.scrollParent[0].scrollTop = f = d.scrollParent[0].scrollTop + e.scrollSpeed: b.pageY - d.overflowOffset.top < e.scrollSensitivity && (d.scrollParent[0].scrollTop = f = d.scrollParent[0].scrollTop - e.scrollSpeed); - if (!e.axis || e.axis != "y") d.overflowOffset.left + d.scrollParent[0].offsetWidth - b.pageX < e.scrollSensitivity ? d.scrollParent[0].scrollLeft = f = d.scrollParent[0].scrollLeft + e.scrollSpeed: b.pageX - d.overflowOffset.left < e.scrollSensitivity && (d.scrollParent[0].scrollLeft = f = d.scrollParent[0].scrollLeft - e.scrollSpeed) - } else { - if (!e.axis || e.axis != "x") b.pageY - a(document).scrollTop() < e.scrollSensitivity ? f = a(document).scrollTop(a(document).scrollTop() - e.scrollSpeed) : a(window).height() - (b.pageY - a(document).scrollTop()) < e.scrollSensitivity && (f = a(document).scrollTop(a(document).scrollTop() + e.scrollSpeed)); - if (!e.axis || e.axis != "y") b.pageX - a(document).scrollLeft() < e.scrollSensitivity ? f = a(document).scrollLeft(a(document).scrollLeft() - e.scrollSpeed) : a(window).width() - (b.pageX - a(document).scrollLeft()) < e.scrollSensitivity && (f = a(document).scrollLeft(a(document).scrollLeft() + e.scrollSpeed)) - } - f !== !1 && a.ui.ddmanager && !e.dropBehaviour && a.ui.ddmanager.prepareOffsets(d, b) - } - }), - a.ui.plugin.add("draggable", "snap", { - start: function(b, c) { - var d = a(this).data("draggable"), - e = d.options; - d.snapElements = [], - a(e.snap.constructor != String ? e.snap.items || ":data(draggable)": e.snap).each(function() { - var b = a(this), - c = b.offset(); - this != d.element[0] && d.snapElements.push({ - item: this, - width: b.outerWidth(), - height: b.outerHeight(), - top: c.top, - left: c.left - }) - }) - }, - drag: function(b, c) { - var d = a(this).data("draggable"), - e = d.options, - f = e.snapTolerance, - g = c.offset.left, - h = g + d.helperProportions.width, - i = c.offset.top, - j = i + d.helperProportions.height; - for (var k = d.snapElements.length - 1; k >= 0; k--) { - var l = d.snapElements[k].left, - m = l + d.snapElements[k].width, - n = d.snapElements[k].top, - o = n + d.snapElements[k].height; - if (! (l - f < g && g < m + f && n - f < i && i < o + f || l - f < g && g < m + f && n - f < j && j < o + f || l - f < h && h < m + f && n - f < i && i < o + f || l - f < h && h < m + f && n - f < j && j < o + f)) { - d.snapElements[k].snapping && d.options.snap.release && d.options.snap.release.call(d.element, b, a.extend(d._uiHash(), { - snapItem: d.snapElements[k].item - })), - d.snapElements[k].snapping = !1; - continue - } - if (e.snapMode != "inner") { - var p = Math.abs(n - j) <= f, - q = Math.abs(o - i) <= f, - r = Math.abs(l - h) <= f, - s = Math.abs(m - g) <= f; - p && (c.position.top = d._convertPositionTo("relative", { - top: n - d.helperProportions.height, - left: 0 - }).top - d.margins.top), - q && (c.position.top = d._convertPositionTo("relative", { - top: o, - left: 0 - }).top - d.margins.top), - r && (c.position.left = d._convertPositionTo("relative", { - top: 0, - left: l - d.helperProportions.width - }).left - d.margins.left), - s && (c.position.left = d._convertPositionTo("relative", { - top: 0, - left: m - }).left - d.margins.left) - } - var t = p || q || r || s; - if (e.snapMode != "outer") { - var p = Math.abs(n - i) <= f, - q = Math.abs(o - j) <= f, - r = Math.abs(l - g) <= f, - s = Math.abs(m - h) <= f; - p && (c.position.top = d._convertPositionTo("relative", { - top: n, - left: 0 - }).top - d.margins.top), - q && (c.position.top = d._convertPositionTo("relative", { - top: o - d.helperProportions.height, - left: 0 - }).top - d.margins.top), - r && (c.position.left = d._convertPositionTo("relative", { - top: 0, - left: l - }).left - d.margins.left), - s && (c.position.left = d._convertPositionTo("relative", { - top: 0, - left: m - d.helperProportions.width - }).left - d.margins.left) - } ! d.snapElements[k].snapping && (p || q || r || s || t) && d.options.snap.snap && d.options.snap.snap.call(d.element, b, a.extend(d._uiHash(), { - snapItem: d.snapElements[k].item - })), - d.snapElements[k].snapping = p || q || r || s || t - } - } - }), - a.ui.plugin.add("draggable", "stack", { - start: function(b, c) { - var d = a(this).data("draggable").options, - e = a.makeArray(a(d.stack)).sort(function(b, c) { - return (parseInt(a(b).css("zIndex"), 10) || 0) - (parseInt(a(c).css("zIndex"), 10) || 0) - }); - if ( !! e.length) { - var f = parseInt(e[0].style.zIndex) || 0; - a(e).each(function(a) { - this.style.zIndex = f + a - }), - this[0].style.zIndex = f + e.length - } - } - }), - a.ui.plugin.add("draggable", "zIndex", { - start: function(b, c) { - var d = a(c.helper), - e = a(this).data("draggable").options; - d.css("zIndex") && (e._zIndex = d.css("zIndex")), - d.css("zIndex", e.zIndex) - }, - stop: function(b, c) { - var d = a(this).data("draggable").options; - d._zIndex && a(c.helper).css("zIndex", d._zIndex) - } - }) -})(jQuery); -/* - * jQuery UI Droppable 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Droppables - * - * Depends: - * jquery.ui.core.js - * jquery.ui.widget.js - * jquery.ui.mouse.js - * jquery.ui.draggable.js - */ -(function(a, b) { - a.widget("ui.droppable", { - widgetEventPrefix: "drop", - options: { - accept: "*", - activeClass: !1, - addClasses: !0, - greedy: !1, - hoverClass: !1, - scope: "default", - tolerance: "intersect" - }, - _create: function() { - var b = this.options, - c = b.accept; - this.isover = 0, - this.isout = 1, - this.accept = a.isFunction(c) ? c: function(a) { - return a.is(c) - }, - this.proportions = { - width: this.element[0].offsetWidth, - height: this.element[0].offsetHeight - }, - a.ui.ddmanager.droppables[b.scope] = a.ui.ddmanager.droppables[b.scope] || [], - a.ui.ddmanager.droppables[b.scope].push(this), - b.addClasses && this.element.addClass("ui-droppable") - }, - destroy: function() { - var b = a.ui.ddmanager.droppables[this.options.scope]; - for (var c = 0; c < b.length; c++) b[c] == this && b.splice(c, 1); - this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable"); - return this - }, - _setOption: function(b, c) { - b == "accept" && (this.accept = a.isFunction(c) ? c: function(a) { - return a.is(c) - }), - a.Widget.prototype._setOption.apply(this, arguments) - }, - _activate: function(b) { - var c = a.ui.ddmanager.current; - this.options.activeClass && this.element.addClass(this.options.activeClass), - c && this._trigger("activate", b, this.ui(c)) - }, - _deactivate: function(b) { - var c = a.ui.ddmanager.current; - this.options.activeClass && this.element.removeClass(this.options.activeClass), - c && this._trigger("deactivate", b, this.ui(c)) - }, - _over: function(b) { - var c = a.ui.ddmanager.current; !! c && (c.currentItem || c.element)[0] != this.element[0] && this.accept.call(this.element[0], c.currentItem || c.element) && (this.options.hoverClass && this.element.addClass(this.options.hoverClass), this._trigger("over", b, this.ui(c))) - }, - _out: function(b) { - var c = a.ui.ddmanager.current; !! c && (c.currentItem || c.element)[0] != this.element[0] && this.accept.call(this.element[0], c.currentItem || c.element) && (this.options.hoverClass && this.element.removeClass(this.options.hoverClass), this._trigger("out", b, this.ui(c))) - }, - _drop: function(b, c) { - var d = c || a.ui.ddmanager.current; - if (!d || (d.currentItem || d.element)[0] == this.element[0]) return ! 1; - var e = !1; - this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function() { - var b = a.data(this, "droppable"); - if (b.options.greedy && !b.options.disabled && b.options.scope == d.options.scope && b.accept.call(b.element[0], d.currentItem || d.element) && a.ui.intersect(d, a.extend(b, { - offset: b.element.offset() - }), b.options.tolerance)) { - e = !0; - return ! 1 - } - }); - if (e) return ! 1; - if (this.accept.call(this.element[0], d.currentItem || d.element)) { - this.options.activeClass && this.element.removeClass(this.options.activeClass), - this.options.hoverClass && this.element.removeClass(this.options.hoverClass), - this._trigger("drop", b, this.ui(d)); - return this.element - } - return ! 1 - }, - ui: function(a) { - return { - draggable: a.currentItem || a.element, - helper: a.helper, - position: a.position, - offset: a.positionAbs - } - } - }), - a.extend(a.ui.droppable, { - version: "1.8.18" - }), - a.ui.intersect = function(b, c, d) { - if (!c.offset) return ! 1; - var e = (b.positionAbs || b.position.absolute).left, - f = e + b.helperProportions.width, - g = (b.positionAbs || b.position.absolute).top, - h = g + b.helperProportions.height, - i = c.offset.left, - j = i + c.proportions.width, - k = c.offset.top, - l = k + c.proportions.height; - switch (d) { - case "fit": - return i <= e && f <= j && k <= g && h <= l; - case "intersect": - return i < e + b.helperProportions.width / 2 && f - b.helperProportions.width / 2 < j && k < g + b.helperProportions.height / 2 && h - b.helperProportions.height / 2 < l; - case "pointer": - var m = (b.positionAbs || b.position.absolute).left + (b.clickOffset || b.offset.click).left, - n = (b.positionAbs || b.position.absolute).top + (b.clickOffset || b.offset.click).top, - o = a.ui.isOver(n, m, k, i, c.proportions.height, c.proportions.width); - return o; - case "touch": - return (g >= k && g <= l || h >= k && h <= l || g < k && h > l) && (e >= i && e <= j || f >= i && f <= j || e < i && f > j); - default: - return ! 1 - } - }, - a.ui.ddmanager = { - current: null, - droppables: { - "default": [] - }, - prepareOffsets: function(b, c) { - var d = a.ui.ddmanager.droppables[b.options.scope] || [], - e = c ? c.type: null, - f = (b.currentItem || b.element).find(":data(droppable)").andSelf(); - droppablesLoop: for (var g = 0; g < d.length; g++) { - if (d[g].options.disabled || b && !d[g].accept.call(d[g].element[0], b.currentItem || b.element)) continue; - for (var h = 0; h < f.length; h++) if (f[h] == d[g].element[0]) { - d[g].proportions.height = 0; - continue droppablesLoop - } - d[g].visible = d[g].element.css("display") != "none"; - if (!d[g].visible) continue; - e == "mousedown" && d[g]._activate.call(d[g], c), - d[g].offset = d[g].element.offset(), - d[g].proportions = { - width: d[g].element[0].offsetWidth, - height: d[g].element[0].offsetHeight - } - } - }, - drop: function(b, c) { - var d = !1; - a.each(a.ui.ddmanager.droppables[b.options.scope] || [], - function() { ! this.options || (!this.options.disabled && this.visible && a.ui.intersect(b, this, this.options.tolerance) && (d = this._drop.call(this, c) || d), !this.options.disabled && this.visible && this.accept.call(this.element[0], b.currentItem || b.element) && (this.isout = 1, this.isover = 0, this._deactivate.call(this, c))) - }); - return d - }, - dragStart: function(b, c) { - b.element.parents(":not(body,html)").bind("scroll.droppable", - function() { - b.options.refreshPositions || a.ui.ddmanager.prepareOffsets(b, c) - }) - }, - drag: function(b, c) { - b.options.refreshPositions && a.ui.ddmanager.prepareOffsets(b, c), - a.each(a.ui.ddmanager.droppables[b.options.scope] || [], - function() { - if (! (this.options.disabled || this.greedyChild || !this.visible)) { - var d = a.ui.intersect(b, this, this.options.tolerance), - e = !d && this.isover == 1 ? "isout": d && this.isover == 0 ? "isover": null; - if (!e) return; - var f; - if (this.options.greedy) { - var g = this.element.parents(":data(droppable):eq(0)"); - g.length && (f = a.data(g[0], "droppable"), f.greedyChild = e == "isover" ? 1 : 0) - } - f && e == "isover" && (f.isover = 0, f.isout = 1, f._out.call(f, c)), - this[e] = 1, - this[e == "isout" ? "isover": "isout"] = 0, - this[e == "isover" ? "_over": "_out"].call(this, c), - f && e == "isout" && (f.isout = 0, f.isover = 1, f._over.call(f, c)) - } - }) - }, - dragStop: function(b, c) { - b.element.parents(":not(body,html)").unbind("scroll.droppable"), - b.options.refreshPositions || a.ui.ddmanager.prepareOffsets(b, c) - } - } -})(jQuery); -/* - * jQuery UI Resizable 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Resizables - * - * Depends: - * jquery.ui.core.js - * jquery.ui.mouse.js - * jquery.ui.widget.js - */ -(function(a, b) { - a.widget("ui.resizable", a.ui.mouse, { - widgetEventPrefix: "resize", - options: { - alsoResize: !1, - animate: !1, - animateDuration: "slow", - animateEasing: "swing", - aspectRatio: !1, - autoHide: !1, - containment: !1, - ghost: !1, - grid: !1, - handles: "e,s,se", - helper: !1, - maxHeight: null, - maxWidth: null, - minHeight: 10, - minWidth: 10, - zIndex: 1e3 - }, - _create: function() { - var b = this, - c = this.options; - this.element.addClass("ui-resizable"), - a.extend(this, { - _aspectRatio: !!c.aspectRatio, - aspectRatio: c.aspectRatio, - originalElement: this.element, - _proportionallyResizeElements: [], - _helper: c.helper || c.ghost || c.animate ? c.helper || "ui-resizable-helper": null - }), - this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i) && (this.element.wrap(a('
').css({ - position: this.element.css("position"), - width: this.element.outerWidth(), - height: this.element.outerHeight(), - top: this.element.css("top"), - left: this.element.css("left") - })), this.element = this.element.parent().data("resizable", this.element.data("resizable")), this.elementIsWrapper = !0, this.element.css({ - marginLeft: this.originalElement.css("marginLeft"), - marginTop: this.originalElement.css("marginTop"), - marginRight: this.originalElement.css("marginRight"), - marginBottom: this.originalElement.css("marginBottom") - }), this.originalElement.css({ - marginLeft: 0, - marginTop: 0, - marginRight: 0, - marginBottom: 0 - }), this.originalResizeStyle = this.originalElement.css("resize"), this.originalElement.css("resize", "none"), this._proportionallyResizeElements.push(this.originalElement.css({ - position: "static", - zoom: 1, - display: "block" - })), this.originalElement.css({ - margin: this.originalElement.css("margin") - }), this._proportionallyResize()), - this.handles = c.handles || (a(".ui-resizable-handle", this.element).length ? { - n: ".ui-resizable-n", - e: ".ui-resizable-e", - s: ".ui-resizable-s", - w: ".ui-resizable-w", - se: ".ui-resizable-se", - sw: ".ui-resizable-sw", - ne: ".ui-resizable-ne", - nw: ".ui-resizable-nw" - }: "e,s,se"); - if (this.handles.constructor == String) { - this.handles == "all" && (this.handles = "n,e,s,w,se,sw,ne,nw"); - var d = this.handles.split(","); - this.handles = {}; - for (var e = 0; e < d.length; e++) { - var f = a.trim(d[e]), - g = "ui-resizable-" + f, - h = a('
'); - /sw|se|ne|nw/.test(f) && h.css({ - zIndex: ++c.zIndex - }), - "se" == f && h.addClass("ui-icon ui-icon-gripsmall-diagonal-se"), - this.handles[f] = ".ui-resizable-" + f, - this.element.append(h) - } - } - this._renderAxis = function(b) { - b = b || this.element; - for (var c in this.handles) { - this.handles[c].constructor == String && (this.handles[c] = a(this.handles[c], this.element).show()); - if (this.elementIsWrapper && this.originalElement[0].nodeName.match(/textarea|input|select|button/i)) { - var d = a(this.handles[c], this.element), - e = 0; - e = /sw|ne|nw|se|n|s/.test(c) ? d.outerHeight() : d.outerWidth(); - var f = ["padding", /ne|nw|n/.test(c) ? "Top": /se|sw|s/.test(c) ? "Bottom": /^e$/.test(c) ? "Right": "Left"].join(""); - b.css(f, e), - this._proportionallyResize() - } - if (!a(this.handles[c]).length) continue - } - }, - this._renderAxis(this.element), - this._handles = a(".ui-resizable-handle", this.element).disableSelection(), - this._handles.mouseover(function() { - if (!b.resizing) { - if (this.className) var a = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i); - b.axis = a && a[1] ? a[1] : "se" - } - }), - c.autoHide && (this._handles.hide(), a(this.element).addClass("ui-resizable-autohide").hover(function() { - c.disabled || (a(this).removeClass("ui-resizable-autohide"), b._handles.show()) - }, - function() { - c.disabled || b.resizing || (a(this).addClass("ui-resizable-autohide"), b._handles.hide()) - })), - this._mouseInit() - }, - destroy: function() { - this._mouseDestroy(); - var b = function(b) { - a(b).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove() - }; - if (this.elementIsWrapper) { - b(this.element); - var c = this.element; - c.after(this.originalElement.css({ - position: c.css("position"), - width: c.outerWidth(), - height: c.outerHeight(), - top: c.css("top"), - left: c.css("left") - })).remove() - } - this.originalElement.css("resize", this.originalResizeStyle), - b(this.originalElement); - return this - }, - _mouseCapture: function(b) { - var c = !1; - for (var d in this.handles) a(this.handles[d])[0] == b.target && (c = !0); - return ! this.options.disabled && c - }, - _mouseStart: function(b) { - var d = this.options, - e = this.element.position(), - f = this.element; - this.resizing = !0, - this.documentScroll = { - top: a(document).scrollTop(), - left: a(document).scrollLeft() - }, - (f.is(".ui-draggable") || /absolute/.test(f.css("position"))) && f.css({ - position: "absolute", - top: e.top, - left: e.left - }), - this._renderProxy(); - var g = c(this.helper.css("left")), - h = c(this.helper.css("top")); - d.containment && (g += a(d.containment).scrollLeft() || 0, h += a(d.containment).scrollTop() || 0), - this.offset = this.helper.offset(), - this.position = { - left: g, - top: h - }, - this.size = this._helper ? { - width: f.outerWidth(), - height: f.outerHeight() - }: { - width: f.width(), - height: f.height() - }, - this.originalSize = this._helper ? { - width: f.outerWidth(), - height: f.outerHeight() - }: { - width: f.width(), - height: f.height() - }, - this.originalPosition = { - left: g, - top: h - }, - this.sizeDiff = { - width: f.outerWidth() - f.width(), - height: f.outerHeight() - f.height() - }, - this.originalMousePosition = { - left: b.pageX, - top: b.pageY - }, - this.aspectRatio = typeof d.aspectRatio == "number" ? d.aspectRatio: this.originalSize.width / this.originalSize.height || 1; - var i = a(".ui-resizable-" + this.axis).css("cursor"); - a("body").css("cursor", i == "auto" ? this.axis + "-resize": i), - f.addClass("ui-resizable-resizing"), - this._propagate("start", b); - return ! 0 - }, - _mouseDrag: function(b) { - var c = this.helper, - d = this.options, - e = {}, - f = this, - g = this.originalMousePosition, - h = this.axis, - i = b.pageX - g.left || 0, - j = b.pageY - g.top || 0, - k = this._change[h]; - if (!k) return ! 1; - var l = k.apply(this, [b, i, j]), - m = a.browser.msie && a.browser.version < 7, - n = this.sizeDiff; - this._updateVirtualBoundaries(b.shiftKey); - if (this._aspectRatio || b.shiftKey) l = this._updateRatio(l, b); - l = this._respectSize(l, b), - this._propagate("resize", b), - c.css({ - top: this.position.top + "px", - left: this.position.left + "px", - width: this.size.width + "px", - height: this.size.height + "px" - }), - !this._helper && this._proportionallyResizeElements.length && this._proportionallyResize(), - this._updateCache(l), - this._trigger("resize", b, this.ui()); - return ! 1 - }, - _mouseStop: function(b) { - this.resizing = !1; - var c = this.options, - d = this; - if (this._helper) { - var e = this._proportionallyResizeElements, - f = e.length && /textarea/i.test(e[0].nodeName), - g = f && a.ui.hasScroll(e[0], "left") ? 0 : d.sizeDiff.height, - h = f ? 0 : d.sizeDiff.width, - i = { - width: d.helper.width() - h, - height: d.helper.height() - g - }, - j = parseInt(d.element.css("left"), 10) + (d.position.left - d.originalPosition.left) || null, - k = parseInt(d.element.css("top"), 10) + (d.position.top - d.originalPosition.top) || null; - c.animate || this.element.css(a.extend(i, { - top: k, - left: j - })), - d.helper.height(d.size.height), - d.helper.width(d.size.width), - this._helper && !c.animate && this._proportionallyResize() - } - a("body").css("cursor", "auto"), - this.element.removeClass("ui-resizable-resizing"), - this._propagate("stop", b), - this._helper && this.helper.remove(); - return ! 1 - }, - _updateVirtualBoundaries: function(a) { - var b = this.options, - c, e, f, g, h; - h = { - minWidth: d(b.minWidth) ? b.minWidth: 0, - maxWidth: d(b.maxWidth) ? b.maxWidth: Infinity, - minHeight: d(b.minHeight) ? b.minHeight: 0, - maxHeight: d(b.maxHeight) ? b.maxHeight: Infinity - }; - if (this._aspectRatio || a) c = h.minHeight * this.aspectRatio, - f = h.minWidth / this.aspectRatio, - e = h.maxHeight * this.aspectRatio, - g = h.maxWidth / this.aspectRatio, - c > h.minWidth && (h.minWidth = c), - f > h.minHeight && (h.minHeight = f), - e < h.maxWidth && (h.maxWidth = e), - g < h.maxHeight && (h.maxHeight = g); - this._vBoundaries = h - }, - _updateCache: function(a) { - var b = this.options; - this.offset = this.helper.offset(), - d(a.left) && (this.position.left = a.left), - d(a.top) && (this.position.top = a.top), - d(a.height) && (this.size.height = a.height), - d(a.width) && (this.size.width = a.width) - }, - _updateRatio: function(a, b) { - var c = this.options, - e = this.position, - f = this.size, - g = this.axis; - d(a.height) ? a.width = a.height * this.aspectRatio: d(a.width) && (a.height = a.width / this.aspectRatio), - g == "sw" && (a.left = e.left + (f.width - a.width), a.top = null), - g == "nw" && (a.top = e.top + (f.height - a.height), a.left = e.left + (f.width - a.width)); - return a - }, - _respectSize: function(a, b) { - var c = this.helper, - e = this._vBoundaries, - f = this._aspectRatio || b.shiftKey, - g = this.axis, - h = d(a.width) && e.maxWidth && e.maxWidth < a.width, - i = d(a.height) && e.maxHeight && e.maxHeight < a.height, - j = d(a.width) && e.minWidth && e.minWidth > a.width, - k = d(a.height) && e.minHeight && e.minHeight > a.height; - j && (a.width = e.minWidth), - k && (a.height = e.minHeight), - h && (a.width = e.maxWidth), - i && (a.height = e.maxHeight); - var l = this.originalPosition.left + this.originalSize.width, - m = this.position.top + this.size.height, - n = /sw|nw|w/.test(g), - o = /nw|ne|n/.test(g); - j && n && (a.left = l - e.minWidth), - h && n && (a.left = l - e.maxWidth), - k && o && (a.top = m - e.minHeight), - i && o && (a.top = m - e.maxHeight); - var p = !a.width && !a.height; - p && !a.left && a.top ? a.top = null: p && !a.top && a.left && (a.left = null); - return a - }, - _proportionallyResize: function() { - var b = this.options; - if ( !! this._proportionallyResizeElements.length) { - var c = this.helper || this.element; - for (var d = 0; d < this._proportionallyResizeElements.length; d++) { - var e = this._proportionallyResizeElements[d]; - if (!this.borderDif) { - var f = [e.css("borderTopWidth"), e.css("borderRightWidth"), e.css("borderBottomWidth"), e.css("borderLeftWidth")], - g = [e.css("paddingTop"), e.css("paddingRight"), e.css("paddingBottom"), e.css("paddingLeft")]; - this.borderDif = a.map(f, - function(a, b) { - var c = parseInt(a, 10) || 0, - d = parseInt(g[b], 10) || 0; - return c + d - }) - } - if (a.browser.msie && ( !! a(c).is(":hidden") || !!a(c).parents(":hidden").length)) continue; - e.css({ - height: c.height() - this.borderDif[0] - this.borderDif[2] || 0, - width: c.width() - this.borderDif[1] - this.borderDif[3] || 0 - }) - } - } - }, - _renderProxy: function() { - var b = this.element, - c = this.options; - this.elementOffset = b.offset(); - if (this._helper) { - this.helper = this.helper || a('
'); - var d = a.browser.msie && a.browser.version < 7, - e = d ? 1 : 0, - f = d ? 2 : -1; - this.helper.addClass(this._helper).css({ - width: this.element.outerWidth() + f, - height: this.element.outerHeight() + f, - position: "absolute", - left: this.elementOffset.left - e + "px", - top: this.elementOffset.top - e + "px", - zIndex: ++c.zIndex - }), - this.helper.appendTo("body").disableSelection() - } else this.helper = this.element - }, - _change: { - e: function(a, b, c) { - return { - width: this.originalSize.width + b - } - }, - w: function(a, b, c) { - var d = this.options, - e = this.originalSize, - f = this.originalPosition; - return { - left: f.left + b, - width: e.width - b - } - }, - n: function(a, b, c) { - var d = this.options, - e = this.originalSize, - f = this.originalPosition; - return { - top: f.top + c, - height: e.height - c - } - }, - s: function(a, b, c) { - return { - height: this.originalSize.height + c - } - }, - se: function(b, c, d) { - return a.extend(this._change.s.apply(this, arguments), this._change.e.apply(this, [b, c, d])) - }, - sw: function(b, c, d) { - return a.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [b, c, d])) - }, - ne: function(b, c, d) { - return a.extend(this._change.n.apply(this, arguments), this._change.e.apply(this, [b, c, d])) - }, - nw: function(b, c, d) { - return a.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [b, c, d])) - } - }, - _propagate: function(b, c) { - a.ui.plugin.call(this, b, [c, this.ui()]), - b != "resize" && this._trigger(b, c, this.ui()) - }, - plugins: {}, - ui: function() { - return { - originalElement: this.originalElement, - element: this.element, - helper: this.helper, - position: this.position, - size: this.size, - originalSize: this.originalSize, - originalPosition: this.originalPosition - } - } - }), - a.extend(a.ui.resizable, { - version: "1.8.18" - }), - a.ui.plugin.add("resizable", "alsoResize", { - start: function(b, c) { - var d = a(this).data("resizable"), - e = d.options, - f = function(b) { - a(b).each(function() { - var b = a(this); - b.data("resizable-alsoresize", { - width: parseInt(b.width(), 10), - height: parseInt(b.height(), 10), - left: parseInt(b.css("left"), 10), - top: parseInt(b.css("top"), 10) - }) - }) - }; - typeof e.alsoResize == "object" && !e.alsoResize.parentNode ? e.alsoResize.length ? (e.alsoResize = e.alsoResize[0], f(e.alsoResize)) : a.each(e.alsoResize, - function(a) { - f(a) - }) : f(e.alsoResize) - }, - resize: function(b, c) { - var d = a(this).data("resizable"), - e = d.options, - f = d.originalSize, - g = d.originalPosition, - h = { - height: d.size.height - f.height || 0, - width: d.size.width - f.width || 0, - top: d.position.top - g.top || 0, - left: d.position.left - g.left || 0 - }, - i = function(b, d) { - a(b).each(function() { - var b = a(this), - e = a(this).data("resizable-alsoresize"), - f = {}, - g = d && d.length ? d: b.parents(c.originalElement[0]).length ? ["width", "height"] : ["width", "height", "top", "left"]; - a.each(g, - function(a, b) { - var c = (e[b] || 0) + (h[b] || 0); - c && c >= 0 && (f[b] = c || null) - }), - b.css(f) - }) - }; - typeof e.alsoResize == "object" && !e.alsoResize.nodeType ? a.each(e.alsoResize, - function(a, b) { - i(a, b) - }) : i(e.alsoResize) - }, - stop: function(b, c) { - a(this).removeData("resizable-alsoresize") - } - }), - a.ui.plugin.add("resizable", "animate", { - stop: function(b, c) { - var d = a(this).data("resizable"), - e = d.options, - f = d._proportionallyResizeElements, - g = f.length && /textarea/i.test(f[0].nodeName), - h = g && a.ui.hasScroll(f[0], "left") ? 0 : d.sizeDiff.height, - i = g ? 0 : d.sizeDiff.width, - j = { - width: d.size.width - i, - height: d.size.height - h - }, - k = parseInt(d.element.css("left"), 10) + (d.position.left - d.originalPosition.left) || null, - l = parseInt(d.element.css("top"), 10) + (d.position.top - d.originalPosition.top) || null; - d.element.animate(a.extend(j, l && k ? { - top: l, - left: k - }: {}), { - duration: e.animateDuration, - easing: e.animateEasing, - step: function() { - var c = { - width: parseInt(d.element.css("width"), 10), - height: parseInt(d.element.css("height"), 10), - top: parseInt(d.element.css("top"), 10), - left: parseInt(d.element.css("left"), 10) - }; - f && f.length && a(f[0]).css({ - width: c.width, - height: c.height - }), - d._updateCache(c), - d._propagate("resize", b) - } - }) - } - }), - a.ui.plugin.add("resizable", "containment", { - start: function(b, d) { - var e = a(this).data("resizable"), - f = e.options, - g = e.element, - h = f.containment, - i = h instanceof a ? h.get(0) : /parent/.test(h) ? g.parent().get(0) : h; - if ( !! i) { - e.containerElement = a(i); - if (/document/.test(h) || h == document) e.containerOffset = { - left: 0, - top: 0 - }, - e.containerPosition = { - left: 0, - top: 0 - }, - e.parentData = { - element: a(document), - left: 0, - top: 0, - width: a(document).width(), - height: a(document).height() || document.body.parentNode.scrollHeight - }; - else { - var j = a(i), - k = []; - a(["Top", "Right", "Left", "Bottom"]).each(function(a, b) { - k[a] = c(j.css("padding" + b)) - }), - e.containerOffset = j.offset(), - e.containerPosition = j.position(), - e.containerSize = { - height: j.innerHeight() - k[3], - width: j.innerWidth() - k[1] - }; - var l = e.containerOffset, - m = e.containerSize.height, - n = e.containerSize.width, - o = a.ui.hasScroll(i, "left") ? i.scrollWidth: n, - p = a.ui.hasScroll(i) ? i.scrollHeight: m; - e.parentData = { - element: i, - left: l.left, - top: l.top, - width: o, - height: p - } - } - } - }, - resize: function(b, c) { - var d = a(this).data("resizable"), - e = d.options, - f = d.containerSize, - g = d.containerOffset, - h = d.size, - i = d.position, - j = d._aspectRatio || b.shiftKey, - k = { - top: 0, - left: 0 - }, - l = d.containerElement; - l[0] != document && /static/.test(l.css("position")) && (k = g), - i.left < (d._helper ? g.left: 0) && (d.size.width = d.size.width + (d._helper ? d.position.left - g.left: d.position.left - k.left), j && (d.size.height = d.size.width / e.aspectRatio), d.position.left = e.helper ? g.left: 0), - i.top < (d._helper ? g.top: 0) && (d.size.height = d.size.height + (d._helper ? d.position.top - g.top: d.position.top), j && (d.size.width = d.size.height * e.aspectRatio), d.position.top = d._helper ? g.top: 0), - d.offset.left = d.parentData.left + d.position.left, - d.offset.top = d.parentData.top + d.position.top; - var m = Math.abs((d._helper ? d.offset.left - k.left: d.offset.left - k.left) + d.sizeDiff.width), - n = Math.abs((d._helper ? d.offset.top - k.top: d.offset.top - g.top) + d.sizeDiff.height), - o = d.containerElement.get(0) == d.element.parent().get(0), - p = /relative|absolute/.test(d.containerElement.css("position")); - o && p && (m -= d.parentData.left), - m + d.size.width >= d.parentData.width && (d.size.width = d.parentData.width - m, j && (d.size.height = d.size.width / d.aspectRatio)), - n + d.size.height >= d.parentData.height && (d.size.height = d.parentData.height - n, j && (d.size.width = d.size.height * d.aspectRatio)) - }, - stop: function(b, c) { - var d = a(this).data("resizable"), - e = d.options, - f = d.position, - g = d.containerOffset, - h = d.containerPosition, - i = d.containerElement, - j = a(d.helper), - k = j.offset(), - l = j.outerWidth() - d.sizeDiff.width, - m = j.outerHeight() - d.sizeDiff.height; - d._helper && !e.animate && /relative/.test(i.css("position")) && a(this).css({ - left: k.left - h.left - g.left, - width: l, - height: m - }), - d._helper && !e.animate && /static/.test(i.css("position")) && a(this).css({ - left: k.left - h.left - g.left, - width: l, - height: m - }) - } - }), - a.ui.plugin.add("resizable", "ghost", { - start: function(b, c) { - var d = a(this).data("resizable"), - e = d.options, - f = d.size; - d.ghost = d.originalElement.clone(), - d.ghost.css({ - opacity: .25, - display: "block", - position: "relative", - height: f.height, - width: f.width, - margin: 0, - left: 0, - top: 0 - }).addClass("ui-resizable-ghost").addClass(typeof e.ghost == "string" ? e.ghost: ""), - d.ghost.appendTo(d.helper) - }, - resize: function(b, c) { - var d = a(this).data("resizable"), - e = d.options; - d.ghost && d.ghost.css({ - position: "relative", - height: d.size.height, - width: d.size.width - }) - }, - stop: function(b, c) { - var d = a(this).data("resizable"), - e = d.options; - d.ghost && d.helper && d.helper.get(0).removeChild(d.ghost.get(0)) - } - }), - a.ui.plugin.add("resizable", "grid", { - resize: function(b, c) { - var d = a(this).data("resizable"), - e = d.options, - f = d.size, - g = d.originalSize, - h = d.originalPosition, - i = d.axis, - j = e._aspectRatio || b.shiftKey; - e.grid = typeof e.grid == "number" ? [e.grid, e.grid] : e.grid; - var k = Math.round((f.width - g.width) / (e.grid[0] || 1)) * (e.grid[0] || 1), - l = Math.round((f.height - g.height) / (e.grid[1] || 1)) * (e.grid[1] || 1); - /^(se|s|e)$/.test(i) ? (d.size.width = g.width + k, d.size.height = g.height + l) : /^(ne)$/.test(i) ? (d.size.width = g.width + k, d.size.height = g.height + l, d.position.top = h.top - l) : /^(sw)$/.test(i) ? (d.size.width = g.width + k, d.size.height = g.height + l, d.position.left = h.left - k) : (d.size.width = g.width + k, d.size.height = g.height + l, d.position.top = h.top - l, d.position.left = h.left - k) - } - }); - var c = function(a) { - return parseInt(a, 10) || 0 - }, - d = function(a) { - return ! isNaN(parseInt(a, 10)) - } -})(jQuery); -/* - * jQuery UI Selectable 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Selectables - * - * Depends: - * jquery.ui.core.js - * jquery.ui.mouse.js - * jquery.ui.widget.js - */ -(function(a, b) { - a.widget("ui.selectable", a.ui.mouse, { - options: { - appendTo: "body", - autoRefresh: !0, - distance: 0, - filter: "*", - tolerance: "touch" - }, - _create: function() { - var b = this; - this.element.addClass("ui-selectable"), - this.dragged = !1; - var c; - this.refresh = function() { - c = a(b.options.filter, b.element[0]), - c.addClass("ui-selectee"), - c.each(function() { - var b = a(this), - c = b.offset(); - a.data(this, "selectable-item", { - element: this, - $element: b, - left: c.left, - top: c.top, - right: c.left + b.outerWidth(), - bottom: c.top + b.outerHeight(), - startselected: !1, - selected: b.hasClass("ui-selected"), - selecting: b.hasClass("ui-selecting"), - unselecting: b.hasClass("ui-unselecting") - }) - }) - }, - this.refresh(), - this.selectees = c.addClass("ui-selectee"), - this._mouseInit(), - this.helper = a("
") - }, - destroy: function() { - this.selectees.removeClass("ui-selectee").removeData("selectable-item"), - this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable"), - this._mouseDestroy(); - return this - }, - _mouseStart: function(b) { - var c = this; - this.opos = [b.pageX, b.pageY]; - if (!this.options.disabled) { - var d = this.options; - this.selectees = a(d.filter, this.element[0]), - this._trigger("start", b), - a(d.appendTo).append(this.helper), - this.helper.css({ - left: b.clientX, - top: b.clientY, - width: 0, - height: 0 - }), - d.autoRefresh && this.refresh(), - this.selectees.filter(".ui-selected").each(function() { - var d = a.data(this, "selectable-item"); - d.startselected = !0, - !b.metaKey && !b.ctrlKey && (d.$element.removeClass("ui-selected"), d.selected = !1, d.$element.addClass("ui-unselecting"), d.unselecting = !0, c._trigger("unselecting", b, { - unselecting: d.element - })) - }), - a(b.target).parents().andSelf().each(function() { - var d = a.data(this, "selectable-item"); - if (d) { - var e = !b.metaKey && !b.ctrlKey || !d.$element.hasClass("ui-selected"); - d.$element.removeClass(e ? "ui-unselecting": "ui-selected").addClass(e ? "ui-selecting": "ui-unselecting"), - d.unselecting = !e, - d.selecting = e, - d.selected = e, - e ? c._trigger("selecting", b, { - selecting: d.element - }) : c._trigger("unselecting", b, { - unselecting: d.element - }); - return ! 1 - } - }) - } - }, - _mouseDrag: function(b) { - var c = this; - this.dragged = !0; - if (!this.options.disabled) { - var d = this.options, - e = this.opos[0], - f = this.opos[1], - g = b.pageX, - h = b.pageY; - if (e > g) { - var i = g; - g = e, - e = i - } - if (f > h) { - var i = h; - h = f, - f = i - } - this.helper.css({ - left: e, - top: f, - width: g - e, - height: h - f - }), - this.selectees.each(function() { - var i = a.data(this, "selectable-item"); - if ( !! i && i.element != c.element[0]) { - var j = !1; - d.tolerance == "touch" ? j = !(i.left > g || i.right < e || i.top > h || i.bottom < f) : d.tolerance == "fit" && (j = i.left > e && i.right < g && i.top > f && i.bottom < h), - j ? (i.selected && (i.$element.removeClass("ui-selected"), i.selected = !1), i.unselecting && (i.$element.removeClass("ui-unselecting"), i.unselecting = !1), i.selecting || (i.$element.addClass("ui-selecting"), i.selecting = !0, c._trigger("selecting", b, { - selecting: i.element - }))) : (i.selecting && ((b.metaKey || b.ctrlKey) && i.startselected ? (i.$element.removeClass("ui-selecting"), i.selecting = !1, i.$element.addClass("ui-selected"), i.selected = !0) : (i.$element.removeClass("ui-selecting"), i.selecting = !1, i.startselected && (i.$element.addClass("ui-unselecting"), i.unselecting = !0), c._trigger("unselecting", b, { - unselecting: i.element - }))), i.selected && !b.metaKey && !b.ctrlKey && !i.startselected && (i.$element.removeClass("ui-selected"), i.selected = !1, i.$element.addClass("ui-unselecting"), i.unselecting = !0, c._trigger("unselecting", b, { - unselecting: i.element - }))) - } - }); - return ! 1 - } - }, - _mouseStop: function(b) { - var c = this; - this.dragged = !1; - var d = this.options; - a(".ui-unselecting", this.element[0]).each(function() { - var d = a.data(this, "selectable-item"); - d.$element.removeClass("ui-unselecting"), - d.unselecting = !1, - d.startselected = !1, - c._trigger("unselected", b, { - unselected: d.element - }) - }), - a(".ui-selecting", this.element[0]).each(function() { - var d = a.data(this, "selectable-item"); - d.$element.removeClass("ui-selecting").addClass("ui-selected"), - d.selecting = !1, - d.selected = !0, - d.startselected = !0, - c._trigger("selected", b, { - selected: d.element - }) - }), - this._trigger("stop", b), - this.helper.remove(); - return ! 1 - } - }), - a.extend(a.ui.selectable, { - version: "1.8.18" - }) -})(jQuery); -/* - * jQuery UI Sortable 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Sortables - * - * Depends: - * jquery.ui.core.js - * jquery.ui.mouse.js - * jquery.ui.widget.js - */ -(function(a, b) { - a.widget("ui.sortable", a.ui.mouse, { - widgetEventPrefix: "sort", - ready: !1, - options: { - appendTo: "parent", - axis: !1, - connectWith: !1, - containment: !1, - cursor: "auto", - cursorAt: !1, - dropOnEmpty: !0, - forcePlaceholderSize: !1, - forceHelperSize: !1, - grid: !1, - handle: !1, - helper: "original", - items: "> *", - opacity: !1, - placeholder: !1, - revert: !1, - scroll: !0, - scrollSensitivity: 20, - scrollSpeed: 20, - scope: "default", - tolerance: "intersect", - zIndex: 1e3 - }, - _create: function() { - var a = this.options; - this.containerCache = {}, - this.element.addClass("ui-sortable"), - this.refresh(), - this.floating = this.items.length ? a.axis === "x" || /left|right/.test(this.items[0].item.css("float")) || /inline|table-cell/.test(this.items[0].item.css("display")) : !1, - this.offset = this.element.offset(), - this._mouseInit(), - this.ready = !0 - }, - destroy: function() { - a.Widget.prototype.destroy.call(this), - this.element.removeClass("ui-sortable ui-sortable-disabled"), - this._mouseDestroy(); - for (var b = this.items.length - 1; b >= 0; b--) this.items[b].item.removeData(this.widgetName + "-item"); - return this - }, - _setOption: function(b, c) { - b === "disabled" ? (this.options[b] = c, this.widget()[c ? "addClass": "removeClass"]("ui-sortable-disabled")) : a.Widget.prototype._setOption.apply(this, arguments) - }, - _mouseCapture: function(b, c) { - var d = this; - if (this.reverting) return ! 1; - if (this.options.disabled || this.options.type == "static") return ! 1; - this._refreshItems(b); - var e = null, - f = this, - g = a(b.target).parents().each(function() { - if (a.data(this, d.widgetName + "-item") == f) { - e = a(this); - return ! 1 - } - }); - a.data(b.target, d.widgetName + "-item") == f && (e = a(b.target)); - if (!e) return ! 1; - if (this.options.handle && !c) { - var h = !1; - a(this.options.handle, e).find("*").andSelf().each(function() { - this == b.target && (h = !0) - }); - if (!h) return ! 1 - } - this.currentItem = e, - - this._removeCurrentsFromItems(); - return ! 0 - }, - _mouseStart: function(b, c, d) { - var e = this.options, - f = this; - this.currentContainer = this, - this.refreshPositions(), - this.helper = this._createHelper(b), - this._cacheHelperProportions(), - this._cacheMargins(), - this.scrollParent = this.helper.scrollParent(), - this.offset = this.currentItem.offset(), - this.offset = { - top: this.offset.top - this.margins.top, - left: this.offset.left - this.margins.left - }, - this.helper.css("position", "absolute"), - this.cssPosition = this.helper.css("position"), - a.extend(this.offset, { - click: { - left: b.pageX - this.offset.left, - top: b.pageY - this.offset.top - }, - parent: this._getParentOffset(), - relative: this._getRelativeOffset() - }), - this.originalPosition = this._generatePosition(b), - this.originalPageX = b.pageX, - this.originalPageY = b.pageY, - e.cursorAt && this._adjustOffsetFromHelper(e.cursorAt), - this.domPosition = { - prev: this.currentItem.prev()[0], - parent: this.currentItem.parent()[0] - }, - this.helper[0] != this.currentItem[0] && this.currentItem.hide(), - this._createPlaceholder(), - e.containment && this._setContainment(), - e.cursor && (a("body").css("cursor") && (this._storedCursor = a("body").css("cursor")), a("body").css("cursor", e.cursor)), - e.opacity && (this.helper.css("opacity") && (this._storedOpacity = this.helper.css("opacity")), this.helper.css("opacity", e.opacity)), - e.zIndex && (this.helper.css("zIndex") && (this._storedZIndex = this.helper.css("zIndex")), this.helper.css("zIndex", e.zIndex)), - this.scrollParent[0] != document && this.scrollParent[0].tagName != "HTML" && (this.overflowOffset = this.scrollParent.offset()), - this._trigger("start", b, this._uiHash()), - this._preserveHelperProportions || this._cacheHelperProportions(); - if (!d) for (var g = this.containers.length - 1; g >= 0; g--) this.containers[g]._trigger("activate", b, f._uiHash(this)); - a.ui.ddmanager && (a.ui.ddmanager.current = this), - a.ui.ddmanager && !e.dropBehaviour && a.ui.ddmanager.prepareOffsets(this, b), - this.dragging = !0, - this.helper.addClass("ui-sortable-helper"), - this._mouseDrag(b); - return ! 0 - }, - _mouseDrag: function(b) { - this.position = this._generatePosition(b), - this.positionAbs = this._convertPositionTo("absolute"), - this.lastPositionAbs || (this.lastPositionAbs = this.positionAbs); - if (this.options.scroll) { - var c = this.options, - d = !1; - this.scrollParent[0] != document && this.scrollParent[0].tagName != "HTML" ? (this.overflowOffset.top + this.scrollParent[0].offsetHeight - b.pageY < c.scrollSensitivity ? this.scrollParent[0].scrollTop = d = this.scrollParent[0].scrollTop + c.scrollSpeed: b.pageY - this.overflowOffset.top < c.scrollSensitivity && (this.scrollParent[0].scrollTop = d = this.scrollParent[0].scrollTop - c.scrollSpeed), this.overflowOffset.left + this.scrollParent[0].offsetWidth - b.pageX < c.scrollSensitivity ? this.scrollParent[0].scrollLeft = d = this.scrollParent[0].scrollLeft + c.scrollSpeed: b.pageX - this.overflowOffset.left < c.scrollSensitivity && (this.scrollParent[0].scrollLeft = d = this.scrollParent[0].scrollLeft - c.scrollSpeed)) : (b.pageY - a(document).scrollTop() < c.scrollSensitivity ? d = a(document).scrollTop(a(document).scrollTop() - c.scrollSpeed) : a(window).height() - (b.pageY - a(document).scrollTop()) < c.scrollSensitivity && (d = a(document).scrollTop(a(document).scrollTop() + c.scrollSpeed)), b.pageX - a(document).scrollLeft() < c.scrollSensitivity ? d = a(document).scrollLeft(a(document).scrollLeft() - c.scrollSpeed) : a(window).width() - (b.pageX - a(document).scrollLeft()) < c.scrollSensitivity && (d = a(document).scrollLeft(a(document).scrollLeft() + c.scrollSpeed))), - d !== !1 && a.ui.ddmanager && !c.dropBehaviour && a.ui.ddmanager.prepareOffsets(this, b) - } - this.positionAbs = this._convertPositionTo("absolute"); - if (!this.options.axis || this.options.axis != "y") this.helper[0].style.left = this.position.left + "px"; - if (!this.options.axis || this.options.axis != "x") this.helper[0].style.top = this.position.top + "px"; - for (var e = this.items.length - 1; e >= 0; e--) { - var f = this.items[e], - g = f.item[0], - h = this._intersectsWithPointer(f); - if (!h) continue; - if (g != this.currentItem[0] && this.placeholder[h == 1 ? "next": "prev"]()[0] != g && !a.ui.contains(this.placeholder[0], g) && (this.options.type == "semi-dynamic" ? !a.ui.contains(this.element[0], g) : !0)) { - this.direction = h == 1 ? "down": "up"; - if (this.options.tolerance == "pointer" || this._intersectsWithSides(f)) this._rearrange(b, f); - else break; - this._trigger("change", b, this._uiHash()); - break - } - } - this._contactContainers(b), - a.ui.ddmanager && a.ui.ddmanager.drag(this, b), - this._trigger("sort", b, this._uiHash()), - this.lastPositionAbs = this.positionAbs; - return ! 1 - }, - _mouseStop: function(b, c) { - if ( !! b) { - a.ui.ddmanager && !this.options.dropBehaviour && a.ui.ddmanager.drop(this, b); - if (this.options.revert) { - var d = this, - e = d.placeholder.offset(); - d.reverting = !0, - a(this.helper).animate({ - left: e.left - this.offset.parent.left - d.margins.left + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollLeft), - top: e.top - this.offset.parent.top - d.margins.top + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollTop) - }, - parseInt(this.options.revert, 10) || 500, - function() { - d._clear(b) - }) - } else this._clear(b, c); - return ! 1 - } - }, - cancel: function() { - var b = this; - if (this.dragging) { - this._mouseUp({ - target: null - }), - this.options.helper == "original" ? this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper") : this.currentItem.show(); - for (var c = this.containers.length - 1; c >= 0; c--) this.containers[c]._trigger("deactivate", null, b._uiHash(this)), - this.containers[c].containerCache.over && (this.containers[c]._trigger("out", null, b._uiHash(this)), this.containers[c].containerCache.over = 0) - } - this.placeholder && (this.placeholder[0].parentNode && this.placeholder[0].parentNode.removeChild(this.placeholder[0]), this.options.helper != "original" && this.helper && this.helper[0].parentNode && this.helper.remove(), a.extend(this, { - helper: null, - dragging: !1, - reverting: !1, - _noFinalSort: null - }), this.domPosition.prev ? a(this.domPosition.prev).after(this.currentItem) : a(this.domPosition.parent).prepend(this.currentItem)); - return this - }, - serialize: function(b) { - var c = this._getItemsAsjQuery(b && b.connected), - d = []; - b = b || {}, - a(c).each(function() { - var c = (a(b.item || this).attr(b.attribute || "id") || "").match(b.expression || /(.+)[-=_](.+)/); - c && d.push((b.key || c[1] + "[]") + "=" + (b.key && b.expression ? c[1] : c[2])) - }), - !d.length && b.key && d.push(b.key + "="); - return d.join("&") - }, - toArray: function(b) { - var c = this._getItemsAsjQuery(b && b.connected), - d = []; - b = b || {}, - c.each(function() { - d.push(a(b.item || this).attr(b.attribute || "id") || "") - }); - return d - }, - _intersectsWith: function(a) { - var b = this.positionAbs.left, - c = b + this.helperProportions.width, - d = this.positionAbs.top, - e = d + this.helperProportions.height, - f = a.left, - g = f + a.width, - h = a.top, - i = h + a.height, - j = this.offset.click.top, - k = this.offset.click.left, - l = d + j > h && d + j < i && b + k > f && b + k < g; - return this.options.tolerance == "pointer" || this.options.forcePointerForContainers || this.options.tolerance != "pointer" && this.helperProportions[this.floating ? "width": "height"] > a[this.floating ? "width": "height"] ? l: f < b + this.helperProportions.width / 2 && c - this.helperProportions.width / 2 < g && h < d + this.helperProportions.height / 2 && e - this.helperProportions.height / 2 < i - }, - _intersectsWithPointer: function(b) { - var c = a.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, b.top, b.height), - d = a.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, b.left, b.width), - e = c && d, - f = this._getDragVerticalDirection(), - g = this._getDragHorizontalDirection(); - if (!e) return ! 1; - return this.floating ? g && g == "right" || f == "down" ? 2 : 1 : f && (f == "down" ? 2 : 1) - }, - _intersectsWithSides: function(b) { - var c = a.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, b.top + b.height / 2, b.height), - d = a.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, b.left + b.width / 2, b.width), - e = this._getDragVerticalDirection(), - f = this._getDragHorizontalDirection(); - return this.floating && f ? f == "right" && d || f == "left" && !d: e && (e == "down" && c || e == "up" && !c) - }, - _getDragVerticalDirection: function() { - var a = this.positionAbs.top - this.lastPositionAbs.top; - return a != 0 && (a > 0 ? "down": "up") - }, - _getDragHorizontalDirection: function() { - var a = this.positionAbs.left - this.lastPositionAbs.left; - return a != 0 && (a > 0 ? "right": "left") - }, - refresh: function(a) { - this._refreshItems(a), - this.refreshPositions(); - return this - }, - _connectWith: function() { - var a = this.options; - return a.connectWith.constructor == String ? [a.connectWith] : a.connectWith - }, - _getItemsAsjQuery: function(b) { - var c = this, - d = [], - e = [], - f = this._connectWith(); - if (f && b) for (var g = f.length - 1; g >= 0; g--) { - var h = a(f[g]); - for (var i = h.length - 1; i >= 0; i--) { - var j = a.data(h[i], this.widgetName); - j && j != this && !j.options.disabled && e.push([a.isFunction(j.options.items) ? j.options.items.call(j.element) : a(j.options.items, j.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), j]) - } - } - e.push([a.isFunction(this.options.items) ? this.options.items.call(this.element, null, { - options: this.options, - item: this.currentItem - }) : a(this.options.items, this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), this]); - for (var g = e.length - 1; g >= 0; g--) e[g][0].each(function() { - d.push(this) - }); - return a(d) - }, - _removeCurrentsFromItems: function() { - var a = this.currentItem.find(":data(" + this.widgetName + "-item)"); - for (var b = 0; b < this.items.length; b++) for (var c = 0; c < a.length; c++) a[c] == this.items[b].item[0] && this.items.splice(b, 1) - }, - _refreshItems: function(b) { - this.items = [], - this.containers = [this]; - var c = this.items, - d = this, - e = [[a.isFunction(this.options.items) ? this.options.items.call(this.element[0], b, { - item: this.currentItem - }) : a(this.options.items, this.element), this]], - f = this._connectWith(); - if (f && this.ready) for (var g = f.length - 1; g >= 0; g--) { - var h = a(f[g]); - for (var i = h.length - 1; i >= 0; i--) { - var j = a.data(h[i], this.widgetName); - j && j != this && !j.options.disabled && (e.push([a.isFunction(j.options.items) ? j.options.items.call(j.element[0], b, { - item: this.currentItem - }) : a(j.options.items, j.element), j]), this.containers.push(j)) - } - } - for (var g = e.length - 1; g >= 0; g--) { - var k = e[g][1], - l = e[g][0]; - for (var i = 0, - m = l.length; i < m; i++) { - var n = a(l[i]); - n.data(this.widgetName + "-item", k), - c.push({ - item: n, - instance: k, - width: 0, - height: 0, - left: 0, - top: 0 - }) - } - } - }, - refreshPositions: function(b) { - this.offsetParent && this.helper && (this.offset.parent = this._getParentOffset()); - for (var c = this.items.length - 1; c >= 0; c--) { - var d = this.items[c]; - if (d.instance != this.currentContainer && this.currentContainer && d.item[0] != this.currentItem[0]) continue; - var e = this.options.toleranceElement ? a(this.options.toleranceElement, d.item) : d.item; - b || (d.width = e.outerWidth(), d.height = e.outerHeight()); - var f = e.offset(); - d.left = f.left, - d.top = f.top - } - if (this.options.custom && this.options.custom.refreshContainers) this.options.custom.refreshContainers.call(this); - else for (var c = this.containers.length - 1; c >= 0; c--) { - var f = this.containers[c].element.offset(); - this.containers[c].containerCache.left = f.left, - this.containers[c].containerCache.top = f.top, - this.containers[c].containerCache.width = this.containers[c].element.outerWidth(), - this.containers[c].containerCache.height = this.containers[c].element.outerHeight() - } - return this - }, - _createPlaceholder: function(b) { - var c = b || this, - d = c.options; - if (!d.placeholder || d.placeholder.constructor == String) { - var e = d.placeholder; - d.placeholder = { - element: function() { - var b = a(document.createElement(c.currentItem[0].nodeName)).addClass(e || c.currentItem[0].className + " ui-sortable-placeholder").removeClass("ui-sortable-helper")[0]; - e || (b.style.visibility = "hidden"); - return b - }, - update: function(a, b) { - if (!e || !!d.forcePlaceholderSize) b.height() || b.height(c.currentItem.innerHeight() - parseInt(c.currentItem.css("paddingTop") || 0, 10) - parseInt(c.currentItem.css("paddingBottom") || 0, 10)), - b.width() || b.width(c.currentItem.innerWidth() - parseInt(c.currentItem.css("paddingLeft") || 0, 10) - parseInt(c.currentItem.css("paddingRight") || 0, 10)) - } - } - } - c.placeholder = a(d.placeholder.element.call(c.element, c.currentItem)), - c.currentItem.after(c.placeholder), - d.placeholder.update(c, c.placeholder) - }, - _contactContainers: function(b) { - var c = null, - d = null; - for (var e = this.containers.length - 1; e >= 0; e--) { - if (a.ui.contains(this.currentItem[0], this.containers[e].element[0])) continue; - if (this._intersectsWith(this.containers[e].containerCache)) { - if (c && a.ui.contains(this.containers[e].element[0], c.element[0])) continue; - c = this.containers[e], - d = e - } else this.containers[e].containerCache.over && (this.containers[e]._trigger("out", b, this._uiHash(this)), this.containers[e].containerCache.over = 0) - } - if ( !! c) if (this.containers.length === 1) this.containers[d]._trigger("over", b, this._uiHash(this)), - this.containers[d].containerCache.over = 1; - else if (this.currentContainer != this.containers[d]) { - var f = 1e4, - g = null, - h = this.positionAbs[this.containers[d].floating ? "left": "top"]; - for (var i = this.items.length - 1; i >= 0; i--) { - if (!a.ui.contains(this.containers[d].element[0], this.items[i].item[0])) continue; - var j = this.items[i][this.containers[d].floating ? "left": "top"]; - Math.abs(j - h) < f && (f = Math.abs(j - h), g = this.items[i]) - } - if (!g && !this.options.dropOnEmpty) return; - this.currentContainer = this.containers[d], - g ? this._rearrange(b, g, null, !0) : this._rearrange(b, null, this.containers[d].element, !0), - this._trigger("change", b, this._uiHash()), - this.containers[d]._trigger("change", b, this._uiHash(this)), - this.options.placeholder.update(this.currentContainer, this.placeholder), - this.containers[d]._trigger("over", b, this._uiHash(this)), - this.containers[d].containerCache.over = 1 - } - }, - _createHelper: function(b) { - var c = this.options, - d = a.isFunction(c.helper) ? a(c.helper.apply(this.element[0], [b, this.currentItem])) : c.helper == "clone" ? this.currentItem.clone() : this.currentItem; - d.parents("body").length || a(c.appendTo != "parent" ? c.appendTo: this.currentItem[0].parentNode)[0].appendChild(d[0]), - d[0] == this.currentItem[0] && (this._storedCSS = { - width: this.currentItem[0].style.width, - height: this.currentItem[0].style.height, - position: this.currentItem.css("position"), - top: this.currentItem.css("top"), - left: this.currentItem.css("left") - }), - (d[0].style.width == "" || c.forceHelperSize) && d.width(this.currentItem.width()), - (d[0].style.height == "" || c.forceHelperSize) && d.height(this.currentItem.height()); - return d - }, - _adjustOffsetFromHelper: function(b) { - typeof b == "string" && (b = b.split(" ")), - a.isArray(b) && (b = { - left: +b[0], - top: +b[1] || 0 - }), - "left" in b && (this.offset.click.left = b.left + this.margins.left), - "right" in b && (this.offset.click.left = this.helperProportions.width - b.right + this.margins.left), - "top" in b && (this.offset.click.top = b.top + this.margins.top), - "bottom" in b && (this.offset.click.top = this.helperProportions.height - b.bottom + this.margins.top) - }, - _getParentOffset: function() { - this.offsetParent = this.helper.offsetParent(); - var b = this.offsetParent.offset(); - this.cssPosition == "absolute" && this.scrollParent[0] != document && a.ui.contains(this.scrollParent[0], this.offsetParent[0]) && (b.left += this.scrollParent.scrollLeft(), b.top += this.scrollParent.scrollTop()); - if (this.offsetParent[0] == document.body || this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == "html" && a.browser.msie) b = { - top: 0, - left: 0 - }; - return { - top: b.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0), - left: b.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0) - } - }, - _getRelativeOffset: function() { - if (this.cssPosition == "relative") { - var a = this.currentItem.position(); - return { - top: a.top - (parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(), - left: a.left - (parseInt(this.helper.css("left"), 10) || 0) + this.scrollParent.scrollLeft() - } - } - return { - top: 0, - left: 0 - } - }, - _cacheMargins: function() { - this.margins = { - left: parseInt(this.currentItem.css("marginLeft"), 10) || 0, - top: parseInt(this.currentItem.css("marginTop"), 10) || 0 - } - }, - _cacheHelperProportions: function() { - this.helperProportions = { - width: this.helper.outerWidth(), - height: this.helper.outerHeight() - } - }, - _setContainment: function() { - var b = this.options; - b.containment == "parent" && (b.containment = this.helper[0].parentNode); - if (b.containment == "document" || b.containment == "window") this.containment = [0 - this.offset.relative.left - this.offset.parent.left, 0 - this.offset.relative.top - this.offset.parent.top, a(b.containment == "document" ? document: window).width() - this.helperProportions.width - this.margins.left, (a(b.containment == "document" ? document: window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top]; - if (!/^(document|window|parent)$/.test(b.containment)) { - var c = a(b.containment)[0], - d = a(b.containment).offset(), - e = a(c).css("overflow") != "hidden"; - this.containment = [d.left + (parseInt(a(c).css("borderLeftWidth"), 10) || 0) + (parseInt(a(c).css("paddingLeft"), 10) || 0) - this.margins.left, d.top + (parseInt(a(c).css("borderTopWidth"), 10) || 0) + (parseInt(a(c).css("paddingTop"), 10) || 0) - this.margins.top, d.left + (e ? Math.max(c.scrollWidth, c.offsetWidth) : c.offsetWidth) - (parseInt(a(c).css("borderLeftWidth"), 10) || 0) - (parseInt(a(c).css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left, d.top + (e ? Math.max(c.scrollHeight, c.offsetHeight) : c.offsetHeight) - (parseInt(a(c).css("borderTopWidth"), 10) || 0) - (parseInt(a(c).css("paddingBottom"), 10) || 0) - this.helperProportions.height - this.margins.top] - } - }, - _convertPositionTo: function(b, c) { - c || (c = this.position); - var d = b == "absolute" ? 1 : -1, - e = this.options, - f = this.cssPosition == "absolute" && (this.scrollParent[0] == document || !a.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent: this.scrollParent, - g = /(html|body)/i.test(f[0].tagName); - return { - top: c.top + this.offset.relative.top * d + this.offset.parent.top * d - (a.browser.safari && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : g ? 0 : f.scrollTop()) * d), - left: c.left + this.offset.relative.left * d + this.offset.parent.left * d - (a.browser.safari && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : g ? 0 : f.scrollLeft()) * d) - } - }, - _generatePosition: function(b) { - var c = this.options, - d = this.cssPosition == "absolute" && (this.scrollParent[0] == document || !a.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent: this.scrollParent, - e = /(html|body)/i.test(d[0].tagName); - this.cssPosition == "relative" && (this.scrollParent[0] == document || this.scrollParent[0] == this.offsetParent[0]) && (this.offset.relative = this._getRelativeOffset()); - var f = b.pageX, - g = b.pageY; - if (this.originalPosition) { - this.containment && (b.pageX - this.offset.click.left < this.containment[0] && (f = this.containment[0] + this.offset.click.left), b.pageY - this.offset.click.top < this.containment[1] && (g = this.containment[1] + this.offset.click.top), b.pageX - this.offset.click.left > this.containment[2] && (f = this.containment[2] + this.offset.click.left), b.pageY - this.offset.click.top > this.containment[3] && (g = this.containment[3] + this.offset.click.top)); - if (c.grid) { - var h = this.originalPageY + Math.round((g - this.originalPageY) / c.grid[1]) * c.grid[1]; - g = this.containment ? h - this.offset.click.top < this.containment[1] || h - this.offset.click.top > this.containment[3] ? h - this.offset.click.top < this.containment[1] ? h + c.grid[1] : h - c.grid[1] : h: h; - var i = this.originalPageX + Math.round((f - this.originalPageX) / c.grid[0]) * c.grid[0]; - f = this.containment ? i - this.offset.click.left < this.containment[0] || i - this.offset.click.left > this.containment[2] ? i - this.offset.click.left < this.containment[0] ? i + c.grid[0] : i - c.grid[0] : i: i - } - } - return { - top: g - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + (a.browser.safari && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : e ? 0 : d.scrollTop()), - left: f - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + (a.browser.safari && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : e ? 0 : d.scrollLeft()) - } - }, - _rearrange: function(a, b, c, d) { - c ? c[0].appendChild(this.placeholder[0]) : b.item[0].parentNode.insertBefore(this.placeholder[0], this.direction == "down" ? b.item[0] : b.item[0].nextSibling), - this.counter = this.counter ? ++this.counter: 1; - var e = this, - f = this.counter; - window.setTimeout(function() { - f == e.counter && e.refreshPositions(!d) - }, - 0) - }, - _clear: function(b, c) { - this.reverting = !1; - var d = [], - e = this; ! this._noFinalSort && this.currentItem.parent().length && this.placeholder.before(this.currentItem), - this._noFinalSort = null; - if (this.helper[0] == this.currentItem[0]) { - for (var f in this._storedCSS) if (this._storedCSS[f] == "auto" || this._storedCSS[f] == "static") this._storedCSS[f] = ""; - this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper") - } else this.currentItem.show(); - this.fromOutside && !c && d.push(function(a) { - this._trigger("receive", a, this._uiHash(this.fromOutside)) - }), - (this.fromOutside || this.domPosition.prev != this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent != this.currentItem.parent()[0]) && !c && d.push(function(a) { - this._trigger("update", a, this._uiHash()) - }); - if (!a.ui.contains(this.element[0], this.currentItem[0])) { - c || d.push(function(a) { - this._trigger("remove", a, this._uiHash()) - }); - for (var f = this.containers.length - 1; f >= 0; f--) a.ui.contains(this.containers[f].element[0], this.currentItem[0]) && !c && (d.push(function(a) { - return function(b) { - a._trigger("receive", b, this._uiHash(this)) - } - }.call(this, this.containers[f])), d.push(function(a) { - return function(b) { - a._trigger("update", b, this._uiHash(this)) - } - }.call(this, this.containers[f]))) - } - for (var f = this.containers.length - 1; f >= 0; f--) c || d.push(function(a) { - return function(b) { - a._trigger("deactivate", b, this._uiHash(this)) - } - }.call(this, this.containers[f])), - this.containers[f].containerCache.over && (d.push(function(a) { - return function(b) { - a._trigger("out", b, this._uiHash(this)) - } - }.call(this, this.containers[f])), this.containers[f].containerCache.over = 0); - this._storedCursor && a("body").css("cursor", this._storedCursor), - this._storedOpacity && this.helper.css("opacity", this._storedOpacity), - this._storedZIndex && this.helper.css("zIndex", this._storedZIndex == "auto" ? "": this._storedZIndex), - this.dragging = !1; - if (this.cancelHelperRemoval) { - if (!c) { - this._trigger("beforeStop", b, this._uiHash()); - for (var f = 0; f < d.length; f++) d[f].call(this, b); - this._trigger("stop", b, this._uiHash()) - } - return ! 1 - } - c || this._trigger("beforeStop", b, this._uiHash()), - this.placeholder[0].parentNode.removeChild(this.placeholder[0]), - this.helper[0] != this.currentItem[0] && this.helper.remove(), - this.helper = null; - if (!c) { - for (var f = 0; f < d.length; f++) d[f].call(this, b); - this._trigger("stop", b, this._uiHash()) - } - this.fromOutside = !1; - return ! 0 - }, - _trigger: function() { - a.Widget.prototype._trigger.apply(this, arguments) === !1 && this.cancel() - }, - _uiHash: function(b) { - var c = b || this; - return { - helper: c.helper, - placeholder: c.placeholder || a([]), - position: c.position, - originalPosition: c.originalPosition, - offset: c.positionAbs, - item: c.currentItem, - sender: b ? b.element: null - } - } - }), - a.extend(a.ui.sortable, { - version: "1.8.18" - }) -})(jQuery); -/* - * jQuery UI Datepicker 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Datepicker - * - * Depends: - * jquery.ui.core.js - */ -(function($, undefined) { - function isArray(a) { - return a && ($.browser.safari && typeof a == "object" && a.length || a.constructor && a.constructor.toString().match(/\Array\(\)/)) - } - function extendRemove(a, b) { - $.extend(a, b); - for (var c in b) if (b[c] == null || b[c] == undefined) a[c] = b[c]; - return a - } - function bindHover(a) { - var b = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a"; - return a.bind("mouseout", - function(a) { - var c = $(a.target).closest(b); ! c.length || c.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover") - }).bind("mouseover", - function(c) { - var d = $(c.target).closest(b); ! $.datepicker._isDisabledDatepicker(instActive.inline ? a.parent()[0] : instActive.input[0]) && !!d.length && (d.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"), d.addClass("ui-state-hover"), d.hasClass("ui-datepicker-prev") && d.addClass("ui-datepicker-prev-hover"), d.hasClass("ui-datepicker-next") && d.addClass("ui-datepicker-next-hover")) - }) - } - function Datepicker() { - this.debug = !1, - this._curInst = null, - this._keyEvent = !1, - this._disabledInputs = [], - this._datepickerShowing = !1, - this._inDialog = !1, - this._mainDivId = "ui-datepicker-div", - this._inlineClass = "ui-datepicker-inline", - this._appendClass = "ui-datepicker-append", - this._triggerClass = "ui-datepicker-trigger", - this._dialogClass = "ui-datepicker-dialog", - this._disableClass = "ui-datepicker-disabled", - this._unselectableClass = "ui-datepicker-unselectable", - this._currentClass = "ui-datepicker-current-day", - this._dayOverClass = "ui-datepicker-days-cell-over", - this.regional = [], - this.regional[""] = { - closeText: "Done", - prevText: "Prev", - nextText: "Next", - currentText: "Today", - monthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], - monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], - dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], - dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], - dayNamesMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], - weekHeader: "Wk", - dateFormat: "mm/dd/yy", - firstDay: 0, - isRTL: !1, - showMonthAfterYear: !1, - yearSuffix: "" - }, - this._defaults = { - showOn: "focus", - showAnim: "fadeIn", - showOptions: {}, - defaultDate: null, - appendText: "", - buttonText: "...", - buttonImage: "", - buttonImageOnly: !1, - hideIfNoPrevNext: !1, - navigationAsDateFormat: !1, - gotoCurrent: !1, - changeMonth: !1, - changeYear: !1, - yearRange: "c-10:c+10", - showOtherMonths: !1, - selectOtherMonths: !1, - showWeek: !1, - calculateWeek: this.iso8601Week, - shortYearCutoff: "+10", - minDate: null, - maxDate: null, - duration: "fast", - beforeShowDay: null, - beforeShow: null, - onSelect: null, - onChangeMonthYear: null, - onClose: null, - numberOfMonths: 1, - showCurrentAtPos: 0, - stepMonths: 1, - stepBigMonths: 12, - altField: "", - altFormat: "", - constrainInput: !0, - showButtonPanel: !1, - autoSize: !1, - disabled: !1 - }, - $.extend(this._defaults, this.regional[""]), - this.dpDiv = bindHover($('
')) - } - $.extend($.ui, { - datepicker: { - version: "1.8.18" - } - }); - var PROP_NAME = "datepicker", - dpuuid = (new Date).getTime(), - instActive; - $.extend(Datepicker.prototype, { - markerClassName: "hasDatepicker", - maxRows: 4, - log: function() { - this.debug && console.log.apply("", arguments) - }, - _widgetDatepicker: function() { - return this.dpDiv - }, - setDefaults: function(a) { - extendRemove(this._defaults, a || {}); - return this - }, - _attachDatepicker: function(target, settings) { - var inlineSettings = null; - for (var attrName in this._defaults) { - var attrValue = target.getAttribute("date:" + attrName); - if (attrValue) { - inlineSettings = inlineSettings || {}; - try { - inlineSettings[attrName] = eval(attrValue) - } catch(err) { - inlineSettings[attrName] = attrValue - } - } - } - var nodeName = target.nodeName.toLowerCase(), - inline = nodeName == "div" || nodeName == "span"; - target.id || (this.uuid += 1, target.id = "dp" + this.uuid); - var inst = this._newInst($(target), inline); - inst.settings = $.extend({}, - settings || {}, - inlineSettings || {}), - nodeName == "input" ? this._connectDatepicker(target, inst) : inline && this._inlineDatepicker(target, inst) - }, - _newInst: function(a, b) { - var c = a[0].id.replace(/([^A-Za-z0-9_-])/g, "\\\\$1"); - return { - id: c, - input: a, - selectedDay: 0, - selectedMonth: 0, - selectedYear: 0, - drawMonth: 0, - drawYear: 0, - inline: b, - dpDiv: b ? bindHover($('
')) : this.dpDiv - } - }, - _connectDatepicker: function(a, b) { - var c = $(a); - b.append = $([]), - b.trigger = $([]); - c.hasClass(this.markerClassName) || (this._attachments(c, b), c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker", - function(a, c, d) { - b.settings[c] = d - }).bind("getData.datepicker", - function(a, c) { - return this._get(b, c) - }), this._autoSize(b), $.data(a, PROP_NAME, b), b.settings.disabled && this._disableDatepicker(a)) - }, - _attachments: function(a, b) { - var c = this._get(b, "appendText"), - d = this._get(b, "isRTL"); - b.append && b.append.remove(), - c && (b.append = $('' + c + ""), a[d ? "before": "after"](b.append)), - a.unbind("focus", this._showDatepicker), - b.trigger && b.trigger.remove(); - var e = this._get(b, "showOn"); (e == "focus" || e == "both") && a.focus(this._showDatepicker); - if (e == "button" || e == "both") { - var f = this._get(b, "buttonText"), - g = this._get(b, "buttonImage"); - b.trigger = $(this._get(b, "buttonImageOnly") ? $("").addClass(this._triggerClass).attr({ - src: g, - alt: f, - title: f - }) : $('').addClass(this._triggerClass).html(g == "" ? f: $("").attr({ - src: g, - alt: f, - title: f - }))), - a[d ? "before": "after"](b.trigger), - b.trigger.click(function() { - $.datepicker._datepickerShowing && $.datepicker._lastInput == a[0] ? $.datepicker._hideDatepicker() : $.datepicker._datepickerShowing && $.datepicker._lastInput != a[0] ? ($.datepicker._hideDatepicker(), $.datepicker._showDatepicker(a[0])) : $.datepicker._showDatepicker(a[0]); - return ! 1 - }) - } - }, - _autoSize: function(a) { - if (this._get(a, "autoSize") && !a.inline) { - var b = new Date(2009, 11, 20), - c = this._get(a, "dateFormat"); - if (c.match(/[DM]/)) { - var d = function(a) { - var b = 0, - c = 0; - for (var d = 0; d < a.length; d++) a[d].length > b && (b = a[d].length, c = d); - return c - }; - b.setMonth(d(this._get(a, c.match(/MM/) ? "monthNames": "monthNamesShort"))), - b.setDate(d(this._get(a, c.match(/DD/) ? "dayNames": "dayNamesShort")) + 20 - b.getDay()) - } - a.input.attr("size", this._formatDate(a, b).length) - } - }, - _inlineDatepicker: function(a, b) { - var c = $(a); - c.hasClass(this.markerClassName) || (c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker", - function(a, c, d) { - b.settings[c] = d - }).bind("getData.datepicker", - function(a, c) { - return this._get(b, c) - }), $.data(a, PROP_NAME, b), this._setDate(b, this._getDefaultDate(b), !0), this._updateDatepicker(b), this._updateAlternate(b), b.settings.disabled && this._disableDatepicker(a), b.dpDiv.css("display", "block")) - }, - _dialogDatepicker: function(a, b, c, d, e) { - var f = this._dialogInst; - if (!f) { - this.uuid += 1; - var g = "dp" + this.uuid; - this._dialogInput = $(''), - this._dialogInput.keydown(this._doKeyDown), - $("body").append(this._dialogInput), - f = this._dialogInst = this._newInst(this._dialogInput, !1), - f.settings = {}, - $.data(this._dialogInput[0], PROP_NAME, f) - } - extendRemove(f.settings, d || {}), - b = b && b.constructor == Date ? this._formatDate(f, b) : b, - this._dialogInput.val(b), - this._pos = e ? e.length ? e: [e.pageX, e.pageY] : null; - if (!this._pos) { - var h = document.documentElement.clientWidth, - i = document.documentElement.clientHeight, - j = document.documentElement.scrollLeft || document.body.scrollLeft, - k = document.documentElement.scrollTop || document.body.scrollTop; - this._pos = [h / 2 - 100 + j, i / 2 - 150 + k] - } - this._dialogInput.css("left", this._pos[0] + 20 + "px").css("top", this._pos[1] + "px"), - f.settings.onSelect = c, - this._inDialog = !0, - this.dpDiv.addClass(this._dialogClass), - this._showDatepicker(this._dialogInput[0]), - $.blockUI && $.blockUI(this.dpDiv), - $.data(this._dialogInput[0], PROP_NAME, f); - return this - }, - _destroyDatepicker: function(a) { - var b = $(a), - c = $.data(a, PROP_NAME); - if ( !! b.hasClass(this.markerClassName)) { - var d = a.nodeName.toLowerCase(); - $.removeData(a, PROP_NAME), - d == "input" ? (c.append.remove(), c.trigger.remove(), b.removeClass(this.markerClassName).unbind("focus", this._showDatepicker).unbind("keydown", this._doKeyDown).unbind("keypress", this._doKeyPress).unbind("keyup", this._doKeyUp)) : (d == "div" || d == "span") && b.removeClass(this.markerClassName).empty() - } - }, - _enableDatepicker: function(a) { - var b = $(a), - c = $.data(a, PROP_NAME); - if ( !! b.hasClass(this.markerClassName)) { - var d = a.nodeName.toLowerCase(); - if (d == "input") a.disabled = !1, - c.trigger.filter("button").each(function() { - this.disabled = !1 - }).end().filter("img").css({ - opacity: "1.0", - cursor: "" - }); - else if (d == "div" || d == "span") { - var e = b.children("." + this._inlineClass); - e.children().removeClass("ui-state-disabled"), - e.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled") - } - this._disabledInputs = $.map(this._disabledInputs, - function(b) { - return b == a ? null: b - }) - } - }, - _disableDatepicker: function(a) { - var b = $(a), - c = $.data(a, PROP_NAME); - if ( !! b.hasClass(this.markerClassName)) { - var d = a.nodeName.toLowerCase(); - if (d == "input") a.disabled = !0, - c.trigger.filter("button").each(function() { - this.disabled = !0 - }).end().filter("img").css({ - opacity: "0.5", - cursor: "default" - }); - else if (d == "div" || d == "span") { - var e = b.children("." + this._inlineClass); - e.children().addClass("ui-state-disabled"), - e.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled", "disabled") - } - this._disabledInputs = $.map(this._disabledInputs, - function(b) { - return b == a ? null: b - }), - this._disabledInputs[this._disabledInputs.length] = a - } - }, - _isDisabledDatepicker: function(a) { - if (!a) return ! 1; - for (var b = 0; b < this._disabledInputs.length; b++) if (this._disabledInputs[b] == a) return ! 0; - return ! 1 - }, - _getInst: function(a) { - try { - return $.data(a, PROP_NAME) - } catch(b) { - throw "Missing instance data for this datepicker" - } - }, - _optionDatepicker: function(a, b, c) { - var d = this._getInst(a); - if (arguments.length == 2 && typeof b == "string") return b == "defaults" ? $.extend({}, - $.datepicker._defaults) : d ? b == "all" ? $.extend({}, - d.settings) : this._get(d, b) : null; - var e = b || {}; - typeof b == "string" && (e = {}, - e[b] = c); - if (d) { - this._curInst == d && this._hideDatepicker(); - var f = this._getDateDatepicker(a, !0), - g = this._getMinMaxDate(d, "min"), - h = this._getMinMaxDate(d, "max"); - extendRemove(d.settings, e), - g !== null && e.dateFormat !== undefined && e.minDate === undefined && (d.settings.minDate = this._formatDate(d, g)), - h !== null && e.dateFormat !== undefined && e.maxDate === undefined && (d.settings.maxDate = this._formatDate(d, h)), - this._attachments($(a), d), - this._autoSize(d), - this._setDate(d, f), - this._updateAlternate(d), - this._updateDatepicker(d) - } - }, - _changeDatepicker: function(a, b, c) { - this._optionDatepicker(a, b, c) - }, - _refreshDatepicker: function(a) { - var b = this._getInst(a); - b && this._updateDatepicker(b) - }, - _setDateDatepicker: function(a, b) { - var c = this._getInst(a); - c && (this._setDate(c, b), this._updateDatepicker(c), this._updateAlternate(c)) - }, - _getDateDatepicker: function(a, b) { - var c = this._getInst(a); - c && !c.inline && this._setDateFromField(c, b); - return c ? this._getDate(c) : null - }, - _doKeyDown: function(a) { - var b = $.datepicker._getInst(a.target), - c = !0, - d = b.dpDiv.is(".ui-datepicker-rtl"); - b._keyEvent = !0; - if ($.datepicker._datepickerShowing) switch (a.keyCode) { - case 9: - $.datepicker._hideDatepicker(), - c = !1; - break; - case 13: - var e = $("td." + $.datepicker._dayOverClass + ":not(." + $.datepicker._currentClass + ")", b.dpDiv); - e[0] && $.datepicker._selectDay(a.target, b.selectedMonth, b.selectedYear, e[0]); - var f = $.datepicker._get(b, "onSelect"); - if (f) { - var g = $.datepicker._formatDate(b); - f.apply(b.input ? b.input[0] : null, [g, b]) - } else $.datepicker._hideDatepicker(); - return ! 1; - case 27: - $.datepicker._hideDatepicker(); - break; - case 33: - $.datepicker._adjustDate(a.target, a.ctrlKey ? -$.datepicker._get(b, "stepBigMonths") : -$.datepicker._get(b, "stepMonths"), "M"); - break; - case 34: - $.datepicker._adjustDate(a.target, a.ctrlKey ? +$.datepicker._get(b, "stepBigMonths") : +$.datepicker._get(b, "stepMonths"), "M"); - break; - case 35: - (a.ctrlKey || a.metaKey) && $.datepicker._clearDate(a.target), - c = a.ctrlKey || a.metaKey; - break; - case 36: - (a.ctrlKey || a.metaKey) && $.datepicker._gotoToday(a.target), - c = a.ctrlKey || a.metaKey; - break; - case 37: - (a.ctrlKey || a.metaKey) && $.datepicker._adjustDate(a.target, d ? 1 : -1, "D"), - c = a.ctrlKey || a.metaKey, - a.originalEvent.altKey && $.datepicker._adjustDate(a.target, a.ctrlKey ? -$.datepicker._get(b, "stepBigMonths") : -$.datepicker._get(b, "stepMonths"), "M"); - break; - case 38: - (a.ctrlKey || a.metaKey) && $.datepicker._adjustDate(a.target, -7, "D"), - c = a.ctrlKey || a.metaKey; - break; - case 39: - (a.ctrlKey || a.metaKey) && $.datepicker._adjustDate(a.target, d ? -1 : 1, "D"), - c = a.ctrlKey || a.metaKey, - a.originalEvent.altKey && $.datepicker._adjustDate(a.target, a.ctrlKey ? +$.datepicker._get(b, "stepBigMonths") : +$.datepicker._get(b, "stepMonths"), "M"); - break; - case 40: - (a.ctrlKey || a.metaKey) && $.datepicker._adjustDate(a.target, 7, "D"), - c = a.ctrlKey || a.metaKey; - break; - default: - c = !1 - } else a.keyCode == 36 && a.ctrlKey ? $.datepicker._showDatepicker(this) : c = !1; - c && (a.preventDefault(), a.stopPropagation()) - }, - _doKeyPress: function(a) { - var b = $.datepicker._getInst(a.target); - if ($.datepicker._get(b, "constrainInput")) { - var c = $.datepicker._possibleChars($.datepicker._get(b, "dateFormat")), - d = String.fromCharCode(a.charCode == undefined ? a.keyCode: a.charCode); - return a.ctrlKey || a.metaKey || d < " " || !c || c.indexOf(d) > -1 - } - }, - _doKeyUp: function(a) { - var b = $.datepicker._getInst(a.target); - if (b.input.val() != b.lastVal) try { - var c = $.datepicker.parseDate($.datepicker._get(b, "dateFormat"), b.input ? b.input.val() : null, $.datepicker._getFormatConfig(b)); - c && ($.datepicker._setDateFromField(b), $.datepicker._updateAlternate(b), $.datepicker._updateDatepicker(b)) - } catch(a) { - $.datepicker.log(a) - } - return ! 0 - }, - _showDatepicker: function(a) { - a = a.target || a, - a.nodeName.toLowerCase() != "input" && (a = $("input", a.parentNode)[0]); - if (!$.datepicker._isDisabledDatepicker(a) && $.datepicker._lastInput != a) { - var b = $.datepicker._getInst(a); - $.datepicker._curInst && $.datepicker._curInst != b && ($.datepicker._curInst.dpDiv.stop(!0, !0), b && $.datepicker._datepickerShowing && $.datepicker._hideDatepicker($.datepicker._curInst.input[0])); - var c = $.datepicker._get(b, "beforeShow"), - d = c ? c.apply(a, [a, b]) : {}; - if (d === !1) return; - extendRemove(b.settings, d), - b.lastVal = null, - $.datepicker._lastInput = a, - $.datepicker._setDateFromField(b), - $.datepicker._inDialog && (a.value = ""), - $.datepicker._pos || ($.datepicker._pos = $.datepicker._findPos(a), $.datepicker._pos[1] += a.offsetHeight); - var e = !1; - $(a).parents().each(function() { - e |= $(this).css("position") == "fixed"; - return ! e - }), - e && $.browser.opera && ($.datepicker._pos[0] -= document.documentElement.scrollLeft, $.datepicker._pos[1] -= document.documentElement.scrollTop); - var f = { - left: $.datepicker._pos[0], - top: $.datepicker._pos[1] - }; - $.datepicker._pos = null, - b.dpDiv.empty(), - b.dpDiv.css({ - position: "absolute", - display: "block", - top: "-1000px" - }), - $.datepicker._updateDatepicker(b), - f = $.datepicker._checkOffset(b, f, e), - b.dpDiv.css({ - position: $.datepicker._inDialog && $.blockUI ? "static": e ? "fixed": "absolute", - display: "none", - left: f.left + "px", - top: f.top + "px" - }); - if (!b.inline) { - var g = $.datepicker._get(b, "showAnim"), - h = $.datepicker._get(b, "duration"), - i = function() { - var a = b.dpDiv.find("iframe.ui-datepicker-cover"); - if ( !! a.length) { - var c = $.datepicker._getBorders(b.dpDiv); - a.css({ - left: -c[0], - top: -c[1], - width: b.dpDiv.outerWidth(), - height: b.dpDiv.outerHeight() - }) - } - }; - b.dpDiv.zIndex($(a).zIndex() + 1), - $.datepicker._datepickerShowing = !0, - $.effects && $.effects[g] ? b.dpDiv.show(g, $.datepicker._get(b, "showOptions"), h, i) : b.dpDiv[g || "show"](g ? h: null, i), - (!g || !h) && i(), - b.input.is(":visible") && !b.input.is(":disabled") && b.input.focus(), - $.datepicker._curInst = b - } - } - }, - _updateDatepicker: function(a) { - var b = this; - b.maxRows = 4; - var c = $.datepicker._getBorders(a.dpDiv); - instActive = a, - a.dpDiv.empty().append(this._generateHTML(a)); - var d = a.dpDiv.find("iframe.ui-datepicker-cover"); ! d.length || d.css({ - left: -c[0], - top: -c[1], - width: a.dpDiv.outerWidth(), - height: a.dpDiv.outerHeight() - }), - a.dpDiv.find("." + this._dayOverClass + " a").mouseover(); - var e = this._getNumberOfMonths(a), - f = e[1], - g = 17; - a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""), - f > 1 && a.dpDiv.addClass("ui-datepicker-multi-" + f).css("width", g * f + "em"), - a.dpDiv[(e[0] != 1 || e[1] != 1 ? "add": "remove") + "Class"]("ui-datepicker-multi"), - a.dpDiv[(this._get(a, "isRTL") ? "add": "remove") + "Class"]("ui-datepicker-rtl"), - a == $.datepicker._curInst && $.datepicker._datepickerShowing && a.input && a.input.is(":visible") && !a.input.is(":disabled") && a.input[0] != document.activeElement && a.input.focus(); - if (a.yearshtml) { - var h = a.yearshtml; - setTimeout(function() { - h === a.yearshtml && a.yearshtml && a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml), - h = a.yearshtml = null - }, - 0) - } - }, - _getBorders: function(a) { - var b = function(a) { - return { - thin: 1, - medium: 2, - thick: 3 - } [a] || a - }; - return [parseFloat(b(a.css("border-left-width"))), parseFloat(b(a.css("border-top-width")))] - }, - _checkOffset: function(a, b, c) { - var d = a.dpDiv.outerWidth(), - e = a.dpDiv.outerHeight(), - f = a.input ? a.input.outerWidth() : 0, - g = a.input ? a.input.outerHeight() : 0, - h = document.documentElement.clientWidth + $(document).scrollLeft(), - i = document.documentElement.clientHeight + $(document).scrollTop(); - b.left -= this._get(a, "isRTL") ? d - f: 0, - b.left -= c && b.left == a.input.offset().left ? $(document).scrollLeft() : 0, - b.top -= c && b.top == a.input.offset().top + g ? $(document).scrollTop() : 0, - b.left -= Math.min(b.left, b.left + d > h && h > d ? Math.abs(b.left + d - h) : 0), - b.top -= Math.min(b.top, b.top + e > i && i > e ? Math.abs(e + g) : 0); - return b - }, - _findPos: function(a) { - var b = this._getInst(a), - c = this._get(b, "isRTL"); - while (a && (a.type == "hidden" || a.nodeType != 1 || $.expr.filters.hidden(a))) a = a[c ? "previousSibling": "nextSibling"]; - var d = $(a).offset(); - return [d.left, d.top] - }, - _hideDatepicker: function(a) { - var b = this._curInst; - if (! (!b || a && b != $.data(a, PROP_NAME)) && this._datepickerShowing) { - var c = this._get(b, "showAnim"), - d = this._get(b, "duration"), - e = this, - f = function() { - $.datepicker._tidyDialog(b), - e._curInst = null - }; - $.effects && $.effects[c] ? b.dpDiv.hide(c, $.datepicker._get(b, "showOptions"), d, f) : b.dpDiv[c == "slideDown" ? "slideUp": c == "fadeIn" ? "fadeOut": "hide"](c ? d: null, f), - c || f(), - this._datepickerShowing = !1; - var g = this._get(b, "onClose"); - g && g.apply(b.input ? b.input[0] : null, [b.input ? b.input.val() : "", b]), - this._lastInput = null, - this._inDialog && (this._dialogInput.css({ - position: "absolute", - left: "0", - top: "-100px" - }), $.blockUI && ($.unblockUI(), $("body").append(this.dpDiv))), - this._inDialog = !1 - } - }, - _tidyDialog: function(a) { - a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar") - }, - _checkExternalClick: function(a) { - if ( !! $.datepicker._curInst) { - var b = $(a.target), - c = $.datepicker._getInst(b[0]); (b[0].id != $.datepicker._mainDivId && b.parents("#" + $.datepicker._mainDivId).length == 0 && !b.hasClass($.datepicker.markerClassName) && !b.closest("." + $.datepicker._triggerClass).length && $.datepicker._datepickerShowing && (!$.datepicker._inDialog || !$.blockUI) || b.hasClass($.datepicker.markerClassName) && $.datepicker._curInst != c) && $.datepicker._hideDatepicker() - } - }, - _adjustDate: function(a, b, c) { - var d = $(a), - e = this._getInst(d[0]); - this._isDisabledDatepicker(d[0]) || (this._adjustInstDate(e, b + (c == "M" ? this._get(e, "showCurrentAtPos") : 0), c), this._updateDatepicker(e)) - }, - _gotoToday: function(a) { - var b = $(a), - c = this._getInst(b[0]); - if (this._get(c, "gotoCurrent") && c.currentDay) c.selectedDay = c.currentDay, - c.drawMonth = c.selectedMonth = c.currentMonth, - c.drawYear = c.selectedYear = c.currentYear; - else { - var d = new Date; - c.selectedDay = d.getDate(), - c.drawMonth = c.selectedMonth = d.getMonth(), - c.drawYear = c.selectedYear = d.getFullYear() - } - this._notifyChange(c), - this._adjustDate(b) - }, - _selectMonthYear: function(a, b, c) { - var d = $(a), - e = this._getInst(d[0]); - e["selected" + (c == "M" ? "Month": "Year")] = e["draw" + (c == "M" ? "Month": "Year")] = parseInt(b.options[b.selectedIndex].value, 10), - this._notifyChange(e), - this._adjustDate(d) - }, - _selectDay: function(a, b, c, d) { - var e = $(a); - if (!$(d).hasClass(this._unselectableClass) && !this._isDisabledDatepicker(e[0])) { - var f = this._getInst(e[0]); - f.selectedDay = f.currentDay = $("a", d).html(), - f.selectedMonth = f.currentMonth = b, - f.selectedYear = f.currentYear = c, - this._selectDate(a, this._formatDate(f, f.currentDay, f.currentMonth, f.currentYear)) - } - }, - _clearDate: function(a) { - var b = $(a), - c = this._getInst(b[0]); - this._selectDate(b, "") - }, - _selectDate: function(a, b) { - var c = $(a), - d = this._getInst(c[0]); - b = b != null ? b: this._formatDate(d), - d.input && d.input.val(b), - this._updateAlternate(d); - var e = this._get(d, "onSelect"); - e ? e.apply(d.input ? d.input[0] : null, [b, d]) : d.input && d.input.trigger("change"), - d.inline ? this._updateDatepicker(d) : (this._hideDatepicker(), this._lastInput = d.input[0], typeof d.input[0] != "object" && d.input.focus(), this._lastInput = null) - }, - _updateAlternate: function(a) { - var b = this._get(a, "altField"); - if (b) { - var c = this._get(a, "altFormat") || this._get(a, "dateFormat"), - d = this._getDate(a), - e = this.formatDate(c, d, this._getFormatConfig(a)); - $(b).each(function() { - $(this).val(e) - }) - } - }, - noWeekends: function(a) { - var b = a.getDay(); - return [b > 0 && b < 6, ""] - }, - iso8601Week: function(a) { - var b = new Date(a.getTime()); - b.setDate(b.getDate() + 4 - (b.getDay() || 7)); - var c = b.getTime(); - b.setMonth(0), - b.setDate(1); - return Math.floor(Math.round((c - b) / 864e5) / 7) + 1 - }, - parseDate: function(a, b, c) { - if (a == null || b == null) throw "Invalid arguments"; - b = typeof b == "object" ? b.toString() : b + ""; - if (b == "") return null; - var d = (c ? c.shortYearCutoff: null) || this._defaults.shortYearCutoff; - d = typeof d != "string" ? d: (new Date).getFullYear() % 100 + parseInt(d, 10); - var e = (c ? c.dayNamesShort: null) || this._defaults.dayNamesShort, - f = (c ? c.dayNames: null) || this._defaults.dayNames, - g = (c ? c.monthNamesShort: null) || this._defaults.monthNamesShort, - h = (c ? c.monthNames: null) || this._defaults.monthNames, - i = -1, - j = -1, - k = -1, - l = -1, - m = !1, - n = function(b) { - var c = s + 1 < a.length && a.charAt(s + 1) == b; - c && s++; - return c - }, - o = function(a) { - var c = n(a), - d = a == "@" ? 14 : a == "!" ? 20 : a == "y" && c ? 4 : a == "o" ? 3 : 2, - e = new RegExp("^\\d{1," + d + "}"), - f = b.substring(r).match(e); - if (!f) throw "Missing number at position " + r; - r += f[0].length; - return parseInt(f[0], 10) - }, - p = function(a, c, d) { - var e = $.map(n(a) ? d: c, - function(a, b) { - return [[b, a]] - }).sort(function(a, b) { - return - (a[1].length - b[1].length) - }), - f = -1; - $.each(e, - function(a, c) { - var d = c[1]; - if (b.substr(r, d.length).toLowerCase() == d.toLowerCase()) { - f = c[0], - r += d.length; - return ! 1 - } - }); - if (f != -1) return f + 1; - throw "Unknown name at position " + r - }, - q = function() { - if (b.charAt(r) != a.charAt(s)) throw "Unexpected literal at position " + r; - r++ - }, - r = 0; - for (var s = 0; s < a.length; s++) if (m) a.charAt(s) == "'" && !n("'") ? m = !1 : q(); - else switch (a.charAt(s)) { - case "d": - k = o("d"); - break; - case "D": - p("D", e, f); - break; - case "o": - l = o("o"); - break; - case "m": - j = o("m"); - break; - case "M": - j = p("M", g, h); - break; - case "y": - i = o("y"); - break; - case "@": - var t = new Date(o("@")); - i = t.getFullYear(), - j = t.getMonth() + 1, - k = t.getDate(); - break; - case "!": - var t = new Date((o("!") - this._ticksTo1970) / 1e4); - i = t.getFullYear(), - j = t.getMonth() + 1, - k = t.getDate(); - break; - case "'": - n("'") ? q() : m = !0; - break; - default: - q() - } - if (r < b.length) throw "Extra/unparsed characters found in date: " + b.substring(r); - i == -1 ? i = (new Date).getFullYear() : i < 100 && (i += (new Date).getFullYear() - (new Date).getFullYear() % 100 + (i <= d ? 0 : -100)); - if (l > -1) { - j = 1, - k = l; - for (;;) { - var u = this._getDaysInMonth(i, j - 1); - if (k <= u) break; - j++, - k -= u - } - } - var t = this._daylightSavingAdjust(new Date(i, j - 1, k)); - if (t.getFullYear() != i || t.getMonth() + 1 != j || t.getDate() != k) throw "Invalid date"; - return t - }, - ATOM: "yy-mm-dd", - COOKIE: "D, dd M yy", - ISO_8601: "yy-mm-dd", - RFC_822: "D, d M y", - RFC_850: "DD, dd-M-y", - RFC_1036: "D, d M y", - RFC_1123: "D, d M yy", - RFC_2822: "D, d M yy", - RSS: "D, d M y", - TICKS: "!", - TIMESTAMP: "@", - W3C: "yy-mm-dd", - _ticksTo1970: (718685 + Math.floor(492.5) - Math.floor(19.7) + Math.floor(4.925)) * 24 * 60 * 60 * 1e7, - formatDate: function(a, b, c) { - if (!b) return ""; - var d = (c ? c.dayNamesShort: null) || this._defaults.dayNamesShort, - e = (c ? c.dayNames: null) || this._defaults.dayNames, - f = (c ? c.monthNamesShort: null) || this._defaults.monthNamesShort, - g = (c ? c.monthNames: null) || this._defaults.monthNames, - h = function(b) { - var c = m + 1 < a.length && a.charAt(m + 1) == b; - c && m++; - return c - }, - i = function(a, b, c) { - var d = "" + b; - if (h(a)) while (d.length < c) d = "0" + d; - return d - }, - j = function(a, b, c, d) { - return h(a) ? d[b] : c[b] - }, - k = "", - l = !1; - if (b) for (var m = 0; m < a.length; m++) if (l) a.charAt(m) == "'" && !h("'") ? l = !1 : k += a.charAt(m); - else switch (a.charAt(m)) { - case "d": - k += i("d", b.getDate(), 2); - break; - case "D": - k += j("D", b.getDay(), d, e); - break; - case "o": - k += i("o", Math.round(((new Date(b.getFullYear(), b.getMonth(), b.getDate())).getTime() - (new Date(b.getFullYear(), 0, 0)).getTime()) / 864e5), 3); - break; - case "m": - k += i("m", b.getMonth() + 1, 2); - break; - case "M": - k += j("M", b.getMonth(), f, g); - break; - case "y": - k += h("y") ? b.getFullYear() : (b.getYear() % 100 < 10 ? "0": "") + b.getYear() % 100; - break; - case "@": - k += b.getTime(); - break; - case "!": - k += b.getTime() * 1e4 + this._ticksTo1970; - break; - case "'": - h("'") ? k += "'": l = !0; - break; - default: - k += a.charAt(m) - } - return k - }, - _possibleChars: function(a) { - var b = "", - c = !1, - d = function(b) { - var c = e + 1 < a.length && a.charAt(e + 1) == b; - c && e++; - return c - }; - for (var e = 0; e < a.length; e++) if (c) a.charAt(e) == "'" && !d("'") ? c = !1 : b += a.charAt(e); - else switch (a.charAt(e)) { - case "d": - case "m": - case "y": - case "@": - b += "0123456789"; - break; - case "D": - case "M": - return null; - case "'": - d("'") ? b += "'": c = !0; - break; - default: - b += a.charAt(e) - } - return b - }, - _get: function(a, b) { - return a.settings[b] !== undefined ? a.settings[b] : this._defaults[b] - }, - _setDateFromField: function(a, b) { - if (a.input.val() != a.lastVal) { - var c = this._get(a, "dateFormat"), - d = a.lastVal = a.input ? a.input.val() : null, - e, - f; - e = f = this._getDefaultDate(a); - var g = this._getFormatConfig(a); - try { - e = this.parseDate(c, d, g) || f - } catch(h) { - this.log(h), - d = b ? "": d - } - a.selectedDay = e.getDate(), - a.drawMonth = a.selectedMonth = e.getMonth(), - a.drawYear = a.selectedYear = e.getFullYear(), - a.currentDay = d ? e.getDate() : 0, - a.currentMonth = d ? e.getMonth() : 0, - a.currentYear = d ? e.getFullYear() : 0, - this._adjustInstDate(a) - } - }, - _getDefaultDate: function(a) { - return this._restrictMinMax(a, this._determineDate(a, this._get(a, "defaultDate"), new Date)) - }, - _determineDate: function(a, b, c) { - var d = function(a) { - var b = new Date; - b.setDate(b.getDate() + a); - return b - }, - e = function(b) { - try { - return $.datepicker.parseDate($.datepicker._get(a, "dateFormat"), b, $.datepicker._getFormatConfig(a)) - } catch(c) {} - var d = (b.toLowerCase().match(/^c/) ? $.datepicker._getDate(a) : null) || new Date, - e = d.getFullYear(), - f = d.getMonth(), - g = d.getDate(), - h = /([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g, - i = h.exec(b); - while (i) { - switch (i[2] || "d") { - case "d": - case "D": - g += parseInt(i[1], 10); - break; - case "w": - case "W": - g += parseInt(i[1], 10) * 7; - break; - case "m": - case "M": - f += parseInt(i[1], 10), - g = Math.min(g, $.datepicker._getDaysInMonth(e, f)); - break; - case "y": - case "Y": - e += parseInt(i[1], 10), - g = Math.min(g, $.datepicker._getDaysInMonth(e, f)) - } - i = h.exec(b) - } - return new Date(e, f, g) - }, - f = b == null || b === "" ? c: typeof b == "string" ? e(b) : typeof b == "number" ? isNaN(b) ? c: d(b) : new Date(b.getTime()); - f = f && f.toString() == "Invalid Date" ? c: f, - f && (f.setHours(0), f.setMinutes(0), f.setSeconds(0), f.setMilliseconds(0)); - return this._daylightSavingAdjust(f) - }, - _daylightSavingAdjust: function(a) { - if (!a) return null; - a.setHours(a.getHours() > 12 ? a.getHours() + 2 : 0); - return a - }, - _setDate: function(a, b, c) { - var d = !b, - e = a.selectedMonth, - f = a.selectedYear, - g = this._restrictMinMax(a, this._determineDate(a, b, new Date)); - a.selectedDay = a.currentDay = g.getDate(), - a.drawMonth = a.selectedMonth = a.currentMonth = g.getMonth(), - a.drawYear = a.selectedYear = a.currentYear = g.getFullYear(), - (e != a.selectedMonth || f != a.selectedYear) && !c && this._notifyChange(a), - this._adjustInstDate(a), - a.input && a.input.val(d ? "": this._formatDate(a)) - }, - _getDate: function(a) { - var b = !a.currentYear || a.input && a.input.val() == "" ? null: this._daylightSavingAdjust(new Date(a.currentYear, a.currentMonth, a.currentDay)); - return b - }, - _generateHTML: function(a) { - var b = new Date; - b = this._daylightSavingAdjust(new Date(b.getFullYear(), b.getMonth(), b.getDate())); - var c = this._get(a, "isRTL"), - d = this._get(a, "showButtonPanel"), - e = this._get(a, "hideIfNoPrevNext"), - f = this._get(a, "navigationAsDateFormat"), - g = this._getNumberOfMonths(a), - h = this._get(a, "showCurrentAtPos"), - i = this._get(a, "stepMonths"), - j = g[0] != 1 || g[1] != 1, - k = this._daylightSavingAdjust(a.currentDay ? new Date(a.currentYear, a.currentMonth, a.currentDay) : new Date(9999, 9, 9)), - l = this._getMinMaxDate(a, "min"), - m = this._getMinMaxDate(a, "max"), - n = a.drawMonth - h, - o = a.drawYear; - n < 0 && (n += 12, o--); - if (m) { - var p = this._daylightSavingAdjust(new Date(m.getFullYear(), m.getMonth() - g[0] * g[1] + 1, m.getDate())); - p = l && p < l ? l: p; - while (this._daylightSavingAdjust(new Date(o, n, 1)) > p) n--, - n < 0 && (n = 11, o--) - } - a.drawMonth = n, - a.drawYear = o; - var q = this._get(a, "prevText"); - q = f ? this.formatDate(q, this._daylightSavingAdjust(new Date(o, n - i, 1)), this._getFormatConfig(a)) : q; - var r = this._canAdjustMonth(a, -1, o, n) ? '' + q + "": e ? "": '' + q + "", - s = this._get(a, "nextText"); - s = f ? this.formatDate(s, this._daylightSavingAdjust(new Date(o, n + i, 1)), this._getFormatConfig(a)) : s; - var t = this._canAdjustMonth(a, 1, o, n) ? '' + s + "": e ? "": '' + s + "", - u = this._get(a, "currentText"), - v = this._get(a, "gotoCurrent") && a.currentDay ? k: b; - u = f ? this.formatDate(u, v, this._getFormatConfig(a)) : u; - var w = a.inline ? "": '", - x = d ? '
' + (c ? w: "") + (this._isInRange(a, v) ? '": "") + (c ? "": w) + "
": "", - y = parseInt(this._get(a, "firstDay"), 10); - y = isNaN(y) ? 0 : y; - var z = this._get(a, "showWeek"), - A = this._get(a, "dayNames"), - B = this._get(a, "dayNamesShort"), - C = this._get(a, "dayNamesMin"), - D = this._get(a, "monthNames"), - E = this._get(a, "monthNamesShort"), - F = this._get(a, "beforeShowDay"), - G = this._get(a, "showOtherMonths"), - H = this._get(a, "selectOtherMonths"), - I = this._get(a, "calculateWeek") || this.iso8601Week, - J = this._getDefaultDate(a), - K = ""; - for (var L = 0; L < g[0]; L++) { - var M = ""; - this.maxRows = 4; - for (var N = 0; N < g[1]; N++) { - var O = this._daylightSavingAdjust(new Date(o, n, a.selectedDay)), - P = " ui-corner-all", - Q = ""; - if (j) { - Q += '
' + (/all|left/.test(P) && L == 0 ? c ? t: r: "") + (/all|right/.test(P) && L == 0 ? c ? r: t: "") + this._generateMonthYearHeader(a, n, o, l, m, L > 0 || N > 0, D, E) + '
' + ""; - var R = z ? '": ""; - for (var S = 0; S < 7; S++) { - var T = (S + y) % 7; - R += "= 5 ? ' class="ui-datepicker-week-end"': "") + ">" + '' + C[T] + "" - } - Q += R + ""; - var U = this._getDaysInMonth(o, n); - o == a.selectedYear && n == a.selectedMonth && (a.selectedDay = Math.min(a.selectedDay, U)); - var V = (this._getFirstDayOfMonth(o, n) - y + 7) % 7, - W = Math.ceil((V + U) / 7), - X = j ? this.maxRows > W ? this.maxRows: W: W; - this.maxRows = X; - var Y = this._daylightSavingAdjust(new Date(o, n, 1 - V)); - for (var Z = 0; Z < X; Z++) { - Q += ""; - var _ = z ? '": ""; - for (var S = 0; S < 7; S++) { - var ba = F ? F.apply(a.input ? a.input[0] : null, [Y]) : [!0, ""], - bb = Y.getMonth() != n, - bc = bb && !H || !ba[0] || l && Y < l || m && Y > m; - _ += '", - Y.setDate(Y.getDate() + 1), - Y = this._daylightSavingAdjust(Y) - } - Q += _ + "" - } - n++, - n > 11 && (n = 0, o++), - Q += "
' + this._get(a, "weekHeader") + "
' + this._get(a, "calculateWeek")(Y) + "" + (bb && !G ? " ": bc ? '' + Y.getDate() + "": '' + Y.getDate() + "") + "
" + (j ? "" + (g[0] > 0 && N == g[1] - 1 ? '
': "") : ""), - M += Q - } - K += M - } - K += x + ($.browser.msie && parseInt($.browser.version, 10) < 7 && !a.inline ? '': ""), - a._keyEvent = !1; - return K - }, - _generateMonthYearHeader: function(a, b, c, d, e, f, g, h) { - var i = this._get(a, "changeMonth"), - j = this._get(a, "changeYear"), - k = this._get(a, "showMonthAfterYear"), - l = '
', - m = ""; - if (f || !i) m += '' + g[b] + ""; - else { - var n = d && d.getFullYear() == c, - o = e && e.getFullYear() == c; - m += '" - } - k || (l += m + (f || !i || !j ? " ": "")); - if (!a.yearshtml) { - a.yearshtml = ""; - if (f || !j) l += '' + c + ""; - else { - var q = this._get(a, "yearRange").split(":"), - r = (new Date).getFullYear(), - s = function(a) { - var b = a.match(/c[+-].*/) ? c + parseInt(a.substring(1), 10) : a.match(/[+-].*/) ? r + parseInt(a, 10) : parseInt(a, 10); - return isNaN(b) ? r: b - }, - t = s(q[0]), - u = Math.max(t, s(q[1] || "")); - t = d ? Math.max(t, d.getFullYear()) : t, - u = e ? Math.min(u, e.getFullYear()) : u, - a.yearshtml += '", - l += a.yearshtml, - a.yearshtml = null - } - } - l += this._get(a, "yearSuffix"), - k && (l += (f || !i || !j ? " ": "") + m), - l += "
"; - return l - }, - _adjustInstDate: function(a, b, c) { - var d = a.drawYear + (c == "Y" ? b: 0), - e = a.drawMonth + (c == "M" ? b: 0), - f = Math.min(a.selectedDay, this._getDaysInMonth(d, e)) + (c == "D" ? b: 0), - g = this._restrictMinMax(a, this._daylightSavingAdjust(new Date(d, e, f))); - a.selectedDay = g.getDate(), - a.drawMonth = a.selectedMonth = g.getMonth(), - a.drawYear = a.selectedYear = g.getFullYear(), - (c == "M" || c == "Y") && this._notifyChange(a) - }, - _restrictMinMax: function(a, b) { - var c = this._getMinMaxDate(a, "min"), - d = this._getMinMaxDate(a, "max"), - e = c && b < c ? c: b; - e = d && e > d ? d: e; - return e - }, - _notifyChange: function(a) { - var b = this._get(a, "onChangeMonthYear"); - b && b.apply(a.input ? a.input[0] : null, [a.selectedYear, a.selectedMonth + 1, a]) - }, - _getNumberOfMonths: function(a) { - var b = this._get(a, "numberOfMonths"); - return b == null ? [1, 1] : typeof b == "number" ? [1, b] : b - }, - _getMinMaxDate: function(a, b) { - return this._determineDate(a, this._get(a, b + "Date"), null) - }, - _getDaysInMonth: function(a, b) { - return 32 - this._daylightSavingAdjust(new Date(a, b, 32)).getDate() - }, - _getFirstDayOfMonth: function(a, b) { - return (new Date(a, b, 1)).getDay() - }, - _canAdjustMonth: function(a, b, c, d) { - var e = this._getNumberOfMonths(a), - f = this._daylightSavingAdjust(new Date(c, d + (b < 0 ? b: e[0] * e[1]), 1)); - b < 0 && f.setDate(this._getDaysInMonth(f.getFullYear(), f.getMonth())); - return this._isInRange(a, f) - }, - _isInRange: function(a, b) { - var c = this._getMinMaxDate(a, "min"), - d = this._getMinMaxDate(a, "max"); - return (!c || b.getTime() >= c.getTime()) && (!d || b.getTime() <= d.getTime()) - }, - _getFormatConfig: function(a) { - var b = this._get(a, "shortYearCutoff"); - b = typeof b != "string" ? b: (new Date).getFullYear() % 100 + parseInt(b, 10); - return { - shortYearCutoff: b, - dayNamesShort: this._get(a, "dayNamesShort"), - dayNames: this._get(a, "dayNames"), - monthNamesShort: this._get(a, "monthNamesShort"), - monthNames: this._get(a, "monthNames") - } - }, - _formatDate: function(a, b, c, d) { - b || (a.currentDay = a.selectedDay, a.currentMonth = a.selectedMonth, a.currentYear = a.selectedYear); - var e = b ? typeof b == "object" ? b: this._daylightSavingAdjust(new Date(d, c, b)) : this._daylightSavingAdjust(new Date(a.currentYear, a.currentMonth, a.currentDay)); - return this.formatDate(this._get(a, "dateFormat"), e, this._getFormatConfig(a)) - } - }), - $.fn.datepicker = function(a) { - if (!this.length) return this; - $.datepicker.initialized || ($(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv), $.datepicker.initialized = !0); - var b = Array.prototype.slice.call(arguments, 1); - if (typeof a == "string" && (a == "isDisabled" || a == "getDate" || a == "widget")) return $.datepicker["_" + a + "Datepicker"].apply($.datepicker, [this[0]].concat(b)); - if (a == "option" && arguments.length == 2 && typeof arguments[1] == "string") return $.datepicker["_" + a + "Datepicker"].apply($.datepicker, [this[0]].concat(b)); - return this.each(function() { - typeof a == "string" ? $.datepicker["_" + a + "Datepicker"].apply($.datepicker, [this].concat(b)) : $.datepicker._attachDatepicker(this, a) - }) - }, - $.datepicker = new Datepicker, - $.datepicker.initialized = !1, - $.datepicker.uuid = (new Date).getTime(), - $.datepicker.version = "1.8.18", - window["DP_jQuery_" + dpuuid] = $ -})(jQuery); -/* - * jQuery UI Effects 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Effects/ - */ -jQuery.effects || -function(a, b) { - function l(b) { - if (!b || typeof b == "number" || a.fx.speeds[b]) return ! 0; - if (typeof b == "string" && !a.effects[b]) return ! 0; - return ! 1 - } - function k(b, c, d, e) { - typeof b == "object" && (e = c, d = null, c = b, b = c.effect), - a.isFunction(c) && (e = c, d = null, c = {}); - if (typeof c == "number" || a.fx.speeds[c]) e = d, - d = c, - c = {}; - a.isFunction(d) && (e = d, d = null), - c = c || {}, - d = d || c.duration, - d = a.fx.off ? 0 : typeof d == "number" ? d: d in a.fx.speeds ? a.fx.speeds[d] : a.fx.speeds._default, - e = e || c.complete; - return [b, c, d, e] - } - function j(a, b) { - var c = { - _: 0 - }, - d; - for (d in b) a[d] != b[d] && (c[d] = b[d]); - return c - } - function i(b) { - var c, d; - for (c in b) d = b[c], - (d == null || a.isFunction(d) || c in g || /scrollbar/.test(c) || !/color/i.test(c) && isNaN(parseFloat(d))) && delete b[c]; - return b - } - function h() { - var a = document.defaultView ? document.defaultView.getComputedStyle(this, null) : this.currentStyle, - b = {}, - c, - d; - if (a && a.length && a[0] && a[a[0]]) { - var e = a.length; - while (e--) c = a[e], - typeof a[c] == "string" && (d = c.replace(/\-(\w)/g, - function(a, b) { - return b.toUpperCase() - }), b[d] = a[c]) - } else for (c in a) typeof a[c] == "string" && (b[c] = a[c]); - return b - } - function d(b, d) { - var e; - do { - e = a.curCSS(b, d); - if (e != "" && e != "transparent" || a.nodeName(b, "body")) break; - d = "backgroundColor" - } while ( b = b . parentNode ); - return c(e) - } - function c(b) { - var c; - if (b && b.constructor == Array && b.length == 3) return b; - if (c = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(b)) return [parseInt(c[1], 10), parseInt(c[2], 10), parseInt(c[3], 10)]; - if (c = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(b)) return [parseFloat(c[1]) * 2.55, parseFloat(c[2]) * 2.55, parseFloat(c[3]) * 2.55]; - if (c = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(b)) return [parseInt(c[1], 16), parseInt(c[2], 16), parseInt(c[3], 16)]; - if (c = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(b)) return [parseInt(c[1] + c[1], 16), parseInt(c[2] + c[2], 16), parseInt(c[3] + c[3], 16)]; - if (c = /rgba\(0, 0, 0, 0\)/.exec(b)) return e.transparent; - return e[a.trim(b).toLowerCase()] - } - a.effects = {}, - a.each(["backgroundColor", "borderBottomColor", "borderLeftColor", "borderRightColor", "borderTopColor", "borderColor", "color", "outlineColor"], - function(b, e) { - a.fx.step[e] = function(a) { - a.colorInit || (a.start = d(a.elem, e), a.end = c(a.end), a.colorInit = !0), - a.elem.style[e] = "rgb(" + Math.max(Math.min(parseInt(a.pos * (a.end[0] - a.start[0]) + a.start[0], 10), 255), 0) + "," + Math.max(Math.min(parseInt(a.pos * (a.end[1] - a.start[1]) + a.start[1], 10), 255), 0) + "," + Math.max(Math.min(parseInt(a.pos * (a.end[2] - a.start[2]) + a.start[2], 10), 255), 0) + ")" - } - }); - var e = { - aqua: [0, 255, 255], - azure: [240, 255, 255], - beige: [245, 245, 220], - black: [0, 0, 0], - blue: [0, 0, 255], - brown: [165, 42, 42], - cyan: [0, 255, 255], - darkblue: [0, 0, 139], - darkcyan: [0, 139, 139], - darkgrey: [169, 169, 169], - darkgreen: [0, 100, 0], - darkkhaki: [189, 183, 107], - darkmagenta: [139, 0, 139], - darkolivegreen: [85, 107, 47], - darkorange: [255, 140, 0], - darkorchid: [153, 50, 204], - darkred: [139, 0, 0], - darksalmon: [233, 150, 122], - darkviolet: [148, 0, 211], - fuchsia: [255, 0, 255], - gold: [255, 215, 0], - green: [0, 128, 0], - indigo: [75, 0, 130], - khaki: [240, 230, 140], - lightblue: [173, 216, 230], - lightcyan: [224, 255, 255], - lightgreen: [144, 238, 144], - lightgrey: [211, 211, 211], - lightpink: [255, 182, 193], - lightyellow: [255, 255, 224], - lime: [0, 255, 0], - magenta: [255, 0, 255], - maroon: [128, 0, 0], - navy: [0, 0, 128], - olive: [128, 128, 0], - orange: [255, 165, 0], - pink: [255, 192, 203], - purple: [128, 0, 128], - violet: [128, 0, 128], - red: [255, 0, 0], - silver: [192, 192, 192], - white: [255, 255, 255], - yellow: [255, 255, 0], - transparent: [255, 255, 255] - }, - f = ["add", "remove", "toggle"], - g = { - border: 1, - borderBottom: 1, - borderColor: 1, - borderLeft: 1, - borderRight: 1, - borderTop: 1, - borderWidth: 1, - margin: 1, - padding: 1 - }; - a.effects.animateClass = function(b, c, d, e) { - a.isFunction(d) && (e = d, d = null); - return this.queue(function() { - var g = a(this), - k = g.attr("style") || " ", - l = i(h.call(this)), - m, - n = g.attr("class"); - a.each(f, - function(a, c) { - b[c] && g[c + "Class"](b[c]) - }), - m = i(h.call(this)), - g.attr("class", n), - g.animate(j(l, m), { - queue: !1, - duration: c, - easing: d, - complete: function() { - a.each(f, - function(a, c) { - b[c] && g[c + "Class"](b[c]) - }), - typeof g.attr("style") == "object" ? (g.attr("style").cssText = "", g.attr("style").cssText = k) : g.attr("style", k), - e && e.apply(this, arguments), - a.dequeue(this) - } - }) - }) - }, - a.fn.extend({ - _addClass: a.fn.addClass, - addClass: function(b, c, d, e) { - return c ? a.effects.animateClass.apply(this, [{ - add: b - }, - c, d, e]) : this._addClass(b) - }, - _removeClass: a.fn.removeClass, - removeClass: function(b, c, d, e) { - return c ? a.effects.animateClass.apply(this, [{ - remove: b - }, - c, d, e]) : this._removeClass(b) - }, - _toggleClass: a.fn.toggleClass, - toggleClass: function(c, d, e, f, g) { - return typeof d == "boolean" || d === b ? e ? a.effects.animateClass.apply(this, [d ? { - add: c - }: { - remove: c - }, - e, f, g]) : this._toggleClass(c, d) : a.effects.animateClass.apply(this, [{ - toggle: c - }, - d, e, f]) - }, - switchClass: function(b, c, d, e, f) { - return a.effects.animateClass.apply(this, [{ - add: c, - remove: b - }, - d, e, f]) - } - }), - a.extend(a.effects, { - version: "1.8.18", - save: function(a, b) { - for (var c = 0; c < b.length; c++) b[c] !== null && a.data("ec.storage." + b[c], a[0].style[b[c]]) - }, - restore: function(a, b) { - for (var c = 0; c < b.length; c++) b[c] !== null && a.css(b[c], a.data("ec.storage." + b[c])) - }, - setMode: function(a, b) { - b == "toggle" && (b = a.is(":hidden") ? "show": "hide"); - return b - }, - getBaseline: function(a, b) { - var c, d; - switch (a[0]) { - case "top": - c = 0; - break; - case "middle": - c = .5; - break; - case "bottom": - c = 1; - break; - default: - c = a[0] / b.height - } - switch (a[1]) { - case "left": - d = 0; - break; - case "center": - d = .5; - break; - case "right": - d = 1; - break; - default: - d = a[1] / b.width - } - return { - x: d, - y: c - } - }, - createWrapper: function(b) { - if (b.parent().is(".ui-effects-wrapper")) return b.parent(); - var c = { - width: b.outerWidth(!0), - height: b.outerHeight(!0), - "float": b.css("float") - }, - d = a("
").addClass("ui-effects-wrapper").css({ - fontSize: "100%", - background: "transparent", - border: "none", - margin: 0, - padding: 0 - }), - e = document.activeElement; - b.wrap(d), - (b[0] === e || a.contains(b[0], e)) && a(e).focus(), - d = b.parent(), - b.css("position") == "static" ? (d.css({ - position: "relative" - }), b.css({ - position: "relative" - })) : (a.extend(c, { - position: b.css("position"), - zIndex: b.css("z-index") - }), a.each(["top", "left", "bottom", "right"], - function(a, d) { - c[d] = b.css(d), - isNaN(parseInt(c[d], 10)) && (c[d] = "auto") - }), b.css({ - position: "relative", - top: 0, - left: 0, - right: "auto", - bottom: "auto" - })); - return d.css(c).show() - }, - removeWrapper: function(b) { - var c, d = document.activeElement; - if (b.parent().is(".ui-effects-wrapper")) { - c = b.parent().replaceWith(b), - (b[0] === d || a.contains(b[0], d)) && a(d).focus(); - return c - } - return b - }, - setTransition: function(b, c, d, e) { - e = e || {}, - a.each(c, - function(a, c) { - unit = b.cssUnit(c), - unit[0] > 0 && (e[c] = unit[0] * d + unit[1]) - }); - return e - } - }), - a.fn.extend({ - effect: function(b, c, d, e) { - var f = k.apply(this, arguments), - g = { - options: f[1], - duration: f[2], - callback: f[3] - }, - h = g.options.mode, - i = a.effects[b]; - if (a.fx.off || !i) return h ? this[h](g.duration, g.callback) : this.each(function() { - g.callback && g.callback.call(this) - }); - return i.call(this, g) - }, - _show: a.fn.show, - show: function(a) { - if (l(a)) return this._show.apply(this, arguments); - var b = k.apply(this, arguments); - b[1].mode = "show"; - return this.effect.apply(this, b) - }, - _hide: a.fn.hide, - hide: function(a) { - if (l(a)) return this._hide.apply(this, arguments); - var b = k.apply(this, arguments); - b[1].mode = "hide"; - return this.effect.apply(this, b) - }, - __toggle: a.fn.toggle, - toggle: function(b) { - if (l(b) || typeof b == "boolean" || a.isFunction(b)) return this.__toggle.apply(this, arguments); - var c = k.apply(this, arguments); - c[1].mode = "toggle"; - return this.effect.apply(this, c) - }, - cssUnit: function(b) { - var c = this.css(b), - d = []; - a.each(["em", "px", "%", "pt"], - function(a, b) { - c.indexOf(b) > 0 && (d = [parseFloat(c), b]) - }); - return d - } - }), - a.easing.jswing = a.easing.swing, - a.extend(a.easing, { - def: "easeOutQuad", - swing: function(b, c, d, e, f) { - return a.easing[a.easing.def](b, c, d, e, f) - }, - easeInQuad: function(a, b, c, d, e) { - return d * (b /= e) * b + c - }, - easeOutQuad: function(a, b, c, d, e) { - return - d * (b /= e) * (b - 2) + c - }, - easeInOutQuad: function(a, b, c, d, e) { - if ((b /= e / 2) < 1) return d / 2 * b * b + c; - return - d / 2 * (--b * (b - 2) - 1) + c - }, - easeInCubic: function(a, b, c, d, e) { - return d * (b /= e) * b * b + c - }, - easeOutCubic: function(a, b, c, d, e) { - return d * ((b = b / e - 1) * b * b + 1) + c - }, - easeInOutCubic: function(a, b, c, d, e) { - if ((b /= e / 2) < 1) return d / 2 * b * b * b + c; - return d / 2 * ((b -= 2) * b * b + 2) + c - }, - easeInQuart: function(a, b, c, d, e) { - return d * (b /= e) * b * b * b + c - }, - easeOutQuart: function(a, b, c, d, e) { - return - d * ((b = b / e - 1) * b * b * b - 1) + c - }, - easeInOutQuart: function(a, b, c, d, e) { - if ((b /= e / 2) < 1) return d / 2 * b * b * b * b + c; - return - d / 2 * ((b -= 2) * b * b * b - 2) + c - }, - easeInQuint: function(a, b, c, d, e) { - return d * (b /= e) * b * b * b * b + c - }, - easeOutQuint: function(a, b, c, d, e) { - return d * ((b = b / e - 1) * b * b * b * b + 1) + c - }, - easeInOutQuint: function(a, b, c, d, e) { - if ((b /= e / 2) < 1) return d / 2 * b * b * b * b * b + c; - return d / 2 * ((b -= 2) * b * b * b * b + 2) + c - }, - easeInSine: function(a, b, c, d, e) { - return - d * Math.cos(b / e * (Math.PI / 2)) + d + c - }, - easeOutSine: function(a, b, c, d, e) { - return d * Math.sin(b / e * (Math.PI / 2)) + c - }, - easeInOutSine: function(a, b, c, d, e) { - return - d / 2 * (Math.cos(Math.PI * b / e) - 1) + c - }, - easeInExpo: function(a, b, c, d, e) { - return b == 0 ? c: d * Math.pow(2, 10 * (b / e - 1)) + c - }, - easeOutExpo: function(a, b, c, d, e) { - return b == e ? c + d: d * ( - Math.pow(2, -10 * b / e) + 1) + c - }, - easeInOutExpo: function(a, b, c, d, e) { - if (b == 0) return c; - if (b == e) return c + d; - if ((b /= e / 2) < 1) return d / 2 * Math.pow(2, 10 * (b - 1)) + c; - return d / 2 * ( - Math.pow(2, -10 * --b) + 2) + c - }, - easeInCirc: function(a, b, c, d, e) { - return - d * (Math.sqrt(1 - (b /= e) * b) - 1) + c - }, - easeOutCirc: function(a, b, c, d, e) { - return d * Math.sqrt(1 - (b = b / e - 1) * b) + c - }, - easeInOutCirc: function(a, b, c, d, e) { - if ((b /= e / 2) < 1) return - d / 2 * (Math.sqrt(1 - b * b) - 1) + c; - return d / 2 * (Math.sqrt(1 - (b -= 2) * b) + 1) + c - }, - easeInElastic: function(a, b, c, d, e) { - var f = 1.70158, - g = 0, - h = d; - if (b == 0) return c; - if ((b /= e) == 1) return c + d; - g || (g = e * .3); - if (h < Math.abs(d)) { - h = d; - var f = g / 4 - } else var f = g / (2 * Math.PI) * Math.asin(d / h); - return - (h * Math.pow(2, 10 * (b -= 1)) * Math.sin((b * e - f) * 2 * Math.PI / g)) + c - }, - easeOutElastic: function(a, b, c, d, e) { - var f = 1.70158, - g = 0, - h = d; - if (b == 0) return c; - if ((b /= e) == 1) return c + d; - g || (g = e * .3); - if (h < Math.abs(d)) { - h = d; - var f = g / 4 - } else var f = g / (2 * Math.PI) * Math.asin(d / h); - return h * Math.pow(2, -10 * b) * Math.sin((b * e - f) * 2 * Math.PI / g) + d + c - }, - easeInOutElastic: function(a, b, c, d, e) { - var f = 1.70158, - g = 0, - h = d; - if (b == 0) return c; - if ((b /= e / 2) == 2) return c + d; - g || (g = e * .3 * 1.5); - if (h < Math.abs(d)) { - h = d; - var f = g / 4 - } else var f = g / (2 * Math.PI) * Math.asin(d / h); - if (b < 1) return - 0.5 * h * Math.pow(2, 10 * (b -= 1)) * Math.sin((b * e - f) * 2 * Math.PI / g) + c; - return h * Math.pow(2, -10 * (b -= 1)) * Math.sin((b * e - f) * 2 * Math.PI / g) * .5 + d + c - }, - easeInBack: function(a, c, d, e, f, g) { - g == b && (g = 1.70158); - return e * (c /= f) * c * ((g + 1) * c - g) + d - }, - easeOutBack: function(a, c, d, e, f, g) { - g == b && (g = 1.70158); - return e * ((c = c / f - 1) * c * ((g + 1) * c + g) + 1) + d - }, - easeInOutBack: function(a, c, d, e, f, g) { - g == b && (g = 1.70158); - if ((c /= f / 2) < 1) return e / 2 * c * c * (((g *= 1.525) + 1) * c - g) + d; - return e / 2 * ((c -= 2) * c * (((g *= 1.525) + 1) * c + g) + 2) + d - }, - easeInBounce: function(b, c, d, e, f) { - return e - a.easing.easeOutBounce(b, f - c, 0, e, f) + d - }, - easeOutBounce: function(a, b, c, d, e) { - return (b /= e) < 1 / 2.75 ? d * 7.5625 * b * b + c: b < 2 / 2.75 ? d * (7.5625 * (b -= 1.5 / 2.75) * b + .75) + c: b < 2.5 / 2.75 ? d * (7.5625 * (b -= 2.25 / 2.75) * b + .9375) + c: d * (7.5625 * (b -= 2.625 / 2.75) * b + .984375) + c - }, - easeInOutBounce: function(b, c, d, e, f) { - if (c < f / 2) return a.easing.easeInBounce(b, c * 2, 0, e, f) * .5 + d; - return a.easing.easeOutBounce(b, c * 2 - f, 0, e, f) * .5 + e * .5 + d - } - }) -} (jQuery); -/* - * jQuery UI Effects Blind 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Effects/Blind - * - * Depends: - * jquery.effects.core.js - */ -(function(a, b) { - a.effects.blind = function(b) { - return this.queue(function() { - var c = a(this), - d = ["position", "top", "bottom", "left", "right"], - e = a.effects.setMode(c, b.options.mode || "hide"), - f = b.options.direction || "vertical"; - a.effects.save(c, d), - c.show(); - var g = a.effects.createWrapper(c).css({ - overflow: "hidden" - }), - h = f == "vertical" ? "height": "width", - i = f == "vertical" ? g.height() : g.width(); - e == "show" && g.css(h, 0); - var j = {}; - j[h] = e == "show" ? i: 0, - g.animate(j, b.duration, b.options.easing, - function() { - e == "hide" && c.hide(), - a.effects.restore(c, d), - a.effects.removeWrapper(c), - b.callback && b.callback.apply(c[0], arguments), - c.dequeue() - }) - }) - } -})(jQuery); -/* - * jQuery UI Effects Bounce 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Effects/Bounce - * - * Depends: - * jquery.effects.core.js - */ -(function(a, b) { - a.effects.bounce = function(b) { - return this.queue(function() { - var c = a(this), - d = ["position", "top", "bottom", "left", "right"], - e = a.effects.setMode(c, b.options.mode || "effect"), - f = b.options.direction || "up", - g = b.options.distance || 20, - h = b.options.times || 5, - i = b.duration || 250; - /show|hide/.test(e) && d.push("opacity"), - a.effects.save(c, d), - c.show(), - a.effects.createWrapper(c); - var j = f == "up" || f == "down" ? "top": "left", - k = f == "up" || f == "left" ? "pos": "neg", - g = b.options.distance || (j == "top" ? c.outerHeight({ - margin: !0 - }) / 3 : c.outerWidth({ - margin: !0 - }) / 3); - e == "show" && c.css("opacity", 0).css(j, k == "pos" ? -g: g), - e == "hide" && (g = g / (h * 2)), - e != "hide" && h--; - if (e == "show") { - var l = { - opacity: 1 - }; - l[j] = (k == "pos" ? "+=": "-=") + g, - c.animate(l, i / 2, b.options.easing), - g = g / 2, - h-- - } - for (var m = 0; m < h; m++) { - var n = {}, - p = {}; - n[j] = (k == "pos" ? "-=": "+=") + g, - p[j] = (k == "pos" ? "+=": "-=") + g, - c.animate(n, i / 2, b.options.easing).animate(p, i / 2, b.options.easing), - g = e == "hide" ? g * 2 : g / 2 - } - if (e == "hide") { - var l = { - opacity: 0 - }; - l[j] = (k == "pos" ? "-=": "+=") + g, - c.animate(l, i / 2, b.options.easing, - function() { - c.hide(), - a.effects.restore(c, d), - a.effects.removeWrapper(c), - b.callback && b.callback.apply(this, arguments) - }) - } else { - var n = {}, - p = {}; - n[j] = (k == "pos" ? "-=": "+=") + g, - p[j] = (k == "pos" ? "+=": "-=") + g, - c.animate(n, i / 2, b.options.easing).animate(p, i / 2, b.options.easing, - function() { - a.effects.restore(c, d), - a.effects.removeWrapper(c), - b.callback && b.callback.apply(this, arguments) - }) - } - c.queue("fx", - function() { - c.dequeue() - }), - c.dequeue() - }) - } -})(jQuery); -/* - * jQuery UI Effects Clip 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Effects/Clip - * - * Depends: - * jquery.effects.core.js - */ -(function(a, b) { - a.effects.clip = function(b) { - return this.queue(function() { - var c = a(this), - d = ["position", "top", "bottom", "left", "right", "height", "width"], - e = a.effects.setMode(c, b.options.mode || "hide"), - f = b.options.direction || "vertical"; - a.effects.save(c, d), - c.show(); - var g = a.effects.createWrapper(c).css({ - overflow: "hidden" - }), - h = c[0].tagName == "IMG" ? g: c, - i = { - size: f == "vertical" ? "height": "width", - position: f == "vertical" ? "top": "left" - }, - j = f == "vertical" ? h.height() : h.width(); - e == "show" && (h.css(i.size, 0), h.css(i.position, j / 2)); - var k = {}; - k[i.size] = e == "show" ? j: 0, - k[i.position] = e == "show" ? 0 : j / 2, - h.animate(k, { - queue: !1, - duration: b.duration, - easing: b.options.easing, - complete: function() { - e == "hide" && c.hide(), - a.effects.restore(c, d), - a.effects.removeWrapper(c), - b.callback && b.callback.apply(c[0], arguments), - c.dequeue() - } - }) - }) - } -})(jQuery); -/* - * jQuery UI Effects Drop 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Effects/Drop - * - * Depends: - * jquery.effects.core.js - */ -(function(a, b) { - a.effects.drop = function(b) { - return this.queue(function() { - var c = a(this), - d = ["position", "top", "bottom", "left", "right", "opacity"], - e = a.effects.setMode(c, b.options.mode || "hide"), - f = b.options.direction || "left"; - a.effects.save(c, d), - c.show(), - a.effects.createWrapper(c); - var g = f == "up" || f == "down" ? "top": "left", - h = f == "up" || f == "left" ? "pos": "neg", - i = b.options.distance || (g == "top" ? c.outerHeight({ - margin: !0 - }) / 2 : c.outerWidth({ - margin: !0 - }) / 2); - e == "show" && c.css("opacity", 0).css(g, h == "pos" ? -i: i); - var j = { - opacity: e == "show" ? 1 : 0 - }; - j[g] = (e == "show" ? h == "pos" ? "+=": "-=": h == "pos" ? "-=": "+=") + i, - c.animate(j, { - queue: !1, - duration: b.duration, - easing: b.options.easing, - complete: function() { - e == "hide" && c.hide(), - a.effects.restore(c, d), - a.effects.removeWrapper(c), - b.callback && b.callback.apply(this, arguments), - c.dequeue() - } - }) - }) - } -})(jQuery); -/* - * jQuery UI Effects Explode 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Effects/Explode - * - * Depends: - * jquery.effects.core.js - */ -(function(a, b) { - a.effects.explode = function(b) { - return this.queue(function() { - var c = b.options.pieces ? Math.round(Math.sqrt(b.options.pieces)) : 3, - d = b.options.pieces ? Math.round(Math.sqrt(b.options.pieces)) : 3; - b.options.mode = b.options.mode == "toggle" ? a(this).is(":visible") ? "hide": "show": b.options.mode; - var e = a(this).show().css("visibility", "hidden"), - f = e.offset(); - f.top -= parseInt(e.css("marginTop"), 10) || 0, - f.left -= parseInt(e.css("marginLeft"), 10) || 0; - var g = e.outerWidth(!0), - h = e.outerHeight(!0); - for (var i = 0; i < c; i++) for (var j = 0; j < d; j++) e.clone().appendTo("body").wrap("
").css({ - position: "absolute", - visibility: "visible", - left: -j * (g / d), - top: -i * (h / c) - }).parent().addClass("ui-effects-explode").css({ - position: "absolute", - overflow: "hidden", - width: g / d, - height: h / c, - left: f.left + j * (g / d) + (b.options.mode == "show" ? (j - Math.floor(d / 2)) * (g / d) : 0), - top: f.top + i * (h / c) + (b.options.mode == "show" ? (i - Math.floor(c / 2)) * (h / c) : 0), - opacity: b.options.mode == "show" ? 0 : 1 - }).animate({ - left: f.left + j * (g / d) + (b.options.mode == "show" ? 0 : (j - Math.floor(d / 2)) * (g / d)), - top: f.top + i * (h / c) + (b.options.mode == "show" ? 0 : (i - Math.floor(c / 2)) * (h / c)), - opacity: b.options.mode == "show" ? 1 : 0 - }, - b.duration || 500); - setTimeout(function() { - b.options.mode == "show" ? e.css({ - visibility: "visible" - }) : e.css({ - visibility: "visible" - }).hide(), - b.callback && b.callback.apply(e[0]), - e.dequeue(), - a("div.ui-effects-explode").remove() - }, - b.duration || 500) - }) - } -})(jQuery); -/* - * jQuery UI Effects Fade 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Effects/Fade - * - * Depends: - * jquery.effects.core.js - */ -(function(a, b) { - a.effects.fade = function(b) { - return this.queue(function() { - var c = a(this), - d = a.effects.setMode(c, b.options.mode || "hide"); - c.animate({ - opacity: d - }, - { - queue: !1, - duration: b.duration, - easing: b.options.easing, - complete: function() { - b.callback && b.callback.apply(this, arguments), - c.dequeue() - } - }) - }) - } -})(jQuery); -/* - * jQuery UI Effects Fold 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Effects/Fold - * - * Depends: - * jquery.effects.core.js - */ -(function(a, b) { - a.effects.fold = function(b) { - return this.queue(function() { - var c = a(this), - d = ["position", "top", "bottom", "left", "right"], - e = a.effects.setMode(c, b.options.mode || "hide"), - f = b.options.size || 15, - g = !!b.options.horizFirst, - h = b.duration ? b.duration / 2 : a.fx.speeds._default / 2; - a.effects.save(c, d), - c.show(); - var i = a.effects.createWrapper(c).css({ - overflow: "hidden" - }), - j = e == "show" != g, - k = j ? ["width", "height"] : ["height", "width"], - l = j ? [i.width(), i.height()] : [i.height(), i.width()], - m = /([0-9]+)%/.exec(f); - m && (f = parseInt(m[1], 10) / 100 * l[e == "hide" ? 0 : 1]), - e == "show" && i.css(g ? { - height: 0, - width: f - }: { - height: f, - width: 0 - }); - var n = {}, - p = {}; - n[k[0]] = e == "show" ? l[0] : f, - p[k[1]] = e == "show" ? l[1] : 0, - i.animate(n, h, b.options.easing).animate(p, h, b.options.easing, - function() { - e == "hide" && c.hide(), - a.effects.restore(c, d), - a.effects.removeWrapper(c), - b.callback && b.callback.apply(c[0], arguments), - c.dequeue() - }) - }) - } -})(jQuery); -/* - * jQuery UI Effects Highlight 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Effects/Highlight - * - * Depends: - * jquery.effects.core.js - */ -(function(a, b) { - a.effects.highlight = function(b) { - return this.queue(function() { - var c = a(this), - d = ["backgroundImage", "backgroundColor", "opacity"], - e = a.effects.setMode(c, b.options.mode || "show"), - f = { - backgroundColor: c.css("backgroundColor") - }; - e == "hide" && (f.opacity = 0), - a.effects.save(c, d), - c.show().css({ - backgroundImage: "none", - backgroundColor: b.options.color || "#ffff99" - }).animate(f, { - queue: !1, - duration: b.duration, - easing: b.options.easing, - complete: function() { - e == "hide" && c.hide(), - a.effects.restore(c, d), - e == "show" && !a.support.opacity && this.style.removeAttribute("filter"), - b.callback && b.callback.apply(this, arguments), - c.dequeue() - } - }) - }) - } -})(jQuery); -/* - * jQuery UI Effects Pulsate 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Effects/Pulsate - * - * Depends: - * jquery.effects.core.js - */ -(function(a, b) { - a.effects.pulsate = function(b) { - return this.queue(function() { - var c = a(this), - d = a.effects.setMode(c, b.options.mode || "show"); - times = (b.options.times || 5) * 2 - 1, - duration = b.duration ? b.duration / 2 : a.fx.speeds._default / 2, - isVisible = c.is(":visible"), - animateTo = 0, - isVisible || (c.css("opacity", 0).show(), animateTo = 1), - (d == "hide" && isVisible || d == "show" && !isVisible) && times--; - for (var e = 0; e < times; e++) c.animate({ - opacity: animateTo - }, - duration, b.options.easing), - animateTo = (animateTo + 1) % 2; - c.animate({ - opacity: animateTo - }, - duration, b.options.easing, - function() { - animateTo == 0 && c.hide(), - b.callback && b.callback.apply(this, arguments) - }), - c.queue("fx", - function() { - c.dequeue() - }).dequeue() - }) - } -})(jQuery); -/* - * jQuery UI Effects Scale 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Effects/Scale - * - * Depends: - * jquery.effects.core.js - */ -(function(a, b) { - a.effects.puff = function(b) { - return this.queue(function() { - var c = a(this), - d = a.effects.setMode(c, b.options.mode || "hide"), - e = parseInt(b.options.percent, 10) || 150, - f = e / 100, - g = { - height: c.height(), - width: c.width() - }; - a.extend(b.options, { - fade: !0, - mode: d, - percent: d == "hide" ? e: 100, - from: d == "hide" ? g: { - height: g.height * f, - width: g.width * f - } - }), - c.effect("scale", b.options, b.duration, b.callback), - c.dequeue() - }) - }, - a.effects.scale = function(b) { - return this.queue(function() { - var c = a(this), - d = a.extend(!0, {}, - b.options), - e = a.effects.setMode(c, b.options.mode || "effect"), - f = parseInt(b.options.percent, 10) || (parseInt(b.options.percent, 10) == 0 ? 0 : e == "hide" ? 0 : 100), - g = b.options.direction || "both", - h = b.options.origin; - e != "effect" && (d.origin = h || ["middle", "center"], d.restore = !0); - var i = { - height: c.height(), - width: c.width() - }; - c.from = b.options.from || (e == "show" ? { - height: 0, - width: 0 - }: i); - var j = { - y: g != "horizontal" ? f / 100 : 1, - x: g != "vertical" ? f / 100 : 1 - }; - c.to = { - height: i.height * j.y, - width: i.width * j.x - }, - b.options.fade && (e == "show" && (c.from.opacity = 0, c.to.opacity = 1), e == "hide" && (c.from.opacity = 1, c.to.opacity = 0)), - d.from = c.from, - d.to = c.to, - d.mode = e, - c.effect("size", d, b.duration, b.callback), - c.dequeue() - }) - }, - a.effects.size = function(b) { - return this.queue(function() { - var c = a(this), - d = ["position", "top", "bottom", "left", "right", "width", "height", "overflow", "opacity"], - e = ["position", "top", "bottom", "left", "right", "overflow", "opacity"], - f = ["width", "height", "overflow"], - g = ["fontSize"], - h = ["borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom"], - i = ["borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight"], - j = a.effects.setMode(c, b.options.mode || "effect"), - k = b.options.restore || !1, - l = b.options.scale || "both", - m = b.options.origin, - n = { - height: c.height(), - width: c.width() - }; - c.from = b.options.from || n, - c.to = b.options.to || n; - if (m) { - var p = a.effects.getBaseline(m, n); - c.from.top = (n.height - c.from.height) * p.y, - c.from.left = (n.width - c.from.width) * p.x, - c.to.top = (n.height - c.to.height) * p.y, - c.to.left = (n.width - c.to.width) * p.x - } - var q = { - from: { - y: c.from.height / n.height, - x: c.from.width / n.width - }, - to: { - y: c.to.height / n.height, - x: c.to.width / n.width - } - }; - if (l == "box" || l == "both") q.from.y != q.to.y && (d = d.concat(h), c.from = a.effects.setTransition(c, h, q.from.y, c.from), c.to = a.effects.setTransition(c, h, q.to.y, c.to)), - q.from.x != q.to.x && (d = d.concat(i), c.from = a.effects.setTransition(c, i, q.from.x, c.from), c.to = a.effects.setTransition(c, i, q.to.x, c.to)); (l == "content" || l == "both") && q.from.y != q.to.y && (d = d.concat(g), c.from = a.effects.setTransition(c, g, q.from.y, c.from), c.to = a.effects.setTransition(c, g, q.to.y, c.to)), - a.effects.save(c, k ? d: e), - c.show(), - a.effects.createWrapper(c), - c.css("overflow", "hidden").css(c.from); - if (l == "content" || l == "both") h = h.concat(["marginTop", "marginBottom"]).concat(g), - i = i.concat(["marginLeft", "marginRight"]), - f = d.concat(h).concat(i), - c.find("*[width]").each(function() { - child = a(this), - k && a.effects.save(child, f); - var c = { - height: child.height(), - width: child.width() - }; - child.from = { - height: c.height * q.from.y, - width: c.width * q.from.x - }, - child.to = { - height: c.height * q.to.y, - width: c.width * q.to.x - }, - q.from.y != q.to.y && (child.from = a.effects.setTransition(child, h, q.from.y, child.from), child.to = a.effects.setTransition(child, h, q.to.y, child.to)), - q.from.x != q.to.x && (child.from = a.effects.setTransition(child, i, q.from.x, child.from), child.to = a.effects.setTransition(child, i, q.to.x, child.to)), - child.css(child.from), - child.animate(child.to, b.duration, b.options.easing, - function() { - k && a.effects.restore(child, f) - }) - }); - c.animate(c.to, { - queue: !1, - duration: b.duration, - easing: b.options.easing, - complete: function() { - c.to.opacity === 0 && c.css("opacity", c.from.opacity), - j == "hide" && c.hide(), - a.effects.restore(c, k ? d: e), - a.effects.removeWrapper(c), - b.callback && b.callback.apply(this, arguments), - c.dequeue() - } - }) - }) - } -})(jQuery); -/* - * jQuery UI Effects Shake 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Effects/Shake - * - * Depends: - * jquery.effects.core.js - */ -(function(a, b) { - a.effects.shake = function(b) { - return this.queue(function() { - var c = a(this), - d = ["position", "top", "bottom", "left", "right"], - e = a.effects.setMode(c, b.options.mode || "effect"), - f = b.options.direction || "left", - g = b.options.distance || 20, - h = b.options.times || 3, - i = b.duration || b.options.duration || 140; - a.effects.save(c, d), - c.show(), - a.effects.createWrapper(c); - var j = f == "up" || f == "down" ? "top": "left", - k = f == "up" || f == "left" ? "pos": "neg", - l = {}, - m = {}, - n = {}; - l[j] = (k == "pos" ? "-=": "+=") + g, - m[j] = (k == "pos" ? "+=": "-=") + g * 2, - n[j] = (k == "pos" ? "-=": "+=") + g * 2, - c.animate(l, i, b.options.easing); - for (var p = 1; p < h; p++) c.animate(m, i, b.options.easing).animate(n, i, b.options.easing); - c.animate(m, i, b.options.easing).animate(l, i / 2, b.options.easing, - function() { - a.effects.restore(c, d), - a.effects.removeWrapper(c), - b.callback && b.callback.apply(this, arguments) - }), - c.queue("fx", - function() { - c.dequeue() - }), - c.dequeue() - }) - } -})(jQuery); -/* - * jQuery UI Effects Slide 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Effects/Slide - * - * Depends: - * jquery.effects.core.js - */ -(function(a, b) { - a.effects.slide = function(b) { - return this.queue(function() { - var c = a(this), - d = ["position", "top", "bottom", "left", "right"], - e = a.effects.setMode(c, b.options.mode || "show"), - f = b.options.direction || "left"; - a.effects.save(c, d), - c.show(), - a.effects.createWrapper(c).css({ - overflow: "hidden" - }); - var g = f == "up" || f == "down" ? "top": "left", - h = f == "up" || f == "left" ? "pos": "neg", - i = b.options.distance || (g == "top" ? c.outerHeight({ - margin: !0 - }) : c.outerWidth({ - margin: !0 - })); - e == "show" && c.css(g, h == "pos" ? isNaN(i) ? "-" + i: -i: i); - var j = {}; - j[g] = (e == "show" ? h == "pos" ? "+=": "-=": h == "pos" ? "-=": "+=") + i, - c.animate(j, { - queue: !1, - duration: b.duration, - easing: b.options.easing, - complete: function() { - e == "hide" && c.hide(), - a.effects.restore(c, d), - a.effects.removeWrapper(c), - b.callback && b.callback.apply(this, arguments), - c.dequeue() - } - }) - }) - } -})(jQuery); -/* - * jQuery UI Effects Transfer 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Effects/Transfer - * - * Depends: - * jquery.effects.core.js - */ -(function(a, b) { - a.effects.transfer = function(b) { - return this.queue(function() { - var c = a(this), - d = a(b.options.to), - e = d.offset(), - f = { - top: e.top, - left: e.left, - height: d.innerHeight(), - width: d.innerWidth() - }, - g = c.offset(), - h = a('
').appendTo(document.body).addClass(b.options.className).css({ - top: g.top, - left: g.left, - height: c.innerHeight(), - width: c.innerWidth(), - position: "absolute" - }).animate(f, b.duration, b.options.easing, - function() { - h.remove(), - b.callback && b.callback.apply(c[0], arguments), - c.dequeue() - }) - }) - } -})(jQuery); \ No newline at end of file +/*! + * jQuery UI 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(a, b) { + function d(b) { + return ! a(b).parents().andSelf().filter(function() { + return a.curCSS(this, "visibility") === "hidden" || a.expr.filters.hidden(this) + }).length + } + function c(b, c) { + var e = b.nodeName.toLowerCase(); + if ("area" === e) { + var f = b.parentNode, + g = f.name, + h; + if (!b.href || !g || f.nodeName.toLowerCase() !== "map") return ! 1; + h = a("img[usemap=#" + g + "]")[0]; + return !! h && d(h) + } + return (/input|select|textarea|button|object/.test(e) ? !b.disabled: "a" == e ? b.href || c: c) && d(b) + } + a.ui = a.ui || {}; + a.ui.version || (a.extend(a.ui, { + version: "1.8.18", + keyCode: { + ALT: 18, + BACKSPACE: 8, + CAPS_LOCK: 20, + COMMA: 188, + COMMAND: 91, + COMMAND_LEFT: 91, + COMMAND_RIGHT: 93, + CONTROL: 17, + DELETE: 46, + DOWN: 40, + END: 35, + ENTER: 13, + ESCAPE: 27, + HOME: 36, + INSERT: 45, + LEFT: 37, + MENU: 93, + NUMPAD_ADD: 107, + NUMPAD_DECIMAL: 110, + NUMPAD_DIVIDE: 111, + NUMPAD_ENTER: 108, + NUMPAD_MULTIPLY: 106, + NUMPAD_SUBTRACT: 109, + PAGE_DOWN: 34, + PAGE_UP: 33, + PERIOD: 190, + RIGHT: 39, + SHIFT: 16, + SPACE: 32, + TAB: 9, + UP: 38, + WINDOWS: 91 + } + }), a.fn.extend({ + propAttr: a.fn.prop || a.fn.attr, + _focus: a.fn.focus, + focus: function(b, c) { + return typeof b == "number" ? this.each(function() { + var d = this; + setTimeout(function() { + a(d).focus(), + c && c.call(d) + }, + b) + }) : this._focus.apply(this, arguments) + }, + scrollParent: function() { + var b; + a.browser.msie && /(static|relative)/.test(this.css("position")) || /absolute/.test(this.css("position")) ? b = this.parents().filter(function() { + return /(relative|absolute|fixed)/.test(a.curCSS(this, "position", 1)) && /(auto|scroll)/.test(a.curCSS(this, "overflow", 1) + a.curCSS(this, "overflow-y", 1) + a.curCSS(this, "overflow-x", 1)) + }).eq(0) : b = this.parents().filter(function() { + return /(auto|scroll)/.test(a.curCSS(this, "overflow", 1) + a.curCSS(this, "overflow-y", 1) + a.curCSS(this, "overflow-x", 1)) + }).eq(0); + return /fixed/.test(this.css("position")) || !b.length ? a(document) : b + }, + zIndex: function(c) { + if (c !== b) return this.css("zIndex", c); + if (this.length) { + var d = a(this[0]), + e, + f; + while (d.length && d[0] !== document) { + e = d.css("position"); + if (e === "absolute" || e === "relative" || e === "fixed") { + f = parseInt(d.css("zIndex"), 10); + if (!isNaN(f) && f !== 0) return f + } + d = d.parent() + } + } + return 0 + }, + disableSelection: function() { + return this.bind((a.support.selectstart ? "selectstart": "mousedown") + ".ui-disableSelection", + function(a) { + a.preventDefault() + }) + }, + enableSelection: function() { + return this.unbind(".ui-disableSelection") + } + }), a.each(["Width", "Height"], + function(c, d) { + function h(b, c, d, f) { + a.each(e, + function() { + c -= parseFloat(a.curCSS(b, "padding" + this, !0)) || 0, + d && (c -= parseFloat(a.curCSS(b, "border" + this + "Width", !0)) || 0), + f && (c -= parseFloat(a.curCSS(b, "margin" + this, !0)) || 0) + }); + return c + } + var e = d === "Width" ? ["Left", "Right"] : ["Top", "Bottom"], + f = d.toLowerCase(), + g = { + innerWidth: a.fn.innerWidth, + innerHeight: a.fn.innerHeight, + outerWidth: a.fn.outerWidth, + outerHeight: a.fn.outerHeight + }; + a.fn["inner" + d] = function(c) { + if (c === b) return g["inner" + d].call(this); + return this.each(function() { + a(this).css(f, h(this, c) + "px") + }) + }, + a.fn["outer" + d] = function(b, c) { + if (typeof b != "number") return g["outer" + d].call(this, b); + return this.each(function() { + a(this).css(f, h(this, b, !0, c) + "px") + }) + } + }), a.extend(a.expr[":"], { + data: function(b, c, d) { + return !! a.data(b, d[3]) + }, + focusable: function(b) { + return c(b, !isNaN(a.attr(b, "tabindex"))) + }, + tabbable: function(b) { + var d = a.attr(b, "tabindex"), + e = isNaN(d); + return (e || d >= 0) && c(b, !e) + } + }), a(function() { + var b = document.body, + c = b.appendChild(c = document.createElement("div")); + c.offsetHeight, + a.extend(c.style, { + minHeight: "100px", + height: "auto", + padding: 0, + borderWidth: 0 + }), + a.support.minHeight = c.offsetHeight === 100, + a.support.selectstart = "onselectstart" in c, + b.removeChild(c).style.display = "none" + }), a.extend(a.ui, { + plugin: { + add: function(b, c, d) { + var e = a.ui[b].prototype; + for (var f in d) e.plugins[f] = e.plugins[f] || [], + e.plugins[f].push([c, d[f]]) + }, + call: function(a, b, c) { + var d = a.plugins[b]; + if ( !! d && !!a.element[0].parentNode) for (var e = 0; e < d.length; e++) a.options[d[e][0]] && d[e][1].apply(a.element, c) + } + }, + contains: function(a, b) { + return document.compareDocumentPosition ? a.compareDocumentPosition(b) & 16 : a !== b && a.contains(b) + }, + hasScroll: function(b, c) { + if (a(b).css("overflow") === "hidden") return ! 1; + var d = c && c === "left" ? "scrollLeft": "scrollTop", + e = !1; + if (b[d] > 0) return ! 0; + b[d] = 1, + e = b[d] > 0, + b[d] = 0; + return e + }, + isOverAxis: function(a, b, c) { + return a > b && a < b + c + }, + isOver: function(b, c, d, e, f, g) { + return a.ui.isOverAxis(b, d, f) && a.ui.isOverAxis(c, e, g) + } + })) +})(jQuery); +/*! + * jQuery UI Widget 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Widget + */ +(function(a, b) { + if (a.cleanData) { + var c = a.cleanData; + a.cleanData = function(b) { + for (var d = 0, + e; (e = b[d]) != null; d++) try { + a(e).triggerHandler("remove") + } catch(f) {} + c(b) + } + } else { + var d = a.fn.remove; + a.fn.remove = function(b, c) { + return this.each(function() { + c || (!b || a.filter(b, [this]).length) && a("*", this).add([this]).each(function() { + try { + a(this).triggerHandler("remove") + } catch(b) {} + }); + return d.call(a(this), b, c) + }) + } + } + a.widget = function(b, c, d) { + var e = b.split(".")[0], + f; + b = b.split(".")[1], + f = e + "-" + b, + d || (d = c, c = a.Widget), + a.expr[":"][f] = function(c) { + return !! a.data(c, b) + }, + a[e] = a[e] || {}, + a[e][b] = function(a, b) { + arguments.length && this._createWidget(a, b) + }; + var g = new c; + g.options = a.extend(!0, {}, + g.options), + a[e][b].prototype = a.extend(!0, g, { + namespace: e, + widgetName: b, + widgetEventPrefix: a[e][b].prototype.widgetEventPrefix || b, + widgetBaseClass: f + }, + d), + a.widget.bridge(b, a[e][b]) + }, + a.widget.bridge = function(c, d) { + a.fn[c] = function(e) { + var f = typeof e == "string", + g = Array.prototype.slice.call(arguments, 1), + h = this; + e = !f && g.length ? a.extend.apply(null, [!0, e].concat(g)) : e; + if (f && e.charAt(0) === "_") return h; + f ? this.each(function() { + var d = a.data(this, c), + f = d && a.isFunction(d[e]) ? d[e].apply(d, g) : d; + if (f !== d && f !== b) { + h = f; + return ! 1 + } + }) : this.each(function() { + var b = a.data(this, c); + b ? b.option(e || {})._init() : a.data(this, c, new d(e, this)) + }); + return h + } + }, + a.Widget = function(a, b) { + arguments.length && this._createWidget(a, b) + }, + a.Widget.prototype = { + widgetName: "widget", + widgetEventPrefix: "", + options: { + disabled: !1 + }, + _createWidget: function(b, c) { + a.data(c, this.widgetName, this), + this.element = a(c), + this.options = a.extend(!0, {}, + this.options, this._getCreateOptions(), b); + var d = this; + this.element.bind("remove." + this.widgetName, + function() { + d.destroy() + }), + this._create(), + this._trigger("create"), + this._init() + }, + _getCreateOptions: function() { + return a.metadata && a.metadata.get(this.element[0])[this.widgetName] + }, + _create: function() {}, + _init: function() {}, + destroy: function() { + this.element.unbind("." + this.widgetName).removeData(this.widgetName), + this.widget().unbind("." + this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass + "-disabled " + "ui-state-disabled") + }, + widget: function() { + return this.element + }, + option: function(c, d) { + var e = c; + if (arguments.length === 0) return a.extend({}, + this.options); + if (typeof c == "string") { + if (d === b) return this.options[c]; + e = {}, + e[c] = d + } + this._setOptions(e); + return this + }, + _setOptions: function(b) { + var c = this; + a.each(b, + function(a, b) { + c._setOption(a, b) + }); + return this + }, + _setOption: function(a, b) { + this.options[a] = b, + a === "disabled" && this.widget()[b ? "addClass": "removeClass"](this.widgetBaseClass + "-disabled" + " " + "ui-state-disabled").attr("aria-disabled", b); + return this + }, + enable: function() { + return this._setOption("disabled", !1) + }, + disable: function() { + return this._setOption("disabled", !0) + }, + _trigger: function(b, c, d) { + var e, f, g = this.options[b]; + d = d || {}, + c = a.Event(c), + c.type = (b === this.widgetEventPrefix ? b: this.widgetEventPrefix + b).toLowerCase(), + c.target = this.element[0], + f = c.originalEvent; + if (f) for (e in f) e in c || (c[e] = f[e]); + this.element.trigger(c, d); + return ! (a.isFunction(g) && g.call(this.element[0], c, d) === !1 || c.isDefaultPrevented()) + } + } +})(jQuery); +/*! + * jQuery UI Mouse 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(a, b) { + var c = !1; + a(document).mouseup(function(a) { + c = !1 + }), + a.widget("ui.mouse", { + options: { + cancel: ":input,option", + distance: 1, + delay: 0 + }, + _mouseInit: function() { + var b = this; + this.element.bind("mousedown." + this.widgetName, + function(a) { + return b._mouseDown(a) + }).bind("click." + this.widgetName, + function(c) { + if (!0 === a.data(c.target, b.widgetName + ".preventClickEvent")) { + a.removeData(c.target, b.widgetName + ".preventClickEvent"), + c.stopImmediatePropagation(); + return ! 1 + } + }), + this.started = !1 + }, + _mouseDestroy: function() { + this.element.unbind("." + this.widgetName) + }, + _mouseDown: function(b) { + if (!c) { + this._mouseStarted && this._mouseUp(b), + this._mouseDownEvent = b; + var d = this, + e = b.which == 1, + f = typeof this.options.cancel == "string" && b.target.nodeName ? a(b.target).closest(this.options.cancel).length: !1; + if (!e || f || !this._mouseCapture(b)) return ! 0; + this.mouseDelayMet = !this.options.delay, + this.mouseDelayMet || (this._mouseDelayTimer = setTimeout(function() { + d.mouseDelayMet = !0 + }, + this.options.delay)); + if (this._mouseDistanceMet(b) && this._mouseDelayMet(b)) { + this._mouseStarted = this._mouseStart(b) !== !1; + if (!this._mouseStarted) { + b.preventDefault(); + return ! 0 + } + } ! 0 === a.data(b.target, this.widgetName + ".preventClickEvent") && a.removeData(b.target, this.widgetName + ".preventClickEvent"), + this._mouseMoveDelegate = function(a) { + return d._mouseMove(a) + }, + this._mouseUpDelegate = function(a) { + return d._mouseUp(a) + }, + a(document).bind("mousemove." + this.widgetName, this._mouseMoveDelegate).bind("mouseup." + this.widgetName, this._mouseUpDelegate), + b.preventDefault(), + c = !0; + return ! 0 + } + }, + _mouseMove: function(b) { + if (a.browser.msie && !(document.documentMode >= 9) && !b.button) return this._mouseUp(b); + if (this._mouseStarted) { + this._mouseDrag(b); + return b.preventDefault() + } + this._mouseDistanceMet(b) && this._mouseDelayMet(b) && (this._mouseStarted = this._mouseStart(this._mouseDownEvent, b) !== !1, this._mouseStarted ? this._mouseDrag(b) : this._mouseUp(b)); + return ! this._mouseStarted + }, + _mouseUp: function(b) { + a(document).unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate), + this._mouseStarted && (this._mouseStarted = !1, b.target == this._mouseDownEvent.target && a.data(b.target, this.widgetName + ".preventClickEvent", !0), this._mouseStop(b)); + return ! 1 + }, + _mouseDistanceMet: function(a) { + return Math.max(Math.abs(this._mouseDownEvent.pageX - a.pageX), Math.abs(this._mouseDownEvent.pageY - a.pageY)) >= this.options.distance + }, + _mouseDelayMet: function(a) { + return this.mouseDelayMet + }, + _mouseStart: function(a) {}, + _mouseDrag: function(a) {}, + _mouseStop: function(a) {}, + _mouseCapture: function(a) { + return ! 0 + } + }) +})(jQuery); +/* + * jQuery UI Position 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Position + */ +(function(a, b) { + a.ui = a.ui || {}; + var c = /left|center|right/, + d = /top|center|bottom/, + e = "center", + f = {}, + g = a.fn.position, + h = a.fn.offset; + a.fn.position = function(b) { + if (!b || !b.of) return g.apply(this, arguments); + b = a.extend({}, + b); + var h = a(b.of), + i = h[0], + j = (b.collision || "flip").split(" "), + k = b.offset ? b.offset.split(" ") : [0, 0], + l, + m, + n; + i.nodeType === 9 ? (l = h.width(), m = h.height(), n = { + top: 0, + left: 0 + }) : i.setTimeout ? (l = h.width(), m = h.height(), n = { + top: h.scrollTop(), + left: h.scrollLeft() + }) : i.preventDefault ? (b.at = "left top", l = m = 0, n = { + top: b.of.pageY, + left: b.of.pageX + }) : (l = h.outerWidth(), m = h.outerHeight(), n = h.offset()), + a.each(["my", "at"], + function() { + var a = (b[this] || "").split(" "); + a.length === 1 && (a = c.test(a[0]) ? a.concat([e]) : d.test(a[0]) ? [e].concat(a) : [e, e]), + a[0] = c.test(a[0]) ? a[0] : e, + a[1] = d.test(a[1]) ? a[1] : e, + b[this] = a + }), + j.length === 1 && (j[1] = j[0]), + k[0] = parseInt(k[0], 10) || 0, + k.length === 1 && (k[1] = k[0]), + k[1] = parseInt(k[1], 10) || 0, + b.at[0] === "right" ? n.left += l: b.at[0] === e && (n.left += l / 2), + b.at[1] === "bottom" ? n.top += m: b.at[1] === e && (n.top += m / 2), + n.left += k[0], + n.top += k[1]; + return this.each(function() { + var c = a(this), + d = c.outerWidth(), + g = c.outerHeight(), + h = parseInt(a.curCSS(this, "marginLeft", !0)) || 0, + i = parseInt(a.curCSS(this, "marginTop", !0)) || 0, + o = d + h + (parseInt(a.curCSS(this, "marginRight", !0)) || 0), + p = g + i + (parseInt(a.curCSS(this, "marginBottom", !0)) || 0), + q = a.extend({}, + n), + r; + b.my[0] === "right" ? q.left -= d: b.my[0] === e && (q.left -= d / 2), + b.my[1] === "bottom" ? q.top -= g: b.my[1] === e && (q.top -= g / 2), + f.fractions || (q.left = Math.round(q.left), q.top = Math.round(q.top)), + r = { + left: q.left - h, + top: q.top - i + }, + a.each(["left", "top"], + function(c, e) { + a.ui.position[j[c]] && a.ui.position[j[c]][e](q, { + targetWidth: l, + targetHeight: m, + elemWidth: d, + elemHeight: g, + collisionPosition: r, + collisionWidth: o, + collisionHeight: p, + offset: k, + my: b.my, + at: b.at + }) + }), + a.fn.bgiframe && c.bgiframe(), + c.offset(a.extend(q, { + using: b.using + })) + }) + }, + a.ui.position = { + fit: { + left: function(b, c) { + var d = a(window), + e = c.collisionPosition.left + c.collisionWidth - d.width() - d.scrollLeft(); + b.left = e > 0 ? b.left - e: Math.max(b.left - c.collisionPosition.left, b.left) + }, + top: function(b, c) { + var d = a(window), + e = c.collisionPosition.top + c.collisionHeight - d.height() - d.scrollTop(); + b.top = e > 0 ? b.top - e: Math.max(b.top - c.collisionPosition.top, b.top) + } + }, + flip: { + left: function(b, c) { + if (c.at[0] !== e) { + var d = a(window), + f = c.collisionPosition.left + c.collisionWidth - d.width() - d.scrollLeft(), + g = c.my[0] === "left" ? -c.elemWidth: c.my[0] === "right" ? c.elemWidth: 0, + h = c.at[0] === "left" ? c.targetWidth: -c.targetWidth, + i = -2 * c.offset[0]; + b.left += c.collisionPosition.left < 0 ? g + h + i: f > 0 ? g + h + i: 0 + } + }, + top: function(b, c) { + if (c.at[1] !== e) { + var d = a(window), + f = c.collisionPosition.top + c.collisionHeight - d.height() - d.scrollTop(), + g = c.my[1] === "top" ? -c.elemHeight: c.my[1] === "bottom" ? c.elemHeight: 0, + h = c.at[1] === "top" ? c.targetHeight: -c.targetHeight, + i = -2 * c.offset[1]; + b.top += c.collisionPosition.top < 0 ? g + h + i: f > 0 ? g + h + i: 0 + } + } + } + }, + a.offset.setOffset || (a.offset.setOffset = function(b, c) { / static / .test(a.curCSS(b, "position")) && (b.style.position = "relative"); + var d = a(b), + e = d.offset(), + f = parseInt(a.curCSS(b, "top", !0), 10) || 0, + g = parseInt(a.curCSS(b, "left", !0), 10) || 0, + h = { + top: c.top - e.top + f, + left: c.left - e.left + g + }; + "using" in c ? c.using.call(b, h) : d.css(h) + }, + a.fn.offset = function(b) { + var c = this[0]; + if (!c || !c.ownerDocument) return null; + if (b) return this.each(function() { + a.offset.setOffset(this, b) + }); + return h.call(this) + }), + function() { + var b = document.getElementsByTagName("body")[0], + c = document.createElement("div"), + d, + e, + g, + h, + i; + d = document.createElement(b ? "div": "body"), + g = { + visibility: "hidden", + width: 0, + height: 0, + border: 0, + margin: 0, + background: "none" + }, + b && a.extend(g, { + position: "absolute", + left: "-1000px", + top: "-1000px" + }); + for (var j in g) d.style[j] = g[j]; + d.appendChild(c), + e = b || document.documentElement, + e.insertBefore(d, e.firstChild), + c.style.cssText = "position: absolute; left: 10.7432222px; top: 10.432325px; height: 30px; width: 201px;", + h = a(c).offset(function(a, b) { + return b + }).offset(), + d.innerHTML = "", + e.removeChild(d), + i = h.top + h.left + (b ? 2e3: 0), + f.fractions = i > 21 && i < 22 + } () +})(jQuery); +/* + * jQuery UI Draggable 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Draggables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(a, b) { + a.widget("ui.draggable", a.ui.mouse, { + widgetEventPrefix: "drag", + options: { + addClasses: !0, + appendTo: "parent", + axis: !1, + + connectToSortable: !1, + containment: !1, + cursor: "auto", + cursorAt: !1, + grid: !1, + handle: !1, + helper: "original", + iframeFix: !1, + opacity: !1, + refreshPositions: !1, + revert: !1, + revertDuration: 500, + scope: "default", + scroll: !0, + scrollSensitivity: 20, + scrollSpeed: 20, + snap: !1, + snapMode: "both", + snapTolerance: 20, + stack: !1, + zIndex: !1 + }, + _create: function() { + this.options.helper == "original" && !/^(?:r|a|f)/.test(this.element.css("position")) && (this.element[0].style.position = "relative"), + this.options.addClasses && this.element.addClass("ui-draggable"), + this.options.disabled && this.element.addClass("ui-draggable-disabled"), + this._mouseInit() + }, + destroy: function() { + if ( !! this.element.data("draggable")) { + this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"), + this._mouseDestroy(); + return this + } + }, + _mouseCapture: function(b) { + var c = this.options; + if (this.helper || c.disabled || a(b.target).is(".ui-resizable-handle")) return ! 1; + this.handle = this._getHandle(b); + if (!this.handle) return ! 1; + c.iframeFix && a(c.iframeFix === !0 ? "iframe": c.iframeFix).each(function() { + a('
').css({ + width: this.offsetWidth + "px", + height: this.offsetHeight + "px", + position: "absolute", + opacity: "0.001", + zIndex: 1e3 + }).css(a(this).offset()).appendTo("body") + }); + return ! 0 + }, + _mouseStart: function(b) { + var c = this.options; + this.helper = this._createHelper(b), + this._cacheHelperProportions(), + a.ui.ddmanager && (a.ui.ddmanager.current = this), + this._cacheMargins(), + this.cssPosition = this.helper.css("position"), + this.scrollParent = this.helper.scrollParent(), + this.offset = this.positionAbs = this.element.offset(), + this.offset = { + top: this.offset.top - this.margins.top, + left: this.offset.left - this.margins.left + }, + a.extend(this.offset, { + click: { + left: b.pageX - this.offset.left, + top: b.pageY - this.offset.top + }, + parent: this._getParentOffset(), + relative: this._getRelativeOffset() + }), + this.originalPosition = this.position = this._generatePosition(b), + this.originalPageX = b.pageX, + this.originalPageY = b.pageY, + c.cursorAt && this._adjustOffsetFromHelper(c.cursorAt), + c.containment && this._setContainment(); + if (this._trigger("start", b) === !1) { + this._clear(); + return ! 1 + } + this._cacheHelperProportions(), + a.ui.ddmanager && !c.dropBehaviour && a.ui.ddmanager.prepareOffsets(this, b), + this.helper.addClass("ui-draggable-dragging"), + this._mouseDrag(b, !0), + a.ui.ddmanager && a.ui.ddmanager.dragStart(this, b); + return ! 0 + }, + _mouseDrag: function(b, c) { + this.position = this._generatePosition(b), + this.positionAbs = this._convertPositionTo("absolute"); + if (!c) { + var d = this._uiHash(); + if (this._trigger("drag", b, d) === !1) { + this._mouseUp({}); + return ! 1 + } + this.position = d.position + } + if (!this.options.axis || this.options.axis != "y") this.helper[0].style.left = this.position.left + "px"; + if (!this.options.axis || this.options.axis != "x") this.helper[0].style.top = this.position.top + "px"; + a.ui.ddmanager && a.ui.ddmanager.drag(this, b); + return ! 1 + }, + _mouseStop: function(b) { + var c = !1; + a.ui.ddmanager && !this.options.dropBehaviour && (c = a.ui.ddmanager.drop(this, b)), + this.dropped && (c = this.dropped, this.dropped = !1); + if ((!this.element[0] || !this.element[0].parentNode) && this.options.helper == "original") return ! 1; + if (this.options.revert == "invalid" && !c || this.options.revert == "valid" && c || this.options.revert === !0 || a.isFunction(this.options.revert) && this.options.revert.call(this.element, c)) { + var d = this; + a(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), + function() { + d._trigger("stop", b) !== !1 && d._clear() + }) + } else this._trigger("stop", b) !== !1 && this._clear(); + return ! 1 + }, + _mouseUp: function(b) { + this.options.iframeFix === !0 && a("div.ui-draggable-iframeFix").each(function() { + this.parentNode.removeChild(this) + }), + a.ui.ddmanager && a.ui.ddmanager.dragStop(this, b); + return a.ui.mouse.prototype._mouseUp.call(this, b) + }, + cancel: function() { + this.helper.is(".ui-draggable-dragging") ? this._mouseUp({}) : this._clear(); + return this + }, + _getHandle: function(b) { + var c = !this.options.handle || !a(this.options.handle, this.element).length ? !0 : !1; + a(this.options.handle, this.element).find("*").andSelf().each(function() { + this == b.target && (c = !0) + }); + return c + }, + _createHelper: function(b) { + var c = this.options, + d = a.isFunction(c.helper) ? a(c.helper.apply(this.element[0], [b])) : c.helper == "clone" ? this.element.clone().removeAttr("id") : this.element; + d.parents("body").length || d.appendTo(c.appendTo == "parent" ? this.element[0].parentNode: c.appendTo), + d[0] != this.element[0] && !/(fixed|absolute)/.test(d.css("position")) && d.css("position", "absolute"); + return d + }, + _adjustOffsetFromHelper: function(b) { + typeof b == "string" && (b = b.split(" ")), + a.isArray(b) && (b = { + left: +b[0], + top: +b[1] || 0 + }), + "left" in b && (this.offset.click.left = b.left + this.margins.left), + "right" in b && (this.offset.click.left = this.helperProportions.width - b.right + this.margins.left), + "top" in b && (this.offset.click.top = b.top + this.margins.top), + "bottom" in b && (this.offset.click.top = this.helperProportions.height - b.bottom + this.margins.top) + }, + _getParentOffset: function() { + this.offsetParent = this.helper.offsetParent(); + var b = this.offsetParent.offset(); + this.cssPosition == "absolute" && this.scrollParent[0] != document && a.ui.contains(this.scrollParent[0], this.offsetParent[0]) && (b.left += this.scrollParent.scrollLeft(), b.top += this.scrollParent.scrollTop()); + if (this.offsetParent[0] == document.body || this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == "html" && a.browser.msie) b = { + top: 0, + left: 0 + }; + return { + top: b.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0), + left: b.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0) + } + }, + _getRelativeOffset: function() { + if (this.cssPosition == "relative") { + var a = this.element.position(); + return { + top: a.top - (parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(), + left: a.left - (parseInt(this.helper.css("left"), 10) || 0) + this.scrollParent.scrollLeft() + } + } + return { + top: 0, + left: 0 + } + }, + _cacheMargins: function() { + this.margins = { + left: parseInt(this.element.css("marginLeft"), 10) || 0, + top: parseInt(this.element.css("marginTop"), 10) || 0, + right: parseInt(this.element.css("marginRight"), 10) || 0, + bottom: parseInt(this.element.css("marginBottom"), 10) || 0 + } + }, + _cacheHelperProportions: function() { + this.helperProportions = { + width: this.helper.outerWidth(), + height: this.helper.outerHeight() + } + }, + _setContainment: function() { + var b = this.options; + b.containment == "parent" && (b.containment = this.helper[0].parentNode); + if (b.containment == "document" || b.containment == "window") this.containment = [b.containment == "document" ? 0 : a(window).scrollLeft() - this.offset.relative.left - this.offset.parent.left, b.containment == "document" ? 0 : a(window).scrollTop() - this.offset.relative.top - this.offset.parent.top, (b.containment == "document" ? 0 : a(window).scrollLeft()) + a(b.containment == "document" ? document: window).width() - this.helperProportions.width - this.margins.left, (b.containment == "document" ? 0 : a(window).scrollTop()) + (a(b.containment == "document" ? document: window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top]; + if (!/^(document|window|parent)$/.test(b.containment) && b.containment.constructor != Array) { + var c = a(b.containment), + d = c[0]; + if (!d) return; + var e = c.offset(), + f = a(d).css("overflow") != "hidden"; + this.containment = [(parseInt(a(d).css("borderLeftWidth"), 10) || 0) + (parseInt(a(d).css("paddingLeft"), 10) || 0), (parseInt(a(d).css("borderTopWidth"), 10) || 0) + (parseInt(a(d).css("paddingTop"), 10) || 0), (f ? Math.max(d.scrollWidth, d.offsetWidth) : d.offsetWidth) - (parseInt(a(d).css("borderLeftWidth"), 10) || 0) - (parseInt(a(d).css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left - this.margins.right, (f ? Math.max(d.scrollHeight, d.offsetHeight) : d.offsetHeight) - (parseInt(a(d).css("borderTopWidth"), 10) || 0) - (parseInt(a(d).css("paddingBottom"), 10) || 0) - this.helperProportions.height - this.margins.top - this.margins.bottom], + this.relative_container = c + } else b.containment.constructor == Array && (this.containment = b.containment) + }, + _convertPositionTo: function(b, c) { + c || (c = this.position); + var d = b == "absolute" ? 1 : -1, + e = this.options, + f = this.cssPosition == "absolute" && (this.scrollParent[0] == document || !a.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent: this.scrollParent, + g = /(html|body)/i.test(f[0].tagName); + return { + top: c.top + this.offset.relative.top * d + this.offset.parent.top * d - (a.browser.safari && a.browser.version < 526 && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : g ? 0 : f.scrollTop()) * d), + left: c.left + this.offset.relative.left * d + this.offset.parent.left * d - (a.browser.safari && a.browser.version < 526 && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : g ? 0 : f.scrollLeft()) * d) + } + }, + _generatePosition: function(b) { + var c = this.options, + d = this.cssPosition == "absolute" && (this.scrollParent[0] == document || !a.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent: this.scrollParent, + e = /(html|body)/i.test(d[0].tagName), + f = b.pageX, + g = b.pageY; + if (this.originalPosition) { + var h; + if (this.containment) { + if (this.relative_container) { + var i = this.relative_container.offset(); + h = [this.containment[0] + i.left, this.containment[1] + i.top, this.containment[2] + i.left, this.containment[3] + i.top] + } else h = this.containment; + b.pageX - this.offset.click.left < h[0] && (f = h[0] + this.offset.click.left), + b.pageY - this.offset.click.top < h[1] && (g = h[1] + this.offset.click.top), + b.pageX - this.offset.click.left > h[2] && (f = h[2] + this.offset.click.left), + b.pageY - this.offset.click.top > h[3] && (g = h[3] + this.offset.click.top) + } + if (c.grid) { + var j = c.grid[1] ? this.originalPageY + Math.round((g - this.originalPageY) / c.grid[1]) * c.grid[1] : this.originalPageY; + g = h ? j - this.offset.click.top < h[1] || j - this.offset.click.top > h[3] ? j - this.offset.click.top < h[1] ? j + c.grid[1] : j - c.grid[1] : j: j; + var k = c.grid[0] ? this.originalPageX + Math.round((f - this.originalPageX) / c.grid[0]) * c.grid[0] : this.originalPageX; + f = h ? k - this.offset.click.left < h[0] || k - this.offset.click.left > h[2] ? k - this.offset.click.left < h[0] ? k + c.grid[0] : k - c.grid[0] : k: k + } + } + return { + top: g - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + (a.browser.safari && a.browser.version < 526 && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : e ? 0 : d.scrollTop()), + left: f - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + (a.browser.safari && a.browser.version < 526 && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : e ? 0 : d.scrollLeft()) + } + }, + _clear: function() { + this.helper.removeClass("ui-draggable-dragging"), + this.helper[0] != this.element[0] && !this.cancelHelperRemoval && this.helper.remove(), + this.helper = null, + this.cancelHelperRemoval = !1 + }, + _trigger: function(b, c, d) { + d = d || this._uiHash(), + a.ui.plugin.call(this, b, [c, d]), + b == "drag" && (this.positionAbs = this._convertPositionTo("absolute")); + return a.Widget.prototype._trigger.call(this, b, c, d) + }, + plugins: {}, + _uiHash: function(a) { + return { + helper: this.helper, + position: this.position, + originalPosition: this.originalPosition, + offset: this.positionAbs + } + } + }), + a.extend(a.ui.draggable, { + version: "1.8.18" + }), + a.ui.plugin.add("draggable", "connectToSortable", { + start: function(b, c) { + var d = a(this).data("draggable"), + e = d.options, + f = a.extend({}, + c, { + item: d.element + }); + d.sortables = [], + a(e.connectToSortable).each(function() { + var c = a.data(this, "sortable"); + c && !c.options.disabled && (d.sortables.push({ + instance: c, + shouldRevert: c.options.revert + }), c.refreshPositions(), c._trigger("activate", b, f)) + }) + }, + stop: function(b, c) { + var d = a(this).data("draggable"), + e = a.extend({}, + c, { + item: d.element + }); + a.each(d.sortables, + function() { + this.instance.isOver ? (this.instance.isOver = 0, d.cancelHelperRemoval = !0, this.instance.cancelHelperRemoval = !1, this.shouldRevert && (this.instance.options.revert = !0), this.instance._mouseStop(b), this.instance.options.helper = this.instance.options._helper, d.options.helper == "original" && this.instance.currentItem.css({ + top: "auto", + left: "auto" + })) : (this.instance.cancelHelperRemoval = !1, this.instance._trigger("deactivate", b, e)) + }) + }, + drag: function(b, c) { + var d = a(this).data("draggable"), + e = this, + f = function(b) { + var c = this.offset.click.top, + d = this.offset.click.left, + e = this.positionAbs.top, + f = this.positionAbs.left, + g = b.height, + h = b.width, + i = b.top, + j = b.left; + return a.ui.isOver(e + c, f + d, i, j, g, h) + }; + a.each(d.sortables, + function(f) { + this.instance.positionAbs = d.positionAbs, + this.instance.helperProportions = d.helperProportions, + this.instance.offset.click = d.offset.click, + this.instance._intersectsWith(this.instance.containerCache) ? (this.instance.isOver || (this.instance.isOver = 1, this.instance.currentItem = a(e).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item", !0), this.instance.options._helper = this.instance.options.helper, this.instance.options.helper = function() { + return c.helper[0] + }, + b.target = this.instance.currentItem[0], this.instance._mouseCapture(b, !0), this.instance._mouseStart(b, !0, !0), this.instance.offset.click.top = d.offset.click.top, this.instance.offset.click.left = d.offset.click.left, this.instance.offset.parent.left -= d.offset.parent.left - this.instance.offset.parent.left, this.instance.offset.parent.top -= d.offset.parent.top - this.instance.offset.parent.top, d._trigger("toSortable", b), d.dropped = this.instance.element, d.currentItem = d.element, this.instance.fromOutside = d), this.instance.currentItem && this.instance._mouseDrag(b)) : this.instance.isOver && (this.instance.isOver = 0, this.instance.cancelHelperRemoval = !0, this.instance.options.revert = !1, this.instance._trigger("out", b, this.instance._uiHash(this.instance)), this.instance._mouseStop(b, !0), this.instance.options.helper = this.instance.options._helper, this.instance.currentItem.remove(), this.instance.placeholder && this.instance.placeholder.remove(), d._trigger("fromSortable", b), d.dropped = !1) + }) + } + }), + a.ui.plugin.add("draggable", "cursor", { + start: function(b, c) { + var d = a("body"), + e = a(this).data("draggable").options; + d.css("cursor") && (e._cursor = d.css("cursor")), + d.css("cursor", e.cursor) + }, + stop: function(b, c) { + var d = a(this).data("draggable").options; + d._cursor && a("body").css("cursor", d._cursor) + } + }), + a.ui.plugin.add("draggable", "opacity", { + start: function(b, c) { + var d = a(c.helper), + e = a(this).data("draggable").options; + d.css("opacity") && (e._opacity = d.css("opacity")), + d.css("opacity", e.opacity) + }, + stop: function(b, c) { + var d = a(this).data("draggable").options; + d._opacity && a(c.helper).css("opacity", d._opacity) + } + }), + a.ui.plugin.add("draggable", "scroll", { + start: function(b, c) { + var d = a(this).data("draggable"); + d.scrollParent[0] != document && d.scrollParent[0].tagName != "HTML" && (d.overflowOffset = d.scrollParent.offset()) + }, + drag: function(b, c) { + var d = a(this).data("draggable"), + e = d.options, + f = !1; + if (d.scrollParent[0] != document && d.scrollParent[0].tagName != "HTML") { + if (!e.axis || e.axis != "x") d.overflowOffset.top + d.scrollParent[0].offsetHeight - b.pageY < e.scrollSensitivity ? d.scrollParent[0].scrollTop = f = d.scrollParent[0].scrollTop + e.scrollSpeed: b.pageY - d.overflowOffset.top < e.scrollSensitivity && (d.scrollParent[0].scrollTop = f = d.scrollParent[0].scrollTop - e.scrollSpeed); + if (!e.axis || e.axis != "y") d.overflowOffset.left + d.scrollParent[0].offsetWidth - b.pageX < e.scrollSensitivity ? d.scrollParent[0].scrollLeft = f = d.scrollParent[0].scrollLeft + e.scrollSpeed: b.pageX - d.overflowOffset.left < e.scrollSensitivity && (d.scrollParent[0].scrollLeft = f = d.scrollParent[0].scrollLeft - e.scrollSpeed) + } else { + if (!e.axis || e.axis != "x") b.pageY - a(document).scrollTop() < e.scrollSensitivity ? f = a(document).scrollTop(a(document).scrollTop() - e.scrollSpeed) : a(window).height() - (b.pageY - a(document).scrollTop()) < e.scrollSensitivity && (f = a(document).scrollTop(a(document).scrollTop() + e.scrollSpeed)); + if (!e.axis || e.axis != "y") b.pageX - a(document).scrollLeft() < e.scrollSensitivity ? f = a(document).scrollLeft(a(document).scrollLeft() - e.scrollSpeed) : a(window).width() - (b.pageX - a(document).scrollLeft()) < e.scrollSensitivity && (f = a(document).scrollLeft(a(document).scrollLeft() + e.scrollSpeed)) + } + f !== !1 && a.ui.ddmanager && !e.dropBehaviour && a.ui.ddmanager.prepareOffsets(d, b) + } + }), + a.ui.plugin.add("draggable", "snap", { + start: function(b, c) { + var d = a(this).data("draggable"), + e = d.options; + d.snapElements = [], + a(e.snap.constructor != String ? e.snap.items || ":data(draggable)": e.snap).each(function() { + var b = a(this), + c = b.offset(); + this != d.element[0] && d.snapElements.push({ + item: this, + width: b.outerWidth(), + height: b.outerHeight(), + top: c.top, + left: c.left + }) + }) + }, + drag: function(b, c) { + var d = a(this).data("draggable"), + e = d.options, + f = e.snapTolerance, + g = c.offset.left, + h = g + d.helperProportions.width, + i = c.offset.top, + j = i + d.helperProportions.height; + for (var k = d.snapElements.length - 1; k >= 0; k--) { + var l = d.snapElements[k].left, + m = l + d.snapElements[k].width, + n = d.snapElements[k].top, + o = n + d.snapElements[k].height; + if (! (l - f < g && g < m + f && n - f < i && i < o + f || l - f < g && g < m + f && n - f < j && j < o + f || l - f < h && h < m + f && n - f < i && i < o + f || l - f < h && h < m + f && n - f < j && j < o + f)) { + d.snapElements[k].snapping && d.options.snap.release && d.options.snap.release.call(d.element, b, a.extend(d._uiHash(), { + snapItem: d.snapElements[k].item + })), + d.snapElements[k].snapping = !1; + continue + } + if (e.snapMode != "inner") { + var p = Math.abs(n - j) <= f, + q = Math.abs(o - i) <= f, + r = Math.abs(l - h) <= f, + s = Math.abs(m - g) <= f; + p && (c.position.top = d._convertPositionTo("relative", { + top: n - d.helperProportions.height, + left: 0 + }).top - d.margins.top), + q && (c.position.top = d._convertPositionTo("relative", { + top: o, + left: 0 + }).top - d.margins.top), + r && (c.position.left = d._convertPositionTo("relative", { + top: 0, + left: l - d.helperProportions.width + }).left - d.margins.left), + s && (c.position.left = d._convertPositionTo("relative", { + top: 0, + left: m + }).left - d.margins.left) + } + var t = p || q || r || s; + if (e.snapMode != "outer") { + var p = Math.abs(n - i) <= f, + q = Math.abs(o - j) <= f, + r = Math.abs(l - g) <= f, + s = Math.abs(m - h) <= f; + p && (c.position.top = d._convertPositionTo("relative", { + top: n, + left: 0 + }).top - d.margins.top), + q && (c.position.top = d._convertPositionTo("relative", { + top: o - d.helperProportions.height, + left: 0 + }).top - d.margins.top), + r && (c.position.left = d._convertPositionTo("relative", { + top: 0, + left: l + }).left - d.margins.left), + s && (c.position.left = d._convertPositionTo("relative", { + top: 0, + left: m - d.helperProportions.width + }).left - d.margins.left) + } ! d.snapElements[k].snapping && (p || q || r || s || t) && d.options.snap.snap && d.options.snap.snap.call(d.element, b, a.extend(d._uiHash(), { + snapItem: d.snapElements[k].item + })), + d.snapElements[k].snapping = p || q || r || s || t + } + } + }), + a.ui.plugin.add("draggable", "stack", { + start: function(b, c) { + var d = a(this).data("draggable").options, + e = a.makeArray(a(d.stack)).sort(function(b, c) { + return (parseInt(a(b).css("zIndex"), 10) || 0) - (parseInt(a(c).css("zIndex"), 10) || 0) + }); + if ( !! e.length) { + var f = parseInt(e[0].style.zIndex) || 0; + a(e).each(function(a) { + this.style.zIndex = f + a + }), + this[0].style.zIndex = f + e.length + } + } + }), + a.ui.plugin.add("draggable", "zIndex", { + start: function(b, c) { + var d = a(c.helper), + e = a(this).data("draggable").options; + d.css("zIndex") && (e._zIndex = d.css("zIndex")), + d.css("zIndex", e.zIndex) + }, + stop: function(b, c) { + var d = a(this).data("draggable").options; + d._zIndex && a(c.helper).css("zIndex", d._zIndex) + } + }) +})(jQuery); +/* + * jQuery UI Droppable 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Droppables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.mouse.js + * jquery.ui.draggable.js + */ +(function(a, b) { + a.widget("ui.droppable", { + widgetEventPrefix: "drop", + options: { + accept: "*", + activeClass: !1, + addClasses: !0, + greedy: !1, + hoverClass: !1, + scope: "default", + tolerance: "intersect" + }, + _create: function() { + var b = this.options, + c = b.accept; + this.isover = 0, + this.isout = 1, + this.accept = a.isFunction(c) ? c: function(a) { + return a.is(c) + }, + this.proportions = { + width: this.element[0].offsetWidth, + height: this.element[0].offsetHeight + }, + a.ui.ddmanager.droppables[b.scope] = a.ui.ddmanager.droppables[b.scope] || [], + a.ui.ddmanager.droppables[b.scope].push(this), + b.addClasses && this.element.addClass("ui-droppable") + }, + destroy: function() { + var b = a.ui.ddmanager.droppables[this.options.scope]; + for (var c = 0; c < b.length; c++) b[c] == this && b.splice(c, 1); + this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable"); + return this + }, + _setOption: function(b, c) { + b == "accept" && (this.accept = a.isFunction(c) ? c: function(a) { + return a.is(c) + }), + a.Widget.prototype._setOption.apply(this, arguments) + }, + _activate: function(b) { + var c = a.ui.ddmanager.current; + this.options.activeClass && this.element.addClass(this.options.activeClass), + c && this._trigger("activate", b, this.ui(c)) + }, + _deactivate: function(b) { + var c = a.ui.ddmanager.current; + this.options.activeClass && this.element.removeClass(this.options.activeClass), + c && this._trigger("deactivate", b, this.ui(c)) + }, + _over: function(b) { + var c = a.ui.ddmanager.current; !! c && (c.currentItem || c.element)[0] != this.element[0] && this.accept.call(this.element[0], c.currentItem || c.element) && (this.options.hoverClass && this.element.addClass(this.options.hoverClass), this._trigger("over", b, this.ui(c))) + }, + _out: function(b) { + var c = a.ui.ddmanager.current; !! c && (c.currentItem || c.element)[0] != this.element[0] && this.accept.call(this.element[0], c.currentItem || c.element) && (this.options.hoverClass && this.element.removeClass(this.options.hoverClass), this._trigger("out", b, this.ui(c))) + }, + _drop: function(b, c) { + var d = c || a.ui.ddmanager.current; + if (!d || (d.currentItem || d.element)[0] == this.element[0]) return ! 1; + var e = !1; + this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function() { + var b = a.data(this, "droppable"); + if (b.options.greedy && !b.options.disabled && b.options.scope == d.options.scope && b.accept.call(b.element[0], d.currentItem || d.element) && a.ui.intersect(d, a.extend(b, { + offset: b.element.offset() + }), b.options.tolerance)) { + e = !0; + return ! 1 + } + }); + if (e) return ! 1; + if (this.accept.call(this.element[0], d.currentItem || d.element)) { + this.options.activeClass && this.element.removeClass(this.options.activeClass), + this.options.hoverClass && this.element.removeClass(this.options.hoverClass), + this._trigger("drop", b, this.ui(d)); + return this.element + } + return ! 1 + }, + ui: function(a) { + return { + draggable: a.currentItem || a.element, + helper: a.helper, + position: a.position, + offset: a.positionAbs + } + } + }), + a.extend(a.ui.droppable, { + version: "1.8.18" + }), + a.ui.intersect = function(b, c, d) { + if (!c.offset) return ! 1; + var e = (b.positionAbs || b.position.absolute).left, + f = e + b.helperProportions.width, + g = (b.positionAbs || b.position.absolute).top, + h = g + b.helperProportions.height, + i = c.offset.left, + j = i + c.proportions.width, + k = c.offset.top, + l = k + c.proportions.height; + switch (d) { + case "fit": + return i <= e && f <= j && k <= g && h <= l; + case "intersect": + return i < e + b.helperProportions.width / 2 && f - b.helperProportions.width / 2 < j && k < g + b.helperProportions.height / 2 && h - b.helperProportions.height / 2 < l; + case "pointer": + var m = (b.positionAbs || b.position.absolute).left + (b.clickOffset || b.offset.click).left, + n = (b.positionAbs || b.position.absolute).top + (b.clickOffset || b.offset.click).top, + o = a.ui.isOver(n, m, k, i, c.proportions.height, c.proportions.width); + return o; + case "touch": + return (g >= k && g <= l || h >= k && h <= l || g < k && h > l) && (e >= i && e <= j || f >= i && f <= j || e < i && f > j); + default: + return ! 1 + } + }, + a.ui.ddmanager = { + current: null, + droppables: { + "default": [] + }, + prepareOffsets: function(b, c) { + var d = a.ui.ddmanager.droppables[b.options.scope] || [], + e = c ? c.type: null, + f = (b.currentItem || b.element).find(":data(droppable)").andSelf(); + droppablesLoop: for (var g = 0; g < d.length; g++) { + if (d[g].options.disabled || b && !d[g].accept.call(d[g].element[0], b.currentItem || b.element)) continue; + for (var h = 0; h < f.length; h++) if (f[h] == d[g].element[0]) { + d[g].proportions.height = 0; + continue droppablesLoop + } + d[g].visible = d[g].element.css("display") != "none"; + if (!d[g].visible) continue; + e == "mousedown" && d[g]._activate.call(d[g], c), + d[g].offset = d[g].element.offset(), + d[g].proportions = { + width: d[g].element[0].offsetWidth, + height: d[g].element[0].offsetHeight + } + } + }, + drop: function(b, c) { + var d = !1; + a.each(a.ui.ddmanager.droppables[b.options.scope] || [], + function() { ! this.options || (!this.options.disabled && this.visible && a.ui.intersect(b, this, this.options.tolerance) && (d = this._drop.call(this, c) || d), !this.options.disabled && this.visible && this.accept.call(this.element[0], b.currentItem || b.element) && (this.isout = 1, this.isover = 0, this._deactivate.call(this, c))) + }); + return d + }, + dragStart: function(b, c) { + b.element.parents(":not(body,html)").bind("scroll.droppable", + function() { + b.options.refreshPositions || a.ui.ddmanager.prepareOffsets(b, c) + }) + }, + drag: function(b, c) { + b.options.refreshPositions && a.ui.ddmanager.prepareOffsets(b, c), + a.each(a.ui.ddmanager.droppables[b.options.scope] || [], + function() { + if (! (this.options.disabled || this.greedyChild || !this.visible)) { + var d = a.ui.intersect(b, this, this.options.tolerance), + e = !d && this.isover == 1 ? "isout": d && this.isover == 0 ? "isover": null; + if (!e) return; + var f; + if (this.options.greedy) { + var g = this.element.parents(":data(droppable):eq(0)"); + g.length && (f = a.data(g[0], "droppable"), f.greedyChild = e == "isover" ? 1 : 0) + } + f && e == "isover" && (f.isover = 0, f.isout = 1, f._out.call(f, c)), + this[e] = 1, + this[e == "isout" ? "isover": "isout"] = 0, + this[e == "isover" ? "_over": "_out"].call(this, c), + f && e == "isout" && (f.isout = 0, f.isover = 1, f._over.call(f, c)) + } + }) + }, + dragStop: function(b, c) { + b.element.parents(":not(body,html)").unbind("scroll.droppable"), + b.options.refreshPositions || a.ui.ddmanager.prepareOffsets(b, c) + } + } +})(jQuery); +/* + * jQuery UI Resizable 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Resizables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(a, b) { + a.widget("ui.resizable", a.ui.mouse, { + widgetEventPrefix: "resize", + options: { + alsoResize: !1, + animate: !1, + animateDuration: "slow", + animateEasing: "swing", + aspectRatio: !1, + autoHide: !1, + containment: !1, + ghost: !1, + grid: !1, + handles: "e,s,se", + helper: !1, + maxHeight: null, + maxWidth: null, + minHeight: 10, + minWidth: 10, + zIndex: 1e3 + }, + _create: function() { + var b = this, + c = this.options; + this.element.addClass("ui-resizable"), + a.extend(this, { + _aspectRatio: !!c.aspectRatio, + aspectRatio: c.aspectRatio, + originalElement: this.element, + _proportionallyResizeElements: [], + _helper: c.helper || c.ghost || c.animate ? c.helper || "ui-resizable-helper": null + }), + this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i) && (this.element.wrap(a('
').css({ + position: this.element.css("position"), + width: this.element.outerWidth(), + height: this.element.outerHeight(), + top: this.element.css("top"), + left: this.element.css("left") + })), this.element = this.element.parent().data("resizable", this.element.data("resizable")), this.elementIsWrapper = !0, this.element.css({ + marginLeft: this.originalElement.css("marginLeft"), + marginTop: this.originalElement.css("marginTop"), + marginRight: this.originalElement.css("marginRight"), + marginBottom: this.originalElement.css("marginBottom") + }), this.originalElement.css({ + marginLeft: 0, + marginTop: 0, + marginRight: 0, + marginBottom: 0 + }), this.originalResizeStyle = this.originalElement.css("resize"), this.originalElement.css("resize", "none"), this._proportionallyResizeElements.push(this.originalElement.css({ + position: "static", + zoom: 1, + display: "block" + })), this.originalElement.css({ + margin: this.originalElement.css("margin") + }), this._proportionallyResize()), + this.handles = c.handles || (a(".ui-resizable-handle", this.element).length ? { + n: ".ui-resizable-n", + e: ".ui-resizable-e", + s: ".ui-resizable-s", + w: ".ui-resizable-w", + se: ".ui-resizable-se", + sw: ".ui-resizable-sw", + ne: ".ui-resizable-ne", + nw: ".ui-resizable-nw" + }: "e,s,se"); + if (this.handles.constructor == String) { + this.handles == "all" && (this.handles = "n,e,s,w,se,sw,ne,nw"); + var d = this.handles.split(","); + this.handles = {}; + for (var e = 0; e < d.length; e++) { + var f = a.trim(d[e]), + g = "ui-resizable-" + f, + h = a('
'); + /sw|se|ne|nw/.test(f) && h.css({ + zIndex: ++c.zIndex + }), + "se" == f && h.addClass("ui-icon ui-icon-gripsmall-diagonal-se"), + this.handles[f] = ".ui-resizable-" + f, + this.element.append(h) + } + } + this._renderAxis = function(b) { + b = b || this.element; + for (var c in this.handles) { + this.handles[c].constructor == String && (this.handles[c] = a(this.handles[c], this.element).show()); + if (this.elementIsWrapper && this.originalElement[0].nodeName.match(/textarea|input|select|button/i)) { + var d = a(this.handles[c], this.element), + e = 0; + e = /sw|ne|nw|se|n|s/.test(c) ? d.outerHeight() : d.outerWidth(); + var f = ["padding", /ne|nw|n/.test(c) ? "Top": /se|sw|s/.test(c) ? "Bottom": /^e$/.test(c) ? "Right": "Left"].join(""); + b.css(f, e), + this._proportionallyResize() + } + if (!a(this.handles[c]).length) continue + } + }, + this._renderAxis(this.element), + this._handles = a(".ui-resizable-handle", this.element).disableSelection(), + this._handles.mouseover(function() { + if (!b.resizing) { + if (this.className) var a = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i); + b.axis = a && a[1] ? a[1] : "se" + } + }), + c.autoHide && (this._handles.hide(), a(this.element).addClass("ui-resizable-autohide").hover(function() { + c.disabled || (a(this).removeClass("ui-resizable-autohide"), b._handles.show()) + }, + function() { + c.disabled || b.resizing || (a(this).addClass("ui-resizable-autohide"), b._handles.hide()) + })), + this._mouseInit() + }, + destroy: function() { + this._mouseDestroy(); + var b = function(b) { + a(b).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove() + }; + if (this.elementIsWrapper) { + b(this.element); + var c = this.element; + c.after(this.originalElement.css({ + position: c.css("position"), + width: c.outerWidth(), + height: c.outerHeight(), + top: c.css("top"), + left: c.css("left") + })).remove() + } + this.originalElement.css("resize", this.originalResizeStyle), + b(this.originalElement); + return this + }, + _mouseCapture: function(b) { + var c = !1; + for (var d in this.handles) a(this.handles[d])[0] == b.target && (c = !0); + return ! this.options.disabled && c + }, + _mouseStart: function(b) { + var d = this.options, + e = this.element.position(), + f = this.element; + this.resizing = !0, + this.documentScroll = { + top: a(document).scrollTop(), + left: a(document).scrollLeft() + }, + (f.is(".ui-draggable") || /absolute/.test(f.css("position"))) && f.css({ + position: "absolute", + top: e.top, + left: e.left + }), + this._renderProxy(); + var g = c(this.helper.css("left")), + h = c(this.helper.css("top")); + d.containment && (g += a(d.containment).scrollLeft() || 0, h += a(d.containment).scrollTop() || 0), + this.offset = this.helper.offset(), + this.position = { + left: g, + top: h + }, + this.size = this._helper ? { + width: f.outerWidth(), + height: f.outerHeight() + }: { + width: f.width(), + height: f.height() + }, + this.originalSize = this._helper ? { + width: f.outerWidth(), + height: f.outerHeight() + }: { + width: f.width(), + height: f.height() + }, + this.originalPosition = { + left: g, + top: h + }, + this.sizeDiff = { + width: f.outerWidth() - f.width(), + height: f.outerHeight() - f.height() + }, + this.originalMousePosition = { + left: b.pageX, + top: b.pageY + }, + this.aspectRatio = typeof d.aspectRatio == "number" ? d.aspectRatio: this.originalSize.width / this.originalSize.height || 1; + var i = a(".ui-resizable-" + this.axis).css("cursor"); + a("body").css("cursor", i == "auto" ? this.axis + "-resize": i), + f.addClass("ui-resizable-resizing"), + this._propagate("start", b); + return ! 0 + }, + _mouseDrag: function(b) { + var c = this.helper, + d = this.options, + e = {}, + f = this, + g = this.originalMousePosition, + h = this.axis, + i = b.pageX - g.left || 0, + j = b.pageY - g.top || 0, + k = this._change[h]; + if (!k) return ! 1; + var l = k.apply(this, [b, i, j]), + m = a.browser.msie && a.browser.version < 7, + n = this.sizeDiff; + this._updateVirtualBoundaries(b.shiftKey); + if (this._aspectRatio || b.shiftKey) l = this._updateRatio(l, b); + l = this._respectSize(l, b), + this._propagate("resize", b), + c.css({ + top: this.position.top + "px", + left: this.position.left + "px", + width: this.size.width + "px", + height: this.size.height + "px" + }), + !this._helper && this._proportionallyResizeElements.length && this._proportionallyResize(), + this._updateCache(l), + this._trigger("resize", b, this.ui()); + return ! 1 + }, + _mouseStop: function(b) { + this.resizing = !1; + var c = this.options, + d = this; + if (this._helper) { + var e = this._proportionallyResizeElements, + f = e.length && /textarea/i.test(e[0].nodeName), + g = f && a.ui.hasScroll(e[0], "left") ? 0 : d.sizeDiff.height, + h = f ? 0 : d.sizeDiff.width, + i = { + width: d.helper.width() - h, + height: d.helper.height() - g + }, + j = parseInt(d.element.css("left"), 10) + (d.position.left - d.originalPosition.left) || null, + k = parseInt(d.element.css("top"), 10) + (d.position.top - d.originalPosition.top) || null; + c.animate || this.element.css(a.extend(i, { + top: k, + left: j + })), + d.helper.height(d.size.height), + d.helper.width(d.size.width), + this._helper && !c.animate && this._proportionallyResize() + } + a("body").css("cursor", "auto"), + this.element.removeClass("ui-resizable-resizing"), + this._propagate("stop", b), + this._helper && this.helper.remove(); + return ! 1 + }, + _updateVirtualBoundaries: function(a) { + var b = this.options, + c, e, f, g, h; + h = { + minWidth: d(b.minWidth) ? b.minWidth: 0, + maxWidth: d(b.maxWidth) ? b.maxWidth: Infinity, + minHeight: d(b.minHeight) ? b.minHeight: 0, + maxHeight: d(b.maxHeight) ? b.maxHeight: Infinity + }; + if (this._aspectRatio || a) c = h.minHeight * this.aspectRatio, + f = h.minWidth / this.aspectRatio, + e = h.maxHeight * this.aspectRatio, + g = h.maxWidth / this.aspectRatio, + c > h.minWidth && (h.minWidth = c), + f > h.minHeight && (h.minHeight = f), + e < h.maxWidth && (h.maxWidth = e), + g < h.maxHeight && (h.maxHeight = g); + this._vBoundaries = h + }, + _updateCache: function(a) { + var b = this.options; + this.offset = this.helper.offset(), + d(a.left) && (this.position.left = a.left), + d(a.top) && (this.position.top = a.top), + d(a.height) && (this.size.height = a.height), + d(a.width) && (this.size.width = a.width) + }, + _updateRatio: function(a, b) { + var c = this.options, + e = this.position, + f = this.size, + g = this.axis; + d(a.height) ? a.width = a.height * this.aspectRatio: d(a.width) && (a.height = a.width / this.aspectRatio), + g == "sw" && (a.left = e.left + (f.width - a.width), a.top = null), + g == "nw" && (a.top = e.top + (f.height - a.height), a.left = e.left + (f.width - a.width)); + return a + }, + _respectSize: function(a, b) { + var c = this.helper, + e = this._vBoundaries, + f = this._aspectRatio || b.shiftKey, + g = this.axis, + h = d(a.width) && e.maxWidth && e.maxWidth < a.width, + i = d(a.height) && e.maxHeight && e.maxHeight < a.height, + j = d(a.width) && e.minWidth && e.minWidth > a.width, + k = d(a.height) && e.minHeight && e.minHeight > a.height; + j && (a.width = e.minWidth), + k && (a.height = e.minHeight), + h && (a.width = e.maxWidth), + i && (a.height = e.maxHeight); + var l = this.originalPosition.left + this.originalSize.width, + m = this.position.top + this.size.height, + n = /sw|nw|w/.test(g), + o = /nw|ne|n/.test(g); + j && n && (a.left = l - e.minWidth), + h && n && (a.left = l - e.maxWidth), + k && o && (a.top = m - e.minHeight), + i && o && (a.top = m - e.maxHeight); + var p = !a.width && !a.height; + p && !a.left && a.top ? a.top = null: p && !a.top && a.left && (a.left = null); + return a + }, + _proportionallyResize: function() { + var b = this.options; + if ( !! this._proportionallyResizeElements.length) { + var c = this.helper || this.element; + for (var d = 0; d < this._proportionallyResizeElements.length; d++) { + var e = this._proportionallyResizeElements[d]; + if (!this.borderDif) { + var f = [e.css("borderTopWidth"), e.css("borderRightWidth"), e.css("borderBottomWidth"), e.css("borderLeftWidth")], + g = [e.css("paddingTop"), e.css("paddingRight"), e.css("paddingBottom"), e.css("paddingLeft")]; + this.borderDif = a.map(f, + function(a, b) { + var c = parseInt(a, 10) || 0, + d = parseInt(g[b], 10) || 0; + return c + d + }) + } + if (a.browser.msie && ( !! a(c).is(":hidden") || !!a(c).parents(":hidden").length)) continue; + e.css({ + height: c.height() - this.borderDif[0] - this.borderDif[2] || 0, + width: c.width() - this.borderDif[1] - this.borderDif[3] || 0 + }) + } + } + }, + _renderProxy: function() { + var b = this.element, + c = this.options; + this.elementOffset = b.offset(); + if (this._helper) { + this.helper = this.helper || a('
'); + var d = a.browser.msie && a.browser.version < 7, + e = d ? 1 : 0, + f = d ? 2 : -1; + this.helper.addClass(this._helper).css({ + width: this.element.outerWidth() + f, + height: this.element.outerHeight() + f, + position: "absolute", + left: this.elementOffset.left - e + "px", + top: this.elementOffset.top - e + "px", + zIndex: ++c.zIndex + }), + this.helper.appendTo("body").disableSelection() + } else this.helper = this.element + }, + _change: { + e: function(a, b, c) { + return { + width: this.originalSize.width + b + } + }, + w: function(a, b, c) { + var d = this.options, + e = this.originalSize, + f = this.originalPosition; + return { + left: f.left + b, + width: e.width - b + } + }, + n: function(a, b, c) { + var d = this.options, + e = this.originalSize, + f = this.originalPosition; + return { + top: f.top + c, + height: e.height - c + } + }, + s: function(a, b, c) { + return { + height: this.originalSize.height + c + } + }, + se: function(b, c, d) { + return a.extend(this._change.s.apply(this, arguments), this._change.e.apply(this, [b, c, d])) + }, + sw: function(b, c, d) { + return a.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [b, c, d])) + }, + ne: function(b, c, d) { + return a.extend(this._change.n.apply(this, arguments), this._change.e.apply(this, [b, c, d])) + }, + nw: function(b, c, d) { + return a.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [b, c, d])) + } + }, + _propagate: function(b, c) { + a.ui.plugin.call(this, b, [c, this.ui()]), + b != "resize" && this._trigger(b, c, this.ui()) + }, + plugins: {}, + ui: function() { + return { + originalElement: this.originalElement, + element: this.element, + helper: this.helper, + position: this.position, + size: this.size, + originalSize: this.originalSize, + originalPosition: this.originalPosition + } + } + }), + a.extend(a.ui.resizable, { + version: "1.8.18" + }), + a.ui.plugin.add("resizable", "alsoResize", { + start: function(b, c) { + var d = a(this).data("resizable"), + e = d.options, + f = function(b) { + a(b).each(function() { + var b = a(this); + b.data("resizable-alsoresize", { + width: parseInt(b.width(), 10), + height: parseInt(b.height(), 10), + left: parseInt(b.css("left"), 10), + top: parseInt(b.css("top"), 10) + }) + }) + }; + typeof e.alsoResize == "object" && !e.alsoResize.parentNode ? e.alsoResize.length ? (e.alsoResize = e.alsoResize[0], f(e.alsoResize)) : a.each(e.alsoResize, + function(a) { + f(a) + }) : f(e.alsoResize) + }, + resize: function(b, c) { + var d = a(this).data("resizable"), + e = d.options, + f = d.originalSize, + g = d.originalPosition, + h = { + height: d.size.height - f.height || 0, + width: d.size.width - f.width || 0, + top: d.position.top - g.top || 0, + left: d.position.left - g.left || 0 + }, + i = function(b, d) { + a(b).each(function() { + var b = a(this), + e = a(this).data("resizable-alsoresize"), + f = {}, + g = d && d.length ? d: b.parents(c.originalElement[0]).length ? ["width", "height"] : ["width", "height", "top", "left"]; + a.each(g, + function(a, b) { + var c = (e[b] || 0) + (h[b] || 0); + c && c >= 0 && (f[b] = c || null) + }), + b.css(f) + }) + }; + typeof e.alsoResize == "object" && !e.alsoResize.nodeType ? a.each(e.alsoResize, + function(a, b) { + i(a, b) + }) : i(e.alsoResize) + }, + stop: function(b, c) { + a(this).removeData("resizable-alsoresize") + } + }), + a.ui.plugin.add("resizable", "animate", { + stop: function(b, c) { + var d = a(this).data("resizable"), + e = d.options, + f = d._proportionallyResizeElements, + g = f.length && /textarea/i.test(f[0].nodeName), + h = g && a.ui.hasScroll(f[0], "left") ? 0 : d.sizeDiff.height, + i = g ? 0 : d.sizeDiff.width, + j = { + width: d.size.width - i, + height: d.size.height - h + }, + k = parseInt(d.element.css("left"), 10) + (d.position.left - d.originalPosition.left) || null, + l = parseInt(d.element.css("top"), 10) + (d.position.top - d.originalPosition.top) || null; + d.element.animate(a.extend(j, l && k ? { + top: l, + left: k + }: {}), { + duration: e.animateDuration, + easing: e.animateEasing, + step: function() { + var c = { + width: parseInt(d.element.css("width"), 10), + height: parseInt(d.element.css("height"), 10), + top: parseInt(d.element.css("top"), 10), + left: parseInt(d.element.css("left"), 10) + }; + f && f.length && a(f[0]).css({ + width: c.width, + height: c.height + }), + d._updateCache(c), + d._propagate("resize", b) + } + }) + } + }), + a.ui.plugin.add("resizable", "containment", { + start: function(b, d) { + var e = a(this).data("resizable"), + f = e.options, + g = e.element, + h = f.containment, + i = h instanceof a ? h.get(0) : /parent/.test(h) ? g.parent().get(0) : h; + if ( !! i) { + e.containerElement = a(i); + if (/document/.test(h) || h == document) e.containerOffset = { + left: 0, + top: 0 + }, + e.containerPosition = { + left: 0, + top: 0 + }, + e.parentData = { + element: a(document), + left: 0, + top: 0, + width: a(document).width(), + height: a(document).height() || document.body.parentNode.scrollHeight + }; + else { + var j = a(i), + k = []; + a(["Top", "Right", "Left", "Bottom"]).each(function(a, b) { + k[a] = c(j.css("padding" + b)) + }), + e.containerOffset = j.offset(), + e.containerPosition = j.position(), + e.containerSize = { + height: j.innerHeight() - k[3], + width: j.innerWidth() - k[1] + }; + var l = e.containerOffset, + m = e.containerSize.height, + n = e.containerSize.width, + o = a.ui.hasScroll(i, "left") ? i.scrollWidth: n, + p = a.ui.hasScroll(i) ? i.scrollHeight: m; + e.parentData = { + element: i, + left: l.left, + top: l.top, + width: o, + height: p + } + } + } + }, + resize: function(b, c) { + var d = a(this).data("resizable"), + e = d.options, + f = d.containerSize, + g = d.containerOffset, + h = d.size, + i = d.position, + j = d._aspectRatio || b.shiftKey, + k = { + top: 0, + left: 0 + }, + l = d.containerElement; + l[0] != document && /static/.test(l.css("position")) && (k = g), + i.left < (d._helper ? g.left: 0) && (d.size.width = d.size.width + (d._helper ? d.position.left - g.left: d.position.left - k.left), j && (d.size.height = d.size.width / e.aspectRatio), d.position.left = e.helper ? g.left: 0), + i.top < (d._helper ? g.top: 0) && (d.size.height = d.size.height + (d._helper ? d.position.top - g.top: d.position.top), j && (d.size.width = d.size.height * e.aspectRatio), d.position.top = d._helper ? g.top: 0), + d.offset.left = d.parentData.left + d.position.left, + d.offset.top = d.parentData.top + d.position.top; + var m = Math.abs((d._helper ? d.offset.left - k.left: d.offset.left - k.left) + d.sizeDiff.width), + n = Math.abs((d._helper ? d.offset.top - k.top: d.offset.top - g.top) + d.sizeDiff.height), + o = d.containerElement.get(0) == d.element.parent().get(0), + p = /relative|absolute/.test(d.containerElement.css("position")); + o && p && (m -= d.parentData.left), + m + d.size.width >= d.parentData.width && (d.size.width = d.parentData.width - m, j && (d.size.height = d.size.width / d.aspectRatio)), + n + d.size.height >= d.parentData.height && (d.size.height = d.parentData.height - n, j && (d.size.width = d.size.height * d.aspectRatio)) + }, + stop: function(b, c) { + var d = a(this).data("resizable"), + e = d.options, + f = d.position, + g = d.containerOffset, + h = d.containerPosition, + i = d.containerElement, + j = a(d.helper), + k = j.offset(), + l = j.outerWidth() - d.sizeDiff.width, + m = j.outerHeight() - d.sizeDiff.height; + d._helper && !e.animate && /relative/.test(i.css("position")) && a(this).css({ + left: k.left - h.left - g.left, + width: l, + height: m + }), + d._helper && !e.animate && /static/.test(i.css("position")) && a(this).css({ + left: k.left - h.left - g.left, + width: l, + height: m + }) + } + }), + a.ui.plugin.add("resizable", "ghost", { + start: function(b, c) { + var d = a(this).data("resizable"), + e = d.options, + f = d.size; + d.ghost = d.originalElement.clone(), + d.ghost.css({ + opacity: .25, + display: "block", + position: "relative", + height: f.height, + width: f.width, + margin: 0, + left: 0, + top: 0 + }).addClass("ui-resizable-ghost").addClass(typeof e.ghost == "string" ? e.ghost: ""), + d.ghost.appendTo(d.helper) + }, + resize: function(b, c) { + var d = a(this).data("resizable"), + e = d.options; + d.ghost && d.ghost.css({ + position: "relative", + height: d.size.height, + width: d.size.width + }) + }, + stop: function(b, c) { + var d = a(this).data("resizable"), + e = d.options; + d.ghost && d.helper && d.helper.get(0).removeChild(d.ghost.get(0)) + } + }), + a.ui.plugin.add("resizable", "grid", { + resize: function(b, c) { + var d = a(this).data("resizable"), + e = d.options, + f = d.size, + g = d.originalSize, + h = d.originalPosition, + i = d.axis, + j = e._aspectRatio || b.shiftKey; + e.grid = typeof e.grid == "number" ? [e.grid, e.grid] : e.grid; + var k = Math.round((f.width - g.width) / (e.grid[0] || 1)) * (e.grid[0] || 1), + l = Math.round((f.height - g.height) / (e.grid[1] || 1)) * (e.grid[1] || 1); + /^(se|s|e)$/.test(i) ? (d.size.width = g.width + k, d.size.height = g.height + l) : /^(ne)$/.test(i) ? (d.size.width = g.width + k, d.size.height = g.height + l, d.position.top = h.top - l) : /^(sw)$/.test(i) ? (d.size.width = g.width + k, d.size.height = g.height + l, d.position.left = h.left - k) : (d.size.width = g.width + k, d.size.height = g.height + l, d.position.top = h.top - l, d.position.left = h.left - k) + } + }); + var c = function(a) { + return parseInt(a, 10) || 0 + }, + d = function(a) { + return ! isNaN(parseInt(a, 10)) + } +})(jQuery); +/* + * jQuery UI Selectable 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Selectables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(a, b) { + a.widget("ui.selectable", a.ui.mouse, { + options: { + appendTo: "body", + autoRefresh: !0, + distance: 0, + filter: "*", + tolerance: "touch" + }, + _create: function() { + var b = this; + this.element.addClass("ui-selectable"), + this.dragged = !1; + var c; + this.refresh = function() { + c = a(b.options.filter, b.element[0]), + c.addClass("ui-selectee"), + c.each(function() { + var b = a(this), + c = b.offset(); + a.data(this, "selectable-item", { + element: this, + $element: b, + left: c.left, + top: c.top, + right: c.left + b.outerWidth(), + bottom: c.top + b.outerHeight(), + startselected: !1, + selected: b.hasClass("ui-selected"), + selecting: b.hasClass("ui-selecting"), + unselecting: b.hasClass("ui-unselecting") + }) + }) + }, + this.refresh(), + this.selectees = c.addClass("ui-selectee"), + this._mouseInit(), + this.helper = a("
") + }, + destroy: function() { + this.selectees.removeClass("ui-selectee").removeData("selectable-item"), + this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable"), + this._mouseDestroy(); + return this + }, + _mouseStart: function(b) { + var c = this; + this.opos = [b.pageX, b.pageY]; + if (!this.options.disabled) { + var d = this.options; + this.selectees = a(d.filter, this.element[0]), + this._trigger("start", b), + a(d.appendTo).append(this.helper), + this.helper.css({ + left: b.clientX, + top: b.clientY, + width: 0, + height: 0 + }), + d.autoRefresh && this.refresh(), + this.selectees.filter(".ui-selected").each(function() { + var d = a.data(this, "selectable-item"); + d.startselected = !0, + !b.metaKey && !b.ctrlKey && (d.$element.removeClass("ui-selected"), d.selected = !1, d.$element.addClass("ui-unselecting"), d.unselecting = !0, c._trigger("unselecting", b, { + unselecting: d.element + })) + }), + a(b.target).parents().andSelf().each(function() { + var d = a.data(this, "selectable-item"); + if (d) { + var e = !b.metaKey && !b.ctrlKey || !d.$element.hasClass("ui-selected"); + d.$element.removeClass(e ? "ui-unselecting": "ui-selected").addClass(e ? "ui-selecting": "ui-unselecting"), + d.unselecting = !e, + d.selecting = e, + d.selected = e, + e ? c._trigger("selecting", b, { + selecting: d.element + }) : c._trigger("unselecting", b, { + unselecting: d.element + }); + return ! 1 + } + }) + } + }, + _mouseDrag: function(b) { + var c = this; + this.dragged = !0; + if (!this.options.disabled) { + var d = this.options, + e = this.opos[0], + f = this.opos[1], + g = b.pageX, + h = b.pageY; + if (e > g) { + var i = g; + g = e, + e = i + } + if (f > h) { + var i = h; + h = f, + f = i + } + this.helper.css({ + left: e, + top: f, + width: g - e, + height: h - f + }), + this.selectees.each(function() { + var i = a.data(this, "selectable-item"); + if ( !! i && i.element != c.element[0]) { + var j = !1; + d.tolerance == "touch" ? j = !(i.left > g || i.right < e || i.top > h || i.bottom < f) : d.tolerance == "fit" && (j = i.left > e && i.right < g && i.top > f && i.bottom < h), + j ? (i.selected && (i.$element.removeClass("ui-selected"), i.selected = !1), i.unselecting && (i.$element.removeClass("ui-unselecting"), i.unselecting = !1), i.selecting || (i.$element.addClass("ui-selecting"), i.selecting = !0, c._trigger("selecting", b, { + selecting: i.element + }))) : (i.selecting && ((b.metaKey || b.ctrlKey) && i.startselected ? (i.$element.removeClass("ui-selecting"), i.selecting = !1, i.$element.addClass("ui-selected"), i.selected = !0) : (i.$element.removeClass("ui-selecting"), i.selecting = !1, i.startselected && (i.$element.addClass("ui-unselecting"), i.unselecting = !0), c._trigger("unselecting", b, { + unselecting: i.element + }))), i.selected && !b.metaKey && !b.ctrlKey && !i.startselected && (i.$element.removeClass("ui-selected"), i.selected = !1, i.$element.addClass("ui-unselecting"), i.unselecting = !0, c._trigger("unselecting", b, { + unselecting: i.element + }))) + } + }); + return ! 1 + } + }, + _mouseStop: function(b) { + var c = this; + this.dragged = !1; + var d = this.options; + a(".ui-unselecting", this.element[0]).each(function() { + var d = a.data(this, "selectable-item"); + d.$element.removeClass("ui-unselecting"), + d.unselecting = !1, + d.startselected = !1, + c._trigger("unselected", b, { + unselected: d.element + }) + }), + a(".ui-selecting", this.element[0]).each(function() { + var d = a.data(this, "selectable-item"); + d.$element.removeClass("ui-selecting").addClass("ui-selected"), + d.selecting = !1, + d.selected = !0, + d.startselected = !0, + c._trigger("selected", b, { + selected: d.element + }) + }), + this._trigger("stop", b), + this.helper.remove(); + return ! 1 + } + }), + a.extend(a.ui.selectable, { + version: "1.8.18" + }) +})(jQuery); +/* + * jQuery UI Sortable 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Sortables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(a, b) { + a.widget("ui.sortable", a.ui.mouse, { + widgetEventPrefix: "sort", + ready: !1, + options: { + appendTo: "parent", + axis: !1, + connectWith: !1, + containment: !1, + cursor: "auto", + cursorAt: !1, + dropOnEmpty: !0, + forcePlaceholderSize: !1, + forceHelperSize: !1, + grid: !1, + handle: !1, + helper: "original", + items: "> *", + opacity: !1, + placeholder: !1, + revert: !1, + scroll: !0, + scrollSensitivity: 20, + scrollSpeed: 20, + scope: "default", + tolerance: "intersect", + zIndex: 1e3 + }, + _create: function() { + var a = this.options; + this.containerCache = {}, + this.element.addClass("ui-sortable"), + this.refresh(), + this.floating = this.items.length ? a.axis === "x" || /left|right/.test(this.items[0].item.css("float")) || /inline|table-cell/.test(this.items[0].item.css("display")) : !1, + this.offset = this.element.offset(), + this._mouseInit(), + this.ready = !0 + }, + destroy: function() { + a.Widget.prototype.destroy.call(this), + this.element.removeClass("ui-sortable ui-sortable-disabled"), + this._mouseDestroy(); + for (var b = this.items.length - 1; b >= 0; b--) this.items[b].item.removeData(this.widgetName + "-item"); + return this + }, + _setOption: function(b, c) { + b === "disabled" ? (this.options[b] = c, this.widget()[c ? "addClass": "removeClass"]("ui-sortable-disabled")) : a.Widget.prototype._setOption.apply(this, arguments) + }, + _mouseCapture: function(b, c) { + var d = this; + if (this.reverting) return ! 1; + if (this.options.disabled || this.options.type == "static") return ! 1; + this._refreshItems(b); + var e = null, + f = this, + g = a(b.target).parents().each(function() { + if (a.data(this, d.widgetName + "-item") == f) { + e = a(this); + return ! 1 + } + }); + a.data(b.target, d.widgetName + "-item") == f && (e = a(b.target)); + if (!e) return ! 1; + if (this.options.handle && !c) { + var h = !1; + a(this.options.handle, e).find("*").andSelf().each(function() { + this == b.target && (h = !0) + }); + if (!h) return ! 1 + } + this.currentItem = e, + + this._removeCurrentsFromItems(); + return ! 0 + }, + _mouseStart: function(b, c, d) { + var e = this.options, + f = this; + this.currentContainer = this, + this.refreshPositions(), + this.helper = this._createHelper(b), + this._cacheHelperProportions(), + this._cacheMargins(), + this.scrollParent = this.helper.scrollParent(), + this.offset = this.currentItem.offset(), + this.offset = { + top: this.offset.top - this.margins.top, + left: this.offset.left - this.margins.left + }, + this.helper.css("position", "absolute"), + this.cssPosition = this.helper.css("position"), + a.extend(this.offset, { + click: { + left: b.pageX - this.offset.left, + top: b.pageY - this.offset.top + }, + parent: this._getParentOffset(), + relative: this._getRelativeOffset() + }), + this.originalPosition = this._generatePosition(b), + this.originalPageX = b.pageX, + this.originalPageY = b.pageY, + e.cursorAt && this._adjustOffsetFromHelper(e.cursorAt), + this.domPosition = { + prev: this.currentItem.prev()[0], + parent: this.currentItem.parent()[0] + }, + this.helper[0] != this.currentItem[0] && this.currentItem.hide(), + this._createPlaceholder(), + e.containment && this._setContainment(), + e.cursor && (a("body").css("cursor") && (this._storedCursor = a("body").css("cursor")), a("body").css("cursor", e.cursor)), + e.opacity && (this.helper.css("opacity") && (this._storedOpacity = this.helper.css("opacity")), this.helper.css("opacity", e.opacity)), + e.zIndex && (this.helper.css("zIndex") && (this._storedZIndex = this.helper.css("zIndex")), this.helper.css("zIndex", e.zIndex)), + this.scrollParent[0] != document && this.scrollParent[0].tagName != "HTML" && (this.overflowOffset = this.scrollParent.offset()), + this._trigger("start", b, this._uiHash()), + this._preserveHelperProportions || this._cacheHelperProportions(); + if (!d) for (var g = this.containers.length - 1; g >= 0; g--) this.containers[g]._trigger("activate", b, f._uiHash(this)); + a.ui.ddmanager && (a.ui.ddmanager.current = this), + a.ui.ddmanager && !e.dropBehaviour && a.ui.ddmanager.prepareOffsets(this, b), + this.dragging = !0, + this.helper.addClass("ui-sortable-helper"), + this._mouseDrag(b); + return ! 0 + }, + _mouseDrag: function(b) { + this.position = this._generatePosition(b), + this.positionAbs = this._convertPositionTo("absolute"), + this.lastPositionAbs || (this.lastPositionAbs = this.positionAbs); + if (this.options.scroll) { + var c = this.options, + d = !1; + this.scrollParent[0] != document && this.scrollParent[0].tagName != "HTML" ? (this.overflowOffset.top + this.scrollParent[0].offsetHeight - b.pageY < c.scrollSensitivity ? this.scrollParent[0].scrollTop = d = this.scrollParent[0].scrollTop + c.scrollSpeed: b.pageY - this.overflowOffset.top < c.scrollSensitivity && (this.scrollParent[0].scrollTop = d = this.scrollParent[0].scrollTop - c.scrollSpeed), this.overflowOffset.left + this.scrollParent[0].offsetWidth - b.pageX < c.scrollSensitivity ? this.scrollParent[0].scrollLeft = d = this.scrollParent[0].scrollLeft + c.scrollSpeed: b.pageX - this.overflowOffset.left < c.scrollSensitivity && (this.scrollParent[0].scrollLeft = d = this.scrollParent[0].scrollLeft - c.scrollSpeed)) : (b.pageY - a(document).scrollTop() < c.scrollSensitivity ? d = a(document).scrollTop(a(document).scrollTop() - c.scrollSpeed) : a(window).height() - (b.pageY - a(document).scrollTop()) < c.scrollSensitivity && (d = a(document).scrollTop(a(document).scrollTop() + c.scrollSpeed)), b.pageX - a(document).scrollLeft() < c.scrollSensitivity ? d = a(document).scrollLeft(a(document).scrollLeft() - c.scrollSpeed) : a(window).width() - (b.pageX - a(document).scrollLeft()) < c.scrollSensitivity && (d = a(document).scrollLeft(a(document).scrollLeft() + c.scrollSpeed))), + d !== !1 && a.ui.ddmanager && !c.dropBehaviour && a.ui.ddmanager.prepareOffsets(this, b) + } + this.positionAbs = this._convertPositionTo("absolute"); + if (!this.options.axis || this.options.axis != "y") this.helper[0].style.left = this.position.left + "px"; + if (!this.options.axis || this.options.axis != "x") this.helper[0].style.top = this.position.top + "px"; + for (var e = this.items.length - 1; e >= 0; e--) { + var f = this.items[e], + g = f.item[0], + h = this._intersectsWithPointer(f); + if (!h) continue; + if (g != this.currentItem[0] && this.placeholder[h == 1 ? "next": "prev"]()[0] != g && !a.ui.contains(this.placeholder[0], g) && (this.options.type == "semi-dynamic" ? !a.ui.contains(this.element[0], g) : !0)) { + this.direction = h == 1 ? "down": "up"; + if (this.options.tolerance == "pointer" || this._intersectsWithSides(f)) this._rearrange(b, f); + else break; + this._trigger("change", b, this._uiHash()); + break + } + } + this._contactContainers(b), + a.ui.ddmanager && a.ui.ddmanager.drag(this, b), + this._trigger("sort", b, this._uiHash()), + this.lastPositionAbs = this.positionAbs; + return ! 1 + }, + _mouseStop: function(b, c) { + if ( !! b) { + a.ui.ddmanager && !this.options.dropBehaviour && a.ui.ddmanager.drop(this, b); + if (this.options.revert) { + var d = this, + e = d.placeholder.offset(); + d.reverting = !0, + a(this.helper).animate({ + left: e.left - this.offset.parent.left - d.margins.left + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollLeft), + top: e.top - this.offset.parent.top - d.margins.top + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollTop) + }, + parseInt(this.options.revert, 10) || 500, + function() { + d._clear(b) + }) + } else this._clear(b, c); + return ! 1 + } + }, + cancel: function() { + var b = this; + if (this.dragging) { + this._mouseUp({ + target: null + }), + this.options.helper == "original" ? this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper") : this.currentItem.show(); + for (var c = this.containers.length - 1; c >= 0; c--) this.containers[c]._trigger("deactivate", null, b._uiHash(this)), + this.containers[c].containerCache.over && (this.containers[c]._trigger("out", null, b._uiHash(this)), this.containers[c].containerCache.over = 0) + } + this.placeholder && (this.placeholder[0].parentNode && this.placeholder[0].parentNode.removeChild(this.placeholder[0]), this.options.helper != "original" && this.helper && this.helper[0].parentNode && this.helper.remove(), a.extend(this, { + helper: null, + dragging: !1, + reverting: !1, + _noFinalSort: null + }), this.domPosition.prev ? a(this.domPosition.prev).after(this.currentItem) : a(this.domPosition.parent).prepend(this.currentItem)); + return this + }, + serialize: function(b) { + var c = this._getItemsAsjQuery(b && b.connected), + d = []; + b = b || {}, + a(c).each(function() { + var c = (a(b.item || this).attr(b.attribute || "id") || "").match(b.expression || /(.+)[-=_](.+)/); + c && d.push((b.key || c[1] + "[]") + "=" + (b.key && b.expression ? c[1] : c[2])) + }), + !d.length && b.key && d.push(b.key + "="); + return d.join("&") + }, + toArray: function(b) { + var c = this._getItemsAsjQuery(b && b.connected), + d = []; + b = b || {}, + c.each(function() { + d.push(a(b.item || this).attr(b.attribute || "id") || "") + }); + return d + }, + _intersectsWith: function(a) { + var b = this.positionAbs.left, + c = b + this.helperProportions.width, + d = this.positionAbs.top, + e = d + this.helperProportions.height, + f = a.left, + g = f + a.width, + h = a.top, + i = h + a.height, + j = this.offset.click.top, + k = this.offset.click.left, + l = d + j > h && d + j < i && b + k > f && b + k < g; + return this.options.tolerance == "pointer" || this.options.forcePointerForContainers || this.options.tolerance != "pointer" && this.helperProportions[this.floating ? "width": "height"] > a[this.floating ? "width": "height"] ? l: f < b + this.helperProportions.width / 2 && c - this.helperProportions.width / 2 < g && h < d + this.helperProportions.height / 2 && e - this.helperProportions.height / 2 < i + }, + _intersectsWithPointer: function(b) { + var c = a.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, b.top, b.height), + d = a.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, b.left, b.width), + e = c && d, + f = this._getDragVerticalDirection(), + g = this._getDragHorizontalDirection(); + if (!e) return ! 1; + return this.floating ? g && g == "right" || f == "down" ? 2 : 1 : f && (f == "down" ? 2 : 1) + }, + _intersectsWithSides: function(b) { + var c = a.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, b.top + b.height / 2, b.height), + d = a.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, b.left + b.width / 2, b.width), + e = this._getDragVerticalDirection(), + f = this._getDragHorizontalDirection(); + return this.floating && f ? f == "right" && d || f == "left" && !d: e && (e == "down" && c || e == "up" && !c) + }, + _getDragVerticalDirection: function() { + var a = this.positionAbs.top - this.lastPositionAbs.top; + return a != 0 && (a > 0 ? "down": "up") + }, + _getDragHorizontalDirection: function() { + var a = this.positionAbs.left - this.lastPositionAbs.left; + return a != 0 && (a > 0 ? "right": "left") + }, + refresh: function(a) { + this._refreshItems(a), + this.refreshPositions(); + return this + }, + _connectWith: function() { + var a = this.options; + return a.connectWith.constructor == String ? [a.connectWith] : a.connectWith + }, + _getItemsAsjQuery: function(b) { + var c = this, + d = [], + e = [], + f = this._connectWith(); + if (f && b) for (var g = f.length - 1; g >= 0; g--) { + var h = a(f[g]); + for (var i = h.length - 1; i >= 0; i--) { + var j = a.data(h[i], this.widgetName); + j && j != this && !j.options.disabled && e.push([a.isFunction(j.options.items) ? j.options.items.call(j.element) : a(j.options.items, j.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), j]) + } + } + e.push([a.isFunction(this.options.items) ? this.options.items.call(this.element, null, { + options: this.options, + item: this.currentItem + }) : a(this.options.items, this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), this]); + for (var g = e.length - 1; g >= 0; g--) e[g][0].each(function() { + d.push(this) + }); + return a(d) + }, + _removeCurrentsFromItems: function() { + var a = this.currentItem.find(":data(" + this.widgetName + "-item)"); + for (var b = 0; b < this.items.length; b++) for (var c = 0; c < a.length; c++) a[c] == this.items[b].item[0] && this.items.splice(b, 1) + }, + _refreshItems: function(b) { + this.items = [], + this.containers = [this]; + var c = this.items, + d = this, + e = [[a.isFunction(this.options.items) ? this.options.items.call(this.element[0], b, { + item: this.currentItem + }) : a(this.options.items, this.element), this]], + f = this._connectWith(); + if (f && this.ready) for (var g = f.length - 1; g >= 0; g--) { + var h = a(f[g]); + for (var i = h.length - 1; i >= 0; i--) { + var j = a.data(h[i], this.widgetName); + j && j != this && !j.options.disabled && (e.push([a.isFunction(j.options.items) ? j.options.items.call(j.element[0], b, { + item: this.currentItem + }) : a(j.options.items, j.element), j]), this.containers.push(j)) + } + } + for (var g = e.length - 1; g >= 0; g--) { + var k = e[g][1], + l = e[g][0]; + for (var i = 0, + m = l.length; i < m; i++) { + var n = a(l[i]); + n.data(this.widgetName + "-item", k), + c.push({ + item: n, + instance: k, + width: 0, + height: 0, + left: 0, + top: 0 + }) + } + } + }, + refreshPositions: function(b) { + this.offsetParent && this.helper && (this.offset.parent = this._getParentOffset()); + for (var c = this.items.length - 1; c >= 0; c--) { + var d = this.items[c]; + if (d.instance != this.currentContainer && this.currentContainer && d.item[0] != this.currentItem[0]) continue; + var e = this.options.toleranceElement ? a(this.options.toleranceElement, d.item) : d.item; + b || (d.width = e.outerWidth(), d.height = e.outerHeight()); + var f = e.offset(); + d.left = f.left, + d.top = f.top + } + if (this.options.custom && this.options.custom.refreshContainers) this.options.custom.refreshContainers.call(this); + else for (var c = this.containers.length - 1; c >= 0; c--) { + var f = this.containers[c].element.offset(); + this.containers[c].containerCache.left = f.left, + this.containers[c].containerCache.top = f.top, + this.containers[c].containerCache.width = this.containers[c].element.outerWidth(), + this.containers[c].containerCache.height = this.containers[c].element.outerHeight() + } + return this + }, + _createPlaceholder: function(b) { + var c = b || this, + d = c.options; + if (!d.placeholder || d.placeholder.constructor == String) { + var e = d.placeholder; + d.placeholder = { + element: function() { + var b = a(document.createElement(c.currentItem[0].nodeName)).addClass(e || c.currentItem[0].className + " ui-sortable-placeholder").removeClass("ui-sortable-helper")[0]; + e || (b.style.visibility = "hidden"); + return b + }, + update: function(a, b) { + if (!e || !!d.forcePlaceholderSize) b.height() || b.height(c.currentItem.innerHeight() - parseInt(c.currentItem.css("paddingTop") || 0, 10) - parseInt(c.currentItem.css("paddingBottom") || 0, 10)), + b.width() || b.width(c.currentItem.innerWidth() - parseInt(c.currentItem.css("paddingLeft") || 0, 10) - parseInt(c.currentItem.css("paddingRight") || 0, 10)) + } + } + } + c.placeholder = a(d.placeholder.element.call(c.element, c.currentItem)), + c.currentItem.after(c.placeholder), + d.placeholder.update(c, c.placeholder) + }, + _contactContainers: function(b) { + var c = null, + d = null; + for (var e = this.containers.length - 1; e >= 0; e--) { + if (a.ui.contains(this.currentItem[0], this.containers[e].element[0])) continue; + if (this._intersectsWith(this.containers[e].containerCache)) { + if (c && a.ui.contains(this.containers[e].element[0], c.element[0])) continue; + c = this.containers[e], + d = e + } else this.containers[e].containerCache.over && (this.containers[e]._trigger("out", b, this._uiHash(this)), this.containers[e].containerCache.over = 0) + } + if ( !! c) if (this.containers.length === 1) this.containers[d]._trigger("over", b, this._uiHash(this)), + this.containers[d].containerCache.over = 1; + else if (this.currentContainer != this.containers[d]) { + var f = 1e4, + g = null, + h = this.positionAbs[this.containers[d].floating ? "left": "top"]; + for (var i = this.items.length - 1; i >= 0; i--) { + if (!a.ui.contains(this.containers[d].element[0], this.items[i].item[0])) continue; + var j = this.items[i][this.containers[d].floating ? "left": "top"]; + Math.abs(j - h) < f && (f = Math.abs(j - h), g = this.items[i]) + } + if (!g && !this.options.dropOnEmpty) return; + this.currentContainer = this.containers[d], + g ? this._rearrange(b, g, null, !0) : this._rearrange(b, null, this.containers[d].element, !0), + this._trigger("change", b, this._uiHash()), + this.containers[d]._trigger("change", b, this._uiHash(this)), + this.options.placeholder.update(this.currentContainer, this.placeholder), + this.containers[d]._trigger("over", b, this._uiHash(this)), + this.containers[d].containerCache.over = 1 + } + }, + _createHelper: function(b) { + var c = this.options, + d = a.isFunction(c.helper) ? a(c.helper.apply(this.element[0], [b, this.currentItem])) : c.helper == "clone" ? this.currentItem.clone() : this.currentItem; + d.parents("body").length || a(c.appendTo != "parent" ? c.appendTo: this.currentItem[0].parentNode)[0].appendChild(d[0]), + d[0] == this.currentItem[0] && (this._storedCSS = { + width: this.currentItem[0].style.width, + height: this.currentItem[0].style.height, + position: this.currentItem.css("position"), + top: this.currentItem.css("top"), + left: this.currentItem.css("left") + }), + (d[0].style.width == "" || c.forceHelperSize) && d.width(this.currentItem.width()), + (d[0].style.height == "" || c.forceHelperSize) && d.height(this.currentItem.height()); + return d + }, + _adjustOffsetFromHelper: function(b) { + typeof b == "string" && (b = b.split(" ")), + a.isArray(b) && (b = { + left: +b[0], + top: +b[1] || 0 + }), + "left" in b && (this.offset.click.left = b.left + this.margins.left), + "right" in b && (this.offset.click.left = this.helperProportions.width - b.right + this.margins.left), + "top" in b && (this.offset.click.top = b.top + this.margins.top), + "bottom" in b && (this.offset.click.top = this.helperProportions.height - b.bottom + this.margins.top) + }, + _getParentOffset: function() { + this.offsetParent = this.helper.offsetParent(); + var b = this.offsetParent.offset(); + this.cssPosition == "absolute" && this.scrollParent[0] != document && a.ui.contains(this.scrollParent[0], this.offsetParent[0]) && (b.left += this.scrollParent.scrollLeft(), b.top += this.scrollParent.scrollTop()); + if (this.offsetParent[0] == document.body || this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == "html" && a.browser.msie) b = { + top: 0, + left: 0 + }; + return { + top: b.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0), + left: b.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0) + } + }, + _getRelativeOffset: function() { + if (this.cssPosition == "relative") { + var a = this.currentItem.position(); + return { + top: a.top - (parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(), + left: a.left - (parseInt(this.helper.css("left"), 10) || 0) + this.scrollParent.scrollLeft() + } + } + return { + top: 0, + left: 0 + } + }, + _cacheMargins: function() { + this.margins = { + left: parseInt(this.currentItem.css("marginLeft"), 10) || 0, + top: parseInt(this.currentItem.css("marginTop"), 10) || 0 + } + }, + _cacheHelperProportions: function() { + this.helperProportions = { + width: this.helper.outerWidth(), + height: this.helper.outerHeight() + } + }, + _setContainment: function() { + var b = this.options; + b.containment == "parent" && (b.containment = this.helper[0].parentNode); + if (b.containment == "document" || b.containment == "window") this.containment = [0 - this.offset.relative.left - this.offset.parent.left, 0 - this.offset.relative.top - this.offset.parent.top, a(b.containment == "document" ? document: window).width() - this.helperProportions.width - this.margins.left, (a(b.containment == "document" ? document: window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top]; + if (!/^(document|window|parent)$/.test(b.containment)) { + var c = a(b.containment)[0], + d = a(b.containment).offset(), + e = a(c).css("overflow") != "hidden"; + this.containment = [d.left + (parseInt(a(c).css("borderLeftWidth"), 10) || 0) + (parseInt(a(c).css("paddingLeft"), 10) || 0) - this.margins.left, d.top + (parseInt(a(c).css("borderTopWidth"), 10) || 0) + (parseInt(a(c).css("paddingTop"), 10) || 0) - this.margins.top, d.left + (e ? Math.max(c.scrollWidth, c.offsetWidth) : c.offsetWidth) - (parseInt(a(c).css("borderLeftWidth"), 10) || 0) - (parseInt(a(c).css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left, d.top + (e ? Math.max(c.scrollHeight, c.offsetHeight) : c.offsetHeight) - (parseInt(a(c).css("borderTopWidth"), 10) || 0) - (parseInt(a(c).css("paddingBottom"), 10) || 0) - this.helperProportions.height - this.margins.top] + } + }, + _convertPositionTo: function(b, c) { + c || (c = this.position); + var d = b == "absolute" ? 1 : -1, + e = this.options, + f = this.cssPosition == "absolute" && (this.scrollParent[0] == document || !a.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent: this.scrollParent, + g = /(html|body)/i.test(f[0].tagName); + return { + top: c.top + this.offset.relative.top * d + this.offset.parent.top * d - (a.browser.safari && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : g ? 0 : f.scrollTop()) * d), + left: c.left + this.offset.relative.left * d + this.offset.parent.left * d - (a.browser.safari && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : g ? 0 : f.scrollLeft()) * d) + } + }, + _generatePosition: function(b) { + var c = this.options, + d = this.cssPosition == "absolute" && (this.scrollParent[0] == document || !a.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent: this.scrollParent, + e = /(html|body)/i.test(d[0].tagName); + this.cssPosition == "relative" && (this.scrollParent[0] == document || this.scrollParent[0] == this.offsetParent[0]) && (this.offset.relative = this._getRelativeOffset()); + var f = b.pageX, + g = b.pageY; + if (this.originalPosition) { + this.containment && (b.pageX - this.offset.click.left < this.containment[0] && (f = this.containment[0] + this.offset.click.left), b.pageY - this.offset.click.top < this.containment[1] && (g = this.containment[1] + this.offset.click.top), b.pageX - this.offset.click.left > this.containment[2] && (f = this.containment[2] + this.offset.click.left), b.pageY - this.offset.click.top > this.containment[3] && (g = this.containment[3] + this.offset.click.top)); + if (c.grid) { + var h = this.originalPageY + Math.round((g - this.originalPageY) / c.grid[1]) * c.grid[1]; + g = this.containment ? h - this.offset.click.top < this.containment[1] || h - this.offset.click.top > this.containment[3] ? h - this.offset.click.top < this.containment[1] ? h + c.grid[1] : h - c.grid[1] : h: h; + var i = this.originalPageX + Math.round((f - this.originalPageX) / c.grid[0]) * c.grid[0]; + f = this.containment ? i - this.offset.click.left < this.containment[0] || i - this.offset.click.left > this.containment[2] ? i - this.offset.click.left < this.containment[0] ? i + c.grid[0] : i - c.grid[0] : i: i + } + } + return { + top: g - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + (a.browser.safari && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : e ? 0 : d.scrollTop()), + left: f - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + (a.browser.safari && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : e ? 0 : d.scrollLeft()) + } + }, + _rearrange: function(a, b, c, d) { + c ? c[0].appendChild(this.placeholder[0]) : b.item[0].parentNode.insertBefore(this.placeholder[0], this.direction == "down" ? b.item[0] : b.item[0].nextSibling), + this.counter = this.counter ? ++this.counter: 1; + var e = this, + f = this.counter; + window.setTimeout(function() { + f == e.counter && e.refreshPositions(!d) + }, + 0) + }, + _clear: function(b, c) { + this.reverting = !1; + var d = [], + e = this; ! this._noFinalSort && this.currentItem.parent().length && this.placeholder.before(this.currentItem), + this._noFinalSort = null; + if (this.helper[0] == this.currentItem[0]) { + for (var f in this._storedCSS) if (this._storedCSS[f] == "auto" || this._storedCSS[f] == "static") this._storedCSS[f] = ""; + this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper") + } else this.currentItem.show(); + this.fromOutside && !c && d.push(function(a) { + this._trigger("receive", a, this._uiHash(this.fromOutside)) + }), + (this.fromOutside || this.domPosition.prev != this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent != this.currentItem.parent()[0]) && !c && d.push(function(a) { + this._trigger("update", a, this._uiHash()) + }); + if (!a.ui.contains(this.element[0], this.currentItem[0])) { + c || d.push(function(a) { + this._trigger("remove", a, this._uiHash()) + }); + for (var f = this.containers.length - 1; f >= 0; f--) a.ui.contains(this.containers[f].element[0], this.currentItem[0]) && !c && (d.push(function(a) { + return function(b) { + a._trigger("receive", b, this._uiHash(this)) + } + }.call(this, this.containers[f])), d.push(function(a) { + return function(b) { + a._trigger("update", b, this._uiHash(this)) + } + }.call(this, this.containers[f]))) + } + for (var f = this.containers.length - 1; f >= 0; f--) c || d.push(function(a) { + return function(b) { + a._trigger("deactivate", b, this._uiHash(this)) + } + }.call(this, this.containers[f])), + this.containers[f].containerCache.over && (d.push(function(a) { + return function(b) { + a._trigger("out", b, this._uiHash(this)) + } + }.call(this, this.containers[f])), this.containers[f].containerCache.over = 0); + this._storedCursor && a("body").css("cursor", this._storedCursor), + this._storedOpacity && this.helper.css("opacity", this._storedOpacity), + this._storedZIndex && this.helper.css("zIndex", this._storedZIndex == "auto" ? "": this._storedZIndex), + this.dragging = !1; + if (this.cancelHelperRemoval) { + if (!c) { + this._trigger("beforeStop", b, this._uiHash()); + for (var f = 0; f < d.length; f++) d[f].call(this, b); + this._trigger("stop", b, this._uiHash()) + } + return ! 1 + } + c || this._trigger("beforeStop", b, this._uiHash()), + this.placeholder[0].parentNode.removeChild(this.placeholder[0]), + this.helper[0] != this.currentItem[0] && this.helper.remove(), + this.helper = null; + if (!c) { + for (var f = 0; f < d.length; f++) d[f].call(this, b); + this._trigger("stop", b, this._uiHash()) + } + this.fromOutside = !1; + return ! 0 + }, + _trigger: function() { + a.Widget.prototype._trigger.apply(this, arguments) === !1 && this.cancel() + }, + _uiHash: function(b) { + var c = b || this; + return { + helper: c.helper, + placeholder: c.placeholder || a([]), + position: c.position, + originalPosition: c.originalPosition, + offset: c.positionAbs, + item: c.currentItem, + sender: b ? b.element: null + } + } + }), + a.extend(a.ui.sortable, { + version: "1.8.18" + }) +})(jQuery); +/* + * jQuery UI Datepicker 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Datepicker + * + * Depends: + * jquery.ui.core.js + */ +(function($, undefined) { + function isArray(a) { + return a && ($.browser.safari && typeof a == "object" && a.length || a.constructor && a.constructor.toString().match(/\Array\(\)/)) + } + function extendRemove(a, b) { + $.extend(a, b); + for (var c in b) if (b[c] == null || b[c] == undefined) a[c] = b[c]; + return a + } + function bindHover(a) { + var b = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a"; + return a.bind("mouseout", + function(a) { + var c = $(a.target).closest(b); ! c.length || c.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover") + }).bind("mouseover", + function(c) { + var d = $(c.target).closest(b); ! $.datepicker._isDisabledDatepicker(instActive.inline ? a.parent()[0] : instActive.input[0]) && !!d.length && (d.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"), d.addClass("ui-state-hover"), d.hasClass("ui-datepicker-prev") && d.addClass("ui-datepicker-prev-hover"), d.hasClass("ui-datepicker-next") && d.addClass("ui-datepicker-next-hover")) + }) + } + function Datepicker() { + this.debug = !1, + this._curInst = null, + this._keyEvent = !1, + this._disabledInputs = [], + this._datepickerShowing = !1, + this._inDialog = !1, + this._mainDivId = "ui-datepicker-div", + this._inlineClass = "ui-datepicker-inline", + this._appendClass = "ui-datepicker-append", + this._triggerClass = "ui-datepicker-trigger", + this._dialogClass = "ui-datepicker-dialog", + this._disableClass = "ui-datepicker-disabled", + this._unselectableClass = "ui-datepicker-unselectable", + this._currentClass = "ui-datepicker-current-day", + this._dayOverClass = "ui-datepicker-days-cell-over", + this.regional = [], + this.regional[""] = { + closeText: "Done", + prevText: "Prev", + nextText: "Next", + currentText: "Today", + monthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], + monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], + dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], + dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + dayNamesMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], + weekHeader: "Wk", + dateFormat: "mm/dd/yy", + firstDay: 0, + isRTL: !1, + showMonthAfterYear: !1, + yearSuffix: "" + }, + this._defaults = { + showOn: "focus", + showAnim: "fadeIn", + showOptions: {}, + defaultDate: null, + appendText: "", + buttonText: "...", + buttonImage: "", + buttonImageOnly: !1, + hideIfNoPrevNext: !1, + navigationAsDateFormat: !1, + gotoCurrent: !1, + changeMonth: !1, + changeYear: !1, + yearRange: "c-10:c+10", + showOtherMonths: !1, + selectOtherMonths: !1, + showWeek: !1, + calculateWeek: this.iso8601Week, + shortYearCutoff: "+10", + minDate: null, + maxDate: null, + duration: "fast", + beforeShowDay: null, + beforeShow: null, + onSelect: null, + onChangeMonthYear: null, + onClose: null, + numberOfMonths: 1, + showCurrentAtPos: 0, + stepMonths: 1, + stepBigMonths: 12, + altField: "", + altFormat: "", + constrainInput: !0, + showButtonPanel: !1, + autoSize: !1, + disabled: !1 + }, + $.extend(this._defaults, this.regional[""]), + this.dpDiv = bindHover($('
')) + } + $.extend($.ui, { + datepicker: { + version: "1.8.18" + } + }); + var PROP_NAME = "datepicker", + dpuuid = (new Date).getTime(), + instActive; + $.extend(Datepicker.prototype, { + markerClassName: "hasDatepicker", + maxRows: 4, + log: function() { + this.debug && console.log.apply("", arguments) + }, + _widgetDatepicker: function() { + return this.dpDiv + }, + setDefaults: function(a) { + extendRemove(this._defaults, a || {}); + return this + }, + _attachDatepicker: function(target, settings) { + var inlineSettings = null; + for (var attrName in this._defaults) { + var attrValue = target.getAttribute("date:" + attrName); + if (attrValue) { + inlineSettings = inlineSettings || {}; + try { + inlineSettings[attrName] = eval(attrValue) + } catch(err) { + inlineSettings[attrName] = attrValue + } + } + } + var nodeName = target.nodeName.toLowerCase(), + inline = nodeName == "div" || nodeName == "span"; + target.id || (this.uuid += 1, target.id = "dp" + this.uuid); + var inst = this._newInst($(target), inline); + inst.settings = $.extend({}, + settings || {}, + inlineSettings || {}), + nodeName == "input" ? this._connectDatepicker(target, inst) : inline && this._inlineDatepicker(target, inst) + }, + _newInst: function(a, b) { + var c = a[0].id.replace(/([^A-Za-z0-9_-])/g, "\\\\$1"); + return { + id: c, + input: a, + selectedDay: 0, + selectedMonth: 0, + selectedYear: 0, + drawMonth: 0, + drawYear: 0, + inline: b, + dpDiv: b ? bindHover($('
')) : this.dpDiv + } + }, + _connectDatepicker: function(a, b) { + var c = $(a); + b.append = $([]), + b.trigger = $([]); + c.hasClass(this.markerClassName) || (this._attachments(c, b), c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker", + function(a, c, d) { + b.settings[c] = d + }).bind("getData.datepicker", + function(a, c) { + return this._get(b, c) + }), this._autoSize(b), $.data(a, PROP_NAME, b), b.settings.disabled && this._disableDatepicker(a)) + }, + _attachments: function(a, b) { + var c = this._get(b, "appendText"), + d = this._get(b, "isRTL"); + b.append && b.append.remove(), + c && (b.append = $('' + c + ""), a[d ? "before": "after"](b.append)), + a.unbind("focus", this._showDatepicker), + b.trigger && b.trigger.remove(); + var e = this._get(b, "showOn"); (e == "focus" || e == "both") && a.focus(this._showDatepicker); + if (e == "button" || e == "both") { + var f = this._get(b, "buttonText"), + g = this._get(b, "buttonImage"); + b.trigger = $(this._get(b, "buttonImageOnly") ? $("").addClass(this._triggerClass).attr({ + src: g, + alt: f, + title: f + }) : $('').addClass(this._triggerClass).html(g == "" ? f: $("").attr({ + src: g, + alt: f, + title: f + }))), + a[d ? "before": "after"](b.trigger), + b.trigger.click(function() { + $.datepicker._datepickerShowing && $.datepicker._lastInput == a[0] ? $.datepicker._hideDatepicker() : $.datepicker._datepickerShowing && $.datepicker._lastInput != a[0] ? ($.datepicker._hideDatepicker(), $.datepicker._showDatepicker(a[0])) : $.datepicker._showDatepicker(a[0]); + return ! 1 + }) + } + }, + _autoSize: function(a) { + if (this._get(a, "autoSize") && !a.inline) { + var b = new Date(2009, 11, 20), + c = this._get(a, "dateFormat"); + if (c.match(/[DM]/)) { + var d = function(a) { + var b = 0, + c = 0; + for (var d = 0; d < a.length; d++) a[d].length > b && (b = a[d].length, c = d); + return c + }; + b.setMonth(d(this._get(a, c.match(/MM/) ? "monthNames": "monthNamesShort"))), + b.setDate(d(this._get(a, c.match(/DD/) ? "dayNames": "dayNamesShort")) + 20 - b.getDay()) + } + a.input.attr("size", this._formatDate(a, b).length) + } + }, + _inlineDatepicker: function(a, b) { + var c = $(a); + c.hasClass(this.markerClassName) || (c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker", + function(a, c, d) { + b.settings[c] = d + }).bind("getData.datepicker", + function(a, c) { + return this._get(b, c) + }), $.data(a, PROP_NAME, b), this._setDate(b, this._getDefaultDate(b), !0), this._updateDatepicker(b), this._updateAlternate(b), b.settings.disabled && this._disableDatepicker(a), b.dpDiv.css("display", "block")) + }, + _dialogDatepicker: function(a, b, c, d, e) { + var f = this._dialogInst; + if (!f) { + this.uuid += 1; + var g = "dp" + this.uuid; + this._dialogInput = $(''), + this._dialogInput.keydown(this._doKeyDown), + $("body").append(this._dialogInput), + f = this._dialogInst = this._newInst(this._dialogInput, !1), + f.settings = {}, + $.data(this._dialogInput[0], PROP_NAME, f) + } + extendRemove(f.settings, d || {}), + b = b && b.constructor == Date ? this._formatDate(f, b) : b, + this._dialogInput.val(b), + this._pos = e ? e.length ? e: [e.pageX, e.pageY] : null; + if (!this._pos) { + var h = document.documentElement.clientWidth, + i = document.documentElement.clientHeight, + j = document.documentElement.scrollLeft || document.body.scrollLeft, + k = document.documentElement.scrollTop || document.body.scrollTop; + this._pos = [h / 2 - 100 + j, i / 2 - 150 + k] + } + this._dialogInput.css("left", this._pos[0] + 20 + "px").css("top", this._pos[1] + "px"), + f.settings.onSelect = c, + this._inDialog = !0, + this.dpDiv.addClass(this._dialogClass), + this._showDatepicker(this._dialogInput[0]), + $.blockUI && $.blockUI(this.dpDiv), + $.data(this._dialogInput[0], PROP_NAME, f); + return this + }, + _destroyDatepicker: function(a) { + var b = $(a), + c = $.data(a, PROP_NAME); + if ( !! b.hasClass(this.markerClassName)) { + var d = a.nodeName.toLowerCase(); + $.removeData(a, PROP_NAME), + d == "input" ? (c.append.remove(), c.trigger.remove(), b.removeClass(this.markerClassName).unbind("focus", this._showDatepicker).unbind("keydown", this._doKeyDown).unbind("keypress", this._doKeyPress).unbind("keyup", this._doKeyUp)) : (d == "div" || d == "span") && b.removeClass(this.markerClassName).empty() + } + }, + _enableDatepicker: function(a) { + var b = $(a), + c = $.data(a, PROP_NAME); + if ( !! b.hasClass(this.markerClassName)) { + var d = a.nodeName.toLowerCase(); + if (d == "input") a.disabled = !1, + c.trigger.filter("button").each(function() { + this.disabled = !1 + }).end().filter("img").css({ + opacity: "1.0", + cursor: "" + }); + else if (d == "div" || d == "span") { + var e = b.children("." + this._inlineClass); + e.children().removeClass("ui-state-disabled"), + e.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled") + } + this._disabledInputs = $.map(this._disabledInputs, + function(b) { + return b == a ? null: b + }) + } + }, + _disableDatepicker: function(a) { + var b = $(a), + c = $.data(a, PROP_NAME); + if ( !! b.hasClass(this.markerClassName)) { + var d = a.nodeName.toLowerCase(); + if (d == "input") a.disabled = !0, + c.trigger.filter("button").each(function() { + this.disabled = !0 + }).end().filter("img").css({ + opacity: "0.5", + cursor: "default" + }); + else if (d == "div" || d == "span") { + var e = b.children("." + this._inlineClass); + e.children().addClass("ui-state-disabled"), + e.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled", "disabled") + } + this._disabledInputs = $.map(this._disabledInputs, + function(b) { + return b == a ? null: b + }), + this._disabledInputs[this._disabledInputs.length] = a + } + }, + _isDisabledDatepicker: function(a) { + if (!a) return ! 1; + for (var b = 0; b < this._disabledInputs.length; b++) if (this._disabledInputs[b] == a) return ! 0; + return ! 1 + }, + _getInst: function(a) { + try { + return $.data(a, PROP_NAME) + } catch(b) { + throw "Missing instance data for this datepicker" + } + }, + _optionDatepicker: function(a, b, c) { + var d = this._getInst(a); + if (arguments.length == 2 && typeof b == "string") return b == "defaults" ? $.extend({}, + $.datepicker._defaults) : d ? b == "all" ? $.extend({}, + d.settings) : this._get(d, b) : null; + var e = b || {}; + typeof b == "string" && (e = {}, + e[b] = c); + if (d) { + this._curInst == d && this._hideDatepicker(); + var f = this._getDateDatepicker(a, !0), + g = this._getMinMaxDate(d, "min"), + h = this._getMinMaxDate(d, "max"); + extendRemove(d.settings, e), + g !== null && e.dateFormat !== undefined && e.minDate === undefined && (d.settings.minDate = this._formatDate(d, g)), + h !== null && e.dateFormat !== undefined && e.maxDate === undefined && (d.settings.maxDate = this._formatDate(d, h)), + this._attachments($(a), d), + this._autoSize(d), + this._setDate(d, f), + this._updateAlternate(d), + this._updateDatepicker(d) + } + }, + _changeDatepicker: function(a, b, c) { + this._optionDatepicker(a, b, c) + }, + _refreshDatepicker: function(a) { + var b = this._getInst(a); + b && this._updateDatepicker(b) + }, + _setDateDatepicker: function(a, b) { + var c = this._getInst(a); + c && (this._setDate(c, b), this._updateDatepicker(c), this._updateAlternate(c)) + }, + _getDateDatepicker: function(a, b) { + var c = this._getInst(a); + c && !c.inline && this._setDateFromField(c, b); + return c ? this._getDate(c) : null + }, + _doKeyDown: function(a) { + var b = $.datepicker._getInst(a.target), + c = !0, + d = b.dpDiv.is(".ui-datepicker-rtl"); + b._keyEvent = !0; + if ($.datepicker._datepickerShowing) switch (a.keyCode) { + case 9: + $.datepicker._hideDatepicker(), + c = !1; + break; + case 13: + var e = $("td." + $.datepicker._dayOverClass + ":not(." + $.datepicker._currentClass + ")", b.dpDiv); + e[0] && $.datepicker._selectDay(a.target, b.selectedMonth, b.selectedYear, e[0]); + var f = $.datepicker._get(b, "onSelect"); + if (f) { + var g = $.datepicker._formatDate(b); + f.apply(b.input ? b.input[0] : null, [g, b]) + } else $.datepicker._hideDatepicker(); + return ! 1; + case 27: + $.datepicker._hideDatepicker(); + break; + case 33: + $.datepicker._adjustDate(a.target, a.ctrlKey ? -$.datepicker._get(b, "stepBigMonths") : -$.datepicker._get(b, "stepMonths"), "M"); + break; + case 34: + $.datepicker._adjustDate(a.target, a.ctrlKey ? +$.datepicker._get(b, "stepBigMonths") : +$.datepicker._get(b, "stepMonths"), "M"); + break; + case 35: + (a.ctrlKey || a.metaKey) && $.datepicker._clearDate(a.target), + c = a.ctrlKey || a.metaKey; + break; + case 36: + (a.ctrlKey || a.metaKey) && $.datepicker._gotoToday(a.target), + c = a.ctrlKey || a.metaKey; + break; + case 37: + (a.ctrlKey || a.metaKey) && $.datepicker._adjustDate(a.target, d ? 1 : -1, "D"), + c = a.ctrlKey || a.metaKey, + a.originalEvent.altKey && $.datepicker._adjustDate(a.target, a.ctrlKey ? -$.datepicker._get(b, "stepBigMonths") : -$.datepicker._get(b, "stepMonths"), "M"); + break; + case 38: + (a.ctrlKey || a.metaKey) && $.datepicker._adjustDate(a.target, -7, "D"), + c = a.ctrlKey || a.metaKey; + break; + case 39: + (a.ctrlKey || a.metaKey) && $.datepicker._adjustDate(a.target, d ? -1 : 1, "D"), + c = a.ctrlKey || a.metaKey, + a.originalEvent.altKey && $.datepicker._adjustDate(a.target, a.ctrlKey ? +$.datepicker._get(b, "stepBigMonths") : +$.datepicker._get(b, "stepMonths"), "M"); + break; + case 40: + (a.ctrlKey || a.metaKey) && $.datepicker._adjustDate(a.target, 7, "D"), + c = a.ctrlKey || a.metaKey; + break; + default: + c = !1 + } else a.keyCode == 36 && a.ctrlKey ? $.datepicker._showDatepicker(this) : c = !1; + c && (a.preventDefault(), a.stopPropagation()) + }, + _doKeyPress: function(a) { + var b = $.datepicker._getInst(a.target); + if ($.datepicker._get(b, "constrainInput")) { + var c = $.datepicker._possibleChars($.datepicker._get(b, "dateFormat")), + d = String.fromCharCode(a.charCode == undefined ? a.keyCode: a.charCode); + return a.ctrlKey || a.metaKey || d < " " || !c || c.indexOf(d) > -1 + } + }, + _doKeyUp: function(a) { + var b = $.datepicker._getInst(a.target); + if (b.input.val() != b.lastVal) try { + var c = $.datepicker.parseDate($.datepicker._get(b, "dateFormat"), b.input ? b.input.val() : null, $.datepicker._getFormatConfig(b)); + c && ($.datepicker._setDateFromField(b), $.datepicker._updateAlternate(b), $.datepicker._updateDatepicker(b)) + } catch(a) { + $.datepicker.log(a) + } + return ! 0 + }, + _showDatepicker: function(a) { + a = a.target || a, + a.nodeName.toLowerCase() != "input" && (a = $("input", a.parentNode)[0]); + if (!$.datepicker._isDisabledDatepicker(a) && $.datepicker._lastInput != a) { + var b = $.datepicker._getInst(a); + $.datepicker._curInst && $.datepicker._curInst != b && ($.datepicker._curInst.dpDiv.stop(!0, !0), b && $.datepicker._datepickerShowing && $.datepicker._hideDatepicker($.datepicker._curInst.input[0])); + var c = $.datepicker._get(b, "beforeShow"), + d = c ? c.apply(a, [a, b]) : {}; + if (d === !1) return; + extendRemove(b.settings, d), + b.lastVal = null, + $.datepicker._lastInput = a, + $.datepicker._setDateFromField(b), + $.datepicker._inDialog && (a.value = ""), + $.datepicker._pos || ($.datepicker._pos = $.datepicker._findPos(a), $.datepicker._pos[1] += a.offsetHeight); + var e = !1; + $(a).parents().each(function() { + e |= $(this).css("position") == "fixed"; + return ! e + }), + e && $.browser.opera && ($.datepicker._pos[0] -= document.documentElement.scrollLeft, $.datepicker._pos[1] -= document.documentElement.scrollTop); + var f = { + left: $.datepicker._pos[0], + top: $.datepicker._pos[1] + }; + $.datepicker._pos = null, + b.dpDiv.empty(), + b.dpDiv.css({ + position: "absolute", + display: "block", + top: "-1000px" + }), + $.datepicker._updateDatepicker(b), + f = $.datepicker._checkOffset(b, f, e), + b.dpDiv.css({ + position: $.datepicker._inDialog && $.blockUI ? "static": e ? "fixed": "absolute", + display: "none", + left: f.left + "px", + top: f.top + "px" + }); + if (!b.inline) { + var g = $.datepicker._get(b, "showAnim"), + h = $.datepicker._get(b, "duration"), + i = function() { + var a = b.dpDiv.find("iframe.ui-datepicker-cover"); + if ( !! a.length) { + var c = $.datepicker._getBorders(b.dpDiv); + a.css({ + left: -c[0], + top: -c[1], + width: b.dpDiv.outerWidth(), + height: b.dpDiv.outerHeight() + }) + } + }; + b.dpDiv.zIndex($(a).zIndex() + 1), + $.datepicker._datepickerShowing = !0, + $.effects && $.effects[g] ? b.dpDiv.show(g, $.datepicker._get(b, "showOptions"), h, i) : b.dpDiv[g || "show"](g ? h: null, i), + (!g || !h) && i(), + b.input.is(":visible") && !b.input.is(":disabled") && b.input.focus(), + $.datepicker._curInst = b + } + } + }, + _updateDatepicker: function(a) { + var b = this; + b.maxRows = 4; + var c = $.datepicker._getBorders(a.dpDiv); + instActive = a, + a.dpDiv.empty().append(this._generateHTML(a)); + var d = a.dpDiv.find("iframe.ui-datepicker-cover"); ! d.length || d.css({ + left: -c[0], + top: -c[1], + width: a.dpDiv.outerWidth(), + height: a.dpDiv.outerHeight() + }), + a.dpDiv.find("." + this._dayOverClass + " a").mouseover(); + var e = this._getNumberOfMonths(a), + f = e[1], + g = 17; + a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""), + f > 1 && a.dpDiv.addClass("ui-datepicker-multi-" + f).css("width", g * f + "em"), + a.dpDiv[(e[0] != 1 || e[1] != 1 ? "add": "remove") + "Class"]("ui-datepicker-multi"), + a.dpDiv[(this._get(a, "isRTL") ? "add": "remove") + "Class"]("ui-datepicker-rtl"), + a == $.datepicker._curInst && $.datepicker._datepickerShowing && a.input && a.input.is(":visible") && !a.input.is(":disabled") && a.input[0] != document.activeElement && a.input.focus(); + if (a.yearshtml) { + var h = a.yearshtml; + setTimeout(function() { + h === a.yearshtml && a.yearshtml && a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml), + h = a.yearshtml = null + }, + 0) + } + }, + _getBorders: function(a) { + var b = function(a) { + return { + thin: 1, + medium: 2, + thick: 3 + } [a] || a + }; + return [parseFloat(b(a.css("border-left-width"))), parseFloat(b(a.css("border-top-width")))] + }, + _checkOffset: function(a, b, c) { + var d = a.dpDiv.outerWidth(), + e = a.dpDiv.outerHeight(), + f = a.input ? a.input.outerWidth() : 0, + g = a.input ? a.input.outerHeight() : 0, + h = document.documentElement.clientWidth + $(document).scrollLeft(), + i = document.documentElement.clientHeight + $(document).scrollTop(); + b.left -= this._get(a, "isRTL") ? d - f: 0, + b.left -= c && b.left == a.input.offset().left ? $(document).scrollLeft() : 0, + b.top -= c && b.top == a.input.offset().top + g ? $(document).scrollTop() : 0, + b.left -= Math.min(b.left, b.left + d > h && h > d ? Math.abs(b.left + d - h) : 0), + b.top -= Math.min(b.top, b.top + e > i && i > e ? Math.abs(e + g) : 0); + return b + }, + _findPos: function(a) { + var b = this._getInst(a), + c = this._get(b, "isRTL"); + while (a && (a.type == "hidden" || a.nodeType != 1 || $.expr.filters.hidden(a))) a = a[c ? "previousSibling": "nextSibling"]; + var d = $(a).offset(); + return [d.left, d.top] + }, + _hideDatepicker: function(a) { + var b = this._curInst; + if (! (!b || a && b != $.data(a, PROP_NAME)) && this._datepickerShowing) { + var c = this._get(b, "showAnim"), + d = this._get(b, "duration"), + e = this, + f = function() { + $.datepicker._tidyDialog(b), + e._curInst = null + }; + $.effects && $.effects[c] ? b.dpDiv.hide(c, $.datepicker._get(b, "showOptions"), d, f) : b.dpDiv[c == "slideDown" ? "slideUp": c == "fadeIn" ? "fadeOut": "hide"](c ? d: null, f), + c || f(), + this._datepickerShowing = !1; + var g = this._get(b, "onClose"); + g && g.apply(b.input ? b.input[0] : null, [b.input ? b.input.val() : "", b]), + this._lastInput = null, + this._inDialog && (this._dialogInput.css({ + position: "absolute", + left: "0", + top: "-100px" + }), $.blockUI && ($.unblockUI(), $("body").append(this.dpDiv))), + this._inDialog = !1 + } + }, + _tidyDialog: function(a) { + a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar") + }, + _checkExternalClick: function(a) { + if ( !! $.datepicker._curInst) { + var b = $(a.target), + c = $.datepicker._getInst(b[0]); (b[0].id != $.datepicker._mainDivId && b.parents("#" + $.datepicker._mainDivId).length == 0 && !b.hasClass($.datepicker.markerClassName) && !b.closest("." + $.datepicker._triggerClass).length && $.datepicker._datepickerShowing && (!$.datepicker._inDialog || !$.blockUI) || b.hasClass($.datepicker.markerClassName) && $.datepicker._curInst != c) && $.datepicker._hideDatepicker() + } + }, + _adjustDate: function(a, b, c) { + var d = $(a), + e = this._getInst(d[0]); + this._isDisabledDatepicker(d[0]) || (this._adjustInstDate(e, b + (c == "M" ? this._get(e, "showCurrentAtPos") : 0), c), this._updateDatepicker(e)) + }, + _gotoToday: function(a) { + var b = $(a), + c = this._getInst(b[0]); + if (this._get(c, "gotoCurrent") && c.currentDay) c.selectedDay = c.currentDay, + c.drawMonth = c.selectedMonth = c.currentMonth, + c.drawYear = c.selectedYear = c.currentYear; + else { + var d = new Date; + c.selectedDay = d.getDate(), + c.drawMonth = c.selectedMonth = d.getMonth(), + c.drawYear = c.selectedYear = d.getFullYear() + } + this._notifyChange(c), + this._adjustDate(b) + }, + _selectMonthYear: function(a, b, c) { + var d = $(a), + e = this._getInst(d[0]); + e["selected" + (c == "M" ? "Month": "Year")] = e["draw" + (c == "M" ? "Month": "Year")] = parseInt(b.options[b.selectedIndex].value, 10), + this._notifyChange(e), + this._adjustDate(d) + }, + _selectDay: function(a, b, c, d) { + var e = $(a); + if (!$(d).hasClass(this._unselectableClass) && !this._isDisabledDatepicker(e[0])) { + var f = this._getInst(e[0]); + f.selectedDay = f.currentDay = $("a", d).html(), + f.selectedMonth = f.currentMonth = b, + f.selectedYear = f.currentYear = c, + this._selectDate(a, this._formatDate(f, f.currentDay, f.currentMonth, f.currentYear)) + } + }, + _clearDate: function(a) { + var b = $(a), + c = this._getInst(b[0]); + this._selectDate(b, "") + }, + _selectDate: function(a, b) { + var c = $(a), + d = this._getInst(c[0]); + b = b != null ? b: this._formatDate(d), + d.input && d.input.val(b), + this._updateAlternate(d); + var e = this._get(d, "onSelect"); + e ? e.apply(d.input ? d.input[0] : null, [b, d]) : d.input && d.input.trigger("change"), + d.inline ? this._updateDatepicker(d) : (this._hideDatepicker(), this._lastInput = d.input[0], typeof d.input[0] != "object" && d.input.focus(), this._lastInput = null) + }, + _updateAlternate: function(a) { + var b = this._get(a, "altField"); + if (b) { + var c = this._get(a, "altFormat") || this._get(a, "dateFormat"), + d = this._getDate(a), + e = this.formatDate(c, d, this._getFormatConfig(a)); + $(b).each(function() { + $(this).val(e) + }) + } + }, + noWeekends: function(a) { + var b = a.getDay(); + return [b > 0 && b < 6, ""] + }, + iso8601Week: function(a) { + var b = new Date(a.getTime()); + b.setDate(b.getDate() + 4 - (b.getDay() || 7)); + var c = b.getTime(); + b.setMonth(0), + b.setDate(1); + return Math.floor(Math.round((c - b) / 864e5) / 7) + 1 + }, + parseDate: function(a, b, c) { + if (a == null || b == null) throw "Invalid arguments"; + b = typeof b == "object" ? b.toString() : b + ""; + if (b == "") return null; + var d = (c ? c.shortYearCutoff: null) || this._defaults.shortYearCutoff; + d = typeof d != "string" ? d: (new Date).getFullYear() % 100 + parseInt(d, 10); + var e = (c ? c.dayNamesShort: null) || this._defaults.dayNamesShort, + f = (c ? c.dayNames: null) || this._defaults.dayNames, + g = (c ? c.monthNamesShort: null) || this._defaults.monthNamesShort, + h = (c ? c.monthNames: null) || this._defaults.monthNames, + i = -1, + j = -1, + k = -1, + l = -1, + m = !1, + n = function(b) { + var c = s + 1 < a.length && a.charAt(s + 1) == b; + c && s++; + return c + }, + o = function(a) { + var c = n(a), + d = a == "@" ? 14 : a == "!" ? 20 : a == "y" && c ? 4 : a == "o" ? 3 : 2, + e = new RegExp("^\\d{1," + d + "}"), + f = b.substring(r).match(e); + if (!f) throw "Missing number at position " + r; + r += f[0].length; + return parseInt(f[0], 10) + }, + p = function(a, c, d) { + var e = $.map(n(a) ? d: c, + function(a, b) { + return [[b, a]] + }).sort(function(a, b) { + return - (a[1].length - b[1].length) + }), + f = -1; + $.each(e, + function(a, c) { + var d = c[1]; + if (b.substr(r, d.length).toLowerCase() == d.toLowerCase()) { + f = c[0], + r += d.length; + return ! 1 + } + }); + if (f != -1) return f + 1; + throw "Unknown name at position " + r + }, + q = function() { + if (b.charAt(r) != a.charAt(s)) throw "Unexpected literal at position " + r; + r++ + }, + r = 0; + for (var s = 0; s < a.length; s++) if (m) a.charAt(s) == "'" && !n("'") ? m = !1 : q(); + else switch (a.charAt(s)) { + case "d": + k = o("d"); + break; + case "D": + p("D", e, f); + break; + case "o": + l = o("o"); + break; + case "m": + j = o("m"); + break; + case "M": + j = p("M", g, h); + break; + case "y": + i = o("y"); + break; + case "@": + var t = new Date(o("@")); + i = t.getFullYear(), + j = t.getMonth() + 1, + k = t.getDate(); + break; + case "!": + var t = new Date((o("!") - this._ticksTo1970) / 1e4); + i = t.getFullYear(), + j = t.getMonth() + 1, + k = t.getDate(); + break; + case "'": + n("'") ? q() : m = !0; + break; + default: + q() + } + if (r < b.length) throw "Extra/unparsed characters found in date: " + b.substring(r); + i == -1 ? i = (new Date).getFullYear() : i < 100 && (i += (new Date).getFullYear() - (new Date).getFullYear() % 100 + (i <= d ? 0 : -100)); + if (l > -1) { + j = 1, + k = l; + for (;;) { + var u = this._getDaysInMonth(i, j - 1); + if (k <= u) break; + j++, + k -= u + } + } + var t = this._daylightSavingAdjust(new Date(i, j - 1, k)); + if (t.getFullYear() != i || t.getMonth() + 1 != j || t.getDate() != k) throw "Invalid date"; + return t + }, + ATOM: "yy-mm-dd", + COOKIE: "D, dd M yy", + ISO_8601: "yy-mm-dd", + RFC_822: "D, d M y", + RFC_850: "DD, dd-M-y", + RFC_1036: "D, d M y", + RFC_1123: "D, d M yy", + RFC_2822: "D, d M yy", + RSS: "D, d M y", + TICKS: "!", + TIMESTAMP: "@", + W3C: "yy-mm-dd", + _ticksTo1970: (718685 + Math.floor(492.5) - Math.floor(19.7) + Math.floor(4.925)) * 24 * 60 * 60 * 1e7, + formatDate: function(a, b, c) { + if (!b) return ""; + var d = (c ? c.dayNamesShort: null) || this._defaults.dayNamesShort, + e = (c ? c.dayNames: null) || this._defaults.dayNames, + f = (c ? c.monthNamesShort: null) || this._defaults.monthNamesShort, + g = (c ? c.monthNames: null) || this._defaults.monthNames, + h = function(b) { + var c = m + 1 < a.length && a.charAt(m + 1) == b; + c && m++; + return c + }, + i = function(a, b, c) { + var d = "" + b; + if (h(a)) while (d.length < c) d = "0" + d; + return d + }, + j = function(a, b, c, d) { + return h(a) ? d[b] : c[b] + }, + k = "", + l = !1; + if (b) for (var m = 0; m < a.length; m++) if (l) a.charAt(m) == "'" && !h("'") ? l = !1 : k += a.charAt(m); + else switch (a.charAt(m)) { + case "d": + k += i("d", b.getDate(), 2); + break; + case "D": + k += j("D", b.getDay(), d, e); + break; + case "o": + k += i("o", Math.round(((new Date(b.getFullYear(), b.getMonth(), b.getDate())).getTime() - (new Date(b.getFullYear(), 0, 0)).getTime()) / 864e5), 3); + break; + case "m": + k += i("m", b.getMonth() + 1, 2); + break; + case "M": + k += j("M", b.getMonth(), f, g); + break; + case "y": + k += h("y") ? b.getFullYear() : (b.getYear() % 100 < 10 ? "0": "") + b.getYear() % 100; + break; + case "@": + k += b.getTime(); + break; + case "!": + k += b.getTime() * 1e4 + this._ticksTo1970; + break; + case "'": + h("'") ? k += "'": l = !0; + break; + default: + k += a.charAt(m) + } + return k + }, + _possibleChars: function(a) { + var b = "", + c = !1, + d = function(b) { + var c = e + 1 < a.length && a.charAt(e + 1) == b; + c && e++; + return c + }; + for (var e = 0; e < a.length; e++) if (c) a.charAt(e) == "'" && !d("'") ? c = !1 : b += a.charAt(e); + else switch (a.charAt(e)) { + case "d": + case "m": + case "y": + case "@": + b += "0123456789"; + break; + case "D": + case "M": + return null; + case "'": + d("'") ? b += "'": c = !0; + break; + default: + b += a.charAt(e) + } + return b + }, + _get: function(a, b) { + return a.settings[b] !== undefined ? a.settings[b] : this._defaults[b] + }, + _setDateFromField: function(a, b) { + if (a.input.val() != a.lastVal) { + var c = this._get(a, "dateFormat"), + d = a.lastVal = a.input ? a.input.val() : null, + e, + f; + e = f = this._getDefaultDate(a); + var g = this._getFormatConfig(a); + try { + e = this.parseDate(c, d, g) || f + } catch(h) { + this.log(h), + d = b ? "": d + } + a.selectedDay = e.getDate(), + a.drawMonth = a.selectedMonth = e.getMonth(), + a.drawYear = a.selectedYear = e.getFullYear(), + a.currentDay = d ? e.getDate() : 0, + a.currentMonth = d ? e.getMonth() : 0, + a.currentYear = d ? e.getFullYear() : 0, + this._adjustInstDate(a) + } + }, + _getDefaultDate: function(a) { + return this._restrictMinMax(a, this._determineDate(a, this._get(a, "defaultDate"), new Date)) + }, + _determineDate: function(a, b, c) { + var d = function(a) { + var b = new Date; + b.setDate(b.getDate() + a); + return b + }, + e = function(b) { + try { + return $.datepicker.parseDate($.datepicker._get(a, "dateFormat"), b, $.datepicker._getFormatConfig(a)) + } catch(c) {} + var d = (b.toLowerCase().match(/^c/) ? $.datepicker._getDate(a) : null) || new Date, + e = d.getFullYear(), + f = d.getMonth(), + g = d.getDate(), + h = /([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g, + i = h.exec(b); + while (i) { + switch (i[2] || "d") { + case "d": + case "D": + g += parseInt(i[1], 10); + break; + case "w": + case "W": + g += parseInt(i[1], 10) * 7; + break; + case "m": + case "M": + f += parseInt(i[1], 10), + g = Math.min(g, $.datepicker._getDaysInMonth(e, f)); + break; + case "y": + case "Y": + e += parseInt(i[1], 10), + g = Math.min(g, $.datepicker._getDaysInMonth(e, f)) + } + i = h.exec(b) + } + return new Date(e, f, g) + }, + f = b == null || b === "" ? c: typeof b == "string" ? e(b) : typeof b == "number" ? isNaN(b) ? c: d(b) : new Date(b.getTime()); + f = f && f.toString() == "Invalid Date" ? c: f, + f && (f.setHours(0), f.setMinutes(0), f.setSeconds(0), f.setMilliseconds(0)); + return this._daylightSavingAdjust(f) + }, + _daylightSavingAdjust: function(a) { + if (!a) return null; + a.setHours(a.getHours() > 12 ? a.getHours() + 2 : 0); + return a + }, + _setDate: function(a, b, c) { + var d = !b, + e = a.selectedMonth, + f = a.selectedYear, + g = this._restrictMinMax(a, this._determineDate(a, b, new Date)); + a.selectedDay = a.currentDay = g.getDate(), + a.drawMonth = a.selectedMonth = a.currentMonth = g.getMonth(), + a.drawYear = a.selectedYear = a.currentYear = g.getFullYear(), + (e != a.selectedMonth || f != a.selectedYear) && !c && this._notifyChange(a), + this._adjustInstDate(a), + a.input && a.input.val(d ? "": this._formatDate(a)) + }, + _getDate: function(a) { + var b = !a.currentYear || a.input && a.input.val() == "" ? null: this._daylightSavingAdjust(new Date(a.currentYear, a.currentMonth, a.currentDay)); + return b + }, + _generateHTML: function(a) { + var b = new Date; + b = this._daylightSavingAdjust(new Date(b.getFullYear(), b.getMonth(), b.getDate())); + var c = this._get(a, "isRTL"), + d = this._get(a, "showButtonPanel"), + e = this._get(a, "hideIfNoPrevNext"), + f = this._get(a, "navigationAsDateFormat"), + g = this._getNumberOfMonths(a), + h = this._get(a, "showCurrentAtPos"), + i = this._get(a, "stepMonths"), + j = g[0] != 1 || g[1] != 1, + k = this._daylightSavingAdjust(a.currentDay ? new Date(a.currentYear, a.currentMonth, a.currentDay) : new Date(9999, 9, 9)), + l = this._getMinMaxDate(a, "min"), + m = this._getMinMaxDate(a, "max"), + n = a.drawMonth - h, + o = a.drawYear; + n < 0 && (n += 12, o--); + if (m) { + var p = this._daylightSavingAdjust(new Date(m.getFullYear(), m.getMonth() - g[0] * g[1] + 1, m.getDate())); + p = l && p < l ? l: p; + while (this._daylightSavingAdjust(new Date(o, n, 1)) > p) n--, + n < 0 && (n = 11, o--) + } + a.drawMonth = n, + a.drawYear = o; + var q = this._get(a, "prevText"); + q = f ? this.formatDate(q, this._daylightSavingAdjust(new Date(o, n - i, 1)), this._getFormatConfig(a)) : q; + var r = this._canAdjustMonth(a, -1, o, n) ? '' + q + "": e ? "": '' + q + "", + s = this._get(a, "nextText"); + s = f ? this.formatDate(s, this._daylightSavingAdjust(new Date(o, n + i, 1)), this._getFormatConfig(a)) : s; + var t = this._canAdjustMonth(a, 1, o, n) ? '' + s + "": e ? "": '' + s + "", + u = this._get(a, "currentText"), + v = this._get(a, "gotoCurrent") && a.currentDay ? k: b; + u = f ? this.formatDate(u, v, this._getFormatConfig(a)) : u; + var w = a.inline ? "": '", + x = d ? '
' + (c ? w: "") + (this._isInRange(a, v) ? '": "") + (c ? "": w) + "
": "", + y = parseInt(this._get(a, "firstDay"), 10); + y = isNaN(y) ? 0 : y; + var z = this._get(a, "showWeek"), + A = this._get(a, "dayNames"), + B = this._get(a, "dayNamesShort"), + C = this._get(a, "dayNamesMin"), + D = this._get(a, "monthNames"), + E = this._get(a, "monthNamesShort"), + F = this._get(a, "beforeShowDay"), + G = this._get(a, "showOtherMonths"), + H = this._get(a, "selectOtherMonths"), + I = this._get(a, "calculateWeek") || this.iso8601Week, + J = this._getDefaultDate(a), + K = ""; + for (var L = 0; L < g[0]; L++) { + var M = ""; + this.maxRows = 4; + for (var N = 0; N < g[1]; N++) { + var O = this._daylightSavingAdjust(new Date(o, n, a.selectedDay)), + P = " ui-corner-all", + Q = ""; + if (j) { + Q += '
' + (/all|left/.test(P) && L == 0 ? c ? t: r: "") + (/all|right/.test(P) && L == 0 ? c ? r: t: "") + this._generateMonthYearHeader(a, n, o, l, m, L > 0 || N > 0, D, E) + '
' + ""; + var R = z ? '": ""; + for (var S = 0; S < 7; S++) { + var T = (S + y) % 7; + R += "= 5 ? ' class="ui-datepicker-week-end"': "") + ">" + '' + C[T] + "" + } + Q += R + ""; + var U = this._getDaysInMonth(o, n); + o == a.selectedYear && n == a.selectedMonth && (a.selectedDay = Math.min(a.selectedDay, U)); + var V = (this._getFirstDayOfMonth(o, n) - y + 7) % 7, + W = Math.ceil((V + U) / 7), + X = j ? this.maxRows > W ? this.maxRows: W: W; + this.maxRows = X; + var Y = this._daylightSavingAdjust(new Date(o, n, 1 - V)); + for (var Z = 0; Z < X; Z++) { + Q += ""; + var _ = z ? '": ""; + for (var S = 0; S < 7; S++) { + var ba = F ? F.apply(a.input ? a.input[0] : null, [Y]) : [!0, ""], + bb = Y.getMonth() != n, + bc = bb && !H || !ba[0] || l && Y < l || m && Y > m; + _ += '", + Y.setDate(Y.getDate() + 1), + Y = this._daylightSavingAdjust(Y) + } + Q += _ + "" + } + n++, + n > 11 && (n = 0, o++), + Q += "
' + this._get(a, "weekHeader") + "
' + this._get(a, "calculateWeek")(Y) + "" + (bb && !G ? " ": bc ? '' + Y.getDate() + "": '' + Y.getDate() + "") + "
" + (j ? "" + (g[0] > 0 && N == g[1] - 1 ? '
': "") : ""), + M += Q + } + K += M + } + K += x + ($.browser.msie && parseInt($.browser.version, 10) < 7 && !a.inline ? '': ""), + a._keyEvent = !1; + return K + }, + _generateMonthYearHeader: function(a, b, c, d, e, f, g, h) { + var i = this._get(a, "changeMonth"), + j = this._get(a, "changeYear"), + k = this._get(a, "showMonthAfterYear"), + l = '
', + m = ""; + if (f || !i) m += '' + g[b] + ""; + else { + var n = d && d.getFullYear() == c, + o = e && e.getFullYear() == c; + m += '" + } + k || (l += m + (f || !i || !j ? " ": "")); + if (!a.yearshtml) { + a.yearshtml = ""; + if (f || !j) l += '' + c + ""; + else { + var q = this._get(a, "yearRange").split(":"), + r = (new Date).getFullYear(), + s = function(a) { + var b = a.match(/c[+-].*/) ? c + parseInt(a.substring(1), 10) : a.match(/[+-].*/) ? r + parseInt(a, 10) : parseInt(a, 10); + return isNaN(b) ? r: b + }, + t = s(q[0]), + u = Math.max(t, s(q[1] || "")); + t = d ? Math.max(t, d.getFullYear()) : t, + u = e ? Math.min(u, e.getFullYear()) : u, + a.yearshtml += '", + l += a.yearshtml, + a.yearshtml = null + } + } + l += this._get(a, "yearSuffix"), + k && (l += (f || !i || !j ? " ": "") + m), + l += "
"; + return l + }, + _adjustInstDate: function(a, b, c) { + var d = a.drawYear + (c == "Y" ? b: 0), + e = a.drawMonth + (c == "M" ? b: 0), + f = Math.min(a.selectedDay, this._getDaysInMonth(d, e)) + (c == "D" ? b: 0), + g = this._restrictMinMax(a, this._daylightSavingAdjust(new Date(d, e, f))); + a.selectedDay = g.getDate(), + a.drawMonth = a.selectedMonth = g.getMonth(), + a.drawYear = a.selectedYear = g.getFullYear(), + (c == "M" || c == "Y") && this._notifyChange(a) + }, + _restrictMinMax: function(a, b) { + var c = this._getMinMaxDate(a, "min"), + d = this._getMinMaxDate(a, "max"), + e = c && b < c ? c: b; + e = d && e > d ? d: e; + return e + }, + _notifyChange: function(a) { + var b = this._get(a, "onChangeMonthYear"); + b && b.apply(a.input ? a.input[0] : null, [a.selectedYear, a.selectedMonth + 1, a]) + }, + _getNumberOfMonths: function(a) { + var b = this._get(a, "numberOfMonths"); + return b == null ? [1, 1] : typeof b == "number" ? [1, b] : b + }, + _getMinMaxDate: function(a, b) { + return this._determineDate(a, this._get(a, b + "Date"), null) + }, + _getDaysInMonth: function(a, b) { + return 32 - this._daylightSavingAdjust(new Date(a, b, 32)).getDate() + }, + _getFirstDayOfMonth: function(a, b) { + return (new Date(a, b, 1)).getDay() + }, + _canAdjustMonth: function(a, b, c, d) { + var e = this._getNumberOfMonths(a), + f = this._daylightSavingAdjust(new Date(c, d + (b < 0 ? b: e[0] * e[1]), 1)); + b < 0 && f.setDate(this._getDaysInMonth(f.getFullYear(), f.getMonth())); + return this._isInRange(a, f) + }, + _isInRange: function(a, b) { + var c = this._getMinMaxDate(a, "min"), + d = this._getMinMaxDate(a, "max"); + return (!c || b.getTime() >= c.getTime()) && (!d || b.getTime() <= d.getTime()) + }, + _getFormatConfig: function(a) { + var b = this._get(a, "shortYearCutoff"); + b = typeof b != "string" ? b: (new Date).getFullYear() % 100 + parseInt(b, 10); + return { + shortYearCutoff: b, + dayNamesShort: this._get(a, "dayNamesShort"), + dayNames: this._get(a, "dayNames"), + monthNamesShort: this._get(a, "monthNamesShort"), + monthNames: this._get(a, "monthNames") + } + }, + _formatDate: function(a, b, c, d) { + b || (a.currentDay = a.selectedDay, a.currentMonth = a.selectedMonth, a.currentYear = a.selectedYear); + var e = b ? typeof b == "object" ? b: this._daylightSavingAdjust(new Date(d, c, b)) : this._daylightSavingAdjust(new Date(a.currentYear, a.currentMonth, a.currentDay)); + return this.formatDate(this._get(a, "dateFormat"), e, this._getFormatConfig(a)) + } + }), + $.fn.datepicker = function(a) { + if (!this.length) return this; + $.datepicker.initialized || ($(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv), $.datepicker.initialized = !0); + var b = Array.prototype.slice.call(arguments, 1); + if (typeof a == "string" && (a == "isDisabled" || a == "getDate" || a == "widget")) return $.datepicker["_" + a + "Datepicker"].apply($.datepicker, [this[0]].concat(b)); + if (a == "option" && arguments.length == 2 && typeof arguments[1] == "string") return $.datepicker["_" + a + "Datepicker"].apply($.datepicker, [this[0]].concat(b)); + return this.each(function() { + typeof a == "string" ? $.datepicker["_" + a + "Datepicker"].apply($.datepicker, [this].concat(b)) : $.datepicker._attachDatepicker(this, a) + }) + }, + $.datepicker = new Datepicker, + $.datepicker.initialized = !1, + $.datepicker.uuid = (new Date).getTime(), + $.datepicker.version = "1.8.18", + window["DP_jQuery_" + dpuuid] = $ +})(jQuery); +/* + * jQuery UI Effects 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/ + */ +jQuery.effects || +function(a, b) { + function l(b) { + if (!b || typeof b == "number" || a.fx.speeds[b]) return ! 0; + if (typeof b == "string" && !a.effects[b]) return ! 0; + return ! 1 + } + function k(b, c, d, e) { + typeof b == "object" && (e = c, d = null, c = b, b = c.effect), + a.isFunction(c) && (e = c, d = null, c = {}); + if (typeof c == "number" || a.fx.speeds[c]) e = d, + d = c, + c = {}; + a.isFunction(d) && (e = d, d = null), + c = c || {}, + d = d || c.duration, + d = a.fx.off ? 0 : typeof d == "number" ? d: d in a.fx.speeds ? a.fx.speeds[d] : a.fx.speeds._default, + e = e || c.complete; + return [b, c, d, e] + } + function j(a, b) { + var c = { + _: 0 + }, + d; + for (d in b) a[d] != b[d] && (c[d] = b[d]); + return c + } + function i(b) { + var c, d; + for (c in b) d = b[c], + (d == null || a.isFunction(d) || c in g || /scrollbar/.test(c) || !/color/i.test(c) && isNaN(parseFloat(d))) && delete b[c]; + return b + } + function h() { + var a = document.defaultView ? document.defaultView.getComputedStyle(this, null) : this.currentStyle, + b = {}, + c, + d; + if (a && a.length && a[0] && a[a[0]]) { + var e = a.length; + while (e--) c = a[e], + typeof a[c] == "string" && (d = c.replace(/\-(\w)/g, + function(a, b) { + return b.toUpperCase() + }), b[d] = a[c]) + } else for (c in a) typeof a[c] == "string" && (b[c] = a[c]); + return b + } + function d(b, d) { + var e; + do { + e = a.curCSS(b, d); + if (e != "" && e != "transparent" || a.nodeName(b, "body")) break; + d = "backgroundColor" + } while ( b = b . parentNode ); + return c(e) + } + function c(b) { + var c; + if (b && b.constructor == Array && b.length == 3) return b; + if (c = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(b)) return [parseInt(c[1], 10), parseInt(c[2], 10), parseInt(c[3], 10)]; + if (c = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(b)) return [parseFloat(c[1]) * 2.55, parseFloat(c[2]) * 2.55, parseFloat(c[3]) * 2.55]; + if (c = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(b)) return [parseInt(c[1], 16), parseInt(c[2], 16), parseInt(c[3], 16)]; + if (c = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(b)) return [parseInt(c[1] + c[1], 16), parseInt(c[2] + c[2], 16), parseInt(c[3] + c[3], 16)]; + if (c = /rgba\(0, 0, 0, 0\)/.exec(b)) return e.transparent; + return e[a.trim(b).toLowerCase()] + } + a.effects = {}, + a.each(["backgroundColor", "borderBottomColor", "borderLeftColor", "borderRightColor", "borderTopColor", "borderColor", "color", "outlineColor"], + function(b, e) { + a.fx.step[e] = function(a) { + a.colorInit || (a.start = d(a.elem, e), a.end = c(a.end), a.colorInit = !0), + a.elem.style[e] = "rgb(" + Math.max(Math.min(parseInt(a.pos * (a.end[0] - a.start[0]) + a.start[0], 10), 255), 0) + "," + Math.max(Math.min(parseInt(a.pos * (a.end[1] - a.start[1]) + a.start[1], 10), 255), 0) + "," + Math.max(Math.min(parseInt(a.pos * (a.end[2] - a.start[2]) + a.start[2], 10), 255), 0) + ")" + } + }); + var e = { + aqua: [0, 255, 255], + azure: [240, 255, 255], + beige: [245, 245, 220], + black: [0, 0, 0], + blue: [0, 0, 255], + brown: [165, 42, 42], + cyan: [0, 255, 255], + darkblue: [0, 0, 139], + darkcyan: [0, 139, 139], + darkgrey: [169, 169, 169], + darkgreen: [0, 100, 0], + darkkhaki: [189, 183, 107], + darkmagenta: [139, 0, 139], + darkolivegreen: [85, 107, 47], + darkorange: [255, 140, 0], + darkorchid: [153, 50, 204], + darkred: [139, 0, 0], + darksalmon: [233, 150, 122], + darkviolet: [148, 0, 211], + fuchsia: [255, 0, 255], + gold: [255, 215, 0], + green: [0, 128, 0], + indigo: [75, 0, 130], + khaki: [240, 230, 140], + lightblue: [173, 216, 230], + lightcyan: [224, 255, 255], + lightgreen: [144, 238, 144], + lightgrey: [211, 211, 211], + lightpink: [255, 182, 193], + lightyellow: [255, 255, 224], + lime: [0, 255, 0], + magenta: [255, 0, 255], + maroon: [128, 0, 0], + navy: [0, 0, 128], + olive: [128, 128, 0], + orange: [255, 165, 0], + pink: [255, 192, 203], + purple: [128, 0, 128], + violet: [128, 0, 128], + red: [255, 0, 0], + silver: [192, 192, 192], + white: [255, 255, 255], + yellow: [255, 255, 0], + transparent: [255, 255, 255] + }, + f = ["add", "remove", "toggle"], + g = { + border: 1, + borderBottom: 1, + borderColor: 1, + borderLeft: 1, + borderRight: 1, + borderTop: 1, + borderWidth: 1, + margin: 1, + padding: 1 + }; + a.effects.animateClass = function(b, c, d, e) { + a.isFunction(d) && (e = d, d = null); + return this.queue(function() { + var g = a(this), + k = g.attr("style") || " ", + l = i(h.call(this)), + m, + n = g.attr("class"); + a.each(f, + function(a, c) { + b[c] && g[c + "Class"](b[c]) + }), + m = i(h.call(this)), + g.attr("class", n), + g.animate(j(l, m), { + queue: !1, + duration: c, + easing: d, + complete: function() { + a.each(f, + function(a, c) { + b[c] && g[c + "Class"](b[c]) + }), + typeof g.attr("style") == "object" ? (g.attr("style").cssText = "", g.attr("style").cssText = k) : g.attr("style", k), + e && e.apply(this, arguments), + a.dequeue(this) + } + }) + }) + }, + a.fn.extend({ + _addClass: a.fn.addClass, + addClass: function(b, c, d, e) { + return c ? a.effects.animateClass.apply(this, [{ + add: b + }, + c, d, e]) : this._addClass(b) + }, + _removeClass: a.fn.removeClass, + removeClass: function(b, c, d, e) { + return c ? a.effects.animateClass.apply(this, [{ + remove: b + }, + c, d, e]) : this._removeClass(b) + }, + _toggleClass: a.fn.toggleClass, + toggleClass: function(c, d, e, f, g) { + return typeof d == "boolean" || d === b ? e ? a.effects.animateClass.apply(this, [d ? { + add: c + }: { + remove: c + }, + e, f, g]) : this._toggleClass(c, d) : a.effects.animateClass.apply(this, [{ + toggle: c + }, + d, e, f]) + }, + switchClass: function(b, c, d, e, f) { + return a.effects.animateClass.apply(this, [{ + add: c, + remove: b + }, + d, e, f]) + } + }), + a.extend(a.effects, { + version: "1.8.18", + save: function(a, b) { + for (var c = 0; c < b.length; c++) b[c] !== null && a.data("ec.storage." + b[c], a[0].style[b[c]]) + }, + restore: function(a, b) { + for (var c = 0; c < b.length; c++) b[c] !== null && a.css(b[c], a.data("ec.storage." + b[c])) + }, + setMode: function(a, b) { + b == "toggle" && (b = a.is(":hidden") ? "show": "hide"); + return b + }, + getBaseline: function(a, b) { + var c, d; + switch (a[0]) { + case "top": + c = 0; + break; + case "middle": + c = .5; + break; + case "bottom": + c = 1; + break; + default: + c = a[0] / b.height + } + switch (a[1]) { + case "left": + d = 0; + break; + case "center": + d = .5; + break; + case "right": + d = 1; + break; + default: + d = a[1] / b.width + } + return { + x: d, + y: c + } + }, + createWrapper: function(b) { + if (b.parent().is(".ui-effects-wrapper")) return b.parent(); + var c = { + width: b.outerWidth(!0), + height: b.outerHeight(!0), + "float": b.css("float") + }, + d = a("
").addClass("ui-effects-wrapper").css({ + fontSize: "100%", + background: "transparent", + border: "none", + margin: 0, + padding: 0 + }), + e = document.activeElement; + b.wrap(d), + (b[0] === e || a.contains(b[0], e)) && a(e).focus(), + d = b.parent(), + b.css("position") == "static" ? (d.css({ + position: "relative" + }), b.css({ + position: "relative" + })) : (a.extend(c, { + position: b.css("position"), + zIndex: b.css("z-index") + }), a.each(["top", "left", "bottom", "right"], + function(a, d) { + c[d] = b.css(d), + isNaN(parseInt(c[d], 10)) && (c[d] = "auto") + }), b.css({ + position: "relative", + top: 0, + left: 0, + right: "auto", + bottom: "auto" + })); + return d.css(c).show() + }, + removeWrapper: function(b) { + var c, d = document.activeElement; + if (b.parent().is(".ui-effects-wrapper")) { + c = b.parent().replaceWith(b), + (b[0] === d || a.contains(b[0], d)) && a(d).focus(); + return c + } + return b + }, + setTransition: function(b, c, d, e) { + e = e || {}, + a.each(c, + function(a, c) { + unit = b.cssUnit(c), + unit[0] > 0 && (e[c] = unit[0] * d + unit[1]) + }); + return e + } + }), + a.fn.extend({ + effect: function(b, c, d, e) { + var f = k.apply(this, arguments), + g = { + options: f[1], + duration: f[2], + callback: f[3] + }, + h = g.options.mode, + i = a.effects[b]; + if (a.fx.off || !i) return h ? this[h](g.duration, g.callback) : this.each(function() { + g.callback && g.callback.call(this) + }); + return i.call(this, g) + }, + _show: a.fn.show, + show: function(a) { + if (l(a)) return this._show.apply(this, arguments); + var b = k.apply(this, arguments); + b[1].mode = "show"; + return this.effect.apply(this, b) + }, + _hide: a.fn.hide, + hide: function(a) { + if (l(a)) return this._hide.apply(this, arguments); + var b = k.apply(this, arguments); + b[1].mode = "hide"; + return this.effect.apply(this, b) + }, + __toggle: a.fn.toggle, + toggle: function(b) { + if (l(b) || typeof b == "boolean" || a.isFunction(b)) return this.__toggle.apply(this, arguments); + var c = k.apply(this, arguments); + c[1].mode = "toggle"; + return this.effect.apply(this, c) + }, + cssUnit: function(b) { + var c = this.css(b), + d = []; + a.each(["em", "px", "%", "pt"], + function(a, b) { + c.indexOf(b) > 0 && (d = [parseFloat(c), b]) + }); + return d + } + }), + a.easing.jswing = a.easing.swing, + a.extend(a.easing, { + def: "easeOutQuad", + swing: function(b, c, d, e, f) { + return a.easing[a.easing.def](b, c, d, e, f) + }, + easeInQuad: function(a, b, c, d, e) { + return d * (b /= e) * b + c + }, + easeOutQuad: function(a, b, c, d, e) { + return - d * (b /= e) * (b - 2) + c + }, + easeInOutQuad: function(a, b, c, d, e) { + if ((b /= e / 2) < 1) return d / 2 * b * b + c; + return - d / 2 * (--b * (b - 2) - 1) + c + }, + easeInCubic: function(a, b, c, d, e) { + return d * (b /= e) * b * b + c + }, + easeOutCubic: function(a, b, c, d, e) { + return d * ((b = b / e - 1) * b * b + 1) + c + }, + easeInOutCubic: function(a, b, c, d, e) { + if ((b /= e / 2) < 1) return d / 2 * b * b * b + c; + return d / 2 * ((b -= 2) * b * b + 2) + c + }, + easeInQuart: function(a, b, c, d, e) { + return d * (b /= e) * b * b * b + c + }, + easeOutQuart: function(a, b, c, d, e) { + return - d * ((b = b / e - 1) * b * b * b - 1) + c + }, + easeInOutQuart: function(a, b, c, d, e) { + if ((b /= e / 2) < 1) return d / 2 * b * b * b * b + c; + return - d / 2 * ((b -= 2) * b * b * b - 2) + c + }, + easeInQuint: function(a, b, c, d, e) { + return d * (b /= e) * b * b * b * b + c + }, + easeOutQuint: function(a, b, c, d, e) { + return d * ((b = b / e - 1) * b * b * b * b + 1) + c + }, + easeInOutQuint: function(a, b, c, d, e) { + if ((b /= e / 2) < 1) return d / 2 * b * b * b * b * b + c; + return d / 2 * ((b -= 2) * b * b * b * b + 2) + c + }, + easeInSine: function(a, b, c, d, e) { + return - d * Math.cos(b / e * (Math.PI / 2)) + d + c + }, + easeOutSine: function(a, b, c, d, e) { + return d * Math.sin(b / e * (Math.PI / 2)) + c + }, + easeInOutSine: function(a, b, c, d, e) { + return - d / 2 * (Math.cos(Math.PI * b / e) - 1) + c + }, + easeInExpo: function(a, b, c, d, e) { + return b == 0 ? c: d * Math.pow(2, 10 * (b / e - 1)) + c + }, + easeOutExpo: function(a, b, c, d, e) { + return b == e ? c + d: d * ( - Math.pow(2, -10 * b / e) + 1) + c + }, + easeInOutExpo: function(a, b, c, d, e) { + if (b == 0) return c; + if (b == e) return c + d; + if ((b /= e / 2) < 1) return d / 2 * Math.pow(2, 10 * (b - 1)) + c; + return d / 2 * ( - Math.pow(2, -10 * --b) + 2) + c + }, + easeInCirc: function(a, b, c, d, e) { + return - d * (Math.sqrt(1 - (b /= e) * b) - 1) + c + }, + easeOutCirc: function(a, b, c, d, e) { + return d * Math.sqrt(1 - (b = b / e - 1) * b) + c + }, + easeInOutCirc: function(a, b, c, d, e) { + if ((b /= e / 2) < 1) return - d / 2 * (Math.sqrt(1 - b * b) - 1) + c; + return d / 2 * (Math.sqrt(1 - (b -= 2) * b) + 1) + c + }, + easeInElastic: function(a, b, c, d, e) { + var f = 1.70158, + g = 0, + h = d; + if (b == 0) return c; + if ((b /= e) == 1) return c + d; + g || (g = e * .3); + if (h < Math.abs(d)) { + h = d; + var f = g / 4 + } else var f = g / (2 * Math.PI) * Math.asin(d / h); + return - (h * Math.pow(2, 10 * (b -= 1)) * Math.sin((b * e - f) * 2 * Math.PI / g)) + c + }, + easeOutElastic: function(a, b, c, d, e) { + var f = 1.70158, + g = 0, + h = d; + if (b == 0) return c; + if ((b /= e) == 1) return c + d; + g || (g = e * .3); + if (h < Math.abs(d)) { + h = d; + var f = g / 4 + } else var f = g / (2 * Math.PI) * Math.asin(d / h); + return h * Math.pow(2, -10 * b) * Math.sin((b * e - f) * 2 * Math.PI / g) + d + c + }, + easeInOutElastic: function(a, b, c, d, e) { + var f = 1.70158, + g = 0, + h = d; + if (b == 0) return c; + if ((b /= e / 2) == 2) return c + d; + g || (g = e * .3 * 1.5); + if (h < Math.abs(d)) { + h = d; + var f = g / 4 + } else var f = g / (2 * Math.PI) * Math.asin(d / h); + if (b < 1) return - 0.5 * h * Math.pow(2, 10 * (b -= 1)) * Math.sin((b * e - f) * 2 * Math.PI / g) + c; + return h * Math.pow(2, -10 * (b -= 1)) * Math.sin((b * e - f) * 2 * Math.PI / g) * .5 + d + c + }, + easeInBack: function(a, c, d, e, f, g) { + g == b && (g = 1.70158); + return e * (c /= f) * c * ((g + 1) * c - g) + d + }, + easeOutBack: function(a, c, d, e, f, g) { + g == b && (g = 1.70158); + return e * ((c = c / f - 1) * c * ((g + 1) * c + g) + 1) + d + }, + easeInOutBack: function(a, c, d, e, f, g) { + g == b && (g = 1.70158); + if ((c /= f / 2) < 1) return e / 2 * c * c * (((g *= 1.525) + 1) * c - g) + d; + return e / 2 * ((c -= 2) * c * (((g *= 1.525) + 1) * c + g) + 2) + d + }, + easeInBounce: function(b, c, d, e, f) { + return e - a.easing.easeOutBounce(b, f - c, 0, e, f) + d + }, + easeOutBounce: function(a, b, c, d, e) { + return (b /= e) < 1 / 2.75 ? d * 7.5625 * b * b + c: b < 2 / 2.75 ? d * (7.5625 * (b -= 1.5 / 2.75) * b + .75) + c: b < 2.5 / 2.75 ? d * (7.5625 * (b -= 2.25 / 2.75) * b + .9375) + c: d * (7.5625 * (b -= 2.625 / 2.75) * b + .984375) + c + }, + easeInOutBounce: function(b, c, d, e, f) { + if (c < f / 2) return a.easing.easeInBounce(b, c * 2, 0, e, f) * .5 + d; + return a.easing.easeOutBounce(b, c * 2 - f, 0, e, f) * .5 + e * .5 + d + } + }) +} (jQuery); +/* + * jQuery UI Effects Blind 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Blind + * + * Depends: + * jquery.effects.core.js + */ +(function(a, b) { + a.effects.blind = function(b) { + return this.queue(function() { + var c = a(this), + d = ["position", "top", "bottom", "left", "right"], + e = a.effects.setMode(c, b.options.mode || "hide"), + f = b.options.direction || "vertical"; + a.effects.save(c, d), + c.show(); + var g = a.effects.createWrapper(c).css({ + overflow: "hidden" + }), + h = f == "vertical" ? "height": "width", + i = f == "vertical" ? g.height() : g.width(); + e == "show" && g.css(h, 0); + var j = {}; + j[h] = e == "show" ? i: 0, + g.animate(j, b.duration, b.options.easing, + function() { + e == "hide" && c.hide(), + a.effects.restore(c, d), + a.effects.removeWrapper(c), + b.callback && b.callback.apply(c[0], arguments), + c.dequeue() + }) + }) + } +})(jQuery); +/* + * jQuery UI Effects Bounce 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Bounce + * + * Depends: + * jquery.effects.core.js + */ +(function(a, b) { + a.effects.bounce = function(b) { + return this.queue(function() { + var c = a(this), + d = ["position", "top", "bottom", "left", "right"], + e = a.effects.setMode(c, b.options.mode || "effect"), + f = b.options.direction || "up", + g = b.options.distance || 20, + h = b.options.times || 5, + i = b.duration || 250; + /show|hide/.test(e) && d.push("opacity"), + a.effects.save(c, d), + c.show(), + a.effects.createWrapper(c); + var j = f == "up" || f == "down" ? "top": "left", + k = f == "up" || f == "left" ? "pos": "neg", + g = b.options.distance || (j == "top" ? c.outerHeight({ + margin: !0 + }) / 3 : c.outerWidth({ + margin: !0 + }) / 3); + e == "show" && c.css("opacity", 0).css(j, k == "pos" ? -g: g), + e == "hide" && (g = g / (h * 2)), + e != "hide" && h--; + if (e == "show") { + var l = { + opacity: 1 + }; + l[j] = (k == "pos" ? "+=": "-=") + g, + c.animate(l, i / 2, b.options.easing), + g = g / 2, + h-- + } + for (var m = 0; m < h; m++) { + var n = {}, + p = {}; + n[j] = (k == "pos" ? "-=": "+=") + g, + p[j] = (k == "pos" ? "+=": "-=") + g, + c.animate(n, i / 2, b.options.easing).animate(p, i / 2, b.options.easing), + g = e == "hide" ? g * 2 : g / 2 + } + if (e == "hide") { + var l = { + opacity: 0 + }; + l[j] = (k == "pos" ? "-=": "+=") + g, + c.animate(l, i / 2, b.options.easing, + function() { + c.hide(), + a.effects.restore(c, d), + a.effects.removeWrapper(c), + b.callback && b.callback.apply(this, arguments) + }) + } else { + var n = {}, + p = {}; + n[j] = (k == "pos" ? "-=": "+=") + g, + p[j] = (k == "pos" ? "+=": "-=") + g, + c.animate(n, i / 2, b.options.easing).animate(p, i / 2, b.options.easing, + function() { + a.effects.restore(c, d), + a.effects.removeWrapper(c), + b.callback && b.callback.apply(this, arguments) + }) + } + c.queue("fx", + function() { + c.dequeue() + }), + c.dequeue() + }) + } +})(jQuery); +/* + * jQuery UI Effects Clip 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Clip + * + * Depends: + * jquery.effects.core.js + */ +(function(a, b) { + a.effects.clip = function(b) { + return this.queue(function() { + var c = a(this), + d = ["position", "top", "bottom", "left", "right", "height", "width"], + e = a.effects.setMode(c, b.options.mode || "hide"), + f = b.options.direction || "vertical"; + a.effects.save(c, d), + c.show(); + var g = a.effects.createWrapper(c).css({ + overflow: "hidden" + }), + h = c[0].tagName == "IMG" ? g: c, + i = { + size: f == "vertical" ? "height": "width", + position: f == "vertical" ? "top": "left" + }, + j = f == "vertical" ? h.height() : h.width(); + e == "show" && (h.css(i.size, 0), h.css(i.position, j / 2)); + var k = {}; + k[i.size] = e == "show" ? j: 0, + k[i.position] = e == "show" ? 0 : j / 2, + h.animate(k, { + queue: !1, + duration: b.duration, + easing: b.options.easing, + complete: function() { + e == "hide" && c.hide(), + a.effects.restore(c, d), + a.effects.removeWrapper(c), + b.callback && b.callback.apply(c[0], arguments), + c.dequeue() + } + }) + }) + } +})(jQuery); +/* + * jQuery UI Effects Drop 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Drop + * + * Depends: + * jquery.effects.core.js + */ +(function(a, b) { + a.effects.drop = function(b) { + return this.queue(function() { + var c = a(this), + d = ["position", "top", "bottom", "left", "right", "opacity"], + e = a.effects.setMode(c, b.options.mode || "hide"), + f = b.options.direction || "left"; + a.effects.save(c, d), + c.show(), + a.effects.createWrapper(c); + var g = f == "up" || f == "down" ? "top": "left", + h = f == "up" || f == "left" ? "pos": "neg", + i = b.options.distance || (g == "top" ? c.outerHeight({ + margin: !0 + }) / 2 : c.outerWidth({ + margin: !0 + }) / 2); + e == "show" && c.css("opacity", 0).css(g, h == "pos" ? -i: i); + var j = { + opacity: e == "show" ? 1 : 0 + }; + j[g] = (e == "show" ? h == "pos" ? "+=": "-=": h == "pos" ? "-=": "+=") + i, + c.animate(j, { + queue: !1, + duration: b.duration, + easing: b.options.easing, + complete: function() { + e == "hide" && c.hide(), + a.effects.restore(c, d), + a.effects.removeWrapper(c), + b.callback && b.callback.apply(this, arguments), + c.dequeue() + } + }) + }) + } +})(jQuery); +/* + * jQuery UI Effects Explode 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Explode + * + * Depends: + * jquery.effects.core.js + */ +(function(a, b) { + a.effects.explode = function(b) { + return this.queue(function() { + var c = b.options.pieces ? Math.round(Math.sqrt(b.options.pieces)) : 3, + d = b.options.pieces ? Math.round(Math.sqrt(b.options.pieces)) : 3; + b.options.mode = b.options.mode == "toggle" ? a(this).is(":visible") ? "hide": "show": b.options.mode; + var e = a(this).show().css("visibility", "hidden"), + f = e.offset(); + f.top -= parseInt(e.css("marginTop"), 10) || 0, + f.left -= parseInt(e.css("marginLeft"), 10) || 0; + var g = e.outerWidth(!0), + h = e.outerHeight(!0); + for (var i = 0; i < c; i++) for (var j = 0; j < d; j++) e.clone().appendTo("body").wrap("
").css({ + position: "absolute", + visibility: "visible", + left: -j * (g / d), + top: -i * (h / c) + }).parent().addClass("ui-effects-explode").css({ + position: "absolute", + overflow: "hidden", + width: g / d, + height: h / c, + left: f.left + j * (g / d) + (b.options.mode == "show" ? (j - Math.floor(d / 2)) * (g / d) : 0), + top: f.top + i * (h / c) + (b.options.mode == "show" ? (i - Math.floor(c / 2)) * (h / c) : 0), + opacity: b.options.mode == "show" ? 0 : 1 + }).animate({ + left: f.left + j * (g / d) + (b.options.mode == "show" ? 0 : (j - Math.floor(d / 2)) * (g / d)), + top: f.top + i * (h / c) + (b.options.mode == "show" ? 0 : (i - Math.floor(c / 2)) * (h / c)), + opacity: b.options.mode == "show" ? 1 : 0 + }, + b.duration || 500); + setTimeout(function() { + b.options.mode == "show" ? e.css({ + visibility: "visible" + }) : e.css({ + visibility: "visible" + }).hide(), + b.callback && b.callback.apply(e[0]), + e.dequeue(), + a("div.ui-effects-explode").remove() + }, + b.duration || 500) + }) + } +})(jQuery); +/* + * jQuery UI Effects Fade 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Fade + * + * Depends: + * jquery.effects.core.js + */ +(function(a, b) { + a.effects.fade = function(b) { + return this.queue(function() { + var c = a(this), + d = a.effects.setMode(c, b.options.mode || "hide"); + c.animate({ + opacity: d + }, + { + queue: !1, + duration: b.duration, + easing: b.options.easing, + complete: function() { + b.callback && b.callback.apply(this, arguments), + c.dequeue() + } + }) + }) + } +})(jQuery); +/* + * jQuery UI Effects Fold 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Fold + * + * Depends: + * jquery.effects.core.js + */ +(function(a, b) { + a.effects.fold = function(b) { + return this.queue(function() { + var c = a(this), + d = ["position", "top", "bottom", "left", "right"], + e = a.effects.setMode(c, b.options.mode || "hide"), + f = b.options.size || 15, + g = !!b.options.horizFirst, + h = b.duration ? b.duration / 2 : a.fx.speeds._default / 2; + a.effects.save(c, d), + c.show(); + var i = a.effects.createWrapper(c).css({ + overflow: "hidden" + }), + j = e == "show" != g, + k = j ? ["width", "height"] : ["height", "width"], + l = j ? [i.width(), i.height()] : [i.height(), i.width()], + m = /([0-9]+)%/.exec(f); + m && (f = parseInt(m[1], 10) / 100 * l[e == "hide" ? 0 : 1]), + e == "show" && i.css(g ? { + height: 0, + width: f + }: { + height: f, + width: 0 + }); + var n = {}, + p = {}; + n[k[0]] = e == "show" ? l[0] : f, + p[k[1]] = e == "show" ? l[1] : 0, + i.animate(n, h, b.options.easing).animate(p, h, b.options.easing, + function() { + e == "hide" && c.hide(), + a.effects.restore(c, d), + a.effects.removeWrapper(c), + b.callback && b.callback.apply(c[0], arguments), + c.dequeue() + }) + }) + } +})(jQuery); +/* + * jQuery UI Effects Highlight 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Highlight + * + * Depends: + * jquery.effects.core.js + */ +(function(a, b) { + a.effects.highlight = function(b) { + return this.queue(function() { + var c = a(this), + d = ["backgroundImage", "backgroundColor", "opacity"], + e = a.effects.setMode(c, b.options.mode || "show"), + f = { + backgroundColor: c.css("backgroundColor") + }; + e == "hide" && (f.opacity = 0), + a.effects.save(c, d), + c.show().css({ + backgroundImage: "none", + backgroundColor: b.options.color || "#ffff99" + }).animate(f, { + queue: !1, + duration: b.duration, + easing: b.options.easing, + complete: function() { + e == "hide" && c.hide(), + a.effects.restore(c, d), + e == "show" && !a.support.opacity && this.style.removeAttribute("filter"), + b.callback && b.callback.apply(this, arguments), + c.dequeue() + } + }) + }) + } +})(jQuery); +/* + * jQuery UI Effects Pulsate 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Pulsate + * + * Depends: + * jquery.effects.core.js + */ +(function(a, b) { + a.effects.pulsate = function(b) { + return this.queue(function() { + var c = a(this), + d = a.effects.setMode(c, b.options.mode || "show"); + times = (b.options.times || 5) * 2 - 1, + duration = b.duration ? b.duration / 2 : a.fx.speeds._default / 2, + isVisible = c.is(":visible"), + animateTo = 0, + isVisible || (c.css("opacity", 0).show(), animateTo = 1), + (d == "hide" && isVisible || d == "show" && !isVisible) && times--; + for (var e = 0; e < times; e++) c.animate({ + opacity: animateTo + }, + duration, b.options.easing), + animateTo = (animateTo + 1) % 2; + c.animate({ + opacity: animateTo + }, + duration, b.options.easing, + function() { + animateTo == 0 && c.hide(), + b.callback && b.callback.apply(this, arguments) + }), + c.queue("fx", + function() { + c.dequeue() + }).dequeue() + }) + } +})(jQuery); +/* + * jQuery UI Effects Scale 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Scale + * + * Depends: + * jquery.effects.core.js + */ +(function(a, b) { + a.effects.puff = function(b) { + return this.queue(function() { + var c = a(this), + d = a.effects.setMode(c, b.options.mode || "hide"), + e = parseInt(b.options.percent, 10) || 150, + f = e / 100, + g = { + height: c.height(), + width: c.width() + }; + a.extend(b.options, { + fade: !0, + mode: d, + percent: d == "hide" ? e: 100, + from: d == "hide" ? g: { + height: g.height * f, + width: g.width * f + } + }), + c.effect("scale", b.options, b.duration, b.callback), + c.dequeue() + }) + }, + a.effects.scale = function(b) { + return this.queue(function() { + var c = a(this), + d = a.extend(!0, {}, + b.options), + e = a.effects.setMode(c, b.options.mode || "effect"), + f = parseInt(b.options.percent, 10) || (parseInt(b.options.percent, 10) == 0 ? 0 : e == "hide" ? 0 : 100), + g = b.options.direction || "both", + h = b.options.origin; + e != "effect" && (d.origin = h || ["middle", "center"], d.restore = !0); + var i = { + height: c.height(), + width: c.width() + }; + c.from = b.options.from || (e == "show" ? { + height: 0, + width: 0 + }: i); + var j = { + y: g != "horizontal" ? f / 100 : 1, + x: g != "vertical" ? f / 100 : 1 + }; + c.to = { + height: i.height * j.y, + width: i.width * j.x + }, + b.options.fade && (e == "show" && (c.from.opacity = 0, c.to.opacity = 1), e == "hide" && (c.from.opacity = 1, c.to.opacity = 0)), + d.from = c.from, + d.to = c.to, + d.mode = e, + c.effect("size", d, b.duration, b.callback), + c.dequeue() + }) + }, + a.effects.size = function(b) { + return this.queue(function() { + var c = a(this), + d = ["position", "top", "bottom", "left", "right", "width", "height", "overflow", "opacity"], + e = ["position", "top", "bottom", "left", "right", "overflow", "opacity"], + f = ["width", "height", "overflow"], + g = ["fontSize"], + h = ["borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom"], + i = ["borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight"], + j = a.effects.setMode(c, b.options.mode || "effect"), + k = b.options.restore || !1, + l = b.options.scale || "both", + m = b.options.origin, + n = { + height: c.height(), + width: c.width() + }; + c.from = b.options.from || n, + c.to = b.options.to || n; + if (m) { + var p = a.effects.getBaseline(m, n); + c.from.top = (n.height - c.from.height) * p.y, + c.from.left = (n.width - c.from.width) * p.x, + c.to.top = (n.height - c.to.height) * p.y, + c.to.left = (n.width - c.to.width) * p.x + } + var q = { + from: { + y: c.from.height / n.height, + x: c.from.width / n.width + }, + to: { + y: c.to.height / n.height, + x: c.to.width / n.width + } + }; + if (l == "box" || l == "both") q.from.y != q.to.y && (d = d.concat(h), c.from = a.effects.setTransition(c, h, q.from.y, c.from), c.to = a.effects.setTransition(c, h, q.to.y, c.to)), + q.from.x != q.to.x && (d = d.concat(i), c.from = a.effects.setTransition(c, i, q.from.x, c.from), c.to = a.effects.setTransition(c, i, q.to.x, c.to)); (l == "content" || l == "both") && q.from.y != q.to.y && (d = d.concat(g), c.from = a.effects.setTransition(c, g, q.from.y, c.from), c.to = a.effects.setTransition(c, g, q.to.y, c.to)), + a.effects.save(c, k ? d: e), + c.show(), + a.effects.createWrapper(c), + c.css("overflow", "hidden").css(c.from); + if (l == "content" || l == "both") h = h.concat(["marginTop", "marginBottom"]).concat(g), + i = i.concat(["marginLeft", "marginRight"]), + f = d.concat(h).concat(i), + c.find("*[width]").each(function() { + child = a(this), + k && a.effects.save(child, f); + var c = { + height: child.height(), + width: child.width() + }; + child.from = { + height: c.height * q.from.y, + width: c.width * q.from.x + }, + child.to = { + height: c.height * q.to.y, + width: c.width * q.to.x + }, + q.from.y != q.to.y && (child.from = a.effects.setTransition(child, h, q.from.y, child.from), child.to = a.effects.setTransition(child, h, q.to.y, child.to)), + q.from.x != q.to.x && (child.from = a.effects.setTransition(child, i, q.from.x, child.from), child.to = a.effects.setTransition(child, i, q.to.x, child.to)), + child.css(child.from), + child.animate(child.to, b.duration, b.options.easing, + function() { + k && a.effects.restore(child, f) + }) + }); + c.animate(c.to, { + queue: !1, + duration: b.duration, + easing: b.options.easing, + complete: function() { + c.to.opacity === 0 && c.css("opacity", c.from.opacity), + j == "hide" && c.hide(), + a.effects.restore(c, k ? d: e), + a.effects.removeWrapper(c), + b.callback && b.callback.apply(this, arguments), + c.dequeue() + } + }) + }) + } +})(jQuery); +/* + * jQuery UI Effects Shake 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Shake + * + * Depends: + * jquery.effects.core.js + */ +(function(a, b) { + a.effects.shake = function(b) { + return this.queue(function() { + var c = a(this), + d = ["position", "top", "bottom", "left", "right"], + e = a.effects.setMode(c, b.options.mode || "effect"), + f = b.options.direction || "left", + g = b.options.distance || 20, + h = b.options.times || 3, + i = b.duration || b.options.duration || 140; + a.effects.save(c, d), + c.show(), + a.effects.createWrapper(c); + var j = f == "up" || f == "down" ? "top": "left", + k = f == "up" || f == "left" ? "pos": "neg", + l = {}, + m = {}, + n = {}; + l[j] = (k == "pos" ? "-=": "+=") + g, + m[j] = (k == "pos" ? "+=": "-=") + g * 2, + n[j] = (k == "pos" ? "-=": "+=") + g * 2, + c.animate(l, i, b.options.easing); + for (var p = 1; p < h; p++) c.animate(m, i, b.options.easing).animate(n, i, b.options.easing); + c.animate(m, i, b.options.easing).animate(l, i / 2, b.options.easing, + function() { + a.effects.restore(c, d), + a.effects.removeWrapper(c), + b.callback && b.callback.apply(this, arguments) + }), + c.queue("fx", + function() { + c.dequeue() + }), + c.dequeue() + }) + } +})(jQuery); +/* + * jQuery UI Effects Slide 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Slide + * + * Depends: + * jquery.effects.core.js + */ +(function(a, b) { + a.effects.slide = function(b) { + return this.queue(function() { + var c = a(this), + d = ["position", "top", "bottom", "left", "right"], + e = a.effects.setMode(c, b.options.mode || "show"), + f = b.options.direction || "left"; + a.effects.save(c, d), + c.show(), + a.effects.createWrapper(c).css({ + overflow: "hidden" + }); + var g = f == "up" || f == "down" ? "top": "left", + h = f == "up" || f == "left" ? "pos": "neg", + i = b.options.distance || (g == "top" ? c.outerHeight({ + margin: !0 + }) : c.outerWidth({ + margin: !0 + })); + e == "show" && c.css(g, h == "pos" ? isNaN(i) ? "-" + i: -i: i); + var j = {}; + j[g] = (e == "show" ? h == "pos" ? "+=": "-=": h == "pos" ? "-=": "+=") + i, + c.animate(j, { + queue: !1, + duration: b.duration, + easing: b.options.easing, + complete: function() { + e == "hide" && c.hide(), + a.effects.restore(c, d), + a.effects.removeWrapper(c), + b.callback && b.callback.apply(this, arguments), + c.dequeue() + } + }) + }) + } +})(jQuery); +/* + * jQuery UI Effects Transfer 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Transfer + * + * Depends: + * jquery.effects.core.js + */ +(function(a, b) { + a.effects.transfer = function(b) { + return this.queue(function() { + var c = a(this), + d = a(b.options.to), + e = d.offset(), + f = { + top: e.top, + left: e.left, + height: d.innerHeight(), + width: d.innerWidth() + }, + g = c.offset(), + h = a('
').appendTo(document.body).addClass(b.options.className).css({ + top: g.top, + left: g.left, + height: c.innerHeight(), + width: c.innerWidth(), + position: "absolute" + }).animate(f, b.duration, b.options.easing, + function() { + h.remove(), + b.callback && b.callback.apply(c[0], arguments), + c.dequeue() + }) + }) + } +})(jQuery); diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/ar-ma.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/ar-ma.js new file mode 100644 index 0000000..5be502c --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/ar-ma.js @@ -0,0 +1,5 @@ +// moment.js language configuration +// language : Moroccan Arabic (ar-ma) +// author : ElFadili Yassine : https://github.com/ElFadiliY +// author : Abdel Said : https://github.com/abdelsaid +!function(){function e(e){e.lang("ar-ma",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062a\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062a\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:6,doy:12}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/ar.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/ar.js new file mode 100644 index 0000000..90308eb --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/ar.js @@ -0,0 +1,5 @@ +// moment.js language configuration +// language : Arabic (ar) +// author : Abdel Said : https://github.com/abdelsaid +// changes in months, weekdays : Ahmed Elkhatib +!function(){function e(e){e.lang("ar",{months:"\u064a\u0646\u0627\u064a\u0631/ \u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a_\u0641\u0628\u0631\u0627\u064a\u0631/ \u0634\u0628\u0627\u0637_\u0645\u0627\u0631\u0633/ \u0622\u0630\u0627\u0631_\u0623\u0628\u0631\u064a\u0644/ \u0646\u064a\u0633\u0627\u0646_\u0645\u0627\u064a\u0648/ \u0623\u064a\u0627\u0631_\u064a\u0648\u0646\u064a\u0648/ \u062d\u0632\u064a\u0631\u0627\u0646_\u064a\u0648\u0644\u064a\u0648/ \u062a\u0645\u0648\u0632_\u0623\u063a\u0633\u0637\u0633/ \u0622\u0628_\u0633\u0628\u062a\u0645\u0628\u0631/ \u0623\u064a\u0644\u0648\u0644_\u0623\u0643\u062a\u0648\u0628\u0631/ \u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644_\u0646\u0648\u0641\u0645\u0628\u0631/ \u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a_\u062f\u064a\u0633\u0645\u0628\u0631/ \u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631/ \u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a_\u0641\u0628\u0631\u0627\u064a\u0631/ \u0634\u0628\u0627\u0637_\u0645\u0627\u0631\u0633/ \u0622\u0630\u0627\u0631_\u0623\u0628\u0631\u064a\u0644/ \u0646\u064a\u0633\u0627\u0646_\u0645\u0627\u064a\u0648/ \u0623\u064a\u0627\u0631_\u064a\u0648\u0646\u064a\u0648/ \u062d\u0632\u064a\u0631\u0627\u0646_\u064a\u0648\u0644\u064a\u0648/ \u062a\u0645\u0648\u0632_\u0623\u063a\u0633\u0637\u0633/ \u0622\u0628_\u0633\u0628\u062a\u0645\u0628\u0631/ \u0623\u064a\u0644\u0648\u0644_\u0623\u0643\u062a\u0648\u0628\u0631/ \u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644_\u0646\u0648\u0641\u0645\u0628\u0631/ \u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a_\u062f\u064a\u0633\u0645\u0628\u0631/ \u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:6,doy:12}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/bg.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/bg.js new file mode 100644 index 0000000..e1ae41d --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/bg.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : bulgarian (bg) +// author : Krasen Borisov : https://github.com/kraz +!function(){function e(e){e.lang("bg",{months:"\u044f\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u044f\u043d\u0440_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u044f\u0434\u0430_\u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a_\u043f\u0435\u0442\u044a\u043a_\u0441\u044a\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u044f_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u044a\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"h:mm",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[\u0414\u043d\u0435\u0441 \u0432] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432] LT",nextWeek:"dddd [\u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0412 \u0438\u0437\u043c\u0438\u043d\u0430\u043b\u0430\u0442\u0430] dddd [\u0432] LT";case 1:case 2:case 4:case 5:return"[\u0412 \u0438\u0437\u043c\u0438\u043d\u0430\u043b\u0438\u044f] dddd [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0441\u043b\u0435\u0434 %s",past:"\u043f\u0440\u0435\u0434\u0438 %s",s:"\u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u043d\u0438",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0430",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},ordinal:function(e){var t=e%10,a=e%100;return 0===e?e+"-\u0435\u0432":0===a?e+"-\u0435\u043d":a>10&&20>a?e+"-\u0442\u0438":1===t?e+"-\u0432\u0438":2===t?e+"-\u0440\u0438":7===t||8===t?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/br.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/br.js new file mode 100644 index 0000000..077cc93 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/br.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : breton (br) +// author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou +!function(){function e(e){function t(e,t,a){var n={mm:"munutenn",MM:"miz",dd:"devezh"};return e+" "+_(n[a],e)}function a(e){switch(n(e)){case 1:case 3:case 4:case 5:case 9:return e+" bloaz";default:return e+" vloaz"}}function n(e){return e>9?n(e%10):e}function _(e,t){return 2===t?s(e):e}function s(e){var t={m:"v",b:"v",d:"z"};return void 0===t[e.charAt(0)]?e:t[e.charAt(0)]+e.substring(1)}e.lang("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),longDateFormat:{LT:"h[e]mm A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY LT",LLLL:"dddd, D [a viz] MMMM YYYY LT"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondenno\xf9",m:"ur vunutenn",mm:t,h:"un eur",hh:"%d eur",d:"un devezh",dd:t,M:"ur miz",MM:t,y:"ur bloaz",yy:a},ordinal:function(e){var t=1===e?"a\xf1":"vet";return e+t},week:{dow:1,doy:4}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/ca.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/ca.js new file mode 100644 index 0000000..74052cb --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/ca.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : catalan (ca) +// author : Juan G. Hurtado : https://github.com/juanghurtado +!function(){function e(e){e.lang("ca",{months:"Gener_Febrer_Mar\xe7_Abril_Maig_Juny_Juliol_Agost_Setembre_Octubre_Novembre_Desembre".split("_"),monthsShort:"Gen._Febr._Mar._Abr._Mai._Jun._Jul._Ag._Set._Oct._Nov._Des.".split("_"),weekdays:"Diumenge_Dilluns_Dimarts_Dimecres_Dijous_Divendres_Dissabte".split("_"),weekdaysShort:"Dg._Dl._Dt._Dc._Dj._Dv._Ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),longDateFormat:{LT:"H:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[dem\xe0 a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"fa %s",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},ordinal:"%d\xba",week:{dow:1,doy:4}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/cs.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/cs.js new file mode 100644 index 0000000..a6a3f9c --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/cs.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : czech (cs) +// author : petrbela : https://github.com/petrbela +!function(){function e(e){function t(e){return e>1&&5>e&&1!==~~(e/10)}function a(e,a,n,_){var s=e+" ";switch(n){case"s":return a||_?"p\xe1r vte\u0159in":"p\xe1r vte\u0159inami";case"m":return a?"minuta":_?"minutu":"minutou";case"mm":return a||_?s+(t(e)?"minuty":"minut"):s+"minutami";break;case"h":return a?"hodina":_?"hodinu":"hodinou";case"hh":return a||_?s+(t(e)?"hodiny":"hodin"):s+"hodinami";break;case"d":return a||_?"den":"dnem";case"dd":return a||_?s+(t(e)?"dny":"dn\xed"):s+"dny";break;case"M":return a||_?"m\u011bs\xedc":"m\u011bs\xedcem";case"MM":return a||_?s+(t(e)?"m\u011bs\xedce":"m\u011bs\xedc\u016f"):s+"m\u011bs\xedci";break;case"y":return a||_?"rok":"rokem";case"yy":return a||_?s+(t(e)?"roky":"let"):s+"lety"}}var n="leden_\xfanor_b\u0159ezen_duben_kv\u011bten_\u010derven_\u010dervenec_srpen_z\xe1\u0159\xed_\u0159\xedjen_listopad_prosinec".split("_"),_="led_\xfano_b\u0159e_dub_kv\u011b_\u010dvn_\u010dvc_srp_z\xe1\u0159_\u0159\xedj_lis_pro".split("_");e.lang("cs",{months:n,monthsShort:_,monthsParse:function(e,t){var a,n=[];for(a=0;12>a;a++)n[a]=new RegExp("^"+e[a]+"$|^"+t[a]+"$","i");return n}(n,_),weekdays:"ned\u011ble_pond\u011bl\xed_\xfater\xfd_st\u0159eda_\u010dtvrtek_p\xe1tek_sobota".split("_"),weekdaysShort:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),weekdaysMin:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),longDateFormat:{LT:"H:mm",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd D. MMMM YYYY LT"},calendar:{sameDay:"[dnes v] LT",nextDay:"[z\xedtra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v ned\u011bli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve st\u0159edu v] LT";case 4:return"[ve \u010dtvrtek v] LT";case 5:return"[v p\xe1tek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[v\u010dera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou ned\u011bli v] LT";case 1:case 2:return"[minul\xe9] dddd [v] LT";case 3:return"[minulou st\u0159edu v] LT";case 4:case 5:return"[minul\xfd] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"p\u0159ed %s",s:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},ordinal:"%d.",week:{dow:1,doy:4}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/cv.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/cv.js new file mode 100644 index 0000000..3d9e8ce --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/cv.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : chuvash (cv) +// author : Anatoly Mironov : https://github.com/mirontoli +!function(){function e(e){e.lang("cv",{months:"\u043a\u0103\u0440\u043b\u0430\u0447_\u043d\u0430\u0440\u0103\u0441_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\xe7\u0115\u0440\u0442\u043c\u0435_\u0443\u0442\u0103_\xe7\u0443\u0440\u043b\u0430_\u0430\u0432\u0103\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448\u0442\u0430\u0432".split("_"),monthsShort:"\u043a\u0103\u0440_\u043d\u0430\u0440_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\xe7\u0115\u0440_\u0443\u0442\u0103_\xe7\u0443\u0440_\u0430\u0432_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448".split("_"),weekdays:"\u0432\u044b\u0440\u0441\u0430\u0440\u043d\u0438\u043a\u0443\u043d_\u0442\u0443\u043d\u0442\u0438\u043a\u0443\u043d_\u044b\u0442\u043b\u0430\u0440\u0438\u043a\u0443\u043d_\u044e\u043d\u043a\u0443\u043d_\u043a\u0115\xe7\u043d\u0435\u0440\u043d\u0438\u043a\u0443\u043d_\u044d\u0440\u043d\u0435\u043a\u0443\u043d_\u0448\u0103\u043c\u0430\u0442\u043a\u0443\u043d".split("_"),weekdaysShort:"\u0432\u044b\u0440_\u0442\u0443\u043d_\u044b\u0442\u043b_\u044e\u043d_\u043a\u0115\xe7_\u044d\u0440\u043d_\u0448\u0103\u043c".split("_"),weekdaysMin:"\u0432\u0440_\u0442\u043d_\u044b\u0442_\u044e\u043d_\u043a\xe7_\u044d\u0440_\u0448\u043c".split("_"),longDateFormat:{LT:"HH:mm",L:"DD-MM-YYYY",LL:"YYYY [\xe7\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u0103\u0445\u0115\u043d] D[-\u043c\u0115\u0448\u0115]",LLL:"YYYY [\xe7\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u0103\u0445\u0115\u043d] D[-\u043c\u0115\u0448\u0115], LT",LLLL:"dddd, YYYY [\xe7\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u0103\u0445\u0115\u043d] D[-\u043c\u0115\u0448\u0115], LT"},calendar:{sameDay:"[\u041f\u0430\u044f\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextDay:"[\u042b\u0440\u0430\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastDay:"[\u0114\u043d\u0435\u0440] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextWeek:"[\xc7\u0438\u0442\u0435\u0441] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastWeek:"[\u0418\u0440\u0442\u043d\u0115] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",sameElse:"L"},relativeTime:{future:function(e){var t=/\u0441\u0435\u0445\u0435\u0442$/i.exec(e)?"\u0440\u0435\u043d":/\xe7\u0443\u043b$/i.exec(e)?"\u0442\u0430\u043d":"\u0440\u0430\u043d";return e+t},past:"%s \u043a\u0430\u044f\u043b\u043b\u0430",s:"\u043f\u0115\u0440-\u0438\u043a \xe7\u0435\u043a\u043a\u0443\u043d\u0442",m:"\u043f\u0115\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u043f\u0115\u0440 \u0441\u0435\u0445\u0435\u0442",hh:"%d \u0441\u0435\u0445\u0435\u0442",d:"\u043f\u0115\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u043f\u0115\u0440 \u0443\u0439\u0103\u0445",MM:"%d \u0443\u0439\u0103\u0445",y:"\u043f\u0115\u0440 \xe7\u0443\u043b",yy:"%d \xe7\u0443\u043b"},ordinal:"%d-\u043c\u0115\u0448",week:{dow:1,doy:7}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/da.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/da.js new file mode 100644 index 0000000..4fd21b1 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/da.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : danish (da) +// author : Ulrik Nielsen : https://github.com/mrbase +!function(){function e(e){e.lang("da",{months:"Januar_Februar_Marts_April_Maj_Juni_Juli_August_September_Oktober_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Maj_Jun_Jul_Aug_Sep_Okt_Nov_Dec".split("_"),weekdays:"S\xf8ndag_Mandag_Tirsdag_Onsdag_Torsdag_Fredag_L\xf8rdag".split("_"),weekdaysShort:"S\xf8n_Man_Tir_Ons_Tor_Fre_L\xf8r".split("_"),weekdaysMin:"S\xf8_Ma_Ti_On_To_Fr_L\xf8".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D. MMMM, YYYY LT"},calendar:{sameDay:"[I dag kl.] LT",nextDay:"[I morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[I g\xe5r kl.] LT",lastWeek:"[sidste] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"f\xe5 sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"et \xe5r",yy:"%d \xe5r"},ordinal:"%d.",week:{dow:1,doy:4}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/de.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/de.js new file mode 100644 index 0000000..d5886c4 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/de.js @@ -0,0 +1,5 @@ +// moment.js language configuration +// language : german (de) +// author : lluchs : https://github.com/lluchs +// author: Menelion Elensúle: https://github.com/Oire +!function(){function e(e){function t(e,t,a){var n={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?n[a][0]:n[a][1]}e.lang("de",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),longDateFormat:{LT:"H:mm [Uhr]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[Heute um] LT",sameElse:"L",nextDay:"[Morgen um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gestern um] LT",lastWeek:"[letzten] dddd [um] LT"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:t,mm:"%d Minuten",h:t,hh:"%d Stunden",d:t,dd:t,M:t,MM:t,y:t,yy:t},ordinal:"%d.",week:{dow:1,doy:4}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/el.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/el.js new file mode 100644 index 0000000..2f5c03b --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/el.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : modern greek (el) +// author : Aggelos Karalias : https://github.com/mehiel +!function(){function e(e){e.lang("el",{monthsNominativeEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2_\u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2_\u039c\u03ac\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2_\u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2_\u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2_\u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2".split("_"),monthsGenitiveEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5_\u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5_\u039c\u03b1\u0390\u03bf\u03c5_\u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5_\u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5_\u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5_\u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5_\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5".split("_"),months:function(e,t){return/D/.test(t.substring(0,t.indexOf("MMMM")))?this._monthsGenitiveEl[e.month()]:this._monthsNominativeEl[e.month()]},monthsShort:"\u0399\u03b1\u03bd_\u03a6\u03b5\u03b2_\u039c\u03b1\u03c1_\u0391\u03c0\u03c1_\u039c\u03b1\u03ca_\u0399\u03bf\u03c5\u03bd_\u0399\u03bf\u03c5\u03bb_\u0391\u03c5\u03b3_\u03a3\u03b5\u03c0_\u039f\u03ba\u03c4_\u039d\u03bf\u03b5_\u0394\u03b5\u03ba".split("_"),weekdays:"\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae_\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1_\u03a4\u03c1\u03af\u03c4\u03b7_\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7_\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7_\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae_\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf".split("_"),weekdaysShort:"\u039a\u03c5\u03c1_\u0394\u03b5\u03c5_\u03a4\u03c1\u03b9_\u03a4\u03b5\u03c4_\u03a0\u03b5\u03bc_\u03a0\u03b1\u03c1_\u03a3\u03b1\u03b2".split("_"),weekdaysMin:"\u039a\u03c5_\u0394\u03b5_\u03a4\u03c1_\u03a4\u03b5_\u03a0\u03b5_\u03a0\u03b1_\u03a3\u03b1".split("_"),meridiem:function(e,t,a){return e>11?a?"\u03bc\u03bc":"\u039c\u039c":a?"\u03c0\u03bc":"\u03a0\u039c"},longDateFormat:{LT:"h:mm A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendarEl:{sameDay:"[\u03a3\u03ae\u03bc\u03b5\u03c1\u03b1 {}] LT",nextDay:"[\u0391\u03cd\u03c1\u03b9\u03bf {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[\u03a7\u03b8\u03b5\u03c2 {}] LT",lastWeek:"[\u03c4\u03b7\u03bd \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7] dddd [{}] LT",sameElse:"L"},calendar:function(e,t){var a=this._calendarEl[e],n=t&&t.hours();return a.replace("{}",1===n%12?"\u03c3\u03c4\u03b7":"\u03c3\u03c4\u03b9\u03c2")},relativeTime:{future:"\u03c3\u03b5 %s",past:"%s \u03c0\u03c1\u03b9\u03bd",s:"\u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",m:"\u03ad\u03bd\u03b1 \u03bb\u03b5\u03c0\u03c4\u03cc",mm:"%d \u03bb\u03b5\u03c0\u03c4\u03ac",h:"\u03bc\u03af\u03b1 \u03ce\u03c1\u03b1",hh:"%d \u03ce\u03c1\u03b5\u03c2",d:"\u03bc\u03af\u03b1 \u03bc\u03ad\u03c1\u03b1",dd:"%d \u03bc\u03ad\u03c1\u03b5\u03c2",M:"\u03ad\u03bd\u03b1\u03c2 \u03bc\u03ae\u03bd\u03b1\u03c2",MM:"%d \u03bc\u03ae\u03bd\u03b5\u03c2",y:"\u03ad\u03bd\u03b1\u03c2 \u03c7\u03c1\u03cc\u03bd\u03bf\u03c2",yy:"%d \u03c7\u03c1\u03cc\u03bd\u03b9\u03b1"},ordinal:function(e){return e+"\u03b7"},week:{dow:1,doy:4}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/en-ca.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/en-ca.js new file mode 100644 index 0000000..f9277f6 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/en-ca.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : canadian english (en-ca) +// author : Jonathan Abourbih : https://github.com/jonbca +!function(){function e(e){e.lang("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",L:"YYYY-MM-DD",LL:"D MMMM, YYYY",LLL:"D MMMM, YYYY LT",LLLL:"dddd, D MMMM, YYYY LT"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinal:function(e){var t=e%10,a=1===~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+a}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/en-gb.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/en-gb.js new file mode 100644 index 0000000..1f86186 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/en-gb.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : great britain english (en-gb) +// author : Chris Gedrim : https://github.com/chrisgedrim +!function(){function e(e){e.lang("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinal:function(e){var t=e%10,a=1===~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+a},week:{dow:1,doy:4}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/eo.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/eo.js new file mode 100644 index 0000000..f619932 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/eo.js @@ -0,0 +1,6 @@ +// moment.js language configuration +// language : esperanto (eo) +// author : Colin Dean : https://github.com/colindean +// komento: Mi estas malcerta se mi korekte traktis akuzativojn en tiu traduko. +// Se ne, bonvolu korekti kaj avizi min por ke mi povas lerni! +!function(){function e(e){e.lang("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_a\u016dgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_a\u016dg_sep_okt_nov_dec".split("_"),weekdays:"Diman\u0109o_Lundo_Mardo_Merkredo_\u0134a\u016ddo_Vendredo_Sabato".split("_"),weekdaysShort:"Dim_Lun_Mard_Merk_\u0134a\u016d_Ven_Sab".split("_"),weekdaysMin:"Di_Lu_Ma_Me_\u0134a_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",L:"YYYY-MM-DD",LL:"D[-an de] MMMM, YYYY",LLL:"D[-an de] MMMM, YYYY LT",LLLL:"dddd, [la] D[-an de] MMMM, YYYY LT"},meridiem:function(e,t,a){return e>11?a?"p.t.m.":"P.T.M.":a?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodia\u016d je] LT",nextDay:"[Morga\u016d je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hiera\u016d je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"je %s",past:"anta\u016d %s",s:"sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},ordinal:"%da",week:{dow:1,doy:7}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/es.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/es.js new file mode 100644 index 0000000..da7f10c --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/es.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : spanish (es) +// author : Julio Napurí : https://github.com/julionc +!function(){function e(e){e.lang("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"Do_Lu_Ma_Mi_Ju_Vi_S\xe1".split("_"),longDateFormat:{LT:"H:mm",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY LT",LLLL:"dddd, D [de] MMMM [de] YYYY LT"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},ordinal:"%d\xba",week:{dow:1,doy:4}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/et.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/et.js new file mode 100644 index 0000000..d8ade47 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/et.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : estonian (et) +// author : Henry Kehlmann : https://github.com/madhenry +!function(){function e(e){function t(e,t,a,n){return n||t?"paari sekundi":"paar sekundit"}e.lang("et",{months:"jaanuar_veebruar_m\xe4rts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_m\xe4rts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"p\xfchap\xe4ev_esmasp\xe4ev_teisip\xe4ev_kolmap\xe4ev_neljap\xe4ev_reede_laup\xe4ev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[T\xe4na,] LT",nextDay:"[Homme,] LT",nextWeek:"[J\xe4rgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s p\xe4rast",past:"%s tagasi",s:t,m:"minut",mm:"%d minutit",h:"tund",hh:"%d tundi",d:"p\xe4ev",dd:"%d p\xe4eva",M:"kuu",MM:"%d kuud",y:"aasta",yy:"%d aastat"},ordinal:"%d.",week:{dow:1,doy:4}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/eu.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/eu.js new file mode 100644 index 0000000..e88821d --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/eu.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : euskara (eu) +// author : Eneko Illarramendi : https://github.com/eillarra +!function(){function e(e){e.lang("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),longDateFormat:{LT:"HH:mm",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] LT",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] LT",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] LT",llll:"ddd, YYYY[ko] MMM D[a] LT"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},ordinal:"%d.",week:{dow:1,doy:7}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/fa.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/fa.js new file mode 100644 index 0000000..0a03570 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/fa.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : Persian Language +// author : Ebrahim Byagowi : https://github.com/ebraminio +!function(){function e(e){var t={1:"\u06f1",2:"\u06f2",3:"\u06f3",4:"\u06f4",5:"\u06f5",6:"\u06f6",7:"\u06f7",8:"\u06f8",9:"\u06f9",0:"\u06f0"},a={"\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9","\u06f0":"0"};e.lang("fa",{months:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),monthsShort:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),weekdays:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysShort:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u062c_\u0634".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},meridiem:function(e){return 12>e?"\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631":"\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631"},calendar:{sameDay:"[\u0627\u0645\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",nextDay:"[\u0641\u0631\u062f\u0627 \u0633\u0627\u0639\u062a] LT",nextWeek:"dddd [\u0633\u0627\u0639\u062a] LT",lastDay:"[\u062f\u06cc\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",lastWeek:"dddd [\u067e\u06cc\u0634] [\u0633\u0627\u0639\u062a] LT",sameElse:"L"},relativeTime:{future:"\u062f\u0631 %s",past:"%s \u067e\u06cc\u0634",s:"\u0686\u0646\u062f\u06cc\u0646 \u062b\u0627\u0646\u06cc\u0647",m:"\u06cc\u06a9 \u062f\u0642\u06cc\u0642\u0647",mm:"%d \u062f\u0642\u06cc\u0642\u0647",h:"\u06cc\u06a9 \u0633\u0627\u0639\u062a",hh:"%d \u0633\u0627\u0639\u062a",d:"\u06cc\u06a9 \u0631\u0648\u0632",dd:"%d \u0631\u0648\u0632",M:"\u06cc\u06a9 \u0645\u0627\u0647",MM:"%d \u0645\u0627\u0647",y:"\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/[\u06f0-\u06f9]/g,function(e){return a[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"\u060c")},ordinal:"%d\u0645",week:{dow:6,doy:12}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/fi.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/fi.js new file mode 100644 index 0000000..4075a6f --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/fi.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : finnish (fi) +// author : Tarmo Aidantausta : https://github.com/bleadof +!function(){function e(e){function t(e,t,n,_){var s="";switch(n){case"s":return _?"muutaman sekunnin":"muutama sekunti";case"m":return _?"minuutin":"minuutti";case"mm":s=_?"minuutin":"minuuttia";break;case"h":return _?"tunnin":"tunti";case"hh":s=_?"tunnin":"tuntia";break;case"d":return _?"p\xe4iv\xe4n":"p\xe4iv\xe4";case"dd":s=_?"p\xe4iv\xe4n":"p\xe4iv\xe4\xe4";break;case"M":return _?"kuukauden":"kuukausi";case"MM":s=_?"kuukauden":"kuukautta";break;case"y":return _?"vuoden":"vuosi";case"yy":s=_?"vuoden":"vuotta"}return s=a(e,_)+" "+s}function a(e,t){return 10>e?t?_[e]:n[e]:e}var n="nolla yksi kaksi kolme nelj\xe4 viisi kuusi seitsem\xe4n kahdeksan yhdeks\xe4n".split(" "),_=["nolla","yhden","kahden","kolmen","nelj\xe4n","viiden","kuuden",n[7],n[8],n[9]];e.lang("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kes\xe4kuu_hein\xe4kuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kes\xe4_hein\xe4_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] LT",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] LT",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] LT",llll:"ddd, Do MMM YYYY, [klo] LT"},calendar:{sameDay:"[t\xe4n\xe4\xe4n] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s p\xe4\xe4st\xe4",past:"%s sitten",s:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},ordinal:"%d.",week:{dow:1,doy:4}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/fr-ca.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/fr-ca.js new file mode 100644 index 0000000..f8f314a --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/fr-ca.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : canadian french (fr-ca) +// author : Jonathan Abourbih : https://github.com/jonbca +!function(){function e(e){e.lang("fr-ca",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[Aujourd'hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinal:function(e){return e+(1===e?"er":"")}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/fr.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/fr.js new file mode 100644 index 0000000..a8325d8 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/fr.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : french (fr) +// author : John Fischer : https://github.com/jfroffice +!function(){function e(e){e.lang("fr",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[Aujourd'hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinal:function(e){return e+(1===e?"er":"")},week:{dow:1,doy:4}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/gl.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/gl.js new file mode 100644 index 0000000..aac8504 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/gl.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : galician (gl) +// author : Juan G. Hurtado : https://github.com/juanghurtado +!function(){function e(e){e.lang("gl",{months:"Xaneiro_Febreiro_Marzo_Abril_Maio_Xu\xf1o_Xullo_Agosto_Setembro_Outubro_Novembro_Decembro".split("_"),monthsShort:"Xan._Feb._Mar._Abr._Mai._Xu\xf1._Xul._Ago._Set._Out._Nov._Dec.".split("_"),weekdays:"Domingo_Luns_Martes_M\xe9rcores_Xoves_Venres_S\xe1bado".split("_"),weekdaysShort:"Dom._Lun._Mar._M\xe9r._Xov._Ven._S\xe1b.".split("_"),weekdaysMin:"Do_Lu_Ma_M\xe9_Xo_Ve_S\xe1".split("_"),longDateFormat:{LT:"H:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextDay:function(){return"[ma\xf1\xe1 "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"\xe1s":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"\xe1":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"\xe1s":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(e){return"uns segundos"===e?"nuns segundos":"en "+e},past:"hai %s",s:"uns segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},ordinal:"%d\xba",week:{dow:1,doy:7}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/he.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/he.js new file mode 100644 index 0000000..46dec54 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/he.js @@ -0,0 +1,5 @@ +// moment.js language configuration +// language : Hebrew (he) +// author : Tomer Cohen : https://github.com/tomer +// author : Moshe Simantov : https://github.com/DevelopmentIL +!function(){function e(e){e.lang("he",{months:"\u05d9\u05e0\u05d5\u05d0\u05e8_\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05d9\u05dc_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8_\u05e1\u05e4\u05d8\u05de\u05d1\u05e8_\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8_\u05e0\u05d5\u05d1\u05de\u05d1\u05e8_\u05d3\u05e6\u05de\u05d1\u05e8".split("_"),monthsShort:"\u05d9\u05e0\u05d5\u05f3_\u05e4\u05d1\u05e8\u05f3_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05f3_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05f3_\u05e1\u05e4\u05d8\u05f3_\u05d0\u05d5\u05e7\u05f3_\u05e0\u05d5\u05d1\u05f3_\u05d3\u05e6\u05de\u05f3".split("_"),weekdays:"\u05e8\u05d0\u05e9\u05d5\u05df_\u05e9\u05e0\u05d9_\u05e9\u05dc\u05d9\u05e9\u05d9_\u05e8\u05d1\u05d9\u05e2\u05d9_\u05d7\u05de\u05d9\u05e9\u05d9_\u05e9\u05d9\u05e9\u05d9_\u05e9\u05d1\u05ea".split("_"),weekdaysShort:"\u05d0\u05f3_\u05d1\u05f3_\u05d2\u05f3_\u05d3\u05f3_\u05d4\u05f3_\u05d5\u05f3_\u05e9\u05f3".split("_"),weekdaysMin:"\u05d0_\u05d1_\u05d2_\u05d3_\u05d4_\u05d5_\u05e9".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D [\u05d1]MMMM YYYY",LLL:"D [\u05d1]MMMM YYYY LT",LLLL:"dddd, D [\u05d1]MMMM YYYY LT",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY LT",llll:"ddd, D MMM YYYY LT"},calendar:{sameDay:"[\u05d4\u05d9\u05d5\u05dd \u05d1\u05be]LT",nextDay:"[\u05de\u05d7\u05e8 \u05d1\u05be]LT",nextWeek:"dddd [\u05d1\u05e9\u05e2\u05d4] LT",lastDay:"[\u05d0\u05ea\u05de\u05d5\u05dc \u05d1\u05be]LT",lastWeek:"[\u05d1\u05d9\u05d5\u05dd] dddd [\u05d4\u05d0\u05d7\u05e8\u05d5\u05df \u05d1\u05e9\u05e2\u05d4] LT",sameElse:"L"},relativeTime:{future:"\u05d1\u05e2\u05d5\u05d3 %s",past:"\u05dc\u05e4\u05e0\u05d9 %s",s:"\u05de\u05e1\u05e4\u05e8 \u05e9\u05e0\u05d9\u05d5\u05ea",m:"\u05d3\u05e7\u05d4",mm:"%d \u05d3\u05e7\u05d5\u05ea",h:"\u05e9\u05e2\u05d4",hh:"%d \u05e9\u05e2\u05d5\u05ea",d:"\u05d9\u05d5\u05dd",dd:"%d \u05d9\u05de\u05d9\u05dd",M:"\u05d7\u05d5\u05d3\u05e9",MM:"%d \u05d7\u05d5\u05d3\u05e9\u05d9\u05dd",y:"\u05e9\u05e0\u05d4",yy:"%d \u05e9\u05e0\u05d9\u05dd"}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/hi.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/hi.js new file mode 100644 index 0000000..60a171d --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/hi.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : hindi (hi) +// author : Mayank Singhal : https://github.com/mayanksinghal +!function(){function e(e){var t={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},a={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};e.lang("hi",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u093c\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u092e\u094d\u092c\u0930_\u0926\u093f\u0938\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u093c\u0930._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948._\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0905\u0917._\u0938\u093f\u0924._\u0905\u0915\u094d\u091f\u0942._\u0928\u0935._\u0926\u093f\u0938.".split("_"),weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0932\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0932_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, LT",LLLL:"dddd, D MMMM YYYY, LT"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0915\u0932] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u0932] LT",lastWeek:"[\u092a\u093f\u091b\u0932\u0947] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u092e\u0947\u0902",past:"%s \u092a\u0939\u0932\u0947",s:"\u0915\u0941\u091b \u0939\u0940 \u0915\u094d\u0937\u0923",m:"\u090f\u0915 \u092e\u093f\u0928\u091f",mm:"%d \u092e\u093f\u0928\u091f",h:"\u090f\u0915 \u0918\u0902\u091f\u093e",hh:"%d \u0918\u0902\u091f\u0947",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u0940\u0928\u0947",MM:"%d \u092e\u0939\u0940\u0928\u0947",y:"\u090f\u0915 \u0935\u0930\u094d\u0937",yy:"%d \u0935\u0930\u094d\u0937"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return a[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiem:function(e){return 4>e?"\u0930\u093e\u0924":10>e?"\u0938\u0941\u092c\u0939":17>e?"\u0926\u094b\u092a\u0939\u0930":20>e?"\u0936\u093e\u092e":"\u0930\u093e\u0924"},week:{dow:0,doy:6}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/hu.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/hu.js new file mode 100644 index 0000000..90c0d81 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/hu.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : hungarian (hu) +// author : Adam Brunner : https://github.com/adambrunner +!function(){function e(e){function t(e,t,n,a){var _=e;switch(n){case"s":return a||t?"n\xe9h\xe1ny m\xe1sodperc":"n\xe9h\xe1ny m\xe1sodperce";case"m":return"egy"+(a||t?" perc":" perce");case"mm":return _+(a||t?" perc":" perce");case"h":return"egy"+(a||t?" \xf3ra":" \xf3r\xe1ja");case"hh":return _+(a||t?" \xf3ra":" \xf3r\xe1ja");case"d":return"egy"+(a||t?" nap":" napja");case"dd":return _+(a||t?" nap":" napja");case"M":return"egy"+(a||t?" h\xf3nap":" h\xf3napja");case"MM":return _+(a||t?" h\xf3nap":" h\xf3napja");case"y":return"egy"+(a||t?" \xe9v":" \xe9ve");case"yy":return _+(a||t?" \xe9v":" \xe9ve")}return""}function n(e){return(e?"":"[m\xfalt] ")+"["+a[this.day()]+"] LT[-kor]"}var a="vas\xe1rnap h\xe9tf\u0151n kedden szerd\xe1n cs\xfct\xf6rt\xf6k\xf6n p\xe9nteken szombaton".split(" ");e.lang("hu",{months:"janu\xe1r_febru\xe1r_m\xe1rcius_\xe1prilis_m\xe1jus_j\xfanius_j\xfalius_augusztus_szeptember_okt\xf3ber_november_december".split("_"),monthsShort:"jan_feb_m\xe1rc_\xe1pr_m\xe1j_j\xfan_j\xfal_aug_szept_okt_nov_dec".split("_"),weekdays:"vas\xe1rnap_h\xe9tf\u0151_kedd_szerda_cs\xfct\xf6rt\xf6k_p\xe9ntek_szombat".split("_"),weekdaysShort:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D., LT",LLLL:"YYYY. MMMM D., dddd LT"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return n.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return n.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s m\xfalva",past:"%s",s:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},ordinal:"%d.",week:{dow:1,doy:7}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/id.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/id.js new file mode 100644 index 0000000..18ac26c --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/id.js @@ -0,0 +1,5 @@ +// moment.js language configuration +// language : Bahasa Indonesia (id) +// author : Mohammad Satrio Utomo : https://github.com/tyok +// reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan +!function(){function e(e){e.lang("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] LT",LLLL:"dddd, D MMMM YYYY [pukul] LT"},meridiem:function(e){return 11>e?"pagi":15>e?"siang":19>e?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/is.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/is.js new file mode 100644 index 0000000..221f7ef --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/is.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : icelandic (is) +// author : Hinrik Örn Sigurðsson : https://github.com/hinrik +!function(){function e(e){function t(e){return 11===e%100?!0:1===e%10?!1:!0}function n(e,n,a,_){var s=e+" ";switch(a){case"s":return n||_?"nokkrar sek\xfandur":"nokkrum sek\xfandum";case"m":return n?"m\xedn\xfata":"m\xedn\xfatu";case"mm":return t(e)?s+(n||_?"m\xedn\xfatur":"m\xedn\xfatum"):n?s+"m\xedn\xfata":s+"m\xedn\xfatu";case"hh":return t(e)?s+(n||_?"klukkustundir":"klukkustundum"):s+"klukkustund";case"d":return n?"dagur":_?"dag":"degi";case"dd":return t(e)?n?s+"dagar":s+(_?"daga":"d\xf6gum"):n?s+"dagur":s+(_?"dag":"degi");case"M":return n?"m\xe1nu\xf0ur":_?"m\xe1nu\xf0":"m\xe1nu\xf0i";case"MM":return t(e)?n?s+"m\xe1nu\xf0ir":s+(_?"m\xe1nu\xf0i":"m\xe1nu\xf0um"):n?s+"m\xe1nu\xf0ur":s+(_?"m\xe1nu\xf0":"m\xe1nu\xf0i");case"y":return n||_?"\xe1r":"\xe1ri";case"yy":return t(e)?s+(n||_?"\xe1r":"\xe1rum"):s+(n||_?"\xe1r":"\xe1ri")}}e.lang("is",{months:"jan\xfaar_febr\xfaar_mars_apr\xedl_ma\xed_j\xfan\xed_j\xfal\xed_\xe1g\xfast_september_okt\xf3ber_n\xf3vember_desember".split("_"),monthsShort:"jan_feb_mar_apr_ma\xed_j\xfan_j\xfal_\xe1g\xfa_sep_okt_n\xf3v_des".split("_"),weekdays:"sunnudagur_m\xe1nudagur_\xferi\xf0judagur_mi\xf0vikudagur_fimmtudagur_f\xf6studagur_laugardagur".split("_"),weekdaysShort:"sun_m\xe1n_\xferi_mi\xf0_fim_f\xf6s_lau".split("_"),weekdaysMin:"Su_M\xe1_\xder_Mi_Fi_F\xf6_La".split("_"),longDateFormat:{LT:"H:mm",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] LT",LLLL:"dddd, D. MMMM YYYY [kl.] LT"},calendar:{sameDay:"[\xed dag kl.] LT",nextDay:"[\xe1 morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xed g\xe6r kl.] LT",lastWeek:"[s\xed\xf0asta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s s\xed\xf0an",s:n,m:n,mm:n,h:"klukkustund",hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},ordinal:"%d.",week:{dow:1,doy:4}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/it.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/it.js new file mode 100644 index 0000000..8b2e081 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/it.js @@ -0,0 +1,5 @@ +// moment.js language configuration +// language : italian (it) +// author : Lorenzo : https://github.com/aliem +// author: Mattia Larentis: https://github.com/nostalgiaz +!function(){function e(e){e.lang("it",{months:"Gennaio_Febbraio_Marzo_Aprile_Maggio_Giugno_Luglio_Agosto_Settembre_Ottobre_Novembre_Dicembre".split("_"),monthsShort:"Gen_Feb_Mar_Apr_Mag_Giu_Lug_Ago_Set_Ott_Nov_Dic".split("_"),weekdays:"Domenica_Luned\xec_Marted\xec_Mercoled\xec_Gioved\xec_Venerd\xec_Sabato".split("_"),weekdaysShort:"Dom_Lun_Mar_Mer_Gio_Ven_Sab".split("_"),weekdaysMin:"D_L_Ma_Me_G_V_S".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:"[lo scorso] dddd [alle] LT",sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},ordinal:"%d\xba",week:{dow:1,doy:4}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/ja.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/ja.js new file mode 100644 index 0000000..ec00b2f --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/ja.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : japanese (ja) +// author : LI Long : https://github.com/baryon +!function(){function e(e){e.lang("ja",{months:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u65e5\u66dc\u65e5_\u6708\u66dc\u65e5_\u706b\u66dc\u65e5_\u6c34\u66dc\u65e5_\u6728\u66dc\u65e5_\u91d1\u66dc\u65e5_\u571f\u66dc\u65e5".split("_"),weekdaysShort:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),weekdaysMin:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),longDateFormat:{LT:"Ah\u6642m\u5206",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5LT",LLLL:"YYYY\u5e74M\u6708D\u65e5LT dddd"},meridiem:function(e){return 12>e?"\u5348\u524d":"\u5348\u5f8c"},calendar:{sameDay:"[\u4eca\u65e5] LT",nextDay:"[\u660e\u65e5] LT",nextWeek:"[\u6765\u9031]dddd LT",lastDay:"[\u6628\u65e5] LT",lastWeek:"[\u524d\u9031]dddd LT",sameElse:"L"},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u6570\u79d2",m:"1\u5206",mm:"%d\u5206",h:"1\u6642\u9593",hh:"%d\u6642\u9593",d:"1\u65e5",dd:"%d\u65e5",M:"1\u30f6\u6708",MM:"%d\u30f6\u6708",y:"1\u5e74",yy:"%d\u5e74"}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/ka.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/ka.js new file mode 100644 index 0000000..381f9f7 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/ka.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : Georgian (ka) +// author : Irakli Janiashvili : https://github.com/irakli-janiashvili +!function(){function e(e){function t(e,t){var n={nominative:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10d8_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10d8_\u10db\u10d0\u10e0\u10e2\u10d8_\u10d0\u10de\u10e0\u10d8\u10da\u10d8_\u10db\u10d0\u10d8\u10e1\u10d8_\u10d8\u10d5\u10dc\u10d8\u10e1\u10d8_\u10d8\u10d5\u10da\u10d8\u10e1\u10d8_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10dd_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10d8_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10d8".split("_"),accusative:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10e1_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10e1_\u10db\u10d0\u10e0\u10e2\u10e1_\u10d0\u10de\u10e0\u10d8\u10da\u10d8\u10e1_\u10db\u10d0\u10d8\u10e1\u10e1_\u10d8\u10d5\u10dc\u10d8\u10e1\u10e1_\u10d8\u10d5\u10da\u10d8\u10e1\u10e1_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10e1_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10e1_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10e1_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10e1_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10e1".split("_")},a=/D[oD] *MMMM?/.test(t)?"accusative":"nominative";return n[a][e.month()]}function n(e,t){var n={nominative:"\u10d9\u10d5\u10d8\u10e0\u10d0_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10d8_\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8".split("_"),accusative:"\u10d9\u10d5\u10d8\u10e0\u10d0\u10e1_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10e1_\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1".split("_")},a=/(\u10ec\u10d8\u10dc\u10d0|\u10e8\u10d4\u10db\u10d3\u10d4\u10d2)/.test(t)?"accusative":"nominative";return n[a][e.day()]}e.lang("ka",{months:t,monthsShort:"\u10d8\u10d0\u10dc_\u10d7\u10d4\u10d1_\u10db\u10d0\u10e0_\u10d0\u10de\u10e0_\u10db\u10d0\u10d8_\u10d8\u10d5\u10dc_\u10d8\u10d5\u10da_\u10d0\u10d2\u10d5_\u10e1\u10d4\u10e5_\u10dd\u10e5\u10e2_\u10dc\u10dd\u10d4_\u10d3\u10d4\u10d9".split("_"),weekdays:n,weekdaysShort:"\u10d9\u10d5\u10d8_\u10dd\u10e0\u10e8_\u10e1\u10d0\u10db_\u10dd\u10d7\u10ee_\u10ee\u10e3\u10d7_\u10de\u10d0\u10e0_\u10e8\u10d0\u10d1".split("_"),weekdaysMin:"\u10d9\u10d5_\u10dd\u10e0_\u10e1\u10d0_\u10dd\u10d7_\u10ee\u10e3_\u10de\u10d0_\u10e8\u10d0".split("_"),longDateFormat:{LT:"h:mm A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[\u10d3\u10e6\u10d4\u10e1] LT[-\u10d6\u10d4]",nextDay:"[\u10ee\u10d5\u10d0\u10da] LT[-\u10d6\u10d4]",lastDay:"[\u10d2\u10e3\u10e8\u10d8\u10dc] LT[-\u10d6\u10d4]",nextWeek:"[\u10e8\u10d4\u10db\u10d3\u10d4\u10d2] dddd LT[-\u10d6\u10d4]",lastWeek:"[\u10ec\u10d8\u10dc\u10d0] dddd LT-\u10d6\u10d4",sameElse:"L"},relativeTime:{future:function(e){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10ec\u10d4\u10da\u10d8)/.test(e)?e.replace(/\u10d8$/,"\u10e8\u10d8"):e+"\u10e8\u10d8"},past:function(e){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10d3\u10e6\u10d4|\u10d7\u10d5\u10d4)/.test(e)?e.replace(/(\u10d8|\u10d4)$/,"\u10d8\u10e1 \u10ec\u10d8\u10dc"):/\u10ec\u10d4\u10da\u10d8/.test(e)?e.replace(/\u10ec\u10d4\u10da\u10d8$/,"\u10ec\u10da\u10d8\u10e1 \u10ec\u10d8\u10dc"):void 0},s:"\u10e0\u10d0\u10db\u10d3\u10d4\u10dc\u10d8\u10db\u10d4 \u10ec\u10d0\u10db\u10d8",m:"\u10ec\u10e3\u10d7\u10d8",mm:"%d \u10ec\u10e3\u10d7\u10d8",h:"\u10e1\u10d0\u10d0\u10d7\u10d8",hh:"%d \u10e1\u10d0\u10d0\u10d7\u10d8",d:"\u10d3\u10e6\u10d4",dd:"%d \u10d3\u10e6\u10d4",M:"\u10d7\u10d5\u10d4",MM:"%d \u10d7\u10d5\u10d4",y:"\u10ec\u10d4\u10da\u10d8",yy:"%d \u10ec\u10d4\u10da\u10d8"},ordinal:function(e){return 0===e?e:1===e?e+"-\u10da\u10d8":20>e||100>=e&&0===e%20||0===e%100?"\u10db\u10d4-"+e:e+"-\u10d4"},week:{dow:1,doy:7}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/ko.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/ko.js new file mode 100644 index 0000000..1634bb9 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/ko.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : korean (ko) +// author : Kyungwook, Park : https://github.com/kyungw00k +!function(){function e(e){e.lang("ko",{months:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),monthsShort:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),weekdays:"\uc77c\uc694\uc77c_\uc6d4\uc694\uc77c_\ud654\uc694\uc77c_\uc218\uc694\uc77c_\ubaa9\uc694\uc77c_\uae08\uc694\uc77c_\ud1a0\uc694\uc77c".split("_"),weekdaysShort:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),weekdaysMin:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),longDateFormat:{LT:"A h\uc2dc mm\ubd84",L:"YYYY.MM.DD",LL:"YYYY\ub144 MMMM D\uc77c",LLL:"YYYY\ub144 MMMM D\uc77c LT",LLLL:"YYYY\ub144 MMMM D\uc77c dddd LT"},meridiem:function(e){return 12>e?"\uc624\uc804":"\uc624\ud6c4"},calendar:{sameDay:"\uc624\ub298 LT",nextDay:"\ub0b4\uc77c LT",nextWeek:"dddd LT",lastDay:"\uc5b4\uc81c LT",lastWeek:"\uc9c0\ub09c\uc8fc dddd LT",sameElse:"L"},relativeTime:{future:"%s \ud6c4",past:"%s \uc804",s:"\uba87\ucd08",ss:"%d\ucd08",m:"\uc77c\ubd84",mm:"%d\ubd84",h:"\ud55c\uc2dc\uac04",hh:"%d\uc2dc\uac04",d:"\ud558\ub8e8",dd:"%d\uc77c",M:"\ud55c\ub2ec",MM:"%d\ub2ec",y:"\uc77c\ub144",yy:"%d\ub144"},ordinal:"%d\uc77c"})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/lv.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/lv.js new file mode 100644 index 0000000..f4b9f97 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/lv.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : latvian (lv) +// author : Kristaps Karlsons : https://github.com/skakri +!function(){function e(e){function t(e,t,n){var a=e.split("_");return n?1===t%10&&11!==t?a[2]:a[3]:1===t%10&&11!==t?a[0]:a[1]}function n(e,n,_){return e+" "+t(a[_],e,n)}var a={mm:"min\u016bti_min\u016btes_min\u016bte_min\u016btes",hh:"stundu_stundas_stunda_stundas",dd:"dienu_dienas_diena_dienas",MM:"m\u0113nesi_m\u0113ne\u0161us_m\u0113nesis_m\u0113ne\u0161i",yy:"gadu_gadus_gads_gadi"};e.lang("lv",{months:"janv\u0101ris_febru\u0101ris_marts_apr\u012blis_maijs_j\u016bnijs_j\u016blijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_j\u016bn_j\u016bl_aug_sep_okt_nov_dec".split("_"),weekdays:"sv\u0113tdiena_pirmdiena_otrdiena_tre\u0161diena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, LT",LLLL:"YYYY. [gada] D. MMMM, dddd, LT"},calendar:{sameDay:"[\u0160odien pulksten] LT",nextDay:"[R\u012bt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pag\u0101ju\u0161\u0101] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"%s v\u0113l\u0101k",past:"%s agr\u0101k",s:"da\u017eas sekundes",m:"min\u016bti",mm:n,h:"stundu",hh:n,d:"dienu",dd:n,M:"m\u0113nesi",MM:n,y:"gadu",yy:n},ordinal:"%d.",week:{dow:1,doy:4}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/ms-my.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/ms-my.js new file mode 100644 index 0000000..57d7383 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/ms-my.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : Bahasa Malaysia (ms-MY) +// author : Weldan Jamili : https://github.com/weldan +!function(){function e(e){e.lang("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] LT",LLLL:"dddd, D MMMM YYYY [pukul] LT"},meridiem:function(e){return 11>e?"pagi":15>e?"tengahari":19>e?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/nb.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/nb.js new file mode 100644 index 0000000..9f29b94 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/nb.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : norwegian bokmål (nb) +// author : Espen Hovlandsdal : https://github.com/rexxars +!function(){function e(e){e.lang("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8n_man_tir_ons_tor_fre_l\xf8r".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[I dag klokken] LT",nextDay:"[I morgen klokken] LT",nextWeek:"dddd [klokken] LT",lastDay:"[I g\xe5r klokken] LT",lastWeek:"[Forrige] dddd [klokken] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"for %s siden",s:"noen sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"ett \xe5r",yy:"%d \xe5r"},ordinal:"%d.",week:{dow:1,doy:4}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/ne.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/ne.js new file mode 100644 index 0000000..615734b --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/ne.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : nepali/nepalese +// author : suvash : https://github.com/suvash +!function(){function e(e){var t={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},n={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};e.lang("ne",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f\u0932_\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0937\u094d\u091f_\u0938\u0947\u092a\u094d\u091f\u0947\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u092d\u0947\u092e\u094d\u092c\u0930_\u0921\u093f\u0938\u0947\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f._\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908._\u0905\u0917._\u0938\u0947\u092a\u094d\u091f._\u0905\u0915\u094d\u091f\u094b._\u0928\u094b\u092d\u0947._\u0921\u093f\u0938\u0947.".split("_"),weekdays:"\u0906\u0907\u0924\u092c\u093e\u0930_\u0938\u094b\u092e\u092c\u093e\u0930_\u092e\u0919\u094d\u0917\u0932\u092c\u093e\u0930_\u092c\u0941\u0927\u092c\u093e\u0930_\u092c\u093f\u0939\u093f\u092c\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u092c\u093e\u0930_\u0936\u0928\u093f\u092c\u093e\u0930".split("_"),weekdaysShort:"\u0906\u0907\u0924._\u0938\u094b\u092e._\u092e\u0919\u094d\u0917\u0932._\u092c\u0941\u0927._\u092c\u093f\u0939\u093f._\u0936\u0941\u0915\u094d\u0930._\u0936\u0928\u093f.".split("_"),weekdaysMin:"\u0906\u0907._\u0938\u094b._\u092e\u0919\u094d_\u092c\u0941._\u092c\u093f._\u0936\u0941._\u0936.".split("_"),longDateFormat:{LT:"A\u0915\u094b h:mm \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, LT",LLLL:"dddd, D MMMM YYYY, LT"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiem:function(e){return 3>e?"\u0930\u093e\u0924\u0940":10>e?"\u092c\u093f\u0939\u093e\u0928":15>e?"\u0926\u093f\u0909\u0901\u0938\u094b":18>e?"\u092c\u0947\u0932\u0941\u0915\u093e":20>e?"\u0938\u093e\u0901\u091d":"\u0930\u093e\u0924\u0940"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u092d\u094b\u0932\u0940] LT",nextWeek:"[\u0906\u0909\u0901\u0926\u094b] dddd[,] LT",lastDay:"[\u0939\u093f\u091c\u094b] LT",lastWeek:"[\u0917\u090f\u0915\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u093e",past:"%s \u0905\u0917\u093e\u0921\u0940",s:"\u0915\u0947\u0939\u0940 \u0938\u092e\u092f",m:"\u090f\u0915 \u092e\u093f\u0928\u0947\u091f",mm:"%d \u092e\u093f\u0928\u0947\u091f",h:"\u090f\u0915 \u0918\u0923\u094d\u091f\u093e",hh:"%d \u0918\u0923\u094d\u091f\u093e",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u093f\u0928\u093e",MM:"%d \u092e\u0939\u093f\u0928\u093e",y:"\u090f\u0915 \u092c\u0930\u094d\u0937",yy:"%d \u092c\u0930\u094d\u0937"},week:{dow:1,doy:7}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/nl.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/nl.js new file mode 100644 index 0000000..7cf3e16 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/nl.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : dutch (nl) +// author : Joris Röling : https://github.com/jjupiter +!function(){function e(e){var t="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_");e.lang("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return/-MMM-/.test(a)?n[e.month()]:t[e.month()]},weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),longDateFormat:{LT:"HH:mm",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[Vandaag om] LT",nextDay:"[Morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/nn.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/nn.js new file mode 100644 index 0000000..f784115 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/nn.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : norwegian nynorsk (nn) +// author : https://github.com/mechuwind +!function(){function e(e){e.lang("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_m\xe5ndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_m\xe5n_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_m\xe5_ty_on_to_fr_l\xf8".split("_"),longDateFormat:{LT:"HH:mm",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I g\xe5r klokka] LT",lastWeek:"[F\xf8reg\xe5ende] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"for %s siden",s:"noen sekund",m:"ett minutt",mm:"%d minutt",h:"en time",hh:"%d timar",d:"en dag",dd:"%d dagar",M:"en m\xe5nad",MM:"%d m\xe5nader",y:"ett \xe5r",yy:"%d \xe5r"},ordinal:"%d.",week:{dow:1,doy:4}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/pl.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/pl.js new file mode 100644 index 0000000..3064c54 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/pl.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : polish (pl) +// author : Rafal Hirsz : https://github.com/evoL +!function(){function e(e){function t(e){return 5>e%10&&e%10>1&&1!==~~(e/10)}function n(e,n,a){var _=e+" ";switch(a){case"m":return n?"minuta":"minut\u0119";case"mm":return _+(t(e)?"minuty":"minut");case"h":return n?"godzina":"godzin\u0119";case"hh":return _+(t(e)?"godziny":"godzin");case"MM":return _+(t(e)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return _+(t(e)?"lata":"lat")}}var a="stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017adziernik_listopad_grudzie\u0144".split("_"),_="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015bnia_pa\u017adziernika_listopada_grudnia".split("_");e.lang("pl",{months:function(e,t){return/D MMMM/.test(t)?_[e.month()]:a[e.month()]},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\u017a_lis_gru".split("_"),weekdays:"niedziela_poniedzia\u0142ek_wtorek_\u015broda_czwartek_pi\u0105tek_sobota".split("_"),weekdaysShort:"nie_pon_wt_\u015br_czw_pt_sb".split("_"),weekdaysMin:"N_Pn_Wt_\u015ar_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Dzi\u015b o] LT",nextDay:"[Jutro o] LT",nextWeek:"[W] dddd [o] LT",lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zesz\u0142\u0105 niedziel\u0119 o] LT";case 3:return"[W zesz\u0142\u0105 \u015brod\u0119 o] LT";case 6:return"[W zesz\u0142\u0105 sobot\u0119 o] LT";default:return"[W zesz\u0142y] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:n,mm:n,h:n,hh:n,d:"1 dzie\u0144",dd:"%d dni",M:"miesi\u0105c",MM:n,y:"rok",yy:n},ordinal:"%d.",week:{dow:1,doy:4}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/pt-br.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/pt-br.js new file mode 100644 index 0000000..34c6123 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/pt-br.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : brazilian portuguese (pt-br) +// author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira +!function(){function e(e){e.lang("pt-br",{months:"Janeiro_Fevereiro_Mar\xe7o_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Dom_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1b".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY LT",LLLL:"dddd, D [de] MMMM [de] YYYY LT"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atr\xe1s",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinal:"%d\xba"})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/pt.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/pt.js new file mode 100644 index 0000000..fe54406 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/pt.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : portuguese (pt) +// author : Jefferson : https://github.com/jalex79 +!function(){function e(e){e.lang("pt",{months:"Janeiro_Fevereiro_Mar\xe7o_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Dom_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1b".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY LT",LLLL:"dddd, D [de] MMMM [de] YYYY LT"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atr\xe1s",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinal:"%d\xba",week:{dow:1,doy:4}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/ro.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/ro.js new file mode 100644 index 0000000..00ce440 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/ro.js @@ -0,0 +1,5 @@ +// moment.js language configuration +// language : romanian (ro) +// author : Vlad Gurdiga : https://github.com/gurdiga +// author : Valentin Agachi : https://github.com/avaly +!function(){function e(e){e.lang("ro",{months:"Ianuarie_Februarie_Martie_Aprilie_Mai_Iunie_Iulie_August_Septembrie_Octombrie_Noiembrie_Decembrie".split("_"),monthsShort:"Ian_Feb_Mar_Apr_Mai_Iun_Iul_Aug_Sep_Oct_Noi_Dec".split("_"),weekdays:"Duminic\u0103_Luni_Mar\u0163i_Miercuri_Joi_Vineri_S\xe2mb\u0103t\u0103".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_S\xe2m".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_S\xe2".split("_"),longDateFormat:{LT:"H:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[m\xe2ine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s \xeen urm\u0103",s:"c\xe2teva secunde",m:"un minut",mm:"%d minute",h:"o or\u0103",hh:"%d ore",d:"o zi",dd:"%d zile",M:"o lun\u0103",MM:"%d luni",y:"un an",yy:"%d ani"},week:{dow:1,doy:7}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/ru.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/ru.js new file mode 100644 index 0000000..a0c5153 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/ru.js @@ -0,0 +1,5 @@ +// moment.js language configuration +// language : russian (ru) +// author : Viktorminator : https://github.com/Viktorminator +// Author : Menelion Elensúle : https://github.com/Oire +!function(){function e(e){function t(e,t){var n=e.split("_");return 1===t%10&&11!==t%100?n[0]:t%10>=2&&4>=t%10&&(10>t%100||t%100>=20)?n[1]:n[2]}function n(e,n,a){var _={mm:"\u043c\u0438\u043d\u0443\u0442\u0430_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442",hh:"\u0447\u0430\u0441_\u0447\u0430\u0441\u0430_\u0447\u0430\u0441\u043e\u0432",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u044f_\u0434\u043d\u0435\u0439",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u0430_\u043c\u0435\u0441\u044f\u0446\u0435\u0432",yy:"\u0433\u043e\u0434_\u0433\u043e\u0434\u0430_\u043b\u0435\u0442"};return"m"===a?n?"\u043c\u0438\u043d\u0443\u0442\u0430":"\u043c\u0438\u043d\u0443\u0442\u0443":e+" "+t(_[a],+e)}function a(e,t){var n={nominative:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_"),accusative:"\u044f\u043d\u0432\u0430\u0440\u044f_\u0444\u0435\u0432\u0440\u0430\u043b\u044f_\u043c\u0430\u0440\u0442\u0430_\u0430\u043f\u0440\u0435\u043b\u044f_\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433\u0443\u0441\u0442\u0430_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f_\u043e\u043a\u0442\u044f\u0431\u0440\u044f_\u043d\u043e\u044f\u0431\u0440\u044f_\u0434\u0435\u043a\u0430\u0431\u0440\u044f".split("_")},a=/D[oD]? *MMMM?/.test(t)?"accusative":"nominative";return n[a][e.month()]}function _(e,t){var n={nominative:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0430_\u0441\u0443\u0431\u0431\u043e\u0442\u0430".split("_"),accusative:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0443_\u0441\u0443\u0431\u0431\u043e\u0442\u0443".split("_")},a=/\[ ?[\u0412\u0432] ?(?:\u043f\u0440\u043e\u0448\u043b\u0443\u044e|\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e)? ?\] ?dddd/.test(t)?"accusative":"nominative";return n[a][e.day()]}e.lang("ru",{months:a,monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:_,weekdaysShort:"\u0432\u0441\u043a_\u043f\u043d\u0434_\u0432\u0442\u0440_\u0441\u0440\u0434_\u0447\u0442\u0432_\u043f\u0442\u043d_\u0441\u0431\u0442".split("_"),weekdaysMin:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., LT",LLLL:"dddd, D MMMM YYYY \u0433., LT"},calendar:{sameDay:"[\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0432] LT",nextDay:"[\u0417\u0430\u0432\u0442\u0440\u0430 \u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432] LT",nextWeek:function(){return 2===this.day()?"[\u0412\u043e] dddd [\u0432] LT":"[\u0412] dddd [\u0432] LT"},lastWeek:function(){switch(this.day()){case 0:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0435] dddd [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u044b\u0439] dddd [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u0443\u044e] dddd [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0447\u0435\u0440\u0435\u0437 %s",past:"%s \u043d\u0430\u0437\u0430\u0434",s:"\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434",m:n,mm:n,h:"\u0447\u0430\u0441",hh:n,d:"\u0434\u0435\u043d\u044c",dd:n,M:"\u043c\u0435\u0441\u044f\u0446",MM:n,y:"\u0433\u043e\u0434",yy:n},ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":return e+"-\u0439";case"D":return e+"-\u0433\u043e";case"w":case"W":return e+"-\u044f";default:return e}},week:{dow:1,doy:7}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/sk.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/sk.js new file mode 100644 index 0000000..605abca --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/sk.js @@ -0,0 +1,5 @@ +// moment.js language configuration +// language : slovak (sk) +// author : Martin Minka : https://github.com/k2s +// based on work of petrbela : https://github.com/petrbela +!function(){function e(e){function t(e){return e>1&&5>e}function n(e,n,a,_){var d=e+" ";switch(a){case"s":return n||_?"p\xe1r sek\xfand":"p\xe1r sekundami";case"m":return n?"min\xfata":_?"min\xfatu":"min\xfatou";case"mm":return n||_?d+(t(e)?"min\xfaty":"min\xfat"):d+"min\xfatami";break;case"h":return n?"hodina":_?"hodinu":"hodinou";case"hh":return n||_?d+(t(e)?"hodiny":"hod\xedn"):d+"hodinami";break;case"d":return n||_?"de\u0148":"d\u0148om";case"dd":return n||_?d+(t(e)?"dni":"dn\xed"):d+"d\u0148ami";break;case"M":return n||_?"mesiac":"mesiacom";case"MM":return n||_?d+(t(e)?"mesiace":"mesiacov"):d+"mesiacmi";break;case"y":return n||_?"rok":"rokom";case"yy":return n||_?d+(t(e)?"roky":"rokov"):d+"rokmi"}}var a="janu\xe1r_febru\xe1r_marec_apr\xedl_m\xe1j_j\xfan_j\xfal_august_september_okt\xf3ber_november_december".split("_"),_="jan_feb_mar_apr_m\xe1j_j\xfan_j\xfal_aug_sep_okt_nov_dec".split("_");e.lang("sk",{months:a,monthsShort:_,monthsParse:function(e,t){var n,a=[];for(n=0;12>n;n++)a[n]=new RegExp("^"+e[n]+"$|^"+t[n]+"$","i");return a}(a,_),weekdays:"nede\u013ea_pondelok_utorok_streda_\u0161tvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_\u0161t_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_\u0161t_pi_so".split("_"),longDateFormat:{LT:"H:mm",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd D. MMMM YYYY LT"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nede\u013eu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo \u0161tvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[v\u010dera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minul\xfa nede\u013eu o] LT";case 1:case 2:return"[minul\xfd] dddd [o] LT";case 3:return"[minul\xfa stredu o] LT";case 4:case 5:return"[minul\xfd] dddd [o] LT";case 6:return"[minul\xfa sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},ordinal:"%d.",week:{dow:1,doy:4}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/sl.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/sl.js new file mode 100644 index 0000000..43bd03c --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/sl.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : slovenian (sl) +// author : Robert Sedovšek : https://github.com/sedovsek +!function(){function e(e){function t(e,t,n){var a=e+" ";switch(n){case"m":return t?"ena minuta":"eno minuto";case"mm":return a+=1===e?"minuta":2===e?"minuti":3===e||4===e?"minute":"minut";case"h":return t?"ena ura":"eno uro";case"hh":return a+=1===e?"ura":2===e?"uri":3===e||4===e?"ure":"ur";case"dd":return a+=1===e?"dan":"dni";case"MM":return a+=1===e?"mesec":2===e?"meseca":3===e||4===e?"mesece":"mesecev";case"yy":return a+=1===e?"leto":2===e?"leti":3===e||4===e?"leta":"let"}}e.lang("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),weekdays:"nedelja_ponedeljek_torek_sreda_\u010detrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._\u010det._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_\u010de_pe_so".split("_"),longDateFormat:{LT:"H:mm",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[v\u010deraj ob] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[prej\u0161nja] dddd [ob] LT";case 1:case 2:case 4:case 5:return"[prej\u0161nji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"\u010dez %s",past:"%s nazaj",s:"nekaj sekund",m:t,mm:t,h:t,hh:t,d:"en dan",dd:t,M:"en mesec",MM:t,y:"eno leto",yy:t},ordinal:"%d.",week:{dow:1,doy:7}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/sq.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/sq.js new file mode 100644 index 0000000..43615c2 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/sq.js @@ -0,0 +1,5 @@ +// moment.js language configuration +// language : Albanian (sq) +// author : Flakërim Ismani : https://github.com/flakerimi +// author: Menelion Elensúle: https://github.com/Oire (tests) +!function(){function e(e){e.lang("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_N\xebntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_N\xebn_Dhj".split("_"),weekdays:"E Diel_E H\xebn\xeb_E Marte_E M\xebrkure_E Enjte_E Premte_E Shtun\xeb".split("_"),weekdaysShort:"Die_H\xebn_Mar_M\xebr_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_M\xeb_E_P_Sh".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Sot n\xeb] LT",nextDay:"[Neser n\xeb] LT",nextWeek:"dddd [n\xeb] LT",lastDay:"[Dje n\xeb] LT",lastWeek:"dddd [e kaluar n\xeb] LT",sameElse:"L"},relativeTime:{future:"n\xeb %s",past:"%s me par\xeb",s:"disa seconda",m:"nj\xeb minut",mm:"%d minutea",h:"nj\xeb or\xeb",hh:"%d or\xeb",d:"nj\xeb dit\xeb",dd:"%d dit\xeb",M:"nj\xeb muaj",MM:"%d muaj",y:"nj\xeb vit",yy:"%d vite"},ordinal:"%d.",week:{dow:1,doy:4}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/sv.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/sv.js new file mode 100644 index 0000000..2640eca --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/sv.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : swedish (sv) +// author : Jens Alm : https://github.com/ulmus +!function(){function e(e){e.lang("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf6ndag_m\xe5ndag_tisdag_onsdag_torsdag_fredag_l\xf6rdag".split("_"),weekdaysShort:"s\xf6n_m\xe5n_tis_ons_tor_fre_l\xf6r".split("_"),weekdaysMin:"s\xf6_m\xe5_ti_on_to_fr_l\xf6".split("_"),longDateFormat:{LT:"HH:mm",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Ig\xe5r] LT",nextWeek:"dddd LT",lastWeek:"[F\xf6rra] dddd[en] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"f\xf6r %s sedan",s:"n\xe5gra sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en m\xe5nad",MM:"%d m\xe5nader",y:"ett \xe5r",yy:"%d \xe5r"},ordinal:function(e){var n=e%10,t=1===~~(e%100/10)?"e":1===n?"a":2===n?"a":3===n?"e":"e";return e+t},week:{dow:1,doy:4}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/th.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/th.js new file mode 100644 index 0000000..5ba5bda --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/th.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : thai (th) +// author : Kridsada Thanabulpong : https://github.com/sirn +!function(){function e(e){e.lang("th",{months:"\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21_\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c_\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21_\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19_\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21_\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19_\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21_\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21_\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19_\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21_\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19_\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21".split("_"),monthsShort:"\u0e21\u0e01\u0e23\u0e32_\u0e01\u0e38\u0e21\u0e20\u0e32_\u0e21\u0e35\u0e19\u0e32_\u0e40\u0e21\u0e29\u0e32_\u0e1e\u0e24\u0e29\u0e20\u0e32_\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32_\u0e01\u0e23\u0e01\u0e0e\u0e32_\u0e2a\u0e34\u0e07\u0e2b\u0e32_\u0e01\u0e31\u0e19\u0e22\u0e32_\u0e15\u0e38\u0e25\u0e32_\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32_\u0e18\u0e31\u0e19\u0e27\u0e32".split("_"),weekdays:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysShort:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysMin:"\u0e2d\u0e32._\u0e08._\u0e2d._\u0e1e._\u0e1e\u0e24._\u0e28._\u0e2a.".split("_"),longDateFormat:{LT:"H \u0e19\u0e32\u0e2c\u0e34\u0e01\u0e32 m \u0e19\u0e32\u0e17\u0e35",L:"YYYY/MM/DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 LT",LLLL:"\u0e27\u0e31\u0e19dddd\u0e17\u0e35\u0e48 D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 LT"},meridiem:function(e){return 12>e?"\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07":"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"},calendar:{sameDay:"[\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextDay:"[\u0e1e\u0e23\u0e38\u0e48\u0e07\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextWeek:"dddd[\u0e2b\u0e19\u0e49\u0e32 \u0e40\u0e27\u0e25\u0e32] LT",lastDay:"[\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e27\u0e32\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",lastWeek:"[\u0e27\u0e31\u0e19]dddd[\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27 \u0e40\u0e27\u0e25\u0e32] LT",sameElse:"L"},relativeTime:{future:"\u0e2d\u0e35\u0e01 %s",past:"%s\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27",s:"\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",m:"1 \u0e19\u0e32\u0e17\u0e35",mm:"%d \u0e19\u0e32\u0e17\u0e35",h:"1 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",hh:"%d \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",d:"1 \u0e27\u0e31\u0e19",dd:"%d \u0e27\u0e31\u0e19",M:"1 \u0e40\u0e14\u0e37\u0e2d\u0e19",MM:"%d \u0e40\u0e14\u0e37\u0e2d\u0e19",y:"1 \u0e1b\u0e35",yy:"%d \u0e1b\u0e35"}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/tr.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/tr.js new file mode 100644 index 0000000..95d0319 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/tr.js @@ -0,0 +1,5 @@ +// moment.js language configuration +// language : turkish (tr) +// authors : Erhan Gundogan : https://github.com/erhangundogan, +// Burak Yiğit Kaya: https://github.com/BYK +!function(){function e(e){var n={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'\xfcnc\xfc",4:"'\xfcnc\xfc",100:"'\xfcnc\xfc",6:"'nc\u0131",9:"'uncu",10:"'uncu",30:"'uncu",60:"'\u0131nc\u0131",90:"'\u0131nc\u0131"};e.lang("tr",{months:"Ocak_\u015eubat_Mart_Nisan_May\u0131s_Haziran_Temmuz_A\u011fustos_Eyl\xfcl_Ekim_Kas\u0131m_Aral\u0131k".split("_"),monthsShort:"Oca_\u015eub_Mar_Nis_May_Haz_Tem_A\u011fu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Sal\u0131_\xc7ar\u015famba_Per\u015fembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_\xc7ar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_\xc7a_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[yar\u0131n saat] LT",nextWeek:"[haftaya] dddd [saat] LT",lastDay:"[d\xfcn] LT",lastWeek:"[ge\xe7en hafta] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \xf6nce",s:"birka\xe7 saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir ay",MM:"%d ay",y:"bir y\u0131l",yy:"%d y\u0131l"},ordinal:function(e){if(0===e)return e+"'\u0131nc\u0131";var t=e%10,a=e%100-t,_=e>=100?100:null;return e+(n[t]||n[a]||n[_])},week:{dow:1,doy:7}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/tzm-la.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/tzm-la.js new file mode 100644 index 0000000..93b0904 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/tzm-la.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : Morocco Central Atlas Tamaziɣt in Latin (tzm-la) +// author : Abdel Said : https://github.com/abdelsaid +!function(){function e(e){e.lang("tzm-la",{months:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",m:"minu\u1e0d",mm:"%d minu\u1e0d",h:"sa\u025ba",hh:"%d tassa\u025bin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/tzm.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/tzm.js new file mode 100644 index 0000000..e81f5cf --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/tzm.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : Morocco Central Atlas Tamaziɣt (tzm) +// author : Abdel Said : https://github.com/abdelsaid +!function(){function e(e){e.lang("tzm",{months:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),monthsShort:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),weekdays:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysShort:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysMin:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[\u2d30\u2d59\u2d37\u2d45 \u2d34] LT",nextDay:"[\u2d30\u2d59\u2d3d\u2d30 \u2d34] LT",nextWeek:"dddd [\u2d34] LT",lastDay:"[\u2d30\u2d5a\u2d30\u2d4f\u2d5c \u2d34] LT",lastWeek:"dddd [\u2d34] LT",sameElse:"L"},relativeTime:{future:"\u2d37\u2d30\u2d37\u2d45 \u2d59 \u2d62\u2d30\u2d4f %s",past:"\u2d62\u2d30\u2d4f %s",s:"\u2d49\u2d4e\u2d49\u2d3d",m:"\u2d4e\u2d49\u2d4f\u2d53\u2d3a",mm:"%d \u2d4e\u2d49\u2d4f\u2d53\u2d3a",h:"\u2d59\u2d30\u2d44\u2d30",hh:"%d \u2d5c\u2d30\u2d59\u2d59\u2d30\u2d44\u2d49\u2d4f",d:"\u2d30\u2d59\u2d59",dd:"%d o\u2d59\u2d59\u2d30\u2d4f",M:"\u2d30\u2d62o\u2d53\u2d54",MM:"%d \u2d49\u2d62\u2d62\u2d49\u2d54\u2d4f",y:"\u2d30\u2d59\u2d33\u2d30\u2d59",yy:"%d \u2d49\u2d59\u2d33\u2d30\u2d59\u2d4f"},week:{dow:6,doy:12}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/uk.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/uk.js new file mode 100644 index 0000000..998a295 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/uk.js @@ -0,0 +1,5 @@ +// moment.js language configuration +// language : ukrainian (uk) +// author : zemlanin : https://github.com/zemlanin +// Author : Menelion Elensúle : https://github.com/Oire +!function(){function e(e){function n(e,n){var t=e.split("_");return 1===n%10&&11!==n%100?t[0]:n%10>=2&&4>=n%10&&(10>n%100||n%100>=20)?t[1]:t[2]}function t(e,t,a){var _={mm:"\u0445\u0432\u0438\u043b\u0438\u043d\u0430_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d",hh:"\u0433\u043e\u0434\u0438\u043d\u0430_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u043d\u0456\u0432",MM:"\u043c\u0456\u0441\u044f\u0446\u044c_\u043c\u0456\u0441\u044f\u0446\u0456_\u043c\u0456\u0441\u044f\u0446\u0456\u0432",yy:"\u0440\u0456\u043a_\u0440\u043e\u043a\u0438_\u0440\u043e\u043a\u0456\u0432"};return"m"===a?t?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443":"h"===a?t?"\u0433\u043e\u0434\u0438\u043d\u0430":"\u0433\u043e\u0434\u0438\u043d\u0443":e+" "+n(_[a],+e)}function a(e,n){var t={nominative:"\u0441\u0456\u0447\u0435\u043d\u044c_\u043b\u044e\u0442\u0438\u0439_\u0431\u0435\u0440\u0435\u0437\u0435\u043d\u044c_\u043a\u0432\u0456\u0442\u0435\u043d\u044c_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u0435\u0440\u0432\u0435\u043d\u044c_\u043b\u0438\u043f\u0435\u043d\u044c_\u0441\u0435\u0440\u043f\u0435\u043d\u044c_\u0432\u0435\u0440\u0435\u0441\u0435\u043d\u044c_\u0436\u043e\u0432\u0442\u0435\u043d\u044c_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434_\u0433\u0440\u0443\u0434\u0435\u043d\u044c".split("_"),accusative:"\u0441\u0456\u0447\u043d\u044f_\u043b\u044e\u0442\u043e\u0433\u043e_\u0431\u0435\u0440\u0435\u0437\u043d\u044f_\u043a\u0432\u0456\u0442\u043d\u044f_\u0442\u0440\u0430\u0432\u043d\u044f_\u0447\u0435\u0440\u0432\u043d\u044f_\u043b\u0438\u043f\u043d\u044f_\u0441\u0435\u0440\u043f\u043d\u044f_\u0432\u0435\u0440\u0435\u0441\u043d\u044f_\u0436\u043e\u0432\u0442\u043d\u044f_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430_\u0433\u0440\u0443\u0434\u043d\u044f".split("_")},a=/D[oD]? *MMMM?/.test(n)?"accusative":"nominative";return t[a][e.month()]}function _(e,n){var t={nominative:"\u043d\u0435\u0434\u0456\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044f_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),accusative:"\u043d\u0435\u0434\u0456\u043b\u044e_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044e_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),genitive:"\u043d\u0435\u0434\u0456\u043b\u0456_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043a\u0430_\u0432\u0456\u0432\u0442\u043e\u0440\u043a\u0430_\u0441\u0435\u0440\u0435\u0434\u0438_\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u0456_\u0441\u0443\u0431\u043e\u0442\u0438".split("_")},a=/(\[[\u0412\u0432\u0423\u0443]\]) ?dddd/.test(n)?"accusative":/\[?(?:\u043c\u0438\u043d\u0443\u043b\u043e\u0457|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0457)? ?\] ?dddd/.test(n)?"genitive":"nominative";return t[a][e.day()]}function d(e){return function(){return e+"\u043e"+(11===this.hours()?"\u0431":"")+"] LT"}}e.lang("uk",{months:a,monthsShort:"\u0441\u0456\u0447_\u043b\u044e\u0442_\u0431\u0435\u0440_\u043a\u0432\u0456_\u0442\u0440\u0430_\u0447\u0435\u0440_\u043b\u0438\u043f_\u0441\u0435\u0440_\u0432\u0435\u0440_\u0436\u043e\u0432_\u043b\u0438\u0441_\u0433\u0440\u0443".split("_"),weekdays:_,weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0456\u0432_\u0441\u0440\u0434_\u0447\u0435\u0442_\u043f\u0442\u043d_\u0441\u0443\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0440.",LLL:"D MMMM YYYY \u0440., LT",LLLL:"dddd, D MMMM YYYY \u0440., LT"},calendar:{sameDay:d("[\u0421\u044c\u043e\u0433\u043e\u0434\u043d\u0456 "),nextDay:d("[\u0417\u0430\u0432\u0442\u0440\u0430 "),lastDay:d("[\u0412\u0447\u043e\u0440\u0430 "),nextWeek:d("[\u0423] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return d("[\u041c\u0438\u043d\u0443\u043b\u043e\u0457] dddd [").call(this);case 1:case 2:case 4:return d("[\u041c\u0438\u043d\u0443\u043b\u043e\u0433\u043e] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"%s \u0442\u043e\u043c\u0443",s:"\u0434\u0435\u043a\u0456\u043b\u044c\u043a\u0430 \u0441\u0435\u043a\u0443\u043d\u0434",m:t,mm:t,h:"\u0433\u043e\u0434\u0438\u043d\u0443",hh:t,d:"\u0434\u0435\u043d\u044c",dd:t,M:"\u043c\u0456\u0441\u044f\u0446\u044c",MM:t,y:"\u0440\u0456\u043a",yy:t},ordinal:function(e,n){switch(n){case"M":case"d":case"DDD":case"w":case"W":return e+"-\u0439";case"D":return e+"-\u0433\u043e";default:return e}},week:{dow:1,doy:7}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/zh-cn.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/zh-cn.js new file mode 100644 index 0000000..c8fa795 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/zh-cn.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : chinese +// author : suupic : https://github.com/suupic +!function(){function e(e){e.lang("zh-cn",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u5468\u65e5_\u5468\u4e00_\u5468\u4e8c_\u5468\u4e09_\u5468\u56db_\u5468\u4e94_\u5468\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"Ah\u70b9mm",L:"YYYY\u5e74MMMD\u65e5",LL:"YYYY\u5e74MMMD\u65e5",LLL:"YYYY\u5e74MMMD\u65e5LT",LLLL:"YYYY\u5e74MMMD\u65e5ddddLT",l:"YYYY\u5e74MMMD\u65e5",ll:"YYYY\u5e74MMMD\u65e5",lll:"YYYY\u5e74MMMD\u65e5LT",llll:"YYYY\u5e74MMMD\u65e5ddddLT"},meridiem:function(e,n){return 9>e?"\u65e9\u4e0a":11>e&&30>n?"\u4e0a\u5348":13>e&&30>n?"\u4e2d\u5348":18>e?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},ordinal:function(e,n){switch(n){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u5468";default:return e}},relativeTime:{future:"%s\u5185",past:"%s\u524d",s:"\u51e0\u79d2",m:"1\u5206\u949f",mm:"%d\u5206\u949f",h:"1\u5c0f\u65f6",hh:"%d\u5c0f\u65f6",d:"1\u5929",dd:"%d\u5929",M:"1\u4e2a\u6708",MM:"%d\u4e2a\u6708",y:"1\u5e74",yy:"%d\u5e74"}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/lang/zh-tw.js b/97suifangqa/apps/indicator/static/plugins/moment/lang/zh-tw.js new file mode 100644 index 0000000..c0a047c --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/lang/zh-tw.js @@ -0,0 +1,4 @@ +// moment.js language configuration +// language : traditional chinese (zh-tw) +// author : Ben : https://github.com/ben-lin +!function(){function e(e){e.lang("zh-tw",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"Ah\u9edemm",L:"YYYY\u5e74MMMD\u65e5",LL:"YYYY\u5e74MMMD\u65e5",LLL:"YYYY\u5e74MMMD\u65e5LT",LLLL:"YYYY\u5e74MMMD\u65e5ddddLT",l:"YYYY\u5e74MMMD\u65e5",ll:"YYYY\u5e74MMMD\u65e5",lll:"YYYY\u5e74MMMD\u65e5LT",llll:"YYYY\u5e74MMMD\u65e5ddddLT"},meridiem:function(e,n){return 9>e?"\u65e9\u4e0a":11>e&&30>n?"\u4e0a\u5348":13>e&&30>n?"\u4e2d\u5348":18>e?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},ordinal:function(e,n){switch(n){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",m:"\u4e00\u5206\u9418",mm:"%d\u5206\u9418",h:"\u4e00\u5c0f\u6642",hh:"%d\u5c0f\u6642",d:"\u4e00\u5929",dd:"%d\u5929",M:"\u4e00\u500b\u6708",MM:"%d\u500b\u6708",y:"\u4e00\u5e74",yy:"%d\u5e74"}})}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/langs.js b/97suifangqa/apps/indicator/static/plugins/moment/langs.js new file mode 100644 index 0000000..c124403 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/langs.js @@ -0,0 +1,3693 @@ +(function(){ + function onload (moment) { +(function(){ +// moment.js language configuration +// language : Moroccan Arabic (ar-ma) +// author : ElFadili Yassine : https://github.com/ElFadiliY +// author : Abdel Said : https://github.com/abdelsaid + +moment.lang('ar-ma', { + months : "يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"), + monthsShort : "يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"), + weekdays : "الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"), + weekdaysShort : "احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"), + weekdaysMin : "ح_ن_ث_ر_خ_ج_س".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "DD/MM/YYYY", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY LT", + LLLL : "dddd D MMMM YYYY LT" + }, + calendar : { + sameDay: "[اليوم على الساعة] LT", + nextDay: '[غدا على الساعة] LT', + nextWeek: 'dddd [على الساعة] LT', + lastDay: '[أمس على الساعة] LT', + lastWeek: 'dddd [على الساعة] LT', + sameElse: 'L' + }, + relativeTime : { + future : "في %s", + past : "منذ %s", + s : "ثوان", + m : "دقيقة", + mm : "%d دقائق", + h : "ساعة", + hh : "%d ساعات", + d : "يوم", + dd : "%d أيام", + M : "شهر", + MM : "%d أشهر", + y : "سنة", + yy : "%d سنوات" + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 1st is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : Arabic (ar) +// author : Abdel Said : https://github.com/abdelsaid +// changes in months, weekdays : Ahmed Elkhatib + +moment.lang('ar', { + months : "يناير/ كانون الثاني_فبراير/ شباط_مارس/ آذار_أبريل/ نيسان_مايو/ أيار_يونيو/ حزيران_يوليو/ تموز_أغسطس/ آب_سبتمبر/ أيلول_أكتوبر/ تشرين الأول_نوفمبر/ تشرين الثاني_ديسمبر/ كانون الأول".split("_"), + monthsShort : "يناير/ كانون الثاني_فبراير/ شباط_مارس/ آذار_أبريل/ نيسان_مايو/ أيار_يونيو/ حزيران_يوليو/ تموز_أغسطس/ آب_سبتمبر/ أيلول_أكتوبر/ تشرين الأول_نوفمبر/ تشرين الثاني_ديسمبر/ كانون الأول".split("_"), + weekdays : "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"), + weekdaysShort : "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"), + weekdaysMin : "ح_ن_ث_ر_خ_ج_س".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "DD/MM/YYYY", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY LT", + LLLL : "dddd D MMMM YYYY LT" + }, + calendar : { + sameDay: "[اليوم على الساعة] LT", + nextDay: '[غدا على الساعة] LT', + nextWeek: 'dddd [على الساعة] LT', + lastDay: '[أمس على الساعة] LT', + lastWeek: 'dddd [على الساعة] LT', + sameElse: 'L' + }, + relativeTime : { + future : "في %s", + past : "منذ %s", + s : "ثوان", + m : "دقيقة", + mm : "%d دقائق", + h : "ساعة", + hh : "%d ساعات", + d : "يوم", + dd : "%d أيام", + M : "شهر", + MM : "%d أشهر", + y : "سنة", + yy : "%d سنوات" + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 1st is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : bulgarian (bg) +// author : Krasen Borisov : https://github.com/kraz + +moment.lang('bg', { + months : "януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"), + monthsShort : "янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"), + weekdays : "неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"), + weekdaysShort : "нед_пон_вто_сря_чет_пет_съб".split("_"), + weekdaysMin : "нд_пн_вт_ср_чт_пт_сб".split("_"), + longDateFormat : { + LT : "h:mm", + L : "D.MM.YYYY", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY LT", + LLLL : "dddd, D MMMM YYYY LT" + }, + calendar : { + sameDay : '[Днес в] LT', + nextDay : '[Утре в] LT', + nextWeek : 'dddd [в] LT', + lastDay : '[Вчера в] LT', + lastWeek : function () { + switch (this.day()) { + case 0: + case 3: + case 6: + return '[В изминалата] dddd [в] LT'; + case 1: + case 2: + case 4: + case 5: + return '[В изминалия] dddd [в] LT'; + } + }, + sameElse : 'L' + }, + relativeTime : { + future : "след %s", + past : "преди %s", + s : "няколко секунди", + m : "минута", + mm : "%d минути", + h : "час", + hh : "%d часа", + d : "ден", + dd : "%d дни", + M : "месец", + MM : "%d месеца", + y : "година", + yy : "%d години" + }, + ordinal : function (number) { + var lastDigit = number % 10, + last2Digits = number % 100; + if (number === 0) { + return number + '-ев'; + } else if (last2Digits === 0) { + return number + '-ен'; + } else if (last2Digits > 10 && last2Digits < 20) { + return number + '-ти'; + } else if (lastDigit === 1) { + return number + '-ви'; + } else if (lastDigit === 2) { + return number + '-ри'; + } else if (lastDigit === 7 || lastDigit === 8) { + return number + '-ми'; + } else { + return number + '-ти'; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 1st is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : breton (br) +// author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou + +function relativeTimeWithMutation(number, withoutSuffix, key) { + var format = { + 'mm': "munutenn", + 'MM': "miz", + 'dd': "devezh" + }; + return number + ' ' + mutation(format[key], number); +} + +function specialMutationForYears(number) { + switch (lastNumber(number)) { + case 1: + case 3: + case 4: + case 5: + case 9: + return number + ' bloaz'; + default: + return number + ' vloaz'; + } +} + +function lastNumber(number) { + if (number > 9) { + return lastNumber(number % 10); + } + return number; +} + +function mutation(text, number) { + if (number === 2) { + return softMutation(text); + } + return text; +} + +function softMutation(text) { + var mutationTable = { + 'm': 'v', + 'b': 'v', + 'd': 'z' + }; + if (mutationTable[text.charAt(0)] === undefined) { + return text; + } + return mutationTable[text.charAt(0)] + text.substring(1); +} + +moment.lang('br', { + months : "Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"), + monthsShort : "Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"), + weekdays : "Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"), + weekdaysShort : "Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"), + weekdaysMin : "Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"), + longDateFormat : { + LT : "h[e]mm A", + L : "DD/MM/YYYY", + LL : "D [a viz] MMMM YYYY", + LLL : "D [a viz] MMMM YYYY LT", + LLLL : "dddd, D [a viz] MMMM YYYY LT" + }, + calendar : { + sameDay : '[Hiziv da] LT', + nextDay : '[Warc\'hoazh da] LT', + nextWeek : 'dddd [da] LT', + lastDay : '[Dec\'h da] LT', + lastWeek : 'dddd [paset da] LT', + sameElse : 'L' + }, + relativeTime : { + future : "a-benn %s", + past : "%s 'zo", + s : "un nebeud segondennoù", + m : "ur vunutenn", + mm : relativeTimeWithMutation, + h : "un eur", + hh : "%d eur", + d : "un devezh", + dd : relativeTimeWithMutation, + M : "ur miz", + MM : relativeTimeWithMutation, + y : "ur bloaz", + yy : specialMutationForYears + }, + ordinal : function (number) { + var output = (number === 1) ? 'añ' : 'vet'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : catalan (ca) +// author : Juan G. Hurtado : https://github.com/juanghurtado + +moment.lang('ca', { + months : "Gener_Febrer_Març_Abril_Maig_Juny_Juliol_Agost_Setembre_Octubre_Novembre_Desembre".split("_"), + monthsShort : "Gen._Febr._Mar._Abr._Mai._Jun._Jul._Ag._Set._Oct._Nov._Des.".split("_"), + weekdays : "Diumenge_Dilluns_Dimarts_Dimecres_Dijous_Divendres_Dissabte".split("_"), + weekdaysShort : "Dg._Dl._Dt._Dc._Dj._Dv._Ds.".split("_"), + weekdaysMin : "Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"), + longDateFormat : { + LT : "H:mm", + L : "DD/MM/YYYY", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY LT", + LLLL : "dddd D MMMM YYYY LT" + }, + calendar : { + sameDay : function () { + return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + nextDay : function () { + return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + nextWeek : function () { + return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + lastDay : function () { + return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + lastWeek : function () { + return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + sameElse : 'L' + }, + relativeTime : { + future : "en %s", + past : "fa %s", + s : "uns segons", + m : "un minut", + mm : "%d minuts", + h : "una hora", + hh : "%d hores", + d : "un dia", + dd : "%d dies", + M : "un mes", + MM : "%d mesos", + y : "un any", + yy : "%d anys" + }, + ordinal : '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : czech (cs) +// author : petrbela : https://github.com/petrbela + +var months = "leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"), + monthsShort = "led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_"); + +function plural(n) { + return (n > 1) && (n < 5) && (~~(n / 10) !== 1); +} + +function translate(number, withoutSuffix, key, isFuture) { + var result = number + " "; + switch (key) { + case 's': // a few seconds / in a few seconds / a few seconds ago + return (withoutSuffix || isFuture) ? 'pár vteřin' : 'pár vteřinami'; + case 'm': // a minute / in a minute / a minute ago + return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou'); + case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'minuty' : 'minut'); + } else { + return result + 'minutami'; + } + break; + case 'h': // an hour / in an hour / an hour ago + return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou'); + case 'hh': // 9 hours / in 9 hours / 9 hours ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'hodiny' : 'hodin'); + } else { + return result + 'hodinami'; + } + break; + case 'd': // a day / in a day / a day ago + return (withoutSuffix || isFuture) ? 'den' : 'dnem'; + case 'dd': // 9 days / in 9 days / 9 days ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'dny' : 'dní'); + } else { + return result + 'dny'; + } + break; + case 'M': // a month / in a month / a month ago + return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem'; + case 'MM': // 9 months / in 9 months / 9 months ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'měsíce' : 'měsíců'); + } else { + return result + 'měsíci'; + } + break; + case 'y': // a year / in a year / a year ago + return (withoutSuffix || isFuture) ? 'rok' : 'rokem'; + case 'yy': // 9 years / in 9 years / 9 years ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'roky' : 'let'); + } else { + return result + 'lety'; + } + break; + } +} + +moment.lang('cs', { + months : months, + monthsShort : monthsShort, + monthsParse : (function (months, monthsShort) { + var i, _monthsParse = []; + for (i = 0; i < 12; i++) { + // use custom parser to solve problem with July (červenec) + _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i'); + } + return _monthsParse; + }(months, monthsShort)), + weekdays : "neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"), + weekdaysShort : "ne_po_út_st_čt_pá_so".split("_"), + weekdaysMin : "ne_po_út_st_čt_pá_so".split("_"), + longDateFormat : { + LT: "H:mm", + L : "DD.MM.YYYY", + LL : "D. MMMM YYYY", + LLL : "D. MMMM YYYY LT", + LLLL : "dddd D. MMMM YYYY LT" + }, + calendar : { + sameDay: "[dnes v] LT", + nextDay: '[zítra v] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[v neděli v] LT'; + case 1: + case 2: + return '[v] dddd [v] LT'; + case 3: + return '[ve středu v] LT'; + case 4: + return '[ve čtvrtek v] LT'; + case 5: + return '[v pátek v] LT'; + case 6: + return '[v sobotu v] LT'; + } + }, + lastDay: '[včera v] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[minulou neděli v] LT'; + case 1: + case 2: + return '[minulé] dddd [v] LT'; + case 3: + return '[minulou středu v] LT'; + case 4: + case 5: + return '[minulý] dddd [v] LT'; + case 6: + return '[minulou sobotu v] LT'; + } + }, + sameElse: "L" + }, + relativeTime : { + future : "za %s", + past : "před %s", + s : translate, + m : translate, + mm : translate, + h : translate, + hh : translate, + d : translate, + dd : translate, + M : translate, + MM : translate, + y : translate, + yy : translate + }, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : chuvash (cv) +// author : Anatoly Mironov : https://github.com/mirontoli + + +moment.lang('cv', { + months : "кăрлач_нарăс_пуш_ака_май_çĕртме_утă_çурла_авăн_юпа_чӳк_раштав".split("_"), + monthsShort : "кăр_нар_пуш_ака_май_çĕр_утă_çур_ав_юпа_чӳк_раш".split("_"), + weekdays : "вырсарникун_тунтикун_ытларикун_юнкун_кĕçнерникун_эрнекун_шăматкун".split("_"), + weekdaysShort : "выр_тун_ытл_юн_кĕç_эрн_шăм".split("_"), + weekdaysMin : "вр_тн_ыт_юн_кç_эр_шм".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "DD-MM-YYYY", + LL : "YYYY [çулхи] MMMM [уйăхĕн] D[-мĕшĕ]", + LLL : "YYYY [çулхи] MMMM [уйăхĕн] D[-мĕшĕ], LT", + LLLL : "dddd, YYYY [çулхи] MMMM [уйăхĕн] D[-мĕшĕ], LT" + }, + calendar : { + sameDay: '[Паян] LT [сехетре]', + nextDay: '[Ыран] LT [сехетре]', + lastDay: '[Ĕнер] LT [сехетре]', + nextWeek: '[Çитес] dddd LT [сехетре]', + lastWeek: '[Иртнĕ] dddd LT [сехетре]', + sameElse: 'L' + }, + relativeTime : { + future : function (output) { + var affix = /сехет$/i.exec(output) ? "рен" : /çул$/i.exec(output) ? "тан" : "ран"; + return output + affix; + }, + past : "%s каялла", + s : "пĕр-ик çеккунт", + m : "пĕр минут", + mm : "%d минут", + h : "пĕр сехет", + hh : "%d сехет", + d : "пĕр кун", + dd : "%d кун", + M : "пĕр уйăх", + MM : "%d уйăх", + y : "пĕр çул", + yy : "%d çул" + }, + ordinal : '%d-мĕш', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 1st is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : danish (da) +// author : Ulrik Nielsen : https://github.com/mrbase + +moment.lang('da', { + months : "Januar_Februar_Marts_April_Maj_Juni_Juli_August_September_Oktober_November_December".split("_"), + monthsShort : "Jan_Feb_Mar_Apr_Maj_Jun_Jul_Aug_Sep_Okt_Nov_Dec".split("_"), + weekdays : "Søndag_Mandag_Tirsdag_Onsdag_Torsdag_Fredag_Lørdag".split("_"), + weekdaysShort : "Søn_Man_Tir_Ons_Tor_Fre_Lør".split("_"), + weekdaysMin : "Sø_Ma_Ti_On_To_Fr_Lø".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "DD/MM/YYYY", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY LT", + LLLL : "dddd D. MMMM, YYYY LT" + }, + calendar : { + sameDay : '[I dag kl.] LT', + nextDay : '[I morgen kl.] LT', + nextWeek : 'dddd [kl.] LT', + lastDay : '[I går kl.] LT', + lastWeek : '[sidste] dddd [kl] LT', + sameElse : 'L' + }, + relativeTime : { + future : "om %s", + past : "%s siden", + s : "få sekunder", + m : "et minut", + mm : "%d minutter", + h : "en time", + hh : "%d timer", + d : "en dag", + dd : "%d dage", + M : "en måned", + MM : "%d måneder", + y : "et år", + yy : "%d år" + }, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : german (de) +// author : lluchs : https://github.com/lluchs +// author: Menelion Elensúle: https://github.com/Oire + +function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + 'm': ['eine Minute', 'einer Minute'], + 'h': ['eine Stunde', 'einer Stunde'], + 'd': ['ein Tag', 'einem Tag'], + 'dd': [number + ' Tage', number + ' Tagen'], + 'M': ['ein Monat', 'einem Monat'], + 'MM': [number + ' Monate', number + ' Monaten'], + 'y': ['ein Jahr', 'einem Jahr'], + 'yy': [number + ' Jahre', number + ' Jahren'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; +} + +moment.lang('de', { + months : "Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"), + monthsShort : "Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"), + weekdays : "Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"), + weekdaysShort : "So._Mo._Di._Mi._Do._Fr._Sa.".split("_"), + weekdaysMin : "So_Mo_Di_Mi_Do_Fr_Sa".split("_"), + longDateFormat : { + LT: "H:mm [Uhr]", + L : "DD.MM.YYYY", + LL : "D. MMMM YYYY", + LLL : "D. MMMM YYYY LT", + LLLL : "dddd, D. MMMM YYYY LT" + }, + calendar : { + sameDay: "[Heute um] LT", + sameElse: "L", + nextDay: '[Morgen um] LT', + nextWeek: 'dddd [um] LT', + lastDay: '[Gestern um] LT', + lastWeek: '[letzten] dddd [um] LT' + }, + relativeTime : { + future : "in %s", + past : "vor %s", + s : "ein paar Sekunden", + m : processRelativeTime, + mm : "%d Minuten", + h : processRelativeTime, + hh : "%d Stunden", + d : processRelativeTime, + dd : processRelativeTime, + M : processRelativeTime, + MM : processRelativeTime, + y : processRelativeTime, + yy : processRelativeTime + }, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : modern greek (el) +// author : Aggelos Karalias : https://github.com/mehiel + +moment.lang('el', { + monthsNominativeEl : "Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"), + monthsGenitiveEl : "Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"), + months : function (momentToFormat, format) { + if (/D/.test(format.substring(0, format.indexOf("MMMM")))) { // if there is a day number before 'MMMM' + return this._monthsGenitiveEl[momentToFormat.month()]; + } else { + return this._monthsNominativeEl[momentToFormat.month()]; + } + }, + monthsShort : "Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"), + weekdays : "Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"), + weekdaysShort : "Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"), + weekdaysMin : "Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"), + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'μμ' : 'ΜΜ'; + } else { + return isLower ? 'πμ' : 'ΠΜ'; + } + }, + longDateFormat : { + LT : "h:mm A", + L : "DD/MM/YYYY", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY LT", + LLLL : "dddd, D MMMM YYYY LT" + }, + calendarEl : { + sameDay : '[Σήμερα {}] LT', + nextDay : '[Αύριο {}] LT', + nextWeek : 'dddd [{}] LT', + lastDay : '[Χθες {}] LT', + lastWeek : '[την προηγούμενη] dddd [{}] LT', + sameElse : 'L' + }, + calendar : function (key, mom) { + var output = this._calendarEl[key], + hours = mom && mom.hours(); + + return output.replace("{}", (hours % 12 === 1 ? "στη" : "στις")); + }, + relativeTime : { + future : "σε %s", + past : "%s πριν", + s : "δευτερόλεπτα", + m : "ένα λεπτό", + mm : "%d λεπτά", + h : "μία ώρα", + hh : "%d ώρες", + d : "μία μέρα", + dd : "%d μέρες", + M : "ένας μήνας", + MM : "%d μήνες", + y : "ένας χρόνος", + yy : "%d χρόνια" + }, + ordinal : function (number) { + return number + 'η'; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4st is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : canadian english (en-ca) +// author : Jonathan Abourbih : https://github.com/jonbca + +moment.lang('en-ca', { + months : "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), + monthsShort : "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), + weekdays : "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), + weekdaysShort : "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), + weekdaysMin : "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), + longDateFormat : { + LT : "h:mm A", + L : "YYYY-MM-DD", + LL : "D MMMM, YYYY", + LLL : "D MMMM, YYYY LT", + LLLL : "dddd, D MMMM, YYYY LT" + }, + calendar : { + sameDay : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : "in %s", + past : "%s ago", + s : "a few seconds", + m : "a minute", + mm : "%d minutes", + h : "an hour", + hh : "%d hours", + d : "a day", + dd : "%d days", + M : "a month", + MM : "%d months", + y : "a year", + yy : "%d years" + }, + ordinal : function (number) { + var b = number % 10, + output = (~~ (number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + } +}); +})(); +(function(){ +// moment.js language configuration +// language : great britain english (en-gb) +// author : Chris Gedrim : https://github.com/chrisgedrim + +moment.lang('en-gb', { + months : "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), + monthsShort : "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), + weekdays : "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), + weekdaysShort : "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), + weekdaysMin : "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "DD/MM/YYYY", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY LT", + LLLL : "dddd, D MMMM YYYY LT" + }, + calendar : { + sameDay : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : "in %s", + past : "%s ago", + s : "a few seconds", + m : "a minute", + mm : "%d minutes", + h : "an hour", + hh : "%d hours", + d : "a day", + dd : "%d days", + M : "a month", + MM : "%d months", + y : "a year", + yy : "%d years" + }, + ordinal : function (number) { + var b = number % 10, + output = (~~ (number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : esperanto (eo) +// author : Colin Dean : https://github.com/colindean +// komento: Mi estas malcerta se mi korekte traktis akuzativojn en tiu traduko. +// Se ne, bonvolu korekti kaj avizi min por ke mi povas lerni! + +moment.lang('eo', { + months : "januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"), + monthsShort : "jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"), + weekdays : "Dimanĉo_Lundo_Mardo_Merkredo_Ĵaŭdo_Vendredo_Sabato".split("_"), + weekdaysShort : "Dim_Lun_Mard_Merk_Ĵaŭ_Ven_Sab".split("_"), + weekdaysMin : "Di_Lu_Ma_Me_Ĵa_Ve_Sa".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "YYYY-MM-DD", + LL : "D[-an de] MMMM, YYYY", + LLL : "D[-an de] MMMM, YYYY LT", + LLLL : "dddd, [la] D[-an de] MMMM, YYYY LT" + }, + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'p.t.m.' : 'P.T.M.'; + } else { + return isLower ? 'a.t.m.' : 'A.T.M.'; + } + }, + calendar : { + sameDay : '[Hodiaŭ je] LT', + nextDay : '[Morgaŭ je] LT', + nextWeek : 'dddd [je] LT', + lastDay : '[Hieraŭ je] LT', + lastWeek : '[pasinta] dddd [je] LT', + sameElse : 'L' + }, + relativeTime : { + future : "je %s", + past : "antaŭ %s", + s : "sekundoj", + m : "minuto", + mm : "%d minutoj", + h : "horo", + hh : "%d horoj", + d : "tago",//ne 'diurno', ĉar estas uzita por proksimumo + dd : "%d tagoj", + M : "monato", + MM : "%d monatoj", + y : "jaro", + yy : "%d jaroj" + }, + ordinal : "%da", + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 1st is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : spanish (es) +// author : Julio Napurí : https://github.com/julionc + +moment.lang('es', { + months : "enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"), + monthsShort : "ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"), + weekdays : "domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"), + weekdaysShort : "dom._lun._mar._mié._jue._vie._sáb.".split("_"), + weekdaysMin : "Do_Lu_Ma_Mi_Ju_Vi_Sá".split("_"), + longDateFormat : { + LT : "H:mm", + L : "DD/MM/YYYY", + LL : "D [de] MMMM [de] YYYY", + LLL : "D [de] MMMM [de] YYYY LT", + LLLL : "dddd, D [de] MMMM [de] YYYY LT" + }, + calendar : { + sameDay : function () { + return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextDay : function () { + return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextWeek : function () { + return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastDay : function () { + return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastWeek : function () { + return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + sameElse : 'L' + }, + relativeTime : { + future : "en %s", + past : "hace %s", + s : "unos segundos", + m : "un minuto", + mm : "%d minutos", + h : "una hora", + hh : "%d horas", + d : "un día", + dd : "%d días", + M : "un mes", + MM : "%d meses", + y : "un año", + yy : "%d años" + }, + ordinal : '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : estonian (et) +// author : Henry Kehlmann : https://github.com/madhenry + +function translateSeconds(number, withoutSuffix, key, isFuture) { + return (isFuture || withoutSuffix) ? 'paari sekundi' : 'paar sekundit'; +} + +moment.lang('et', { + months : "jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"), + monthsShort : "jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"), + weekdays : "pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"), + weekdaysShort : "P_E_T_K_N_R_L".split("_"), + weekdaysMin : "P_E_T_K_N_R_L".split("_"), + longDateFormat : { + LT : "H:mm", + L : "DD.MM.YYYY", + LL : "D. MMMM YYYY", + LLL : "D. MMMM YYYY LT", + LLLL : "dddd, D. MMMM YYYY LT" + }, + calendar : { + sameDay : '[Täna,] LT', + nextDay : '[Homme,] LT', + nextWeek : '[Järgmine] dddd LT', + lastDay : '[Eile,] LT', + lastWeek : '[Eelmine] dddd LT', + sameElse : 'L' + }, + relativeTime : { + future : "%s pärast", + past : "%s tagasi", + s : translateSeconds, + m : "minut", + mm : "%d minutit", + h : "tund", + hh : "%d tundi", + d : "päev", + dd : "%d päeva", + M : "kuu", + MM : "%d kuud", + y : "aasta", + yy : "%d aastat" + }, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : euskara (eu) +// author : Eneko Illarramendi : https://github.com/eillarra + +moment.lang('eu', { + months : "urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"), + monthsShort : "urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"), + weekdays : "igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"), + weekdaysShort : "ig._al._ar._az._og._ol._lr.".split("_"), + weekdaysMin : "ig_al_ar_az_og_ol_lr".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "YYYY-MM-DD", + LL : "YYYY[ko] MMMM[ren] D[a]", + LLL : "YYYY[ko] MMMM[ren] D[a] LT", + LLLL : "dddd, YYYY[ko] MMMM[ren] D[a] LT", + l : "YYYY-M-D", + ll : "YYYY[ko] MMM D[a]", + lll : "YYYY[ko] MMM D[a] LT", + llll : "ddd, YYYY[ko] MMM D[a] LT" + }, + calendar : { + sameDay : '[gaur] LT[etan]', + nextDay : '[bihar] LT[etan]', + nextWeek : 'dddd LT[etan]', + lastDay : '[atzo] LT[etan]', + lastWeek : '[aurreko] dddd LT[etan]', + sameElse : 'L' + }, + relativeTime : { + future : "%s barru", + past : "duela %s", + s : "segundo batzuk", + m : "minutu bat", + mm : "%d minutu", + h : "ordu bat", + hh : "%d ordu", + d : "egun bat", + dd : "%d egun", + M : "hilabete bat", + MM : "%d hilabete", + y : "urte bat", + yy : "%d urte" + }, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 1st is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : Persian Language +// author : Ebrahim Byagowi : https://github.com/ebraminio +var symbolMap = { + '1': '۱', + '2': '۲', + '3': '۳', + '4': '۴', + '5': '۵', + '6': '۶', + '7': '۷', + '8': '۸', + '9': '۹', + '0': '۰' +}, numberMap = { + '۱': '1', + '۲': '2', + '۳': '3', + '۴': '4', + '۵': '5', + '۶': '6', + '۷': '7', + '۸': '8', + '۹': '9', + '۰': '0' +}; + +moment.lang('fa', { + months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'), + monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'), + weekdays : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'), + weekdaysShort : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'), + weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'), + longDateFormat : { + LT : 'HH:mm', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY LT', + LLLL : 'dddd, D MMMM YYYY LT' + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return "قبل از ظهر"; + } else { + return "بعد از ظهر"; + } + }, + calendar : { + sameDay : '[امروز ساعت] LT', + nextDay : '[فردا ساعت] LT', + nextWeek : 'dddd [ساعت] LT', + lastDay : '[دیروز ساعت] LT', + lastWeek : 'dddd [پیش] [ساعت] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'در %s', + past : '%s پیش', + s : 'چندین ثانیه', + m : 'یک دقیقه', + mm : '%d دقیقه', + h : 'یک ساعت', + hh : '%d ساعت', + d : 'یک روز', + dd : '%d روز', + M : 'یک ماه', + MM : '%d ماه', + y : 'یک سال', + yy : '%d سال' + }, + preparse: function (string) { + return string.replace(/[۰-۹]/g, function (match) { + return numberMap[match]; + }).replace(/،/g, ','); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }).replace(/,/g, '،'); + }, + ordinal : '%dم', + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 1st is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : finnish (fi) +// author : Tarmo Aidantausta : https://github.com/bleadof + +var numbers_past = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '), + numbers_future = ['nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden', + numbers_past[7], numbers_past[8], numbers_past[9]]; + +function translate(number, withoutSuffix, key, isFuture) { + var result = ""; + switch (key) { + case 's': + return isFuture ? 'muutaman sekunnin' : 'muutama sekunti'; + case 'm': + return isFuture ? 'minuutin' : 'minuutti'; + case 'mm': + result = isFuture ? 'minuutin' : 'minuuttia'; + break; + case 'h': + return isFuture ? 'tunnin' : 'tunti'; + case 'hh': + result = isFuture ? 'tunnin' : 'tuntia'; + break; + case 'd': + return isFuture ? 'päivän' : 'päivä'; + case 'dd': + result = isFuture ? 'päivän' : 'päivää'; + break; + case 'M': + return isFuture ? 'kuukauden' : 'kuukausi'; + case 'MM': + result = isFuture ? 'kuukauden' : 'kuukautta'; + break; + case 'y': + return isFuture ? 'vuoden' : 'vuosi'; + case 'yy': + result = isFuture ? 'vuoden' : 'vuotta'; + break; + } + result = verbal_number(number, isFuture) + " " + result; + return result; +} + +function verbal_number(number, isFuture) { + return number < 10 ? (isFuture ? numbers_future[number] : numbers_past[number]) : number; +} + +moment.lang('fi', { + months : "tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"), + monthsShort : "tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"), + weekdays : "sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"), + weekdaysShort : "su_ma_ti_ke_to_pe_la".split("_"), + weekdaysMin : "su_ma_ti_ke_to_pe_la".split("_"), + longDateFormat : { + LT : "HH.mm", + L : "DD.MM.YYYY", + LL : "Do MMMM[ta] YYYY", + LLL : "Do MMMM[ta] YYYY, [klo] LT", + LLLL : "dddd, Do MMMM[ta] YYYY, [klo] LT", + l : "D.M.YYYY", + ll : "Do MMM YYYY", + lll : "Do MMM YYYY, [klo] LT", + llll : "ddd, Do MMM YYYY, [klo] LT" + }, + calendar : { + sameDay : '[tänään] [klo] LT', + nextDay : '[huomenna] [klo] LT', + nextWeek : 'dddd [klo] LT', + lastDay : '[eilen] [klo] LT', + lastWeek : '[viime] dddd[na] [klo] LT', + sameElse : 'L' + }, + relativeTime : { + future : "%s päästä", + past : "%s sitten", + s : translate, + m : translate, + mm : translate, + h : translate, + hh : translate, + d : translate, + dd : translate, + M : translate, + MM : translate, + y : translate, + yy : translate + }, + ordinal : "%d.", + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : canadian french (fr-ca) +// author : Jonathan Abourbih : https://github.com/jonbca + +moment.lang('fr-ca', { + months : "janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"), + monthsShort : "janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"), + weekdays : "dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"), + weekdaysShort : "dim._lun._mar._mer._jeu._ven._sam.".split("_"), + weekdaysMin : "Di_Lu_Ma_Me_Je_Ve_Sa".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "YYYY-MM-DD", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY LT", + LLLL : "dddd D MMMM YYYY LT" + }, + calendar : { + sameDay: "[Aujourd'hui à] LT", + nextDay: '[Demain à] LT', + nextWeek: 'dddd [à] LT', + lastDay: '[Hier à] LT', + lastWeek: 'dddd [dernier à] LT', + sameElse: 'L' + }, + relativeTime : { + future : "dans %s", + past : "il y a %s", + s : "quelques secondes", + m : "une minute", + mm : "%d minutes", + h : "une heure", + hh : "%d heures", + d : "un jour", + dd : "%d jours", + M : "un mois", + MM : "%d mois", + y : "un an", + yy : "%d ans" + }, + ordinal : function (number) { + return number + (number === 1 ? 'er' : ''); + } +}); +})(); +(function(){ +// moment.js language configuration +// language : french (fr) +// author : John Fischer : https://github.com/jfroffice + +moment.lang('fr', { + months : "janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"), + monthsShort : "janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"), + weekdays : "dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"), + weekdaysShort : "dim._lun._mar._mer._jeu._ven._sam.".split("_"), + weekdaysMin : "Di_Lu_Ma_Me_Je_Ve_Sa".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "DD/MM/YYYY", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY LT", + LLLL : "dddd D MMMM YYYY LT" + }, + calendar : { + sameDay: "[Aujourd'hui à] LT", + nextDay: '[Demain à] LT', + nextWeek: 'dddd [à] LT', + lastDay: '[Hier à] LT', + lastWeek: 'dddd [dernier à] LT', + sameElse: 'L' + }, + relativeTime : { + future : "dans %s", + past : "il y a %s", + s : "quelques secondes", + m : "une minute", + mm : "%d minutes", + h : "une heure", + hh : "%d heures", + d : "un jour", + dd : "%d jours", + M : "un mois", + MM : "%d mois", + y : "un an", + yy : "%d ans" + }, + ordinal : function (number) { + return number + (number === 1 ? 'er' : ''); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : galician (gl) +// author : Juan G. Hurtado : https://github.com/juanghurtado + +moment.lang('gl', { + months : "Xaneiro_Febreiro_Marzo_Abril_Maio_Xuño_Xullo_Agosto_Setembro_Outubro_Novembro_Decembro".split("_"), + monthsShort : "Xan._Feb._Mar._Abr._Mai._Xuñ._Xul._Ago._Set._Out._Nov._Dec.".split("_"), + weekdays : "Domingo_Luns_Martes_Mércores_Xoves_Venres_Sábado".split("_"), + weekdaysShort : "Dom._Lun._Mar._Mér._Xov._Ven._Sáb.".split("_"), + weekdaysMin : "Do_Lu_Ma_Mé_Xo_Ve_Sá".split("_"), + longDateFormat : { + LT : "H:mm", + L : "DD/MM/YYYY", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY LT", + LLLL : "dddd D MMMM YYYY LT" + }, + calendar : { + sameDay : function () { + return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT'; + }, + nextDay : function () { + return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT'; + }, + nextWeek : function () { + return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT'; + }, + lastDay : function () { + return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT'; + }, + lastWeek : function () { + return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT'; + }, + sameElse : 'L' + }, + relativeTime : { + future : function (str) { + if (str === "uns segundos") { + return "nuns segundos"; + } + return "en " + str; + }, + past : "hai %s", + s : "uns segundos", + m : "un minuto", + mm : "%d minutos", + h : "unha hora", + hh : "%d horas", + d : "un día", + dd : "%d días", + M : "un mes", + MM : "%d meses", + y : "un ano", + yy : "%d anos" + }, + ordinal : '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 1st is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : Hebrew (he) +// author : Tomer Cohen : https://github.com/tomer +// author : Moshe Simantov : https://github.com/DevelopmentIL + +moment.lang('he', { + months : "ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"), + monthsShort : "ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"), + weekdays : "ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"), + weekdaysShort : "א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"), + weekdaysMin : "א_ב_ג_ד_ה_ו_ש".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "DD/MM/YYYY", + LL : "D [ב]MMMM YYYY", + LLL : "D [ב]MMMM YYYY LT", + LLLL : "dddd, D [ב]MMMM YYYY LT", + l : "D/M/YYYY", + ll : "D MMM YYYY", + lll : "D MMM YYYY LT", + llll : "ddd, D MMM YYYY LT" + }, + calendar : { + sameDay : '[היום ב־]LT', + nextDay : '[מחר ב־]LT', + nextWeek : 'dddd [בשעה] LT', + lastDay : '[אתמול ב־]LT', + lastWeek : '[ביום] dddd [האחרון בשעה] LT', + sameElse : 'L' + }, + relativeTime : { + future : "בעוד %s", + past : "לפני %s", + s : "מספר שניות", + m : "דקה", + mm : "%d דקות", + h : "שעה", + hh : "%d שעות", + d : "יום", + dd : "%d ימים", + M : "חודש", + MM : "%d חודשים", + y : "שנה", + yy : "%d שנים" + } +}); +})(); +(function(){ +// moment.js language configuration +// language : hindi (hi) +// author : Mayank Singhal : https://github.com/mayanksinghal + +var symbolMap = { + '1': '१', + '2': '२', + '3': '३', + '4': '४', + '5': '५', + '6': '६', + '7': '७', + '8': '८', + '9': '९', + '0': '०' +}, +numberMap = { + '१': '1', + '२': '2', + '३': '3', + '४': '4', + '५': '5', + '६': '6', + '७': '7', + '८': '8', + '९': '9', + '०': '0' +}; + +moment.lang('hi', { + months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split("_"), + monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split("_"), + weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split("_"), + weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split("_"), + weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split("_"), + longDateFormat : { + LT : "A h:mm बजे", + L : "DD/MM/YYYY", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY, LT", + LLLL : "dddd, D MMMM YYYY, LT" + }, + calendar : { + sameDay : '[आज] LT', + nextDay : '[कल] LT', + nextWeek : 'dddd, LT', + lastDay : '[कल] LT', + lastWeek : '[पिछले] dddd, LT', + sameElse : 'L' + }, + relativeTime : { + future : "%s में", + past : "%s पहले", + s : "कुछ ही क्षण", + m : "एक मिनट", + mm : "%d मिनट", + h : "एक घंटा", + hh : "%d घंटे", + d : "एक दिन", + dd : "%d दिन", + M : "एक महीने", + MM : "%d महीने", + y : "एक वर्ष", + yy : "%d वर्ष" + }, + preparse: function (string) { + return string.replace(/[१२३४५६७८९०]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + // Hindi notation for meridiems are quite fuzzy in practice. While there exists + // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi. + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return "रात"; + } else if (hour < 10) { + return "सुबह"; + } else if (hour < 17) { + return "दोपहर"; + } else if (hour < 20) { + return "शाम"; + } else { + return "रात"; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 1st is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : hungarian (hu) +// author : Adam Brunner : https://github.com/adambrunner + +var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' '); + +function translate(number, withoutSuffix, key, isFuture) { + var num = number, + suffix; + + switch (key) { + case 's': + return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce'; + case 'm': + return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce'); + case 'mm': + return num + (isFuture || withoutSuffix ? ' perc' : ' perce'); + case 'h': + return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája'); + case 'hh': + return num + (isFuture || withoutSuffix ? ' óra' : ' órája'); + case 'd': + return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja'); + case 'dd': + return num + (isFuture || withoutSuffix ? ' nap' : ' napja'); + case 'M': + return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); + case 'MM': + return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); + case 'y': + return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve'); + case 'yy': + return num + (isFuture || withoutSuffix ? ' év' : ' éve'); + } + + return ''; +} + +function week(isFuture) { + return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]'; +} + +moment.lang('hu', { + months : "január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"), + monthsShort : "jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"), + weekdays : "vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"), + weekdaysShort : "v_h_k_sze_cs_p_szo".split("_"), + longDateFormat : { + LT : "H:mm", + L : "YYYY.MM.DD.", + LL : "YYYY. MMMM D.", + LLL : "YYYY. MMMM D., LT", + LLLL : "YYYY. MMMM D., dddd LT" + }, + calendar : { + sameDay : '[ma] LT[-kor]', + nextDay : '[holnap] LT[-kor]', + nextWeek : function () { + return week.call(this, true); + }, + lastDay : '[tegnap] LT[-kor]', + lastWeek : function () { + return week.call(this, false); + }, + sameElse : 'L' + }, + relativeTime : { + future : "%s múlva", + past : "%s", + s : translate, + m : translate, + mm : translate, + h : translate, + hh : translate, + d : translate, + dd : translate, + M : translate, + MM : translate, + y : translate, + yy : translate + }, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 1st is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : Bahasa Indonesia (id) +// author : Mohammad Satrio Utomo : https://github.com/tyok +// reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan + +moment.lang('id', { + months : "Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"), + monthsShort : "Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"), + weekdays : "Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"), + weekdaysShort : "Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"), + weekdaysMin : "Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"), + longDateFormat : { + LT : "HH.mm", + L : "DD/MM/YYYY", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY [pukul] LT", + LLLL : "dddd, D MMMM YYYY [pukul] LT" + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 11) { + return 'pagi'; + } else if (hours < 15) { + return 'siang'; + } else if (hours < 19) { + return 'sore'; + } else { + return 'malam'; + } + }, + calendar : { + sameDay : '[Hari ini pukul] LT', + nextDay : '[Besok pukul] LT', + nextWeek : 'dddd [pukul] LT', + lastDay : '[Kemarin pukul] LT', + lastWeek : 'dddd [lalu pukul] LT', + sameElse : 'L' + }, + relativeTime : { + future : "dalam %s", + past : "%s yang lalu", + s : "beberapa detik", + m : "semenit", + mm : "%d menit", + h : "sejam", + hh : "%d jam", + d : "sehari", + dd : "%d hari", + M : "sebulan", + MM : "%d bulan", + y : "setahun", + yy : "%d tahun" + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 1st is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : icelandic (is) +// author : Hinrik Örn Sigurðsson : https://github.com/hinrik + +function plural(n) { + if (n % 100 === 11) { + return true; + } else if (n % 10 === 1) { + return false; + } + return true; +} + +function translate(number, withoutSuffix, key, isFuture) { + var result = number + " "; + switch (key) { + case 's': + return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum'; + case 'm': + return withoutSuffix ? 'mínúta' : 'mínútu'; + case 'mm': + if (plural(number)) { + return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum'); + } else if (withoutSuffix) { + return result + 'mínúta'; + } + return result + 'mínútu'; + case 'hh': + if (plural(number)) { + return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum'); + } + return result + 'klukkustund'; + case 'd': + if (withoutSuffix) { + return 'dagur'; + } + return isFuture ? 'dag' : 'degi'; + case 'dd': + if (plural(number)) { + if (withoutSuffix) { + return result + 'dagar'; + } + return result + (isFuture ? 'daga' : 'dögum'); + } else if (withoutSuffix) { + return result + 'dagur'; + } + return result + (isFuture ? 'dag' : 'degi'); + case 'M': + if (withoutSuffix) { + return 'mánuður'; + } + return isFuture ? 'mánuð' : 'mánuði'; + case 'MM': + if (plural(number)) { + if (withoutSuffix) { + return result + 'mánuðir'; + } + return result + (isFuture ? 'mánuði' : 'mánuðum'); + } else if (withoutSuffix) { + return result + 'mánuður'; + } + return result + (isFuture ? 'mánuð' : 'mánuði'); + case 'y': + return withoutSuffix || isFuture ? 'ár' : 'ári'; + case 'yy': + if (plural(number)) { + return result + (withoutSuffix || isFuture ? 'ár' : 'árum'); + } + return result + (withoutSuffix || isFuture ? 'ár' : 'ári'); + } +} + +moment.lang('is', { + months : "janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"), + monthsShort : "jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"), + weekdays : "sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"), + weekdaysShort : "sun_mán_þri_mið_fim_fös_lau".split("_"), + weekdaysMin : "Su_Má_Þr_Mi_Fi_Fö_La".split("_"), + longDateFormat : { + LT : "H:mm", + L : "DD/MM/YYYY", + LL : "D. MMMM YYYY", + LLL : "D. MMMM YYYY [kl.] LT", + LLLL : "dddd, D. MMMM YYYY [kl.] LT" + }, + calendar : { + sameDay : '[í dag kl.] LT', + nextDay : '[á morgun kl.] LT', + nextWeek : 'dddd [kl.] LT', + lastDay : '[í gær kl.] LT', + lastWeek : '[síðasta] dddd [kl.] LT', + sameElse : 'L' + }, + relativeTime : { + future : "eftir %s", + past : "fyrir %s síðan", + s : translate, + m : translate, + mm : translate, + h : "klukkustund", + hh : translate, + d : translate, + dd : translate, + M : translate, + MM : translate, + y : translate, + yy : translate + }, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : italian (it) +// author : Lorenzo : https://github.com/aliem +// author: Mattia Larentis: https://github.com/nostalgiaz + +moment.lang('it', { + months : "Gennaio_Febbraio_Marzo_Aprile_Maggio_Giugno_Luglio_Agosto_Settembre_Ottobre_Novembre_Dicembre".split("_"), + monthsShort : "Gen_Feb_Mar_Apr_Mag_Giu_Lug_Ago_Set_Ott_Nov_Dic".split("_"), + weekdays : "Domenica_Lunedì_Martedì_Mercoledì_Giovedì_Venerdì_Sabato".split("_"), + weekdaysShort : "Dom_Lun_Mar_Mer_Gio_Ven_Sab".split("_"), + weekdaysMin : "D_L_Ma_Me_G_V_S".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "DD/MM/YYYY", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY LT", + LLLL : "dddd, D MMMM YYYY LT" + }, + calendar : { + sameDay: '[Oggi alle] LT', + nextDay: '[Domani alle] LT', + nextWeek: 'dddd [alle] LT', + lastDay: '[Ieri alle] LT', + lastWeek: '[lo scorso] dddd [alle] LT', + sameElse: 'L' + }, + relativeTime : { + future : function (s) { + return ((/^[0-9].+$/).test(s) ? "tra" : "in") + " " + s; + }, + past : "%s fa", + s : "secondi", + m : "un minuto", + mm : "%d minuti", + h : "un'ora", + hh : "%d ore", + d : "un giorno", + dd : "%d giorni", + M : "un mese", + MM : "%d mesi", + y : "un anno", + yy : "%d anni" + }, + ordinal: '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : japanese (ja) +// author : LI Long : https://github.com/baryon + +moment.lang('ja', { + months : "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"), + monthsShort : "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"), + weekdays : "日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"), + weekdaysShort : "日_月_火_水_木_金_土".split("_"), + weekdaysMin : "日_月_火_水_木_金_土".split("_"), + longDateFormat : { + LT : "Ah時m分", + L : "YYYY/MM/DD", + LL : "YYYY年M月D日", + LLL : "YYYY年M月D日LT", + LLLL : "YYYY年M月D日LT dddd" + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return "午前"; + } else { + return "午後"; + } + }, + calendar : { + sameDay : '[今日] LT', + nextDay : '[明日] LT', + nextWeek : '[来週]dddd LT', + lastDay : '[昨日] LT', + lastWeek : '[前週]dddd LT', + sameElse : 'L' + }, + relativeTime : { + future : "%s後", + past : "%s前", + s : "数秒", + m : "1分", + mm : "%d分", + h : "1時間", + hh : "%d時間", + d : "1日", + dd : "%d日", + M : "1ヶ月", + MM : "%dヶ月", + y : "1年", + yy : "%d年" + } +}); +})(); +(function(){ +// moment.js language configuration +// language : Georgian (ka) +// author : Irakli Janiashvili : https://github.com/irakli-janiashvili + +function monthsCaseReplace(m, format) { + var months = { + 'nominative': 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'), + 'accusative': 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_') + }, + + nounCase = (/D[oD] *MMMM?/).test(format) ? + 'accusative' : + 'nominative'; + + return months[nounCase][m.month()]; +} + +function weekdaysCaseReplace(m, format) { + var weekdays = { + 'nominative': 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'), + 'accusative': 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_') + }, + + nounCase = (/(წინა|შემდეგ)/).test(format) ? + 'accusative' : + 'nominative'; + + return weekdays[nounCase][m.day()]; +} + +moment.lang('ka', { + months : monthsCaseReplace, + monthsShort : "იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"), + weekdays : weekdaysCaseReplace, + weekdaysShort : "კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"), + weekdaysMin : "კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"), + longDateFormat : { + LT : "h:mm A", + L : "DD/MM/YYYY", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY LT", + LLLL : "dddd, D MMMM YYYY LT" + }, + calendar : { + sameDay : '[დღეს] LT[-ზე]', + nextDay : '[ხვალ] LT[-ზე]', + lastDay : '[გუშინ] LT[-ზე]', + nextWeek : '[შემდეგ] dddd LT[-ზე]', + lastWeek : '[წინა] dddd LT-ზე', + sameElse : 'L' + }, + relativeTime : { + future : function (s) { + return (/(წამი|წუთი|საათი|წელი)/).test(s) ? + s.replace(/ი$/, "ში") : + s + "ში"; + }, + past : function (s) { + if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) { + return s.replace(/(ი|ე)$/, "ის წინ"); + } + if ((/წელი/).test(s)) { + return s.replace(/წელი$/, "წლის წინ"); + } + }, + s : "რამდენიმე წამი", + m : "წუთი", + mm : "%d წუთი", + h : "საათი", + hh : "%d საათი", + d : "დღე", + dd : "%d დღე", + M : "თვე", + MM : "%d თვე", + y : "წელი", + yy : "%d წელი" + }, + ordinal : function (number) { + if (number === 0) { + return number; + } + + if (number === 1) { + return number + "-ლი"; + } + + if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) { + return "მე-" + number; + } + + return number + "-ე"; + }, + week : { + dow : 1, + doy : 7 + } +}); +})(); +(function(){ +// moment.js language configuration +// language : korean (ko) +// author : Kyungwook, Park : https://github.com/kyungw00k + +moment.lang('ko', { + months : "1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"), + monthsShort : "1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"), + weekdays : "일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"), + weekdaysShort : "일_월_화_수_목_금_토".split("_"), + weekdaysMin : "일_월_화_수_목_금_토".split("_"), + longDateFormat : { + LT : "A h시 mm분", + L : "YYYY.MM.DD", + LL : "YYYY년 MMMM D일", + LLL : "YYYY년 MMMM D일 LT", + LLLL : "YYYY년 MMMM D일 dddd LT" + }, + meridiem : function (hour, minute, isUpper) { + return hour < 12 ? '오전' : '오후'; + }, + calendar : { + sameDay : '오늘 LT', + nextDay : '내일 LT', + nextWeek : 'dddd LT', + lastDay : '어제 LT', + lastWeek : '지난주 dddd LT', + sameElse : 'L' + }, + relativeTime : { + future : "%s 후", + past : "%s 전", + s : "몇초", + ss : "%d초", + m : "일분", + mm : "%d분", + h : "한시간", + hh : "%d시간", + d : "하루", + dd : "%d일", + M : "한달", + MM : "%d달", + y : "일년", + yy : "%d년" + }, + ordinal : '%d일' +}); +})(); +(function(){ +// moment.js language configuration +// language : latvian (lv) +// author : Kristaps Karlsons : https://github.com/skakri + +var units = { + 'mm': 'minūti_minūtes_minūte_minūtes', + 'hh': 'stundu_stundas_stunda_stundas', + 'dd': 'dienu_dienas_diena_dienas', + 'MM': 'mēnesi_mēnešus_mēnesis_mēneši', + 'yy': 'gadu_gadus_gads_gadi' +}; + +function format(word, number, withoutSuffix) { + var forms = word.split('_'); + if (withoutSuffix) { + return number % 10 === 1 && number !== 11 ? forms[2] : forms[3]; + } else { + return number % 10 === 1 && number !== 11 ? forms[0] : forms[1]; + } +} + +function relativeTimeWithPlural(number, withoutSuffix, key) { + return number + ' ' + format(units[key], number, withoutSuffix); +} + +moment.lang('lv', { + months : "janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"), + monthsShort : "jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"), + weekdays : "svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"), + weekdaysShort : "Sv_P_O_T_C_Pk_S".split("_"), + weekdaysMin : "Sv_P_O_T_C_Pk_S".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "DD.MM.YYYY", + LL : "YYYY. [gada] D. MMMM", + LLL : "YYYY. [gada] D. MMMM, LT", + LLLL : "YYYY. [gada] D. MMMM, dddd, LT" + }, + calendar : { + sameDay : '[Šodien pulksten] LT', + nextDay : '[Rīt pulksten] LT', + nextWeek : 'dddd [pulksten] LT', + lastDay : '[Vakar pulksten] LT', + lastWeek : '[Pagājušā] dddd [pulksten] LT', + sameElse : 'L' + }, + relativeTime : { + future : "%s vēlāk", + past : "%s agrāk", + s : "dažas sekundes", + m : "minūti", + mm : relativeTimeWithPlural, + h : "stundu", + hh : relativeTimeWithPlural, + d : "dienu", + dd : relativeTimeWithPlural, + M : "mēnesi", + MM : relativeTimeWithPlural, + y : "gadu", + yy : relativeTimeWithPlural + }, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : Bahasa Malaysia (ms-MY) +// author : Weldan Jamili : https://github.com/weldan + +moment.lang('ms-my', { + months : "Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"), + monthsShort : "Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"), + weekdays : "Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"), + weekdaysShort : "Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"), + weekdaysMin : "Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"), + longDateFormat : { + LT : "HH.mm", + L : "DD/MM/YYYY", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY [pukul] LT", + LLLL : "dddd, D MMMM YYYY [pukul] LT" + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 11) { + return 'pagi'; + } else if (hours < 15) { + return 'tengahari'; + } else if (hours < 19) { + return 'petang'; + } else { + return 'malam'; + } + }, + calendar : { + sameDay : '[Hari ini pukul] LT', + nextDay : '[Esok pukul] LT', + nextWeek : 'dddd [pukul] LT', + lastDay : '[Kelmarin pukul] LT', + lastWeek : 'dddd [lepas pukul] LT', + sameElse : 'L' + }, + relativeTime : { + future : "dalam %s", + past : "%s yang lepas", + s : "beberapa saat", + m : "seminit", + mm : "%d minit", + h : "sejam", + hh : "%d jam", + d : "sehari", + dd : "%d hari", + M : "sebulan", + MM : "%d bulan", + y : "setahun", + yy : "%d tahun" + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 1st is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : norwegian bokmål (nb) +// author : Espen Hovlandsdal : https://github.com/rexxars + +moment.lang('nb', { + months : "januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"), + monthsShort : "jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"), + weekdays : "søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"), + weekdaysShort : "søn_man_tir_ons_tor_fre_lør".split("_"), + weekdaysMin : "sø_ma_ti_on_to_fr_lø".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "DD.MM.YYYY", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY LT", + LLLL : "dddd D MMMM YYYY LT" + }, + calendar : { + sameDay: '[I dag klokken] LT', + nextDay: '[I morgen klokken] LT', + nextWeek: 'dddd [klokken] LT', + lastDay: '[I går klokken] LT', + lastWeek: '[Forrige] dddd [klokken] LT', + sameElse: 'L' + }, + relativeTime : { + future : "om %s", + past : "for %s siden", + s : "noen sekunder", + m : "ett minutt", + mm : "%d minutter", + h : "en time", + hh : "%d timer", + d : "en dag", + dd : "%d dager", + M : "en måned", + MM : "%d måneder", + y : "ett år", + yy : "%d år" + }, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : nepali/nepalese +// author : suvash : https://github.com/suvash + +var symbolMap = { + '1': '१', + '2': '२', + '3': '३', + '4': '४', + '5': '५', + '6': '६', + '7': '७', + '8': '८', + '9': '९', + '0': '०' +}, +numberMap = { + '१': '1', + '२': '2', + '३': '3', + '४': '4', + '५': '5', + '६': '6', + '७': '7', + '८': '8', + '९': '9', + '०': '0' +}; + +moment.lang('ne', { + months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split("_"), + monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split("_"), + weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split("_"), + weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split("_"), + weekdaysMin : 'आइ._सो._मङ्_बु._बि._शु._श.'.split("_"), + longDateFormat : { + LT : "Aको h:mm बजे", + L : "DD/MM/YYYY", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY, LT", + LLLL : "dddd, D MMMM YYYY, LT" + }, + preparse: function (string) { + return string.replace(/[१२३४५६७८९०]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 3) { + return "राती"; + } else if (hour < 10) { + return "बिहान"; + } else if (hour < 15) { + return "दिउँसो"; + } else if (hour < 18) { + return "बेलुका"; + } else if (hour < 20) { + return "साँझ"; + } else { + return "राती"; + } + }, + calendar : { + sameDay : '[आज] LT', + nextDay : '[भोली] LT', + nextWeek : '[आउँदो] dddd[,] LT', + lastDay : '[हिजो] LT', + lastWeek : '[गएको] dddd[,] LT', + sameElse : 'L' + }, + relativeTime : { + future : "%sमा", + past : "%s अगाडी", + s : "केही समय", + m : "एक मिनेट", + mm : "%d मिनेट", + h : "एक घण्टा", + hh : "%d घण्टा", + d : "एक दिन", + dd : "%d दिन", + M : "एक महिना", + MM : "%d महिना", + y : "एक बर्ष", + yy : "%d बर्ष" + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 1st is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : dutch (nl) +// author : Joris Röling : https://github.com/jjupiter + +var monthsShortWithDots = "jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"), + monthsShortWithoutDots = "jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"); + +moment.lang('nl', { + months : "januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"), + monthsShort : function (m, format) { + if (/-MMM-/.test(format)) { + return monthsShortWithoutDots[m.month()]; + } else { + return monthsShortWithDots[m.month()]; + } + }, + weekdays : "zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"), + weekdaysShort : "zo._ma._di._wo._do._vr._za.".split("_"), + weekdaysMin : "Zo_Ma_Di_Wo_Do_Vr_Za".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "DD-MM-YYYY", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY LT", + LLLL : "dddd D MMMM YYYY LT" + }, + calendar : { + sameDay: '[Vandaag om] LT', + nextDay: '[Morgen om] LT', + nextWeek: 'dddd [om] LT', + lastDay: '[Gisteren om] LT', + lastWeek: '[afgelopen] dddd [om] LT', + sameElse: 'L' + }, + relativeTime : { + future : "over %s", + past : "%s geleden", + s : "een paar seconden", + m : "één minuut", + mm : "%d minuten", + h : "één uur", + hh : "%d uur", + d : "één dag", + dd : "%d dagen", + M : "één maand", + MM : "%d maanden", + y : "één jaar", + yy : "%d jaar" + }, + ordinal : function (number) { + return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : norwegian nynorsk (nn) +// author : https://github.com/mechuwind + +moment.lang('nn', { + months : "januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"), + monthsShort : "jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"), + weekdays : "sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"), + weekdaysShort : "sun_mån_tys_ons_tor_fre_lau".split("_"), + weekdaysMin : "su_må_ty_on_to_fr_lø".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "YYYY-MM-DD", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY LT", + LLLL : "dddd D MMMM YYYY LT" + }, + calendar : { + sameDay: '[I dag klokka] LT', + nextDay: '[I morgon klokka] LT', + nextWeek: 'dddd [klokka] LT', + lastDay: '[I går klokka] LT', + lastWeek: '[Føregående] dddd [klokka] LT', + sameElse: 'L' + }, + relativeTime : { + future : "om %s", + past : "for %s siden", + s : "noen sekund", + m : "ett minutt", + mm : "%d minutt", + h : "en time", + hh : "%d timar", + d : "en dag", + dd : "%d dagar", + M : "en månad", + MM : "%d månader", + y : "ett år", + yy : "%d år" + }, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : polish (pl) +// author : Rafal Hirsz : https://github.com/evoL + +var monthsNominative = "styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"), + monthsSubjective = "stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_"); + +function plural(n) { + return (n % 10 < 5) && (n % 10 > 1) && (~~(n / 10) !== 1); +} + +function translate(number, withoutSuffix, key) { + var result = number + " "; + switch (key) { + case 'm': + return withoutSuffix ? 'minuta' : 'minutę'; + case 'mm': + return result + (plural(number) ? 'minuty' : 'minut'); + case 'h': + return withoutSuffix ? 'godzina' : 'godzinę'; + case 'hh': + return result + (plural(number) ? 'godziny' : 'godzin'); + case 'MM': + return result + (plural(number) ? 'miesiące' : 'miesięcy'); + case 'yy': + return result + (plural(number) ? 'lata' : 'lat'); + } +} + +moment.lang('pl', { + months : function (momentToFormat, format) { + if (/D MMMM/.test(format)) { + return monthsSubjective[momentToFormat.month()]; + } else { + return monthsNominative[momentToFormat.month()]; + } + }, + monthsShort : "sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"), + weekdays : "niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"), + weekdaysShort : "nie_pon_wt_śr_czw_pt_sb".split("_"), + weekdaysMin : "N_Pn_Wt_Śr_Cz_Pt_So".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "DD.MM.YYYY", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY LT", + LLLL : "dddd, D MMMM YYYY LT" + }, + calendar : { + sameDay: '[Dziś o] LT', + nextDay: '[Jutro o] LT', + nextWeek: '[W] dddd [o] LT', + lastDay: '[Wczoraj o] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[W zeszłą niedzielę o] LT'; + case 3: + return '[W zeszłą środę o] LT'; + case 6: + return '[W zeszłą sobotę o] LT'; + default: + return '[W zeszły] dddd [o] LT'; + } + }, + sameElse: 'L' + }, + relativeTime : { + future : "za %s", + past : "%s temu", + s : "kilka sekund", + m : translate, + mm : translate, + h : translate, + hh : translate, + d : "1 dzień", + dd : '%d dni', + M : "miesiąc", + MM : translate, + y : "rok", + yy : translate + }, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : brazilian portuguese (pt-br) +// author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira + +moment.lang('pt-br', { + months : "Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"), + monthsShort : "Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"), + weekdays : "Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"), + weekdaysShort : "Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"), + weekdaysMin : "Dom_2ª_3ª_4ª_5ª_6ª_Sáb".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "DD/MM/YYYY", + LL : "D [de] MMMM [de] YYYY", + LLL : "D [de] MMMM [de] YYYY LT", + LLLL : "dddd, D [de] MMMM [de] YYYY LT" + }, + calendar : { + sameDay: '[Hoje às] LT', + nextDay: '[Amanhã às] LT', + nextWeek: 'dddd [às] LT', + lastDay: '[Ontem às] LT', + lastWeek: function () { + return (this.day() === 0 || this.day() === 6) ? + '[Último] dddd [às] LT' : // Saturday + Sunday + '[Última] dddd [às] LT'; // Monday - Friday + }, + sameElse: 'L' + }, + relativeTime : { + future : "em %s", + past : "%s atrás", + s : "segundos", + m : "um minuto", + mm : "%d minutos", + h : "uma hora", + hh : "%d horas", + d : "um dia", + dd : "%d dias", + M : "um mês", + MM : "%d meses", + y : "um ano", + yy : "%d anos" + }, + ordinal : '%dº' +}); +})(); +(function(){ +// moment.js language configuration +// language : portuguese (pt) +// author : Jefferson : https://github.com/jalex79 + +moment.lang('pt', { + months : "Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"), + monthsShort : "Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"), + weekdays : "Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"), + weekdaysShort : "Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"), + weekdaysMin : "Dom_2ª_3ª_4ª_5ª_6ª_Sáb".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "DD/MM/YYYY", + LL : "D [de] MMMM [de] YYYY", + LLL : "D [de] MMMM [de] YYYY LT", + LLLL : "dddd, D [de] MMMM [de] YYYY LT" + }, + calendar : { + sameDay: '[Hoje às] LT', + nextDay: '[Amanhã às] LT', + nextWeek: 'dddd [às] LT', + lastDay: '[Ontem às] LT', + lastWeek: function () { + return (this.day() === 0 || this.day() === 6) ? + '[Último] dddd [às] LT' : // Saturday + Sunday + '[Última] dddd [às] LT'; // Monday - Friday + }, + sameElse: 'L' + }, + relativeTime : { + future : "em %s", + past : "%s atrás", + s : "segundos", + m : "um minuto", + mm : "%d minutos", + h : "uma hora", + hh : "%d horas", + d : "um dia", + dd : "%d dias", + M : "um mês", + MM : "%d meses", + y : "um ano", + yy : "%d anos" + }, + ordinal : '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : romanian (ro) +// author : Vlad Gurdiga : https://github.com/gurdiga +// author : Valentin Agachi : https://github.com/avaly + +moment.lang('ro', { + months : "Ianuarie_Februarie_Martie_Aprilie_Mai_Iunie_Iulie_August_Septembrie_Octombrie_Noiembrie_Decembrie".split("_"), + monthsShort : "Ian_Feb_Mar_Apr_Mai_Iun_Iul_Aug_Sep_Oct_Noi_Dec".split("_"), + weekdays : "Duminică_Luni_Marţi_Miercuri_Joi_Vineri_Sâmbătă".split("_"), + weekdaysShort : "Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"), + weekdaysMin : "Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"), + longDateFormat : { + LT : "H:mm", + L : "DD/MM/YYYY", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY H:mm", + LLLL : "dddd, D MMMM YYYY H:mm" + }, + calendar : { + sameDay: "[azi la] LT", + nextDay: '[mâine la] LT', + nextWeek: 'dddd [la] LT', + lastDay: '[ieri la] LT', + lastWeek: '[fosta] dddd [la] LT', + sameElse: 'L' + }, + relativeTime : { + future : "peste %s", + past : "%s în urmă", + s : "câteva secunde", + m : "un minut", + mm : "%d minute", + h : "o oră", + hh : "%d ore", + d : "o zi", + dd : "%d zile", + M : "o lună", + MM : "%d luni", + y : "un an", + yy : "%d ani" + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 1st is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : russian (ru) +// author : Viktorminator : https://github.com/Viktorminator +// Author : Menelion Elensúle : https://github.com/Oire + +function plural(word, num) { + var forms = word.split('_'); + return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]); +} + +function relativeTimeWithPlural(number, withoutSuffix, key) { + var format = { + 'mm': 'минута_минуты_минут', + 'hh': 'час_часа_часов', + 'dd': 'день_дня_дней', + 'MM': 'месяц_месяца_месяцев', + 'yy': 'год_года_лет' + }; + if (key === 'm') { + return withoutSuffix ? 'минута' : 'минуту'; + } + else { + return number + ' ' + plural(format[key], +number); + } +} + +function monthsCaseReplace(m, format) { + var months = { + 'nominative': 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'), + 'accusative': 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_') + }, + + nounCase = (/D[oD]? *MMMM?/).test(format) ? + 'accusative' : + 'nominative'; + + return months[nounCase][m.month()]; +} + +function weekdaysCaseReplace(m, format) { + var weekdays = { + 'nominative': 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'), + 'accusative': 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_') + }, + + nounCase = (/\[ ?[Вв] ?(?:прошлую|следующую)? ?\] ?dddd/).test(format) ? + 'accusative' : + 'nominative'; + + return weekdays[nounCase][m.day()]; +} + +moment.lang('ru', { + months : monthsCaseReplace, + monthsShort : "янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"), + weekdays : weekdaysCaseReplace, + weekdaysShort : "вск_пнд_втр_срд_чтв_птн_сбт".split("_"), + weekdaysMin : "вс_пн_вт_ср_чт_пт_сб".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "DD.MM.YYYY", + LL : "D MMMM YYYY г.", + LLL : "D MMMM YYYY г., LT", + LLLL : "dddd, D MMMM YYYY г., LT" + }, + calendar : { + sameDay: '[Сегодня в] LT', + nextDay: '[Завтра в] LT', + lastDay: '[Вчера в] LT', + nextWeek: function () { + return this.day() === 2 ? '[Во] dddd [в] LT' : '[В] dddd [в] LT'; + }, + lastWeek: function () { + switch (this.day()) { + case 0: + return '[В прошлое] dddd [в] LT'; + case 1: + case 2: + case 4: + return '[В прошлый] dddd [в] LT'; + case 3: + case 5: + case 6: + return '[В прошлую] dddd [в] LT'; + } + }, + sameElse: 'L' + }, + relativeTime : { + future : "через %s", + past : "%s назад", + s : "несколько секунд", + m : relativeTimeWithPlural, + mm : relativeTimeWithPlural, + h : "час", + hh : relativeTimeWithPlural, + d : "день", + dd : relativeTimeWithPlural, + M : "месяц", + MM : relativeTimeWithPlural, + y : "год", + yy : relativeTimeWithPlural + }, + + ordinal: function (number, period) { + switch (period) { + case 'M': + case 'd': + case 'DDD': + return number + '-й'; + case 'D': + return number + '-го'; + case 'w': + case 'W': + return number + '-я'; + default: + return number; + } + }, + + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 1st is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : slovak (sk) +// author : Martin Minka : https://github.com/k2s +// based on work of petrbela : https://github.com/petrbela + +var months = "január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"), + monthsShort = "jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_"); + +function plural(n) { + return (n > 1) && (n < 5); +} + +function translate(number, withoutSuffix, key, isFuture) { + var result = number + " "; + switch (key) { + case 's': // a few seconds / in a few seconds / a few seconds ago + return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami'; + case 'm': // a minute / in a minute / a minute ago + return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou'); + case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'minúty' : 'minút'); + } else { + return result + 'minútami'; + } + break; + case 'h': // an hour / in an hour / an hour ago + return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou'); + case 'hh': // 9 hours / in 9 hours / 9 hours ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'hodiny' : 'hodín'); + } else { + return result + 'hodinami'; + } + break; + case 'd': // a day / in a day / a day ago + return (withoutSuffix || isFuture) ? 'deň' : 'dňom'; + case 'dd': // 9 days / in 9 days / 9 days ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'dni' : 'dní'); + } else { + return result + 'dňami'; + } + break; + case 'M': // a month / in a month / a month ago + return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom'; + case 'MM': // 9 months / in 9 months / 9 months ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'mesiace' : 'mesiacov'); + } else { + return result + 'mesiacmi'; + } + break; + case 'y': // a year / in a year / a year ago + return (withoutSuffix || isFuture) ? 'rok' : 'rokom'; + case 'yy': // 9 years / in 9 years / 9 years ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'roky' : 'rokov'); + } else { + return result + 'rokmi'; + } + break; + } +} + +moment.lang('sk', { + months : months, + monthsShort : monthsShort, + monthsParse : (function (months, monthsShort) { + var i, _monthsParse = []; + for (i = 0; i < 12; i++) { + // use custom parser to solve problem with July (červenec) + _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i'); + } + return _monthsParse; + }(months, monthsShort)), + weekdays : "nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"), + weekdaysShort : "ne_po_ut_st_št_pi_so".split("_"), + weekdaysMin : "ne_po_ut_st_št_pi_so".split("_"), + longDateFormat : { + LT: "H:mm", + L : "DD.MM.YYYY", + LL : "D. MMMM YYYY", + LLL : "D. MMMM YYYY LT", + LLLL : "dddd D. MMMM YYYY LT" + }, + calendar : { + sameDay: "[dnes o] LT", + nextDay: '[zajtra o] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[v nedeľu o] LT'; + case 1: + case 2: + return '[v] dddd [o] LT'; + case 3: + return '[v stredu o] LT'; + case 4: + return '[vo štvrtok o] LT'; + case 5: + return '[v piatok o] LT'; + case 6: + return '[v sobotu o] LT'; + } + }, + lastDay: '[včera o] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[minulú nedeľu o] LT'; + case 1: + case 2: + return '[minulý] dddd [o] LT'; + case 3: + return '[minulú stredu o] LT'; + case 4: + case 5: + return '[minulý] dddd [o] LT'; + case 6: + return '[minulú sobotu o] LT'; + } + }, + sameElse: "L" + }, + relativeTime : { + future : "za %s", + past : "pred %s", + s : translate, + m : translate, + mm : translate, + h : translate, + hh : translate, + d : translate, + dd : translate, + M : translate, + MM : translate, + y : translate, + yy : translate + }, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : slovenian (sl) +// author : Robert Sedovšek : https://github.com/sedovsek + +function translate(number, withoutSuffix, key) { + var result = number + " "; + switch (key) { + case 'm': + return withoutSuffix ? 'ena minuta' : 'eno minuto'; + case 'mm': + if (number === 1) { + result += 'minuta'; + } else if (number === 2) { + result += 'minuti'; + } else if (number === 3 || number === 4) { + result += 'minute'; + } else { + result += 'minut'; + } + return result; + case 'h': + return withoutSuffix ? 'ena ura' : 'eno uro'; + case 'hh': + if (number === 1) { + result += 'ura'; + } else if (number === 2) { + result += 'uri'; + } else if (number === 3 || number === 4) { + result += 'ure'; + } else { + result += 'ur'; + } + return result; + case 'dd': + if (number === 1) { + result += 'dan'; + } else { + result += 'dni'; + } + return result; + case 'MM': + if (number === 1) { + result += 'mesec'; + } else if (number === 2) { + result += 'meseca'; + } else if (number === 3 || number === 4) { + result += 'mesece'; + } else { + result += 'mesecev'; + } + return result; + case 'yy': + if (number === 1) { + result += 'leto'; + } else if (number === 2) { + result += 'leti'; + } else if (number === 3 || number === 4) { + result += 'leta'; + } else { + result += 'let'; + } + return result; + } +} + +moment.lang('sl', { + months : "januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"), + monthsShort : "jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"), + weekdays : "nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"), + weekdaysShort : "ned._pon._tor._sre._čet._pet._sob.".split("_"), + weekdaysMin : "ne_po_to_sr_če_pe_so".split("_"), + longDateFormat : { + LT : "H:mm", + L : "DD. MM. YYYY", + LL : "D. MMMM YYYY", + LLL : "D. MMMM YYYY LT", + LLLL : "dddd, D. MMMM YYYY LT" + }, + calendar : { + sameDay : '[danes ob] LT', + nextDay : '[jutri ob] LT', + + nextWeek : function () { + switch (this.day()) { + case 0: + return '[v] [nedeljo] [ob] LT'; + case 3: + return '[v] [sredo] [ob] LT'; + case 6: + return '[v] [soboto] [ob] LT'; + case 1: + case 2: + case 4: + case 5: + return '[v] dddd [ob] LT'; + } + }, + lastDay : '[včeraj ob] LT', + lastWeek : function () { + switch (this.day()) { + case 0: + case 3: + case 6: + return '[prejšnja] dddd [ob] LT'; + case 1: + case 2: + case 4: + case 5: + return '[prejšnji] dddd [ob] LT'; + } + }, + sameElse : 'L' + }, + relativeTime : { + future : "čez %s", + past : "%s nazaj", + s : "nekaj sekund", + m : translate, + mm : translate, + h : translate, + hh : translate, + d : "en dan", + dd : translate, + M : "en mesec", + MM : translate, + y : "eno leto", + yy : translate + }, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 1st is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : Albanian (sq) +// author : Flakërim Ismani : https://github.com/flakerimi +// author: Menelion Elensúle: https://github.com/Oire (tests) + +moment.lang('sq', { + months : "Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"), + monthsShort : "Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"), + weekdays : "E Diel_E Hënë_E Marte_E Mërkure_E Enjte_E Premte_E Shtunë".split("_"), + weekdaysShort : "Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"), + weekdaysMin : "D_H_Ma_Më_E_P_Sh".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "DD/MM/YYYY", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY LT", + LLLL : "dddd, D MMMM YYYY LT" + }, + calendar : { + sameDay : '[Sot në] LT', + nextDay : '[Neser në] LT', + nextWeek : 'dddd [në] LT', + lastDay : '[Dje në] LT', + lastWeek : 'dddd [e kaluar në] LT', + sameElse : 'L' + }, + relativeTime : { + future : "në %s", + past : "%s me parë", + s : "disa seconda", + m : "një minut", + mm : "%d minutea", + h : "një orë", + hh : "%d orë", + d : "një ditë", + dd : "%d ditë", + M : "një muaj", + MM : "%d muaj", + y : "një vit", + yy : "%d vite" + }, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : swedish (sv) +// author : Jens Alm : https://github.com/ulmus + +moment.lang('sv', { + months : "januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"), + monthsShort : "jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"), + weekdays : "söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"), + weekdaysShort : "sön_mån_tis_ons_tor_fre_lör".split("_"), + weekdaysMin : "sö_må_ti_on_to_fr_lö".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "YYYY-MM-DD", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY LT", + LLLL : "dddd D MMMM YYYY LT" + }, + calendar : { + sameDay: '[Idag] LT', + nextDay: '[Imorgon] LT', + lastDay: '[Igår] LT', + nextWeek: 'dddd LT', + lastWeek: '[Förra] dddd[en] LT', + sameElse: 'L' + }, + relativeTime : { + future : "om %s", + past : "för %s sedan", + s : "några sekunder", + m : "en minut", + mm : "%d minuter", + h : "en timme", + hh : "%d timmar", + d : "en dag", + dd : "%d dagar", + M : "en månad", + MM : "%d månader", + y : "ett år", + yy : "%d år" + }, + ordinal : function (number) { + var b = number % 10, + output = (~~ (number % 100 / 10) === 1) ? 'e' : + (b === 1) ? 'a' : + (b === 2) ? 'a' : + (b === 3) ? 'e' : 'e'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : thai (th) +// author : Kridsada Thanabulpong : https://github.com/sirn + +moment.lang('th', { + months : "มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"), + monthsShort : "มกรา_กุมภา_มีนา_เมษา_พฤษภา_มิถุนา_กรกฎา_สิงหา_กันยา_ตุลา_พฤศจิกา_ธันวา".split("_"), + weekdays : "อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"), + weekdaysShort : "อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"), // yes, three characters difference + weekdaysMin : "อา._จ._อ._พ._พฤ._ศ._ส.".split("_"), + longDateFormat : { + LT : "H นาฬิกา m นาที", + L : "YYYY/MM/DD", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY เวลา LT", + LLLL : "วันddddที่ D MMMM YYYY เวลา LT" + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return "ก่อนเที่ยง"; + } else { + return "หลังเที่ยง"; + } + }, + calendar : { + sameDay : '[วันนี้ เวลา] LT', + nextDay : '[พรุ่งนี้ เวลา] LT', + nextWeek : 'dddd[หน้า เวลา] LT', + lastDay : '[เมื่อวานนี้ เวลา] LT', + lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT', + sameElse : 'L' + }, + relativeTime : { + future : "อีก %s", + past : "%sที่แล้ว", + s : "ไม่กี่วินาที", + m : "1 นาที", + mm : "%d นาที", + h : "1 ชั่วโมง", + hh : "%d ชั่วโมง", + d : "1 วัน", + dd : "%d วัน", + M : "1 เดือน", + MM : "%d เดือน", + y : "1 ปี", + yy : "%d ปี" + } +}); +})(); +(function(){ +// moment.js language configuration +// language : turkish (tr) +// authors : Erhan Gundogan : https://github.com/erhangundogan, +// Burak Yiğit Kaya: https://github.com/BYK + +var suffixes = { + 1: "'inci", + 5: "'inci", + 8: "'inci", + 70: "'inci", + 80: "'inci", + + 2: "'nci", + 7: "'nci", + 20: "'nci", + 50: "'nci", + + 3: "'üncü", + 4: "'üncü", + 100: "'üncü", + + 6: "'ncı", + + 9: "'uncu", + 10: "'uncu", + 30: "'uncu", + + 60: "'ıncı", + 90: "'ıncı" +}; + +moment.lang('tr', { + months : "Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"), + monthsShort : "Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"), + weekdays : "Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"), + weekdaysShort : "Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"), + weekdaysMin : "Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "DD.MM.YYYY", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY LT", + LLLL : "dddd, D MMMM YYYY LT" + }, + calendar : { + sameDay : '[bugün saat] LT', + nextDay : '[yarın saat] LT', + nextWeek : '[haftaya] dddd [saat] LT', + lastDay : '[dün] LT', + lastWeek : '[geçen hafta] dddd [saat] LT', + sameElse : 'L' + }, + relativeTime : { + future : "%s sonra", + past : "%s önce", + s : "birkaç saniye", + m : "bir dakika", + mm : "%d dakika", + h : "bir saat", + hh : "%d saat", + d : "bir gün", + dd : "%d gün", + M : "bir ay", + MM : "%d ay", + y : "bir yıl", + yy : "%d yıl" + }, + ordinal : function (number) { + if (number === 0) { // special case for zero + return number + "'ıncı"; + } + var a = number % 10, + b = number % 100 - a, + c = number >= 100 ? 100 : null; + + return number + (suffixes[a] || suffixes[b] || suffixes[c]); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 1st is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : Morocco Central Atlas Tamaziɣt in Latin (tzm-la) +// author : Abdel Said : https://github.com/abdelsaid + +moment.lang('tzm-la', { + months : "innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"), + monthsShort : "innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"), + weekdays : "asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"), + weekdaysShort : "asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"), + weekdaysMin : "asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "DD/MM/YYYY", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY LT", + LLLL : "dddd D MMMM YYYY LT" + }, + calendar : { + sameDay: "[asdkh g] LT", + nextDay: '[aska g] LT', + nextWeek: 'dddd [g] LT', + lastDay: '[assant g] LT', + lastWeek: 'dddd [g] LT', + sameElse: 'L' + }, + relativeTime : { + future : "dadkh s yan %s", + past : "yan %s", + s : "imik", + m : "minuḍ", + mm : "%d minuḍ", + h : "saɛa", + hh : "%d tassaɛin", + d : "ass", + dd : "%d ossan", + M : "ayowr", + MM : "%d iyyirn", + y : "asgas", + yy : "%d isgasn" + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 1st is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : Morocco Central Atlas Tamaziɣt (tzm) +// author : Abdel Said : https://github.com/abdelsaid + +moment.lang('tzm', { + months : "ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"), + monthsShort : "ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"), + weekdays : "ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"), + weekdaysShort : "ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"), + weekdaysMin : "ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "DD/MM/YYYY", + LL : "D MMMM YYYY", + LLL : "D MMMM YYYY LT", + LLLL : "dddd D MMMM YYYY LT" + }, + calendar : { + sameDay: "[ⴰⵙⴷⵅ ⴴ] LT", + nextDay: '[ⴰⵙⴽⴰ ⴴ] LT', + nextWeek: 'dddd [ⴴ] LT', + lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT', + lastWeek: 'dddd [ⴴ] LT', + sameElse: 'L' + }, + relativeTime : { + future : "ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s", + past : "ⵢⴰⵏ %s", + s : "ⵉⵎⵉⴽ", + m : "ⵎⵉⵏⵓⴺ", + mm : "%d ⵎⵉⵏⵓⴺ", + h : "ⵙⴰⵄⴰ", + hh : "%d ⵜⴰⵙⵙⴰⵄⵉⵏ", + d : "ⴰⵙⵙ", + dd : "%d oⵙⵙⴰⵏ", + M : "ⴰⵢoⵓⵔ", + MM : "%d ⵉⵢⵢⵉⵔⵏ", + y : "ⴰⵙⴳⴰⵙ", + yy : "%d ⵉⵙⴳⴰⵙⵏ" + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 1st is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : ukrainian (uk) +// author : zemlanin : https://github.com/zemlanin +// Author : Menelion Elensúle : https://github.com/Oire + +function plural(word, num) { + var forms = word.split('_'); + return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]); +} + +function relativeTimeWithPlural(number, withoutSuffix, key) { + var format = { + 'mm': 'хвилина_хвилини_хвилин', + 'hh': 'година_години_годин', + 'dd': 'день_дні_днів', + 'MM': 'місяць_місяці_місяців', + 'yy': 'рік_роки_років' + }; + if (key === 'm') { + return withoutSuffix ? 'хвилина' : 'хвилину'; + } + else if (key === 'h') { + return withoutSuffix ? 'година' : 'годину'; + } + else { + return number + ' ' + plural(format[key], +number); + } +} + +function monthsCaseReplace(m, format) { + var months = { + 'nominative': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_'), + 'accusative': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_') + }, + + nounCase = (/D[oD]? *MMMM?/).test(format) ? + 'accusative' : + 'nominative'; + + return months[nounCase][m.month()]; +} + +function weekdaysCaseReplace(m, format) { + var weekdays = { + 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'), + 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'), + 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_') + }, + + nounCase = (/(\[[ВвУу]\]) ?dddd/).test(format) ? + 'accusative' : + ((/\[?(?:минулої|наступної)? ?\] ?dddd/).test(format) ? + 'genitive' : + 'nominative'); + + return weekdays[nounCase][m.day()]; +} + +function processHoursFunction(str) { + return function () { + return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT'; + }; +} + +moment.lang('uk', { + months : monthsCaseReplace, + monthsShort : "січ_лют_бер_кві_тра_чер_лип_сер_вер_жов_лис_гру".split("_"), + weekdays : weekdaysCaseReplace, + weekdaysShort : "нед_пон_вів_срд_чет_птн_суб".split("_"), + weekdaysMin : "нд_пн_вт_ср_чт_пт_сб".split("_"), + longDateFormat : { + LT : "HH:mm", + L : "DD.MM.YYYY", + LL : "D MMMM YYYY р.", + LLL : "D MMMM YYYY р., LT", + LLLL : "dddd, D MMMM YYYY р., LT" + }, + calendar : { + sameDay: processHoursFunction('[Сьогодні '), + nextDay: processHoursFunction('[Завтра '), + lastDay: processHoursFunction('[Вчора '), + nextWeek: processHoursFunction('[У] dddd ['), + lastWeek: function () { + switch (this.day()) { + case 0: + case 3: + case 5: + case 6: + return processHoursFunction('[Минулої] dddd [').call(this); + case 1: + case 2: + case 4: + return processHoursFunction('[Минулого] dddd [').call(this); + } + }, + sameElse: 'L' + }, + relativeTime : { + future : "за %s", + past : "%s тому", + s : "декілька секунд", + m : relativeTimeWithPlural, + mm : relativeTimeWithPlural, + h : "годину", + hh : relativeTimeWithPlural, + d : "день", + dd : relativeTimeWithPlural, + M : "місяць", + MM : relativeTimeWithPlural, + y : "рік", + yy : relativeTimeWithPlural + }, + ordinal: function (number, period) { + switch (period) { + case 'M': + case 'd': + case 'DDD': + case 'w': + case 'W': + return number + '-й'; + case 'D': + return number + '-го'; + default: + return number; + } + }, + + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 1st is the first week of the year. + } +}); +})(); +(function(){ +// moment.js language configuration +// language : chinese +// author : suupic : https://github.com/suupic + +moment.lang('zh-cn', { + months : "一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"), + monthsShort : "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"), + weekdays : "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"), + weekdaysShort : "周日_周一_周二_周三_周四_周五_周六".split("_"), + weekdaysMin : "日_一_二_三_四_五_六".split("_"), + longDateFormat : { + LT : "Ah点mm", + L : "YYYY年MMMD日", + LL : "YYYY年MMMD日", + LLL : "YYYY年MMMD日LT", + LLLL : "YYYY年MMMD日ddddLT", + l : "YYYY年MMMD日", + ll : "YYYY年MMMD日", + lll : "YYYY年MMMD日LT", + llll : "YYYY年MMMD日ddddLT" + }, + meridiem : function (hour, minute, isLower) { + if (hour < 9) { + return "早上"; + } else if (hour < 11 && minute < 30) { + return "上午"; + } else if (hour < 13 && minute < 30) { + return "中午"; + } else if (hour < 18) { + return "下午"; + } else { + return "晚上"; + } + }, + calendar : { + sameDay : '[今天]LT', + nextDay : '[明天]LT', + nextWeek : '[下]ddddLT', + lastDay : '[昨天]LT', + lastWeek : '[上]ddddLT', + sameElse : 'L' + }, + ordinal : function (number, period) { + switch (period) { + case "d" : + case "D" : + case "DDD" : + return number + "日"; + case "M" : + return number + "月"; + case "w" : + case "W" : + return number + "周"; + default : + return number; + } + }, + relativeTime : { + future : "%s内", + past : "%s前", + s : "几秒", + m : "1分钟", + mm : "%d分钟", + h : "1小时", + hh : "%d小时", + d : "1天", + dd : "%d天", + M : "1个月", + MM : "%d个月", + y : "1年", + yy : "%d年" + } +}); +})(); +(function(){ +// moment.js language configuration +// language : traditional chinese (zh-tw) +// author : Ben : https://github.com/ben-lin + +moment.lang('zh-tw', { + months : "一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"), + monthsShort : "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"), + weekdays : "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"), + weekdaysShort : "週日_週一_週二_週三_週四_週五_週六".split("_"), + weekdaysMin : "日_一_二_三_四_五_六".split("_"), + longDateFormat : { + LT : "Ah點mm", + L : "YYYY年MMMD日", + LL : "YYYY年MMMD日", + LLL : "YYYY年MMMD日LT", + LLLL : "YYYY年MMMD日ddddLT", + l : "YYYY年MMMD日", + ll : "YYYY年MMMD日", + lll : "YYYY年MMMD日LT", + llll : "YYYY年MMMD日ddddLT" + }, + meridiem : function (hour, minute, isLower) { + if (hour < 9) { + return "早上"; + } else if (hour < 11 && minute < 30) { + return "上午"; + } else if (hour < 13 && minute < 30) { + return "中午"; + } else if (hour < 18) { + return "下午"; + } else { + return "晚上"; + } + }, + calendar : { + sameDay : '[今天]LT', + nextDay : '[明天]LT', + nextWeek : '[下]ddddLT', + lastDay : '[昨天]LT', + lastWeek : '[上]ddddLT', + sameElse : 'L' + }, + ordinal : function (number, period) { + switch (period) { + case "d" : + case "D" : + case "DDD" : + return number + "日"; + case "M" : + return number + "月"; + case "w" : + case "W" : + return number + "週"; + default : + return number; + } + }, + relativeTime : { + future : "%s內", + past : "%s前", + s : "幾秒", + m : "一分鐘", + mm : "%d分鐘", + h : "一小時", + hh : "%d小時", + d : "一天", + dd : "%d天", + M : "一個月", + MM : "%d個月", + y : "一年", + yy : "%d年" + } +}); +})(); + +moment.lang('en'); + + } + if (typeof define === "function" && define.amd) { + define(["moment"], onload); + } + if (typeof window !== "undefined" && window.moment) { + onload(window.moment); + } +})(); diff --git a/97suifangqa/apps/indicator/static/plugins/moment/langs.min.js b/97suifangqa/apps/indicator/static/plugins/moment/langs.min.js new file mode 100644 index 0000000..da13a95 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/langs.min.js @@ -0,0 +1,3 @@ +!function(){function e(){!function(){function e(e){!function(){e.lang("ar-ma",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062a\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062a\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:6,doy:12}})}(),function(){e.lang("ar",{months:"\u064a\u0646\u0627\u064a\u0631/ \u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a_\u0641\u0628\u0631\u0627\u064a\u0631/ \u0634\u0628\u0627\u0637_\u0645\u0627\u0631\u0633/ \u0622\u0630\u0627\u0631_\u0623\u0628\u0631\u064a\u0644/ \u0646\u064a\u0633\u0627\u0646_\u0645\u0627\u064a\u0648/ \u0623\u064a\u0627\u0631_\u064a\u0648\u0646\u064a\u0648/ \u062d\u0632\u064a\u0631\u0627\u0646_\u064a\u0648\u0644\u064a\u0648/ \u062a\u0645\u0648\u0632_\u0623\u063a\u0633\u0637\u0633/ \u0622\u0628_\u0633\u0628\u062a\u0645\u0628\u0631/ \u0623\u064a\u0644\u0648\u0644_\u0623\u0643\u062a\u0648\u0628\u0631/ \u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644_\u0646\u0648\u0641\u0645\u0628\u0631/ \u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a_\u062f\u064a\u0633\u0645\u0628\u0631/ \u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631/ \u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a_\u0641\u0628\u0631\u0627\u064a\u0631/ \u0634\u0628\u0627\u0637_\u0645\u0627\u0631\u0633/ \u0622\u0630\u0627\u0631_\u0623\u0628\u0631\u064a\u0644/ \u0646\u064a\u0633\u0627\u0646_\u0645\u0627\u064a\u0648/ \u0623\u064a\u0627\u0631_\u064a\u0648\u0646\u064a\u0648/ \u062d\u0632\u064a\u0631\u0627\u0646_\u064a\u0648\u0644\u064a\u0648/ \u062a\u0645\u0648\u0632_\u0623\u063a\u0633\u0637\u0633/ \u0622\u0628_\u0633\u0628\u062a\u0645\u0628\u0631/ \u0623\u064a\u0644\u0648\u0644_\u0623\u0643\u062a\u0648\u0628\u0631/ \u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644_\u0646\u0648\u0641\u0645\u0628\u0631/ \u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a_\u062f\u064a\u0633\u0645\u0628\u0631/ \u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:6,doy:12}})}(),function(){e.lang("bg",{months:"\u044f\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u044f\u043d\u0440_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u044f\u0434\u0430_\u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a_\u043f\u0435\u0442\u044a\u043a_\u0441\u044a\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u044f_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u044a\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"h:mm",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[\u0414\u043d\u0435\u0441 \u0432] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432] LT",nextWeek:"dddd [\u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0412 \u0438\u0437\u043c\u0438\u043d\u0430\u043b\u0430\u0442\u0430] dddd [\u0432] LT";case 1:case 2:case 4:case 5:return"[\u0412 \u0438\u0437\u043c\u0438\u043d\u0430\u043b\u0438\u044f] dddd [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0441\u043b\u0435\u0434 %s",past:"\u043f\u0440\u0435\u0434\u0438 %s",s:"\u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u043d\u0438",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0430",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},ordinal:function(e){var t=e%10,a=e%100;return 0===e?e+"-\u0435\u0432":0===a?e+"-\u0435\u043d":a>10&&20>a?e+"-\u0442\u0438":1===t?e+"-\u0432\u0438":2===t?e+"-\u0440\u0438":7===t||8===t?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}})}(),function(){function t(e,t,a){var n={mm:"munutenn",MM:"miz",dd:"devezh"};return e+" "+_(n[a],e)}function a(e){switch(n(e)){case 1:case 3:case 4:case 5:case 9:return e+" bloaz";default:return e+" vloaz"}}function n(e){return e>9?n(e%10):e}function _(e,t){return 2===t?s(e):e}function s(e){var t={m:"v",b:"v",d:"z"};return void 0===t[e.charAt(0)]?e:t[e.charAt(0)]+e.substring(1)}e.lang("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),longDateFormat:{LT:"h[e]mm A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY LT",LLLL:"dddd, D [a viz] MMMM YYYY LT"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondenno\xf9",m:"ur vunutenn",mm:t,h:"un eur",hh:"%d eur",d:"un devezh",dd:t,M:"ur miz",MM:t,y:"ur bloaz",yy:a},ordinal:function(e){var t=1===e?"a\xf1":"vet";return e+t},week:{dow:1,doy:4}})}(),function(){e.lang("ca",{months:"Gener_Febrer_Mar\xe7_Abril_Maig_Juny_Juliol_Agost_Setembre_Octubre_Novembre_Desembre".split("_"),monthsShort:"Gen._Febr._Mar._Abr._Mai._Jun._Jul._Ag._Set._Oct._Nov._Des.".split("_"),weekdays:"Diumenge_Dilluns_Dimarts_Dimecres_Dijous_Divendres_Dissabte".split("_"),weekdaysShort:"Dg._Dl._Dt._Dc._Dj._Dv._Ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),longDateFormat:{LT:"H:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[dem\xe0 a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"fa %s",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},ordinal:"%d\xba",week:{dow:1,doy:4}})}(),function(){function t(e){return e>1&&5>e&&1!==~~(e/10)}function a(e,a,n,_){var s=e+" ";switch(n){case"s":return a||_?"p\xe1r vte\u0159in":"p\xe1r vte\u0159inami";case"m":return a?"minuta":_?"minutu":"minutou";case"mm":return a||_?s+(t(e)?"minuty":"minut"):s+"minutami";break;case"h":return a?"hodina":_?"hodinu":"hodinou";case"hh":return a||_?s+(t(e)?"hodiny":"hodin"):s+"hodinami";break;case"d":return a||_?"den":"dnem";case"dd":return a||_?s+(t(e)?"dny":"dn\xed"):s+"dny";break;case"M":return a||_?"m\u011bs\xedc":"m\u011bs\xedcem";case"MM":return a||_?s+(t(e)?"m\u011bs\xedce":"m\u011bs\xedc\u016f"):s+"m\u011bs\xedci";break;case"y":return a||_?"rok":"rokem";case"yy":return a||_?s+(t(e)?"roky":"let"):s+"lety"}}var n="leden_\xfanor_b\u0159ezen_duben_kv\u011bten_\u010derven_\u010dervenec_srpen_z\xe1\u0159\xed_\u0159\xedjen_listopad_prosinec".split("_"),_="led_\xfano_b\u0159e_dub_kv\u011b_\u010dvn_\u010dvc_srp_z\xe1\u0159_\u0159\xedj_lis_pro".split("_");e.lang("cs",{months:n,monthsShort:_,monthsParse:function(e,t){var a,n=[];for(a=0;12>a;a++)n[a]=new RegExp("^"+e[a]+"$|^"+t[a]+"$","i");return n}(n,_),weekdays:"ned\u011ble_pond\u011bl\xed_\xfater\xfd_st\u0159eda_\u010dtvrtek_p\xe1tek_sobota".split("_"),weekdaysShort:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),weekdaysMin:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),longDateFormat:{LT:"H:mm",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd D. MMMM YYYY LT"},calendar:{sameDay:"[dnes v] LT",nextDay:"[z\xedtra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v ned\u011bli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve st\u0159edu v] LT";case 4:return"[ve \u010dtvrtek v] LT";case 5:return"[v p\xe1tek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[v\u010dera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou ned\u011bli v] LT";case 1:case 2:return"[minul\xe9] dddd [v] LT";case 3:return"[minulou st\u0159edu v] LT";case 4:case 5:return"[minul\xfd] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"p\u0159ed %s",s:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},ordinal:"%d.",week:{dow:1,doy:4}})}(),function(){e.lang("cv",{months:"\u043a\u0103\u0440\u043b\u0430\u0447_\u043d\u0430\u0440\u0103\u0441_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\xe7\u0115\u0440\u0442\u043c\u0435_\u0443\u0442\u0103_\xe7\u0443\u0440\u043b\u0430_\u0430\u0432\u0103\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448\u0442\u0430\u0432".split("_"),monthsShort:"\u043a\u0103\u0440_\u043d\u0430\u0440_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\xe7\u0115\u0440_\u0443\u0442\u0103_\xe7\u0443\u0440_\u0430\u0432_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448".split("_"),weekdays:"\u0432\u044b\u0440\u0441\u0430\u0440\u043d\u0438\u043a\u0443\u043d_\u0442\u0443\u043d\u0442\u0438\u043a\u0443\u043d_\u044b\u0442\u043b\u0430\u0440\u0438\u043a\u0443\u043d_\u044e\u043d\u043a\u0443\u043d_\u043a\u0115\xe7\u043d\u0435\u0440\u043d\u0438\u043a\u0443\u043d_\u044d\u0440\u043d\u0435\u043a\u0443\u043d_\u0448\u0103\u043c\u0430\u0442\u043a\u0443\u043d".split("_"),weekdaysShort:"\u0432\u044b\u0440_\u0442\u0443\u043d_\u044b\u0442\u043b_\u044e\u043d_\u043a\u0115\xe7_\u044d\u0440\u043d_\u0448\u0103\u043c".split("_"),weekdaysMin:"\u0432\u0440_\u0442\u043d_\u044b\u0442_\u044e\u043d_\u043a\xe7_\u044d\u0440_\u0448\u043c".split("_"),longDateFormat:{LT:"HH:mm",L:"DD-MM-YYYY",LL:"YYYY [\xe7\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u0103\u0445\u0115\u043d] D[-\u043c\u0115\u0448\u0115]",LLL:"YYYY [\xe7\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u0103\u0445\u0115\u043d] D[-\u043c\u0115\u0448\u0115], LT",LLLL:"dddd, YYYY [\xe7\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u0103\u0445\u0115\u043d] D[-\u043c\u0115\u0448\u0115], LT"},calendar:{sameDay:"[\u041f\u0430\u044f\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextDay:"[\u042b\u0440\u0430\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastDay:"[\u0114\u043d\u0435\u0440] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextWeek:"[\xc7\u0438\u0442\u0435\u0441] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastWeek:"[\u0418\u0440\u0442\u043d\u0115] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",sameElse:"L"},relativeTime:{future:function(e){var t=/\u0441\u0435\u0445\u0435\u0442$/i.exec(e)?"\u0440\u0435\u043d":/\xe7\u0443\u043b$/i.exec(e)?"\u0442\u0430\u043d":"\u0440\u0430\u043d";return e+t},past:"%s \u043a\u0430\u044f\u043b\u043b\u0430",s:"\u043f\u0115\u0440-\u0438\u043a \xe7\u0435\u043a\u043a\u0443\u043d\u0442",m:"\u043f\u0115\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u043f\u0115\u0440 \u0441\u0435\u0445\u0435\u0442",hh:"%d \u0441\u0435\u0445\u0435\u0442",d:"\u043f\u0115\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u043f\u0115\u0440 \u0443\u0439\u0103\u0445",MM:"%d \u0443\u0439\u0103\u0445",y:"\u043f\u0115\u0440 \xe7\u0443\u043b",yy:"%d \xe7\u0443\u043b"},ordinal:"%d-\u043c\u0115\u0448",week:{dow:1,doy:7}})}(),function(){e.lang("da",{months:"Januar_Februar_Marts_April_Maj_Juni_Juli_August_September_Oktober_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Maj_Jun_Jul_Aug_Sep_Okt_Nov_Dec".split("_"),weekdays:"S\xf8ndag_Mandag_Tirsdag_Onsdag_Torsdag_Fredag_L\xf8rdag".split("_"),weekdaysShort:"S\xf8n_Man_Tir_Ons_Tor_Fre_L\xf8r".split("_"),weekdaysMin:"S\xf8_Ma_Ti_On_To_Fr_L\xf8".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D. MMMM, YYYY LT"},calendar:{sameDay:"[I dag kl.] LT",nextDay:"[I morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[I g\xe5r kl.] LT",lastWeek:"[sidste] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"f\xe5 sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"et \xe5r",yy:"%d \xe5r"},ordinal:"%d.",week:{dow:1,doy:4}})}(),function(){function t(e,t,a){var n={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?n[a][0]:n[a][1]}e.lang("de",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),longDateFormat:{LT:"H:mm [Uhr]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[Heute um] LT",sameElse:"L",nextDay:"[Morgen um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gestern um] LT",lastWeek:"[letzten] dddd [um] LT"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:t,mm:"%d Minuten",h:t,hh:"%d Stunden",d:t,dd:t,M:t,MM:t,y:t,yy:t},ordinal:"%d.",week:{dow:1,doy:4}})}(),function(){e.lang("el",{monthsNominativeEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2_\u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2_\u039c\u03ac\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2_\u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2_\u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2_\u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2".split("_"),monthsGenitiveEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5_\u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5_\u039c\u03b1\u0390\u03bf\u03c5_\u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5_\u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5_\u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5_\u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5_\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5".split("_"),months:function(e,t){return/D/.test(t.substring(0,t.indexOf("MMMM")))?this._monthsGenitiveEl[e.month()]:this._monthsNominativeEl[e.month()]},monthsShort:"\u0399\u03b1\u03bd_\u03a6\u03b5\u03b2_\u039c\u03b1\u03c1_\u0391\u03c0\u03c1_\u039c\u03b1\u03ca_\u0399\u03bf\u03c5\u03bd_\u0399\u03bf\u03c5\u03bb_\u0391\u03c5\u03b3_\u03a3\u03b5\u03c0_\u039f\u03ba\u03c4_\u039d\u03bf\u03b5_\u0394\u03b5\u03ba".split("_"),weekdays:"\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae_\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1_\u03a4\u03c1\u03af\u03c4\u03b7_\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7_\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7_\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae_\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf".split("_"),weekdaysShort:"\u039a\u03c5\u03c1_\u0394\u03b5\u03c5_\u03a4\u03c1\u03b9_\u03a4\u03b5\u03c4_\u03a0\u03b5\u03bc_\u03a0\u03b1\u03c1_\u03a3\u03b1\u03b2".split("_"),weekdaysMin:"\u039a\u03c5_\u0394\u03b5_\u03a4\u03c1_\u03a4\u03b5_\u03a0\u03b5_\u03a0\u03b1_\u03a3\u03b1".split("_"),meridiem:function(e,t,a){return e>11?a?"\u03bc\u03bc":"\u039c\u039c":a?"\u03c0\u03bc":"\u03a0\u039c"},longDateFormat:{LT:"h:mm A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendarEl:{sameDay:"[\u03a3\u03ae\u03bc\u03b5\u03c1\u03b1 {}] LT",nextDay:"[\u0391\u03cd\u03c1\u03b9\u03bf {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[\u03a7\u03b8\u03b5\u03c2 {}] LT",lastWeek:"[\u03c4\u03b7\u03bd \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7] dddd [{}] LT",sameElse:"L"},calendar:function(e,t){var a=this._calendarEl[e],n=t&&t.hours();return a.replace("{}",1===n%12?"\u03c3\u03c4\u03b7":"\u03c3\u03c4\u03b9\u03c2")},relativeTime:{future:"\u03c3\u03b5 %s",past:"%s \u03c0\u03c1\u03b9\u03bd",s:"\u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",m:"\u03ad\u03bd\u03b1 \u03bb\u03b5\u03c0\u03c4\u03cc",mm:"%d \u03bb\u03b5\u03c0\u03c4\u03ac",h:"\u03bc\u03af\u03b1 \u03ce\u03c1\u03b1",hh:"%d \u03ce\u03c1\u03b5\u03c2",d:"\u03bc\u03af\u03b1 \u03bc\u03ad\u03c1\u03b1",dd:"%d \u03bc\u03ad\u03c1\u03b5\u03c2",M:"\u03ad\u03bd\u03b1\u03c2 \u03bc\u03ae\u03bd\u03b1\u03c2",MM:"%d \u03bc\u03ae\u03bd\u03b5\u03c2",y:"\u03ad\u03bd\u03b1\u03c2 \u03c7\u03c1\u03cc\u03bd\u03bf\u03c2",yy:"%d \u03c7\u03c1\u03cc\u03bd\u03b9\u03b1"},ordinal:function(e){return e+"\u03b7"},week:{dow:1,doy:4}})}(),function(){e.lang("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",L:"YYYY-MM-DD",LL:"D MMMM, YYYY",LLL:"D MMMM, YYYY LT",LLLL:"dddd, D MMMM, YYYY LT"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinal:function(e){var t=e%10,a=1===~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+a}})}(),function(){e.lang("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinal:function(e){var t=e%10,a=1===~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+a},week:{dow:1,doy:4}})}(),function(){e.lang("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_a\u016dgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_a\u016dg_sep_okt_nov_dec".split("_"),weekdays:"Diman\u0109o_Lundo_Mardo_Merkredo_\u0134a\u016ddo_Vendredo_Sabato".split("_"),weekdaysShort:"Dim_Lun_Mard_Merk_\u0134a\u016d_Ven_Sab".split("_"),weekdaysMin:"Di_Lu_Ma_Me_\u0134a_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",L:"YYYY-MM-DD",LL:"D[-an de] MMMM, YYYY",LLL:"D[-an de] MMMM, YYYY LT",LLLL:"dddd, [la] D[-an de] MMMM, YYYY LT"},meridiem:function(e,t,a){return e>11?a?"p.t.m.":"P.T.M.":a?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodia\u016d je] LT",nextDay:"[Morga\u016d je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hiera\u016d je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"je %s",past:"anta\u016d %s",s:"sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},ordinal:"%da",week:{dow:1,doy:7}})}(),function(){e.lang("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"Do_Lu_Ma_Mi_Ju_Vi_S\xe1".split("_"),longDateFormat:{LT:"H:mm",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY LT",LLLL:"dddd, D [de] MMMM [de] YYYY LT"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},ordinal:"%d\xba",week:{dow:1,doy:4}})}(),function(){function t(e,t,a,n){return n||t?"paari sekundi":"paar sekundit"}e.lang("et",{months:"jaanuar_veebruar_m\xe4rts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_m\xe4rts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"p\xfchap\xe4ev_esmasp\xe4ev_teisip\xe4ev_kolmap\xe4ev_neljap\xe4ev_reede_laup\xe4ev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[T\xe4na,] LT",nextDay:"[Homme,] LT",nextWeek:"[J\xe4rgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s p\xe4rast",past:"%s tagasi",s:t,m:"minut",mm:"%d minutit",h:"tund",hh:"%d tundi",d:"p\xe4ev",dd:"%d p\xe4eva",M:"kuu",MM:"%d kuud",y:"aasta",yy:"%d aastat"},ordinal:"%d.",week:{dow:1,doy:4}})}(),function(){e.lang("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),longDateFormat:{LT:"HH:mm",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] LT",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] LT",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] LT",llll:"ddd, YYYY[ko] MMM D[a] LT"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},ordinal:"%d.",week:{dow:1,doy:7}})}(),function(){var t={1:"\u06f1",2:"\u06f2",3:"\u06f3",4:"\u06f4",5:"\u06f5",6:"\u06f6",7:"\u06f7",8:"\u06f8",9:"\u06f9",0:"\u06f0"},a={"\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9","\u06f0":"0"};e.lang("fa",{months:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),monthsShort:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),weekdays:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysShort:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u062c_\u0634".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},meridiem:function(e){return 12>e?"\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631":"\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631"},calendar:{sameDay:"[\u0627\u0645\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",nextDay:"[\u0641\u0631\u062f\u0627 \u0633\u0627\u0639\u062a] LT",nextWeek:"dddd [\u0633\u0627\u0639\u062a] LT",lastDay:"[\u062f\u06cc\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",lastWeek:"dddd [\u067e\u06cc\u0634] [\u0633\u0627\u0639\u062a] LT",sameElse:"L"},relativeTime:{future:"\u062f\u0631 %s",past:"%s \u067e\u06cc\u0634",s:"\u0686\u0646\u062f\u06cc\u0646 \u062b\u0627\u0646\u06cc\u0647",m:"\u06cc\u06a9 \u062f\u0642\u06cc\u0642\u0647",mm:"%d \u062f\u0642\u06cc\u0642\u0647",h:"\u06cc\u06a9 \u0633\u0627\u0639\u062a",hh:"%d \u0633\u0627\u0639\u062a",d:"\u06cc\u06a9 \u0631\u0648\u0632",dd:"%d \u0631\u0648\u0632",M:"\u06cc\u06a9 \u0645\u0627\u0647",MM:"%d \u0645\u0627\u0647",y:"\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/[\u06f0-\u06f9]/g,function(e){return a[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"\u060c")},ordinal:"%d\u0645",week:{dow:6,doy:12}})}(),function(){function t(e,t,n,_){var s="";switch(n){case"s":return _?"muutaman sekunnin":"muutama sekunti";case"m":return _?"minuutin":"minuutti";case"mm":s=_?"minuutin":"minuuttia";break;case"h":return _?"tunnin":"tunti";case"hh":s=_?"tunnin":"tuntia";break;case"d":return _?"p\xe4iv\xe4n":"p\xe4iv\xe4";case"dd":s=_?"p\xe4iv\xe4n":"p\xe4iv\xe4\xe4";break;case"M":return _?"kuukauden":"kuukausi";case"MM":s=_?"kuukauden":"kuukautta";break;case"y":return _?"vuoden":"vuosi";case"yy":s=_?"vuoden":"vuotta"}return s=a(e,_)+" "+s}function a(e,t){return 10>e?t?_[e]:n[e]:e}var n="nolla yksi kaksi kolme nelj\xe4 viisi kuusi seitsem\xe4n kahdeksan yhdeks\xe4n".split(" "),_=["nolla","yhden","kahden","kolmen","nelj\xe4n","viiden","kuuden",n[7],n[8],n[9]];e.lang("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kes\xe4kuu_hein\xe4kuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kes\xe4_hein\xe4_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] LT",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] LT",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] LT",llll:"ddd, Do MMM YYYY, [klo] LT"},calendar:{sameDay:"[t\xe4n\xe4\xe4n] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s p\xe4\xe4st\xe4",past:"%s sitten",s:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},ordinal:"%d.",week:{dow:1,doy:4}}) +}(),function(){e.lang("fr-ca",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[Aujourd'hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinal:function(e){return e+(1===e?"er":"")}})}(),function(){e.lang("fr",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[Aujourd'hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinal:function(e){return e+(1===e?"er":"")},week:{dow:1,doy:4}})}(),function(){e.lang("gl",{months:"Xaneiro_Febreiro_Marzo_Abril_Maio_Xu\xf1o_Xullo_Agosto_Setembro_Outubro_Novembro_Decembro".split("_"),monthsShort:"Xan._Feb._Mar._Abr._Mai._Xu\xf1._Xul._Ago._Set._Out._Nov._Dec.".split("_"),weekdays:"Domingo_Luns_Martes_M\xe9rcores_Xoves_Venres_S\xe1bado".split("_"),weekdaysShort:"Dom._Lun._Mar._M\xe9r._Xov._Ven._S\xe1b.".split("_"),weekdaysMin:"Do_Lu_Ma_M\xe9_Xo_Ve_S\xe1".split("_"),longDateFormat:{LT:"H:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextDay:function(){return"[ma\xf1\xe1 "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"\xe1s":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"\xe1":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"\xe1s":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(e){return"uns segundos"===e?"nuns segundos":"en "+e},past:"hai %s",s:"uns segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},ordinal:"%d\xba",week:{dow:1,doy:7}})}(),function(){e.lang("he",{months:"\u05d9\u05e0\u05d5\u05d0\u05e8_\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05d9\u05dc_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8_\u05e1\u05e4\u05d8\u05de\u05d1\u05e8_\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8_\u05e0\u05d5\u05d1\u05de\u05d1\u05e8_\u05d3\u05e6\u05de\u05d1\u05e8".split("_"),monthsShort:"\u05d9\u05e0\u05d5\u05f3_\u05e4\u05d1\u05e8\u05f3_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05f3_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05f3_\u05e1\u05e4\u05d8\u05f3_\u05d0\u05d5\u05e7\u05f3_\u05e0\u05d5\u05d1\u05f3_\u05d3\u05e6\u05de\u05f3".split("_"),weekdays:"\u05e8\u05d0\u05e9\u05d5\u05df_\u05e9\u05e0\u05d9_\u05e9\u05dc\u05d9\u05e9\u05d9_\u05e8\u05d1\u05d9\u05e2\u05d9_\u05d7\u05de\u05d9\u05e9\u05d9_\u05e9\u05d9\u05e9\u05d9_\u05e9\u05d1\u05ea".split("_"),weekdaysShort:"\u05d0\u05f3_\u05d1\u05f3_\u05d2\u05f3_\u05d3\u05f3_\u05d4\u05f3_\u05d5\u05f3_\u05e9\u05f3".split("_"),weekdaysMin:"\u05d0_\u05d1_\u05d2_\u05d3_\u05d4_\u05d5_\u05e9".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D [\u05d1]MMMM YYYY",LLL:"D [\u05d1]MMMM YYYY LT",LLLL:"dddd, D [\u05d1]MMMM YYYY LT",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY LT",llll:"ddd, D MMM YYYY LT"},calendar:{sameDay:"[\u05d4\u05d9\u05d5\u05dd \u05d1\u05be]LT",nextDay:"[\u05de\u05d7\u05e8 \u05d1\u05be]LT",nextWeek:"dddd [\u05d1\u05e9\u05e2\u05d4] LT",lastDay:"[\u05d0\u05ea\u05de\u05d5\u05dc \u05d1\u05be]LT",lastWeek:"[\u05d1\u05d9\u05d5\u05dd] dddd [\u05d4\u05d0\u05d7\u05e8\u05d5\u05df \u05d1\u05e9\u05e2\u05d4] LT",sameElse:"L"},relativeTime:{future:"\u05d1\u05e2\u05d5\u05d3 %s",past:"\u05dc\u05e4\u05e0\u05d9 %s",s:"\u05de\u05e1\u05e4\u05e8 \u05e9\u05e0\u05d9\u05d5\u05ea",m:"\u05d3\u05e7\u05d4",mm:"%d \u05d3\u05e7\u05d5\u05ea",h:"\u05e9\u05e2\u05d4",hh:"%d \u05e9\u05e2\u05d5\u05ea",d:"\u05d9\u05d5\u05dd",dd:"%d \u05d9\u05de\u05d9\u05dd",M:"\u05d7\u05d5\u05d3\u05e9",MM:"%d \u05d7\u05d5\u05d3\u05e9\u05d9\u05dd",y:"\u05e9\u05e0\u05d4",yy:"%d \u05e9\u05e0\u05d9\u05dd"}})}(),function(){var t={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},a={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};e.lang("hi",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u093c\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u092e\u094d\u092c\u0930_\u0926\u093f\u0938\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u093c\u0930._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948._\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0905\u0917._\u0938\u093f\u0924._\u0905\u0915\u094d\u091f\u0942._\u0928\u0935._\u0926\u093f\u0938.".split("_"),weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0932\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0932_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, LT",LLLL:"dddd, D MMMM YYYY, LT"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0915\u0932] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u0932] LT",lastWeek:"[\u092a\u093f\u091b\u0932\u0947] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u092e\u0947\u0902",past:"%s \u092a\u0939\u0932\u0947",s:"\u0915\u0941\u091b \u0939\u0940 \u0915\u094d\u0937\u0923",m:"\u090f\u0915 \u092e\u093f\u0928\u091f",mm:"%d \u092e\u093f\u0928\u091f",h:"\u090f\u0915 \u0918\u0902\u091f\u093e",hh:"%d \u0918\u0902\u091f\u0947",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u0940\u0928\u0947",MM:"%d \u092e\u0939\u0940\u0928\u0947",y:"\u090f\u0915 \u0935\u0930\u094d\u0937",yy:"%d \u0935\u0930\u094d\u0937"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return a[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiem:function(e){return 4>e?"\u0930\u093e\u0924":10>e?"\u0938\u0941\u092c\u0939":17>e?"\u0926\u094b\u092a\u0939\u0930":20>e?"\u0936\u093e\u092e":"\u0930\u093e\u0924"},week:{dow:0,doy:6}})}(),function(){function t(e,t,a,n){var _=e;switch(a){case"s":return n||t?"n\xe9h\xe1ny m\xe1sodperc":"n\xe9h\xe1ny m\xe1sodperce";case"m":return"egy"+(n||t?" perc":" perce");case"mm":return _+(n||t?" perc":" perce");case"h":return"egy"+(n||t?" \xf3ra":" \xf3r\xe1ja");case"hh":return _+(n||t?" \xf3ra":" \xf3r\xe1ja");case"d":return"egy"+(n||t?" nap":" napja");case"dd":return _+(n||t?" nap":" napja");case"M":return"egy"+(n||t?" h\xf3nap":" h\xf3napja");case"MM":return _+(n||t?" h\xf3nap":" h\xf3napja");case"y":return"egy"+(n||t?" \xe9v":" \xe9ve");case"yy":return _+(n||t?" \xe9v":" \xe9ve")}return""}function a(e){return(e?"":"[m\xfalt] ")+"["+n[this.day()]+"] LT[-kor]"}var n="vas\xe1rnap h\xe9tf\u0151n kedden szerd\xe1n cs\xfct\xf6rt\xf6k\xf6n p\xe9nteken szombaton".split(" ");e.lang("hu",{months:"janu\xe1r_febru\xe1r_m\xe1rcius_\xe1prilis_m\xe1jus_j\xfanius_j\xfalius_augusztus_szeptember_okt\xf3ber_november_december".split("_"),monthsShort:"jan_feb_m\xe1rc_\xe1pr_m\xe1j_j\xfan_j\xfal_aug_szept_okt_nov_dec".split("_"),weekdays:"vas\xe1rnap_h\xe9tf\u0151_kedd_szerda_cs\xfct\xf6rt\xf6k_p\xe9ntek_szombat".split("_"),weekdaysShort:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D., LT",LLLL:"YYYY. MMMM D., dddd LT"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return a.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return a.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s m\xfalva",past:"%s",s:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},ordinal:"%d.",week:{dow:1,doy:7}})}(),function(){e.lang("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] LT",LLLL:"dddd, D MMMM YYYY [pukul] LT"},meridiem:function(e){return 11>e?"pagi":15>e?"siang":19>e?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(),function(){function t(e){return 11===e%100?!0:1===e%10?!1:!0}function a(e,a,n,_){var s=e+" ";switch(n){case"s":return a||_?"nokkrar sek\xfandur":"nokkrum sek\xfandum";case"m":return a?"m\xedn\xfata":"m\xedn\xfatu";case"mm":return t(e)?s+(a||_?"m\xedn\xfatur":"m\xedn\xfatum"):a?s+"m\xedn\xfata":s+"m\xedn\xfatu";case"hh":return t(e)?s+(a||_?"klukkustundir":"klukkustundum"):s+"klukkustund";case"d":return a?"dagur":_?"dag":"degi";case"dd":return t(e)?a?s+"dagar":s+(_?"daga":"d\xf6gum"):a?s+"dagur":s+(_?"dag":"degi");case"M":return a?"m\xe1nu\xf0ur":_?"m\xe1nu\xf0":"m\xe1nu\xf0i";case"MM":return t(e)?a?s+"m\xe1nu\xf0ir":s+(_?"m\xe1nu\xf0i":"m\xe1nu\xf0um"):a?s+"m\xe1nu\xf0ur":s+(_?"m\xe1nu\xf0":"m\xe1nu\xf0i");case"y":return a||_?"\xe1r":"\xe1ri";case"yy":return t(e)?s+(a||_?"\xe1r":"\xe1rum"):s+(a||_?"\xe1r":"\xe1ri")}}e.lang("is",{months:"jan\xfaar_febr\xfaar_mars_apr\xedl_ma\xed_j\xfan\xed_j\xfal\xed_\xe1g\xfast_september_okt\xf3ber_n\xf3vember_desember".split("_"),monthsShort:"jan_feb_mar_apr_ma\xed_j\xfan_j\xfal_\xe1g\xfa_sep_okt_n\xf3v_des".split("_"),weekdays:"sunnudagur_m\xe1nudagur_\xferi\xf0judagur_mi\xf0vikudagur_fimmtudagur_f\xf6studagur_laugardagur".split("_"),weekdaysShort:"sun_m\xe1n_\xferi_mi\xf0_fim_f\xf6s_lau".split("_"),weekdaysMin:"Su_M\xe1_\xder_Mi_Fi_F\xf6_La".split("_"),longDateFormat:{LT:"H:mm",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] LT",LLLL:"dddd, D. MMMM YYYY [kl.] LT"},calendar:{sameDay:"[\xed dag kl.] LT",nextDay:"[\xe1 morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xed g\xe6r kl.] LT",lastWeek:"[s\xed\xf0asta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s s\xed\xf0an",s:a,m:a,mm:a,h:"klukkustund",hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},ordinal:"%d.",week:{dow:1,doy:4}})}(),function(){e.lang("it",{months:"Gennaio_Febbraio_Marzo_Aprile_Maggio_Giugno_Luglio_Agosto_Settembre_Ottobre_Novembre_Dicembre".split("_"),monthsShort:"Gen_Feb_Mar_Apr_Mag_Giu_Lug_Ago_Set_Ott_Nov_Dic".split("_"),weekdays:"Domenica_Luned\xec_Marted\xec_Mercoled\xec_Gioved\xec_Venerd\xec_Sabato".split("_"),weekdaysShort:"Dom_Lun_Mar_Mer_Gio_Ven_Sab".split("_"),weekdaysMin:"D_L_Ma_Me_G_V_S".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:"[lo scorso] dddd [alle] LT",sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},ordinal:"%d\xba",week:{dow:1,doy:4}})}(),function(){e.lang("ja",{months:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u65e5\u66dc\u65e5_\u6708\u66dc\u65e5_\u706b\u66dc\u65e5_\u6c34\u66dc\u65e5_\u6728\u66dc\u65e5_\u91d1\u66dc\u65e5_\u571f\u66dc\u65e5".split("_"),weekdaysShort:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),weekdaysMin:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),longDateFormat:{LT:"Ah\u6642m\u5206",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5LT",LLLL:"YYYY\u5e74M\u6708D\u65e5LT dddd"},meridiem:function(e){return 12>e?"\u5348\u524d":"\u5348\u5f8c"},calendar:{sameDay:"[\u4eca\u65e5] LT",nextDay:"[\u660e\u65e5] LT",nextWeek:"[\u6765\u9031]dddd LT",lastDay:"[\u6628\u65e5] LT",lastWeek:"[\u524d\u9031]dddd LT",sameElse:"L"},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u6570\u79d2",m:"1\u5206",mm:"%d\u5206",h:"1\u6642\u9593",hh:"%d\u6642\u9593",d:"1\u65e5",dd:"%d\u65e5",M:"1\u30f6\u6708",MM:"%d\u30f6\u6708",y:"1\u5e74",yy:"%d\u5e74"}})}(),function(){function t(e,t){var a={nominative:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10d8_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10d8_\u10db\u10d0\u10e0\u10e2\u10d8_\u10d0\u10de\u10e0\u10d8\u10da\u10d8_\u10db\u10d0\u10d8\u10e1\u10d8_\u10d8\u10d5\u10dc\u10d8\u10e1\u10d8_\u10d8\u10d5\u10da\u10d8\u10e1\u10d8_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10dd_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10d8_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10d8".split("_"),accusative:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10e1_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10e1_\u10db\u10d0\u10e0\u10e2\u10e1_\u10d0\u10de\u10e0\u10d8\u10da\u10d8\u10e1_\u10db\u10d0\u10d8\u10e1\u10e1_\u10d8\u10d5\u10dc\u10d8\u10e1\u10e1_\u10d8\u10d5\u10da\u10d8\u10e1\u10e1_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10e1_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10e1_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10e1_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10e1_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10e1".split("_")},n=/D[oD] *MMMM?/.test(t)?"accusative":"nominative";return a[n][e.month()]}function a(e,t){var a={nominative:"\u10d9\u10d5\u10d8\u10e0\u10d0_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10d8_\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8".split("_"),accusative:"\u10d9\u10d5\u10d8\u10e0\u10d0\u10e1_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10e1_\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1".split("_")},n=/(\u10ec\u10d8\u10dc\u10d0|\u10e8\u10d4\u10db\u10d3\u10d4\u10d2)/.test(t)?"accusative":"nominative";return a[n][e.day()]}e.lang("ka",{months:t,monthsShort:"\u10d8\u10d0\u10dc_\u10d7\u10d4\u10d1_\u10db\u10d0\u10e0_\u10d0\u10de\u10e0_\u10db\u10d0\u10d8_\u10d8\u10d5\u10dc_\u10d8\u10d5\u10da_\u10d0\u10d2\u10d5_\u10e1\u10d4\u10e5_\u10dd\u10e5\u10e2_\u10dc\u10dd\u10d4_\u10d3\u10d4\u10d9".split("_"),weekdays:a,weekdaysShort:"\u10d9\u10d5\u10d8_\u10dd\u10e0\u10e8_\u10e1\u10d0\u10db_\u10dd\u10d7\u10ee_\u10ee\u10e3\u10d7_\u10de\u10d0\u10e0_\u10e8\u10d0\u10d1".split("_"),weekdaysMin:"\u10d9\u10d5_\u10dd\u10e0_\u10e1\u10d0_\u10dd\u10d7_\u10ee\u10e3_\u10de\u10d0_\u10e8\u10d0".split("_"),longDateFormat:{LT:"h:mm A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[\u10d3\u10e6\u10d4\u10e1] LT[-\u10d6\u10d4]",nextDay:"[\u10ee\u10d5\u10d0\u10da] LT[-\u10d6\u10d4]",lastDay:"[\u10d2\u10e3\u10e8\u10d8\u10dc] LT[-\u10d6\u10d4]",nextWeek:"[\u10e8\u10d4\u10db\u10d3\u10d4\u10d2] dddd LT[-\u10d6\u10d4]",lastWeek:"[\u10ec\u10d8\u10dc\u10d0] dddd LT-\u10d6\u10d4",sameElse:"L"},relativeTime:{future:function(e){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10ec\u10d4\u10da\u10d8)/.test(e)?e.replace(/\u10d8$/,"\u10e8\u10d8"):e+"\u10e8\u10d8"},past:function(e){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10d3\u10e6\u10d4|\u10d7\u10d5\u10d4)/.test(e)?e.replace(/(\u10d8|\u10d4)$/,"\u10d8\u10e1 \u10ec\u10d8\u10dc"):/\u10ec\u10d4\u10da\u10d8/.test(e)?e.replace(/\u10ec\u10d4\u10da\u10d8$/,"\u10ec\u10da\u10d8\u10e1 \u10ec\u10d8\u10dc"):void 0},s:"\u10e0\u10d0\u10db\u10d3\u10d4\u10dc\u10d8\u10db\u10d4 \u10ec\u10d0\u10db\u10d8",m:"\u10ec\u10e3\u10d7\u10d8",mm:"%d \u10ec\u10e3\u10d7\u10d8",h:"\u10e1\u10d0\u10d0\u10d7\u10d8",hh:"%d \u10e1\u10d0\u10d0\u10d7\u10d8",d:"\u10d3\u10e6\u10d4",dd:"%d \u10d3\u10e6\u10d4",M:"\u10d7\u10d5\u10d4",MM:"%d \u10d7\u10d5\u10d4",y:"\u10ec\u10d4\u10da\u10d8",yy:"%d \u10ec\u10d4\u10da\u10d8"},ordinal:function(e){return 0===e?e:1===e?e+"-\u10da\u10d8":20>e||100>=e&&0===e%20||0===e%100?"\u10db\u10d4-"+e:e+"-\u10d4"},week:{dow:1,doy:7}})}(),function(){e.lang("ko",{months:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),monthsShort:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),weekdays:"\uc77c\uc694\uc77c_\uc6d4\uc694\uc77c_\ud654\uc694\uc77c_\uc218\uc694\uc77c_\ubaa9\uc694\uc77c_\uae08\uc694\uc77c_\ud1a0\uc694\uc77c".split("_"),weekdaysShort:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),weekdaysMin:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),longDateFormat:{LT:"A h\uc2dc mm\ubd84",L:"YYYY.MM.DD",LL:"YYYY\ub144 MMMM D\uc77c",LLL:"YYYY\ub144 MMMM D\uc77c LT",LLLL:"YYYY\ub144 MMMM D\uc77c dddd LT"},meridiem:function(e){return 12>e?"\uc624\uc804":"\uc624\ud6c4"},calendar:{sameDay:"\uc624\ub298 LT",nextDay:"\ub0b4\uc77c LT",nextWeek:"dddd LT",lastDay:"\uc5b4\uc81c LT",lastWeek:"\uc9c0\ub09c\uc8fc dddd LT",sameElse:"L"},relativeTime:{future:"%s \ud6c4",past:"%s \uc804",s:"\uba87\ucd08",ss:"%d\ucd08",m:"\uc77c\ubd84",mm:"%d\ubd84",h:"\ud55c\uc2dc\uac04",hh:"%d\uc2dc\uac04",d:"\ud558\ub8e8",dd:"%d\uc77c",M:"\ud55c\ub2ec",MM:"%d\ub2ec",y:"\uc77c\ub144",yy:"%d\ub144"},ordinal:"%d\uc77c"})}(),function(){function t(e,t,a){var n=e.split("_");return a?1===t%10&&11!==t?n[2]:n[3]:1===t%10&&11!==t?n[0]:n[1]}function a(e,a,_){return e+" "+t(n[_],e,a)}var n={mm:"min\u016bti_min\u016btes_min\u016bte_min\u016btes",hh:"stundu_stundas_stunda_stundas",dd:"dienu_dienas_diena_dienas",MM:"m\u0113nesi_m\u0113ne\u0161us_m\u0113nesis_m\u0113ne\u0161i",yy:"gadu_gadus_gads_gadi"};e.lang("lv",{months:"janv\u0101ris_febru\u0101ris_marts_apr\u012blis_maijs_j\u016bnijs_j\u016blijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_j\u016bn_j\u016bl_aug_sep_okt_nov_dec".split("_"),weekdays:"sv\u0113tdiena_pirmdiena_otrdiena_tre\u0161diena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, LT",LLLL:"YYYY. [gada] D. MMMM, dddd, LT"},calendar:{sameDay:"[\u0160odien pulksten] LT",nextDay:"[R\u012bt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pag\u0101ju\u0161\u0101] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"%s v\u0113l\u0101k",past:"%s agr\u0101k",s:"da\u017eas sekundes",m:"min\u016bti",mm:a,h:"stundu",hh:a,d:"dienu",dd:a,M:"m\u0113nesi",MM:a,y:"gadu",yy:a},ordinal:"%d.",week:{dow:1,doy:4}})}(),function(){e.lang("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] LT",LLLL:"dddd, D MMMM YYYY [pukul] LT"},meridiem:function(e){return 11>e?"pagi":15>e?"tengahari":19>e?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(),function(){e.lang("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8n_man_tir_ons_tor_fre_l\xf8r".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[I dag klokken] LT",nextDay:"[I morgen klokken] LT",nextWeek:"dddd [klokken] LT",lastDay:"[I g\xe5r klokken] LT",lastWeek:"[Forrige] dddd [klokken] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"for %s siden",s:"noen sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"ett \xe5r",yy:"%d \xe5r"},ordinal:"%d.",week:{dow:1,doy:4}})}(),function(){var t={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},a={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};e.lang("ne",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f\u0932_\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0937\u094d\u091f_\u0938\u0947\u092a\u094d\u091f\u0947\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u092d\u0947\u092e\u094d\u092c\u0930_\u0921\u093f\u0938\u0947\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f._\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908._\u0905\u0917._\u0938\u0947\u092a\u094d\u091f._\u0905\u0915\u094d\u091f\u094b._\u0928\u094b\u092d\u0947._\u0921\u093f\u0938\u0947.".split("_"),weekdays:"\u0906\u0907\u0924\u092c\u093e\u0930_\u0938\u094b\u092e\u092c\u093e\u0930_\u092e\u0919\u094d\u0917\u0932\u092c\u093e\u0930_\u092c\u0941\u0927\u092c\u093e\u0930_\u092c\u093f\u0939\u093f\u092c\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u092c\u093e\u0930_\u0936\u0928\u093f\u092c\u093e\u0930".split("_"),weekdaysShort:"\u0906\u0907\u0924._\u0938\u094b\u092e._\u092e\u0919\u094d\u0917\u0932._\u092c\u0941\u0927._\u092c\u093f\u0939\u093f._\u0936\u0941\u0915\u094d\u0930._\u0936\u0928\u093f.".split("_"),weekdaysMin:"\u0906\u0907._\u0938\u094b._\u092e\u0919\u094d_\u092c\u0941._\u092c\u093f._\u0936\u0941._\u0936.".split("_"),longDateFormat:{LT:"A\u0915\u094b h:mm \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, LT",LLLL:"dddd, D MMMM YYYY, LT"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return a[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiem:function(e){return 3>e?"\u0930\u093e\u0924\u0940":10>e?"\u092c\u093f\u0939\u093e\u0928":15>e?"\u0926\u093f\u0909\u0901\u0938\u094b":18>e?"\u092c\u0947\u0932\u0941\u0915\u093e":20>e?"\u0938\u093e\u0901\u091d":"\u0930\u093e\u0924\u0940"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u092d\u094b\u0932\u0940] LT",nextWeek:"[\u0906\u0909\u0901\u0926\u094b] dddd[,] LT",lastDay:"[\u0939\u093f\u091c\u094b] LT",lastWeek:"[\u0917\u090f\u0915\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u093e",past:"%s \u0905\u0917\u093e\u0921\u0940",s:"\u0915\u0947\u0939\u0940 \u0938\u092e\u092f",m:"\u090f\u0915 \u092e\u093f\u0928\u0947\u091f",mm:"%d \u092e\u093f\u0928\u0947\u091f",h:"\u090f\u0915 \u0918\u0923\u094d\u091f\u093e",hh:"%d \u0918\u0923\u094d\u091f\u093e",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u093f\u0928\u093e",MM:"%d \u092e\u0939\u093f\u0928\u093e",y:"\u090f\u0915 \u092c\u0930\u094d\u0937",yy:"%d \u092c\u0930\u094d\u0937"},week:{dow:1,doy:7}})}(),function(){var t="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),a="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_");e.lang("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,n){return/-MMM-/.test(n)?a[e.month()]:t[e.month()]},weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),longDateFormat:{LT:"HH:mm",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[Vandaag om] LT",nextDay:"[Morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}})}(),function(){e.lang("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_m\xe5ndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_m\xe5n_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_m\xe5_ty_on_to_fr_l\xf8".split("_"),longDateFormat:{LT:"HH:mm",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I g\xe5r klokka] LT",lastWeek:"[F\xf8reg\xe5ende] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"for %s siden",s:"noen sekund",m:"ett minutt",mm:"%d minutt",h:"en time",hh:"%d timar",d:"en dag",dd:"%d dagar",M:"en m\xe5nad",MM:"%d m\xe5nader",y:"ett \xe5r",yy:"%d \xe5r"},ordinal:"%d.",week:{dow:1,doy:4}})}(),function(){function t(e){return 5>e%10&&e%10>1&&1!==~~(e/10)}function a(e,a,n){var _=e+" ";switch(n){case"m":return a?"minuta":"minut\u0119";case"mm":return _+(t(e)?"minuty":"minut");case"h":return a?"godzina":"godzin\u0119";case"hh":return _+(t(e)?"godziny":"godzin");case"MM":return _+(t(e)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return _+(t(e)?"lata":"lat")}}var n="stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017adziernik_listopad_grudzie\u0144".split("_"),_="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015bnia_pa\u017adziernika_listopada_grudnia".split("_");e.lang("pl",{months:function(e,t){return/D MMMM/.test(t)?_[e.month()]:n[e.month()]},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\u017a_lis_gru".split("_"),weekdays:"niedziela_poniedzia\u0142ek_wtorek_\u015broda_czwartek_pi\u0105tek_sobota".split("_"),weekdaysShort:"nie_pon_wt_\u015br_czw_pt_sb".split("_"),weekdaysMin:"N_Pn_Wt_\u015ar_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Dzi\u015b o] LT",nextDay:"[Jutro o] LT",nextWeek:"[W] dddd [o] LT",lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zesz\u0142\u0105 niedziel\u0119 o] LT";case 3:return"[W zesz\u0142\u0105 \u015brod\u0119 o] LT";case 6:return"[W zesz\u0142\u0105 sobot\u0119 o] LT";default:return"[W zesz\u0142y] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:a,mm:a,h:a,hh:a,d:"1 dzie\u0144",dd:"%d dni",M:"miesi\u0105c",MM:a,y:"rok",yy:a},ordinal:"%d.",week:{dow:1,doy:4}})}(),function(){e.lang("pt-br",{months:"Janeiro_Fevereiro_Mar\xe7o_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Dom_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1b".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY LT",LLLL:"dddd, D [de] MMMM [de] YYYY LT"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atr\xe1s",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinal:"%d\xba"})}(),function(){e.lang("pt",{months:"Janeiro_Fevereiro_Mar\xe7o_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Dom_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1b".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY LT",LLLL:"dddd, D [de] MMMM [de] YYYY LT"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atr\xe1s",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinal:"%d\xba",week:{dow:1,doy:4}}) +}(),function(){e.lang("ro",{months:"Ianuarie_Februarie_Martie_Aprilie_Mai_Iunie_Iulie_August_Septembrie_Octombrie_Noiembrie_Decembrie".split("_"),monthsShort:"Ian_Feb_Mar_Apr_Mai_Iun_Iul_Aug_Sep_Oct_Noi_Dec".split("_"),weekdays:"Duminic\u0103_Luni_Mar\u0163i_Miercuri_Joi_Vineri_S\xe2mb\u0103t\u0103".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_S\xe2m".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_S\xe2".split("_"),longDateFormat:{LT:"H:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[m\xe2ine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s \xeen urm\u0103",s:"c\xe2teva secunde",m:"un minut",mm:"%d minute",h:"o or\u0103",hh:"%d ore",d:"o zi",dd:"%d zile",M:"o lun\u0103",MM:"%d luni",y:"un an",yy:"%d ani"},week:{dow:1,doy:7}})}(),function(){function t(e,t){var a=e.split("_");return 1===t%10&&11!==t%100?a[0]:t%10>=2&&4>=t%10&&(10>t%100||t%100>=20)?a[1]:a[2]}function a(e,a,n){var _={mm:"\u043c\u0438\u043d\u0443\u0442\u0430_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442",hh:"\u0447\u0430\u0441_\u0447\u0430\u0441\u0430_\u0447\u0430\u0441\u043e\u0432",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u044f_\u0434\u043d\u0435\u0439",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u0430_\u043c\u0435\u0441\u044f\u0446\u0435\u0432",yy:"\u0433\u043e\u0434_\u0433\u043e\u0434\u0430_\u043b\u0435\u0442"};return"m"===n?a?"\u043c\u0438\u043d\u0443\u0442\u0430":"\u043c\u0438\u043d\u0443\u0442\u0443":e+" "+t(_[n],+e)}function n(e,t){var a={nominative:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_"),accusative:"\u044f\u043d\u0432\u0430\u0440\u044f_\u0444\u0435\u0432\u0440\u0430\u043b\u044f_\u043c\u0430\u0440\u0442\u0430_\u0430\u043f\u0440\u0435\u043b\u044f_\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433\u0443\u0441\u0442\u0430_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f_\u043e\u043a\u0442\u044f\u0431\u0440\u044f_\u043d\u043e\u044f\u0431\u0440\u044f_\u0434\u0435\u043a\u0430\u0431\u0440\u044f".split("_")},n=/D[oD]? *MMMM?/.test(t)?"accusative":"nominative";return a[n][e.month()]}function _(e,t){var a={nominative:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0430_\u0441\u0443\u0431\u0431\u043e\u0442\u0430".split("_"),accusative:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0443_\u0441\u0443\u0431\u0431\u043e\u0442\u0443".split("_")},n=/\[ ?[\u0412\u0432] ?(?:\u043f\u0440\u043e\u0448\u043b\u0443\u044e|\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e)? ?\] ?dddd/.test(t)?"accusative":"nominative";return a[n][e.day()]}e.lang("ru",{months:n,monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:_,weekdaysShort:"\u0432\u0441\u043a_\u043f\u043d\u0434_\u0432\u0442\u0440_\u0441\u0440\u0434_\u0447\u0442\u0432_\u043f\u0442\u043d_\u0441\u0431\u0442".split("_"),weekdaysMin:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., LT",LLLL:"dddd, D MMMM YYYY \u0433., LT"},calendar:{sameDay:"[\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0432] LT",nextDay:"[\u0417\u0430\u0432\u0442\u0440\u0430 \u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432] LT",nextWeek:function(){return 2===this.day()?"[\u0412\u043e] dddd [\u0432] LT":"[\u0412] dddd [\u0432] LT"},lastWeek:function(){switch(this.day()){case 0:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0435] dddd [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u044b\u0439] dddd [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u0443\u044e] dddd [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0447\u0435\u0440\u0435\u0437 %s",past:"%s \u043d\u0430\u0437\u0430\u0434",s:"\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434",m:a,mm:a,h:"\u0447\u0430\u0441",hh:a,d:"\u0434\u0435\u043d\u044c",dd:a,M:"\u043c\u0435\u0441\u044f\u0446",MM:a,y:"\u0433\u043e\u0434",yy:a},ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":return e+"-\u0439";case"D":return e+"-\u0433\u043e";case"w":case"W":return e+"-\u044f";default:return e}},week:{dow:1,doy:7}})}(),function(){function t(e){return e>1&&5>e}function a(e,a,n,_){var s=e+" ";switch(n){case"s":return a||_?"p\xe1r sek\xfand":"p\xe1r sekundami";case"m":return a?"min\xfata":_?"min\xfatu":"min\xfatou";case"mm":return a||_?s+(t(e)?"min\xfaty":"min\xfat"):s+"min\xfatami";break;case"h":return a?"hodina":_?"hodinu":"hodinou";case"hh":return a||_?s+(t(e)?"hodiny":"hod\xedn"):s+"hodinami";break;case"d":return a||_?"de\u0148":"d\u0148om";case"dd":return a||_?s+(t(e)?"dni":"dn\xed"):s+"d\u0148ami";break;case"M":return a||_?"mesiac":"mesiacom";case"MM":return a||_?s+(t(e)?"mesiace":"mesiacov"):s+"mesiacmi";break;case"y":return a||_?"rok":"rokom";case"yy":return a||_?s+(t(e)?"roky":"rokov"):s+"rokmi"}}var n="janu\xe1r_febru\xe1r_marec_apr\xedl_m\xe1j_j\xfan_j\xfal_august_september_okt\xf3ber_november_december".split("_"),_="jan_feb_mar_apr_m\xe1j_j\xfan_j\xfal_aug_sep_okt_nov_dec".split("_");e.lang("sk",{months:n,monthsShort:_,monthsParse:function(e,t){var a,n=[];for(a=0;12>a;a++)n[a]=new RegExp("^"+e[a]+"$|^"+t[a]+"$","i");return n}(n,_),weekdays:"nede\u013ea_pondelok_utorok_streda_\u0161tvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_\u0161t_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_\u0161t_pi_so".split("_"),longDateFormat:{LT:"H:mm",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd D. MMMM YYYY LT"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nede\u013eu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo \u0161tvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[v\u010dera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minul\xfa nede\u013eu o] LT";case 1:case 2:return"[minul\xfd] dddd [o] LT";case 3:return"[minul\xfa stredu o] LT";case 4:case 5:return"[minul\xfd] dddd [o] LT";case 6:return"[minul\xfa sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},ordinal:"%d.",week:{dow:1,doy:4}})}(),function(){function t(e,t,a){var n=e+" ";switch(a){case"m":return t?"ena minuta":"eno minuto";case"mm":return n+=1===e?"minuta":2===e?"minuti":3===e||4===e?"minute":"minut";case"h":return t?"ena ura":"eno uro";case"hh":return n+=1===e?"ura":2===e?"uri":3===e||4===e?"ure":"ur";case"dd":return n+=1===e?"dan":"dni";case"MM":return n+=1===e?"mesec":2===e?"meseca":3===e||4===e?"mesece":"mesecev";case"yy":return n+=1===e?"leto":2===e?"leti":3===e||4===e?"leta":"let"}}e.lang("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),weekdays:"nedelja_ponedeljek_torek_sreda_\u010detrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._\u010det._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_\u010de_pe_so".split("_"),longDateFormat:{LT:"H:mm",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[v\u010deraj ob] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[prej\u0161nja] dddd [ob] LT";case 1:case 2:case 4:case 5:return"[prej\u0161nji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"\u010dez %s",past:"%s nazaj",s:"nekaj sekund",m:t,mm:t,h:t,hh:t,d:"en dan",dd:t,M:"en mesec",MM:t,y:"eno leto",yy:t},ordinal:"%d.",week:{dow:1,doy:7}})}(),function(){e.lang("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_N\xebntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_N\xebn_Dhj".split("_"),weekdays:"E Diel_E H\xebn\xeb_E Marte_E M\xebrkure_E Enjte_E Premte_E Shtun\xeb".split("_"),weekdaysShort:"Die_H\xebn_Mar_M\xebr_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_M\xeb_E_P_Sh".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Sot n\xeb] LT",nextDay:"[Neser n\xeb] LT",nextWeek:"dddd [n\xeb] LT",lastDay:"[Dje n\xeb] LT",lastWeek:"dddd [e kaluar n\xeb] LT",sameElse:"L"},relativeTime:{future:"n\xeb %s",past:"%s me par\xeb",s:"disa seconda",m:"nj\xeb minut",mm:"%d minutea",h:"nj\xeb or\xeb",hh:"%d or\xeb",d:"nj\xeb dit\xeb",dd:"%d dit\xeb",M:"nj\xeb muaj",MM:"%d muaj",y:"nj\xeb vit",yy:"%d vite"},ordinal:"%d.",week:{dow:1,doy:4}})}(),function(){e.lang("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf6ndag_m\xe5ndag_tisdag_onsdag_torsdag_fredag_l\xf6rdag".split("_"),weekdaysShort:"s\xf6n_m\xe5n_tis_ons_tor_fre_l\xf6r".split("_"),weekdaysMin:"s\xf6_m\xe5_ti_on_to_fr_l\xf6".split("_"),longDateFormat:{LT:"HH:mm",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Ig\xe5r] LT",nextWeek:"dddd LT",lastWeek:"[F\xf6rra] dddd[en] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"f\xf6r %s sedan",s:"n\xe5gra sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en m\xe5nad",MM:"%d m\xe5nader",y:"ett \xe5r",yy:"%d \xe5r"},ordinal:function(e){var t=e%10,a=1===~~(e%100/10)?"e":1===t?"a":2===t?"a":3===t?"e":"e";return e+a},week:{dow:1,doy:4}})}(),function(){e.lang("th",{months:"\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21_\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c_\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21_\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19_\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21_\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19_\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21_\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21_\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19_\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21_\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19_\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21".split("_"),monthsShort:"\u0e21\u0e01\u0e23\u0e32_\u0e01\u0e38\u0e21\u0e20\u0e32_\u0e21\u0e35\u0e19\u0e32_\u0e40\u0e21\u0e29\u0e32_\u0e1e\u0e24\u0e29\u0e20\u0e32_\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32_\u0e01\u0e23\u0e01\u0e0e\u0e32_\u0e2a\u0e34\u0e07\u0e2b\u0e32_\u0e01\u0e31\u0e19\u0e22\u0e32_\u0e15\u0e38\u0e25\u0e32_\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32_\u0e18\u0e31\u0e19\u0e27\u0e32".split("_"),weekdays:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysShort:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysMin:"\u0e2d\u0e32._\u0e08._\u0e2d._\u0e1e._\u0e1e\u0e24._\u0e28._\u0e2a.".split("_"),longDateFormat:{LT:"H \u0e19\u0e32\u0e2c\u0e34\u0e01\u0e32 m \u0e19\u0e32\u0e17\u0e35",L:"YYYY/MM/DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 LT",LLLL:"\u0e27\u0e31\u0e19dddd\u0e17\u0e35\u0e48 D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 LT"},meridiem:function(e){return 12>e?"\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07":"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"},calendar:{sameDay:"[\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextDay:"[\u0e1e\u0e23\u0e38\u0e48\u0e07\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextWeek:"dddd[\u0e2b\u0e19\u0e49\u0e32 \u0e40\u0e27\u0e25\u0e32] LT",lastDay:"[\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e27\u0e32\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",lastWeek:"[\u0e27\u0e31\u0e19]dddd[\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27 \u0e40\u0e27\u0e25\u0e32] LT",sameElse:"L"},relativeTime:{future:"\u0e2d\u0e35\u0e01 %s",past:"%s\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27",s:"\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",m:"1 \u0e19\u0e32\u0e17\u0e35",mm:"%d \u0e19\u0e32\u0e17\u0e35",h:"1 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",hh:"%d \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",d:"1 \u0e27\u0e31\u0e19",dd:"%d \u0e27\u0e31\u0e19",M:"1 \u0e40\u0e14\u0e37\u0e2d\u0e19",MM:"%d \u0e40\u0e14\u0e37\u0e2d\u0e19",y:"1 \u0e1b\u0e35",yy:"%d \u0e1b\u0e35"}})}(),function(){var t={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'\xfcnc\xfc",4:"'\xfcnc\xfc",100:"'\xfcnc\xfc",6:"'nc\u0131",9:"'uncu",10:"'uncu",30:"'uncu",60:"'\u0131nc\u0131",90:"'\u0131nc\u0131"};e.lang("tr",{months:"Ocak_\u015eubat_Mart_Nisan_May\u0131s_Haziran_Temmuz_A\u011fustos_Eyl\xfcl_Ekim_Kas\u0131m_Aral\u0131k".split("_"),monthsShort:"Oca_\u015eub_Mar_Nis_May_Haz_Tem_A\u011fu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Sal\u0131_\xc7ar\u015famba_Per\u015fembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_\xc7ar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_\xc7a_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[yar\u0131n saat] LT",nextWeek:"[haftaya] dddd [saat] LT",lastDay:"[d\xfcn] LT",lastWeek:"[ge\xe7en hafta] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \xf6nce",s:"birka\xe7 saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir ay",MM:"%d ay",y:"bir y\u0131l",yy:"%d y\u0131l"},ordinal:function(e){if(0===e)return e+"'\u0131nc\u0131";var a=e%10,n=e%100-a,_=e>=100?100:null;return e+(t[a]||t[n]||t[_])},week:{dow:1,doy:7}})}(),function(){e.lang("tzm-la",{months:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",m:"minu\u1e0d",mm:"%d minu\u1e0d",h:"sa\u025ba",hh:"%d tassa\u025bin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}})}(),function(){e.lang("tzm",{months:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),monthsShort:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),weekdays:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysShort:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysMin:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[\u2d30\u2d59\u2d37\u2d45 \u2d34] LT",nextDay:"[\u2d30\u2d59\u2d3d\u2d30 \u2d34] LT",nextWeek:"dddd [\u2d34] LT",lastDay:"[\u2d30\u2d5a\u2d30\u2d4f\u2d5c \u2d34] LT",lastWeek:"dddd [\u2d34] LT",sameElse:"L"},relativeTime:{future:"\u2d37\u2d30\u2d37\u2d45 \u2d59 \u2d62\u2d30\u2d4f %s",past:"\u2d62\u2d30\u2d4f %s",s:"\u2d49\u2d4e\u2d49\u2d3d",m:"\u2d4e\u2d49\u2d4f\u2d53\u2d3a",mm:"%d \u2d4e\u2d49\u2d4f\u2d53\u2d3a",h:"\u2d59\u2d30\u2d44\u2d30",hh:"%d \u2d5c\u2d30\u2d59\u2d59\u2d30\u2d44\u2d49\u2d4f",d:"\u2d30\u2d59\u2d59",dd:"%d o\u2d59\u2d59\u2d30\u2d4f",M:"\u2d30\u2d62o\u2d53\u2d54",MM:"%d \u2d49\u2d62\u2d62\u2d49\u2d54\u2d4f",y:"\u2d30\u2d59\u2d33\u2d30\u2d59",yy:"%d \u2d49\u2d59\u2d33\u2d30\u2d59\u2d4f"},week:{dow:6,doy:12}})}(),function(){function t(e,t){var a=e.split("_");return 1===t%10&&11!==t%100?a[0]:t%10>=2&&4>=t%10&&(10>t%100||t%100>=20)?a[1]:a[2]}function a(e,a,n){var _={mm:"\u0445\u0432\u0438\u043b\u0438\u043d\u0430_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d",hh:"\u0433\u043e\u0434\u0438\u043d\u0430_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u043d\u0456\u0432",MM:"\u043c\u0456\u0441\u044f\u0446\u044c_\u043c\u0456\u0441\u044f\u0446\u0456_\u043c\u0456\u0441\u044f\u0446\u0456\u0432",yy:"\u0440\u0456\u043a_\u0440\u043e\u043a\u0438_\u0440\u043e\u043a\u0456\u0432"};return"m"===n?a?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443":"h"===n?a?"\u0433\u043e\u0434\u0438\u043d\u0430":"\u0433\u043e\u0434\u0438\u043d\u0443":e+" "+t(_[n],+e)}function n(e,t){var a={nominative:"\u0441\u0456\u0447\u0435\u043d\u044c_\u043b\u044e\u0442\u0438\u0439_\u0431\u0435\u0440\u0435\u0437\u0435\u043d\u044c_\u043a\u0432\u0456\u0442\u0435\u043d\u044c_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u0435\u0440\u0432\u0435\u043d\u044c_\u043b\u0438\u043f\u0435\u043d\u044c_\u0441\u0435\u0440\u043f\u0435\u043d\u044c_\u0432\u0435\u0440\u0435\u0441\u0435\u043d\u044c_\u0436\u043e\u0432\u0442\u0435\u043d\u044c_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434_\u0433\u0440\u0443\u0434\u0435\u043d\u044c".split("_"),accusative:"\u0441\u0456\u0447\u043d\u044f_\u043b\u044e\u0442\u043e\u0433\u043e_\u0431\u0435\u0440\u0435\u0437\u043d\u044f_\u043a\u0432\u0456\u0442\u043d\u044f_\u0442\u0440\u0430\u0432\u043d\u044f_\u0447\u0435\u0440\u0432\u043d\u044f_\u043b\u0438\u043f\u043d\u044f_\u0441\u0435\u0440\u043f\u043d\u044f_\u0432\u0435\u0440\u0435\u0441\u043d\u044f_\u0436\u043e\u0432\u0442\u043d\u044f_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430_\u0433\u0440\u0443\u0434\u043d\u044f".split("_")},n=/D[oD]? *MMMM?/.test(t)?"accusative":"nominative";return a[n][e.month()]}function _(e,t){var a={nominative:"\u043d\u0435\u0434\u0456\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044f_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),accusative:"\u043d\u0435\u0434\u0456\u043b\u044e_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044e_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),genitive:"\u043d\u0435\u0434\u0456\u043b\u0456_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043a\u0430_\u0432\u0456\u0432\u0442\u043e\u0440\u043a\u0430_\u0441\u0435\u0440\u0435\u0434\u0438_\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u0456_\u0441\u0443\u0431\u043e\u0442\u0438".split("_")},n=/(\[[\u0412\u0432\u0423\u0443]\]) ?dddd/.test(t)?"accusative":/\[?(?:\u043c\u0438\u043d\u0443\u043b\u043e\u0457|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0457)? ?\] ?dddd/.test(t)?"genitive":"nominative";return a[n][e.day()]}function s(e){return function(){return e+"\u043e"+(11===this.hours()?"\u0431":"")+"] LT"}}e.lang("uk",{months:n,monthsShort:"\u0441\u0456\u0447_\u043b\u044e\u0442_\u0431\u0435\u0440_\u043a\u0432\u0456_\u0442\u0440\u0430_\u0447\u0435\u0440_\u043b\u0438\u043f_\u0441\u0435\u0440_\u0432\u0435\u0440_\u0436\u043e\u0432_\u043b\u0438\u0441_\u0433\u0440\u0443".split("_"),weekdays:_,weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0456\u0432_\u0441\u0440\u0434_\u0447\u0435\u0442_\u043f\u0442\u043d_\u0441\u0443\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0440.",LLL:"D MMMM YYYY \u0440., LT",LLLL:"dddd, D MMMM YYYY \u0440., LT"},calendar:{sameDay:s("[\u0421\u044c\u043e\u0433\u043e\u0434\u043d\u0456 "),nextDay:s("[\u0417\u0430\u0432\u0442\u0440\u0430 "),lastDay:s("[\u0412\u0447\u043e\u0440\u0430 "),nextWeek:s("[\u0423] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return s("[\u041c\u0438\u043d\u0443\u043b\u043e\u0457] dddd [").call(this);case 1:case 2:case 4:return s("[\u041c\u0438\u043d\u0443\u043b\u043e\u0433\u043e] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"%s \u0442\u043e\u043c\u0443",s:"\u0434\u0435\u043a\u0456\u043b\u044c\u043a\u0430 \u0441\u0435\u043a\u0443\u043d\u0434",m:a,mm:a,h:"\u0433\u043e\u0434\u0438\u043d\u0443",hh:a,d:"\u0434\u0435\u043d\u044c",dd:a,M:"\u043c\u0456\u0441\u044f\u0446\u044c",MM:a,y:"\u0440\u0456\u043a",yy:a},ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":case"w":case"W":return e+"-\u0439";case"D":return e+"-\u0433\u043e";default:return e}},week:{dow:1,doy:7}})}(),function(){e.lang("zh-cn",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u5468\u65e5_\u5468\u4e00_\u5468\u4e8c_\u5468\u4e09_\u5468\u56db_\u5468\u4e94_\u5468\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"Ah\u70b9mm",L:"YYYY\u5e74MMMD\u65e5",LL:"YYYY\u5e74MMMD\u65e5",LLL:"YYYY\u5e74MMMD\u65e5LT",LLLL:"YYYY\u5e74MMMD\u65e5ddddLT",l:"YYYY\u5e74MMMD\u65e5",ll:"YYYY\u5e74MMMD\u65e5",lll:"YYYY\u5e74MMMD\u65e5LT",llll:"YYYY\u5e74MMMD\u65e5ddddLT"},meridiem:function(e,t){return 9>e?"\u65e9\u4e0a":11>e&&30>t?"\u4e0a\u5348":13>e&&30>t?"\u4e2d\u5348":18>e?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u5468";default:return e}},relativeTime:{future:"%s\u5185",past:"%s\u524d",s:"\u51e0\u79d2",m:"1\u5206\u949f",mm:"%d\u5206\u949f",h:"1\u5c0f\u65f6",hh:"%d\u5c0f\u65f6",d:"1\u5929",dd:"%d\u5929",M:"1\u4e2a\u6708",MM:"%d\u4e2a\u6708",y:"1\u5e74",yy:"%d\u5e74"}})}(),function(){e.lang("zh-tw",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"Ah\u9edemm",L:"YYYY\u5e74MMMD\u65e5",LL:"YYYY\u5e74MMMD\u65e5",LLL:"YYYY\u5e74MMMD\u65e5LT",LLLL:"YYYY\u5e74MMMD\u65e5ddddLT",l:"YYYY\u5e74MMMD\u65e5",ll:"YYYY\u5e74MMMD\u65e5",lll:"YYYY\u5e74MMMD\u65e5LT",llll:"YYYY\u5e74MMMD\u65e5ddddLT"},meridiem:function(e,t){return 9>e?"\u65e9\u4e0a":11>e&&30>t?"\u4e0a\u5348":13>e&&30>t?"\u4e2d\u5348":18>e?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",m:"\u4e00\u5206\u9418",mm:"%d\u5206\u9418",h:"\u4e00\u5c0f\u6642",hh:"%d\u5c0f\u6642",d:"\u4e00\u5929",dd:"%d\u5929",M:"\u4e00\u500b\u6708",MM:"%d\u500b\u6708",y:"\u4e00\u5e74",yy:"%d\u5e74"}})}(),e.lang("en")}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}()}"function"==typeof define&&define.amd&&define(["moment"],e),"undefined"!=typeof window&&window.moment&&e(window.moment)}(); \ No newline at end of file diff --git a/97suifangqa/apps/indicator/static/plugins/moment/moment.js b/97suifangqa/apps/indicator/static/plugins/moment/moment.js new file mode 100644 index 0000000..c8a870e --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/moment.js @@ -0,0 +1,1662 @@ +// moment.js +// version : 2.1.0 +// author : Tim Wood +// license : MIT +// momentjs.com + +(function (undefined) { + + /************************************ + Constants + ************************************/ + + var moment, + VERSION = "2.1.0", + round = Math.round, i, + // internal storage for language config files + languages = {}, + + // check for nodeJS + hasModule = (typeof module !== 'undefined' && module.exports), + + // ASP.NET json date format regex + aspNetJsonRegex = /^\/?Date\((\-?\d+)/i, + aspNetTimeSpanJsonRegex = /(\-)?(\d*)?\.?(\d+)\:(\d+)\:(\d+)\.?(\d{3})?/, + + // format tokens + formattingTokens = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|SS?S?|X|zz?|ZZ?|.)/g, + localFormattingTokens = /(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g, + + // parsing token regexes + parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99 + parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999 + parseTokenThreeDigits = /\d{3}/, // 000 - 999 + parseTokenFourDigits = /\d{1,4}/, // 0 - 9999 + parseTokenSixDigits = /[+\-]?\d{1,6}/, // -999,999 - 999,999 + parseTokenWord = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i, // any word (or two) characters or numbers including two/three word month in arabic. + parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/i, // +00:00 -00:00 +0000 -0000 or Z + parseTokenT = /T/i, // T (ISO seperator) + parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123 + + // preliminary iso regex + // 0000-00-00 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 + isoRegex = /^\s*\d{4}-\d\d-\d\d((T| )(\d\d(:\d\d(:\d\d(\.\d\d?\d?)?)?)?)?([\+\-]\d\d:?\d\d)?)?/, + isoFormat = 'YYYY-MM-DDTHH:mm:ssZ', + + // iso time formats and regexes + isoTimes = [ + ['HH:mm:ss.S', /(T| )\d\d:\d\d:\d\d\.\d{1,3}/], + ['HH:mm:ss', /(T| )\d\d:\d\d:\d\d/], + ['HH:mm', /(T| )\d\d:\d\d/], + ['HH', /(T| )\d\d/] + ], + + // timezone chunker "+10:00" > ["10", "00"] or "-1530" > ["-15", "30"] + parseTimezoneChunker = /([\+\-]|\d\d)/gi, + + // getter and setter names + proxyGettersAndSetters = 'Date|Hours|Minutes|Seconds|Milliseconds'.split('|'), + unitMillisecondFactors = { + 'Milliseconds' : 1, + 'Seconds' : 1e3, + 'Minutes' : 6e4, + 'Hours' : 36e5, + 'Days' : 864e5, + 'Months' : 2592e6, + 'Years' : 31536e6 + }, + + unitAliases = { + ms : 'millisecond', + s : 'second', + m : 'minute', + h : 'hour', + d : 'day', + w : 'week', + M : 'month', + y : 'year' + }, + + // format function strings + formatFunctions = {}, + + // tokens to ordinalize and pad + ordinalizeTokens = 'DDD w W M D d'.split(' '), + paddedTokens = 'M D H h m s w W'.split(' '), + + formatTokenFunctions = { + M : function () { + return this.month() + 1; + }, + MMM : function (format) { + return this.lang().monthsShort(this, format); + }, + MMMM : function (format) { + return this.lang().months(this, format); + }, + D : function () { + return this.date(); + }, + DDD : function () { + return this.dayOfYear(); + }, + d : function () { + return this.day(); + }, + dd : function (format) { + return this.lang().weekdaysMin(this, format); + }, + ddd : function (format) { + return this.lang().weekdaysShort(this, format); + }, + dddd : function (format) { + return this.lang().weekdays(this, format); + }, + w : function () { + return this.week(); + }, + W : function () { + return this.isoWeek(); + }, + YY : function () { + return leftZeroFill(this.year() % 100, 2); + }, + YYYY : function () { + return leftZeroFill(this.year(), 4); + }, + YYYYY : function () { + return leftZeroFill(this.year(), 5); + }, + gg : function () { + return leftZeroFill(this.weekYear() % 100, 2); + }, + gggg : function () { + return this.weekYear(); + }, + ggggg : function () { + return leftZeroFill(this.weekYear(), 5); + }, + GG : function () { + return leftZeroFill(this.isoWeekYear() % 100, 2); + }, + GGGG : function () { + return this.isoWeekYear(); + }, + GGGGG : function () { + return leftZeroFill(this.isoWeekYear(), 5); + }, + e : function () { + return this.weekday(); + }, + E : function () { + return this.isoWeekday(); + }, + a : function () { + return this.lang().meridiem(this.hours(), this.minutes(), true); + }, + A : function () { + return this.lang().meridiem(this.hours(), this.minutes(), false); + }, + H : function () { + return this.hours(); + }, + h : function () { + return this.hours() % 12 || 12; + }, + m : function () { + return this.minutes(); + }, + s : function () { + return this.seconds(); + }, + S : function () { + return ~~(this.milliseconds() / 100); + }, + SS : function () { + return leftZeroFill(~~(this.milliseconds() / 10), 2); + }, + SSS : function () { + return leftZeroFill(this.milliseconds(), 3); + }, + Z : function () { + var a = -this.zone(), + b = "+"; + if (a < 0) { + a = -a; + b = "-"; + } + return b + leftZeroFill(~~(a / 60), 2) + ":" + leftZeroFill(~~a % 60, 2); + }, + ZZ : function () { + var a = -this.zone(), + b = "+"; + if (a < 0) { + a = -a; + b = "-"; + } + return b + leftZeroFill(~~(10 * a / 6), 4); + }, + z : function () { + return this.zoneAbbr(); + }, + zz : function () { + return this.zoneName(); + }, + X : function () { + return this.unix(); + } + }; + + function padToken(func, count) { + return function (a) { + return leftZeroFill(func.call(this, a), count); + }; + } + function ordinalizeToken(func, period) { + return function (a) { + return this.lang().ordinal(func.call(this, a), period); + }; + } + + while (ordinalizeTokens.length) { + i = ordinalizeTokens.pop(); + formatTokenFunctions[i + 'o'] = ordinalizeToken(formatTokenFunctions[i], i); + } + while (paddedTokens.length) { + i = paddedTokens.pop(); + formatTokenFunctions[i + i] = padToken(formatTokenFunctions[i], 2); + } + formatTokenFunctions.DDDD = padToken(formatTokenFunctions.DDD, 3); + + + /************************************ + Constructors + ************************************/ + + function Language() { + + } + + // Moment prototype object + function Moment(config) { + extend(this, config); + } + + // Duration Constructor + function Duration(duration) { + var years = duration.years || duration.year || duration.y || 0, + months = duration.months || duration.month || duration.M || 0, + weeks = duration.weeks || duration.week || duration.w || 0, + days = duration.days || duration.day || duration.d || 0, + hours = duration.hours || duration.hour || duration.h || 0, + minutes = duration.minutes || duration.minute || duration.m || 0, + seconds = duration.seconds || duration.second || duration.s || 0, + milliseconds = duration.milliseconds || duration.millisecond || duration.ms || 0; + + // store reference to input for deterministic cloning + this._input = duration; + + // representation for dateAddRemove + this._milliseconds = milliseconds + + seconds * 1e3 + // 1000 + minutes * 6e4 + // 1000 * 60 + hours * 36e5; // 1000 * 60 * 60 + // Because of dateAddRemove treats 24 hours as different from a + // day when working around DST, we need to store them separately + this._days = days + + weeks * 7; + // It is impossible translate months into days without knowing + // which months you are are talking about, so we have to store + // it separately. + this._months = months + + years * 12; + + this._data = {}; + + this._bubble(); + } + + + /************************************ + Helpers + ************************************/ + + + function extend(a, b) { + for (var i in b) { + if (b.hasOwnProperty(i)) { + a[i] = b[i]; + } + } + return a; + } + + function absRound(number) { + if (number < 0) { + return Math.ceil(number); + } else { + return Math.floor(number); + } + } + + // left zero fill a number + // see http://jsperf.com/left-zero-filling for performance comparison + function leftZeroFill(number, targetLength) { + var output = number + ''; + while (output.length < targetLength) { + output = '0' + output; + } + return output; + } + + // helper function for _.addTime and _.subtractTime + function addOrSubtractDurationFromMoment(mom, duration, isAdding, ignoreUpdateOffset) { + var milliseconds = duration._milliseconds, + days = duration._days, + months = duration._months, + minutes, + hours, + currentDate; + + if (milliseconds) { + mom._d.setTime(+mom._d + milliseconds * isAdding); + } + // store the minutes and hours so we can restore them + if (days || months) { + minutes = mom.minute(); + hours = mom.hour(); + } + if (days) { + mom.date(mom.date() + days * isAdding); + } + if (months) { + mom.month(mom.month() + months * isAdding); + } + if (milliseconds && !ignoreUpdateOffset) { + moment.updateOffset(mom); + } + // restore the minutes and hours after possibly changing dst + if (days || months) { + mom.minute(minutes); + mom.hour(hours); + } + } + + // check if is an array + function isArray(input) { + return Object.prototype.toString.call(input) === '[object Array]'; + } + + // compare two arrays, return the number of differences + function compareArrays(array1, array2) { + var len = Math.min(array1.length, array2.length), + lengthDiff = Math.abs(array1.length - array2.length), + diffs = 0, + i; + for (i = 0; i < len; i++) { + if (~~array1[i] !== ~~array2[i]) { + diffs++; + } + } + return diffs + lengthDiff; + } + + function normalizeUnits(units) { + return units ? unitAliases[units] || units.toLowerCase().replace(/(.)s$/, '$1') : units; + } + + + /************************************ + Languages + ************************************/ + + + Language.prototype = { + set : function (config) { + var prop, i; + for (i in config) { + prop = config[i]; + if (typeof prop === 'function') { + this[i] = prop; + } else { + this['_' + i] = prop; + } + } + }, + + _months : "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), + months : function (m) { + return this._months[m.month()]; + }, + + _monthsShort : "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), + monthsShort : function (m) { + return this._monthsShort[m.month()]; + }, + + monthsParse : function (monthName) { + var i, mom, regex; + + if (!this._monthsParse) { + this._monthsParse = []; + } + + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + if (!this._monthsParse[i]) { + mom = moment([2000, i]); + regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); + this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if (this._monthsParse[i].test(monthName)) { + return i; + } + } + }, + + _weekdays : "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), + weekdays : function (m) { + return this._weekdays[m.day()]; + }, + + _weekdaysShort : "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), + weekdaysShort : function (m) { + return this._weekdaysShort[m.day()]; + }, + + _weekdaysMin : "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), + weekdaysMin : function (m) { + return this._weekdaysMin[m.day()]; + }, + + weekdaysParse : function (weekdayName) { + var i, mom, regex; + + if (!this._weekdaysParse) { + this._weekdaysParse = []; + } + + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + if (!this._weekdaysParse[i]) { + mom = moment([2000, 1]).day(i); + regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, ''); + this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if (this._weekdaysParse[i].test(weekdayName)) { + return i; + } + } + }, + + _longDateFormat : { + LT : "h:mm A", + L : "MM/DD/YYYY", + LL : "MMMM D YYYY", + LLL : "MMMM D YYYY LT", + LLLL : "dddd, MMMM D YYYY LT" + }, + longDateFormat : function (key) { + var output = this._longDateFormat[key]; + if (!output && this._longDateFormat[key.toUpperCase()]) { + output = this._longDateFormat[key.toUpperCase()].replace(/MMMM|MM|DD|dddd/g, function (val) { + return val.slice(1); + }); + this._longDateFormat[key] = output; + } + return output; + }, + + isPM : function (input) { + return ((input + '').toLowerCase()[0] === 'p'); + }, + + _meridiemParse : /[ap]\.?m?\.?/i, + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'pm' : 'PM'; + } else { + return isLower ? 'am' : 'AM'; + } + }, + + _calendar : { + sameDay : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + calendar : function (key, mom) { + var output = this._calendar[key]; + return typeof output === 'function' ? output.apply(mom) : output; + }, + + _relativeTime : { + future : "in %s", + past : "%s ago", + s : "a few seconds", + m : "a minute", + mm : "%d minutes", + h : "an hour", + hh : "%d hours", + d : "a day", + dd : "%d days", + M : "a month", + MM : "%d months", + y : "a year", + yy : "%d years" + }, + relativeTime : function (number, withoutSuffix, string, isFuture) { + var output = this._relativeTime[string]; + return (typeof output === 'function') ? + output(number, withoutSuffix, string, isFuture) : + output.replace(/%d/i, number); + }, + pastFuture : function (diff, output) { + var format = this._relativeTime[diff > 0 ? 'future' : 'past']; + return typeof format === 'function' ? format(output) : format.replace(/%s/i, output); + }, + + ordinal : function (number) { + return this._ordinal.replace("%d", number); + }, + _ordinal : "%d", + + preparse : function (string) { + return string; + }, + + postformat : function (string) { + return string; + }, + + week : function (mom) { + return weekOfYear(mom, this._week.dow, this._week.doy).week; + }, + _week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 1st is the first week of the year. + } + }; + + // Loads a language definition into the `languages` cache. The function + // takes a key and optionally values. If not in the browser and no values + // are provided, it will load the language file module. As a convenience, + // this function also returns the language values. + function loadLang(key, values) { + values.abbr = key; + if (!languages[key]) { + languages[key] = new Language(); + } + languages[key].set(values); + return languages[key]; + } + + // Determines which language definition to use and returns it. + // + // With no parameters, it will return the global language. If you + // pass in a language key, such as 'en', it will return the + // definition for 'en', so long as 'en' has already been loaded using + // moment.lang. + function getLangDefinition(key) { + if (!key) { + return moment.fn._lang; + } + if (!languages[key] && hasModule) { + try { + require('./lang/' + key); + } catch (e) { + // call with no params to set to default + return moment.fn._lang; + } + } + return languages[key]; + } + + + /************************************ + Formatting + ************************************/ + + + function removeFormattingTokens(input) { + if (input.match(/\[.*\]/)) { + return input.replace(/^\[|\]$/g, ""); + } + return input.replace(/\\/g, ""); + } + + function makeFormatFunction(format) { + var array = format.match(formattingTokens), i, length; + + for (i = 0, length = array.length; i < length; i++) { + if (formatTokenFunctions[array[i]]) { + array[i] = formatTokenFunctions[array[i]]; + } else { + array[i] = removeFormattingTokens(array[i]); + } + } + + return function (mom) { + var output = ""; + for (i = 0; i < length; i++) { + output += array[i] instanceof Function ? array[i].call(mom, format) : array[i]; + } + return output; + }; + } + + // format date using native date object + function formatMoment(m, format) { + var i = 5; + + function replaceLongDateFormatTokens(input) { + return m.lang().longDateFormat(input) || input; + } + + while (i-- && localFormattingTokens.test(format)) { + format = format.replace(localFormattingTokens, replaceLongDateFormatTokens); + } + + if (!formatFunctions[format]) { + formatFunctions[format] = makeFormatFunction(format); + } + + return formatFunctions[format](m); + } + + + /************************************ + Parsing + ************************************/ + + + // get the regex to find the next token + function getParseRegexForToken(token, config) { + switch (token) { + case 'DDDD': + return parseTokenThreeDigits; + case 'YYYY': + return parseTokenFourDigits; + case 'YYYYY': + return parseTokenSixDigits; + case 'S': + case 'SS': + case 'SSS': + case 'DDD': + return parseTokenOneToThreeDigits; + case 'MMM': + case 'MMMM': + case 'dd': + case 'ddd': + case 'dddd': + return parseTokenWord; + case 'a': + case 'A': + return getLangDefinition(config._l)._meridiemParse; + case 'X': + return parseTokenTimestampMs; + case 'Z': + case 'ZZ': + return parseTokenTimezone; + case 'T': + return parseTokenT; + case 'MM': + case 'DD': + case 'YY': + case 'HH': + case 'hh': + case 'mm': + case 'ss': + case 'M': + case 'D': + case 'd': + case 'H': + case 'h': + case 'm': + case 's': + return parseTokenOneOrTwoDigits; + default : + return new RegExp(token.replace('\\', '')); + } + } + + function timezoneMinutesFromString(string) { + var tzchunk = (parseTokenTimezone.exec(string) || [])[0], + parts = (tzchunk + '').match(parseTimezoneChunker) || ['-', 0, 0], + minutes = +(parts[1] * 60) + ~~parts[2]; + + return parts[0] === '+' ? -minutes : minutes; + } + + // function to convert string input to date + function addTimeToArrayFromToken(token, input, config) { + var a, datePartArray = config._a; + + switch (token) { + // MONTH + case 'M' : // fall through to MM + case 'MM' : + datePartArray[1] = (input == null) ? 0 : ~~input - 1; + break; + case 'MMM' : // fall through to MMMM + case 'MMMM' : + a = getLangDefinition(config._l).monthsParse(input); + // if we didn't find a month name, mark the date as invalid. + if (a != null) { + datePartArray[1] = a; + } else { + config._isValid = false; + } + break; + // DAY OF MONTH + case 'D' : // fall through to DDDD + case 'DD' : // fall through to DDDD + case 'DDD' : // fall through to DDDD + case 'DDDD' : + if (input != null) { + datePartArray[2] = ~~input; + } + break; + // YEAR + case 'YY' : + datePartArray[0] = ~~input + (~~input > 68 ? 1900 : 2000); + break; + case 'YYYY' : + case 'YYYYY' : + datePartArray[0] = ~~input; + break; + // AM / PM + case 'a' : // fall through to A + case 'A' : + config._isPm = getLangDefinition(config._l).isPM(input); + break; + // 24 HOUR + case 'H' : // fall through to hh + case 'HH' : // fall through to hh + case 'h' : // fall through to hh + case 'hh' : + datePartArray[3] = ~~input; + break; + // MINUTE + case 'm' : // fall through to mm + case 'mm' : + datePartArray[4] = ~~input; + break; + // SECOND + case 's' : // fall through to ss + case 'ss' : + datePartArray[5] = ~~input; + break; + // MILLISECOND + case 'S' : + case 'SS' : + case 'SSS' : + datePartArray[6] = ~~ (('0.' + input) * 1000); + break; + // UNIX TIMESTAMP WITH MS + case 'X': + config._d = new Date(parseFloat(input) * 1000); + break; + // TIMEZONE + case 'Z' : // fall through to ZZ + case 'ZZ' : + config._useUTC = true; + config._tzm = timezoneMinutesFromString(input); + break; + } + + // if the input is null, the date is not valid + if (input == null) { + config._isValid = false; + } + } + + // convert an array to a date. + // the array should mirror the parameters below + // note: all values past the year are optional and will default to the lowest possible value. + // [year, month, day , hour, minute, second, millisecond] + function dateFromArray(config) { + var i, date, input = []; + + if (config._d) { + return; + } + + for (i = 0; i < 7; i++) { + config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i]; + } + + // add the offsets to the time to be parsed so that we can have a clean array for checking isValid + input[3] += ~~((config._tzm || 0) / 60); + input[4] += ~~((config._tzm || 0) % 60); + + date = new Date(0); + + if (config._useUTC) { + date.setUTCFullYear(input[0], input[1], input[2]); + date.setUTCHours(input[3], input[4], input[5], input[6]); + } else { + date.setFullYear(input[0], input[1], input[2]); + date.setHours(input[3], input[4], input[5], input[6]); + } + + config._d = date; + } + + // date from string and format string + function makeDateFromStringAndFormat(config) { + // This array is used to make a Date, either with `new Date` or `Date.UTC` + var tokens = config._f.match(formattingTokens), + string = config._i, + i, parsedInput; + + config._a = []; + + for (i = 0; i < tokens.length; i++) { + parsedInput = (getParseRegexForToken(tokens[i], config).exec(string) || [])[0]; + if (parsedInput) { + string = string.slice(string.indexOf(parsedInput) + parsedInput.length); + } + // don't parse if its not a known token + if (formatTokenFunctions[tokens[i]]) { + addTimeToArrayFromToken(tokens[i], parsedInput, config); + } + } + + // add remaining unparsed input to the string + if (string) { + config._il = string; + } + + // handle am pm + if (config._isPm && config._a[3] < 12) { + config._a[3] += 12; + } + // if is 12 am, change hours to 0 + if (config._isPm === false && config._a[3] === 12) { + config._a[3] = 0; + } + // return + dateFromArray(config); + } + + // date from string and array of format strings + function makeDateFromStringAndArray(config) { + var tempConfig, + tempMoment, + bestMoment, + + scoreToBeat = 99, + i, + currentScore; + + for (i = 0; i < config._f.length; i++) { + tempConfig = extend({}, config); + tempConfig._f = config._f[i]; + makeDateFromStringAndFormat(tempConfig); + tempMoment = new Moment(tempConfig); + + currentScore = compareArrays(tempConfig._a, tempMoment.toArray()); + + // if there is any input that was not parsed + // add a penalty for that format + if (tempMoment._il) { + currentScore += tempMoment._il.length; + } + + if (currentScore < scoreToBeat) { + scoreToBeat = currentScore; + bestMoment = tempMoment; + } + } + + extend(config, bestMoment); + } + + // date from iso format + function makeDateFromString(config) { + var i, + string = config._i, + match = isoRegex.exec(string); + + if (match) { + // match[2] should be "T" or undefined + config._f = 'YYYY-MM-DD' + (match[2] || " "); + for (i = 0; i < 4; i++) { + if (isoTimes[i][1].exec(string)) { + config._f += isoTimes[i][0]; + break; + } + } + if (parseTokenTimezone.exec(string)) { + config._f += " Z"; + } + makeDateFromStringAndFormat(config); + } else { + config._d = new Date(string); + } + } + + function makeDateFromInput(config) { + var input = config._i, + matched = aspNetJsonRegex.exec(input); + + if (input === undefined) { + config._d = new Date(); + } else if (matched) { + config._d = new Date(+matched[1]); + } else if (typeof input === 'string') { + makeDateFromString(config); + } else if (isArray(input)) { + config._a = input.slice(0); + dateFromArray(config); + } else { + config._d = input instanceof Date ? new Date(+input) : new Date(input); + } + } + + + /************************************ + Relative Time + ************************************/ + + + // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize + function substituteTimeAgo(string, number, withoutSuffix, isFuture, lang) { + return lang.relativeTime(number || 1, !!withoutSuffix, string, isFuture); + } + + function relativeTime(milliseconds, withoutSuffix, lang) { + var seconds = round(Math.abs(milliseconds) / 1000), + minutes = round(seconds / 60), + hours = round(minutes / 60), + days = round(hours / 24), + years = round(days / 365), + args = seconds < 45 && ['s', seconds] || + minutes === 1 && ['m'] || + minutes < 45 && ['mm', minutes] || + hours === 1 && ['h'] || + hours < 22 && ['hh', hours] || + days === 1 && ['d'] || + days <= 25 && ['dd', days] || + days <= 45 && ['M'] || + days < 345 && ['MM', round(days / 30)] || + years === 1 && ['y'] || ['yy', years]; + args[2] = withoutSuffix; + args[3] = milliseconds > 0; + args[4] = lang; + return substituteTimeAgo.apply({}, args); + } + + + /************************************ + Week of Year + ************************************/ + + + // firstDayOfWeek 0 = sun, 6 = sat + // the day of the week that starts the week + // (usually sunday or monday) + // firstDayOfWeekOfYear 0 = sun, 6 = sat + // the first week is the week that contains the first + // of this day of the week + // (eg. ISO weeks use thursday (4)) + function weekOfYear(mom, firstDayOfWeek, firstDayOfWeekOfYear) { + var end = firstDayOfWeekOfYear - firstDayOfWeek, + daysToDayOfWeek = firstDayOfWeekOfYear - mom.day(), + adjustedMoment; + + + if (daysToDayOfWeek > end) { + daysToDayOfWeek -= 7; + } + + if (daysToDayOfWeek < end - 7) { + daysToDayOfWeek += 7; + } + + adjustedMoment = moment(mom).add('d', daysToDayOfWeek); + return { + week: Math.ceil(adjustedMoment.dayOfYear() / 7), + year: adjustedMoment.year() + }; + } + + + /************************************ + Top Level Functions + ************************************/ + + function makeMoment(config) { + var input = config._i, + format = config._f; + + if (input === null || input === '') { + return null; + } + + if (typeof input === 'string') { + config._i = input = getLangDefinition().preparse(input); + } + + if (moment.isMoment(input)) { + config = extend({}, input); + config._d = new Date(+input._d); + } else if (format) { + if (isArray(format)) { + makeDateFromStringAndArray(config); + } else { + makeDateFromStringAndFormat(config); + } + } else { + makeDateFromInput(config); + } + + return new Moment(config); + } + + moment = function (input, format, lang) { + return makeMoment({ + _i : input, + _f : format, + _l : lang, + _isUTC : false + }); + }; + + // creating with utc + moment.utc = function (input, format, lang) { + return makeMoment({ + _useUTC : true, + _isUTC : true, + _l : lang, + _i : input, + _f : format + }); + }; + + // creating with unix timestamp (in seconds) + moment.unix = function (input) { + return moment(input * 1000); + }; + + // duration + moment.duration = function (input, key) { + var isDuration = moment.isDuration(input), + isNumber = (typeof input === 'number'), + duration = (isDuration ? input._input : (isNumber ? {} : input)), + matched = aspNetTimeSpanJsonRegex.exec(input), + sign, + ret; + + if (isNumber) { + if (key) { + duration[key] = input; + } else { + duration.milliseconds = input; + } + } else if (matched) { + sign = (matched[1] === "-") ? -1 : 1; + duration = { + y: 0, + d: ~~matched[2] * sign, + h: ~~matched[3] * sign, + m: ~~matched[4] * sign, + s: ~~matched[5] * sign, + ms: ~~matched[6] * sign + }; + } + + ret = new Duration(duration); + + if (isDuration && input.hasOwnProperty('_lang')) { + ret._lang = input._lang; + } + + return ret; + }; + + // version number + moment.version = VERSION; + + // default format + moment.defaultFormat = isoFormat; + + // This function will be called whenever a moment is mutated. + // It is intended to keep the offset in sync with the timezone. + moment.updateOffset = function () {}; + + // This function will load languages and then set the global language. If + // no arguments are passed in, it will simply return the current global + // language key. + moment.lang = function (key, values) { + if (!key) { + return moment.fn._lang._abbr; + } + if (values) { + loadLang(key, values); + } else if (!languages[key]) { + getLangDefinition(key); + } + moment.duration.fn._lang = moment.fn._lang = getLangDefinition(key); + }; + + // returns language data + moment.langData = function (key) { + if (key && key._lang && key._lang._abbr) { + key = key._lang._abbr; + } + return getLangDefinition(key); + }; + + // compare moment object + moment.isMoment = function (obj) { + return obj instanceof Moment; + }; + + // for typechecking Duration objects + moment.isDuration = function (obj) { + return obj instanceof Duration; + }; + + + /************************************ + Moment Prototype + ************************************/ + + + moment.fn = Moment.prototype = { + + clone : function () { + return moment(this); + }, + + valueOf : function () { + return +this._d + ((this._offset || 0) * 60000); + }, + + unix : function () { + return Math.floor(+this / 1000); + }, + + toString : function () { + return this.format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ"); + }, + + toDate : function () { + return this._offset ? new Date(+this) : this._d; + }, + + toISOString : function () { + return formatMoment(moment(this).utc(), 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]'); + }, + + toArray : function () { + var m = this; + return [ + m.year(), + m.month(), + m.date(), + m.hours(), + m.minutes(), + m.seconds(), + m.milliseconds() + ]; + }, + + isValid : function () { + if (this._isValid == null) { + if (this._a) { + this._isValid = !compareArrays(this._a, (this._isUTC ? moment.utc(this._a) : moment(this._a)).toArray()); + } else { + this._isValid = !isNaN(this._d.getTime()); + } + } + return !!this._isValid; + }, + + utc : function () { + return this.zone(0); + }, + + local : function () { + this.zone(0); + this._isUTC = false; + return this; + }, + + format : function (inputString) { + var output = formatMoment(this, inputString || moment.defaultFormat); + return this.lang().postformat(output); + }, + + add : function (input, val) { + var dur; + // switch args to support add('s', 1) and add(1, 's') + if (typeof input === 'string') { + dur = moment.duration(+val, input); + } else { + dur = moment.duration(input, val); + } + addOrSubtractDurationFromMoment(this, dur, 1); + return this; + }, + + subtract : function (input, val) { + var dur; + // switch args to support subtract('s', 1) and subtract(1, 's') + if (typeof input === 'string') { + dur = moment.duration(+val, input); + } else { + dur = moment.duration(input, val); + } + addOrSubtractDurationFromMoment(this, dur, -1); + return this; + }, + + diff : function (input, units, asFloat) { + var that = this._isUTC ? moment(input).zone(this._offset || 0) : moment(input).local(), + zoneDiff = (this.zone() - that.zone()) * 6e4, + diff, output; + + units = normalizeUnits(units); + + if (units === 'year' || units === 'month') { + // average number of days in the months in the given dates + diff = (this.daysInMonth() + that.daysInMonth()) * 432e5; // 24 * 60 * 60 * 1000 / 2 + // difference in months + output = ((this.year() - that.year()) * 12) + (this.month() - that.month()); + // adjust by taking difference in days, average number of days + // and dst in the given months. + output += ((this - moment(this).startOf('month')) - + (that - moment(that).startOf('month'))) / diff; + // same as above but with zones, to negate all dst + output -= ((this.zone() - moment(this).startOf('month').zone()) - + (that.zone() - moment(that).startOf('month').zone())) * 6e4 / diff; + if (units === 'year') { + output = output / 12; + } + } else { + diff = (this - that); + output = units === 'second' ? diff / 1e3 : // 1000 + units === 'minute' ? diff / 6e4 : // 1000 * 60 + units === 'hour' ? diff / 36e5 : // 1000 * 60 * 60 + units === 'day' ? (diff - zoneDiff) / 864e5 : // 1000 * 60 * 60 * 24, negate dst + units === 'week' ? (diff - zoneDiff) / 6048e5 : // 1000 * 60 * 60 * 24 * 7, negate dst + diff; + } + return asFloat ? output : absRound(output); + }, + + from : function (time, withoutSuffix) { + return moment.duration(this.diff(time)).lang(this.lang()._abbr).humanize(!withoutSuffix); + }, + + fromNow : function (withoutSuffix) { + return this.from(moment(), withoutSuffix); + }, + + calendar : function () { + var diff = this.diff(moment().startOf('day'), 'days', true), + format = diff < -6 ? 'sameElse' : + diff < -1 ? 'lastWeek' : + diff < 0 ? 'lastDay' : + diff < 1 ? 'sameDay' : + diff < 2 ? 'nextDay' : + diff < 7 ? 'nextWeek' : 'sameElse'; + return this.format(this.lang().calendar(format, this)); + }, + + isLeapYear : function () { + var year = this.year(); + return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; + }, + + isDST : function () { + return (this.zone() < this.clone().month(0).zone() || + this.zone() < this.clone().month(5).zone()); + }, + + day : function (input) { + var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); + if (input != null) { + if (typeof input === 'string') { + input = this.lang().weekdaysParse(input); + if (typeof input !== 'number') { + return this; + } + } + return this.add({ d : input - day }); + } else { + return day; + } + }, + + month : function (input) { + var utc = this._isUTC ? 'UTC' : '', + dayOfMonth, + daysInMonth; + + if (input != null) { + if (typeof input === 'string') { + input = this.lang().monthsParse(input); + if (typeof input !== 'number') { + return this; + } + } + + dayOfMonth = this.date(); + this.date(1); + this._d['set' + utc + 'Month'](input); + this.date(Math.min(dayOfMonth, this.daysInMonth())); + + moment.updateOffset(this); + return this; + } else { + return this._d['get' + utc + 'Month'](); + } + }, + + startOf: function (units) { + units = normalizeUnits(units); + // the following switch intentionally omits break keywords + // to utilize falling through the cases. + switch (units) { + case 'year': + this.month(0); + /* falls through */ + case 'month': + this.date(1); + /* falls through */ + case 'week': + case 'day': + this.hours(0); + /* falls through */ + case 'hour': + this.minutes(0); + /* falls through */ + case 'minute': + this.seconds(0); + /* falls through */ + case 'second': + this.milliseconds(0); + /* falls through */ + } + + // weeks are a special case + if (units === 'week') { + this.weekday(0); + } + + return this; + }, + + endOf: function (units) { + return this.startOf(units).add(units, 1).subtract('ms', 1); + }, + + isAfter: function (input, units) { + units = typeof units !== 'undefined' ? units : 'millisecond'; + return +this.clone().startOf(units) > +moment(input).startOf(units); + }, + + isBefore: function (input, units) { + units = typeof units !== 'undefined' ? units : 'millisecond'; + return +this.clone().startOf(units) < +moment(input).startOf(units); + }, + + isSame: function (input, units) { + units = typeof units !== 'undefined' ? units : 'millisecond'; + return +this.clone().startOf(units) === +moment(input).startOf(units); + }, + + min: function (other) { + other = moment.apply(null, arguments); + return other < this ? this : other; + }, + + max: function (other) { + other = moment.apply(null, arguments); + return other > this ? this : other; + }, + + zone : function (input) { + var offset = this._offset || 0; + if (input != null) { + if (typeof input === "string") { + input = timezoneMinutesFromString(input); + } + if (Math.abs(input) < 16) { + input = input * 60; + } + this._offset = input; + this._isUTC = true; + if (offset !== input) { + addOrSubtractDurationFromMoment(this, moment.duration(offset - input, 'm'), 1, true); + } + } else { + return this._isUTC ? offset : this._d.getTimezoneOffset(); + } + return this; + }, + + zoneAbbr : function () { + return this._isUTC ? "UTC" : ""; + }, + + zoneName : function () { + return this._isUTC ? "Coordinated Universal Time" : ""; + }, + + daysInMonth : function () { + return moment.utc([this.year(), this.month() + 1, 0]).date(); + }, + + dayOfYear : function (input) { + var dayOfYear = round((moment(this).startOf('day') - moment(this).startOf('year')) / 864e5) + 1; + return input == null ? dayOfYear : this.add("d", (input - dayOfYear)); + }, + + weekYear : function (input) { + var year = weekOfYear(this, this.lang()._week.dow, this.lang()._week.doy).year; + return input == null ? year : this.add("y", (input - year)); + }, + + isoWeekYear : function (input) { + var year = weekOfYear(this, 1, 4).year; + return input == null ? year : this.add("y", (input - year)); + }, + + week : function (input) { + var week = this.lang().week(this); + return input == null ? week : this.add("d", (input - week) * 7); + }, + + isoWeek : function (input) { + var week = weekOfYear(this, 1, 4).week; + return input == null ? week : this.add("d", (input - week) * 7); + }, + + weekday : function (input) { + var weekday = (this._d.getDay() + 7 - this.lang()._week.dow) % 7; + return input == null ? weekday : this.add("d", input - weekday); + }, + + isoWeekday : function (input) { + // behaves the same as moment#day except + // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) + // as a setter, sunday should belong to the previous week. + return input == null ? this.day() || 7 : this.day(this.day() % 7 ? input : input - 7); + }, + + // If passed a language key, it will set the language for this + // instance. Otherwise, it will return the language configuration + // variables for this instance. + lang : function (key) { + if (key === undefined) { + return this._lang; + } else { + this._lang = getLangDefinition(key); + return this; + } + } + }; + + // helper for adding shortcuts + function makeGetterAndSetter(name, key) { + moment.fn[name] = moment.fn[name + 's'] = function (input) { + var utc = this._isUTC ? 'UTC' : ''; + if (input != null) { + this._d['set' + utc + key](input); + moment.updateOffset(this); + return this; + } else { + return this._d['get' + utc + key](); + } + }; + } + + // loop through and add shortcuts (Month, Date, Hours, Minutes, Seconds, Milliseconds) + for (i = 0; i < proxyGettersAndSetters.length; i ++) { + makeGetterAndSetter(proxyGettersAndSetters[i].toLowerCase().replace(/s$/, ''), proxyGettersAndSetters[i]); + } + + // add shortcut for year (uses different syntax than the getter/setter 'year' == 'FullYear') + makeGetterAndSetter('year', 'FullYear'); + + // add plural methods + moment.fn.days = moment.fn.day; + moment.fn.months = moment.fn.month; + moment.fn.weeks = moment.fn.week; + moment.fn.isoWeeks = moment.fn.isoWeek; + + // add aliased format methods + moment.fn.toJSON = moment.fn.toISOString; + + /************************************ + Duration Prototype + ************************************/ + + + moment.duration.fn = Duration.prototype = { + _bubble : function () { + var milliseconds = this._milliseconds, + days = this._days, + months = this._months, + data = this._data, + seconds, minutes, hours, years; + + // The following code bubbles up values, see the tests for + // examples of what that means. + data.milliseconds = milliseconds % 1000; + + seconds = absRound(milliseconds / 1000); + data.seconds = seconds % 60; + + minutes = absRound(seconds / 60); + data.minutes = minutes % 60; + + hours = absRound(minutes / 60); + data.hours = hours % 24; + + days += absRound(hours / 24); + data.days = days % 30; + + months += absRound(days / 30); + data.months = months % 12; + + years = absRound(months / 12); + data.years = years; + }, + + weeks : function () { + return absRound(this.days() / 7); + }, + + valueOf : function () { + return this._milliseconds + + this._days * 864e5 + + (this._months % 12) * 2592e6 + + ~~(this._months / 12) * 31536e6; + }, + + humanize : function (withSuffix) { + var difference = +this, + output = relativeTime(difference, !withSuffix, this.lang()); + + if (withSuffix) { + output = this.lang().pastFuture(difference, output); + } + + return this.lang().postformat(output); + }, + + add : function (input, val) { + // supports only 2.0-style add(1, 's') or add(moment) + var dur = moment.duration(input, val); + + this._milliseconds += dur._milliseconds; + this._days += dur._days; + this._months += dur._months; + + this._bubble(); + + return this; + }, + + subtract : function (input, val) { + var dur = moment.duration(input, val); + + this._milliseconds -= dur._milliseconds; + this._days -= dur._days; + this._months -= dur._months; + + this._bubble(); + + return this; + }, + + get : function (units) { + units = normalizeUnits(units); + return this[units.toLowerCase() + 's'](); + }, + + as : function (units) { + units = normalizeUnits(units); + return this['as' + units.charAt(0).toUpperCase() + units.slice(1) + 's'](); + }, + + lang : moment.fn.lang + }; + + function makeDurationGetter(name) { + moment.duration.fn[name] = function () { + return this._data[name]; + }; + } + + function makeDurationAsGetter(name, factor) { + moment.duration.fn['as' + name] = function () { + return +this / factor; + }; + } + + for (i in unitMillisecondFactors) { + if (unitMillisecondFactors.hasOwnProperty(i)) { + makeDurationAsGetter(i, unitMillisecondFactors[i]); + makeDurationGetter(i.toLowerCase()); + } + } + + makeDurationAsGetter('Weeks', 6048e5); + moment.duration.fn.asMonths = function () { + return (+this - this.years() * 31536e6) / 2592e6 + this.years() * 12; + }; + + + /************************************ + Default Lang + ************************************/ + + + // Set default language, other languages will inherit from English. + moment.lang('en', { + ordinal : function (number) { + var b = number % 10, + output = (~~ (number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + } + }); + + + /************************************ + Exposing Moment + ************************************/ + + + // CommonJS module is defined + if (hasModule) { + module.exports = moment; + } + /*global ender:false */ + if (typeof ender === 'undefined') { + // here, `this` means `window` in the browser, or `global` on the server + // add `moment` as a global object via a string identifier, + // for Closure Compiler "advanced" mode + this['moment'] = moment; + } + /*global define:false */ + if (typeof define === "function" && define.amd) { + define("moment", [], function () { + return moment; + }); + } +}).call(this); diff --git a/97suifangqa/apps/indicator/static/plugins/moment/moment.min.js b/97suifangqa/apps/indicator/static/plugins/moment/moment.min.js new file mode 100644 index 0000000..62b1697 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/moment/moment.min.js @@ -0,0 +1,6 @@ +// moment.js +// version : 2.1.0 +// author : Tim Wood +// license : MIT +// momentjs.com +!function(t){function e(t,e){return function(n){return u(t.call(this,n),e)}}function n(t,e){return function(n){return this.lang().ordinal(t.call(this,n),e)}}function s(){}function i(t){a(this,t)}function r(t){var e=t.years||t.year||t.y||0,n=t.months||t.month||t.M||0,s=t.weeks||t.week||t.w||0,i=t.days||t.day||t.d||0,r=t.hours||t.hour||t.h||0,a=t.minutes||t.minute||t.m||0,o=t.seconds||t.second||t.s||0,u=t.milliseconds||t.millisecond||t.ms||0;this._input=t,this._milliseconds=u+1e3*o+6e4*a+36e5*r,this._days=i+7*s,this._months=n+12*e,this._data={},this._bubble()}function a(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function o(t){return 0>t?Math.ceil(t):Math.floor(t)}function u(t,e){for(var n=t+"";n.lengthn;n++)~~t[n]!==~~e[n]&&r++;return r+i}function f(t){return t?ie[t]||t.toLowerCase().replace(/(.)s$/,"$1"):t}function l(t,e){return e.abbr=t,x[t]||(x[t]=new s),x[t].set(e),x[t]}function _(t){if(!t)return H.fn._lang;if(!x[t]&&A)try{require("./lang/"+t)}catch(e){return H.fn._lang}return x[t]}function m(t){return t.match(/\[.*\]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function y(t){var e,n,s=t.match(E);for(e=0,n=s.length;n>e;e++)s[e]=ue[s[e]]?ue[s[e]]:m(s[e]);return function(i){var r="";for(e=0;n>e;e++)r+=s[e]instanceof Function?s[e].call(i,t):s[e];return r}}function M(t,e){function n(e){return t.lang().longDateFormat(e)||e}for(var s=5;s--&&N.test(e);)e=e.replace(N,n);return re[e]||(re[e]=y(e)),re[e](t)}function g(t,e){switch(t){case"DDDD":return V;case"YYYY":return X;case"YYYYY":return $;case"S":case"SS":case"SSS":case"DDD":return I;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return R;case"a":case"A":return _(e._l)._meridiemParse;case"X":return B;case"Z":case"ZZ":return j;case"T":return q;case"MM":case"DD":case"YY":case"HH":case"hh":case"mm":case"ss":case"M":case"D":case"d":case"H":case"h":case"m":case"s":return J;default:return new RegExp(t.replace("\\",""))}}function p(t){var e=(j.exec(t)||[])[0],n=(e+"").match(ee)||["-",0,0],s=+(60*n[1])+~~n[2];return"+"===n[0]?-s:s}function D(t,e,n){var s,i=n._a;switch(t){case"M":case"MM":i[1]=null==e?0:~~e-1;break;case"MMM":case"MMMM":s=_(n._l).monthsParse(e),null!=s?i[1]=s:n._isValid=!1;break;case"D":case"DD":case"DDD":case"DDDD":null!=e&&(i[2]=~~e);break;case"YY":i[0]=~~e+(~~e>68?1900:2e3);break;case"YYYY":case"YYYYY":i[0]=~~e;break;case"a":case"A":n._isPm=_(n._l).isPM(e);break;case"H":case"HH":case"h":case"hh":i[3]=~~e;break;case"m":case"mm":i[4]=~~e;break;case"s":case"ss":i[5]=~~e;break;case"S":case"SS":case"SSS":i[6]=~~(1e3*("0."+e));break;case"X":n._d=new Date(1e3*parseFloat(e));break;case"Z":case"ZZ":n._useUTC=!0,n._tzm=p(e)}null==e&&(n._isValid=!1)}function Y(t){var e,n,s=[];if(!t._d){for(e=0;7>e;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];s[3]+=~~((t._tzm||0)/60),s[4]+=~~((t._tzm||0)%60),n=new Date(0),t._useUTC?(n.setUTCFullYear(s[0],s[1],s[2]),n.setUTCHours(s[3],s[4],s[5],s[6])):(n.setFullYear(s[0],s[1],s[2]),n.setHours(s[3],s[4],s[5],s[6])),t._d=n}}function w(t){var e,n,s=t._f.match(E),i=t._i;for(t._a=[],e=0;eo&&(u=o,s=n);a(t,s)}function v(t){var e,n=t._i,s=K.exec(n);if(s){for(t._f="YYYY-MM-DD"+(s[2]||" "),e=0;4>e;e++)if(te[e][1].exec(n)){t._f+=te[e][0];break}j.exec(n)&&(t._f+=" Z"),w(t)}else t._d=new Date(n)}function T(e){var n=e._i,s=G.exec(n);n===t?e._d=new Date:s?e._d=new Date(+s[1]):"string"==typeof n?v(e):d(n)?(e._a=n.slice(0),Y(e)):e._d=n instanceof Date?new Date(+n):new Date(n)}function b(t,e,n,s,i){return i.relativeTime(e||1,!!n,t,s)}function S(t,e,n){var s=W(Math.abs(t)/1e3),i=W(s/60),r=W(i/60),a=W(r/24),o=W(a/365),u=45>s&&["s",s]||1===i&&["m"]||45>i&&["mm",i]||1===r&&["h"]||22>r&&["hh",r]||1===a&&["d"]||25>=a&&["dd",a]||45>=a&&["M"]||345>a&&["MM",W(a/30)]||1===o&&["y"]||["yy",o];return u[2]=e,u[3]=t>0,u[4]=n,b.apply({},u)}function F(t,e,n){var s,i=n-e,r=n-t.day();return r>i&&(r-=7),i-7>r&&(r+=7),s=H(t).add("d",r),{week:Math.ceil(s.dayOfYear()/7),year:s.year()}}function O(t){var e=t._i,n=t._f;return null===e||""===e?null:("string"==typeof e&&(t._i=e=_().preparse(e)),H.isMoment(e)?(t=a({},e),t._d=new Date(+e._d)):n?d(n)?k(t):w(t):T(t),new i(t))}function z(t,e){H.fn[t]=H.fn[t+"s"]=function(t){var n=this._isUTC?"UTC":"";return null!=t?(this._d["set"+n+e](t),H.updateOffset(this),this):this._d["get"+n+e]()}}function C(t){H.duration.fn[t]=function(){return this._data[t]}}function L(t,e){H.duration.fn["as"+t]=function(){return+this/e}}for(var H,P,U="2.1.0",W=Math.round,x={},A="undefined"!=typeof module&&module.exports,G=/^\/?Date\((\-?\d+)/i,Z=/(\-)?(\d*)?\.?(\d+)\:(\d+)\:(\d+)\.?(\d{3})?/,E=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|SS?S?|X|zz?|ZZ?|.)/g,N=/(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,J=/\d\d?/,I=/\d{1,3}/,V=/\d{3}/,X=/\d{1,4}/,$=/[+\-]?\d{1,6}/,R=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,j=/Z|[\+\-]\d\d:?\d\d/i,q=/T/i,B=/[\+\-]?\d+(\.\d{1,3})?/,K=/^\s*\d{4}-\d\d-\d\d((T| )(\d\d(:\d\d(:\d\d(\.\d\d?\d?)?)?)?)?([\+\-]\d\d:?\d\d)?)?/,Q="YYYY-MM-DDTHH:mm:ssZ",te=[["HH:mm:ss.S",/(T| )\d\d:\d\d:\d\d\.\d{1,3}/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],ee=/([\+\-]|\d\d)/gi,ne="Date|Hours|Minutes|Seconds|Milliseconds".split("|"),se={Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6},ie={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",w:"week",M:"month",y:"year"},re={},ae="DDD w W M D d".split(" "),oe="M D H h m s w W".split(" "),ue={M:function(){return this.month()+1},MMM:function(t){return this.lang().monthsShort(this,t)},MMMM:function(t){return this.lang().months(this,t)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(t){return this.lang().weekdaysMin(this,t)},ddd:function(t){return this.lang().weekdaysShort(this,t)},dddd:function(t){return this.lang().weekdays(this,t)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return u(this.year()%100,2)},YYYY:function(){return u(this.year(),4)},YYYYY:function(){return u(this.year(),5)},gg:function(){return u(this.weekYear()%100,2)},gggg:function(){return this.weekYear()},ggggg:function(){return u(this.weekYear(),5)},GG:function(){return u(this.isoWeekYear()%100,2)},GGGG:function(){return this.isoWeekYear()},GGGGG:function(){return u(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.lang().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.lang().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return~~(this.milliseconds()/100)},SS:function(){return u(~~(this.milliseconds()/10),2)},SSS:function(){return u(this.milliseconds(),3)},Z:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+u(~~(t/60),2)+":"+u(~~t%60,2)},ZZ:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+u(~~(10*t/6),4)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()}};ae.length;)P=ae.pop(),ue[P+"o"]=n(ue[P],P);for(;oe.length;)P=oe.pop(),ue[P+P]=e(ue[P],2);for(ue.DDDD=e(ue.DDD,3),s.prototype={set:function(t){var e,n;for(n in t)e=t[n],"function"==typeof e?this[n]=e:this["_"+n]=e},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(t){return this._months[t.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(t){return this._monthsShort[t.month()]},monthsParse:function(t){var e,n,s;for(this._monthsParse||(this._monthsParse=[]),e=0;12>e;e++)if(this._monthsParse[e]||(n=H([2e3,e]),s="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[e]=new RegExp(s.replace(".",""),"i")),this._monthsParse[e].test(t))return e},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(t){return this._weekdays[t.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(t){return this._weekdaysShort[t.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(t){return this._weekdaysMin[t.day()]},weekdaysParse:function(t){var e,n,s;for(this._weekdaysParse||(this._weekdaysParse=[]),e=0;7>e;e++)if(this._weekdaysParse[e]||(n=H([2e3,1]).day(e),s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[e]=new RegExp(s.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D YYYY",LLL:"MMMM D YYYY LT",LLLL:"dddd, MMMM D YYYY LT"},longDateFormat:function(t){var e=this._longDateFormat[t];return!e&&this._longDateFormat[t.toUpperCase()]&&(e=this._longDateFormat[t.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t]=e),e},isPM:function(t){return"p"===(t+"").toLowerCase()[0]},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(t,e){var n=this._calendar[t];return"function"==typeof n?n.apply(e):n},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(t,e,n,s){var i=this._relativeTime[n];return"function"==typeof i?i(t,e,n,s):i.replace(/%d/i,t)},pastFuture:function(t,e){var n=this._relativeTime[t>0?"future":"past"];return"function"==typeof n?n(e):n.replace(/%s/i,e)},ordinal:function(t){return this._ordinal.replace("%d",t)},_ordinal:"%d",preparse:function(t){return t},postformat:function(t){return t},week:function(t){return F(t,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6}},H=function(t,e,n){return O({_i:t,_f:e,_l:n,_isUTC:!1})},H.utc=function(t,e,n){return O({_useUTC:!0,_isUTC:!0,_l:n,_i:t,_f:e})},H.unix=function(t){return H(1e3*t)},H.duration=function(t,e){var n,s,i=H.isDuration(t),a="number"==typeof t,o=i?t._input:a?{}:t,u=Z.exec(t);return a?e?o[e]=t:o.milliseconds=t:u&&(n="-"===u[1]?-1:1,o={y:0,d:~~u[2]*n,h:~~u[3]*n,m:~~u[4]*n,s:~~u[5]*n,ms:~~u[6]*n}),s=new r(o),i&&t.hasOwnProperty("_lang")&&(s._lang=t._lang),s},H.version=U,H.defaultFormat=Q,H.updateOffset=function(){},H.lang=function(t,e){return t?(e?l(t,e):x[t]||_(t),H.duration.fn._lang=H.fn._lang=_(t),void 0):H.fn._lang._abbr},H.langData=function(t){return t&&t._lang&&t._lang._abbr&&(t=t._lang._abbr),_(t)},H.isMoment=function(t){return t instanceof i},H.isDuration=function(t){return t instanceof r},H.fn=i.prototype={clone:function(){return H(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){return M(H(this).utc(),"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},toArray:function(){var t=this;return[t.year(),t.month(),t.date(),t.hours(),t.minutes(),t.seconds(),t.milliseconds()]},isValid:function(){return null==this._isValid&&(this._isValid=this._a?!c(this._a,(this._isUTC?H.utc(this._a):H(this._a)).toArray()):!isNaN(this._d.getTime())),!!this._isValid},utc:function(){return this.zone(0)},local:function(){return this.zone(0),this._isUTC=!1,this},format:function(t){var e=M(this,t||H.defaultFormat);return this.lang().postformat(e)},add:function(t,e){var n;return n="string"==typeof t?H.duration(+e,t):H.duration(t,e),h(this,n,1),this},subtract:function(t,e){var n;return n="string"==typeof t?H.duration(+e,t):H.duration(t,e),h(this,n,-1),this},diff:function(t,e,n){var s,i,r=this._isUTC?H(t).zone(this._offset||0):H(t).local(),a=6e4*(this.zone()-r.zone());return e=f(e),"year"===e||"month"===e?(s=432e5*(this.daysInMonth()+r.daysInMonth()),i=12*(this.year()-r.year())+(this.month()-r.month()),i+=(this-H(this).startOf("month")-(r-H(r).startOf("month")))/s,i-=6e4*(this.zone()-H(this).startOf("month").zone()-(r.zone()-H(r).startOf("month").zone()))/s,"year"===e&&(i/=12)):(s=this-r,i="second"===e?s/1e3:"minute"===e?s/6e4:"hour"===e?s/36e5:"day"===e?(s-a)/864e5:"week"===e?(s-a)/6048e5:s),n?i:o(i)},from:function(t,e){return H.duration(this.diff(t)).lang(this.lang()._abbr).humanize(!e)},fromNow:function(t){return this.from(H(),t)},calendar:function(){var t=this.diff(H().startOf("day"),"days",!0),e=-6>t?"sameElse":-1>t?"lastWeek":0>t?"lastDay":1>t?"sameDay":2>t?"nextDay":7>t?"nextWeek":"sameElse";return this.format(this.lang().calendar(e,this))},isLeapYear:function(){var t=this.year();return 0===t%4&&0!==t%100||0===t%400},isDST:function(){return this.zone()+H(t).startOf(e)},isBefore:function(t,e){return e="undefined"!=typeof e?e:"millisecond",+this.clone().startOf(e)<+H(t).startOf(e)},isSame:function(t,e){return e="undefined"!=typeof e?e:"millisecond",+this.clone().startOf(e)===+H(t).startOf(e)},min:function(t){return t=H.apply(null,arguments),this>t?this:t},max:function(t){return t=H.apply(null,arguments),t>this?this:t},zone:function(t){var e=this._offset||0;return null==t?this._isUTC?e:this._d.getTimezoneOffset():("string"==typeof t&&(t=p(t)),Math.abs(t)<16&&(t=60*t),this._offset=t,this._isUTC=!0,e!==t&&h(this,H.duration(e-t,"m"),1,!0),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},daysInMonth:function(){return H.utc([this.year(),this.month()+1,0]).date()},dayOfYear:function(t){var e=W((H(this).startOf("day")-H(this).startOf("year"))/864e5)+1;return null==t?e:this.add("d",t-e)},weekYear:function(t){var e=F(this,this.lang()._week.dow,this.lang()._week.doy).year;return null==t?e:this.add("y",t-e)},isoWeekYear:function(t){var e=F(this,1,4).year;return null==t?e:this.add("y",t-e)},week:function(t){var e=this.lang().week(this);return null==t?e:this.add("d",7*(t-e))},isoWeek:function(t){var e=F(this,1,4).week;return null==t?e:this.add("d",7*(t-e))},weekday:function(t){var e=(this._d.getDay()+7-this.lang()._week.dow)%7;return null==t?e:this.add("d",t-e)},isoWeekday:function(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)},lang:function(e){return e===t?this._lang:(this._lang=_(e),this)}},P=0;P>> global settings needed for thickbox <<<-----------------------------------------------------------*/ -/* ----------------------------------------------------------------------------------------------------------------*/ -*{padding: 0; margin: 0;} - -html, body { -min-height: 100%; -height: auto !important; -height: 100%; -} - -/* ----------------------------------------------------------------------------------------------------------------*/ -/* ---------->>> thickbox specific link and font settings <<<------------------------------------------------------*/ -/* ----------------------------------------------------------------------------------------------------------------*/ -#TB_window { - font: 12px Arial, Helvetica, sans-serif; - color: #333333; -} - -#TB_secondLine { - font: 10px Arial, Helvetica, sans-serif; - color:#666666; -} - -#TB_window a:link {color: #666666;} -#TB_window a:visited {color: #666666;} -#TB_window a:hover {color: #000;} -#TB_window a:active {color: #666666;} -#TB_window a:focus{color: #666666;} - -/* ----------------------------------------------------------------------------------------------------------------*/ -/* ---------->>> thickbox settings <<<-----------------------------------------------------------------------------*/ -/* ----------------------------------------------------------------------------------------------------------------*/ -#TB_overlay { - position: absolute; - z-index:100; - width: 100%; - height: 100%; - top: 0; - left: 0; - min-height:100%; - background-color:#000; - filter:alpha(opacity=60); - -moz-opacity: 0.6; - opacity: 0.6; -} - -#TB_window { - position: absolute; - /*background: #ffffff;*/ - z-index: 102; - color:#000000; - display:none; - /*border: 4px solid #525252;*/ - text-align:left; -} - -#TB_window img { - display:block; - margin: 15px 0 0 15px; - border-right: 1px solid #ccc; - border-bottom: 1px solid #ccc; - border-top: 1px solid #666; - border-left: 1px solid #666; -} - -#TB_caption{ - height:25px; - padding:7px 30px 10px 25px; - float:left; -} - -#TB_closeWindow{ - height:25px; - padding:11px 25px 10px 0; - float:right; -} - -#TB_closeAjaxWindow{ - padding:5px 10px 7px 0; - margin-bottom:1px; - text-align:right; - float:right; -} - -#TB_ajaxWindowTitle{ - float:left; - padding:7px 0 5px 10px; - margin-bottom:1px; -} - -#TB_title{ - background-color:#e8e8e8; - height:27px; -} - -#TB_ajaxContent{ - clear:both; - padding:2px 15px 15px 15px; - overflow:auto; - text-align:left; - line-height:1.4em; -} - -#TB_ajaxContent p{ - padding:5px 0px 5px 0px; -} - -#TB_load{ - position: absolute; - display:none; - height:100px; - width:100px; - z-index:101; -} - -#TB_HideSelect{ - z-index:99; - position:absolute; - top: 0; - left: 0; - width:100%; - height:100%; - background-color:#fff; - border:none; - filter:alpha(opacity=0); - -moz-opacity: 0; - opacity: 0; -} - -#TB_iframeContent{ - border:none; - clear:both; -} - +/* ----------------------------------------------------------------------------------------------------------------*/ +/* ---------->>> global settings needed for thickbox <<<-----------------------------------------------------------*/ +/* ----------------------------------------------------------------------------------------------------------------*/ +*{padding: 0; margin: 0;} + +html, body { +min-height: 100%; +height: auto !important; +height: 100%; +} + +/* ----------------------------------------------------------------------------------------------------------------*/ +/* ---------->>> thickbox specific link and font settings <<<------------------------------------------------------*/ +/* ----------------------------------------------------------------------------------------------------------------*/ +#TB_window { + font: 12px Arial, Helvetica, sans-serif; + color: #333333; +} + +#TB_secondLine { + font: 10px Arial, Helvetica, sans-serif; + color:#666666; +} + +#TB_window a:link {color: #666666;} +#TB_window a:visited {color: #666666;} +#TB_window a:hover {color: #000;} +#TB_window a:active {color: #666666;} +#TB_window a:focus{color: #666666;} + +/* ----------------------------------------------------------------------------------------------------------------*/ +/* ---------->>> thickbox settings <<<-----------------------------------------------------------------------------*/ +/* ----------------------------------------------------------------------------------------------------------------*/ +#TB_overlay { + position: absolute; + z-index:100; + width: 100%; + height: 100%; + top: 0; + left: 0; + min-height:100%; + background-color:#000; + filter:alpha(opacity=60); + -moz-opacity: 0.6; + opacity: 0.6; +} + +#TB_window { + position: absolute; + /*background: #ffffff;*/ + z-index: 102; + color:#000000; + display:none; + /*border: 4px solid #525252;*/ + text-align:left; +} + +#TB_window img { + display:block; + margin: 15px 0 0 15px; + border-right: 1px solid #ccc; + border-bottom: 1px solid #ccc; + border-top: 1px solid #666; + border-left: 1px solid #666; +} + +#TB_caption{ + height:25px; + padding:7px 30px 10px 25px; + float:left; +} + +#TB_closeWindow{ + height:25px; + padding:11px 25px 10px 0; + float:right; +} + +#TB_closeAjaxWindow{ + padding:5px 10px 7px 0; + margin-bottom:1px; + text-align:right; + float:right; +} + +#TB_ajaxWindowTitle{ + float:left; + padding:7px 0 5px 10px; + margin-bottom:1px; +} + +#TB_title{ + background-color:#e8e8e8; + height:27px; +} + +#TB_ajaxContent{ + clear:both; + padding:2px 15px 15px 15px; + overflow:auto; + text-align:left; + line-height:1.4em; +} + +#TB_ajaxContent p{ + padding:5px 0px 5px 0px; +} + +#TB_load{ + position: absolute; + display:none; + height:100px; + width:100px; + z-index:101; +} + +#TB_HideSelect{ + z-index:99; + position:absolute; + top: 0; + left: 0; + width:100%; + height:100%; + background-color:#fff; + border:none; + filter:alpha(opacity=0); + -moz-opacity: 0; + opacity: 0; +} + +#TB_iframeContent{ + border:none; + clear:both; +} + diff --git a/97suifangqa/apps/indicator/static/plugins/thickbox/thickbox.js b/97suifangqa/apps/indicator/static/plugins/thickbox/thickbox.js index c11bf76..81448bd 100644 --- a/97suifangqa/apps/indicator/static/plugins/thickbox/thickbox.js +++ b/97suifangqa/apps/indicator/static/plugins/thickbox/thickbox.js @@ -1,286 +1,289 @@ -/* - * Thickbox 2.0 - One Box To Rule Them All. - * By Cody Lindley (http://www.codylindley.com) - * Copyright (c) 2006 cody lindley - * Licensed under the MIT License: - * http://www.opensource.org/licenses/mit-license.php - * Thickbox is built on top of the very light weight jQuery library. - */ - -//on page load call TB_init -$(document).ready(TB_init); - -//add thickbox to href elements that have a class of .thickbox -function TB_init(){ - $("a.thickbox").live("click", function(){ - if(this.href == 'javascript:void(0)'){ - return false; - } - var t = this.title || this.name || null; - var g = this.rel || false; - TB_show(t,this.href,g); - this.blur(); - return false; - }); -} - -function TB_show(caption, url, imageGroup) {//function called when the user clicks on a thickbox link - try { - if (document.getElementById("TB_HideSelect") == null) { - $("body").append("
"); - $("#TB_overlay").click(TB_remove); - } - - if(caption==null){caption=""}; - - $(window).scroll(TB_position); - - TB_overlaySize(); - - $("body").append("
"); - TB_load_position(); - - var urlString = /\.jpg|\.jpeg|\.png|\.gif|\.html|\.htm|\.php|\.cfm|\.asp|\.aspx|\.jsp|\.jst|\.rb|\.txt|\.bmp/g; - var urlType = url.toLowerCase().match(urlString); - - if(urlType == '.jpg' || urlType == '.jpeg' || urlType == '.png' || urlType == '.gif' || urlType == '.bmp'){//code to show images - - TB_PrevCaption = ""; - TB_PrevURL = ""; - TB_PrevHTML = ""; - TB_NextCaption = ""; - TB_NextURL = ""; - TB_NextHTML = ""; - TB_imageCount = ""; - TB_FoundURL = false; - if(imageGroup){ - TB_TempArray = $("a[@rel="+imageGroup+"]").get(); - for (TB_Counter = 0; ((TB_Counter < TB_TempArray.length) && (TB_NextHTML == "")); TB_Counter++) { - var urlTypeTemp = TB_TempArray[TB_Counter].href.toLowerCase().match(urlString); - if (!(TB_TempArray[TB_Counter].href == url)) { - if (TB_FoundURL) { - TB_NextCaption = TB_TempArray[TB_Counter].title; - TB_NextURL = TB_TempArray[TB_Counter].href; - TB_NextHTML = "  Next >"; - } else { - TB_PrevCaption = TB_TempArray[TB_Counter].title; - TB_PrevURL = TB_TempArray[TB_Counter].href; - TB_PrevHTML = "  < Prev"; - } - } else { - TB_FoundURL = true; - TB_imageCount = "Image " + (TB_Counter + 1) +" of "+ (TB_TempArray.length); - } - } - } - - imgPreloader = new Image(); - imgPreloader.onload = function(){ - - imgPreloader.onload = null; - - // Resizing large images - orginal by Christian Montoya edited by me. - var pagesize = TB_getPageSize(); - var x = pagesize[0] - 150; - var y = pagesize[1] - 150; - var imageWidth = imgPreloader.width; - var imageHeight = imgPreloader.height; - if (imageWidth > x) { - imageHeight = imageHeight * (x / imageWidth); - imageWidth = x; - if (imageHeight > y) { - imageWidth = imageWidth * (y / imageHeight); - imageHeight = y; - } - } else if (imageHeight > y) { - imageWidth = imageWidth * (y / imageHeight); - imageHeight = y; - if (imageWidth > x) { - imageHeight = imageHeight * (x / imageWidth); - imageWidth = x; - } - } - // End Resizing - - TB_WIDTH = imageWidth + 30; - TB_HEIGHT = imageHeight + 60; - $("#TB_window").append(""+caption+"" + "
"+caption+"
" + TB_imageCount + TB_PrevHTML + TB_NextHTML + "
"); - - $("#TB_closeWindowButton").click(TB_remove); - - if (!(TB_PrevHTML == "")) { - function goPrev(){ - if($(document).unclick(goPrev)){$(document).unclick(goPrev)}; - $("#TB_window").remove(); - $("body").append("
"); - $(document).unkeyup(); - TB_show(TB_PrevCaption, TB_PrevURL, imageGroup); - return false; - } - - $("#TB_prev").click(goPrev); - - $(document).keyup( function(e){ var key = e.keyCode; if(key == 37){goPrev()} }); - } - - - - if (!(TB_NextHTML == "")) { - function goNext(){ - $("#TB_window").remove(); - $("body").append("
"); - $(document).unkeyup(); - TB_show(TB_NextCaption, TB_NextURL, imageGroup); - return false; - } - - $("#TB_next").click(goNext); - - $(document).keyup( function(e){ var key = e.keyCode; if(key == 39){goNext()} }); - } - - TB_position(); - $("#TB_load").remove(); - $("#TB_ImageOff").click(TB_remove); - $("#TB_window").css({display:"block"}); //for safari using css instead of show - } - - imgPreloader.src = url; - } - - if(urlType=='.htm'||urlType=='.html'||urlType=='.php'||urlType=='.asp'||urlType=='.aspx'||urlType=='.jsp'||urlType=='.jst'||urlType=='.rb'||urlType=='.txt'||urlType=='.cfm' || (url.indexOf('TB_inline') != -1) || (url.indexOf('TB_iframe') != -1) ){//code to show html pages - - var queryString = url.replace(/^[^\?]+\??/,''); - var params = TB_parseQuery( queryString ); - -// TB_WIDTH = (params['width']*1) + 30; -// TB_HEIGHT = (params['height']*1) + 40; -// ajaxContentW = TB_WIDTH - 30; -// ajaxContentH = TB_HEIGHT - 45; - TB_WIDTH = (params['width']*1); - TB_HEIGHT = (params['height']*1); - ajaxContentW = TB_WIDTH; - ajaxContentH = TB_HEIGHT; - - if(url.indexOf('no_title') != -1){ - $("#TB_window").append("
"+caption+"
"); - TB_HEIGHT += 27; //title height - } - if(url.indexOf('TB_iframe') != -1){ - if(url.indexOf('transfer_params') == -1){ - urlNoQuery = url.substr(0,TB_strpos(url, "?")); - }else{ - urlNoQuery = url; - } - $("#TB_window").append(""); - }else{ - $("#TB_window").append("
"); - } - - $("#TB_closeWindowButton").click(TB_remove); - - if(url.indexOf('TB_inline') != -1){ - $("#TB_ajaxContent").html($('#' + params['inlineId']).html()); - TB_position(); - $("#TB_load").remove(); - $("#TB_window").css({display:"block"}); - }else if(url.indexOf('TB_iframe') != -1){ - TB_position(); - $("#TB_load").remove(); - $("#TB_window").css({display:"block"}); - }else{ - $("#TB_ajaxContent").load(url, function(){ - TB_position(); - $("#TB_load").remove(); - $("#TB_window").css({display:"block"}); - }); - } - - } - - $(window).resize(TB_position); - - } catch(e) { - alert( e ); - } -} - -//helper functions below - -function TB_remove() { - $("#TB_window").fadeOut("fast",function(){$('#TB_window,#TB_overlay,#TB_HideSelect').remove();}); - $("#TB_load").remove(); - //$(document).unkeyup(); - return false; -} - -function TB_position() { - var pagesize = TB_getPageSize(); - var arrayPageScroll = TB_getPageScrollTop(); - $("#TB_window").css({height:TB_HEIGHT+"px",width:TB_WIDTH+"px",left: ((pagesize[0] - TB_WIDTH)/2)+"px", top: (arrayPageScroll[1] + ((pagesize[1]-TB_HEIGHT)/2))+"px" }); - TB_overlaySize(); -} - -function TB_overlaySize(){ - if (window.innerHeight && window.scrollMaxY) { - yScroll = window.innerHeight + window.scrollMaxY; - } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac - yScroll = document.body.scrollHeight; - } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari - yScroll = document.body.offsetHeight; - } - $("#TB_overlay").css("height",yScroll +"px"); -} - -function TB_load_position() { - var pagesize = TB_getPageSize(); - var arrayPageScroll = TB_getPageScrollTop(); - - $("#TB_load") - .css({left: ((pagesize[0] - 100)/2)+"px", top: (arrayPageScroll[1] + ((pagesize[1]-100)/2))+"px" }) - .css({display:"block"}); -} - -function TB_parseQuery ( query ) { - var Params = new Object (); - if ( ! query ) return Params; // return empty object - var Pairs = query.split(/[;&]/); - for ( var i = 0; i < Pairs.length; i++ ) { - var KeyVal = Pairs[i].split('='); - if ( ! KeyVal || KeyVal.length != 2 ) continue; - var key = unescape( KeyVal[0] ); - var val = unescape( KeyVal[1] ); - val = val.replace(/\+/g, ' '); - Params[key] = val; - } - return Params; -} - -function TB_getPageScrollTop(){ - var yScrolltop; - if (self.pageYOffset) { - yScrolltop = self.pageYOffset; - } else if (document.documentElement && document.documentElement.scrollTop){ // Explorer 6 Strict - yScrolltop = document.documentElement.scrollTop; - } else if (document.body) {// all other Explorers - yScrolltop = document.body.scrollTop; - } - arrayPageScroll = new Array('',yScrolltop) - return arrayPageScroll; -} - -function TB_getPageSize(){ - var de = document.documentElement; - var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth; - var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight; - - arrayPageSize = new Array(w,h) - return arrayPageSize; -} - -function TB_strpos(str, ch) { -for (var i = 0; i < str.length; i++) -if (str.substring(i, i+1) == ch) return i; -return -1; -} - +/* + * Thickbox 2.0 - One Box To Rule Them All. + * By Cody Lindley (http://www.codylindley.com) + * Copyright (c) 2006 cody lindley + * Licensed under the MIT License: + * http://www.opensource.org/licenses/mit-license.php + * Thickbox is built on top of the very light weight jQuery library. + */ + +//on page load call TB_init +$(document).ready(TB_init); + +//add thickbox to href elements that have a class of .thickbox +function TB_init(){ + $("a.thickbox").live("click", function(){ + if(this.href == 'javascript:void(0)'){ + return false; + } + var t = this.title || this.name || null; + var g = this.rel || false; + TB_show(t,this.href,g); + this.blur(); + return false; + }); +} + +function TB_show(caption, url, imageGroup) {//function called when the user clicks on a thickbox link + try { + if (document.getElementById("TB_HideSelect") == null) { + $("body").append("
"); + $("#TB_overlay").click(TB_remove); + } + + if(caption==null){caption=""}; + + $(window).scroll(TB_position); + + TB_overlaySize(); + + $("body").append("
"); + TB_load_position(); + + var urlString = /\.jpg|\.jpeg|\.png|\.gif|\.html|\.htm|\.php|\.cfm|\.asp|\.aspx|\.jsp|\.jst|\.rb|\.txt|\.bmp/g; + var urlType = url.toLowerCase().match(urlString); + + if(urlType == '.jpg' || urlType == '.jpeg' || urlType == '.png' || urlType == '.gif' || urlType == '.bmp'){//code to show images + + TB_PrevCaption = ""; + TB_PrevURL = ""; + TB_PrevHTML = ""; + TB_NextCaption = ""; + TB_NextURL = ""; + TB_NextHTML = ""; + TB_imageCount = ""; + TB_FoundURL = false; + if(imageGroup){ + TB_TempArray = $("a[@rel="+imageGroup+"]").get(); + for (TB_Counter = 0; ((TB_Counter < TB_TempArray.length) && (TB_NextHTML == "")); TB_Counter++) { + var urlTypeTemp = TB_TempArray[TB_Counter].href.toLowerCase().match(urlString); + if (!(TB_TempArray[TB_Counter].href == url)) { + if (TB_FoundURL) { + TB_NextCaption = TB_TempArray[TB_Counter].title; + TB_NextURL = TB_TempArray[TB_Counter].href; + TB_NextHTML = "  Next >"; + } else { + TB_PrevCaption = TB_TempArray[TB_Counter].title; + TB_PrevURL = TB_TempArray[TB_Counter].href; + TB_PrevHTML = "  < Prev"; + } + } else { + TB_FoundURL = true; + TB_imageCount = "Image " + (TB_Counter + 1) +" of "+ (TB_TempArray.length); + } + } + } + + imgPreloader = new Image(); + imgPreloader.onload = function(){ + + imgPreloader.onload = null; + + // Resizing large images - orginal by Christian Montoya edited by me. + var pagesize = TB_getPageSize(); + var x = pagesize[0] - 150; + var y = pagesize[1] - 150; + var imageWidth = imgPreloader.width; + var imageHeight = imgPreloader.height; + if (imageWidth > x) { + imageHeight = imageHeight * (x / imageWidth); + imageWidth = x; + if (imageHeight > y) { + imageWidth = imageWidth * (y / imageHeight); + imageHeight = y; + } + } else if (imageHeight > y) { + imageWidth = imageWidth * (y / imageHeight); + imageHeight = y; + if (imageWidth > x) { + imageHeight = imageHeight * (x / imageWidth); + imageWidth = x; + } + } + // End Resizing + + TB_WIDTH = imageWidth + 30; + TB_HEIGHT = imageHeight + 60; + $("#TB_window").append(""+caption+"" + "
"+caption+"
" + TB_imageCount + TB_PrevHTML + TB_NextHTML + "
"); + + $("#TB_closeWindowButton").click(TB_remove); + + if (!(TB_PrevHTML == "")) { + function goPrev(){ + if($(document).unclick(goPrev)){$(document).unclick(goPrev)}; + $("#TB_window").remove(); + $("body").append("
"); + $(document).unkeyup(); + TB_show(TB_PrevCaption, TB_PrevURL, imageGroup); + return false; + } + + $("#TB_prev").click(goPrev); + + $(document).keyup( function(e){ var key = e.keyCode; if(key == 37){goPrev()} }); + } + + + + if (!(TB_NextHTML == "")) { + function goNext(){ + $("#TB_window").remove(); + $("body").append("
"); + $(document).unkeyup(); + TB_show(TB_NextCaption, TB_NextURL, imageGroup); + return false; + } + + $("#TB_next").click(goNext); + + $(document).keyup( function(e){ var key = e.keyCode; if(key == 39){goNext()} }); + } + + TB_position(); + $("#TB_load").remove(); + $("#TB_ImageOff").click(TB_remove); + $("#TB_window").css({display:"block"}); //for safari using css instead of show + } + + imgPreloader.src = url; + } + + if(urlType=='.htm'||urlType=='.html'||urlType=='.php'||urlType=='.asp'||urlType=='.aspx'||urlType=='.jsp'||urlType=='.jst'||urlType=='.rb'||urlType=='.txt'||urlType=='.cfm' || (url.indexOf('TB_inline') != -1) || (url.indexOf('TB_iframe') != -1) ){//code to show html pages + + var queryString = url.replace(/^[^\?]+\??/,''); + var params = TB_parseQuery( queryString ); + + //console.log(queryString); + //console.log(params); + TB_WIDTH = (params['width']*1) + 30 || 630; + TB_HEIGHT = (params['height']*1) + 40 || 440; + ajaxContentW = TB_WIDTH - 30; + ajaxContentH = TB_HEIGHT - 45; + TB_WIDTH = (params['width']*1); + TB_HEIGHT = (params['height']*1); + ajaxContentW = TB_WIDTH; + ajaxContentH = TB_HEIGHT; + + //console.log(url); + if(url.indexOf('no_title') != -1){ + $("#TB_window").append("
"+caption+"
"); + TB_HEIGHT += 27; //title height + } + if(url.indexOf('TB_iframe') != -1){ + if(url.indexOf('transfer_params') == -1){ + urlNoQuery = url.substr(0,TB_strpos(url, "?")); + }else{ + urlNoQuery = url; + } + $("#TB_window").append(""); + }else{ + $("#TB_window").append("
"); + } + + $("#TB_closeWindowButton").click(TB_remove); + + if(url.indexOf('TB_inline') != -1){ + $("#TB_ajaxContent").html($('#' + params['inlineId']).html()); + TB_position(); + $("#TB_load").remove(); + $("#TB_window").css({display:"block"}); + }else if(url.indexOf('TB_iframe') != -1){ + TB_position(); + $("#TB_load").remove(); + $("#TB_window").css({display:"block"}); + }else{ + $("#TB_ajaxContent").load(url, function(){ + TB_position(); + $("#TB_load").remove(); + $("#TB_window").css({display:"block"}); + }); + } + + } + + $(window).resize(TB_position); + + } catch(e) { + alert( e ); + } +} + +//helper functions below + +function TB_remove() { + $("#TB_window").fadeOut("fast",function(){$('#TB_window,#TB_overlay,#TB_HideSelect').remove();}); + $("#TB_load").remove(); + //$(document).unkeyup(); + return false; +} + +function TB_position() { + var pagesize = TB_getPageSize(); + var arrayPageScroll = TB_getPageScrollTop(); + $("#TB_window").css({height:TB_HEIGHT+"px",width:TB_WIDTH+"px",left: ((pagesize[0] - TB_WIDTH)/2)+"px", top: (arrayPageScroll[1] + ((pagesize[1]-TB_HEIGHT)/2))+"px" }); + TB_overlaySize(); +} + +function TB_overlaySize(){ + if (window.innerHeight && window.scrollMaxY) { + yScroll = window.innerHeight + window.scrollMaxY; + } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac + yScroll = document.body.scrollHeight; + } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari + yScroll = document.body.offsetHeight; + } + $("#TB_overlay").css("height",yScroll +"px"); +} + +function TB_load_position() { + var pagesize = TB_getPageSize(); + var arrayPageScroll = TB_getPageScrollTop(); + + $("#TB_load") + .css({left: ((pagesize[0] - 100)/2)+"px", top: (arrayPageScroll[1] + ((pagesize[1]-100)/2))+"px" }) + .css({display:"block"}); +} + +function TB_parseQuery ( query ) { + var Params = new Object (); + if ( ! query ) return Params; // return empty object + var Pairs = query.split(/[;&]/); + for ( var i = 0; i < Pairs.length; i++ ) { + var KeyVal = Pairs[i].split('='); + if ( ! KeyVal || KeyVal.length != 2 ) continue; + var key = unescape( KeyVal[0] ); + var val = unescape( KeyVal[1] ); + val = val.replace(/\+/g, ' '); + Params[key] = val; + } + return Params; +} + +function TB_getPageScrollTop(){ + var yScrolltop; + if (self.pageYOffset) { + yScrolltop = self.pageYOffset; + } else if (document.documentElement && document.documentElement.scrollTop){ // Explorer 6 Strict + yScrolltop = document.documentElement.scrollTop; + } else if (document.body) {// all other Explorers + yScrolltop = document.body.scrollTop; + } + arrayPageScroll = new Array('',yScrolltop) + return arrayPageScroll; +} + +function TB_getPageSize(){ + var de = document.documentElement; + var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth; + var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight; + + arrayPageSize = new Array(w,h) + return arrayPageSize; +} + +function TB_strpos(str, ch) { +for (var i = 0; i < str.length; i++) +if (str.substring(i, i+1) == ch) return i; +return -1; +} + diff --git a/97suifangqa/apps/indicator/templates/indicator/NewDeleteIndex.html b/97suifangqa/apps/indicator/templates/indicator/NewDeleteIndex.html index f4e9a18..f5e0ee8 100644 --- a/97suifangqa/apps/indicator/templates/indicator/NewDeleteIndex.html +++ b/97suifangqa/apps/indicator/templates/indicator/NewDeleteIndex.html @@ -51,6 +51,7 @@
+
@@ -64,6 +65,7 @@ {% endfor %}
+
@@ -124,7 +126,7 @@
{% endif %} {# end: page_condition == all #}
- + {# page_condition == "category" #} @@ -217,10 +219,16 @@
{% endfor %} + +
+ + + {% endblock page %} diff --git a/97suifangqa/apps/indicator/templates/indicator/SheetDefault.html b/97suifangqa/apps/indicator/templates/indicator/SheetDefault.html index 88a8d82..834daa6 100644 --- a/97suifangqa/apps/indicator/templates/indicator/SheetDefault.html +++ b/97suifangqa/apps/indicator/templates/indicator/SheetDefault.html @@ -24,24 +24,198 @@ + + + - + - - - {% endblock %} @@ -71,7 +245,7 @@
{{ ind|dict_get:"ref_text" }} {{ ind|dict_get:"ref_value"|safe }} - {{ ind|dict_get:"std_unit_symbol" }} + {% if ind|dict_get:"std_unit_symbol" %}({{ ind|dict_get:"std_unit_symbol" }}){% endif %}
{% if ind|dict_get:"record_empty" %} {# vim: {{{ #} {# if no record, then hide 'last_edit_data' #} @@ -79,7 +253,7 @@
@@ -94,7 +268,7 @@
-
{{ ind|dict_get:"std_unit_symbol" }}
+
{% if ind|dict_get:"std_unit_symbol" %}({{ ind|dict_get:"std_unit_symbol" }}){% endif %}
@@ -111,8 +285,8 @@
- {{ ind|dict_get:"last_record"|dict_get:"value_str" }} - {{ ind|dict_get:"std_unit_symbol" }} + {{ ind|dict_get:"last_record"|dict_get:"value_str"|safe }} + {% if ind|dict_get:"std_unit_symbol" %}({{ ind|dict_get:"std_unit_symbol" }}){% endif %}
@@ -127,7 +301,7 @@
-
{{ ind|dict_get:"std_unit_symbol" }}
+
{% if ind|dict_get:"std_unit_symbol" %}({{ ind|dict_get:"std_unit_symbol" }}){% endif %}
@@ -142,11 +316,11 @@ -
+
{% endif %} {# end: record_empty; vim: }}} #}
- +
@@ -163,27 +337,31 @@ width参数为弹出层页面宽度+2, card_id参数为 "卡片id" {% endcomment %} - +
{% endfor %} {# end: indicators #}
-
乙肝病毒核算定量 (PCR)4
+
+
Indicator
+ +
- - + + +
- +
-
- - +
+ +
-
+
diff --git a/97suifangqa/apps/indicator/templates/indicator/popup/IndexDesc.html b/97suifangqa/apps/indicator/templates/indicator/popup/IndexDesc.html index ad9f20d..1515436 100644 --- a/97suifangqa/apps/indicator/templates/indicator/popup/IndexDesc.html +++ b/97suifangqa/apps/indicator/templates/indicator/popup/IndexDesc.html @@ -15,22 +15,77 @@ {% endblock %} {% block scripts %} - + {% endblock %} {% block page %}
-
乙肝病毒核算定量(PCR)
+
+ {% if annotation_not_found %} + {{ indicator.name }} + {% else %} + {{ annotation.brief_content }} + {% endif %} +
-
- 乙型肝炎仍是全球最严重的公共卫生问题之一。乙型肝炎病毒核酸DNA是反映乙肝的感染状态和治疗效果的重要指标。HBV DNA的定量检测是目前通过国家认证临床PCR实验室的常规检测项目之一。 -

- 目前HBV的临床检测从传统的免疫学方法发展到分子生物学方法,这是科技水平的一个重大进步。分子生物学检测经历了早期的PCR凝胶电泳法、半定量法到现在的完全定量法,目前各种定量检测方法日趋成熟,国内以TAQMAN荧光基因探针技术为主流的多种检测试剂盒已开发出来。荧光基因探针PCR?目前HBV的临床检测从传统的免疫学方法发展到分子生物学方法,这是科技水平的一个重大进步。分子生物学检测经历了早期的PCR凝胶电泳法、半定量法到现在的完全定量法,目前各种定量检测方法日趋成熟,国内以TAQMAN荧光基因探针技术为主流的多种检测试剂盒已开发出来。荧光基因探针PCR? -
-
收藏该注释(已有 100 人收藏)
-
+
+ {% if annotation_not_found %} +
未找到与该指标相关的注释
+ {% else %} + {{ annotation.detail|safe }} + {% endif %} +
+
+ {% if is_collected %} + 点击取消收藏 (已有{{ collected_times }}人收藏) + {% else %} + 收藏该注释 (已有{{ collected_times }}人收藏) + {% endif %} +
+
+ +
{% endblock page %} diff --git a/97suifangqa/apps/indicator/views.py b/97suifangqa/apps/indicator/views.py index dc7b902..d7222f8 100644 --- a/97suifangqa/apps/indicator/views.py +++ b/97suifangqa/apps/indicator/views.py @@ -18,6 +18,8 @@ from indicator import models as im from indicator.forms import * from indicator.tools import * +from sciblog import models as sm + # apps/utils from utils.search_tools import objects_of_sqs @@ -525,11 +527,20 @@ def indicator_status(request): ind['last_record'] = {} # }}} + # dataType + DATA_TYPES = { + 'INTEGER_TYPE': im.Indicator.INTEGER_TYPE, + 'FLOAT_TYPE': im.Indicator.FLOAT_TYPE, + 'RANGE_TYPE': im.Indicator.RANGE_TYPE, + 'FLOAT_RANGE_TYPE': im.Indicator.FLOAT_RANGE_TYPE, + 'PM_TYPE': im.Indicator.PM_TYPE, + } + data = { 'indicators': indicators, + 'DATA_TYPES': DATA_TYPES, } # render template - #raise ValueError return render(request, template, data) # }}} @@ -669,7 +680,51 @@ def indicator_indexdesc(request): description for an indicator """ template = 'indicator/popup/IndexDesc.html' - return render(request, template) + # default parameters + annotation = None + annotation_not_found = False + annotation_url = 'javascript:void(0)' + collected_times = 0 + is_collected = False + # check card_id -> indicator_id + if request.GET.get('card_id') is not None: + card_id = request.GET.get('card_id') + try: + indicator_id = int(card_id) + ind_obj = im.Indicator.objects.get(id=indicator_id) + except ValueError: + print u'Error: Given card_id="%s" cannot convert to integer' % card_id + raise Http404 + except im.Indicator.DoesNotExist: + print u'Error: Indicator id="%s" NOT exist' % indicator_id + raise Http404 + else: + print u'Error: No card_id provided' + raise Http404 + # get related 'BlogAnnotation', only type 'PROPER_NAME' + related_annotations = ind_obj.related_indicators.\ + filter(objectType=im.RelatedIndicator.ANNOTATION_TYPE).\ + filter(annotation__type=sm.BlogAnnotation.PROPER_NOUN).\ + order_by('-weight') + if related_annotations: + # has related annotations + annotation = related_annotations[0].annotation + collected_times = len(annotation.collected_by.all()) + is_collected = annotation.is_collected_by(request.user) + # TODO + #annotation_url = annotation.get_absolute_url() + else: + annotation_not_found = True + + data = { + 'annotation_not_found': annotation_not_found, + 'annotation': annotation, + 'annotation_url': annotation_url, + 'collected_times': collected_times, + 'is_collected': is_collected, + 'indicator': ind_obj, + } + return render(request, template, data) # }}} @@ -684,15 +739,14 @@ def ajax_act_index(request): """ # default 'fail' result = 'fail' - #if request.is_ajax(): - if True: + if request.is_ajax(): # check index_id -> indicator_id if request.GET.get('index_id') is not None: index_id = request.GET.get('index_id') try: indicator_id = int(index_id) except ValueError: - print u'Error: Given index_id="%s" cannot convert to integer' % indicator_id + print u'Error: Given index_id="%s" cannot convert to integer' % index_id result = 'fail' return HttpResponse(result) # check 'act': add/minus -> action: follow/unfollow @@ -753,23 +807,92 @@ def ajax_get_card_data_chart(request): 'indicator/static/javascripts/load_card.js' get card data for the 'chart' within the card - format: [v1, v2, v3, ...] + format: [[UTC_ms1, v1], [UTC_ms2, v2], [UTC_ms3, v3], ...] - NB. - 每一天都要有数据,否则时间轴对不上 (load_card.js: redraw_chard()) - TODO: - workaround for the above problem! + NOTE: UTC_ms: is the 'ms' from '1970-01-01T00:00.00Z' + GET parameters: + begin, end, format: 'YYYY-MM-DD', '%Y-%m-%d' + '%Y-%m-%dT%H:%M:%S.%fZ' """ - # TODO + # default parameters + data = [] + begin_date = "" + end_date = "" + # if request.is_ajax(): - result = [6.0, 5.9, 5.5, 4.5, 6.2, 6.5, 5.2, 6.0, - 5.9, 5.5, 4.5, 6.2, 6.5, 5.2, 6.0, 5.9, - 5.5, 4.5, 6.2, 6.5] - else: - result = '' - #raise Http404 - return HttpResponse(json.dumps(result), - mimetype='application/json') + # check card_id -> indicator_id + if request.GET.get('card_id') is not None: + card_id = request.GET.get('card_id') + try: + indicator_id = int(card_id) + except ValueError: + print u'Error: Given card_id="%s" cannot convert to integer' % card_id + return HttpResponse(json.dumps(data), + mimetype='application/json') + else: + return HttpResponse(json.dumps(data), + mimetype='application/json') + # begin datetime + if request.GET.get('begin') is not None: + begin = request.GET.get('begin') + try: + begin_datetime = datetime.datetime.strptime(begin, + '%Y-%m-%d') + begin_date = begin_datetime.date() + except ValueError: + print u'Error: Given begin="%s" invalid' % begin + return HttpResponse(json.dumps(data), + mimetype='application/json') + # end datetime + if request.GET.get('end') is not None: + end = request.GET.get('end') + try: + end_datetime = datetime.datetime.strptime(end, + '%Y-%m-%d') + end_date = end_datetime.date() + except ValueError: + print u'Error: Given end="%s" invalid' % end + return HttpResponse(json.dumps(data), + mimetype='application/json') + # get records data + records_data = get_record_std(user_id=request.user.id, + indicator_id=indicator_id, + begin=begin_date, end=end_date) + # convert to list, and sort + rd_list = [] + for r in records_data.values(): + rd_list += r + rd_list_sorted = sorted(rd_list, key = lambda item: item['date']) + # + ind_obj = get_object_or_404(im.Indicator, id=indicator_id) + dataType = ind_obj.dataType + unix_begin = datetime.datetime(1970, 1, 1, 0, 0) + data = [] + for r in rd_list_sorted: + dt = datetime.datetime.strptime(r['date'], '%Y-%m-%d') + time_ms = (dt-unix_begin).total_seconds() * 1000.0 + if dataType == im.Indicator.INTEGER_TYPE: + # TODO + pass + elif dataType == im.Indicator.FLOAT_TYPE: + value = r['value'] + data.append([time_ms, value]) + elif dataType == im.Indicator.RANGE_TYPE: + val_min = r['val_min'] + val_max = r['val_max'] + data.append([time_ms, val_min, val_max]) + elif dataType == im.Indicator.FLOAT_RANGE_TYPE: + # TODO + pass + elif dataType == im.Indicator.PM_TYPE: + # TODO + pass + else: + print u'Error: unknow dataType' + return HttpResponse(json.dumps(data), + mimetype='application/json') + + return HttpResponse(json.dumps(data), mimetype='application/json') # }}} diff --git a/97suifangqa/apps/sciblog/models.py b/97suifangqa/apps/sciblog/models.py index d48ceca..d6a63d4 100644 --- a/97suifangqa/apps/sciblog/models.py +++ b/97suifangqa/apps/sciblog/models.py @@ -181,19 +181,30 @@ class BlogAnnotation(models.Model): 文章注释 ''' - type_choices = ((0, u"段落注释"), - (1, u"专有名词"),) - - type = models.IntegerField(u"注释类型", choices=type_choices) + PARAGRAPH = 0 + PROPER_NOUN = 1 + ANNOTATION_TYPES = ( + (PARAGRAPH, u"段落注释"), + (PROPER_NOUN, u"专有名词"), + ) + + type = models.IntegerField(u"注释类型", choices=ANNOTATION_TYPES) no = models.IntegerField(u"编号", blank=True, null=True) - brief_content = models.CharField(u"简短内容", max_length=400, blank= True) + brief_content = models.CharField(u"简短内容", max_length=400, + blank=True) detail = models.TextField(u"详细内容", blank=True) - blogs = models.ManyToManyField("SciBlog", verbose_name=u"文章", related_name="annotations", null=True, blank=True) - keywords = models.ManyToManyField("info.KeyWord", verbose_name=u"关键词", related_name="annotations", null=True, blank=True) - figures = models.ManyToManyField("figure.Figure", verbose_name=u"图片", related_name="annotations", null=True, blank=True) - collected_by = models.ManyToManyField(User, verbose_name=u"收藏者", related_name="annotation_collection", null=True, blank=True) + blogs = models.ManyToManyField("SciBlog", verbose_name=u"文章", + related_name="annotations", null=True, blank=True) + keywords = models.ManyToManyField("info.KeyWord", + verbose_name=u"关键词", related_name="annotations", + null=True, blank=True) + figures = models.ManyToManyField("figure.Figure", + verbose_name=u"图片", related_name="annotations", + null=True, blank=True) + collected_by = models.ManyToManyField(User, + verbose_name=u"收藏者", related_name="annotation_collection", + null=True, blank=True) objects = AnnotationManager() - class Meta: verbose_name_plural = u"文章注释" @@ -208,6 +219,10 @@ class BlogAnnotation(models.Model): """ return self.__unicode__() + def get_absolute_url(self): + # TODO + return '' + def firstkeyword(self): u''' 第一个关键词,注意对于专有名词,通常只有一个 @@ -217,7 +232,8 @@ class BlogAnnotation(models.Model): def firstparagraph(self): u''' - bloglist页面二上内容的阶段,django里面的注释第一段的末尾都是一个空格 + bloglist页面二上内容的阶段, + django里面的注释第一段的末尾都是一个空格 ''' return self.detail.split(' ')[0] @@ -227,7 +243,8 @@ class BlogAnnotation(models.Model): ''' if user.is_authenticated() and user.annotation_collection.filter(id=self.id): return True - return False + else: + return False # }}} diff --git a/97suifangqa/env/requirements.pip b/97suifangqa/env/requirements.pip index c362dad..e72b71d 100644 --- a/97suifangqa/env/requirements.pip +++ b/97suifangqa/env/requirements.pip @@ -1,6 +1,7 @@ #-*- coding: utf-8 -*- # 安装指定依赖的第三方库和版本:pip install -r requirements.pip django < 1.5 +sympy PIL lxml pysolr diff --git a/97suifangqa/isuifangqa.db b/97suifangqa/isuifangqa.db index d68665f..7f49080 100644 Binary files a/97suifangqa/isuifangqa.db and b/97suifangqa/isuifangqa.db differ diff --git a/97suifangqa/staticfiles/javascripts/jargon-display.js b/97suifangqa/staticfiles/javascripts/jargon-display.js index c1af712..9ddfe91 100644 --- a/97suifangqa/staticfiles/javascripts/jargon-display.js +++ b/97suifangqa/staticfiles/javascripts/jargon-display.js @@ -31,8 +31,12 @@ function jargon_display(annotations) { jargonDisplayBox.data('jargon', jargon); $(".name", $(this)).text(jargon.name); $(".jargon-details", $(this)).html(jargon.content); - if (jargon.type == 0){$("a.collect", $(this)).hide()} - else {$("a.collect", $(this)).text(text).show()} + if (jargon.type == 0) { + $("a.collect", $(this)).hide(); + } + else { + $("a.collect", $(this)).text(text).show(); + } /* Maxwell modified */ }) @@ -130,3 +134,4 @@ function jargon_display(annotations) { }) } +// vim: set ts=4 sw=4 tw=0 fenc=utf-8 ft=javascript: -- cgit v1.2.2