лично я, вроде, косяков серьёзных не нашёл, только идентификация косячная - лучше помечать картинки своим тегом (добавить случайный класс), чтобы не цеплять чужие.
но тут этого не нужно было делать
ну и по мелочи, вроде такого :
span.onclick=function(e){
...
var largeImg=document.getElementById('largeImg');
...
}
largeimg лучше закешировать и не искать одно и то же при каждом клике