С ИЕ6 очень давно не имел дела. Но здесь в коде вариантов не много.
Может рекурсия в функции не понравилась?
Попробуйте
function pad (str) {
return str < 10 ? '00' + str : str < 100 ? '0' + str : str;
}
А может регулярка (кстати, странная она какая-то - вместо того, чтоб искать то, что нужно, Вы отбрасываете то, что не нужно). Попробуйте
current = parseInt(/(\d+)\.html/.exec(url))
Больше предположить не могу ничего.