hola Max13 estube buscando más información y encontre esta página con la que mas o menos he encontrado una solución aunque de todos modos revisare un poco más a fondo tu solución para ver si es más optimizada
el link ->
http://albertjh.cymaho.com/?p=363