buenas...
cuando se trabaja con marcos, es imprescindible la referencia adecuada a los marcos. en tu caso, esta porción de código
parent.document... hace referencia al objeto document del documento padre donde se invoca el script. es decir, si el código reside en joomla.php, entonces dicha porción hace referencia al documento contenedor de joomla.php. en efecto, mainframe.php. por otro lado, nótese que estas usando getElementById mientras que los iframes no tienen IDs, sino name. para acceder a un marco, debes usar las referencias en la colección
frames. presta atención, dicha colección se define en el objeto Window -parent, top, window y self son objetos Window- y no en document.
para más información, recomiendo que realices una busqueda en la web. hay muchas referencias al respecto. puedes encontrar una serie de capítulos en
desarrolloweb.