Сбой, потому что вы конвертируете год в строку, и после этого вы используете строковые операции с числом.Ошибка в вашей консоли должна четко указывать это.
year = Number(year) - 1
...
var century = year.substring(0,2)
, поэтому, если вы собираетесь выполнять над ней строковые действия, вам нужно преобразовать число обратно в строку.
Итаклибо вы делаете
year = (Number(year) - 1).toString()
, либо
var century = year.toString().substring(0,2)
В конце, ошибка «Uncaught TypeError: year.substring не является функцией» должна была появиться в консоли разработчика .