// roll-over d'une image function swapImg(imgName, imgFile) { document.images[imgName].src = imgFile; } // ouverture d'une fenêtre version "accessible" function OpenWindowByTarget(target, url, width, height, top, left) { var wdw; var options = "menubar=yes,toolbar=yes,resizable=yes,scrollbars=yes"; wdw = window.open(url, target, "top="+top+",left="+left+",width="+width+",height="+height+","+options); wdw.focus(); return false; } // impression de la page courante function pagePrint() { window.print(); } function trim(myString) { return myString.replace(/^\s+/g,'').replace(/\s+$/g,'') } function checkDatePrecedence(sEarly, sLate) { var aryEarly = sEarly.split('/'); if(3 != aryEarly.length) return false; var aryLate = sLate.split('/'); if(3 != aryLate.length) return false; sEarlyDate = new Date(aryEarly[2], aryEarly[1]-1, aryEarly[0]); sLateDate = new Date(aryLate[2], aryLate[1]-1, aryLate[0]); return (sEarlyDate <= sLateDate); } // affichage d'un panel function setPanelAndLoadKml(panel) { var onglet1 = document.getElementById("onglet1") var onglet2 = document.getElementById("onglet2") var flash = document.getElementById("flash") var googlemap = document.getElementById("googlemap") if (panel == "googlemap") { // Onglet 2 sélectionné, Onglet 1 déselectionné addClassOnElement(onglet2, "selected") removeClassOnElement(onglet1, "selected") // on affiche le panel googlemap addClassOnElement(googlemap, "selected") removeClassOnElement(flash, "selected") LoadGMap(); LoadKml(URL_SITE_PATH+"/kml/Quartiers/AllQuartiers.kml"); } else { // Onglet 1 sélectionné, Onglet 2 déselectionné addClassOnElement(onglet1, "selected") removeClassOnElement(onglet2, "selected") // on affiche le panel flash addClassOnElement(flash, "selected") removeClassOnElement(googlemap, "selected") } } // Ajoute une classe sur un champ function addClassOnElement(element, className){ if(element) { element.className = element.className + " " + className; } } // Enlève une classe sur un champ function removeClassOnElement(element, className){ if(element) { // Suppression de toutes les occurences de l'ancienne classe element.className = element.className.replace(new RegExp(className, "g" ),""); } } // Fonctions pour l'ouverture et la fermeture de zones // *************************************************** // Cache les div ayant la classe "className" fils de l'élement "element" function hideSubElement(element, className) { var bloc; for(inc=0; inc < element.getElementsByTagName("div").length; inc++){ bloc = element.getElementsByTagName("div")[inc] if(bloc.className && bloc.className.match(new RegExp("'?"+className+"?", "gi")) ) { addClassOnElement(bloc, "invisible"); } } } // Affiche les div ayant la classe "className" fils de l'élement "element" function showSubElement(element, className) { var bloc; for(inc=0; inc < element.getElementsByTagName("div").length; inc++){ bloc = element.getElementsByTagName("div")[inc] if(bloc.className && bloc.className.match(new RegExp("'?"+className+"?", "gi")) ) { removeClassOnElement(bloc, "invisible"); } } } // Ouvre une zone // element : élement à fermer // classNameList : liste des classes des sous éléments à masquer (séparés par des ",") function openZone(element, classNameList) { removeClassOnElement(element, "closedZone"); addClassOnElement(element, "openedZone"); var arrClassName = new Array(); arrClassName = classNameList.split(/,/) for(i=0; i < arrClassName.length; i++) { if(trim(arrClassName[i]) != "") showSubElement(element, arrClassName[i]); } } // Ferme une zone // element : élement à fermer // classNameList : liste des classes des sous éléments à masquer (séparés par des ",") function closeZone(element, classNameList) { removeClassOnElement(element, "openedZone"); addClassOnElement(element, "closedZone"); var arrClassName = new Array(); arrClassName = classNameList.split(/,/) for(i=0; i < arrClassName.length; i++) { if(trim(arrClassName[i]) != "") hideSubElement(element, arrClassName[i]); } } // Change la fonction javascript du lien sur le titre // element : Element qui contient le H2/A à modifier // functionName : nom de la fonction JS à placer dans le lien function setLinkJS(element, functionName) { var h2; var link; var linkFound = false; for(inc1=0; inc1 < element.getElementsByTagName("h2").length; inc1++){ h2 = element.getElementsByTagName("h2")[inc1]; // On cherche l'existence d'un lien sous le h2 avec du javascript dans le href for(inc2=0; inc2 < h2.getElementsByTagName("a").length; inc2++){ link = h2.getElementsByTagName("a")[inc2]; if(link.href && link.href.match(new RegExp("'?javascript?", "gi")) ) { link.href = "javascript:" + functionName + "();"; linkFound = true; } } // Le lien n'existe pas, on le crée if(!linkFound) { link = document.createElement("a"); link.setAttribute("href","javascript:" + functionName + "();"); link.setAttribute("title",""); // Déplacement du texte contenu dans le h2 dans le lien link.innerHTML = h2.innerHTML; h2.innerHTML = ""; // ajout du lien en tant que fils du h2 h2.appendChild(link); } } } function addButtonOnOff (element, showElement) { if (!showElement) setLinkJS (element, "ShowBloc"); else setLinkJS (element, "HideBloc"); // Création de la DIV mainDiv = document.createElement("div"); div = document.createElement("div"); div.setAttribute("class","services"); div.setAttribute("id","div" + element); // Création du lien du bouton OFF" linkOff = document.createElement("a"); linkOff.setAttribute("href","javascript:HideBloc('" + element + "');"); linkOff.setAttribute("title","SITE/HIDE_ELEMENT indéfini"); linkOff.setAttribute("id", element + "Off"); if (!showElement) linkOff.setAttribute("class","hidden"); // Création de l'image du bouton imgOff = document.createElement("img"); imgOff.setAttribute("src","/img/DEFAULT/Picto/PictoMasquer.png"); imgOff.setAttribute("alt","SITE/HIDE_ELEMENT indéfini"); imgOff.setAttribute("height","26"); linkOff.appendChild(imgOff); div.appendChild(linkOff); // Création du lien du bouton ON linkOn = document.createElement("a"); linkOn.setAttribute("href","javascript:ShowBloc('" + element + "');"); linkOn.setAttribute("title","SITE/SHOW_ELEMENT indéfini"); linkOn.setAttribute("id",element + "On"); if (showElement) linkOn.setAttribute("class","hidden"); // Création de l'image du bouton imgOn = document.createElement("img"); imgOn.setAttribute("src","/img/DEFAULT/Picto/PictoAfficher.png"); imgOn.setAttribute("alt","SITE/SHOW_ELEMENT indéfini"); imgOn.setAttribute("height","26"); linkOn.appendChild(imgOn); div.appendChild(linkOn); if (!showElement) var elem = document.getElementById(element); addClassOnElement(elem,"hide"); mainDiv.appendChild(div); document.write(mainDiv.innerHTML); document.write('
'); var div = document.getElementById(element); addClassOnElement(div,"rool"); } function HideBloc(id) { var div = document.getElementById(id); addClassOnElement(div,"hide"); var imgOn = document.getElementById(id + "On"); removeClassOnElement(imgOn,"hidden"); var imgOff = document.getElementById(id + "Off"); addClassOnElement(imgOff,"hidden"); setLinkJS (id, "ShowBloc"); var openMode = document.getElementById("openMode"); var openPref = document.getElementById("openPref"); if (id == "option" && openMode != null ) openMode.value = "false" if (id == "preferences" && openPref != null ) openPref.value = "false" } function ShowBloc(id) { var div = document.getElementById(id); removeClassOnElement(div,"hide"); var imgOn = document.getElementById(id + "On"); addClassOnElement(imgOn,"hidden"); var imgOff = document.getElementById(id + "Off"); removeClassOnElement(imgOff,"hidden"); setLinkJS (id, "HideBloc"); var openMode = document.getElementById("openMode"); var openPref = document.getElementById("openPref"); if (id == "option" && openMode != null ) openMode.value = "true" if (id == "preferences" && openPref != null ) openPref.value = "true" } function addButtonAddThis(parentelementid) { var element = document.getElementById(parentelementid); if( element != null) { link = document.createElement("a"); link.setAttribute("class","addthis_button_compact"); script = document.createElement("script"); script.setAttribute("type","text/javascript"); script.setAttribute("src","http://s7.addthis.com/js/250/addthis_widget.js"); element.appendChild(script); element.appendChild(link); } }