ciao penso che l'errore sia qui:

codice:
 var num = nm.charAt(1);
tu gli dici di prendere i lprimo carattere --> per le foto da 1 a 9 tutto ok, poi siccome 10 sono due caratteri lui ti prende sempre il primo che guarda caso e' l'1!!!!!