1jQuery(window).on('scroll',function() { 2 if(window.scrollY > jQuery('#header').height()) { 3 jQuery('body').addClass('sticky'); 4 } else if(window.scrollY == 0) { 5 jQuery('body').removeClass('sticky'); 6 } 7}); 8 9jQuery(document).on('click','.sticky #topPage', function() { 10 jQuery('html,body').animate({scrollTop: 0}, 'slow'); 11}); 12 13/////////////////////////////////////////////////////////////////////////////////////////////////////////////// 14/////////////////////////////////////////////// MENU OVERLAY ////////////////////////////////////////////////// 15/////////////////////////////////////////////////////////////////////////////////////////////////////////////// 16jQuery(document).on('click','#overlay-menu-toggle, #overlay-menu .overlay-menu-close-container', function() { 17 if(jQuery('#overlay-menu .sf-accordion').hasClass('sf-hidden')) { 18 jQuery('#overlay-menu .sf-accordion').show(); 19 } else { 20 jQuery('#overlay-menu .sf-accordion').hide(); 21 } 22 jQuery('#overlay-menu .sf-accordion').toggleClass('sf-hidden'); 23 jQuery('#overlay-menu').toggleClass('open'); 24}); 25 26function flash(message, type, where, closable) { 27 var aInserer = '<div role="contentinfo" class="messages messages--'+type+'">'+message+'</div>'; 28 jQuery(where).prev(".messages").remove(); 29 jQuery(aInserer).insertBefore(where); 30 var top = jQuery(where).offset().top; 31 top -= 200; 32 jQuery("html,body").animate({ scrollTop: top }, "slow"); 33 34 // jQuery('html,body').animate({ 35 // scrollTop: $where.offset().top-200}, 36 // 'slow'); 37} 38 39function isValidEmailAddress(emailAddress) { 40 var pattern = new RegExp(/^[+a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i); 41 // alert( pattern.test(emailAddress) ); 42 return pattern.test(emailAddress); 43}; 44 45function verifForm($form, $zoneErreur) { 46 47 var submitForm = true; 48 var message = ""; 49 $zoneErreur.find('.messages').remove(); 50 jQuery('.messages').remove(); 51 52 $form.find('.obligatoire').each(function () { 53 if(!jQuery(this).is(':disabled') && jQuery(this).closest('.hide').length == 0) { 54 if(jQuery(this).is("select")) { 55 var val = jQuery(this).find("option:selected").val(); 56 } else if(jQuery(this).is("input[type=radio]")) { 57 58 if(jQuery(this).closest('.form-group').find("input[type=radio]:checked").length > 0) { 59 var val = "1"; 60 } else { 61 var val = ""; 62 } 63 } else if(jQuery(this).is("input[type=checkbox]")) { 64 if(jQuery(this).closest('.form-group').find("input[type=checkbox]:checked").length > 0) { 65 var val = "1"; 66 } else { 67 var val = ""; 68 } 69 } else if(jQuery(this).is("input") || jQuery(this).is("textarea")) { 70 var val = jQuery(this).val(); 71 } 72 if (val == "") { 73 console.log('here'); 74 submitForm = false 75 if(jQuery(this).is("input[type=radio]") || jQuery(this).is("input[type=checkbox]")) { 76 jQuery(this).parent().addClass('error'); 77 } else { 78 jQuery(this).addClass('error'); 79 } 80 } else { 81 if(jQuery(this).is("input[type=radio]") || jQuery(this).is("input[type=checkbox]")) { 82 jQuery(this).parent().removeClass('error'); 83 } else { 84 jQuery(this).removeClass('error'); 85 } 86 } 87 } 88 }); 89 90 91 if(!submitForm) { 92 message = "Ces champs sont obligatoires !"+message; 93 } else { 94 $form.find('.email').each(function () { 95 jQuery(this).removeClass('error'); 96 if(jQuery(this).val() != "") { 97 if(!isValidEmailAddress(jQuery(this).val())) { 98 submitForm=false; 99 jQuery(this).addClass('error'); 100 } 101 } 102 }); 103 104 if(!submitForm) { 105 message = "Cet e-mail n'est pas correct !"; 106 } else { 107 $form.find('.numeric').each(function () { 108 jQuery(this).removeClass('error'); 109 var val = jQuery(this).val().replace(',','.').replace(/\s/g,""); 110 if(val != "") { 111 if(!jQuery.isNumeric(val)) { 112 submitForm=false; 113 jQuery(this).addClass('error'); 114 } 115 } 116 }); 117 118 if(!submitForm) { 119 message = "Ces champs ne contiennent pas que des caractères numériques !"; 120 } else { 121 $form.find('.codePostal').each(function() { 122 jQuery(this).removeClass('error'); 123 if(jQuery(this).val() != "") { 124 if(!jQuery.isNumeric(jQuery(this).val()) || jQuery(this).val() < 0) { 125 submitForm=false; 126 jQuery(this).addClass('error'); 127 } 128 } 129 }); 130 131 if(!submitForm) { 132 message = "Ces codes postaux ne sont pas corrects !"; 133 } else { 134 $form.find('.siret').each(function() { 135 jQuery(this).removeClass('error'); 136 var val = jQuery(this).val().replace(/\s/g,""); 137 if(val != "") { 138 if(val.length < 14) { 139 submitForm=false; 140 jQuery(this).addClass('error'); 141 } 142 } 143 }); 144 145 if(!submitForm) { 146 message = "Le SIRET n'est pas correct, il doit être composé de 14 chiffres !"; 147 } else { 148 $form.find('.finess').each(function() { 149 jQuery(this).removeClass('error'); 150 var val = jQuery(this).val().replace(/\s/g,""); 151 if(val != "") { 152 if(val.length != 9) { 153 submitForm=false; 154 jQuery(this).addClass('error'); 155 } 156 } 157 }); 158 159 if(!submitForm) { 160 message = "Le numéro de téléphone n'est pas correct !"; 161 } else { 162 return true; 163 } 164 165 } 166 } 167 } 168 } 169 } 170 flash(message,'error',$zoneErreur,true); 171 172 return false
vendor: 4 bytes, lines 172-173
172; 173}
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.