admin_module 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
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,548 @@
1
+ function WebForm_PostBackOptions(eventTarget, eventArgument, validation, validationGroup, actionUrl, trackFocus, clientSubmit) {
2
+ this.eventTarget = eventTarget;
3
+ this.eventArgument = eventArgument;
4
+ this.validation = validation;
5
+ this.validationGroup = validationGroup;
6
+ this.actionUrl = actionUrl;
7
+ this.trackFocus = trackFocus;
8
+ this.clientSubmit = clientSubmit;
9
+ }
10
+ function WebForm_DoPostBackWithOptions(options) {
11
+ var validationResult = true;
12
+ if (options.validation) {
13
+ if (typeof(Page_ClientValidate) == 'function') {
14
+ validationResult = Page_ClientValidate(options.validationGroup);
15
+ }
16
+ }
17
+ if (validationResult) {
18
+ if ((typeof(options.actionUrl) != "undefined") && (options.actionUrl != null) && (options.actionUrl.length > 0)) {
19
+ theForm.action = options.actionUrl;
20
+ }
21
+ if (options.trackFocus) {
22
+ var lastFocus = theForm.elements["__LASTFOCUS"];
23
+ if ((typeof(lastFocus) != "undefined") && (lastFocus != null)) {
24
+ if (typeof(document.activeElement) == "undefined") {
25
+ lastFocus.value = options.eventTarget;
26
+ }
27
+ else {
28
+ var active = document.activeElement;
29
+ if ((typeof(active) != "undefined") && (active != null)) {
30
+ if ((typeof(active.id) != "undefined") && (active.id != null) && (active.id.length > 0)) {
31
+ lastFocus.value = active.id;
32
+ }
33
+ else if (typeof(active.name) != "undefined") {
34
+ lastFocus.value = active.name;
35
+ }
36
+ }
37
+ }
38
+ }
39
+ }
40
+ }
41
+ if (options.clientSubmit) {
42
+ __doPostBack(options.eventTarget, options.eventArgument);
43
+ }
44
+ }
45
+ var __pendingCallbacks = new Array();
46
+ var __synchronousCallBackIndex = -1;
47
+ function WebForm_DoCallback(eventTarget, eventArgument, eventCallback, context, errorCallback, useAsync) {
48
+ var postData = __theFormPostData +
49
+ "__CALLBACKID=" + WebForm_EncodeCallback(eventTarget) +
50
+ "&__CALLBACKPARAM=" + WebForm_EncodeCallback(eventArgument);
51
+ if (theForm["__EVENTVALIDATION"]) {
52
+ postData += "&__EVENTVALIDATION=" + WebForm_EncodeCallback(theForm["__EVENTVALIDATION"].value);
53
+ }
54
+ var xmlRequest,e;
55
+ try {
56
+ xmlRequest = new XMLHttpRequest();
57
+ }
58
+ catch(e) {
59
+ try {
60
+ xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
61
+ }
62
+ catch(e) {
63
+ }
64
+ }
65
+ var setRequestHeaderMethodExists = true;
66
+ try {
67
+ setRequestHeaderMethodExists = (xmlRequest && xmlRequest.setRequestHeader);
68
+ }
69
+ catch(e) {}
70
+ var callback = new Object();
71
+ callback.eventCallback = eventCallback;
72
+ callback.context = context;
73
+ callback.errorCallback = errorCallback;
74
+ callback.async = useAsync;
75
+ var callbackIndex = WebForm_FillFirstAvailableSlot(__pendingCallbacks, callback);
76
+ if (!useAsync) {
77
+ if (__synchronousCallBackIndex != -1) {
78
+ __pendingCallbacks[__synchronousCallBackIndex] = null;
79
+ }
80
+ __synchronousCallBackIndex = callbackIndex;
81
+ }
82
+ if (setRequestHeaderMethodExists) {
83
+ xmlRequest.onreadystatechange = WebForm_CallbackComplete;
84
+ callback.xmlRequest = xmlRequest;
85
+ // e.g. http:
86
+ var action = theForm.action || document.location.pathname, fragmentIndex = action.indexOf('#');
87
+ if (fragmentIndex !== -1) {
88
+ action = action.substr(0, fragmentIndex);
89
+ }
90
+ if (!__nonMSDOMBrowser) {
91
+ var queryIndex = action.indexOf('?');
92
+ if (queryIndex !== -1) {
93
+ var path = action.substr(0, queryIndex);
94
+ if (path.indexOf("%") === -1) {
95
+ action = encodeURI(path) + action.substr(queryIndex);
96
+ }
97
+ }
98
+ else if (action.indexOf("%") === -1) {
99
+ action = encodeURI(action);
100
+ }
101
+ }
102
+ xmlRequest.open("POST", action, true);
103
+ xmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
104
+ xmlRequest.send(postData);
105
+ return;
106
+ }
107
+ callback.xmlRequest = new Object();
108
+ var callbackFrameID = "__CALLBACKFRAME" + callbackIndex;
109
+ var xmlRequestFrame = document.frames[callbackFrameID];
110
+ if (!xmlRequestFrame) {
111
+ xmlRequestFrame = document.createElement("IFRAME");
112
+ xmlRequestFrame.width = "1";
113
+ xmlRequestFrame.height = "1";
114
+ xmlRequestFrame.frameBorder = "0";
115
+ xmlRequestFrame.id = callbackFrameID;
116
+ xmlRequestFrame.name = callbackFrameID;
117
+ xmlRequestFrame.style.position = "absolute";
118
+ xmlRequestFrame.style.top = "-100px"
119
+ xmlRequestFrame.style.left = "-100px";
120
+ try {
121
+ if (callBackFrameUrl) {
122
+ xmlRequestFrame.src = callBackFrameUrl;
123
+ }
124
+ }
125
+ catch(e) {}
126
+ document.body.appendChild(xmlRequestFrame);
127
+ }
128
+ var interval = window.setInterval(function() {
129
+ xmlRequestFrame = document.frames[callbackFrameID];
130
+ if (xmlRequestFrame && xmlRequestFrame.document) {
131
+ window.clearInterval(interval);
132
+ xmlRequestFrame.document.write("");
133
+ xmlRequestFrame.document.close();
134
+ xmlRequestFrame.document.write('<html><body><form method="post"><input type="hidden" name="__CALLBACKLOADSCRIPT" value="t"></form></body></html>');
135
+ xmlRequestFrame.document.close();
136
+ xmlRequestFrame.document.forms[0].action = theForm.action;
137
+ var count = __theFormPostCollection.length;
138
+ var element;
139
+ for (var i = 0; i < count; i++) {
140
+ element = __theFormPostCollection[i];
141
+ if (element) {
142
+ var fieldElement = xmlRequestFrame.document.createElement("INPUT");
143
+ fieldElement.type = "hidden";
144
+ fieldElement.name = element.name;
145
+ fieldElement.value = element.value;
146
+ xmlRequestFrame.document.forms[0].appendChild(fieldElement);
147
+ }
148
+ }
149
+ var callbackIdFieldElement = xmlRequestFrame.document.createElement("INPUT");
150
+ callbackIdFieldElement.type = "hidden";
151
+ callbackIdFieldElement.name = "__CALLBACKID";
152
+ callbackIdFieldElement.value = eventTarget;
153
+ xmlRequestFrame.document.forms[0].appendChild(callbackIdFieldElement);
154
+ var callbackParamFieldElement = xmlRequestFrame.document.createElement("INPUT");
155
+ callbackParamFieldElement.type = "hidden";
156
+ callbackParamFieldElement.name = "__CALLBACKPARAM";
157
+ callbackParamFieldElement.value = eventArgument;
158
+ xmlRequestFrame.document.forms[0].appendChild(callbackParamFieldElement);
159
+ if (theForm["__EVENTVALIDATION"]) {
160
+ var callbackValidationFieldElement = xmlRequestFrame.document.createElement("INPUT");
161
+ callbackValidationFieldElement.type = "hidden";
162
+ callbackValidationFieldElement.name = "__EVENTVALIDATION";
163
+ callbackValidationFieldElement.value = theForm["__EVENTVALIDATION"].value;
164
+ xmlRequestFrame.document.forms[0].appendChild(callbackValidationFieldElement);
165
+ }
166
+ var callbackIndexFieldElement = xmlRequestFrame.document.createElement("INPUT");
167
+ callbackIndexFieldElement.type = "hidden";
168
+ callbackIndexFieldElement.name = "__CALLBACKINDEX";
169
+ callbackIndexFieldElement.value = callbackIndex;
170
+ xmlRequestFrame.document.forms[0].appendChild(callbackIndexFieldElement);
171
+ xmlRequestFrame.document.forms[0].submit();
172
+ }
173
+ }, 10);
174
+ }
175
+ function WebForm_CallbackComplete() {
176
+ for (var i = 0; i < __pendingCallbacks.length; i++) {
177
+ callbackObject = __pendingCallbacks[i];
178
+ if (callbackObject && callbackObject.xmlRequest && (callbackObject.xmlRequest.readyState == 4)) {
179
+ if (!__pendingCallbacks[i].async) {
180
+ __synchronousCallBackIndex = -1;
181
+ }
182
+ __pendingCallbacks[i] = null;
183
+ var callbackFrameID = "__CALLBACKFRAME" + i;
184
+ var xmlRequestFrame = document.getElementById(callbackFrameID);
185
+ if (xmlRequestFrame) {
186
+ xmlRequestFrame.parentNode.removeChild(xmlRequestFrame);
187
+ }
188
+ WebForm_ExecuteCallback(callbackObject);
189
+ }
190
+ }
191
+ }
192
+ function WebForm_ExecuteCallback(callbackObject) {
193
+ var response = callbackObject.xmlRequest.responseText;
194
+ if (response.charAt(0) == "s") {
195
+ if ((typeof(callbackObject.eventCallback) != "undefined") && (callbackObject.eventCallback != null)) {
196
+ callbackObject.eventCallback(response.substring(1), callbackObject.context);
197
+ }
198
+ }
199
+ else if (response.charAt(0) == "e") {
200
+ if ((typeof(callbackObject.errorCallback) != "undefined") && (callbackObject.errorCallback != null)) {
201
+ callbackObject.errorCallback(response.substring(1), callbackObject.context);
202
+ }
203
+ }
204
+ else {
205
+ var separatorIndex = response.indexOf("|");
206
+ if (separatorIndex != -1) {
207
+ var validationFieldLength = parseInt(response.substring(0, separatorIndex));
208
+ if (!isNaN(validationFieldLength)) {
209
+ var validationField = response.substring(separatorIndex + 1, separatorIndex + validationFieldLength + 1);
210
+ if (validationField != "") {
211
+ var validationFieldElement = theForm["__EVENTVALIDATION"];
212
+ if (!validationFieldElement) {
213
+ validationFieldElement = document.createElement("INPUT");
214
+ validationFieldElement.type = "hidden";
215
+ validationFieldElement.name = "__EVENTVALIDATION";
216
+ theForm.appendChild(validationFieldElement);
217
+ }
218
+ validationFieldElement.value = validationField;
219
+ }
220
+ if ((typeof(callbackObject.eventCallback) != "undefined") && (callbackObject.eventCallback != null)) {
221
+ callbackObject.eventCallback(response.substring(separatorIndex + validationFieldLength + 1), callbackObject.context);
222
+ }
223
+ }
224
+ }
225
+ }
226
+ }
227
+ function WebForm_FillFirstAvailableSlot(array, element) {
228
+ var i;
229
+ for (i = 0; i < array.length; i++) {
230
+ if (!array[i]) break;
231
+ }
232
+ array[i] = element;
233
+ return i;
234
+ }
235
+ var __nonMSDOMBrowser = (window.navigator.appName.toLowerCase().indexOf('explorer') == -1);
236
+ var __theFormPostData = "";
237
+ var __theFormPostCollection = new Array();
238
+ var __callbackTextTypes = /^(text|password|hidden|search|tel|url|email|number|range|color|datetime|date|month|week|time|datetime-local)$/i;
239
+ function WebForm_InitCallback() {
240
+ var count = theForm.elements.length;
241
+ var element;
242
+ for (var i = 0; i < count; i++) {
243
+ element = theForm.elements[i];
244
+ var tagName = element.tagName.toLowerCase();
245
+ if (tagName == "input") {
246
+ var type = element.type;
247
+ if ((__callbackTextTypes.test(type) || ((type == "checkbox" || type == "radio") && element.checked))
248
+ && (element.id != "__EVENTVALIDATION")) {
249
+ WebForm_InitCallbackAddField(element.name, element.value);
250
+ }
251
+ }
252
+ else if (tagName == "select") {
253
+ var selectCount = element.options.length;
254
+ for (var j = 0; j < selectCount; j++) {
255
+ var selectChild = element.options[j];
256
+ if (selectChild.selected == true) {
257
+ WebForm_InitCallbackAddField(element.name, element.value);
258
+ }
259
+ }
260
+ }
261
+ else if (tagName == "textarea") {
262
+ WebForm_InitCallbackAddField(element.name, element.value);
263
+ }
264
+ }
265
+ }
266
+ function WebForm_InitCallbackAddField(name, value) {
267
+ var nameValue = new Object();
268
+ nameValue.name = name;
269
+ nameValue.value = value;
270
+ __theFormPostCollection[__theFormPostCollection.length] = nameValue;
271
+ __theFormPostData += WebForm_EncodeCallback(name) + "=" + WebForm_EncodeCallback(value) + "&";
272
+ }
273
+ function WebForm_EncodeCallback(parameter) {
274
+ if (encodeURIComponent) {
275
+ return encodeURIComponent(parameter);
276
+ }
277
+ else {
278
+ return escape(parameter);
279
+ }
280
+ }
281
+ var __disabledControlArray = new Array();
282
+ function WebForm_ReEnableControls() {
283
+ if (typeof(__enabledControlArray) == 'undefined') {
284
+ return false;
285
+ }
286
+ var disabledIndex = 0;
287
+ for (var i = 0; i < __enabledControlArray.length; i++) {
288
+ var c;
289
+ if (__nonMSDOMBrowser) {
290
+ c = document.getElementById(__enabledControlArray[i]);
291
+ }
292
+ else {
293
+ c = document.all[__enabledControlArray[i]];
294
+ }
295
+ if ((typeof(c) != "undefined") && (c != null) && (c.disabled == true)) {
296
+ c.disabled = false;
297
+ __disabledControlArray[disabledIndex++] = c;
298
+ }
299
+ }
300
+ setTimeout("WebForm_ReDisableControls()", 0);
301
+ return true;
302
+ }
303
+ function WebForm_ReDisableControls() {
304
+ for (var i = 0; i < __disabledControlArray.length; i++) {
305
+ __disabledControlArray[i].disabled = true;
306
+ }
307
+ }
308
+ function WebForm_FireDefaultButton(event, target) {
309
+ if (event.keyCode == 13) {
310
+ var src = event.srcElement || event.target;
311
+ if (src &&
312
+ ((src.tagName.toLowerCase() == "input") &&
313
+ (src.type.toLowerCase() == "submit" || src.type.toLowerCase() == "button")) ||
314
+ ((src.tagName.toLowerCase() == "a") &&
315
+ (src.href != null) && (src.href != "")) ||
316
+ (src.tagName.toLowerCase() == "textarea")) {
317
+ return true;
318
+ }
319
+ var defaultButton;
320
+ if (__nonMSDOMBrowser) {
321
+ defaultButton = document.getElementById(target);
322
+ }
323
+ else {
324
+ defaultButton = document.all[target];
325
+ }
326
+ if (defaultButton && typeof(defaultButton.click) != "undefined") {
327
+ defaultButton.click();
328
+ event.cancelBubble = true;
329
+ if (event.stopPropagation) event.stopPropagation();
330
+ return false;
331
+ }
332
+ }
333
+ return true;
334
+ }
335
+ function WebForm_GetScrollX() {
336
+ if (__nonMSDOMBrowser) {
337
+ return window.pageXOffset;
338
+ }
339
+ else {
340
+ if (document.documentElement && document.documentElement.scrollLeft) {
341
+ return document.documentElement.scrollLeft;
342
+ }
343
+ else if (document.body) {
344
+ return document.body.scrollLeft;
345
+ }
346
+ }
347
+ return 0;
348
+ }
349
+ function WebForm_GetScrollY() {
350
+ if (__nonMSDOMBrowser) {
351
+ return window.pageYOffset;
352
+ }
353
+ else {
354
+ if (document.documentElement && document.documentElement.scrollTop) {
355
+ return document.documentElement.scrollTop;
356
+ }
357
+ else if (document.body) {
358
+ return document.body.scrollTop;
359
+ }
360
+ }
361
+ return 0;
362
+ }
363
+ function WebForm_SaveScrollPositionSubmit() {
364
+ if (__nonMSDOMBrowser) {
365
+ theForm.elements['__SCROLLPOSITIONY'].value = window.pageYOffset;
366
+ theForm.elements['__SCROLLPOSITIONX'].value = window.pageXOffset;
367
+ }
368
+ else {
369
+ theForm.__SCROLLPOSITIONX.value = WebForm_GetScrollX();
370
+ theForm.__SCROLLPOSITIONY.value = WebForm_GetScrollY();
371
+ }
372
+ if ((typeof(this.oldSubmit) != "undefined") && (this.oldSubmit != null)) {
373
+ return this.oldSubmit();
374
+ }
375
+ return true;
376
+ }
377
+ function WebForm_SaveScrollPositionOnSubmit() {
378
+ theForm.__SCROLLPOSITIONX.value = WebForm_GetScrollX();
379
+ theForm.__SCROLLPOSITIONY.value = WebForm_GetScrollY();
380
+ if ((typeof(this.oldOnSubmit) != "undefined") && (this.oldOnSubmit != null)) {
381
+ return this.oldOnSubmit();
382
+ }
383
+ return true;
384
+ }
385
+ function WebForm_RestoreScrollPosition() {
386
+ if (__nonMSDOMBrowser) {
387
+ window.scrollTo(theForm.elements['__SCROLLPOSITIONX'].value, theForm.elements['__SCROLLPOSITIONY'].value);
388
+ }
389
+ else {
390
+ window.scrollTo(theForm.__SCROLLPOSITIONX.value, theForm.__SCROLLPOSITIONY.value);
391
+ }
392
+ if ((typeof(theForm.oldOnLoad) != "undefined") && (theForm.oldOnLoad != null)) {
393
+ return theForm.oldOnLoad();
394
+ }
395
+ return true;
396
+ }
397
+ function WebForm_TextBoxKeyHandler(event) {
398
+ if (event.keyCode == 13) {
399
+ var target;
400
+ if (__nonMSDOMBrowser) {
401
+ target = event.target;
402
+ }
403
+ else {
404
+ target = event.srcElement;
405
+ }
406
+ if ((typeof(target) != "undefined") && (target != null)) {
407
+ if (typeof(target.onchange) != "undefined") {
408
+ target.onchange();
409
+ event.cancelBubble = true;
410
+ if (event.stopPropagation) event.stopPropagation();
411
+ return false;
412
+ }
413
+ }
414
+ }
415
+ return true;
416
+ }
417
+ function WebForm_TrimString(value) {
418
+ return value.replace(/^\s+|\s+$/g, '')
419
+ }
420
+ function WebForm_AppendToClassName(element, className) {
421
+ var currentClassName = ' ' + WebForm_TrimString(element.className) + ' ';
422
+ className = WebForm_TrimString(className);
423
+ var index = currentClassName.indexOf(' ' + className + ' ');
424
+ if (index === -1) {
425
+ element.className = (element.className === '') ? className : element.className + ' ' + className;
426
+ }
427
+ }
428
+ function WebForm_RemoveClassName(element, className) {
429
+ var currentClassName = ' ' + WebForm_TrimString(element.className) + ' ';
430
+ className = WebForm_TrimString(className);
431
+ var index = currentClassName.indexOf(' ' + className + ' ');
432
+ if (index >= 0) {
433
+ element.className = WebForm_TrimString(currentClassName.substring(0, index) + ' ' +
434
+ currentClassName.substring(index + className.length + 1, currentClassName.length));
435
+ }
436
+ }
437
+ function WebForm_GetElementById(elementId) {
438
+ if (document.getElementById) {
439
+ return document.getElementById(elementId);
440
+ }
441
+ else if (document.all) {
442
+ return document.all[elementId];
443
+ }
444
+ else return null;
445
+ }
446
+ function WebForm_GetElementByTagName(element, tagName) {
447
+ var elements = WebForm_GetElementsByTagName(element, tagName);
448
+ if (elements && elements.length > 0) {
449
+ return elements[0];
450
+ }
451
+ else return null;
452
+ }
453
+ function WebForm_GetElementsByTagName(element, tagName) {
454
+ if (element && tagName) {
455
+ if (element.getElementsByTagName) {
456
+ return element.getElementsByTagName(tagName);
457
+ }
458
+ if (element.all && element.all.tags) {
459
+ return element.all.tags(tagName);
460
+ }
461
+ }
462
+ return null;
463
+ }
464
+ function WebForm_GetElementDir(element) {
465
+ if (element) {
466
+ if (element.dir) {
467
+ return element.dir;
468
+ }
469
+ return WebForm_GetElementDir(element.parentNode);
470
+ }
471
+ return "ltr";
472
+ }
473
+ function WebForm_GetElementPosition(element) {
474
+ var result = new Object();
475
+ result.x = 0;
476
+ result.y = 0;
477
+ result.width = 0;
478
+ result.height = 0;
479
+ if (element.offsetParent) {
480
+ result.x = element.offsetLeft;
481
+ result.y = element.offsetTop;
482
+ var parent = element.offsetParent;
483
+ while (parent) {
484
+ result.x += parent.offsetLeft;
485
+ result.y += parent.offsetTop;
486
+ var parentTagName = parent.tagName.toLowerCase();
487
+ if (parentTagName != "table" &&
488
+ parentTagName != "body" &&
489
+ parentTagName != "html" &&
490
+ parentTagName != "div" &&
491
+ parent.clientTop &&
492
+ parent.clientLeft) {
493
+ result.x += parent.clientLeft;
494
+ result.y += parent.clientTop;
495
+ }
496
+ parent = parent.offsetParent;
497
+ }
498
+ }
499
+ else if (element.left && element.top) {
500
+ result.x = element.left;
501
+ result.y = element.top;
502
+ }
503
+ else {
504
+ if (element.x) {
505
+ result.x = element.x;
506
+ }
507
+ if (element.y) {
508
+ result.y = element.y;
509
+ }
510
+ }
511
+ if (element.offsetWidth && element.offsetHeight) {
512
+ result.width = element.offsetWidth;
513
+ result.height = element.offsetHeight;
514
+ }
515
+ else if (element.style && element.style.pixelWidth && element.style.pixelHeight) {
516
+ result.width = element.style.pixelWidth;
517
+ result.height = element.style.pixelHeight;
518
+ }
519
+ return result;
520
+ }
521
+ function WebForm_GetParentByTagName(element, tagName) {
522
+ var parent = element.parentNode;
523
+ var upperTagName = tagName.toUpperCase();
524
+ while (parent && (parent.tagName.toUpperCase() != upperTagName)) {
525
+ parent = parent.parentNode ? parent.parentNode : parent.parentElement;
526
+ }
527
+ return parent;
528
+ }
529
+ function WebForm_SetElementHeight(element, height) {
530
+ if (element && element.style) {
531
+ element.style.height = height + "px";
532
+ }
533
+ }
534
+ function WebForm_SetElementWidth(element, width) {
535
+ if (element && element.style) {
536
+ element.style.width = width + "px";
537
+ }
538
+ }
539
+ function WebForm_SetElementX(element, x) {
540
+ if (element && element.style) {
541
+ element.style.left = x + "px";
542
+ }
543
+ }
544
+ function WebForm_SetElementY(element, y) {
545
+ if (element && element.style) {
546
+ element.style.top = y + "px";
547
+ }
548
+ }