I don't know why the author coded it this way, it can be done much simpler:
function fuzzysearch(needle, haystack) {
var hlen = haystack.length;
var nlen = needle.length;
if (nlen > hlen) return false;
if (nlen === hlen) return needle === haystack;
for (var i = 0, j = 0; i < nlen; ++i, ++j) {
while (j < hlen && needle.charCodeAt(i) !== haystack.charCodeAt(j)) ++j;
if (j === hlen) return false;
}
return true;
}