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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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

Roundup Issue Tracker: http://roundup-tracker.org/