Hola,
Cita: pero al hacer clic en la imagen me dice que "document no es un objeto o es nulo"
Ese es un mensaje de error de Javascript. Asi que el mensaje lo genera el codigo javascript. Puede que el error se genere por el parametro que pasas. Tu dices que es igual el generado por PHP que el que metes a mano, ¿estas seguro que es exactamente igual? ¿Seguro que no tiene espacios en blanco o caracteres invisibles? Prueba a copiar el HTML generado y guardarlo como HTML. Si sigue fallando, es que hay algo que falla al generarlo.
Saludos.