rem: var opt = new Option(sel.options[i].text, sel.options[i].value); sel.remove(i); try { sel.add(opt, sel.options[i+step]); } catch (ex) { sel.add(opt, i+step); }  opt.selected = true;  updateDualSelectValue(id); 
add: if (i + step == sel.options.length) sel.appendChild(sel.options[i]); else sel.insertBefore(sel.options[i], sel.options[i+step]); 
context: function selectMove(id, step) {    var sel = $('r'+id);    var i = 0;    while (i < sel.options.length) {        if (sel.options[i].selected) {            if (i+step < 0 || i+step > sel.options.length) {                return;            }            var opt = new Option(sel.options[i].text, sel.options[i].value);            sel.remove(i);            try {                sel.add(opt, sel.options[i+step]);            }            catch (ex) {                sel.add(opt, i+step);            }            opt.selected = true;            updateDualSelectValue(id);            return;        }        i++;    }}
meta: 6601	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/6601/2a6cea85a9e15d448734b73974c516286a78fa45/functions.js/buggy/javascript/functions.js