1/* 2var maxZindex = 100; 3var dragObject = null; 4var mouseOffset = null; 5var mousePos = null; 6var nbCalques = 0; 7 8document.onmousemove = function(ev) { 9 ev = ev || window.event; 10 mousePos = mouseCoords(ev); 11} 12*/ 13var timer; 14/********************** 15* Nom : creerCalque 16* Desc : créer un calque avec un contenu charger dynamiquement 17*********************/ 18function creerCalque(page, titre, type, largeur_calque) { 19 var nom_calque = "calque"; 20 21 if(!largeur_calque) largeur_calque = 800; 22 23 /*if(!nom_calque) 24 nom_calque = 'calque_'+Math.round(Math.random()*10000);*/ 25 26 if(!type) type="contenu"; 27 28 supprimerCalque(nom_calque); 29 30 31 //Création du calque contenaire pour avoir le fond semi transparent 32 var myDiv = document.createElement('DIV'); 33 myDiv.setAttribute('id',nom_calque); 34 // on met 100% sinon le margin : auto de myDivContenu est décentré 35 myDiv.style.width="100%"; 36 myDiv.style.height=document.body.scrollHeight+"px"; 37 myDiv.style.padding="0"; 38 myDiv.style.position="absolute"; 39 myDiv.style.top="0"; 40 myDiv.style.left="0"; 41 myDiv.style.zIndex="999"; 42 myDiv.style.textAlign="center"; 43 myDiv.style.background="transparent url('/global/images/semi-transparent.gif') left top"; 44 45 document.body.appendChild(myDiv); 46 47 // Création du calque de contenu 48 var myDivContenu = document.createElement('DIV'); 49 myDivContenu.setAttribute('id',"contenu_"+nom_calque); 50 myDivContenu.style.width=largeur_calque+"px"; 51 myDivContenu.style.textAlign = "left"; 52 myDivContenu.style.backgroundColor = "#FFF"; 53 myDivContenu.style.padding="0px"; 54 myDivContenu.style.margin="30px auto 30px auto"; 55 myDivContenu.style.border="1px solid #000"; 56 myDivContenu.style.overflow="auto"; 57 if(document.body.scrollTop) 58 myDivContenu.style.marginTop = (document.body.scrollTop + 50)+"px"; 59 else 60 myDivContenu.style.marginTop = (document.documentElement.scrollTop + 50)+"px"; 61 myDivContenu.style.position="relative"; 62 if(titre) 63 myDivContenu.innerHTML = '<div id="entete_'+nom_calque+'" class="entete_calque"><a href="javascript:supprimerCalque(\''+nom_calque+'\');" title="Fermer le calque" style="float:right;"><img src="/global/images/icon_fermer.gif" alt="Fermer" style="border:0" /></a>'+titre+'</div>'; 64 else 65 myDivContenu.innerHTML = '<a href="javascript:supprimerCalque(\''+nom_calque+'\');" title="Fermer le calque" id="bouton_fermer_calque" style="position:absolute;right:5px;top:5px;z-index:500;"><img src="/global/images/icon_fermer.gif" alt="Fermer" style="border:0" /></a>'; 66 67 if(type == "contenu") { 68 if(page) 69 myDivContenu.innerHTML += page.replace('"','\"'); 70 else 71 myDivContenu.innerHTML += ' '; 72 } if(type == "frame") { 73 var myFrame = document.createElement('IFRAME'); 74 myFrame.setAttribute('id','myiFrame_'+nom_calque); 75 myFrame.setAttribute('name','myiFrame_'+nom_calque); 76 myFrame.frameBorder=0; 77 myFrame.style.width="100%"; 78 myFrame.style.border="0"; 79 myFrame.style.margin="0"; 80 myFrame.src=page; 81 82 myDivContenu.appendChild(myFrame); 83 } 84 85 myDiv.appendChild(myDivContenu); 86 87 if(type == "frame") { 88 if(navigator.appName=="Microsoft Internet Explorer") { 89 myFrame.onreadystatechange = function() { 90 if(this.readyState == "interactive") { 91 actu_iframe(this.id,nom_calque); 92 } 93 94 } 95 } else { 96 myFrame.onload = function() { 97 actu_iframe(this.id, nom_calque); 98 } 99 } 100 } 101 102} 103 104 105/********************** 106* Nom : mouseCoords 107* Desc : récupère les coordonnées de la souris lorsqu'elle bouge 108*********************/ 109function mouseCoords(ev){ 110 111 if(ev.pageX || ev.pageY){ 112 return {x:ev.pageX, y:ev.pageY}; 113 } 114 return { 115 x:ev.clientX + document.body.scrollLeft - document.body.clientLeft, 116 y:ev.clientY + document.body.scrollTop - document.body.clientTop 117 }; 118} 119 120/********************** 121* Nom : getMouseOffset 122* Desc : récupère la position de la souris à l'instant t 123*********************/ 124function getMouseOffset(target, ev){ 125 ev = ev || window.event; 126 127 var docPos = getPosition(target); 128 var mousePos = mouseCoords(ev); 129 return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y}; 130} 131 132/********************** 133* Nom : getPosition 134* Desc : 135*********************/ 136function getPosition(e){ 137 var left = 0; 138 var top = 0; 139 140 while (e.offsetParent){ 141 left += e.offsetLeft; 142 top += e.offsetTop; 143 e = e.offsetParent; 144 } 145 146 left += e.offsetLeft; 147 top += e.offsetTop; 148 149 return {x:left, y:top}; 150} 151 152 153/********************** 154* Nom : supprimerCalque 155* Desc : supprime le calque dont on passe l'id en paramètre 156*********************/ 157function supprimerCalque() { 158 if(timer) clearTimeout(timer); 159 160 if(document.getElementById("calque")) { 161 document.body.removeChild(document.getElementById("calque")); 162 } else if(window.parent.document.getElementById("calque")) { 163 window.parent.document.body.removeChild(window.parent.document.getElementById("calque")); 164 } 165 166} 167 168/********************** 169* Nom : touchesSpeciales 170* Desc : attibue une action spécifique lorsqu'on appuis sur une touche 171*********************/ 172function touchesSpeciales(ev) { 173 var touche = ev.keyCode; 174 if (touche==27) { // si on presse sur la touche Esc 175 codeHTML = 'Escape'; 176 supprimerCalque('calqueApercu'); 177 } 178} 179 180/********************** 181* Nom : actu_iframe 182* Desc : Redimensionne l'iframe en fonction de son contenu
183*********************/ 184function actu_iframe(iframeWindow, nom_calque){ 185 IE = window.ActiveXObject ? true : false; 186 /*MOZ = window.sidebar ? true : false;*/ 187 188 if(IE) { 189 edoc = window.frames[iframeWindow].document; 190 if(edoc.body && edoc.body.offsetHeight) { 191 document.getElementById(iframeWindow).style.height = (edoc.body.offsetHeight+10)+"px"; 192 timer = setTimeout("actu_iframe('"+iframeWindow+"','"+nom_calque+"')",1000); 193 } else { 194 timer = setTimeout("actu_iframe('"+iframeWindow+"','"+nom_calque+"')",10); 195 } 196 } else { 197 edoc = document.getElementById(iframeWindow).contentDocument; 198 if(edoc.body && edoc.body.offsetHeight) { 199 document.getElementById(iframeWindow).style.height = (edoc.body.offsetHeight + 25)+"px"; 200 timer = setTimeout("actu_iframe('"+iframeWindow+"','"+nom_calque+"')",1000); 201 } else { 202 timer = setTimeout("actu_iframe('"+iframeWindow+"','"+nom_calque+"')",10); 203 } 204 } 205 206 207} 208 209 210 211 212/********************** 213* Nom : loadCalque 214* Desc : charge le contenu de la page en Ajax 215*********************/ 216function afficheCalque(page, titre, parametres, largeur_calque) { 217 218 if(page) { 219 var xhr_object = null; 220 if(window.XMLHttpRequest) // Firefox 221 xhr_object = new XMLHttpRequest(); 222 else if(window.ActiveXObject) // Internet Explorer 223 xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 224 else{ // XMLHttpRequest non supporté par le navigateur 225 alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 226 return; 227 } 228 xhr_object.open("POST", page, true); 229 xhr_object.onreadystatechange = function() { 230 /*if(xhr_object.readyState != 4) { 231 creerCalque("Chargement en cours ... ", titre, calque, "contenu"); 232 }*/ 233 if(xhr_object.readyState == 4) { 234 creerCalque(xhr_object.responseText, titre, "contenu", largeur_calque); 235 } 236 } 237 xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 238 xhr_object.setRequestHeader("X-Requested-With", "xmlhttprequest"); 239 xhr_object.setRequestHeader("X-CSRF-TOKEN", $('meta[name="csrf-token"]').attr('content')); 240 241 if(parametres) 242 var data = parametres+"&noframe=1"; 243 else 244 var data = "noframe=1"; 245 xhr_object.send(data); 246 } 247} 248 249/********************** 250* Nom : deroulerCalque 251* Desc : charge le contenu de la page en Ajax 252*********************/ 253function deroulerCalque(id, hauteur_masque, largeur_masque) { 254 255 // On recupére la taille actuelle du masque 256 hauteur_tmp = parseInt(document.getElementById("masque_"+id).style.height.substring(0,(document.getElementById("masque_"+id).style.height.length - 2))); 257 largeur_tmp = parseInt(document.getElementById("masque_"+id).style.width.substring(0,(document.getElementById("masque_"+id).style.width.length - 2))); 258 259 // On recupére la taille du contenu 260 hauteur = parseInt(document.getElementById("contenu_"+id).offsetHeight); 261 largeur = parseInt(document.getElementById("contenu_"+id).offsetWidth); 262 263 if( Math.abs(largeur_tmp - largeur) > Math.abs((largeur - largeur_masque)/20) || Math.abs(hauteur_tmp - hauteur) > Math.abs((hauteur - hauteur_masque)/20) ) { 264 265 if(Math.abs(hauteur_tmp - hauteur) > Math.abs((hauteur - hauteur_masque)/20)) 266 document.getElementById("masque_"+id).style.height = (hauteur_tmp + ((hauteur - hauteur_masque)/20))+"px"; 267 268 if(Math.abs(largeur_tmp - largeur) > Math.abs((largeur - largeur_masque)/20)) { 269 document.getElementById("masque_"+id).style.width = (largeur_tmp + ((largeur - largeur_masque)/20))+"px"; 270 document.getElementById("contenu_"+id).style.marginLeft = -(largeur - largeur_tmp - ((largeur - largeur_masque)/20))/2+"px"; 271 } 272 273 timerCalque = setTimeout("deroulerCalque('"+id+"', '"+hauteur_masque+"', '"+largeur_masque+"')",5); 274 275 } else { 276 277 document.getElementById("masque_"+id).style.height = hauteur+"px"; 278 document.getElementById("masque_"+id).style.width = largeur+"px"; 279 document.getElementById("contenu_"+id).style.marginLeft = "0px"; 280 if(document.getElementById('bouton_fermer_calque')) 281 document.getElementById('bouton_fermer_calque').style.display="block"; 282 clearTimeout(timerCalque); 283 284 } 285}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.