admin_module 0.1.7 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/Gemfile +2 -0
  4. data/README.md +7 -0
  5. data/admin_module.gemspec +3 -1
  6. data/{bin → exe}/admin_module +0 -0
  7. data/lib/admin_module.rb +9 -0
  8. data/lib/admin_module/command/config.rb +20 -0
  9. data/lib/admin_module/command/gdl.rb +15 -0
  10. data/lib/admin_module/guideline.rb +8 -0
  11. data/lib/admin_module/page_factory.rb +43 -2
  12. data/lib/admin_module/pages.rb +38 -81
  13. data/lib/admin_module/pages/guideline_page.rb +54 -1
  14. data/lib/admin_module/pages/guideline_page_400.rb +87 -0
  15. data/lib/admin_module/pages/guideline_version_page.rb +9 -5
  16. data/lib/admin_module/pages/guidelines_page.rb +40 -34
  17. data/lib/admin_module/pages/guidelines_page_400.rb +65 -0
  18. data/lib/admin_module/pages/guidelines_version_all_page.rb +79 -72
  19. data/lib/admin_module/pages/guidelines_version_all_page_400.rb +122 -0
  20. data/lib/admin_module/pages/login_page.rb +2 -2
  21. data/lib/admin_module/pages/login_page_400.rb +73 -0
  22. data/lib/admin_module/version.rb +1 -1
  23. data/spec/data/config/no_ams_version.admin_module +11 -0
  24. data/spec/data/html/guideline-400.html +2713 -0
  25. data/spec/data/html/guideline-400_files/BindChildren.js +852 -0
  26. data/spec/data/html/guideline-400_files/CVlogo.jpg +0 -0
  27. data/spec/data/html/guideline-400_files/Guideline.js +301 -0
  28. data/spec/data/html/guideline-400_files/OptimalOutcome.png +0 -0
  29. data/spec/data/html/guideline-400_files/WebResource(1).axd +561 -0
  30. data/spec/data/html/guideline-400_files/WebResource.axd +548 -0
  31. data/spec/data/html/guideline-400_files/styles.css +444 -0
  32. data/spec/data/html/guideline-400_files/styles2.css +115 -0
  33. data/spec/data/html/guideline-400_files/tab.css +50 -0
  34. data/spec/data/html/guideline-400_files/tabpane.js +297 -0
  35. data/spec/data/html/guideline.html +1809 -0
  36. data/spec/data/html/guideline_files/BindChildren.js +799 -0
  37. data/spec/data/html/guideline_files/Guideline.js +300 -0
  38. data/spec/data/html/guideline_files/LeftMenu.html +0 -0
  39. data/spec/data/html/guideline_files/MainFrame.html +18 -0
  40. data/spec/data/html/guideline_files/ScriptResource.axd +3725 -0
  41. data/spec/data/html/guideline_files/Stylesheet.css +1545 -0
  42. data/spec/data/html/guideline_files/WebResource(1).axd +0 -0
  43. data/spec/data/html/guideline_files/WebResource(2).axd +566 -0
  44. data/spec/data/html/guideline_files/WebResource(3).axd +219 -0
  45. data/spec/data/html/guideline_files/WebResource.axd +696 -0
  46. data/spec/data/html/guideline_files/framebar.html +0 -0
  47. data/spec/data/html/guideline_files/guideline.html +0 -0
  48. data/spec/data/html/guideline_files/home.png +0 -0
  49. data/spec/data/html/guideline_files/jquery-ui.css +578 -0
  50. data/spec/data/html/guideline_files/jquery.js +7 -0
  51. data/spec/data/html/guideline_files/slidebar.gif +29 -0
  52. data/spec/data/html/guideline_files/tab.css +49 -0
  53. data/spec/data/html/guideline_files/tabpane.js +297 -0
  54. data/spec/data/html/guidelines-400.html +368 -0
  55. data/spec/data/html/guidelines-400_files/CVlogo.jpg +0 -0
  56. data/spec/data/html/guidelines-400_files/EditListSearchHelper.js +141 -0
  57. data/spec/data/html/guidelines-400_files/OptimalOutcome.png +0 -0
  58. data/spec/data/html/guidelines-400_files/WebResource(1).axd +561 -0
  59. data/spec/data/html/guidelines-400_files/WebResource.axd +548 -0
  60. data/spec/data/html/guidelines-400_files/menu.css +29 -0
  61. data/spec/data/html/guidelines-400_files/menu.js +48 -0
  62. data/spec/data/html/guidelines-400_files/shadow.gif +0 -0
  63. data/spec/data/html/guidelines-400_files/styles.css +444 -0
  64. data/spec/data/html/guidelines-400_files/styles2.css +115 -0
  65. data/spec/data/html/guidelines.html +217 -0
  66. data/spec/data/html/guidelines_files/EditListSearchHelper.js +123 -0
  67. data/spec/data/html/guidelines_files/ScriptResource.axd +3725 -0
  68. data/spec/data/html/guidelines_files/Stylesheet.css +1545 -0
  69. data/spec/data/html/guidelines_files/jquery-ui.css +578 -0
  70. data/spec/data/html/login.aspx.html +293 -0
  71. data/spec/data/html/login.aspx_files/ScriptResource.axd +3332 -0
  72. data/spec/data/html/login.aspx_files/Stylesheet.css +1545 -0
  73. data/spec/data/html/login.aspx_files/jquery-ui.css +578 -0
  74. data/spec/data/html/login.aspx_files/jquery.js +7 -0
  75. data/spec/data/html/login400.aspx.html +191 -0
  76. data/spec/data/html/login400.aspx_files/WebResource(1).axd +561 -0
  77. data/spec/data/html/login400.aspx_files/WebResource.axd +548 -0
  78. data/spec/data/html/login400.aspx_files/styles.css +444 -0
  79. data/spec/data/html/version_all_guidelines-400.html +702 -0
  80. data/spec/data/html/version_all_guidelines-400_files/CVlogo.jpg +0 -0
  81. data/spec/data/html/version_all_guidelines-400_files/Calendar.js +521 -0
  82. data/spec/data/html/version_all_guidelines-400_files/OptimalOutcome.png +0 -0
  83. data/spec/data/html/version_all_guidelines-400_files/TwoSelects.js +300 -0
  84. data/spec/data/html/version_all_guidelines-400_files/menu.css +29 -0
  85. data/spec/data/html/version_all_guidelines-400_files/menu.js +48 -0
  86. data/spec/data/html/version_all_guidelines-400_files/shadow.gif +0 -0
  87. data/spec/data/html/version_all_guidelines-400_files/styles(1).css +134 -0
  88. data/spec/data/html/version_all_guidelines-400_files/styles.css +444 -0
  89. data/spec/data/html/version_all_guidelines-400_files/styles2.css +115 -0
  90. data/spec/data/html/version_all_guidelines.html +560 -0
  91. data/spec/data/html/version_all_guidelines_files/Calendar.js +521 -0
  92. data/spec/data/html/version_all_guidelines_files/ScriptResource.axd +3725 -0
  93. data/spec/data/html/version_all_guidelines_files/Stylesheet.css +1545 -0
  94. data/spec/data/html/version_all_guidelines_files/TwoSelects.js +304 -0
  95. data/spec/data/html/version_all_guidelines_files/jquery-ui.css +578 -0
  96. data/spec/lib/admin_module/command/config_spec.rb +27 -0
  97. data/spec/lib/admin_module/command/gdl_spec.rb +31 -0
  98. data/spec/lib/admin_module/configuration_spec.rb +47 -0
  99. data/spec/lib/admin_module/guideline_spec.rb +26 -0
  100. data/spec/lib/admin_module/page_factory_spec.rb +72 -0
  101. data/spec/lib/admin_module/pages/guideline_page_400_spec.rb +51 -0
  102. data/spec/lib/admin_module/pages/guideline_page_spec.rb +50 -0
  103. data/spec/lib/admin_module/pages/guidelines_page_400_spec.rb +92 -0
  104. data/spec/lib/admin_module/pages/guidelines_page_spec.rb +91 -0
  105. data/spec/lib/admin_module/pages/guidelines_version_all_page_400_spec.rb +102 -0
  106. data/spec/lib/admin_module/pages/guidelines_version_all_page_spec.rb +105 -0
  107. data/spec/lib/admin_module/pages/login_page_400_spec.rb +42 -0
  108. data/spec/lib/admin_module/pages/login_page_spec.rb +33 -0
  109. data/spec/support/html_spec.rb +26 -0
  110. data/spec/support/mocks.rb +23 -0
  111. metadata +191 -5
