direi che se elimini window.scroll(0,currentpos) da qui
else{
currentpos=0
window.scroll(0,currentpos)
}

che dovrebbe essere la riga 49, lo scroll si ferma appena arrivato in fondo alla pagina.
aggiungerei anche un clearInterval() altrimenti viene in continuazione lanciato il timeout del setinterval, inutilmente.

Secondo me con questo codice non si riesce ad interagire con le ancore, mi spiace.