Redise帽ar funcionalidad de js con php

cacr
31 de Octubre del 2005
Saludos. Tengo la siguiente situaci贸n:

principal.php contiene frame1.php, frame2.php y frame3.php

frame1.php muestra una colecci贸n de fotos de un evento en particular, a seleccionar previamente.
frame2.php muestra in formaci贸n del evento, y el n煤mero de la foto en detalle (frame3.php), as铆 mismo, muestra dos enlaces que abren una ventana emergente cada uno (mientras los dise帽adores hacen los botones.gif o .jpg), uno para iniciar la sesi贸n como usuario registrado (sesion.php) y otro para registrarse (registro.php). Una vez iniciada la sesi贸n, se recarga principal.php, as铆 como tambi茅n, estos dos enlaces cambian por otros enlaces de manipulaci贸n del album personal (compuesto por fotos del sitio) tales como agregar, eliminar, finalizar sessi贸n, entre otros.
frame3.php muestra una foto en detalle del evento que se est谩 visualizando en ese momento, acompa帽ada por flechas de "paginaci贸n" derecha - izquierda.

Me han pedido que agregue un enlace para agregar una foto, a煤n sin estar logeado. Lo que pens茅 fue, enlace de 'agregar foto' que despliegue una ventana emergente (temporal.php), muestre informaci贸n del sitio, y dos los mismos dos enlaces de frame2.php, sesion.php y registro.php

Lo implement茅 de la siguiente forma,
s铆 agregar_foto viene de temporal.php debe abrir sesion.php, permitir el inicio de sesi贸n, el refresco de principal.php y la inserci贸n en la BD de la foto respectiva,
si agregar_foto viene de frame2.php, se mantiene igual.

La diferencia viene por la relaci贸n de padre-hijo-nieto en las ventanas emergentes, y el m茅todo para recargar, los valores de las p谩ginas. Lo hice con js, pero me da problemas de compatibilidad entre navegadores y SOs. Muestro lo que hice,

en frame3.php, y en caso de no estar logeado,
<A href="temporal.php?guardar=t" target="popup" onclick='window.open("", "popup","")';>

en temporal.php,
<?php
session_start();
$_SESSION['cadena']=$_SERVER['PHP_SELF'];
$_SESSION['guardar']=$_REQUEST[guardar];
?>

Asumiendo que el usuario existe, y elige el enlace para iniciar sesi贸n, en sesion.php,
$cadena=$_SESSION['cadena'];
$cadena2="sesion2";
$pos=strpos($cadena, $cadena2);
if ( !empty($pos) ) {
echo "<script language="JavaScript" type="text/javascript">";
echo "window.opener.opener.parent.top.location.reload();";
echo "window.opener.close();";
echo "window.close();";
if ($_SESSION['guardar']===t)
echo "window.open("privado.php", "privado", "")";
echo "</script>";
}

Esto est谩 dise帽ado en Debian Linux, con Quanta Plus, y probado en Firefox. Funciona perfectamente, pero al revisar en otros navegadores, y en otros SOs, funciona mal o no funciona. Entendiendo que el problema es por la mala estandarizaci贸n del javascript, quisiera buscar otro dise帽o que incluya la menor cantidad de js posible, y fortalecer el PHP, pero no me viene nada a la mente.

Cualquier idea ser谩 bienvenida.