formize 0.1.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (158) hide show
  1. data/README.rdoc +6 -40
  2. data/VERSION +1 -1
  3. data/lib/assets/javascripts/formize-autocomplete.js +11 -0
  4. data/lib/assets/javascripts/formize-behave.js +52 -0
  5. data/lib/assets/javascripts/formize-datepicker.js +115 -0
  6. data/lib/assets/javascripts/formize-dependents.js +50 -0
  7. data/lib/assets/javascripts/formize-dialog.js +123 -0
  8. data/lib/assets/javascripts/formize-observe.js +24 -0
  9. data/lib/assets/javascripts/formize-popover-form.js +32 -0
  10. data/lib/assets/javascripts/formize-timepicker.js +57 -0
  11. data/lib/assets/javascripts/formize-toggle.js +24 -0
  12. data/lib/assets/javascripts/formize-unroll.js +30 -0
  13. data/lib/assets/javascripts/formize.js +10 -436
  14. data/lib/formize.rb +5 -65
  15. data/lib/formize/action_controller.rb +75 -46
  16. data/lib/formize/generator.rb +160 -547
  17. data/lib/formize/helpers/form_helper.rb +40 -38
  18. data/lib/formize/rails/railtie.rb +1 -1
  19. data/test/ci/Gemfile.rails-3.1 +9 -0
  20. data/test/ci/Gemfile.rails-3.2 +9 -0
  21. data/vendor/assets/javascripts/jquery-ui-timepicker-addon.js +1882 -0
  22. data/vendor/assets/javascripts/locales/jquery-ui-timepicker-af.js +20 -0
  23. data/vendor/assets/javascripts/locales/jquery-ui-timepicker-bg.js +20 -0
  24. data/vendor/assets/javascripts/locales/jquery-ui-timepicker-ca.js +20 -0
  25. data/{lib/assets/javascripts/locales/jquery.ui.timepicker-cs.js → vendor/assets/javascripts/locales/jquery-ui-timepicker-cs.js} +5 -2
  26. data/{lib/assets/javascripts/locales/jquery.ui.timepicker-de.js → vendor/assets/javascripts/locales/jquery-ui-timepicker-de.js} +5 -2
  27. data/{lib/assets/javascripts/locales/jquery.ui.timepicker-el.js → vendor/assets/javascripts/locales/jquery-ui-timepicker-el.js} +5 -2
  28. data/{lib/assets/javascripts/locales/jquery.ui.timepicker-es.js → vendor/assets/javascripts/locales/jquery-ui-timepicker-es.js} +5 -2
  29. data/vendor/assets/javascripts/locales/jquery-ui-timepicker-et.js +20 -0
  30. data/vendor/assets/javascripts/locales/jquery-ui-timepicker-fi.js +20 -0
  31. data/{lib/assets/javascripts/locales/jquery.ui.timepicker-fr.js → vendor/assets/javascripts/locales/jquery-ui-timepicker-fr.js} +5 -2
  32. data/vendor/assets/javascripts/locales/jquery-ui-timepicker-gl.js +20 -0
  33. data/vendor/assets/javascripts/locales/jquery-ui-timepicker-he.js +20 -0
  34. data/{lib/assets/javascripts/locales/jquery.ui.timepicker-hu.js → vendor/assets/javascripts/locales/jquery-ui-timepicker-hu.js} +5 -2
  35. data/{lib/assets/javascripts/locales/jquery.ui.timepicker-id.js → vendor/assets/javascripts/locales/jquery-ui-timepicker-id.js} +5 -2
  36. data/{lib/assets/javascripts/locales/jquery.ui.timepicker-it.js → vendor/assets/javascripts/locales/jquery-ui-timepicker-it.js} +5 -2
  37. data/vendor/assets/javascripts/locales/jquery-ui-timepicker-ja.js +20 -0
  38. data/vendor/assets/javascripts/locales/jquery-ui-timepicker-ko.js +20 -0
  39. data/{lib/assets/javascripts/locales/jquery.ui.timepicker-lt.js → vendor/assets/javascripts/locales/jquery-ui-timepicker-lt.js} +5 -2
  40. data/{lib/assets/javascripts/locales/jquery.ui.timepicker-nl.js → vendor/assets/javascripts/locales/jquery-ui-timepicker-nl.js} +5 -2
  41. data/vendor/assets/javascripts/locales/jquery-ui-timepicker-no.js +20 -0
  42. data/vendor/assets/javascripts/locales/jquery-ui-timepicker-pl.js +20 -0
  43. data/vendor/assets/javascripts/locales/jquery-ui-timepicker-pt-BR.js +20 -0
  44. data/vendor/assets/javascripts/locales/jquery-ui-timepicker-pt.js +20 -0
  45. data/vendor/assets/javascripts/locales/jquery-ui-timepicker-ro.js +20 -0
  46. data/{lib/assets/javascripts/locales/jquery.ui.timepicker-ru.js → vendor/assets/javascripts/locales/jquery-ui-timepicker-ru.js} +7 -4
  47. data/vendor/assets/javascripts/locales/jquery-ui-timepicker-sk.js +20 -0
  48. data/vendor/assets/javascripts/locales/jquery-ui-timepicker-sv.js +20 -0
  49. data/{lib/assets/javascripts/locales/jquery.ui.timepicker-tr.js → vendor/assets/javascripts/locales/jquery-ui-timepicker-tr.js} +6 -3
  50. data/vendor/assets/javascripts/locales/jquery-ui-timepicker-uk.js +20 -0
  51. data/vendor/assets/javascripts/locales/jquery-ui-timepicker-vi.js +20 -0
  52. data/vendor/assets/javascripts/locales/jquery-ui-timepicker-zh-CN.js +20 -0
  53. data/vendor/assets/javascripts/locales/jquery-ui-timepicker-zh-TW.js +20 -0
  54. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-af.js +1 -1
  55. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-ar-DZ.js +23 -0
  56. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-ar.js +23 -0
  57. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-az.js +4 -4
  58. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-be.js +23 -0
  59. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-bg.js +24 -0
  60. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-bs.js +6 -6
  61. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-ca.js +23 -0
  62. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-cs.js +4 -4
  63. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-cy-GB.js +23 -0
  64. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-da.js +23 -0
  65. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-de-CH.js +0 -0
  66. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-de.js +4 -4
  67. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-el.js +2 -2
  68. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-en-AU.js +23 -0
  69. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-en-GB.js +1 -1
  70. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-en-NZ.js +23 -0
  71. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-eo.js +3 -3
  72. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-es.js +6 -6
  73. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-et.js +3 -3
  74. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-eu.js +23 -0
  75. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-fa.js +59 -0
  76. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-fi.js +23 -0
  77. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-fo.js +4 -4
  78. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-fr-CA.js +23 -0
  79. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-fr-CH.js +2 -2
  80. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-fr.js +25 -0
  81. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-gl.js +23 -0
  82. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-he.js +5 -5
  83. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-hi.js +23 -0
  84. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-hr.js +4 -4
  85. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-hu.js +7 -7
  86. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-hy.js +3 -3
  87. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-id.js +3 -3
  88. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-is.js +23 -0
  89. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-it.js +3 -3
  90. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-ja.js +4 -4
  91. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-ka.js +21 -0
  92. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-kk.js +23 -0
  93. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-km.js +23 -0
  94. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-ko.js +8 -8
  95. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-ky.js +24 -0
  96. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-lb.js +23 -0
  97. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-lt.js +3 -3
  98. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-lv.js +1 -1
  99. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-mk.js +23 -0
  100. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-ml.js +23 -0
  101. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-ms.js +3 -3
  102. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-nb.js +22 -0
  103. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-nl-BE.js +23 -23
  104. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-nl.js +5 -5
  105. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-nn.js +22 -0
  106. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-no.js +23 -0
  107. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-pl.js +4 -4
  108. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-pt-BR.js +7 -7
  109. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-pt.js +22 -0
  110. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-rm.js +21 -0
  111. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-ro.js +4 -4
  112. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-ru.js +4 -4
  113. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-sk.js +4 -4
  114. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-sl.js +6 -6
  115. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-sq.js +3 -3
  116. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-sr-SR.js +3 -3
  117. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-sr.js +3 -3
  118. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-sv.js +23 -0
  119. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-ta.js +1 -1
  120. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-th.js +5 -5
  121. data/vendor/assets/javascripts/locales/jquery.ui.datepicker-tj.js +23 -0
  122. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-tr.js +2 -2
  123. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-uk.js +5 -4
  124. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-vi.js +3 -3
  125. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-zh-CN.js +4 -4
  126. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-zh-HK.js +4 -4
  127. data/{lib → vendor}/assets/javascripts/locales/jquery.ui.datepicker-zh-TW.js +5 -5
  128. metadata +127 -92
  129. data/lib/assets/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  130. data/lib/assets/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  131. data/lib/assets/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  132. data/lib/assets/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  133. data/lib/assets/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  134. data/lib/assets/images/ui-bg_glass_75_ffffff_1x400.png +0 -0
  135. data/lib/assets/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  136. data/lib/assets/images/ui-bg_inset-soft_95_fef1ec_1x100.png +0 -0
  137. data/lib/assets/images/ui-icons_222222_256x240.png +0 -0
  138. data/lib/assets/images/ui-icons_2e83ff_256x240.png +0 -0
  139. data/lib/assets/images/ui-icons_454545_256x240.png +0 -0
  140. data/lib/assets/images/ui-icons_888888_256x240.png +0 -0
  141. data/lib/assets/images/ui-icons_cd0a0a_256x240.png +0 -0
  142. data/lib/assets/javascripts/jquery.ui.formize.js +0 -380
  143. data/lib/assets/javascripts/jquery.ui.timepicker.js +0 -1060
  144. data/lib/assets/javascripts/locales/jquery.ui.datepicker-ar.js +0 -24
  145. data/lib/assets/javascripts/locales/jquery.ui.datepicker-bg.js +0 -24
  146. data/lib/assets/javascripts/locales/jquery.ui.datepicker-ca.js +0 -23
  147. data/lib/assets/javascripts/locales/jquery.ui.datepicker-da.js +0 -23
  148. data/lib/assets/javascripts/locales/jquery.ui.datepicker-eu.js +0 -23
  149. data/lib/assets/javascripts/locales/jquery.ui.datepicker-fa.js +0 -23
  150. data/lib/assets/javascripts/locales/jquery.ui.datepicker-fi.js +0 -23
  151. data/lib/assets/javascripts/locales/jquery.ui.datepicker-fr.js +0 -23
  152. data/lib/assets/javascripts/locales/jquery.ui.datepicker-is.js +0 -23
  153. data/lib/assets/javascripts/locales/jquery.ui.datepicker-no.js +0 -23
  154. data/lib/assets/javascripts/locales/jquery.ui.datepicker-sv.js +0 -23
  155. data/lib/assets/javascripts/locales/jquery.ui.timepicker-et.js +0 -17
  156. data/lib/assets/javascripts/locales/jquery.ui.timepicker-vi.js +0 -17
  157. data/lib/assets/stylesheets/formize.css +0 -20
  158. data/lib/assets/stylesheets/jquery-ui.css +0 -586