@@ -0,0 +1,521 @@
1
+ function Calendar (cname, id, year,month,day,required)
2
+ {
3
+ // Used to notify the calendar that it is attached to a single html field.
4
+ this.fallback_single = 0;
5
+
6
+ // Used to notify the claendar that it is attached to 3 html fields.
7
+ this.fallback_multi = 1;
8
+
9
+ // Used to notify the calendar that it is attached to both field sets.
10
+ this.fallback_both = 2;
11
+
12
+ // Read-only calendar
13
+ this.viewOnly = false;
14
+
15
+ // Allows the user to select weekends
16
+ this.allowWeekends = true;
17
+
18
+ // Allows the user to select weekdays
19
+ this.allowWeekdays = true;
20
+
21
+ // The minimum date that the user can select (inclusive)
22
+ this.minDate = "--";
23
+
24
+ // The maximum date that the user can select (exclusive)
25
+ this.maxDate = "--";
26
+
27
+ // Allow the user to scroll dates
28
+ this.scrolling = true;
29
+
30
+ // The id of this calendar
31
+ this.name = cname;
32
+
33
+ // The first day of the week in the calendar (0-Sunday, 6-Saturday)
34
+ this.firstDayOfWeek = 0;
35
+
36
+ // Fallback method
37
+ this.fallback = this.fallback_both;
38
+
39
+ //property to check the mandatory selection
40
+ this.isRequired = required;
41
+
42
+ // Sets the date and strips out time information
43
+ this.calendarDate = new Date(year,month,day);
44
+
45
+ //# Start Issue of 0010261
46
+ var offset = parseInt(this.calendarDate.getTimezoneOffset());
47
+ if (offset < 0)
48
+ {
49
+ offset = offset.toString().substring(1, offset.length);
50
+ var dateReminder = offset % 60
51
+ if (dateReminder > 0)
52
+ {
53
+ offset = parseInt(offset) + parseInt(dateReminder);
54
+ }
55
+ this.calendarDate.setUTCMinutes(offset);
56
+ }
57
+ else if(offset > 0)
58
+ {
59
+ offset = "-" + offset.toString();
60
+ this.calendarDate.setUTCMinutes(offset);
61
+ }
62
+ //#End Issue of 0010261
63
+
64
+ this.calendarDate.setUTCHours(0);
65
+ this.calendarDate.setUTCMinutes(0);
66
+ this.calendarDate.setUTCSeconds(0);
67
+ this.calendarDate.setUTCMilliseconds(0);
68
+
69
+ // The field id that the calendar is attached to.
70
+ // For single input, this is used "as is". for the
71
+ // Multi-input, it is given a suffix for _day, _month
72
+ // and _year inputs.
73
+ this.attachedId = id;
74
+
75
+ // The left and right month control icons
76
+ this.controlLeft = "&#171;";
77
+ this.controlRight = "&#187;";
78
+
79
+ // The left and right month control icons (when disabled)
80
+ this.controlLeftDisabled = "";
81
+ this.controlRightDisabled = "";
82
+
83
+ // The css classes for the calendar and header
84
+ this.calendarStyle = "cal_calendar";
85
+ this.headerStyle = "cal_header";
86
+ this.headerwithEvent="cal_headerEvent";
87
+ this.headerCellStyle = "cal_cell";
88
+ this.headerCellStyleLabel = "cal_labelcell";
89
+
90
+ // The css classes for the rows
91
+ this.weekStyle = "cal_week";
92
+ this.evenWeekStyle = "cal_evenweek";
93
+ this.oddWeekStyle = "cal_oddweek";
94
+
95
+ // The css classes for the day elements
96
+ this.dayStyle = "cal_day";
97
+ this.disabledDayStyle = "cal_disabled";
98
+ this.commonDayStyle = "cal_common";
99
+ this.holidayDayStyle = "cal_holiday";
100
+ this.eventDayStyle = "cal_event";
101
+ this.todayDayStyle = "cal_today";
102
+
103
+ // specifies the labels for this calendar
104
+ this.dayLabels = new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");
105
+ this.monthLabels = new Array(
106
+ "January", "February", "March", "April"
107
+ , "May", "June", "July", "August"
108
+ , "September", "October", "November", "December");
109
+
110
+ // Specifies the dates of any event. The events are to be defined as arrays,
111
+ // with element 0 being the date and element 1 being an id.
112
+ this.eventDates = new Array();
113
+
114
+ // Attach event handlers to any fallback fields.
115
+ if (this.viewOnly == false)
116
+ {
117
+ if (this.isRequired==true)
118
+ {
119
+ setFieldValue(this.attachedId, this.calendarDate);
120
+ if ((this.fallback = this.fallback_both) || (this.fallback = this.fallback_single))
121
+ {
122
+ eval("document.getElementById(\"" + this.attachedId + "\").onchange = function () {updateFromSingle("+this.name+", this);}");
123
+ }
124
+ }
125
+ else
126
+ {
127
+ setValue(this.attachedId);
128
+ }
129
+ selectEvent = new Function();
130
+ }
131
+
132
+
133
+ }
134
+
135
+ function updateFromSingle (sender, helper) {
136
+ newDate = new Date (helper.value);
137
+ newDate.setUTCDate(newDate.getUTCDate()+1);
138
+ sender.calendarDate = newDate;
139
+
140
+ renderCalendar (sender);
141
+ setFieldValue(sender.attachedId, sender.calendarDate);
142
+ }
143
+
144
+ function updateFromMultiDay (sender, helper) {
145
+
146
+ if (isNaN(helper.value))
147
+ {
148
+ helper.value = sender.calendarDate.getUTCDate();
149
+ return false;
150
+ }
151
+
152
+ sender.calendarDate.setUTCDate(helper.value);
153
+ renderCalendar (sender);
154
+ setFieldValue(sender.attachedId, sender.calendarDate);
155
+ }
156
+
157
+ function updateFromMultiMonth (sender, helper) {
158
+
159
+ if (isNaN(helper.value)) {
160
+ helper.value = sender.calendarDate.getUTCMonths() -1;
161
+ return false;
162
+ }
163
+
164
+ sender.calendarDate.setUTCMonth(helper.value-1);
165
+ renderCalendar (sender);
166
+ setFieldValue(sender.attachedId, sender.calendarDate);
167
+ }
168
+
169
+ function updateFromMultiYear (sender, helper) {
170
+
171
+ if (isNaN(helper.value)) {
172
+ helper.value = sender.calendarDate.getUTCFullYear();
173
+ return false;
174
+ }
175
+
176
+ sender.calendarDate.setUTCFullYear(helper.value);
177
+ renderCalendar (sender);
178
+ setFieldValue(sender.attachedId, sender.calendarDate);
179
+ }
180
+
181
+ function getFirstCalendarDate (calendar)
182
+ {
183
+ return new Date
184
+ (
185
+ calendar.calendarDate.getUTCFullYear()
186
+ , calendar.calendarDate.getUTCMonth()
187
+ , 1
188
+ );
189
+ }
190
+
191
+ function renderCalendar (calendar)
192
+ {
193
+
194
+ calHtml1 = ("<table id=\"cal_" + calendar.attachedId + "\" class=\"" + calendar.calendarStyle +"\">");
195
+ calHtml1 += ((calendar.scrolling)?buildHeader(calendar):buildStaticHeader(calendar));
196
+ calHtml1 += buildCalendarTable (calendar);
197
+ calHtml1 += ("</table>");
198
+
199
+ document.getElementById(calendar.name + "_divCalendardisplay").innerHTML = calHtml1;
200
+ }
201
+
202
+ function scrollMonthBack (calendar)
203
+ {
204
+ calendar.calendarDate.setUTCMonth(calendar.calendarDate.getUTCMonth() - 1);
205
+ setFieldValue(calendar.attachedId, calendar.calendarDate);
206
+ renderCalendar (calendar);
207
+ }
208
+
209
+ function selectDate (calendar, day)
210
+ {
211
+ if (!calendar.viewOnly)
212
+ {
213
+ calendar.calendarDate.setUTCDate(day);
214
+ setFieldValue(calendar.attachedId, calendar.calendarDate);
215
+ calendar.isRequired=true;
216
+ renderCalendar (calendar);
217
+ }
218
+ }
219
+
220
+ function scrollMonthForward (calendar)
221
+ {
222
+ calendar.calendarDate.setDate(1);//Added 02/09/2005, Issue #1329
223
+ calendar.calendarDate.setUTCMonth(calendar.calendarDate.getUTCMonth()+1);
224
+ setFieldValue(calendar.attachedId, calendar.calendarDate);
225
+ renderCalendar (calendar);
226
+ }
227
+
228
+ function setValue(fieldId)
229
+ {
230
+ document.getElementById(fieldId).value = '';
231
+ document.getElementById(fieldId.substr(0,fieldId.indexOf("_")) +"_hdnSelectedDate").value = document. getElementById(fieldId).value;
232
+ }
233
+
234
+ function setFieldValue(fieldId, date)
235
+ {
236
+ document.getElementById(fieldId).value = (date.getUTCMonth()+1) + "/" + date.getUTCDate()+ "/" + date.getUTCFullYear();
237
+ document.getElementById(fieldId.substr(0,fieldId.indexOf("_")) +"_hdnSelectedDate").value = document.getElementById(fieldId).value;
238
+ }
239
+
240
+ function buildHeader (calendar)
241
+ {
242
+ enableLeft = true;
243
+ enableRight = true;
244
+
245
+ if (calendar.minDate != "--")
246
+ {
247
+ if (calendar.calendarDate.getUTCFullYear() <= calendar.minDate.getUTCFullYear())
248
+ {
249
+ if (calendar.calendarDate.getUTCMonth() <= calendar.minDate.getUTCMonth())
250
+ {
251
+ enableLeft = false;
252
+ }
253
+ }
254
+ }
255
+
256
+ if (calendar.maxDate != "--")
257
+ {
258
+ if (calendar.calendarDate.getUTCFullYear() >= calendar.maxDate.getUTCFullYear())
259
+ {
260
+ if (calendar.calendarDate.getUTCMonth() >= calendar.maxDate.getUTCMonth())
261
+ {
262
+ enableRight = false;
263
+ }
264
+ }
265
+ }
266
+
267
+ calHtml2 = "";
268
+
269
+ calHtml2 += (
270
+ "<tr class=\""
271
+ + calendar.headerStyle
272
+ + "\">");
273
+ calHtml2 += (
274
+ "<td class=\""
275
+ + calendar.headerwithEvent
276
+ + ((enableLeft)?("\" onclick=\"scrollMonthBack(" + calendar.name + ")"):"")
277
+ + "\">"
278
+ + ((enableLeft)?calendar.controlLeft:calendar.controlLeftDisabled)
279
+ + "</td>");
280
+ calHtml2 += (
281
+ "<td colspan=\"5\" class=\""
282
+ + calendar.headerCellStyleLabel
283
+ + "\">"
284
+ + calendar.monthLabels[calendar.calendarDate.getUTCMonth()]
285
+ + ", " + calendar.calendarDate.getUTCFullYear()
286
+ + "</td>");
287
+ calHtml2 += (
288
+ "<td class=\""
289
+ + calendar.headerwithEvent
290
+ + ((enableRight)?("\" onclick=\"scrollMonthForward(" + calendar.name + ")"):"")
291
+ + "\">"
292
+ + ((enableRight)?calendar.controlRight:calendar.controlRightDisabled)
293
+ + "</td>");
294
+
295
+ calHtml2 += ("</tr>");
296
+
297
+ calHtml2 += (
298
+ "<tr class=\""
299
+ + calendar.headerStyle
300
+ + "\">")
301
+
302
+ for (i = 0; i < 7; i++) {
303
+ showDay = i + calendar.firstDayOfWeek;
304
+ if (showDay > 6) showDay = showDay - 7;
305
+ calHtml2 += (
306
+ "<td class=\""
307
+ + calendar.headerCellStyle
308
+ + "\">"
309
+ + calendar.dayLabels[showDay]
310
+ + "</td>");
311
+
312
+ }
313
+
314
+ calHtml2 += ("</tr>");
315
+ return calHtml2;
316
+ }
317
+
318
+ function buildStaticHeader (calendar)
319
+ {
320
+ calHtml2 = "";
321
+
322
+ calHtml2 += (
323
+ "<tr class=\""
324
+ + calendar.headerStyle
325
+ + "\">");
326
+ calHtml2 += (
327
+ "<td colspan=\"7\" class=\""
328
+ + calendar.headerCellStyleLabel
329
+ + "\">"
330
+ + calendar.monthLabels[calendar.calendarDate.getUTCMonth()]
331
+ + ", " + calendar.calendarDate.getUTCFullYear()
332
+ + "</td>");
333
+ calHtml2 += ("</tr>");
334
+
335
+ calHtml2 += (
336
+ "<tr class=\""
337
+ + calendar.headerStyle
338
+ + "\">")
339
+
340
+ for (i = 0; i < 7; i++) {
341
+ showDay = i + calendar.firstDayOfWeek;
342
+ if (showDay > 6) showDay = showDay - 7;
343
+ calHtml2 += (
344
+ "<td class=\""
345
+ + calendar.headerCellStyle
346
+ + "\">"
347
+ + calendar.dayLabels[showDay]
348
+ + "</td>");
349
+ }
350
+
351
+ calHtml2 += ("</tr>");
352
+ return calHtml2
353
+ }
354
+
355
+
356
+ function RenderDayDisabled (calendar, currentDate)
357
+ {
358
+ calHtml += ('<td class="day">');
359
+ calHtml += ("<span class=\"" + calendar.disabledDayStyle + "\">");
360
+ calHtml += (currentDate.getUTCDate());
361
+ calHtml += ("</span>");
362
+ calHtml += ("</td>");
363
+ }
364
+
365
+ function RenderDayEnabled (calendar, currentDate, dayStyle,id)
366
+ {
367
+ currentDayStyle = dayStyle;
368
+ calHtml += ("<td class='day'>");
369
+ calHtml += ("<span class='" + dayStyle + "'onclick='selectDate(" + calendar.name + "," + currentDate.getUTCDate()+ ")';>"); //have cursor
370
+ calHtml += (currentDate.getUTCDate());
371
+ calHtml += ('</span>');
372
+ calHtml += ('</td>');
373
+ }
374
+
375
+ function RenderDayEvent (calendar, currentDate, dayStyle, eventId)
376
+ {
377
+ currentDayStyle = dayStyle;
378
+ calHtml += ('<td class="day">');
379
+ calHtml += ("<span class=\"" + dayStyle + "\" onclick=\"selectDate(" + calendar.name + ", " + currentDate.getUTCDate() + "," + id +"); " + calendar.name + ".selectEvent('" + eventId + "')\">");
380
+ calHtml += (currentDate.getUTCDate());
381
+ calHtml += ("</span>");
382
+ calHtml += ("</td>");
383
+ }
384
+
385
+ function buildCalendarTable (calendar)
386
+ {
387
+ currentDate = getFirstCalendarDate(calendar);
388
+ odd = 0;
389
+ while (currentDate.getUTCDay() != calendar.firstDayOfWeek)
390
+ {
391
+ currentDate.setUTCDate(currentDate.getUTCDate() - 1);
392
+ }
393
+ calHtml = "";
394
+ do
395
+ {
396
+ odd += 1;
397
+ calHtml += (
398
+ "<tr class=\"" + (((odd%2)==0) ? calendar.evenWeekStyle : calendar.oddWeekStyle) + "\">")
399
+
400
+ for (i = 0;i < 7;i++)
401
+ {
402
+ currentDayStyle = calendar.dayStyle;
403
+ currentEventStyle = calendar.commonDayStyle;
404
+ currentDateString = currentDate.getUTCFullYear() + "/" + (currentDate.getUTCMonth()+1) + "/" + currentDate.getUTCDate();
405
+
406
+ if (currentDate < calendar.minDate)
407
+ {
408
+ RenderDayDisabled (calendar, currentDate);
409
+ }
410
+ else if (currentDate > calendar.maxDate)
411
+ {
412
+ RenderDayDisabled (calendar, currentDate);
413
+ }
414
+ else if (currentDate.getUTCMonth() != calendar.calendarDate.getUTCMonth())
415
+ {
416
+ RenderDayDisabled (calendar, currentDate);
417
+ }
418
+ else if (currentDate.getUTCDate() == calendar.calendarDate.getUTCDate())
419
+ {
420
+ if ((currentDate.getUTCDay() == 0) || (currentDate.getUTCDay() == 6))
421
+ {
422
+ if (calendar.allowWeekends == true)
423
+ {
424
+ RenderDayEnabled (calendar, currentDate, calendar.todayDayStyle);
425
+ }
426
+ else
427
+ {
428
+ RenderDayDisabled (calendar, currentDate);
429
+ month = calendar.calendarDate.getUTCMonth();
430
+ calendar.calendarDate.setUTCDate(calendar.calendarDate.getUTCDate()+1);
431
+ if (month != calendar.calendarDate.getUTCMonth())
432
+ {
433
+ renderCalendar(calendar);
434
+ }
435
+ setFieldValue(calendar.attachedId, calendar.calendarDate);
436
+ }
437
+ } else
438
+ {
439
+ if (calendar.allowWeekdays == true)
440
+ {
441
+ if(calendar.isRequired)
442
+ RenderDayEnabled (calendar, currentDate, calendar.todayDayStyle);
443
+ else
444
+ {
445
+ RenderDayEnabled (calendar, currentDate, calendar.dayStyle);
446
+ currentDayStyle = calendar.todayDayStyle;
447
+ }
448
+ }
449
+ else
450
+ {
451
+ RenderDayDisabled (calendar, currentDate);
452
+ month = calendar.calendarDate.getUTCMonth();
453
+ calendar.calendarDate.setUTCDate(calendar.calendarDate.getUTCDate()+1);
454
+ if (month != calendar.calendarDate.getUTCMonth())
455
+ {
456
+ renderCalendar(calendar);
457
+ }
458
+ setFieldValue(calendar.attachedId, calendar.calendarDate);
459
+ }
460
+ }
461
+ }
462
+ else if ((currentDate.getUTCDay() == 0) || (currentDate.getUTCDay() == 6))
463
+ {
464
+ if (calendar.allowWeekends == true)
465
+ {
466
+
467
+ style = calendar.holidayDayStyle
468
+
469
+ for (j=0; j < calendar.eventDates.length; j++)
470
+ {
471
+ if (calendar.eventDates[j][0] == currentDateString)
472
+ {
473
+ style = calendar.eventDayStyle;
474
+ RenderDayEvent (calendar, currentDate, style, calendar.eventDates[j][0]);
475
+ }
476
+ }
477
+
478
+ if (style == calendar.holidayDayStyle)
479
+ {
480
+ RenderDayEnabled (calendar, currentDate, style);
481
+ }
482
+ }
483
+ else
484
+ {
485
+ RenderDayDisabled (calendar, currentDate);
486
+ }
487
+ } else {
488
+ if (calendar.allowWeekdays == true)
489
+ {
490
+ style = calendar.commonDayStyle
491
+
492
+ for (j=0; j < calendar.eventDates.length; j++)
493
+ {
494
+ if (calendar.eventDates[j][0] == currentDateString)
495
+ {
496
+ style = calendar.eventDayStyle;
497
+ RenderDayEvent (calendar, currentDate, style, calendar.eventDates[j][0]);
498
+ }
499
+ }
500
+
501
+ if (style == calendar.commonDayStyle)
502
+ {
503
+ RenderDayEnabled (calendar, currentDate, style);
504
+ }
505
+ }
506
+ else
507
+ {
508
+ RenderDayDisabled (calendar, currentDate);
509
+ }
510
+ }
511
+
512
+ currentDate.setUTCDate(currentDate.getUTCDate() + 1);
513
+ }
514
+
515
+ calHtml += ("</tr>");
516
+
517
+
518
+ } while (currentDate.getUTCMonth() == calendar.calendarDate.getUTCMonth());
519
+
520
+ return calHtml;
521
+ }