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,300 @@
1
+ //***list box UI support functions***
2
+ function ShowContents(oList)
3
+ {
4
+ try{
5
+ var oOption;
6
+ var oOptions = oList.options;
7
+ for(var i=oOptions.length-1;i>=0;i--){
8
+ oOption = oOptions.item(i);
9
+ if(oOption.selected) alert(oOption.text);
10
+ }
11
+ }
12
+ catch(e){}
13
+ }
14
+
15
+ function moveAvailToSelect(iMoveSet, oLstAvail, oLstSelect, oHiddenSelected, oHiddenSelectedNames, oHiddenAvailable){
16
+ try{
17
+ var postalCode = document.getElementById('rdStatePostal_0');
18
+
19
+ if (postalCode=='undefined' || postalCode == null)
20
+ {
21
+ copyItems(oLstAvail,oLstSelect,iMoveSet);
22
+ if (iMoveSet==1)
23
+ removeSelectedItems(oLstAvail);
24
+
25
+ else
26
+ {
27
+
28
+ clearAllItems(oLstAvail);
29
+ if(document.getElementById('lblAvailFullDisplay') != null)
30
+ document.getElementById('lblAvailFullDisplayv').innerText='';
31
+ }
32
+
33
+ updateContent(oLstSelect, oHiddenSelected, oHiddenSelectedNames);
34
+ //updateContent(oLstAvail, oHiddenAvailable);
35
+ }
36
+ else
37
+ {
38
+
39
+ if (document.getElementById('rdStatePostal_0').checked == true)
40
+ {
41
+ copyItems(oLstAvail,oLstSelect,iMoveSet);
42
+ if (iMoveSet==1){
43
+ removeSelectedItems(oLstAvail);
44
+ }
45
+ else
46
+ clearAllItems(oLstAvail);
47
+
48
+ updateContent(oLstSelect, oHiddenSelected, oHiddenSelectedNames);
49
+ }
50
+
51
+ if (oLstAvail.id == "tsOrgs_lstAvailable")
52
+ {
53
+ copyItems(oLstAvail,oLstSelect,iMoveSet);
54
+ if (iMoveSet==1){
55
+ removeSelectedItems(oLstAvail);
56
+ }
57
+ else
58
+ clearAllItems(oLstAvail);
59
+ updateContent(oLstSelect, oHiddenSelected, oHiddenSelectedNames);
60
+ }
61
+
62
+ //updateContent(oLstAvail, oHiddenAvailable);
63
+ }
64
+
65
+ }
66
+ catch(e){}
67
+ }
68
+
69
+ function moveSelectToAvail(iMoveSet, oLstAvail, oLstSelect, oHiddenSelected,oHiddenSelectedNames, oHiddenAvailable){
70
+ try{
71
+ copyItems(oLstSelect,oLstAvail,iMoveSet);
72
+ if (iMoveSet==1)
73
+ removeSelectedItems(oLstSelect);
74
+ else
75
+ clearAllItems(oLstSelect);
76
+
77
+ updateContent(oLstSelect, oHiddenSelected,oHiddenSelectedNames);
78
+ //updateContent(oLstAvail, oHiddenAvailable);
79
+ }
80
+ catch(e){}
81
+ }
82
+
83
+ function updateContent(oLst,oHidden, oHiddenNames){
84
+ //asp.net does not know about client side changes to listboxes;
85
+ //therefore have to build a custom change holder
86
+ try{
87
+ var sListIDs = "|";
88
+ var sListNames = "|";
89
+ var oOption;
90
+ //if (document.getElementById(oLst)==null)return;
91
+ var oOptions = oLst.options;
92
+ for(var i=0;i<oOptions.length;i++){
93
+ oOption = oOptions.item(i);
94
+ sListIDs += oOption.value + "|";
95
+ sListNames += oOption.text + "|";
96
+ }
97
+ oHidden.value = sListIDs;
98
+ oHiddenNames.value = sListNames;
99
+ //alert(oHidden.id + ":" + oHidden.value);
100
+ }
101
+ catch(e){alert(e.description);}
102
+ }
103
+
104
+ function updateContent(oLst,oHidden){
105
+ //asp.net does not know about client side changes to listboxes;
106
+ //therefore have to build a custom change holder
107
+ try{
108
+ var sListIDs = "|";
109
+ var oOption;
110
+ //if (document.getElementById(oLst)==null)return;
111
+ var oOptions = oLst.options;
112
+ for(var i=0;i<oOptions.length;i++){
113
+ oOption = oOptions.item(i);
114
+ sListIDs += oOption.value + "|";
115
+ }
116
+ oHidden.value = sListIDs;
117
+ //alert(oHidden.id + ":" + oHidden.value);
118
+ }
119
+ catch(e){alert(e.description);}
120
+ }
121
+
122
+ function copyItems(oLstSource, oLstTarget, iSelectSet, bAllowDups){
123
+ //iSelectSet: 1=Selected; 2=All
124
+ try{
125
+ var oOption;
126
+ var oOptions = oLstSource.options;
127
+ for(var i=0;i<oOptions.length;i++){
128
+ var bCopy=false;
129
+ oOption = oOptions.item(i);
130
+ if (iSelectSet==2 || (iSelectSet=1 && oOption.selected))
131
+ if(!bAllowDups){
132
+ if(!itemInList(oLstTarget, oOption.text)) // dup?
133
+ bCopy=true;
134
+ }
135
+ else
136
+ bCopy=true;
137
+
138
+ if (bCopy)
139
+ listAddItem(oLstTarget, oOption.id, oOption.name, oOption.value,oOption.text);
140
+ }
141
+
142
+ }
143
+ catch(e){
144
+
145
+ return false;
146
+ }
147
+ }
148
+
149
+ function itemInList(oLst, value1, bCaseInsensitive){
150
+ try{
151
+ //var oOption;
152
+ var oOptions = oLst.options;
153
+ var sVal = value1;
154
+ var sListItemText;
155
+ if(bCaseInsensitive) sVal=sVal.toUpperCase();
156
+ for(var i=0;i<oOptions.length;i++){
157
+ sListItemText = oOptions.item(i).text;
158
+ if(bCaseInsensitive) sListItemText=sListItemText.toUpperCase();
159
+ if(sListItemText==sVal) return true;
160
+ }
161
+ return false;
162
+ }
163
+ catch(e){
164
+ return false;
165
+ }
166
+ }
167
+
168
+
169
+
170
+ function listAddItem(oLst, id1, name1, value1, text1){
171
+ try{
172
+
173
+ var oOption = document.createElement("OPTION");
174
+ oOption.id = id1;
175
+ oOption.name = name1;
176
+ oOption.value = value1;
177
+ oOption.text = text1;
178
+ oLst.add(oOption);
179
+
180
+ }
181
+ catch(e){
182
+ return false;
183
+ }
184
+ }
185
+
186
+ function removeSelectedItems(oLst){
187
+ try{
188
+ var oOption;
189
+ var oOptions = oLst.options;
190
+
191
+ /*if(oLst.selectedIndex<0)
192
+ {
193
+ alert("Please select an item to Move");
194
+ return;
195
+ }*/
196
+ for(var i=oOptions.length-1;i>=0;i--){
197
+ oOption = oOptions.item(i);
198
+ if(oOption.selected) oOption.removeNode();
199
+ }
200
+
201
+ }
202
+ catch(e){
203
+ return false;
204
+ }
205
+ }
206
+
207
+
208
+
209
+ function clearAllItems(oLst){
210
+ try{
211
+ var oOption;
212
+ var oOptions = oLst.options;
213
+ for(var i=oOptions.length-1;i>=0;i--){
214
+ oOption = oOptions.item(i);
215
+ oOption.removeNode();
216
+ }
217
+
218
+ }
219
+ catch(e){
220
+ return false;
221
+ }
222
+ }
223
+
224
+ function shiftSelectedItems(oLst, iDir){
225
+ //iDir: 1=up; 2=down
226
+ try{
227
+ var oOption;
228
+ var oOptionSwitch;
229
+ var oOptions = oLst.options;
230
+
231
+
232
+ if(oLst.selectedIndex<0)
233
+ {
234
+ alert("Please select an item to Move");
235
+ return;
236
+ }
237
+
238
+ if(iDir==1){ //up
239
+ for(var i=0;i<oOptions.length;i++){
240
+ oOption = oOptions.item(i);
241
+ if(oOption.selected && i>0){ //up
242
+ oOptionSwitch = oOptions.item(i-1);
243
+ oLst.insertBefore(oOption,oOptionSwitch);
244
+ }
245
+ }
246
+ }
247
+ if (iDir==2){ //down
248
+ for(var i=oOptions.length-1;i>=0;i--){
249
+ oOption = oOptions.item(i);
250
+ if(oOption.selected && i<oOptions.length-1){
251
+ oOptionSwitch = oOptions.item(i+1);
252
+ oLst.insertBefore(oOptionSwitch,oOption);
253
+ }
254
+ }
255
+ }
256
+ }
257
+ catch(e){
258
+ return false;
259
+ }
260
+ oLst.focus();
261
+ }
262
+
263
+ function showOnClick(lblID,ddlRef)
264
+ {
265
+ document.getElementById(lblID).innerText = ddlRef.options[ddlRef.selectedIndex].text;
266
+ }
267
+
268
+ function clearText(lblID)
269
+ {
270
+ document.getElementById(lblID).innerText ='';
271
+ }
272
+
273
+ // Added for issue #5633
274
+ function notSelectedMessg(lblID)
275
+ {
276
+ if(document.getElementById(lblID).innerText == '')
277
+ {
278
+ alert("Please select an item.");
279
+ return false;
280
+ }
281
+ else
282
+ {
283
+ document.getElementById(lblID).innerText ='';
284
+ }
285
+
286
+ }
287
+ //end
288
+
289
+ function moveIfselected(iMoveSet, isAdd,oLstAvail, oLstSelect, oHiddenSelected, oHiddenSelectedNames, oHiddenAvailable)
290
+ {
291
+ if(oLstAvail.selectedIndex<0 && Number(isAdd)==1 ||oLstSelect.selectedIndex<0 && Number(isAdd)==0 )
292
+ {
293
+ alert("Please select an item to Move");
294
+ return;
295
+ }
296
+ if(Number(isAdd)==1)
297
+ moveAvailToSelect(iMoveSet, oLstAvail, oLstSelect, oHiddenSelected, oHiddenSelectedNames, oHiddenAvailable);
298
+ else
299
+ moveSelectToAvail(iMoveSet, oLstAvail, oLstSelect, oHiddenSelected, oHiddenSelectedNames, oHiddenAvailable);
300
+ }
@@ -0,0 +1,29 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
5
+ <title>Unauthorized: Access is denied Or Custom Error</title>
6
+ <style type="text/css">
7
+ <!--
8
+ body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
9
+ fieldset{padding:0 15px 10px 15px;}
10
+ h1{font-size:2.4em;margin:0;color:#FFF;}
11
+ h2{font-size:1.7em;margin:0;color:#CC0000;}
12
+ h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
13
+ #header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
14
+ background-color:#555555;}
15
+ #content{margin:0 0 0 2%;position:relative;}
16
+ .content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
17
+ -->
18
+ </style>
19
+ </head>
20
+ <body>
21
+ <div id="header"><h1>Server Error</h1></div>
22
+ <div id="content">
23
+ <div class="content-container"><fieldset>
24
+ <h2>Please contact Administrator</h2>
25
+ <h3>Report this error to Administrator</h3>
26
+ </fieldset></div>
27
+ </div>
28
+ </body>
29
+ </html>
@@ -0,0 +1,48 @@
1
+ var lastMenu = null;
2
+ var ua = navigator.userAgent;
3
+ var opera = /opera [56789]|opera\/[56789]/i.test(ua);
4
+ var ie = !opera && /MSIE/.test(ua);
5
+ var ie50 = ie && /MSIE 5\.[01234]/.test(ua);
6
+ var ie6 = ie && /MSIE [6789]/.test(ua);
7
+ var ieBox = ie && (document.compatMode == null || document.compatMode != "CSS1Compat");
8
+ var moz = !opera && /gecko/i.test(ua);
9
+ var nn6 = !opera && /netscape.*6\./i.test(ua);
10
+
11
+ function showMenu(name, srcE) {
12
+ var menuE = (name == null) ? null : document.getElementById(name);
13
+ if (lastMenu != null) lastMenu.style.display = 'none';
14
+ if (menuE != null) {
15
+ if (srcE != null && menuE.style.right == 0 && menuE.style.left == 0) {
16
+ var left = srcE.offsetLeft;
17
+ if (ie && srcE.offsetParent != null) left -= srcE.offsetParent.offsetLeft;
18
+
19
+ menuE.style.left = left;
20
+ menuE.style.top = 0;
21
+ //alert('left: ' + left + '; parent: ' + srcE.offsetParent.offsetLeft);
22
+ }
23
+ menuE.style.display = 'block';
24
+ lastMenu = menuE;
25
+ }
26
+ }
27
+
28
+ function clearMenus(srcE) {
29
+ if (srcE == window.event.srcElement) {
30
+ if (lastMenu != null) lastMenu.style.display = 'none';
31
+ lastMenu = null;
32
+ return false;
33
+ }
34
+ }
35
+
36
+ function openHelp(url) {
37
+ var w = 480, h = 340;
38
+ if (document.all || document.layers) {
39
+ w = screen.availWidth;
40
+ h = screen.availHeight;
41
+ }
42
+
43
+ var popW = 500, popH = 500;
44
+ var leftPos = (w-popW)/2, topPos = (h-popH)/2;
45
+
46
+ helpWin = window.open(url,'cq_help','width=' + popW + ',height=' + popH + ',top=' + topPos + ',left=' + leftPos + ',toolbar=no,location=no,directories=no,status=no,menubar=no');
47
+ helpWin.focus();
48
+ }
@@ -0,0 +1,134 @@
1
+ .cal_calendar
2
+ {
3
+ font-size:8pt;
4
+ font-family:verdana;
5
+ padding:0px;
6
+ margin:0px;
7
+ border:none;
8
+ border-collapse:collapse;
9
+ cursor:auto;
10
+ }
11
+ .cal_header
12
+ {
13
+ background-color:#CCCCCC;
14
+ padding:0px;
15
+ margin:0px;
16
+ border:none;
17
+ border-collapse:collapse;
18
+ cursor:auto;
19
+ }
20
+
21
+ .cal_headerEvent
22
+ {
23
+ background-color:#CCCCCC;
24
+ padding:0px;
25
+ margin:0px;
26
+ border-width:2px;
27
+ border-collapse:collapse;
28
+ cursor:hand;
29
+ text-align:center;
30
+ font-weight:bold;
31
+ border:2px groove;
32
+ }
33
+
34
+ .cal_cell
35
+ {
36
+ padding:2px;
37
+ margin:1px;
38
+ border:2px groove;
39
+ text-align:center;
40
+ width:3ex;
41
+ cursor:auto;
42
+ }
43
+ .cal_labelcell
44
+ {
45
+ padding:2px;
46
+ margin:1px;
47
+ border:2px groove;
48
+ text-align:center;
49
+ font-family:verdana;
50
+ cursor:auto;
51
+ }
52
+ .cal_oddweek
53
+ {
54
+ background-color:#AAAACC;
55
+ padding:0px;
56
+ margin:0px;
57
+ border:none;
58
+ border-collapse:collapse;
59
+ cursor:auto;
60
+ }
61
+ .cal_evenweek
62
+ {
63
+ background-color:#CCCCEE;
64
+ padding:0px;
65
+ margin:0px;
66
+ border:none;
67
+ border-collapse:collapse;
68
+ cursor:auto;
69
+ }
70
+ .cal_day
71
+ {
72
+ width:3ex;
73
+ text-align:center;
74
+ padding:0px;
75
+ margin:0px;
76
+ border:none;
77
+ border-collapse:collapse;
78
+ cursor:auto;
79
+
80
+ }
81
+
82
+ .cal_today
83
+ {
84
+ color:black;
85
+ font-weight:bold;
86
+ width:3ex;
87
+ padding:0px;
88
+ margin:0px;
89
+ border:none;
90
+ border-collapse:collapse;
91
+ cursor:hand;
92
+ }
93
+ .cal_disabled
94
+ {
95
+ color:#999999;
96
+ width:3ex;
97
+ padding:0px;
98
+ margin:0px;
99
+ border:none;
100
+ border-collapse:collapse;
101
+ cursor:auto;
102
+ }
103
+ .cal_common
104
+ {
105
+ color:black;
106
+ width:3ex;
107
+ padding:0px;
108
+ margin:0px;
109
+ border:none;
110
+ border-collapse:collapse;
111
+ cursor:hand;
112
+
113
+ }
114
+ .cal_holiday
115
+ {
116
+ color:red;
117
+ width:3ex;
118
+ padding:0px;
119
+ margin:0px;
120
+ border:none;
121
+ border-collapse:collapse;
122
+ cursor:hand;
123
+ }
124
+ .cal_event
125
+ {
126
+ background-color:yellow;
127
+ color:red;
128
+ width:3ex;
129
+ padding:0px;
130
+ margin:0px;
131
+ border:none;
132
+ border-collapse:collapse;
133
+ cursor:auto;
134
+ }