From 0aa1a917a9e89dc2037ba95b5fd1fa67db49aa9e Mon Sep 17 00:00:00 2001 From: Pierre Habouzit Date: Mon, 18 Aug 2003 11:31:36 +0000 Subject: [PATCH] javascript is now mozilla-compliant --- philter/philter/include/philter.js | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/philter/philter/include/philter.js b/philter/philter/include/philter.js index 29ee024..3cf2fe2 100644 --- a/philter/philter/include/philter.js +++ b/philter/philter/include/philter.js @@ -21,6 +21,17 @@ function cleanChilds(Node, nbChilds) { Node.removeChild(Node.childNodes[nbChilds]); } +function getElement(obj) { + return getNthElement(obj,0); +} + +function getNthElement(obj, index) { + if(document.all) + return document.all[obj][index]; + if(document.getElementsByName) + return document.getElementsByName(obj)[index]; +} + /********** ORDER FORM FUNCTIONS **********/ function order_up() { @@ -127,7 +138,7 @@ function createActionRow(Node,data) { } function newAction() { - createActionRow(document.all['actions_row'], 0); + createActionRow(getElement('actions_row'), 0); } /********** RULE.MATCH FORM FUNCTIONS **********/ @@ -170,7 +181,7 @@ function createMatchRow(Node,data) { } function newMatch() { - createMatchRow(document.all['matches_row'], 0); + createMatchRow(getElement('matches_row'), 0); } /********** RULE FORM FUNCTIONS **********/ @@ -183,23 +194,23 @@ function changeRow(sel, funcs) { function createRuleForm() { var i; - var sel = document.all['order[select]']; + var sel = getElement('order[select]'); var index = sel.options[sel.selectedIndex].value; actions_i = matches_i = 0; current_rule = filter[index]; - document.all['rule[id]'].value = index; - document.all['rule[name]'].value = current_rule.name; - document.all['rule[all]'][1-current_rule.all].checked = true; - document.all['rule[block]'].checked = current_rule.block; + getElement('rule[id]').value = index; + getElement('rule[name]').value = current_rule.name; + getNthElement('rule[all]',[1-current_rule.all]).checked = true; + getElement('rule[block]').checked = current_rule.block; - var mr = document.all['matches_row']; + var mr = getElement('matches_row'); cleanChilds(mr,0); for(i=0; i