rem: /* iterate through both arrays and add the larger item to the return * list. remove dupes, too. Use toLowerCase to provide * case-insensitivity. */ 
context: function merge_arrays(a, b, b_is_select) {    var pos_a = 0;    var pos_b = 0;    var ret = new Array();    var bitem, aitem;    /* iterate through both arrays and add the larger item to the return     * list. remove dupes, too. Use toLowerCase to provide     * case-insensitivity. */    while ((pos_a < a.length) && (pos_b < b.length)) {        if (b_is_select) {            bitem = b[pos_b].value;        } else {            bitem = b[pos_b];        }        aitem = a[pos_a];        /* smaller item in list a */        if (aitem.toLowerCase() < bitem.toLowerCase()) {            ret[ret.length] = aitem;            pos_a++;        } else {            /* smaller item in list b */            if (aitem.toLowerCase() > bitem.toLowerCase()) {                ret[ret.length] = bitem;                pos_b++;            } else {                /* list contents are equal, inc both counters. */                ret[ret.length] = aitem;                pos_a++;                pos_b++;            }        }    }    /* catch leftovers here. these sections are ugly code-copying. */    if (pos_a < a.length) {        for (; pos_a < a.length ; pos_a++) {            ret[ret.length] = a[pos_a];        }    }    if (pos_b < b.length) {        for (; pos_b < b.length; pos_b++) {            if (b_is_select) {                bitem = b[pos_b].value;            } else {                bitem = b[pos_b];            }            ret[ret.length] = bitem;        }    }    return ret;}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/9421/c95e4cb4ebd2002b5f063a35d614719da901c7c0/productform.js/clean/webtools/bugzilla/js/productform.js