Mercurial > p > roundup > code
annotate templates/classic/html/help_controls.js @ 2080:aee415589d2c maint-0.6
simpler test
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Wed, 17 Mar 2004 06:30:57 +0000 |
| parents | 73989dcf020b |
| children | 37bf760544f3 |
| rev | line source |
|---|---|
|
1663
09f0a54829eb
Fixed spelling of "supersede";
Jean Jordaan <neaj@users.sourceforge.net>
parents:
1608
diff
changeset
|
1 // initial values for either Nosy, Superseder, Topic and Waiting On, |
|
09f0a54829eb
Fixed spelling of "supersede";
Jean Jordaan <neaj@users.sourceforge.net>
parents:
1608
diff
changeset
|
2 // depending on which has called |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
3 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
4 original_field = window.opener.document.itemSynopsis[field].value; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
5 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
6 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
7 // pop() and push() methods for pre5.5 IE browsers |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
8 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
9 function bName() { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
10 // test for IE |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
11 if (navigator.appName == "Microsoft Internet Explorer") |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
12 return 1; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
13 return 0; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
14 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
15 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
16 function bVer() { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
17 // return version number (e.g., 4.03) |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
18 msieIndex = navigator.appVersion.indexOf("MSIE") + 5; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
19 return(parseFloat(navigator.appVersion.substr(msieIndex,3))); |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
20 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
21 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
22 function pop() { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
23 // make a pop method for old IE browsers |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
24 var lastElement = this[this.length - 1]; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
25 this.length--; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
26 return lastElement; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
27 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
28 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
29 function push() { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
30 // make a pop method for old IE browsers |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
31 var sub = this.length; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
32 for (var i = 0; i < push.arguments.length; ++i) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
33 this[sub] = push.arguments[i]; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
34 sub++; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
35 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
36 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
37 |
|
1972
73989dcf020b
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1900
diff
changeset
|
38 // add the pop() and push() method to Array if they're not there |
|
73989dcf020b
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1900
diff
changeset
|
39 if (!Array.prototype.pop) { |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
40 Array.prototype.pop = pop; |
|
1972
73989dcf020b
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1900
diff
changeset
|
41 } |
|
73989dcf020b
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1900
diff
changeset
|
42 if (!Array.prototype.push) { |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
43 Array.prototype.push = push; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
44 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
45 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
46 function trim(value) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
47 var temp = value; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
48 var obj = /^(\s*)([\W\w]*)(\b\s*$)/; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
49 if (obj.test(temp)) { temp = temp.replace(obj, '$2'); } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
50 var obj = / /g; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
51 while (temp.match(obj)) { temp = temp.replace(obj, " "); } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
52 return temp; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
53 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
54 |
|
1900
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
55 function determineList() { |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
56 // generate a comma-separated list of the checked items |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
57 if (document.frm_help.check==undefined) { return; } |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
58 var list = new Array(); |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
59 if (document.frm_help.check.length==undefined) { |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
60 if (document.frm_help.check.checked) { |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
61 list.push(document.frm_help.check.value); |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
62 } |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
63 } else { |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
64 for (box=0; box < document.frm_help.check.length; box++) { |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
65 if (document.frm_help.check[box].checked) { |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
66 list.push(document.frm_help.check[box].value); |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
67 } |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
68 } |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
69 } |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
70 return new String(list.join(',')); |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
71 } |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
72 |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
73 function updateList() { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
74 // write back to opener window |
|
1781
c4968040459e
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1663
diff
changeset
|
75 if (document.frm_help.check==undefined) { return; } |
|
1900
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
76 window.opener.document.itemSynopsis[field].value = determineList(); |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
77 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
78 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
79 function updatePreview() { |
|
1900
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
80 // update the preview box |
|
1781
c4968040459e
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1663
diff
changeset
|
81 if (document.frm_help.check==undefined) { return; } |
|
1900
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
82 writePreview(determineList()); |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
83 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
84 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
85 function clearList() { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
86 // uncheck all checkboxes |
|
1781
c4968040459e
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1663
diff
changeset
|
87 if (document.frm_help.check==undefined) { return; } |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
88 for (box=0; box < document.frm_help.check.length; box++) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
89 document.frm_help.check[box].checked = false; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
90 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
91 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
92 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
93 function reviseList(vals) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
94 // update the checkboxes based on the preview field |
|
1781
c4968040459e
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1663
diff
changeset
|
95 if (document.frm_help.check==undefined) { return; } |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
96 var to_check; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
97 var list = vals.split(","); |
|
1900
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
98 if (document.frm_help.check.length==undefined) { |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
99 check = document.frm_help.check; |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
100 to_check = false; |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
101 for (val in list) { |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
102 if (check.value==trim(list[val])) { |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
103 to_check = true; |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
104 break; |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
105 } |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
106 } |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
107 check.checked = to_check; |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
108 } else { |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
109 for (box=0; box < document.frm_help.check.length; box++) { |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
110 check = document.frm_help.check[box]; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
111 to_check = false; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
112 for (val in list) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
113 if (check.value==trim(list[val])) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
114 to_check = true; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
115 break; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
116 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
117 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
118 check.checked = to_check; |
|
1900
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
119 } |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
120 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
121 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
122 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
123 function resetList() { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
124 // reset preview and check boxes to initial values |
|
1781
c4968040459e
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1663
diff
changeset
|
125 if (document.frm_help.check==undefined) { return; } |
|
1900
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
126 writePreview(original_field); |
|
db187e5cabc6
backport from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
1781
diff
changeset
|
127 reviseList(original_field); |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
128 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
129 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
130 function writePreview(val) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
131 // writes a value to the text_preview |
|
1663
09f0a54829eb
Fixed spelling of "supersede";
Jean Jordaan <neaj@users.sourceforge.net>
parents:
1608
diff
changeset
|
132 document.frm_help.text_preview.value = val; |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
133 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
134 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
135 function focusField(name) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
136 for(i=0; i < document.forms.length; ++i) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
137 var obj = document.forms[i].elements[name]; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
138 if (obj && obj.focus) {obj.focus();} |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
139 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
140 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
141 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
142 function selectField(name) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
143 for(i=0; i < document.forms.length; ++i) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
144 var obj = document.forms[i].elements[name]; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
145 if (obj && obj.focus){obj.focus();} |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
146 if (obj && obj.select){obj.select();} |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
147 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
148 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
149 |