@@ -0,0 +1,32 @@
1
+ (function ($) {
2
+
3
+ // Opens a dialog for a resource creation
4
+ $(document).behave("click", "a[data-add-item]", function() {
5
+ var element = $(this);
6
+ var list_id = '#'+element.data('add-item'), list = $(list_id);
7
+ var url = element.attr('href');
8
+ $.ajaxDialog(url, {
9
+ returns: {
10
+ success: function (frame, data, textStatus, request) {
11
+ var record_id = request.getResponseHeader("X-Saved-Record-Id");
12
+ if (list[0] !== undefined) {
13
+ $.ajax(list.attr('data-refresh'), {
14
+ data: {selected: record_id},
15
+ success: function(data, textStatus, request) {
16
+ list.replaceWith(request.responseText);
17
+ $(list_id + ' input').trigger("emulated:change");
18
+ }
19
+ });
20
+ }
21
+ frame.dialog("close");
22
+ },
23
+ invalid: function (frame, data, textStatus, request) {
24
+ frame.html(request.responseText);
25
+ }
26
+ },
27
+ });
28
+ return false;
29
+ });
30
+
31
+
32
+ })(jQuery);
@@ -0,0 +1,57 @@
1
+ //= require jquery-ui-timepicker-addon
2
+ //= require locales/jquery-ui-timepicker-af
3
+ //= require locales/jquery-ui-timepicker-bg
4
+ //= require locales/jquery-ui-timepicker-ca
5
+ //= require locales/jquery-ui-timepicker-cs
6
+ //= require locales/jquery-ui-timepicker-de
7
+ //= require locales/jquery-ui-timepicker-el
8
+ //= require locales/jquery-ui-timepicker-es
9
+ //= require locales/jquery-ui-timepicker-et
10
+ //= require locales/jquery-ui-timepicker-fi
11
+ //= require locales/jquery-ui-timepicker-fr
12
+ //= require locales/jquery-ui-timepicker-gl
13
+ //= require locales/jquery-ui-timepicker-he
14
+ //= require locales/jquery-ui-timepicker-hu
15
+ //= require locales/jquery-ui-timepicker-id
16
+ //= require locales/jquery-ui-timepicker-it
17
+ //= require locales/jquery-ui-timepicker-ja
18
+ //= require locales/jquery-ui-timepicker-ko
19
+ //= require locales/jquery-ui-timepicker-lt
20
+ //= require locales/jquery-ui-timepicker-nl
21
+ //= require locales/jquery-ui-timepicker-no
22
+ //= require locales/jquery-ui-timepicker-pl
23
+ //= require locales/jquery-ui-timepicker-pt-BR
24
+ //= require locales/jquery-ui-timepicker-pt
25
+ //= require locales/jquery-ui-timepicker-ro
26
+ //= require locales/jquery-ui-timepicker-ru
27
+ //= require locales/jquery-ui-timepicker-sk
28
+ //= require locales/jquery-ui-timepicker-sv
29
+ //= require locales/jquery-ui-timepicker-tr
30
+ //= require locales/jquery-ui-timepicker-uk
31
+ //= require locales/jquery-ui-timepicker-vi
32
+ //= require locales/jquery-ui-timepicker-zh-CN
33
+ //= require locales/jquery-ui-timepicker-zh-TW
34
+
35
+ (function ($) {
36
+
37
+ // // Initializes date fields
38
+ // // Can't work properly with actual datetimepicker
39
+ // $(document).behave('input[data-timepicker]', "load", function() {
40
+ // var element = $(this);
41
+ // var locale = element.data("locale");
42
+ // var options = $.datepicker.regional[locale];
43
+ // if (element.data("date-format") !== null) {
44
+ // options['dateFormat'] = element.data("date-format");
45
+ // }
46
+ // if (element.data("time-format") !== null) {
47
+ // options['timeFormat'] = element.data("time-format");
48
+ // }
49
+ // options['altField'] = '#'+element.data("datetimepicker");
50
+ // options['altFormat'] = 'yy-mm-dd';
51
+ // options['altFieldTimeOnly'] = false;
52
+ // options['showSecond'] = true;
53
+ // // options['defaultDate'] = element.val();
54
+ // element.datetimepicker(options);
55
+ // });
56
+
57
+ })(jQuery);
@@ -0,0 +1,24 @@
1
+ (function ($) {
2
+
3
+ $.toggleCheckboxes = function () {
4
+ var checkable = $(this);
5
+ if (checkable.prop("checked")) {
6
+ $(checkable.attr('data-show')).slideDown();
7
+ $(checkable.attr('data-hide')).slideUp();
8
+ } else {
9
+ $(checkable.attr('data-show')).slideUp();
10
+ $(checkable.attr('data-hide')).slideDown();
11
+ }
12
+ };
13
+
14
+ $.toggleRadios = function () {
15
+ $("input[type='radio'][data-show], input[type='radio'][data-hide]").each($.toggleCheckboxes);
16
+ };
17
+
18
+ // Hide/show blocks depending on check boxes
19
+ $(document).behave("load", "input[type='checkbox'][data-show], input[type='checkbox'][data-hide]", $.toggleCheckboxes);
20
+ $(document).behave("change", "input[type='checkbox'][data-show], input[type='checkbox'][data-hide]", $.toggleCheckboxes)
21
+ $(document).behave("load", "input[type='radio'][data-show], input[type='radio'][data-hide]", $.toggleCheckboxes);
22
+ $(document).behave("change", "input[type='radio'][data-show], input[type='radio'][data-hide]", $.toggleRadios)
23
+
24
+ })(jQuery);
@@ -0,0 +1,30 @@
1
+ (function($) {
2
+ // Initializes unroll inputs
3
+ $(document).behave('load', 'input[data-unroll]', function() {
4
+ var element = $(this), choices, paramName;
5
+
6
+ element.unrollCache = element.val();
7
+ element.autocompleteType = "text";
8
+ element.valueField = $('#'+element.attr('data-value-container'))[0];
9
+ if ($.isEmptyObject(element.valueField)) {
10
+ alert('An input '+element.id+' with a "data-unroll" attribute must contain a "data-value-container" attribute');
11
+ element.autocompleteType = "id";
12
+ }
13
+ element.maxResize = parseInt(element.attr('data-max-resize'));
14
+ if (isNaN(element.maxResize) || element.maxResize === 0) { element.maxResize = 64; }
15
+ element.size = (element.unrollCache.length < 32 ? 32 : element.unrollCache.length > element.maxResize ? element.maxResize : element.unrollCache.length);
16
+
17
+ element.autocomplete({
18
+ source: element.attr('data-unroll'),
19
+ minLength: 1,
20
+ select: function(event, ui) {
21
+ var selected = ui.item;
22
+ element.valueField.value = selected.id;
23
+ element.unrollCache = selected.label;
24
+ element.attr("size", (element.unrollCache.length < 32 ? 32 : element.unrollCache.length > element.maxResize ? element.maxResize : element.unrollCache.length));
25
+ $(element.valueField).trigger("emulated:change");
26
+ return true;
27
+ }
28
+ });
29
+ });
30
+ })(jQuery);
@@ -1,436 +1,10 @@
1
- (function($) {
2
- $.datepicker.regional['af'] = { closeText: 'Selekteer', prevText: 'Vorige', nextText: 'Volgende', currentText: 'Vandag', monthNames: ['Januarie','Februarie','Maart','April','Mei','Junie', 'Julie','Augustus','September','Oktober','November','Desember'], monthNamesShort: ['Jan', 'Feb', 'Mrt', 'Apr', 'Mei', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Des'], dayNames: ['Sondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrydag', 'Saterdag'], dayNamesShort: ['Son', 'Maa', 'Din', 'Woe', 'Don', 'Vry', 'Sat'], dayNamesMin: ['So','Ma','Di','Wo','Do','Vr','Sa'], weekHeader: 'Wk', dateFormat: 'dd/mm/yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
3
- $.datepicker.regional['ar'] = { closeText: 'إغلاق', prevText: '&#x3c;السابق', nextText: 'التالي&#x3e;', currentText: 'اليوم', monthNames: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'آذار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], monthNamesShort: ['1','2','3','4','5','6','7','8','9','10','11','12'], dayNames: ['السبت', 'الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة'], dayNamesShort: ['سبت', 'أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة'], dayNamesMin: ['سبت', 'أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة'], weekHeader: 'أسبوع', dateFormat: 'dd/mm/yy', firstDay: 0, isRTL: true, showMonthAfterYear: false, yearSuffix: ''};
4
- $.datepicker.regional['az'] = { closeText: 'Bağla', prevText: '&#x3c;Geri', nextText: 'İrəli&#x3e;', currentText: 'Bugün', monthNames: ['Yanvar','Fevral','Mart','Aprel','May','İyun', 'İyul','Avqust','Sentyabr','Oktyabr','Noyabr','Dekabr'], monthNamesShort: ['Yan','Fev','Mar','Apr','May','İyun', 'İyul','Avq','Sen','Okt','Noy','Dek'], dayNames: ['Bazar','Bazar ertəsi','Çərşənbə axşamı','Çərşənbə','Cümə axşamı','Cümə','Şənbə'], dayNamesShort: ['B','Be','Ça','Ç','Ca','C','Ş'], dayNamesMin: ['B','B','Ç','С','Ç','C','Ş'], weekHeader: 'Hf', dateFormat: 'dd.mm.yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
5
- $.datepicker.regional['bg'] = { closeText: 'затвори', prevText: '&#x3c;назад', nextText: 'напред&#x3e;', nextBigText: '&#x3e;&#x3e;', currentText: 'днес', monthNames: ['Януари','Февруари','Март','Април','Май','Юни', 'Юли','Август','Септември','Октомври','Ноември','Декември'], monthNamesShort: ['Яну','Фев','Мар','Апр','Май','Юни', 'Юли','Авг','Сеп','Окт','Нов','Дек'], dayNames: ['Неделя','Понеделник','Вторник','Сряда','Четвъртък','Петък','Събота'], dayNamesShort: ['Нед','Пон','Вто','Сря','Чет','Пет','Съб'], dayNamesMin: ['Не','По','Вт','Ср','Че','Пе','Съ'], weekHeader: 'Wk', dateFormat: 'dd.mm.yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
6
- $.datepicker.regional['bs'] = { closeText: 'Zatvori', prevText: '&#x3c;', nextText: '&#x3e;', currentText: 'Danas', monthNames: ['Januar','Februar','Mart','April','Maj','Juni', 'Juli','August','Septembar','Oktobar','Novembar','Decembar'], monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun', 'Jul','Aug','Sep','Okt','Nov','Dec'], dayNames: ['Nedelja','Ponedeljak','Utorak','Srijeda','Četvrtak','Petak','Subota'], dayNamesShort: ['Ned','Pon','Uto','Sri','Čet','Pet','Sub'], dayNamesMin: ['Ne','Po','Ut','Sr','Če','Pe','Su'], weekHeader: 'Wk', dateFormat: 'dd.mm.yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
7
- $.datepicker.regional['ca'] = { closeText: 'Tancar', prevText: '&#x3c;Ant', nextText: 'Seg&#x3e;', currentText: 'Avui', monthNames: ['Gener','Febrer','Mar&ccedil;','Abril','Maig','Juny', 'Juliol','Agost','Setembre','Octubre','Novembre','Desembre'], monthNamesShort: ['Gen','Feb','Mar','Abr','Mai','Jun', 'Jul','Ago','Set','Oct','Nov','Des'], dayNames: ['Diumenge','Dilluns','Dimarts','Dimecres','Dijous','Divendres','Dissabte'], dayNamesShort: ['Dug','Dln','Dmt','Dmc','Djs','Dvn','Dsb'], dayNamesMin: ['Dg','Dl','Dt','Dc','Dj','Dv','Ds'], weekHeader: 'Sm', dateFormat: 'dd/mm/yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
8
- $.datepicker.regional['cs'] = { closeText: 'Zavřít', prevText: '&#x3c;Dříve', nextText: 'Později&#x3e;', currentText: 'Nyní', monthNames: ['leden','únor','březen','duben','květen','červen', 'červenec','srpen','září','říjen','listopad','prosinec'], monthNamesShort: ['led','úno','bře','dub','kvě','čer', 'čvc','srp','zář','říj','lis','pro'], dayNames: ['neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', 'sobota'], dayNamesShort: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'], dayNamesMin: ['ne','po','út','st','čt','pá','so'], weekHeader: 'Týd', dateFormat: 'dd.mm.yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
9
- $.datepicker.regional['da'] = { closeText: 'Luk', prevText: '&#x3c;Forrige', nextText: 'Næste&#x3e;', currentText: 'Idag', monthNames: ['Januar','Februar','Marts','April','Maj','Juni', 'Juli','August','September','Oktober','November','December'], monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun', 'Jul','Aug','Sep','Okt','Nov','Dec'], dayNames: ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'], dayNamesShort: ['Søn','Man','Tir','Ons','Tor','Fre','Lør'], dayNamesMin: ['Sø','Ma','Ti','On','To','Fr','Lø'], weekHeader: 'Uge', dateFormat: 'dd-mm-yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
10
- $.datepicker.regional['de-CH'] = { closeText: 'schliessen', prevText: '&#x3c;zurück', nextText: 'nächster&#x3e;', currentText: 'heute', monthNames: ['Januar','Februar','März','April','Mai','Juni', 'Juli','August','September','Oktober','November','Dezember'], monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun', 'Jul','Aug','Sep','Okt','Nov','Dez'], dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'], dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'], dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'], weekHeader: 'Wo', dateFormat: 'dd.mm.yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
11
- $.datepicker.regional['de'] = { closeText: 'schließen', prevText: '&#x3c;zurück', nextText: 'Vor&#x3e;', currentText: 'heute', monthNames: ['Januar','Februar','März','April','Mai','Juni', 'Juli','August','September','Oktober','November','Dezember'], monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun', 'Jul','Aug','Sep','Okt','Nov','Dez'], dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'], dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'], dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'], weekHeader: 'Wo', dateFormat: 'dd.mm.yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
12
- $.datepicker.regional['el'] = { closeText: 'Κλείσιμο', prevText: 'Προηγούμενος', nextText: 'Επόμενος', currentText: 'Τρέχων Μήνας', monthNames: ['Ιανουάριος','Φεβρουάριος','Μάρτιος','Απρίλιος','Μάιος','Ιούνιος', 'Ιούλιος','Αύγουστος','Σεπτέμβριος','Οκτώβριος','Νοέμβριος','Δεκέμβριος'], monthNamesShort: ['Ιαν','Φεβ','Μαρ','Απρ','Μαι','Ιουν', 'Ιουλ','Αυγ','Σεπ','Οκτ','Νοε','Δεκ'], dayNames: ['Κυριακή','Δευτέρα','Τρίτη','Τετάρτη','Πέμπτη','Παρασκευή','Σάββατο'], dayNamesShort: ['Κυρ','Δευ','Τρι','Τετ','Πεμ','Παρ','Σαβ'], dayNamesMin: ['Κυ','Δε','Τρ','Τε','Πε','Πα','Σα'], weekHeader: 'Εβδ', dateFormat: 'dd/mm/yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
13
- $.datepicker.regional['en-GB'] = { 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: 'dd/mm/yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
14
- $.datepicker.regional['eo'] = { closeText: 'Fermi', prevText: '&lt;Anta', nextText: 'Sekv&gt;', currentText: 'Nuna', monthNames: ['Januaro','Februaro','Marto','Aprilo','Majo','Junio', 'Julio','Aŭgusto','Septembro','Oktobro','Novembro','Decembro'], monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun', 'Jul','Aŭg','Sep','Okt','Nov','Dec'], dayNames: ['Dimanĉo','Lundo','Mardo','Merkredo','Ĵaŭdo','Vendredo','Sabato'], dayNamesShort: ['Dim','Lun','Mar','Mer','Ĵaŭ','Ven','Sab'], dayNamesMin: ['Di','Lu','Ma','Me','Ĵa','Ve','Sa'], weekHeader: 'Sb', dateFormat: 'dd/mm/yy', firstDay: 0, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
15
- $.datepicker.regional['es'] = { closeText: 'Cerrar', prevText: '&#x3c;Ant', nextText: 'Sig&#x3e;', currentText: 'Hoy', monthNames: ['Enero','Febrero','Marzo','Abril','Mayo','Junio', 'Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'], monthNamesShort: ['Ene','Feb','Mar','Abr','May','Jun', 'Jul','Ago','Sep','Oct','Nov','Dic'], dayNames: ['Domingo','Lunes','Martes','Mi&eacute;rcoles','Jueves','Viernes','S&aacute;bado'], dayNamesShort: ['Dom','Lun','Mar','Mi&eacute;','Juv','Vie','S&aacute;b'], dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','S&aacute;'], weekHeader: 'Sm', dateFormat: 'dd/mm/yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
16
- $.datepicker.regional['et'] = { closeText: 'Sulge', prevText: 'Eelnev', nextText: 'Järgnev', currentText: 'Täna', monthNames: ['Jaanuar','Veebruar','Märts','Aprill','Mai','Juuni', 'Juuli','August','September','Oktoober','November','Detsember'], monthNamesShort: ['Jaan', 'Veebr', 'Märts', 'Apr', 'Mai', 'Juuni', 'Juuli', 'Aug', 'Sept', 'Okt', 'Nov', 'Dets'], dayNames: ['Pühapäev', 'Esmaspäev', 'Teisipäev', 'Kolmapäev', 'Neljapäev', 'Reede', 'Laupäev'], dayNamesShort: ['Pühap', 'Esmasp', 'Teisip', 'Kolmap', 'Neljap', 'Reede', 'Laup'], dayNamesMin: ['P','E','T','K','N','R','L'], weekHeader: 'Sm', dateFormat: 'dd.mm.yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
17
- $.datepicker.regional['eu'] = { closeText: 'Egina', prevText: '&#x3c;Aur', nextText: 'Hur&#x3e;', currentText: 'Gaur', monthNames: ['Urtarrila','Otsaila','Martxoa','Apirila','Maiatza','Ekaina', 'Uztaila','Abuztua','Iraila','Urria','Azaroa','Abendua'], monthNamesShort: ['Urt','Ots','Mar','Api','Mai','Eka', 'Uzt','Abu','Ira','Urr','Aza','Abe'], dayNames: ['Igandea','Astelehena','Asteartea','Asteazkena','Osteguna','Ostirala','Larunbata'], dayNamesShort: ['Iga','Ast','Ast','Ast','Ost','Ost','Lar'], dayNamesMin: ['Ig','As','As','As','Os','Os','La'], weekHeader: 'Wk', dateFormat: 'yy/mm/dd', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
18
- $.datepicker.regional['fa'] = { closeText: 'بستن', prevText: '&#x3c;قبلي', nextText: 'بعدي&#x3e;', currentText: 'امروز', monthNames: ['فروردين','ارديبهشت','خرداد','تير','مرداد','شهريور', 'مهر','آبان','آذر','دي','بهمن','اسفند'], monthNamesShort: ['1','2','3','4','5','6','7','8','9','10','11','12'], dayNames: ['يکشنبه','دوشنبه','سهشنبه','چهارشنبه','پنجشنبه','جمعه','شنبه'], dayNamesShort: ['ي','د','س','چ','پ','ج', 'ش'], dayNamesMin: ['ي','د','س','چ','پ','ج', 'ش'], weekHeader: 'هف', dateFormat: 'yy/mm/dd', firstDay: 6, isRTL: true, showMonthAfterYear: false, yearSuffix: ''};
19
- $.datepicker.regional['fi'] = { closeText: 'Sulje', prevText: '&laquo;Edellinen', nextText: 'Seuraava&raquo;', currentText: 'T&auml;n&auml;&auml;n', monthNames: ['Tammikuu','Helmikuu','Maaliskuu','Huhtikuu','Toukokuu','Kes&auml;kuu', 'Hein&auml;kuu','Elokuu','Syyskuu','Lokakuu','Marraskuu','Joulukuu'], monthNamesShort: ['Tammi','Helmi','Maalis','Huhti','Touko','Kes&auml;', 'Hein&auml;','Elo','Syys','Loka','Marras','Joulu'], dayNamesShort: ['Su','Ma','Ti','Ke','To','Pe','Su'], dayNames: ['Sunnuntai','Maanantai','Tiistai','Keskiviikko','Torstai','Perjantai','Lauantai'], dayNamesMin: ['Su','Ma','Ti','Ke','To','Pe','La'], weekHeader: 'Vk', dateFormat: 'dd.mm.yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
20
- $.datepicker.regional['fo'] = { closeText: 'Lat aftur', prevText: '&#x3c;Fyrra', nextText: 'Næsta&#x3e;', currentText: 'Í dag', monthNames: ['Januar','Februar','Mars','Apríl','Mei','Juni', 'Juli','August','September','Oktober','November','Desember'], monthNamesShort: ['Jan','Feb','Mar','Apr','Mei','Jun', 'Jul','Aug','Sep','Okt','Nov','Des'], dayNames: ['Sunnudagur','Mánadagur','Týsdagur','Mikudagur','Hósdagur','Fríggjadagur','Leyardagur'], dayNamesShort: ['Sun','Mán','Týs','Mik','Hós','Frí','Ley'], dayNamesMin: ['Su','Má','Tý','Mi','Hó','Fr','Le'], weekHeader: 'Vk', dateFormat: 'dd-mm-yy', firstDay: 0, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
21
- $.datepicker.regional['fr-CH'] = { closeText: 'Fermer', prevText: '&#x3c;Préc', nextText: 'Suiv&#x3e;', currentText: 'Courant', monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin', 'Juillet','Août','Septembre','Octobre','Novembre','Décembre'], monthNamesShort: ['Jan','Fév','Mar','Avr','Mai','Jun', 'Jul','Aoû','Sep','Oct','Nov','Déc'], dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'], dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'], dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'], weekHeader: 'Sm', dateFormat: 'dd.mm.yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
22
- $.datepicker.regional['fr'] = { closeText: 'Fermer', prevText: '&#x3c;Préc', nextText: 'Suiv&#x3e;', currentText: 'Courant', monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin', 'Juillet','Août','Septembre','Octobre','Novembre','Décembre'], monthNamesShort: ['Jan','Fév','Mar','Avr','Mai','Jun', 'Jul','Aoû','Sep','Oct','Nov','Déc'], dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'], dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'], dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'], weekHeader: 'Sm', dateFormat: 'dd/mm/yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
23
- $.datepicker.regional['he'] = { closeText: 'סגור', prevText: '&#x3c;הקודם', nextText: 'הבא&#x3e;', currentText: 'היום', monthNames: ['ינואר','פברואר','מרץ','אפריל','מאי','יוני', 'יולי','אוגוסט','ספטמבר','אוקטובר','נובמבר','דצמבר'], monthNamesShort: ['1','2','3','4','5','6', '7','8','9','10','11','12'], dayNames: ['ראשון','שני','שלישי','רביעי','חמישי','שישי','שבת'], dayNamesShort: ['א\'','ב\'','ג\'','ד\'','ה\'','ו\'','שבת'], dayNamesMin: ['א\'','ב\'','ג\'','ד\'','ה\'','ו\'','שבת'], weekHeader: 'Wk', dateFormat: 'dd/mm/yy', firstDay: 0, isRTL: true, showMonthAfterYear: false, yearSuffix: ''};
24
- $.datepicker.regional['hr'] = { closeText: 'Zatvori', prevText: '&#x3c;', nextText: '&#x3e;', currentText: 'Danas', monthNames: ['Siječanj','Veljača','Ožujak','Travanj','Svibanj','Lipanj', 'Srpanj','Kolovoz','Rujan','Listopad','Studeni','Prosinac'], monthNamesShort: ['Sij','Velj','Ožu','Tra','Svi','Lip', 'Srp','Kol','Ruj','Lis','Stu','Pro'], dayNames: ['Nedjelja','Ponedjeljak','Utorak','Srijeda','Četvrtak','Petak','Subota'], dayNamesShort: ['Ned','Pon','Uto','Sri','Čet','Pet','Sub'], dayNamesMin: ['Ne','Po','Ut','Sr','Če','Pe','Su'], weekHeader: 'Tje', dateFormat: 'dd.mm.yy.', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
25
- $.datepicker.regional['hu'] = { closeText: 'bezárás', prevText: '&laquo;&nbsp;vissza', nextText: 'előre&nbsp;&raquo;', currentText: 'ma', monthNames: ['Január', 'Február', 'Március', 'Április', 'Május', 'Június', 'Július', 'Augusztus', 'Szeptember', 'Október', 'November', 'December'], monthNamesShort: ['Jan', 'Feb', 'Már', 'Ápr', 'Máj', 'Jún', 'Júl', 'Aug', 'Szep', 'Okt', 'Nov', 'Dec'], dayNames: ['Vasárnap', 'Hétfö', 'Kedd', 'Szerda', 'Csütörtök', 'Péntek', 'Szombat'], dayNamesShort: ['Vas', 'Hét', 'Ked', 'Sze', 'Csü', 'Pén', 'Szo'], dayNamesMin: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'], weekHeader: 'Hé', dateFormat: 'yy-mm-dd', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
26
- $.datepicker.regional['hy'] = { closeText: 'Փակել', prevText: '&#x3c;Նախ.', nextText: 'Հաջ.&#x3e;', currentText: 'Այսօր', monthNames: ['Հունվար','Փետրվար','Մարտ','Ապրիլ','Մայիս','Հունիս', 'Հուլիս','Օգոստոս','Սեպտեմբեր','Հոկտեմբեր','Նոյեմբեր','Դեկտեմբեր'], monthNamesShort: ['Հունվ','Փետր','Մարտ','Ապր','Մայիս','Հունիս', 'Հուլ','Օգս','Սեպ','Հոկ','Նոյ','Դեկ'], dayNames: ['կիրակի','եկուշաբթի','երեքշաբթի','չորեքշաբթի','հինգշաբթի','ուրբաթ','շաբաթ'], dayNamesShort: ['կիր','երկ','երք','չրք','հնգ','ուրբ','շբթ'], dayNamesMin: ['կիր','երկ','երք','չրք','հնգ','ուրբ','շբթ'], weekHeader: 'ՇԲՏ', dateFormat: 'dd.mm.yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
27
- $.datepicker.regional['id'] = { closeText: 'Tutup', prevText: '&#x3c;mundur', nextText: 'maju&#x3e;', currentText: 'hari ini', monthNames: ['Januari','Februari','Maret','April','Mei','Juni', 'Juli','Agustus','September','Oktober','Nopember','Desember'], monthNamesShort: ['Jan','Feb','Mar','Apr','Mei','Jun', 'Jul','Agus','Sep','Okt','Nop','Des'], dayNames: ['Minggu','Senin','Selasa','Rabu','Kamis','Jumat','Sabtu'], dayNamesShort: ['Min','Sen','Sel','Rab','kam','Jum','Sab'], dayNamesMin: ['Mg','Sn','Sl','Rb','Km','jm','Sb'], weekHeader: 'Mg', dateFormat: 'dd/mm/yy', firstDay: 0, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
28
- $.datepicker.regional['is'] = { closeText: 'Loka', prevText: '&#x3c; Fyrri', nextText: 'N&aelig;sti &#x3e;', currentText: '&Iacute; dag', monthNames: ['Jan&uacute;ar','Febr&uacute;ar','Mars','Apr&iacute;l','Ma&iacute','J&uacute;n&iacute;', 'J&uacute;l&iacute;','&Aacute;g&uacute;st','September','Okt&oacute;ber','N&oacute;vember','Desember'], monthNamesShort: ['Jan','Feb','Mar','Apr','Ma&iacute;','J&uacute;n', 'J&uacute;l','&Aacute;g&uacute;','Sep','Okt','N&oacute;v','Des'], dayNames: ['Sunnudagur','M&aacute;nudagur','&THORN;ri&eth;judagur','Mi&eth;vikudagur','Fimmtudagur','F&ouml;studagur','Laugardagur'], dayNamesShort: ['Sun','M&aacute;n','&THORN;ri','Mi&eth;','Fim','F&ouml;s','Lau'], dayNamesMin: ['Su','M&aacute;','&THORN;r','Mi','Fi','F&ouml;','La'], weekHeader: 'Vika', dateFormat: 'dd/mm/yy', firstDay: 0, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
29
- $.datepicker.regional['it'] = { closeText: 'Chiudi', prevText: '&#x3c;Prec', nextText: 'Succ&#x3e;', currentText: 'Oggi', monthNames: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno', 'Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'], monthNamesShort: ['Gen','Feb','Mar','Apr','Mag','Giu', 'Lug','Ago','Set','Ott','Nov','Dic'], dayNames: ['Domenica','Luned&#236','Marted&#236','Mercoled&#236','Gioved&#236','Venerd&#236','Sabato'], dayNamesShort: ['Dom','Lun','Mar','Mer','Gio','Ven','Sab'], dayNamesMin: ['Do','Lu','Ma','Me','Gi','Ve','Sa'], weekHeader: 'Sm', dateFormat: 'dd/mm/yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
30
- $.datepicker.regional['ja'] = { closeText: '閉じる', prevText: '&#x3c;前', nextText: '次&#x3e;', currentText: '今日', monthNames: ['1月','2月','3月','4月','5月','6月', '7月','8月','9月','10月','11月','12月'], monthNamesShort: ['1月','2月','3月','4月','5月','6月', '7月','8月','9月','10月','11月','12月'], dayNames: ['日曜日','月曜日','火曜日','水曜日','木曜日','金曜日','土曜日'], dayNamesShort: ['日','月','火','水','木','金','土'], dayNamesMin: ['日','月','火','水','木','金','土'], weekHeader: '週', dateFormat: 'yy/mm/dd', firstDay: 0, isRTL: false, showMonthAfterYear: true, yearSuffix: '年'};
31
- $.datepicker.regional['ko'] = { closeText: '닫기', prevText: '이전달', nextText: '다음달', currentText: '오늘', monthNames: ['1월(JAN)','2월(FEB)','3월(MAR)','4월(APR)','5월(MAY)','6월(JUN)', '7월(JUL)','8월(AUG)','9월(SEP)','10월(OCT)','11월(NOV)','12월(DEC)'], monthNamesShort: ['1월(JAN)','2월(FEB)','3월(MAR)','4월(APR)','5월(MAY)','6월(JUN)', '7월(JUL)','8월(AUG)','9월(SEP)','10월(OCT)','11월(NOV)','12월(DEC)'], dayNames: ['일','월','화','수','목','금','토'], dayNamesShort: ['일','월','화','수','목','금','토'], dayNamesMin: ['일','월','화','수','목','금','토'], weekHeader: 'Wk', dateFormat: 'yy-mm-dd', firstDay: 0, isRTL: false, showMonthAfterYear: false, yearSuffix: '년'};
32
- $.datepicker.regional['lt'] = { closeText: 'Uždaryti', prevText: '&#x3c;Atgal', nextText: 'Pirmyn&#x3e;', currentText: 'Šiandien', monthNames: ['Sausis','Vasaris','Kovas','Balandis','Gegužė','Birželis', 'Liepa','Rugpjūtis','Rugsėjis','Spalis','Lapkritis','Gruodis'], monthNamesShort: ['Sau','Vas','Kov','Bal','Geg','Bir', 'Lie','Rugp','Rugs','Spa','Lap','Gru'], dayNames: ['sekmadienis','pirmadienis','antradienis','trečiadienis','ketvirtadienis','penktadienis','šeštadienis'], dayNamesShort: ['sek','pir','ant','tre','ket','pen','šeš'], dayNamesMin: ['Se','Pr','An','Tr','Ke','Pe','Še'], weekHeader: 'Wk', dateFormat: 'yy-mm-dd', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
33
- $.datepicker.regional['lv'] = { closeText: 'Aizvērt', prevText: 'Iepr', nextText: 'Nāka', currentText: 'Šodien', monthNames: ['Janvāris','Februāris','Marts','Aprīlis','Maijs','Jūnijs', 'Jūlijs','Augusts','Septembris','Oktobris','Novembris','Decembris'], monthNamesShort: ['Jan','Feb','Mar','Apr','Mai','Jūn', 'Jūl','Aug','Sep','Okt','Nov','Dec'], dayNames: ['svētdiena','pirmdiena','otrdiena','trešdiena','ceturtdiena','piektdiena','sestdiena'], dayNamesShort: ['svt','prm','otr','tre','ctr','pkt','sst'], dayNamesMin: ['Sv','Pr','Ot','Tr','Ct','Pk','Ss'], weekHeader: 'Nav', dateFormat: 'dd-mm-yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
34
- $.datepicker.regional['ms'] = { closeText: 'Tutup', prevText: '&#x3c;Sebelum', nextText: 'Selepas&#x3e;', currentText: 'hari ini', monthNames: ['Januari','Februari','Mac','April','Mei','Jun', 'Julai','Ogos','September','Oktober','November','Disember'], monthNamesShort: ['Jan','Feb','Mac','Apr','Mei','Jun', 'Jul','Ogo','Sep','Okt','Nov','Dis'], dayNames: ['Ahad','Isnin','Selasa','Rabu','Khamis','Jumaat','Sabtu'], dayNamesShort: ['Aha','Isn','Sel','Rab','kha','Jum','Sab'], dayNamesMin: ['Ah','Is','Se','Ra','Kh','Ju','Sa'], weekHeader: 'Mg', dateFormat: 'dd/mm/yy', firstDay: 0, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
35
- $.datepicker.regional['nl-BE'] = { closeText: 'Sluiten', prevText: '←', nextText: '→', currentText: 'Vandaag', monthNames: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'], monthNamesShort: ['jan', 'feb', 'maa', 'apr', 'mei', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'], dayNames: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'], dayNamesShort: ['zon', 'maa', 'din', 'woe', 'don', 'vri', 'zat'], dayNamesMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], weekHeader: 'Wk', dateFormat: 'dd/mm/yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
36
- $.datepicker.regional['nl'] = { closeText: 'Sluiten', prevText: '←', nextText: '→', currentText: 'Vandaag', monthNames: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'], monthNamesShort: ['jan', 'feb', 'maa', 'apr', 'mei', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'], dayNames: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'], dayNamesShort: ['zon', 'maa', 'din', 'woe', 'don', 'vri', 'zat'], dayNamesMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], weekHeader: 'Wk', dateFormat: 'dd-mm-yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
37
- $.datepicker.regional['no'] = { closeText: 'Lukk', prevText: '&laquo;Forrige', nextText: 'Neste&raquo;', currentText: 'I dag', monthNames: ['Januar','Februar','Mars','April','Mai','Juni', 'Juli','August','September','Oktober','November','Desember'], monthNamesShort: ['Jan','Feb','Mar','Apr','Mai','Jun', 'Jul','Aug','Sep','Okt','Nov','Des'], dayNamesShort: ['Søn','Man','Tir','Ons','Tor','Fre','Lør'], dayNames: ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'], dayNamesMin: ['Sø','Ma','Ti','On','To','Fr','Lø'], weekHeader: 'Uke', dateFormat: 'yy-mm-dd', firstDay: 0, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
38
- $.datepicker.regional['pl'] = { closeText: 'Zamknij', prevText: '&#x3c;Poprzedni', nextText: 'Następny&#x3e;', currentText: 'Dziś', monthNames: ['Styczeń','Luty','Marzec','Kwiecień','Maj','Czerwiec', 'Lipiec','Sierpień','Wrzesień','Październik','Listopad','Grudzień'], monthNamesShort: ['Sty','Lu','Mar','Kw','Maj','Cze', 'Lip','Sie','Wrz','Pa','Lis','Gru'], dayNames: ['Niedziela','Poniedzialek','Wtorek','Środa','Czwartek','Piątek','Sobota'], dayNamesShort: ['Nie','Pn','Wt','Śr','Czw','Pt','So'], dayNamesMin: ['N','Pn','Wt','Śr','Cz','Pt','So'], weekHeader: 'Tydz', dateFormat: 'yy-mm-dd', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
39
- $.datepicker.regional['pt-BR'] = { closeText: 'Fechar', prevText: '&#x3c;Anterior', nextText: 'Pr&oacute;ximo&#x3e;', currentText: 'Hoje', monthNames: ['Janeiro','Fevereiro','Mar&ccedil;o','Abril','Maio','Junho', 'Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'], monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun', 'Jul','Ago','Set','Out','Nov','Dez'], dayNames: ['Domingo','Segunda-feira','Ter&ccedil;a-feira','Quarta-feira','Quinta-feira','Sexta-feira','Sabado'], dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'], dayNamesMin: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'], weekHeader: 'Sm', dateFormat: 'dd/mm/yy', firstDay: 0, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
40
- $.datepicker.regional['ro'] = { closeText: 'Închide', prevText: '&laquo; Luna precedentă', nextText: 'Luna următoare &raquo;', currentText: 'Azi', monthNames: ['Ianuarie','Februarie','Martie','Aprilie','Mai','Iunie', 'Iulie','August','Septembrie','Octombrie','Noiembrie','Decembrie'], monthNamesShort: ['Ian', 'Feb', 'Mar', 'Apr', 'Mai', 'Iun', 'Iul', 'Aug', 'Sep', 'Oct', 'Noi', 'Dec'], dayNames: ['Duminică', 'Luni', 'Marţi', 'Miercuri', 'Joi', 'Vineri', 'Sâmbătă'], dayNamesShort: ['Dum', 'Lun', 'Mar', 'Mie', 'Joi', 'Vin', 'Sâm'], dayNamesMin: ['Du','Lu','Ma','Mi','Jo','Vi','Sâ'], weekHeader: 'Săpt', dateFormat: 'dd.mm.yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
41
- $.datepicker.regional['ru'] = { closeText: 'Закрыть', prevText: '&#x3c;Пред', nextText: 'След&#x3e;', currentText: 'Сегодня', monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь', 'Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'], monthNamesShort: ['Янв','Фев','Мар','Апр','Май','Июн', 'Июл','Авг','Сен','Окт','Ноя','Дек'], dayNames: ['воскресенье','понедельник','вторник','среда','четверг','пятница','суббота'], dayNamesShort: ['вск','пнд','втр','срд','чтв','птн','сбт'], dayNamesMin: ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'], weekHeader: 'Не', dateFormat: 'dd.mm.yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
42
- $.datepicker.regional['sk'] = { closeText: 'Zavrieť', prevText: '&#x3c;Predchádzajúci', nextText: 'Nasledujúci&#x3e;', currentText: 'Dnes', monthNames: ['Január','Február','Marec','Apríl','Máj','Jún', 'Júl','August','September','Október','November','December'], monthNamesShort: ['Jan','Feb','Mar','Apr','Máj','Jún', 'Júl','Aug','Sep','Okt','Nov','Dec'], dayNames: ['Nedel\'a','Pondelok','Utorok','Streda','Štvrtok','Piatok','Sobota'], dayNamesShort: ['Ned','Pon','Uto','Str','Štv','Pia','Sob'], dayNamesMin: ['Ne','Po','Ut','St','Št','Pia','So'], weekHeader: 'Ty', dateFormat: 'dd.mm.yy', firstDay: 0, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
43
- $.datepicker.regional['sl'] = { closeText: 'Zapri', prevText: '&lt;Prej&#x161;nji', nextText: 'Naslednji&gt;', currentText: 'Trenutni', monthNames: ['Januar','Februar','Marec','April','Maj','Junij', 'Julij','Avgust','September','Oktober','November','December'], monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun', 'Jul','Avg','Sep','Okt','Nov','Dec'], dayNames: ['Nedelja','Ponedeljek','Torek','Sreda','&#x10C;etrtek','Petek','Sobota'], dayNamesShort: ['Ned','Pon','Tor','Sre','&#x10C;et','Pet','Sob'], dayNamesMin: ['Ne','Po','To','Sr','&#x10C;e','Pe','So'], weekHeader: 'Teden', dateFormat: 'dd.mm.yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
44
- $.datepicker.regional['sq'] = { closeText: 'mbylle', prevText: '&#x3c;mbrapa', nextText: 'Përpara&#x3e;', currentText: 'sot', monthNames: ['Janar','Shkurt','Mars','Prill','Maj','Qershor', 'Korrik','Gusht','Shtator','Tetor','Nëntor','Dhjetor'], monthNamesShort: ['Jan','Shk','Mar','Pri','Maj','Qer', 'Kor','Gus','Sht','Tet','Nën','Dhj'], dayNames: ['E Diel','E Hënë','E Martë','E Mërkurë','E Enjte','E Premte','E Shtune'], dayNamesShort: ['Di','Hë','Ma','Më','En','Pr','Sh'], dayNamesMin: ['Di','Hë','Ma','Më','En','Pr','Sh'], weekHeader: 'Ja', dateFormat: 'dd.mm.yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
45
- $.datepicker.regional['sr-SR'] = { closeText: 'Zatvori', prevText: '&#x3c;', nextText: '&#x3e;', currentText: 'Danas', monthNames: ['Januar','Februar','Mart','April','Maj','Jun', 'Jul','Avgust','Septembar','Oktobar','Novembar','Decembar'], monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun', 'Jul','Avg','Sep','Okt','Nov','Dec'], dayNames: ['Nedelja','Ponedeljak','Utorak','Sreda','Četvrtak','Petak','Subota'], dayNamesShort: ['Ned','Pon','Uto','Sre','Čet','Pet','Sub'], dayNamesMin: ['Ne','Po','Ut','Sr','Če','Pe','Su'], weekHeader: 'Sed', dateFormat: 'dd/mm/yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
46
- $.datepicker.regional['sr'] = { closeText: 'Затвори', prevText: '&#x3c;', nextText: '&#x3e;', currentText: 'Данас', monthNames: ['Јануар','Фебруар','Март','Април','Мај','Јун', 'Јул','Август','Септембар','Октобар','Новембар','Децембар'], monthNamesShort: ['Јан','Феб','Мар','Апр','Мај','Јун', 'Јул','Авг','Сеп','Окт','Нов','Дец'], dayNames: ['Недеља','Понедељак','Уторак','Среда','Четвртак','Петак','Субота'], dayNamesShort: ['Нед','Пон','Уто','Сре','Чет','Пет','Суб'], dayNamesMin: ['Не','По','Ут','Ср','Че','Пе','Су'], weekHeader: 'Сед', dateFormat: 'dd/mm/yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
47
- $.datepicker.regional['sv'] = { closeText: 'Stäng', prevText: '&laquo;Förra', nextText: 'Nästa&raquo;', currentText: 'Idag', monthNames: ['Januari','Februari','Mars','April','Maj','Juni', 'Juli','Augusti','September','Oktober','November','December'], monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun', 'Jul','Aug','Sep','Okt','Nov','Dec'], dayNamesShort: ['Sön','Mån','Tis','Ons','Tor','Fre','Lör'], dayNames: ['Söndag','Måndag','Tisdag','Onsdag','Torsdag','Fredag','Lördag'], dayNamesMin: ['Sö','Må','Ti','On','To','Fr','Lö'], weekHeader: 'Ve', dateFormat: 'yy-mm-dd', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
48
- $.datepicker.regional['ta'] = { closeText: 'மூடு', prevText: 'முன்னையது', nextText: 'அடுத்தது', currentText: 'இன்று', monthNames: ['தை','மாசி','பங்குனி','சித்திரை','வைகாசி','ஆனி', 'ஆடி','ஆவணி','புரட்டாசி','ஐப்பசி','கார்த்திகை','மார்கழி'], monthNamesShort: ['தை','மாசி','பங்','சித்','வைகா','ஆனி', 'ஆடி','ஆவ','புர','ஐப்','கார்','மார்'], dayNames: ['ஞாயிற்றுக்கிழமை','திங்கட்கிழமை','செவ்வாய்க்கிழமை','புதன்கிழமை','வியாழக்கிழமை','வெள்ளிக்கிழமை','சனிக்கிழமை'], dayNamesShort: ['ஞாயிறு','திங்கள்','செவ்வாய்','புதன்','வியாழன்','வெள்ளி','சனி'], dayNamesMin: ['ஞா','தி','செ','பு','வி','வெ','ச'], weekHeader: 'Не', dateFormat: 'dd/mm/yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
49
- $.datepicker.regional['th'] = { closeText: 'ปิด', prevText: '&laquo;&nbsp;ย้อน', nextText: 'ถัดไป&nbsp;&raquo;', currentText: 'วันนี้', monthNames: ['มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน', 'กรกฏาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'], monthNamesShort: ['ม.ค.','ก.พ.','มี.ค.','เม.ย.','พ.ค.','มิ.ย.', 'ก.ค.','ส.ค.','ก.ย.','ต.ค.','พ.ย.','ธ.ค.'], dayNames: ['อาทิตย์','จันทร์','อังคาร','พุธ','พฤหัสบดี','ศุกร์','เสาร์'], dayNamesShort: ['อา.','จ.','อ.','พ.','พฤ.','ศ.','ส.'], dayNamesMin: ['อา.','จ.','อ.','พ.','พฤ.','ศ.','ส.'], weekHeader: 'Wk', dateFormat: 'dd/mm/yy', firstDay: 0, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
50
- $.datepicker.regional['tr'] = { closeText: 'kapat', prevText: '&#x3c;geri', nextText: 'ileri&#x3e', currentText: 'bugün', monthNames: ['Ocak','Şubat','Mart','Nisan','Mayıs','Haziran', 'Temmuz','Ağustos','Eylül','Ekim','Kasım','Aralık'], monthNamesShort: ['Oca','Şub','Mar','Nis','May','Haz', 'Tem','Ağu','Eyl','Eki','Kas','Ara'], dayNames: ['Pazar','Pazartesi','Salı','Çarşamba','Perşembe','Cuma','Cumartesi'], dayNamesShort: ['Pz','Pt','Sa','Ça','Pe','Cu','Ct'], dayNamesMin: ['Pz','Pt','Sa','Ça','Pe','Cu','Ct'], weekHeader: 'Hf', dateFormat: 'dd.mm.yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
51
- $.datepicker.regional['uk'] = { closeText: 'Закрити', prevText: '&#x3c;', nextText: '&#x3e;', currentText: 'Сьогодні', monthNames: ['Січень','Лютий','Березень','Квітень','Травень','Червень', 'Липень','Серпень','Вересень','Жовтень','Листопад','Грудень'], monthNamesShort: ['Січ','Лют','Бер','Кві','Тра','Чер', 'Лип','Сер','Вер','Жов','Лис','Гру'], dayNames: ['неділя','понеділок','вівторок','середа','четвер','п’ятниця','субота'], dayNamesShort: ['нед','пнд','вів','срд','чтв','птн','сбт'], dayNamesMin: ['Нд','Пн','Вт','Ср','Чт','Пт','Сб'], weekHeader: 'Не', dateFormat: 'dd/mm/yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
52
- $.datepicker.regional['vi'] = { closeText: 'Đóng', prevText: '&#x3c;Trước', nextText: 'Tiếp&#x3e;', currentText: 'Hôm nay', monthNames: ['Tháng Một', 'Tháng Hai', 'Tháng Ba', 'Tháng Tư', 'Tháng Năm', 'Tháng Sáu', 'Tháng Bảy', 'Tháng Tám', 'Tháng Chín', 'Tháng Mười', 'Tháng Mười Một', 'Tháng Mười Hai'], monthNamesShort: ['Tháng 1', 'Tháng 2', 'Tháng 3', 'Tháng 4', 'Tháng 5', 'Tháng 6', 'Tháng 7', 'Tháng 8', 'Tháng 9', 'Tháng 10', 'Tháng 11', 'Tháng 12'], dayNames: ['Chủ Nhật', 'Thứ Hai', 'Thứ Ba', 'Thứ Tư', 'Thứ Năm', 'Thứ Sáu', 'Thứ Bảy'], dayNamesShort: ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'], dayNamesMin: ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'], weekHeader: 'Tu', dateFormat: 'dd/mm/yy', firstDay: 0, isRTL: false, showMonthAfterYear: false, yearSuffix: ''};
53
- $.datepicker.regional['zh-CN'] = { closeText: '关闭', prevText: '&#x3c;上月', nextText: '下月&#x3e;', currentText: '今天', monthNames: ['一月','二月','三月','四月','五月','六月', '七月','八月','九月','十月','十一月','十二月'], monthNamesShort: ['一','二','三','四','五','六', '七','八','九','十','十一','十二'], dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'], dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'], dayNamesMin: ['日','一','二','三','四','五','六'], weekHeader: '周', dateFormat: 'yy-mm-dd', firstDay: 1, isRTL: false, showMonthAfterYear: true, yearSuffix: '年'};
54
- $.datepicker.regional['zh-HK'] = { closeText: '關閉', prevText: '&#x3c;上月', nextText: '下月&#x3e;', currentText: '今天', monthNames: ['一月','二月','三月','四月','五月','六月', '七月','八月','九月','十月','十一月','十二月'], monthNamesShort: ['一','二','三','四','五','六', '七','八','九','十','十一','十二'], dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'], dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'], dayNamesMin: ['日','一','二','三','四','五','六'], weekHeader: '周', dateFormat: 'dd-mm-yy', firstDay: 0, isRTL: false, showMonthAfterYear: true, yearSuffix: '年'};
55
- $.datepicker.regional['zh-TW'] = { closeText: '關閉', prevText: '&#x3c;上月', nextText: '下月&#x3e;', currentText: '今天', monthNames: ['一月','二月','三月','四月','五月','六月', '七月','八月','九月','十月','十一月','十二月'], monthNamesShort: ['一','二','三','四','五','六', '七','八','九','十','十一','十二'], dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'], dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'], dayNamesMin: ['日','一','二','三','四','五','六'], weekHeader: '周', dateFormat: 'yy/mm/dd', firstDay: 1, isRTL: false, showMonthAfterYear: true, yearSuffix: '年'};
56
- })(jQuery);
57
- /*jslint devel: true, browser: true, sloppy: true, vars: true, white: true, maxerr: 50, indent: 2 */
58
-
59
- (function ($) {
60
- // Replaces `$(selector).live("ready", handler)` which don't work
61
- // It rebinds automatically after each ajax request all not-binded.
62
- $.behavioursCount = 0;
63
- $.behaviours = [];
64
- $.behave = function (selector, events, handler) {
65
- events = events.split(/\s+/ig);
66
- for (var i = 0; i < events.length; i += 1) {
67
- var event = events[i];
68
- if (event === "load") {
69
- var index = $.behavioursCount; $.behavioursCount += 1;
70
- $.behaviours.push({selector: selector, handler: handler, index: index});
71
- $(document).ready(function(event) {
72
- $(selector).each(handler);
73
- $(selector).prop('alreadyBound'+index, true);
74
- });
75
- } else {
76
- $(selector).live(event, handler);
77
- }
78
- }
79
- }
80
- // Rebinds unbound elements on each ajax request.
81
- $(document).ajaxComplete(function () {
82
- for (var behaviour in $.behaviours) {
83
- behaviour = $.behaviours[behaviour];
84
- $(behaviour.selector).each(function(index, element){
85
- if ($(element).prop('alreadyBound'+behaviour.index) !== true) {
86
- behaviour.handler.call($(element));
87
- $(element).prop('alreadyBound'+behaviour.index, true);
88
- }
89
- });
90
- }
91
- });
92
-
93
-
94
- $.ajaxDialogCount = 0;
95
-
96
- $.ajaxDialog = function (url, settings) {
97
- var frame_id = "dialog-" + $.ajaxDialogCount, width = $(document).width();
98
- var defaultSettings = {
99
- header: "X-Return-Code",
100
- width: 0.6,
101
- height: 0.8
102
- };
103
- if (settings === null || settings === undefined) { settings = {}; }
104
- settings = $.extend({}, defaultSettings, settings);
105
- $.ajax(url, {
106
- data: {dialog: frame_id},
107
- success: function(data, textStatus, jqXHR) {
108
- var frame = $(document.createElement('div')), width, height;
109
- frame.attr({id: frame_id, 'class': 'dialog ajax-dialog', style: 'display:none;'});
110
- $('body').append(frame);
111
- frame.html(data);
112
- frame.prop("dialogSettings", settings);
113
- if (settings.width === 0) {
114
- width = 'auto';
115
- } else if (settings.width < 1) {
116
- width = $(window).width() * settings.width;
117
- } else {
118
- width = settings.width;
119
- }
120
- if (settings.height === 0) {
121
- height = 'auto';
122
- } else if (settings.height < 1) {
123
- height = $(window).height() * settings.height;
124
- } else {
125
- height = settings.height;
126
- }
127
- frame.dialog({
128
- autoOpen: false,
129
- show: 'fade',
130
- modal: true,
131
- width: width,
132
- height: height
133
- });
134
- $.ajaxDialogInitialize(frame);
135
- frame.dialog("open");
136
- },
137
- error: function(jqXHR, textStatus, errorThrown) {
138
- alert("FAILURE (Error "+textStatus+"): "+errorThrown);
139
- var frame = $("#" + frame_id);
140
- frame.dialog("close");
141
- frame.remove();
142
- }
143
- });
144
- $.ajaxDialogCount += 1;
145
- };
146
-
147
- $.ajaxDialogInitialize = function(frame) {
148
- var frame_id = frame.attr("id");
149
- var title = frame.prop("dialogSettings")["title"];
150
- if (title === null || title === undefined) {
151
- var h1 = $("#" + frame_id + " h1");
152
- if (h1[0] !== null && h1[0] !== undefined) {
153
- title = h1.text()
154
- h1.remove();
155
- }
156
- }
157
- frame.dialog("option", "title", title);
158
-
159
- $("#" + frame_id + " form").each(function (index, form) {
160
- $(form).attr('data-dialog', frame_id);
161
- });
162
-
163
- };
164
-
165
- $.submitAjaxForm = function () {
166
- var form = $(this);
167
- var frame_id = form.attr('data-dialog');
168
- var frame = $('#'+frame_id);
169
- var settings = frame.prop("dialogSettings");
170
-
171
- var field = $(document.createElement('input'));
172
- field.attr({ type: 'hidden', name: 'dialog', value: frame_id });
173
- form.append(field);
174
-
175
- $.ajax(form.attr('action'), {
176
- type: form.attr('method') || 'POST',
177
- data: form.serialize(),
178
- success: function(data, textStatus, request) {
179
- var returnCode = request.getResponseHeader(settings["header"])
180
- var returns = settings["returns"], unknownReturnCode = true;
181
- for (var code in returns) {
182
- if (returnCode == code && $.isFunction(returns[code])) {
183
- returns[code].call(form, frame, data, textStatus, request);
184
- unknownReturnCode = false;
185
- $.ajaxDialogInitialize(frame);
186
- break;
187
- }
188
- }
189
- if (unknownReturnCode) {
190
- if ($.isFunction(settings["defaultReturn"])) {
191
- settings["defaultReturn"].call(form, frame);
192
- } else {
193
- alert("FAILURE (Unknown return code for header " + settings["header"] + "): " + returnCode);
194
- }
195
- }
196
- },
197
- error: function(jqXHR, textStatus, errorThrown) {
198
- alert("FAILURE (Error "+textStatus+"): "+errorThrown);
199
- var frame = $("#" + frame_id);
200
- frame.dialog("close");
201
- frame.remove();
202
- // if ($.isFunction(settings["error"])) { settings["error"].call(form, frame, jqXHR, textStatus, errorThrown); }
203
- }
204
- });
205
- return false;
206
- };
207
-
208
- // Submits dialog forms
209
- $.behave(".ajax-dialog form[data-dialog]", "submit", $.submitAjaxForm);
210
-
211
-
212
- })(jQuery);
213
-
214
- var Formize = {};
215
-
216
- Formize.refreshDependents = function (event) {
217
- var element = $(this);
218
- var params = {};
219
- if (element.val() !== null && element.val() !== undefined) {
220
- var dependents = element.attr('data-dependents');
221
- var paramName = element.attr('data-parameter-name') || element.attr('id') || 'value';
222
- params[paramName] = element.val();
223
- $(dependents).each(function(index, item) {
224
- // Replaces element
225
- var url = $(item).attr('data-refresh');
226
- var mode = $(item).attr('data-refresh-mode') || 'replace';
227
- if (url !== null) {
228
- $.ajax(url, {
229
- data: params,
230
- success: function(data, textStatus, response) {
231
- if (mode == 'update') {
232
- $(item).html(response.responseText);
233
- } else if (mode == 'update-value') {
234
- if (element.data("attribute")) {
235
- $(item).val($.parseJSON(data)[element.data("attribute")]);
236
- } else {
237
- $(item).val(response.responseText);
238
- }
239
- } else {
240
- $(item).replaceWith(response.responseText);
241
- }
242
- },
243
- error: function(jqXHR, textStatus, errorThrown) {
244
- alert("FAILURE (Error "+textStatus+"): "+errorThrown);
245
- }
246
- });
247
- }
248
- });
249
- return true;
250
- }
251
- return false;
252
- }
253
-
254
- Formize.toggleCheckboxes = function () {
255
- var checkable = $(this);
256
- if (checkable.prop("checked")) {
257
- $(checkable.attr('data-show')).slideDown();
258
- $(checkable.attr('data-hide')).slideUp();
259
- } else {
260
- $(checkable.attr('data-show')).slideUp();
261
- $(checkable.attr('data-hide')).slideDown();
262
- }
263
- };
264
-
265
- Formize.toggleRadios = function () {
266
- $("input[type='radio'][data-show], input[type='radio'][data-hide]").each(Formize.toggleCheckboxes);
267
- };
268
-
269
- // Initializes unroll inputs
270
- $.behave('input[data-unroll]', 'load', function() {
271
- var element = $(this), choices, paramName;
272
-
273
- element.unrollCache = element.val();
274
- element.autocompleteType = "text";
275
- element.valueField = $('#'+element.attr('data-value-container'))[0];
276
- if ($.isEmptyObject(element.valueField)) {
277
- alert('An input '+element.id+' with a "data-unroll" attribute must contain a "data-value-container" attribute');
278
- element.autocompleteType = "id";
279
- }
280
- element.maxResize = parseInt(element.attr('data-max-resize'));
281
- if (isNaN(element.maxResize) || element.maxResize === 0) { element.maxResize = 64; }
282
- element.size = (element.unrollCache.length < 32 ? 32 : element.unrollCache.length > element.maxResize ? element.maxResize : element.unrollCache.length);
283
-
284
- element.autocomplete({
285
- source: element.attr('data-unroll'),
286
- minLength: 1,
287
- select: function(event, ui) {
288
- var selected = ui.item;
289
- element.valueField.value = selected.id;
290
- element.unrollCache = selected.label;
291
- element.attr("size", (element.unrollCache.length < 32 ? 32 : element.unrollCache.length > element.maxResize ? element.maxResize : element.unrollCache.length));
292
- $(element.valueField).trigger("emulated:change");
293
- return true;
294
- }
295
- });
296
- });
297
-
298
- $.datepicker.regional["en"] = $.datepicker.regional["en-GB"]
299
- $.datepicker.regional["fra"] = $.datepicker.regional["fr"]
300
-
301
- // Initializes date fields
302
- $.behave('input[data-datepicker]', "load", function() {
303
- var element = $(this);
304
- var locale = element.data("locale");
305
- var options = $.datepicker.regional[locale];
306
- if (options === null || options === undefined) {
307
- options = $.datepicker.regional["en"];
308
- }
309
- if (element.data("date-format") !== null) {
310
- options['dateFormat'] = element.data("date-format");
311
- }
312
- options['altField'] = '#'+element.data("datepicker");
313
- options['altFormat'] = 'yy-mm-dd';
314
- options['defaultDate'] = element.val();
315
- // Check for dependents
316
- triggered = $(options['altField']);
317
- if (triggered.data('dependents') !== undefined && triggered.data('dependents') !== null) {
318
- if (triggered.data('observe') === undefined || triggered.data('observe') === null) {
319
- triggered.attr('data-observe', '1000');
320
- }
321
- }
322
- /*options['onSelect'] = function (dateText, inst) {
323
- triggered.trigger("emulated:change");
324
- };*/
325
- element.datepicker(options);
326
- /* element.keyup(function() {
327
- triggered.trigger("emulated:change");
328
- });*/
329
- });
330
-
331
-
332
- // Initializes date fields
333
- // Can't work properly with actual datetimepicker
334
- // $.behave('input[data-datetimepicker]', "load", function() {
335
- // var element = $(this);
336
- // var locale = element.data("locale");
337
- // var options = $.datepicker.regional[locale];
338
- // if (element.data("date-format") !== null) {
339
- // options['dateFormat'] = element.data("date-format");
340
- // }
341
- // if (element.data("time-format") !== null) {
342
- // options['timeFormat'] = element.data("time-format");
343
- // }
344
- // options['altField'] = '#'+element.data("datetimepicker");
345
- // options['altFormat'] = 'yy-mm-dd';
346
- // options['altFieldTimeOnly'] = false;
347
- // options['showSecond'] = true;
348
- // // options['defaultDate'] = element.val();
349
- // element.datetimepicker(options);
350
- // });
351
-
352
-
353
- // Initializes resizable text areas
354
- // Minimal size is defined on default size of the area
355
- /*
356
- $.behave('textarea[data-resizable]', "load", function() {
357
- var element = $(this);
358
- element.resizable({
359
- handles: "se",
360
- minHeight: element.height(),
361
- minWidth: element.width(),
362
- create: function (event, ui) { $(this).css("padding-bottom", "0px"); },
363
- stop: function (event, ui) { $(this).css("padding-bottom", "0px"); }
364
- });
365
- });
366
- */
367
- // Opens a dialog for a resource creation
368
- $.behave("a[data-add-item]", "click", function() {
369
- var element = $(this);
370
- var list_id = '#'+element.attr('data-add-item'), list = $(list_id);
371
- var url = element.attr('href');
372
- $.ajaxDialog(url, {
373
- returns: {
374
- success: function (frame, data, textStatus, request) {
375
- var record_id = request.getResponseHeader("X-Saved-Record-Id");
376
- if (list[0] !== undefined) {
377
- $.ajax(list.attr('data-refresh'), {
378
- data: {selected: record_id},
379
- success: function(data, textStatus, request) {
380
- list.replaceWith(request.responseText);
381
- $(list_id + ' input').trigger("emulated:change");
382
- }
383
- });
384
- }
385
- frame.dialog("close");
386
- },
387
- invalid: function (frame, data, textStatus, request) {
388
- frame.html(request.responseText);
389
- }
390
- },
391
- });
392
- return false;
393
- });
394
-
395
- $.behave("input[data-autocompletion]", "load", function () {
396
- var element = $(this);
397
- element.autocomplete({
398
- source: element.data("autocompletion"),
399
- minLength: parseInt(element.data("min-length") || 1)
400
- });
401
- });
402
-
403
- // Observes fields comparing its value with fixed intervals of time
404
- // Compensates not quite sure "change" events.
405
- $.behave("*[data-observe]", "load", function () {
406
- var element = $(this);
407
- var interval = parseInt(element.data("observe"));
408
- if (interval === null || interval === undefined) {
409
- interval = 1000;
410
- }
411
- if (element.get(0).nodeName.toLowerCase() !== "input") {
412
- alert("data-observe attribute must be only used with <input>s.");
413
- return false;
414
- }
415
- element.previousObservedValue = element.val();
416
- window.setInterval(function () {
417
- if (element.val() !== element.previousObservedValue) {
418
- element.trigger("emulated:change");
419
- element.previousObservedValue = element.val();
420
- }
421
- }, interval);
422
- return true;
423
- });
424
-
425
-
426
- // Refresh dependents on changes
427
- $.behave("*[data-dependents]", "change emulated:change", Formize.refreshDependents);
428
- // Compensate for changes made with keyboard
429
- $.behave("select[data-dependents]", "keypress", Formize.refreshDependents);
430
-
431
- // Hide/show blocks depending on check boxes
432
- $.behave("input[type='checkbox'][data-show], input[type='checkbox'][data-hide]", "load", Formize.toggleCheckboxes);
433
- $.behave("input[type='checkbox'][data-show], input[type='checkbox'][data-hide]", "change", Formize.toggleCheckboxes)
434
- $.behave("input[type='radio'][data-show], input[type='radio'][data-hide]", "load", Formize.toggleCheckboxes);
435
- $.behave("input[type='radio'][data-show], input[type='radio'][data-hide]", "change", Formize.toggleRadios)
436
-
1
+ //= require formize-behave
2
+ //= require formize-dialog
3
+ //= require formize-unroll
4
+ //= require formize-observe
5
+ //= require formize-dependents
6
+ //= require formize-datepicker
7
+ //= require formize-timepicker
8
+ //= require formize-toggle
9
+ //= require formize-autocomplete
10
+ //= require formize-popover-form