Mercurial > p > roundup > code
diff templates/classic/html/help_controls.js @ 1608:49dd1bf17d66
new improved help controls
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Thu, 24 Apr 2003 05:38:11 +0000 |
| parents | |
| children | 09f0a54829eb |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/templates/classic/html/help_controls.js Thu Apr 24 05:38:11 2003 +0000 @@ -0,0 +1,138 @@ +// initial values for either Nosy, Superceder, Topic and Waiting On, +// depecding on which has called + +original_field = window.opener.document.itemSynopsis[field].value; + + +// pop() and push() methods for pre5.5 IE browsers + +function bName() { + // test for IE + if (navigator.appName == "Microsoft Internet Explorer") + return 1; + return 0; +} + +function bVer() { + // return version number (e.g., 4.03) + msieIndex = navigator.appVersion.indexOf("MSIE") + 5; + return(parseFloat(navigator.appVersion.substr(msieIndex,3))); +} + +function pop() { + // make a pop method for old IE browsers + var lastElement = this[this.length - 1]; + this.length--; + return lastElement; +} + +function push() { + // make a pop method for old IE browsers + var sub = this.length; + for (var i = 0; i < push.arguments.length; ++i) { + this[sub] = push.arguments[i]; + sub++; + } +} + +// add the pop() and push() method to Array prototype for old IE browser +if (bName() == 1 && bVer() >= 5.5); +else { + Array.prototype.pop = pop; + Array.prototype.push = push; +} + +function trim(value) { + var temp = value; + var obj = /^(\s*)([\W\w]*)(\b\s*$)/; + if (obj.test(temp)) { temp = temp.replace(obj, '$2'); } + var obj = / /g; + while (temp.match(obj)) { temp = temp.replace(obj, " "); } + return temp; +} + +function updateList() { + // write back to opener window + var list = new Array(); + for (box=0; box < document.frm_help.check.length; box++) { + if (document.frm_help.check[box].checked) { + list.push(document.frm_help.check[box].value); + } + } + window.opener.document.itemSynopsis[field].value = list.join(","); +} + +function updatePreview() { + // add new checkbox selections to preview + var list = new Array(); + for (box=0; box < document.frm_help.check.length; box++) { + if (document.frm_help.check[box].checked) { + list.push(document.frm_help.check[box].value); + } + } + listString = new String(list.join(',')); + writePreview(listString); +} + +function clearList() { + // uncheck all checkboxes + for (box=0; box < document.frm_help.check.length; box++) { + document.frm_help.check[box].checked = false; + } +} + +function reviseList(vals) { + // update the checkboxes based on the preview field + var to_check; + var list = vals.split(","); + for (box=0; box < document.frm_help.check.length; box++) { + check = document.frm_help.check[box]; + to_check = false; + for (val in list) { + if (check.value==trim(list[val])) { + to_check = true; + break; + } + } + check.checked = to_check; + } +} + +function resetList() { + // reset preview and check boxes to initial values + var to_check; + var list = original_field.split(','); + writePreview(list); + for (box=0; box < document.frm_help.check.length; box++) { + check = document.frm_help.check[box]; + to_check = false; + for (val in list) { + if (check.value==trim(list[val])) { + to_check = true; + break; + } + } + check.checked = to_check; + } +} + +function writePreview(val) { + // writes a value to the text_preview + document.forms[0].text_preview.value = val; +} + +function focusField(name) { + for(i=0; i < document.forms.length; ++i) { + var obj = document.forms[i].elements[name]; + if (obj && obj.focus) {obj.focus();} + } +} + +function selectField(name) { + for(i=0; i < document.forms.length; ++i) { + var obj = document.forms[i].elements[name]; + if (obj && obj.focus){obj.focus();} + if (obj && obj.select){obj.select();} + } +} +
