PageSourceSearch

https://www.aege.fr/global/javascript/calques.js?v=20260909_20210826

js aege.fr collected 2026-09-24 18:43:42 UTC 9,440 bytes, 285 lines download raw bytes

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 += '&nbsp;';
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.