
$(function() {
    var _reduit_timeout=null
    var _resize_timeout=null
    var METICE= {
        logoutSelector : ".navbar-top-links li:last-child a",
        logoutSessionName : "_metice_logout"
    }
    window.addEventListener("message", function(msg){

        var header = window.top.document.getElementsByClassName("header")

        // logout url envoyé par message, pour changer le lien de logout
        if (msg.data.message=="setLogoutUrl" && header && header.length!=0) {

            // récupère la valeur de l'attribut href du lien de login/logout
            var elt=header[0].querySelector(METICE.logoutSelector);
            var logoutUrl=elt.getAttribute("href")
            // Ce n'est pas du logout => on ne fait rien
            if (logoutUrl.indexOf("logout")==-1) {
                return;
            }

            // url de logout déja renseignée, on va l'utiliser
            var logoutSession = sessionStorage.getItem(METICE.logoutSessionName)
            if (logoutSession) {
                if (header && header.length!=0) { header[0].querySelector(METICE.logoutSelector).setAttribute("href",logoutSession) }
                return;
            }

            var elt=header[0].querySelector(METICE.logoutSelector);
            logoutUrl = window.location.origin+logoutUrl
            elt.setAttribute("href",msg.data.url+"?orign="+logoutUrl)
            // Sauvegarde de l'url de logout, pour restauration lors de l'actualisation page
            sessionStorage.setItem(METICE.logoutSessionName,msg.data.url+"?orign="+logoutUrl)
            return;
        }

        // message on scroll, pour réduire le header
        if (msg.data.message=="onScroll" && header && header.length!=0){

            if (msg.data.position > 100  ) {
                if(_reduit_timeout) {clearTimeout(_reduit_timeout);_reduit_timeout=null}
                header[0].classList.add("reduit");
                if (_resize_timeout==null) {
                    _resize_timeout=setTimeout(function() {console.log("resize");window.top.resizeFrame();_resize_timeout=null},100);
                }
            }

            if (msg.data.position == 0 ) {
                header[0].classList.remove("reduit");
                _reduit_timeout = setTimeout(function(){ console.log("resize");window.top.resizeFrame();},100)
            }
            return;
        }
    });

    // Remise en place de l'url de logout si c'est une url de logout qui est présente dans
    var header    = window.top.document.getElementsByClassName("header")
    if (header && header.length!=0) {
        var logout    = sessionStorage.getItem(METICE.logoutSessionName)
        var elt       = header[0].querySelector(METICE.logoutSelector);
        var logoutUrl = elt.getAttribute("href")

        if (logout && logoutUrl.indexOf("logout")!=-1) {
           header[0].querySelector(METICE.logoutSelector).setAttribute("href",logout)
        }
    }

})

