PageSourceSearch

https://prographicadrawings.com/sites/all/themes/prograhica/js/jquery.chocolat_p345vz.js

js prographicadrawings.com collected 2026-10-04 02:14:23 UTC 8,624 bytes, 230 lines download raw bytes

1// Inspired by the lightbox plugin adapted to jquery by Leandro Vieira Pinho (http://leandrovieira.com)
2// Nicolas Turlais
3// Licensed under CCAttribution-ShareAlike
4// V0.2
5(function($) {
6	images = new Array();
7	$.fn.Chocolat = function(settings) {
8		settings = $.extend({
9			modeText:					false,
10			linksContainer:				'Choco_links_container',	// must be an <ul> ID , #					
11			overlayOpacity:				0.99,
12			overlayCouleur:				'#1d0a08',
13			vitesseApparitionOverlay:	500,
14			vitesseApparitionImage:		500,
15			vitesseDisparitionImage:	500,
16			vache:						true,						//active(true) ou non(false) la fermeture lorsque l'on clique sur le fond.
17			separateur1:				' ',						//separe le titre la serie de la position de l'image au sein de la série ...
18			separateur2:				'/',						//sépare l'image actuelle sur le nombre d'image total dans la série...
19			gaucheImg:					'../images/gauche.gif',		//chemin vers l'image pour aller vers la gauche
20			droiteImg:					'../images/droite.gif',		//chemin vers l'image pour aller vers la droite
21			fermerImg:					'../images/close.gif',			//chemin vers l'image pour fermer chocolat
22			imageActuelle:				0,							//ici devient l'image de départ...
23			serie:						0,
24			nomSerie:					1,
25			derniereImage:				0
26		},settings);
27		this.each(function(index){
28			settings.serie = images.length;
29			settings.nomSerie = $(this).attr('title');
30			images[settings.serie] = new Array();
31			if($(this).get(0).tagName == 'A'){e = $(this);}// si l'appel est fait sur les liens
32			else{e = $(this).children();}// sinon (sur une div)
33			e.each(function(index) {
34				images[settings.serie][index] = new Array();
35				images[settings.serie][index]['adresse'] = $(this).attr('href');
36				images[settings.serie][index]['legende'] = $(this).attr('title');
37				if(!settings.modeText){
38					$(this).unbind('click').bind('click', {id: settings.serie, nom : settings.nomSerie, i : index}, _initialise);
39				}
40			})
41			if(settings.modeText){
42				if($('#'+settings.linksContainer).size() == 0){
43					$(this).before('<ul id="'+settings.linksContainer+'"></ul>');
44				}
45				$('#'+settings.linksContainer).append('<li><a href="#" id="Choco_numserie_'+settings.serie+'" class="Choco_link">'+settings.nomSerie+'</a></li>');
46				$(this).remove();
47			return $('#Choco_numserie_'+settings.serie).unbind('click').bind('click', {id: settings.serie, nom : settings.nomSerie, i : settings.imageActuelle}, _initialise);
48			}
49			});
50	
51		function _initialise(event) {
52			settings.imageActuelle = event.data.i;
53			settings.serie = event.data.id;
54			settings.nomSerie = event.data.nom;
55			afficherChocolat(settings.serie); //recupere numserie dans id .
56			return false;
57		}
58		function _interface(){
59			//html
60			$('body').append('<div id="Choco_overlay"></div><div id="Choco_content"><div id="Choco_close"></div><div id="Choco_container_photo"></div><div id="Choco_container_description"><span id="Choco_container_titre"></span><span id="Choco_container_via"></span></div><div id="Choco_aller_gauche" class="Choco_fleches"></div><div id="Choco_aller_droite" class="Choco_fleches"></div></div>');	
61			$('#Choco_aller_gauche').css('background-image', 'url('+settings.gaucheImg+')');  
62			$('#Choco_aller_droite').css('background-image', 'url('+settings.droiteImg+')');  
63			$('#Choco_close').css('background-image', 'url('+settings.fermerImg+')');  
64			//events
65			$(document).unbind().bind('keypress', function(e){
66				switch(e.keyCode){
67					case 37:
68						changePageChocolat(-1);
69						break;
70					case 39:
71						changePageChocolat(1);
72						break;
73					case 27:
74						close();
75						break;
76				};
77			});
78			if(settings.vache){
79				$('#Choco_overlay').click(function(){
80					close();
81					return false;
82				});
83			}
84			$('#Choco_aller_gauche').unbind().bind('click', function(){
85				changePageChocolat(-1);
86				return false;
87			});
88			$('#Choco_aller_droite').unbind().bind('click', function(){
89				changePageChocolat(1);
90				return false;
91			});
92			$('#Choco_close').unbind().bind('click', function(){
93				close();
94				return false;
95			});
96			
97			$(window).resize(function() {
98				load(settings.imageActuelle,true);//load (image, resize)
99			});
100		}
101		function afficherChocolat(numero_serie){	
102			_interface();
103			settings.serie = numero_serie;
104			settings.derniereImage = images[settings.serie].length - 1;
105			load(settings.imageActuelle);
106			$('#Choco_overlay').height($(document).height()).css({'background-color' : settings.overlayCouleur, 'opacity' : settings.overlayOpacity}).fadeIn(settings.vitesseApparitionOverlay);
107			$('#Choco_content').css({'display' : 'block'});
108		}
109		
110		function gestionFlechesChocolat(quoi){
111			montrer = true;
112			if(quoi == 'Choco_aller_droite' && settings.imageActuelle == settings.derniereImage){
113				montrer = false;
114			}
115			else if(quoi == 'Choco_aller_gauche' && settings.imageActuelle == 0){
116				montrer = false;
117			}
118			if(montrer){
119				$('#'+quoi).css({'display':'block'});
120			}
121		}
122		function preload(){
123			if(settings.imageActuelle !== settings.derniereImage){
124				i = new Image;
125				z = settings.imageActuelle + 1;
126				i.src = images[settings.serie][z]['adresse'];
127			}
128		}
129		function load(y,resize){
130			resize = resize || false;		
131			settings.imageActuelle = y;
132			var imgPreloader = new Image();
133			imgPreloader.src = images[settings.serie][settings.imageActuelle]['adresse'];
134
135			$('#Choco_container_photo').html('<img id=\"Choco_grandeImage\" src=\"\" />');
136
137			imgPreloader.onload = function(){
138				$('#Choco_grandeImage').attr('src',images[settings.serie][settings.imageActuelle]['adresse']);
139				var ajustees = ajuster_taille(imgPreloader.height,imgPreloader.width);
140				var largeur_image = ajustees['largeur'];
141				var hauteur_image = ajustees['hauteur'];
142				ChoColat(hauteur_image,largeur_image,resize);
143				imgPreloader.onload=function(){};
144			};
145			imgPreloader.src = images[settings.serie][settings.imageActuelle]['adresse'];
146			preload();
147			majDesc();
148		}
149		function changePageChocolat(signe){
150			if(settings.imageActuelle == 0 && signe == -1)
151			{
152				return false;
153			}
154			else if(settings.imageActuelle == settings.derniereImage && signe == 1){
155				return false;
156			}
157			else{
158				$('#Choco_container_description').fadeOut(settings.vitesseDisparitionImage);
159				$('#Choco_content').fadeOut(settings.vitesseDisparitionImage,function (){
160					$('#Choco_content').css({'display' : 'block'});
161					$('#Choco_container_photo').html('');
162					load(settings.imageActuelle + parseInt(signe));
163				});
164			}
165		}
166		function majDesc(){
167			var actuelle = settings.imageActuelle + 1;
168			var finale = settings.derniereImage + 1;
169			$('#Choco_container_titre').html(images[settings.serie][settings.imageActuelle]['legende']);
170			$('#Choco_container_via').html(settings.nomSerie+settings.separateur1+actuelle +settings.separateur2+finale);
171		}
172
173		function ChoColat(hauteur_image,largeur_image,resize){
174		$('#Choco_container_photo').css({'display' : 'block'});
175		$('.Choco_fleches').fadeOut(settings.vitesseDisparitionImage, function(){//(-100)
176			gestionFlechesChocolat($(this).attr('id'));
177		});
178			if(resize){
179				// stop sert à eviter les saccades lorsque l'on redimentsionne la fenetre. bizarrement, stop induit un overflow hidden, d'où la suite.
180				$('#Choco_content').stop(true,false).css({'overflow':'visible'})
181			}
182			$('#Choco_content').animate({
183				'height' : hauteur_image,
184				'width' : largeur_image,
185				'marginLeft' : -largeur_image/2,
186				'marginTop' : -(hauteur_image+50)/2
187			},400, 'swing', function(){
188					$('#Choco_container_description').fadeIn(settings.vitesseApparitionImage);
189					$('#Choco_grandeImage').css('marginTop',-20).height(hauteur_image).width(largeur_image).fadeIn(settings.vitesseApparitionImage);
190					$('#Choco_aller_gauche, #Choco_aller_droite').css('top',-hauteur_image-30);
191			});
192		}
193		function ajuster_taille(himg,limg){
194			var lblock = limg + 200;
195			var hblock = himg + 65;
196			
197			var k = limg/himg;
198			var kk = himg/limg;
199			
200			var windowWidth = $(window).width();
201			var windowHeight = $(window).height();
202
203			notFitting = true;
204				while (notFitting){
205				var lblock = limg + 200;
206				var hblock = himg + 65;
207					if(lblock > windowWidth){
208						limg = (windowWidth - 250);
209						himg = kk * limg;
210					}else if(hblock > windowHeight){
211						himg = (windowHeight - 105);
212						limg = k * himg;
213					}else{
214						notFitting = false;
215					};
216				};
217			return {
218				largeur:limg,
219				hauteur:himg
220			};
221
222		}
223		function close(){
224			$('#Choco_overlay').fadeOut(900, function(){$('#Choco_overlay').remove()});
225			$('#Choco_content').fadeOut(500, function(){$('#Choco_content').remove()});
226			settings.imageActuelle = 0;
227		}
228		
229};
230})(jQuery);

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.