PageSourceSearch

https://boutique.motoverte.com/javax.faces.resource/lariviere/js/dynamique1.js?v=1790069213375

js motoverte.com collected 2026-09-25 07:09:07 UTC 19,578 bytes, 588 lines download raw bytes

1
2//---
3
4String.prototype.replaceAll = function(search, replacement) {
5	var target = this;
6	return target.replace(new RegExp(search, 'g'), replacement);
7};
8function sleep(ms) {
9	return new Promise(function (resolve){return setTimeout(resolve, ms)});
10}
11function showWaitDialog(){$("#waitDialog").fadeIn({duration:1000, queue: false});}
12function hideWaitDialog(){$("#waitDialog").hide();}
13
14var clickOtherPages, initChangeSelectFields;
15$(document).ready(function() {
16	clickOtherPages = function() {
17		var otherPagesLink = $('.current-page a');
18		if (otherPagesLink.length) {
19			otherPagesLink.on('click', function() {
20				paginateProducts({nbElements: parseInt($(this).data('index'), 10)});
21			});
22		}
23	};
24	clickOtherPages();
25
26initChangeSelectFields = function() {
27		$('.select-group:not(.simple-select) select').each(function() {
28			if (!$(this).hasClass('select-hidden')) {
29				var hiddenSelect = $(this);
30				hiddenSelect.addClass('select-hidden');
31				hiddenSelect.wrap('<div class="select"></div>');
32				hiddenSelect.after('<div class="select-styled"></div>');
33
34				var styledSelect = hiddenSelect.next('div.select-styled');
35				var styledSelectOptionsList = $('<ul />', {
36					'class': 'select-options'
37				}).insertAfter(styledSelect);
38				var nbOptions = hiddenSelect.children('option').length;
39				for (var i = 0; i < nbOptions; i++) {
40					$('<li />', {
41						text: hiddenSelect.children('option').eq(i).text(),
42						rel: hiddenSelect.children('option').eq(i).val()
43					}).appendTo(styledSelectOptionsList);
44				}
45				var styledSelectOptionsListItems = styledSelectOptionsList.children('li');
46
47				styledSelect.text(hiddenSelect.children('option:selected').eq(0).text());
48				styledSelectOptionsList.find('li[rel="' + hiddenSelect.children('option:selected').eq(0).val() + '"]').hide();
49
50				styledSelect.on('click', function(evt) {
51					evt.stopPropagation();
52
53					$('div.select-styled.active').not(this).each(function() {
54						$(this).removeClass('active').next('ul.select-options').hide();
55					});
56					$(this).toggleClass('active');
57					styledSelectOptionsList.toggle();
58				});
59
60				$(document).on('click', function() {
61					styledSelect.removeClass('active');
62					styledSelectOptionsList.hide();
63				});
64
65				styledSelectOptionsListItems.on('click', function(evt) {
66					evt.stopPropagation();
67
68					hiddenSelect.val($(this).attr('rel')).trigger('change');
69				});
70			}
71		});
72	};
73	initChangeSelectFields();
74});
75
76/**
77 * <h:commandLink>
78 * 	<f:ajax
79 * 		onerror="function(e){processCommandEvent(e,'FORM_ID',false,null,false);}"
80 * 		onevent="function(e){processCommandEvent(e,'FORM_ID',false,null,false);}"
81 * />
82 * 	J'en profite
83 * </h:commandLink>
84 * @param e
85 * @param formName
86 */
87function processCommandEvent(e,formId, showValidationFailedGlobalMessage,successMessage,reload,idSlideToOnSuccess,redirectTo) {
88	var args={};
89	if (e.responseXML){
90		var exts = e.responseXML.getElementsByTagName ("extension");
91		for (var i = 0; i < exts.length; i++) {
92			var ext = exts[i];
93			if (ext.getAttribute('ln') == 'primefaces' && ext.getAttribute('type') == 'args'){
94				args=$.parseJSON(ext.textContent||ext.innerText||ext.text);
95			}
96		}
97	}
98	
99	effacerErrorsGen();
100	
101	var status = e.status; // Can be "begin", "complete" or "success".
102	switch (status) {
103		case "begin": // Before the ajax request is sent.
104			startAjaxPost(formId);
105			break;
106		case "complete": // After the ajax response is arrived.
107			break;
108		case "success": // After update of HTML DOM based on ajax response..
109			completeAjaxPost(null,'success',args,formId,showValidationFailedGlobalMessage,successMessage,reload,idSlideToOnSuccess,redirectTo);
110			break;
111		default:
112			completeAjaxPost(null,'error',args,formId,showValidationFailedGlobalMessage,successMessage,reload,idSlideToOnSuccess,redirectTo);
113			console.log(e);
114			break;
115	}
116}
117
118function nfProcessAjaxEvent(e, startFct, completeFn) {
119	var args={};
120	if (e.responseXML){
121		var exts = e.responseXML.getElementsByTagName ("extension");
122		for (var i = 0; i < exts.length; i++) {
123			var ext = exts[i];
124			if (ext.getAttribute('ln') == 'primefaces' && ext.getAttribute('type') == 'args'){
125				args=$.parseJSON(ext.textContent||ext.innerText||ext.text);
126			}
127		}
128	}
129	
130	effacerErrorsGen();
131	
132	var status = e.status; // Can be "begin", "complete" or "success".
133	switch (status) {
134		case "begin": // Before the ajax request is sent.
135			startFct();
136			break;
137		case "complete": // After the ajax response is arrived.
138			break;
139		case "success": // After update of HTML DOM based on ajax response..
140			completeFn(null, status, args);
141			break;
142		default:
143			console.log(e);
144			break;
145	}
146}
147
148/**
149 * TODO à adapter!!
150 */
151function removeError() {
152	$('.alert.error').remove();
153	$('.message').remove();
154	$('.error-field').removeClass('error-field');
155}
156
157function startAjaxPost(formId,confirmMessage){
158	var responseConfirm;
159	if (confirmMessage){
160		responseConfirm = confirm(confirmMessage);
161		console.log(responseConfirm);
162	}else{
163		responseConfirm = true;
164	}
165	
166	if(responseConfirm == true) {
167		removeError();
168		showWaitDialog();
169		return true;
170	}else{
171		return false;
172	}
173}
174var successMessages = {};
175/**
176 * TODO à adapter!!
177 * 
178 * @param xhr
179 * @param status
180 * @param args
181 * @param formId
182 * @param showValidationFailedGlobalMessage
183 */
184function completeAjaxPost(xhr, status, args,formId, showValidationFailedGlobalMessage,successMessage,reload,idSlideToOnSuccess,redirectTo,scrollableElementId) {
185	try{
186	var successMessageVal = successMessages[successMessage];
187	if(!successMessageVal){successMessageVal=successMessage;}
188	var messageId = "";
189	if (formId){
190		messageId = "#" + formId.replaceAll(":", "\\:") + " .alert.error, #" + formId.replaceAll(":", "\\:") + " .message";
191	}else{
192		messageId = ".alert.error, .message";
193	}
194	$('.champs_form .message').parents('.champs_form').each(function(){
195		$(this).find('input, select').change(function(){
196			$(this).parents('.champs_form').find('.message').slideUp( 400, function() {
197				$(this).remove();
198			});
199			
200		})
201	});
202	
203	if (args.validationFailed || args.error) {
204		if (args.validationFailed) {
205			if (!showValidationFailedGlobalMessage==false){
206				$(messageId).append(
207					'<div class="alert error">'+
208					'Merci de vérifier les champs signalés ci-dessous.'+
209					'</div>');
210			}
211			activeInputs()
212		}
213		if ($(".error-field").length > 0){
214			scrollUp($(".error-field").first(),scrollableElementId);
215		} else if ($(messageId).length > 0){
216			scrollUp($(messageId).first(),scrollableElementId);
217		}
218		
219		var hasHighlightError = false;
220		
221		if ($(".highlight").length > 0){
222			scrollUp($(".highlight").first());
223			hasHighlightError = true;
224		}
225		
226		var popuperrorhas= false;
227		
228		for(var pas_a = 0 ; pas_a < document.getElementsByClassName('msgErrorGeneralPage').length; pas_a++) {
229			if(document.getElementsByClassName('msgErrorGeneralPage')[pas_a].getElementsByClassName('msg_error').length){
230				popuperrorhas = true;
231				document.getElementsByClassName('msgErrorGeneralPage')[pas_a].style.display = 'block';
232				
233				if (!hasHighlightError) {
234					$("html, body").stop().animate({scrollTop:0}, 500);
235				}
236				break;
237			} else {
238				document.getElementsByClassName('msgErrorGeneralPage')[pas_a].style.display = 'none';
239			}
240		}
241		
242		hideWaitDialog();
243	} else if (status=='error') {
244		$(messageId).append(
245				'<div class="alert error">'+
246				'Attention, une erreur est survenue : votre demande n\'a pas pu être prise en compte.'+
247				'</div>');
248		if ($(messageId).length > 0){
249			scrollUp($(messageId).first(),scrollableElementId, true);
250		}
251		
252		var hasHighlightError = false;
253		if ($(".highlight").length > 0){
254			scrollUp($(".highlight").first());
255			hasHighlightError = true;
256		}
257		
258		var popuperrorhas= false;
259		
260		for(var pas_a = 0 ; pas_a < document.getElementsByClassName('msgErrorGeneralPage').length; pas_a++) {
261			if(document.getElementsByClassName('msgErrorGeneralPage')[pas_a].getElementsByClassName('msg_error').length){
262				popuperrorhas = true;
263				document.getElementsByClassName('msgErrorGeneralPage')[pas_a].style.display = 'block';
264				
265				if (!hasHighlightError) {
266					$("html, body").stop().animate({scrollTop:0}, 500);
267				}
268				break;
269			} else {
270				document.getElementsByClassName('msgErrorGeneralPage')[pas_a].style.display = 'none';
271			}
272		}
273		
274		hideWaitDialog();
275	} else if (status=='success' ) {
276		hideWaitDialog();
277		if (successMessageVal){
278			$(messageId).append(
279					'<div class="alert error">'+
280					successMessageVal +
281					'</div>');
282		}
283		if (reload) {
284			var newUrl = removeURLParameter(location.href, 'logout');
285			location.href = newUrl;
286		}
287	}else{
288		hideWaitDialog();
289	}
290	if (status=='success' && !args.validationFailed && !args.error) {
291		if(idSlideToOnSuccess){
292			scrollToElement($('#' + idSlideToOnSuccess));
293		}
294		if (redirectTo){
295			location.href = redirectTo;
296		}
297		return true;
298	} else {
299		return false;
300	}
301	}catch(e){
302		hideWaitDialog();
303	}
304}
305
306/**
307 * completeAjaxPost pour blocks
308 * @param xhr
309 * @param status
310 * @param args
311 * @param formId
312 * @param showValidationFailedGlobalMessage
313 * @param successMessage
314 * @param reload
315 * @param idSlideToOnSuccess
316 * @param redirectTo
317 * @param scrollableElementId
318 * @returns
319 */
320function completeAjaxPost2(xhr, status, args,formId, showValidationFailedGlobalMessage,successMessage,reload,idSlideToOnSuccess,redirectTo,scrollableElementId) {
321	try{
322	var successMessageVal = successMessages[successMessage];
323	if(!successMessageVal){successMessageVal=successMessage;}
324	var messageId = "";
325	if (formId){
326		messageId = "#" + formId.replaceAll(":", "\\:") + " .alert.error, #" + formId.replaceAll(":", "\\:") + " .message";
327	}else{
328		messageId = ".alert.error, .message";
329	}
330	$('.champs_form .message').parents('.champs_form').each(function(){
331		$(this).find('input, select').change(function(){
332			$(this).parents('.champs_form').find('.message').slideUp( 400, function() {
333				$(this).remove();
334			});
335			
336		})
337	});
338	
339	if (args.validationFailed || args.error) {
340		if (args.validationFailed) {
341			if (!showValidationFailedGlobalMessage==false){
342				$(messageId).append(
343					'<div class="alert error">'+
344					'Merci de vérifier les champs signalés ci-dessous.'+
345					'</div>');
346			}
347			activeInputs()
348		}
349		if ($(".error-field").length > 0){
350			scrollUp($(".error-field").first(),scrollableElementId);
351		} else if ($(messageId).length > 0){
352			scrollUp($(messageId).first(),scrollableElementId);
353		}
354		
355		var hasHighlightError = false;
356		
357		if ($(".highlight").length > 0){
358			scrollUp($(".highlight").first());
359			hasHighlightError = true;
360		}
361		
362		var popuperrorhas= false;
363		
364		for(var pas_a = 0 ; pas_a < document.getElementsByClassName('msgErrorGeneralPage2').length; pas_a++) {
365			if(document.getElementsByClassName('msgErrorGeneralPage2')[pas_a].getElementsByClassName('msg_error').length){
366				popuperrorhas = true;
367				document.getElementsByClassName('msgErrorGeneralPage2')[pas_a].style.display = 'block';
368			} else {
369				document.getElementsByClassName('msgErrorGeneralPage2')[pas_a].style.display = 'none';
370			}
371		}
372		
373		if(!popuperrorhas) {
374			if(document.getElementsByClassName('msg_error').length){
375				if (!hasHighlightError) {
376					$("html, body").stop().animate({scrollTop:0}, 500);
377				}
378			}
379		}
380		
381		hideWaitDialog();
382	} else if (status=='error') {
383		$(messageId).append(
384				'<div class="alert error">'+
385				'Attention, une erreur est survenue : votre demande n\'a pas pu être prise en compte.'+
386				'</div>');
387		if ($(messageId).length > 0){
388			scrollUp($(messageId).first(),scrollableElementId, true);
389		}
390		
391		var hasHighlightError = false;
392		
393		if ($(".highlight").length > 0){
394			scrollUp($(".highlight").first());
395			hasHighlightError = true;
396		}
397		
398		var popuperrorhas= false;
399		
400		for(var pas_a = 0 ; pas_a < document.getElementsByClassName('msgErrorGeneralPage2').length; pas_a++) {
401			if(document.getElementsByClassName('msgErrorGeneralPage2')[pas_a].getElementsByClassName('msg_error').length){
402				popuperrorhas = true;
403				document.getElementsByClassName('msgErrorGeneralPage2')[pas_a].style.display = 'block';
404			} else {
405				document.getElementsByClassName('msgErrorGeneralPage2')[pas_a].style.display = 'none';
406			}
407		}
408		
409		if(!popuperrorhas) {
410			if(document.getElementsByClassName('msg_error').length){
411				if (!hasHighlightError) {
412					$("html, body").stop().animate({scrollTop:0}, 500);
413				}
414			}
415		}
416		
417		hideWaitDialog();
418	} else if (status=='success' ) {
419		hideWaitDialog();
420		if (successMessageVal){
421			$(messageId).append(
422					'<div class="alert error">'+
423					successMessageVal +
424					'</div>');
425		}
426		if (reload) {
427			var newUrl = removeURLParameter(location.href, 'logout');
428			location.href = newUrl;
429		}
430	}else{
431		hideWaitDialog();
432	}
433	if (status=='success' && !args.validationFailed && !args.error) {
434		if(idSlideToOnSuccess){
435			scrollToElement($('#' + idSlideToOnSuccess));
436		}
437		if (redirectTo){
438			location.href = redirectTo;
439		}
440		return true;
441	} else {
442		return false;
443	}
444	}catch(e){
445		hideWaitDialog();
446	}
447}
448function activeInputs(){
449	$('.input').each(function() {
450		if($(this).find("input").val().length!=0){
451			$(this).addClass( "input--active" );
452		}
453	});
454}
455function removeURLParameter(url, parameter) {
456	//prefer to use l.search if you have a location/link object
457	var urlparts= url.split('?');
458	if (urlparts.length>=2) {
459
460		var prefix= encodeURIComponent(parameter)+'=';
461		var pars= urlparts[1].split(/[&;]/g);
462
463		//reverse iteration as may be destructive
464		for (var i= pars.length; i-- > 0;) {
465			//idiom for string.startsWith
466			if (pars[i].lastIndexOf(prefix, 0) !== -1) {  
467				pars.splice(i, 1);
468			}
469		}
470
471		url= urlparts[0];
472		if (pars.length > 0) {
473			url= url+'?'+pars.join('&');
474		}
475	}
476	// Suppression de l'ancre dans l'URL
477	urlparts= url.split('#');
478	if (urlparts.length>=2) {
479		return urlparts[0];
480		
481	} else {
482		return url;
483	}
484}
485
486function scrollUp(elemObj,scrollableElementId){
487	try{
488		var offset;
489		if (scrollableElementId){
490			offset=0;
491		}else{
492			scrollableElementId="html,body";
493			offset=100;
494		}
495		var scroll = $( scrollableElementId ).scrollTop();
496		if (scroll ==0 ){scroll = $( "body" ).scrollTop();}
497		var elem=elemObj.offset().top - offset;
498		if (scroll>elem) {
499			$( scrollableElementId ).animate({scrollTop: elem}, 500 );
500		}
501	}catch(ex){}
502}
503
504function scrollToElement(elemObj){
505	try{
506	var elem=elemObj.offset().top - 30;
507	$( "html, body" ).animate({scrollTop: elem}, 500 );
508	}catch(ex){}
509}
510
511/**
512 * svg4everybody.min.js
513 */
514!function(a,b){"function"==typeof define&&define.amd?define([],function(){return a.svg4everybody=b()}):"object"==typeof module&&module.exports?module.exports=b():a.svg4everybody=b()}(this,function(){function a(a,b,c){if(c){var d=document.createDocumentFragment(),e=!b.hasAttribute("viewBox")&&c.getAttribute("viewBox");e&&b.setAttribute("viewBox",e);for(var f=c.cloneNode(!0);f.childNodes.length;)d.appendChild(f.firstChild);a.appendChild(d)}}function b(b){b.onreadystatechange=function(){if(4===b.readyState){var c=b._cachedDocument;c||(c=b._cachedDocument=document.implementation.createHTMLDocument(""),c.body.innerHTML=b.responseText,b._cachedTarget={}),b._embeds.splice(0).map(function(d){var e=b._cachedTarget[d.id];e||(e=b._cachedTarget[d.id]=c.getElementById(d.id)),a(d.parent,d.svg,e)})}},b.onreadystatechange()}function c(c){function e(){for(var c=0;c<r.length;){var j=r[c],k=j.parentNode,l=d(k),m=j.getAttribute("xlink:href")||j.getAttribute("href");if(!m&&h.attributeName&&(m=j.getAttribute(h.attributeName)),l&&m){if(f){var n=document.createElement("img");n.style.cssText="display:inline-block;height:100%;width:100%",n.setAttribute("width",l.getAttribute("width")||l.clientWidth),n.setAttribute("height",l.getAttribute("height")||l.clientHeight),n.src=g(m,l,j),k.replaceChild(n,j)}else if(i)if(!h.validate||h.validate(m,l,j)){k.removeChild(j);var o=m.split("#"),t=o.shift(),u=o.join("#");if(t.length){var v=p[t];v||(v=p[t]=new XMLHttpRequest,v.open("GET",t),v.send(),v._embeds=[]),v._embeds.push({parent:k,svg:l,id:u}),b(v)}else a(k,l,document.getElementById(u))}else++c,++s}else++c}(!r.length||r.length-s>0)&&q(e,67)}var f,g,h=Object(c);g=h.fallback||function(a){return a.replace(/\?[^#]+/,"").replace("#",".").replace(/^\./,"")+".png"+(/\?[^#]+/.exec(a)||[""])[0]},f="nosvg"in h?h.nosvg:/\bMSIE [1-8]\b/.test(navigator.userAgent),f&&(document.createElement("svg"),document.createElement("use"));var i,j=/\bMSIE [1-8]\.0\b/,k=/\bTrident\/[567]\b|\bMSIE (?:9|10)\.0\b/,l=/\bAppleWebKit\/(\d+)\b/,m=/\bEdge\/12\.(\d+)\b/,n=/\bEdge\/.(\d+)\b/,o=window.top!==window.self;i="polyfill"in h?h.polyfill:j.test(navigator.userAgent)||k.test(navigator.userAgent)||(navigator.userAgent.match(m)||[])[1]<10547||(navigator.userAgent.match(l)||[])[1]<537||n.test(navigator.userAgent)&&o;var p={},q=window.requestAnimationFrame||setTimeout,r=document.getElementsByTagName("use"),s=0;i&&e()}function d(a){for(var b=a;"svg"!==b.nodeName.toLowerCase()&&(b=b.parentNode););return b}return c});
515svg4everybody();
516
517var OmniFaces = OmniFaces || {};
518OmniFaces.FixViewState = function(g, f) {
519	var h = new RegExp("^([\\w]+:)?" + "javax.faces.ViewState".replace(/\./g, "\\.") + "(:[0-9]+)?$"),
520		e = {
521			apply: function(a) {
522				if ("undefined" !== typeof a) {
523					a: {
524						a = a.getElementsByTagName("update");
525						for (var b = 0; b < a.length; b++) {
526							var c = a[b];
527							if (h.exec(c.getAttribute("id"))) {
528								a = c.textContent || c.innerText;
529								break a
530							}
531						}
532						a = null
533					}
534					if (a)
535						for (b = 0; b < f.forms.length; b++) {
536							var c = f.forms[b],
537								e = c["javax.faces.ViewState"];
538							if ("post" == c.method && !e) {
539								var e = a,
540									d = void 0;
541								try {
542									d = f.createElement("\x3cinput name\x3d'javax.faces.ViewState'\x3e")
543								} catch (g) {
544									d = f.createElement("input"),
545										d.setAttribute("name", "javax.faces.ViewState")
546								}
547								d.setAttribute("type", "hidden");
548								d.setAttribute("value", e);
549								d.setAttribute("autocomplete", "off");
550								c.appendChild(d)
551							}
552						}
553				}
554			}
555		};
556	g.jsf && jsf.ajax.addOnEvent(function(a) {
557		"success" == a.status && e.apply(a.responseXML)
558	});
559	g.jQuery && jQuery(f).ajaxComplete(function(a, b, c) {
560		"undefined" !== typeof b && e.apply(b.responseXML)
561	});
562	return e
563}(window, document);
564
565
566function effacerErrorsGen() {
567	var hasHighlightError = false;
568	if ($(".highlight").length > 0){
569		scrollUp($(".highlight").first());
570		hasHighlightError = true;
571	}
572	
573	var popuperrorhas= false;
574	
575	for(var pas_a = 0 ; pas_a < document.getElementsByClassName('msgErrorGeneralPage').length; pas_a++) {
576		if(document.getElementsByClassName('msgErrorGeneralPage')[pas_a].getElementsByClassName('msg_error').length){
577			popuperrorhas = true;
578			document.getElementsByClassName('msgErrorGeneralPage')[pas_a].style.display = 'block';
579			
580			if (!hasHighlightError) {
581				$("html, body").stop().animate({scrollTop:0}, 500);
582			}
583			break;
584		} else {
585			document.getElementsByClassName('msgErrorGeneralPage')[pas_a].style.display = 'none';
586		}
587	}
588}

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.