rem: try { to.add(opt, null); } catch (ex) { if (to) to.add(opt); 
add: if (to && to.options) { to.options[to.options.length]=opt } else if (to) { to.add(opt) 
context: function dualSelect(from, to, id) {    if (typeof(from) == 'string') {        from = $(from+id);    }    if (typeof(to) == 'string') {        to = $(to+id);    }    var i = 0;    var opt;    while (i < from.options.length) {        if (from.options[i].selected) {            opt = new Option(from.options[i].text, from.options[i].value);            try {                to.add(opt, null);            }            catch (ex) {                if (to) to.add(opt);            }            if (from.options.length > 1) {                try {                    from.options[i-1].selected = true;                } catch(ex) {                    from.options[i+1].selected = true;                    from.remove(i);                    ++i;                    continue;                }                            }            from.remove(i);            continue;        }        i++;    }        updateDualSelectValue(id);}
meta: 6601	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/6601/7693e5b90165f3da5001d3b3b86293f245d14ce2/functions.js/clean/javascript/functions.js