Мудреную ты функцию поиска написал.
Для начала запусти это
а потом замени строку на
eval("re = /"+aaa+"/i");
и посмотри разницу (поясняю - при "i" регисто не имеет значения).
Для тебя aaa это Item, а s - Keyword
).
И в цикле все тебе найдет, вместо твоей функции contains.
А там глядишь и ошибки уйдут...