var elHash = document.location.hash; var anteriorHash = "inicio"; var anteriorHashEmergente = "inicio"; cambiamosHash = true; ocultarErrorJS(); rePosiciona(); reHash(); arrancarSocketCon(""); var iIE = 0; function reSetelHashIE(que){ if( esNavegadorIE() ){ // Solo procesamos este tipo de peticiones si nos encontramos en IE iIE++; // incrementamos este valor if( iIE > 1 || document.location.hash == "" || document.location.hash == "#" ){ iIE = 2; // lo volvemos a poner a '2' para que no quede sumando toda la vida // solo entramos si el valor es mayor que 1, es decir, si no es la primera vez que se realiza reSetelHash(que);// y lo que se hace es solicitar el ritual de actualización del hash POR PULSAR "ATRÁS" // única y exclusivamente } } } function reSetelHash(que){ if( que == undefined ){ que = "inicio"; } if( elHash != "#"+que ){ // Solo procesamos este tipo de peticiones si la copia del hash es distinta a la que vamos a poner document.location.hash = elHash = "#"+que; // se actualiza la copia y el hash real con el nuevo rePosiciona(); //y se realiza una navegación forzada a la sección indicada } } function reSetHash(que){ if( que.charAt(0) == "#" ){ que = que.substr(1); } if( que == undefined ){ que = "inicio"; } if( cambiamosHash ){ // Esta es la función TÍPICA para cambiar el hash elHash = "#"+que; if( elHash != document.location.hash ){ actualizaAnteriorHash(); document.location.hash = elHash; if( esNavegadorIE() ){ document.getElementById("iframme").src = "iframme.php?time=" +new Date().valueOf()+":"+que+"&"+ elHash; } } } } function actualizaAnteriorHash(){ return anteriorHash = document.location.hash.substr(1); } function reHash(){ redimensionoVentana(); // también verifica el tamaño de la pantalla // Esta es la función que verificará si se ha cambiado el hash real (excepto en iExplorer) page_timer = setTimeout("reHash()", 200); //cada 200 ms se llamará a si misma if( elHash != document.location.hash ){ // si los hashes concuerdan, este ciclo no continúa // pero si no coinciden, se solicita un cambio típico de hash reSetHash(document.location.hash.substr(1)); rePosiciona(); // en este caso, también se fuerza la navegación a la sección indicada } document.getElementById('cerrarEmergente').href = "#"+anteriorHashEmergente; } function rePosiciona(){ h = document.location.hash; array = h.split("_"); try { switch( array[0] ){ case "": case "#": case "#inicio": case "#logout": cerrarEmergente(); break; case '#iniciandosesionemal': document.iniciaSesion.email.value = array[1]; darAvisoEmailMal(array); break; case '#iniciandosesionmal': document.iniciaSesion.email.value = array[1]; darAvisoContraMal(array); break; case '#registrandopaso1': irToRegistro("registrandopaso1"); break; case '#regleecondiciones': irToRegistro("regleecondiciones"); break; case '#regleecondicionesabajo': irToRegistro("regleecondicionesabajo"); break; case '#regacpetacondiciones': irToRegistro("regacpetacondiciones"); break; case '#recuperarClave': irToRecuperarClave("recuperarClave", array[1]); break; case '#dardebajalacuenta': irToDarDeBajaCuenta("dardebajalacuenta"); break; case "#au": case "#vy": case "#sg": case "#wf": var temporal = array[0]; array[0] = ""; array[1] = array.join("_").substr(1); array[0] = temporal; reproducirColgado( array[0].substr(1), urlescape(array[1]) ); break; case '#registrandopaso2': irToRegistro("registrandopaso2"); break; case '#registrandopaso4': irToRegistro("registrandopaso4", h); break; case '#registrandopaso5': irToRegistro("registrandopaso5", h); break; case '#registrocaducado': irToRegistro("registrocaducado"); break; case '#registrocritico': irToRegistro("registrocritico"); break; case '#registrousado': irToRegistro("registrousado", h); break; case '#registrofatal': irToRegistro("registrofatal", h); break; case '#sugyerr': irToSugerenciasAndErrores(array); break; case '#quienes': irToQuienesSomos(array); break; case '#irablog': irToNuestroBlog(array); break; case '#irayuda': irToAyuda(array[1]); break; case '#avlegal': irToAvisoLegal(array); break; case "#subirMedio": if( aplicacionCargada ){ irToSubirMedio(); } break; case "#cargandosesion": cerrarEmergente(); break; case "#entidad": case "#tuentidad": if( aplicacionCargada ){ if( array.length>1 ){ irToTuentidadDe(array[1]); }else{ irToTuentidad(); } cerrarEmergente(); }else{ if( array.length > 1 ){ sitioInicial = h; inicioVisita(); // setTimeout('irToTrasIniciarSesion( "", "00112233445566778899AABBCCDDEEFF2012")', 200); return; }else{ cerrarEmergente(); } } break; case "#medio": if( aplicacionCargada ){ if( array.length>1 ){ irToMedio(array[1]); } cerrarEmergente(); }else{ if( array.length > 1 ){ sitioInicial = h; inicioVisita(); // setTimeout('irToTrasIniciarSesion( "", "00112233445566778899AABBCCDDEEFF2012")', 200); return; }else{ cerrarEmergente(); } } break; case "#album": if( aplicacionCargada ){ if( array.length>1 ){ irToAlbum(array[1]); } cerrarEmergente(); }else{ if( array.length > 1 ){ sitioInicial = h; inicioVisita(); // setTimeout('irToTrasIniciarSesion( "", "00112233445566778899AABBCCDDEEFF2012")', 200); return; }else{ cerrarEmergente(); } } break; case "#verCuenta": if( aplicacionCargada ){ verTuCuenta(); } break; case "#creaEntidad": if( aplicacionCargada ){ irToCreaEntidad(); } break; case "#gestionarAtributos": if( aplicacionCargada ){ irToModificaAtributos(-1); } break; case "#entidades": irToEntidades(); break; } } catch(error) { emergenteAnone(); } // reSetHash("inicio"); mostrarInicioSesion(); } function esNavegadorIE(){ // hay muchas maneras a mi me gusta esta: este componente solo tiene Internet Explorer apartir de la versión 5.5 if( window.ActiveXObject){ return true }else{ return false;} }