// ------------------------------------------------------ // Contextuel logo themes css // ------------------------------------------------------ var xMousePosition = 0; var yMousePosition = 0; // document.onmousemove = function(e){ // xMousePosition = e.clientX + window.pageXOffset; // yMousePosition = e.clientY + window.pageYOffset; // } function contextLogo(element){ var debugLocal=0; if (debugLocal==1) alert('contextLogo' ); // ----------------------------------------------------- // creer le menu // ----------------------------------------------------- var d = document.createElement('div'); d.setAttribute('class', 'mContextLogo'); d.setAttribute('id', 'menuContextuel'); // ----------------------------------------------------- // Supprimer le menu contextuel on click body ou lui même // ----------------------------------------------------- /*if(element.parentNode) d.onclick = function(e) { element.parentNode.removeChild(d); }*/ document.body.onclick = function(e) { try{ element.parentNode.removeChild(d); } finally{} } // ----------------------------------------------------- // Gérer la position // ----------------------------------------------------- if (debugLocal==2) d.innerHTML = (' X = ' + xMousePosition+ ' Y = ' + yMousePosition + ''); // d.style.left = xMousePosition; // d.style.top = yMousePosition; d.style.left = 50; d.style.top = 80; // ----------------------------------------------------- // Theme sombre // ----------------------------------------------------- var p1 = document.createElement('p1'); d.appendChild(p1); p1.onclick=function() { themeSombre() }; p1.setAttribute('class', 'mContextItem'); p1.innerHTML = "Thème sombre
"; // ----------------------------------------------------- // Theme clair // ----------------------------------------------------- var p2 = document.createElement('p2'); d.appendChild(p2); p2.onclick=function() { themeClair() }; p2.setAttribute('class', 'mContextItem'); p2.innerHTML = "Thème clair
"; if (debugLocal==1) alert('contextLogo fin' ); element.parentNode.appendChild(d); return false; } function themeSombre(){ debugLocal=0; if(debugLocal==1) alert("themeAdm"); action ='./frmAdmin.php?adminThemeCSS=1&majTheme=1'; top.location.href = action; } // ------------------------------------------------------ // Themes de couleur admin css // ------------------------------------------------------ function themeClair(){ debugLocal=0; if(debugLocal==1) alert("themeAdm"); action ='./frmAdmin.php?adminThemeCSS=2&majTheme=1'; top.location.href = action; } var bcle=0; var heure; var min ; var sec ; let timer; function clock() { // Stoppe un ancien timer pour éviter la récursion infinie clearTimeout(timer); if (bcle == 0) { heure = document.getElementById('heure').value; min = document.getElementById('minute').value; sec = document.getElementById('seconde').value; } else { sec++; if (sec == 60) { sec = 0; min++; if (min == 60) { min = 0; heure++; } } } let txt = ""; if (heure < 10) txt += "0"; txt += heure + ":"; if (min < 10) txt += "0"; txt += min + ":"; if (sec < 10) txt += "0"; txt += sec; // Nouveau timer propre timer = setTimeout(clock, 1000); bcle++; document.clock.date.value = txt; } // Premier démarrage timer = setTimeout(clock, 1000); var MonTableau = []; var nbItem=15; // ------------------------------------------------------ // Cache all // --------------------------------------------------- function cacheAllMenuGauche(){ // alert('cacheAllMenuGauche'); for (i=1 ; i<=nbItem ; i++){ item='menuDiv'+i; if (document.getElementById(item)) {document.getElementById(item).style.display ='none';} } } // ------------------------------------------------------ // Aff all // --------------------------------------------------- function affAllMenuGauche(){ // alert('affAllMenuGauche'); for (i=1 ; i<=nbItem ; i++){ item='menuDiv'+i; if (document.getElementById(item)) {document.getElementById(item).style.display ='block';} } } // ------------------------------------------------------ // Affiche ou masque l'ensemble : clic sur logo // --------------------------------------------------- function menuGaucheToggle(){ var test; if (document.getElementById('menuDiv1')) {test=document.getElementById('menuDiv1').style.display;} // alert('menuGaucheToggle : ' + test); if(test=='block') { cacheAllMenuGauche(); localStorage.setItem('menuGaucheState', 'open'); // Sauvegarde l'état ouvert dans le localStorage } else { affAllMenuGauche(); localStorage.setItem('menuGaucheState', 'close'); // Sauvegarde l'état ouvert dans le localStorage } } // restore ou masque l'ensemble function storageMenuGauche() { // Si l'état du menu est stocké dans le localStorage, l'applique if (localStorage.getItem('menuGaucheState') === 'open') { // menuG.style.display = 'block'; // alert('storageMenuGauche = open'); affAllMenuGauche(); } else { // menuG.style.display = 'none'; // alert('storageMenuGauche = close'); cacheAllMenuGauche(); } } // ------------------------------------------------------ // aff cache menu sur clic // --------------------------------------------------- function affCacheMenuGauche(deb, fin){ var debugLocal=0; var itemID; var menuID; if (debugLocal>0){ alert('je passe dans affCache ==> début : '+ deb + ' fin : '+ fin); } //persistance itemID=('menuDiv'+deb); menuID=document.getElementById(itemID); var currentDisplay = window.getComputedStyle(menuID).display; if (currentDisplay === 'block' || menuID.style.display === 'block') { localStorage.setItem('menuGAffCache-' + deb + '-' + fin, 'close'); } else { localStorage.setItem('menuGAffCache-' + deb + '-' + fin, 'open'); } // if (menuID.style.display === 'block') localStorage.setItem('menuGAffCache-'+deb+'-'+fin, 'open'); // Sauvegarde l'état ouvert dans le localStorage // if (menuID.style.display != 'block') localStorage.setItem('menuGAffCache-'+deb+'-'+fin, 'close'); // Sauvegarde l'état ouvert dans le localStorage if (debugLocal>0) { alert(menuID.id + '.style initial : ' + currentDisplay ); } for (var i=deb ; i<=fin ; i++){ itemID=('menuDiv'+i); if (document.getElementById(itemID)) { menuID=document.getElementById(itemID); currentDisplay = window.getComputedStyle(menuID).display; if (debugLocal==2) { alert(menuID.id + '.style initial : ' + menuID.style.display ); } if (currentDisplay == 'block'){ menuID.style.display ='none'; } else{ // if (debugLocal==1){alert('menuID b : ' + menuID );} menuID.style.display='block'; } if (debugLocal==2) { alert(menuID.id + 'menuID.style.display final : ' + menuID.style.display);} } else { if (debugLocal==2) { alert('menuID by id non accédé : ' + itemID);} } } //for } // ------------------------------------------------------ // reaffiche ou cache les sections de menus apres un post, appelé par storageMenuGAffCache // --------------------------------------------------- function affMenuGauche(deb, fin, value){ var debugLocal=0; var itemID; var menuID; var aff; if (debugLocal==1) { alert('affMenuGauche : deb' + deb + ' fin ' + fin +' value ' + value);} if (value=="close") aff='none'; else aff='block'; for (var i=deb ; i<=fin ; i++){ itemID=('menuDiv'+i); if (document.getElementById(itemID)) { document.getElementById(itemID).style.display=aff; } else { if (debugLocal==2) { alert('menuID by id non accédé : ' + itemID);} } } //for } // persistance de chaque section de menu function storageMenuGAffCache() { // event.preventDefault(); // Empêche l'envoi du formulaire ou le rechargement de la page // Créer un tableau pour stocker les résultats let menuSections = []; // alert('storageMenuGAffCache'); // Parcours de toutes les clés dans le localStorage for (let i = 0; i < localStorage.length; i++) { // Récupérer la clé let key = localStorage.key(i); // Vérifier si la clé commence par "MenuGAffCache-" if (key.startsWith('menuGAffCache-')) { // alert('debut : '+ key); // Extraire "deb" et "fin" à partir de la clé let parts = key.replace('menuGAffCache-', '').split('-'); if (parts.length === 2) { let deb = parseInt(parts[0], 10); // Récupérer deb let fin = parseInt(parts[1], 10); // Récupérer fin // alert('debut : '+ deb); // Récupérer la valeur associée à cette clé let value = localStorage.getItem(key); // Ajouter un objet avec deb, fin et la valeur dans le tableau // menuSections.push({ deb: deb, fin: fin, value: value }); affMenuGauche(deb, fin, value); } } } }