El sistema que has puesto hace muy compleja una tarea muy simple y ademas no es reutilizable, es engorroso, por eso te propuse otra alternativa, cuando tienes cosas así suele ser mas fácil reemplazarlas que arreglarlas.
Vi
el mismo codigo en stackoverflow si lo copiaste y pegaste de alli, seria bueno que al menos entiendas que es lo que te estabas copiando.