1$(function(){ 2 3 //Ñоздание Ñаблона Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ множеÑÑвенного Ð¿Ð¾Ð»Ñ 4 $(".jsCalcPd__input_multi").each(function(){ 5 var _this = $(this); 6 _this.clone().addClass(_this.attr('data-class-pattern')).insertBefore(_this); 7 }); 8 9 //клик по пÑÑÑой облаÑÑи Ð´Ð»Ñ Ð·Ð°ÐºÑÑÑÐ¸Ñ Ð²ÑпадаÑÑего ÑпиÑка 10 $(document).click(function (e) { 11 if (!$(e.target).hasClass('jsCalcPd__select-option')) { 12 var inputValue = $('.jsCalcPd__input-value').eq(0); 13 $('.jsCalcPd__select-value').css('display','none'); 14 $('.jsCalcPd__input-value').removeClass(inputValue.attr('data-class-open')); 15 } 16 }); 17 18 //оÑкÑÑÑÑ\ÑкÑÑÑÑ Ð²ÑпадаÑÑий ÑпиÑок 19 $(document).on('click','.jsCalcPd__select',function(e){ 20 e.preventDefault(); 21 var _this = $(this); 22 var parent = _this.parents(e.handleObj.selector.split('__')[0]).eq(0); 23 var inputValue = _this.parents('.jsCalcPd__input-value').eq(0); 24 var selectValue = $('.jsCalcPd__select-value',inputValue).eq(0); 25 26 $('.jsCalcPd__select-value').not(selectValue).css('display','none'); 27 $('.jsCalcPd__input-value').not(inputValue).removeClass(inputValue.attr('data-class-open')); 28 selectValue.slideToggle(); 29 inputValue.toggleClass(inputValue.attr('data-class-open')); 30 31 return false; 32 }); 33 34 //вÑбÑаÑÑ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð² вÑпадаÑÑем ÑпиÑке 35 $(document).on('click','.jsCalcPd__select-option',function(e){ 36 e.preventDefault(); 37 var _this = $(this); 38 39 var parent = _this.parents(e.handleObj.selector.split('__')[0]).eq(0); 40 var input = _this.parents('.jsCalcPd__input').eq(0); 41 var inputValue = _this.parents('.jsCalcPd__input-value').eq(0); 42 var select = $('.jsCalcPd__select',inputValue).eq(0); 43 var selectText = $('.jsCalcPd__select-text',_this).text(); 44 45 var disableIfSelect; 46 try { 47 disableIfSelect = JSON.parse(input.attr('data-disable-if-select')); 48 } catch(e){ 49 disableIfSelect = false; 50 } 51 52 var hideIfSelect; 53 try { 54 hideIfSelect = JSON.parse(input.attr('data-hide-if-select')); 55 } catch(e){ 56 hideIfSelect = false; 57 } 58 59 var showIfSelect; 60 try { 61 showIfSelect = JSON.parse(input.attr('data-show-if-select')); 62 } catch(e){ 63 showIfSelect = false; 64 } 65 // console.log(showIfSelect); 66 $('.jsCalcPd__select-value').css('display','none'); 67 $('.jsCalcPd__input-value').removeClass(inputValue.attr('data-class-open')); 68 69 var price = _this.attr('data-price') || 0; 70 var value = _this.attr('data-value') || 0; 71 72 if(disableIfSelect.length){ 73 if(value != 0) { 74 for(var i=0;i<disableIfSelect.length;i++){ 75 field = $("[data-name='info["+disableIfSelect[i]+"][]']",parent); 76 var section = field.parents('.jsCalcPd__section').eq(0); 77 section.addClass(section.attr('data-class-disabled')); 78 $(".jsCalcPd__select",section).attr('data-price','0'); 79 $(".jsCalcPd__select",section).text('не вÑбÑан'); 80 $(".jsCalcPd__price",section).attr('data-price','0'); 81 $(".jsCalcPd__price",section).text('0'); 82 $('.jsCalcPd__select',section).removeClass($('.jsCalcPd__select',section).eq(0).attr('data-class-error')); 83 $('.jsCalcPd__error',section).removeClass($('.jsCalcPd__error',section).eq(0).attr('data-class-active')); 84 } 85 } else { 86 for(var i=0;i<disableIfSelect.length;i++){ 87 field = $("[data-name='info["+disableIfSelect[i]+"][]']",parent); 88 var section = field.parents('.jsCalcPd__section').eq(0); 89 section.removeClass(section.attr('data-class-disabled')); 90 } 91 } 92 } 93 94 if(hideIfSelect.length){ 95 if(value != 0) { 96 for(var i=0;i<hideIfSelect.length;i++){ 97 field = $("[data-name='info["+hideIfSelect[i]+"][]']",parent); 98 var section = field.parents('.jsCalcPd__section').eq(0); 99 section.addClass(section.attr('data-class-hidden')); 100 $(".jsCalcPd__select",section).attr('data-price','0'); 101 $(".jsCalcPd__select",section).text('не вÑбÑан'); 102 $(".jsCalcPd__price",section).attr('data-price','0'); 103 $(".jsCalcPd__price",section).text('0'); 104 $('.jsCalcPd__select',section).removeClass($('.jsCalcPd__select',section).eq(0).attr('data-class-error')); 105 $('.jsCalcPd__error',section).removeClass($('.jsCalcPd__error',section).eq(0).attr('data-class-active')); 106 } 107 } else { 108 for(var i=0;i<hideIfSelect.length;i++){ 109 field = $("[data-name='info["+hideIfSelect[i]+"][]']",parent); 110 var section = field.parents('.jsCalcPd__section').eq(0); 111 section.removeClass(section.attr('data-class-hidden')); 112 } 113 } 114 } 115 116 if(showIfSelect.length){ 117 if(value == 0) { 118 for(var i=0;
118i<showIfSelect.length;i++){ 119 field = $("[data-name='info["+showIfSelect[i]+"][]']",parent); 120 var section = field.parents('.jsCalcPd__section').eq(0); 121 section.addClass(section.attr('data-class-hidden')); 122 console.log(section); 123 $(".jsCalcPd__select",section).attr('data-price','0'); 124 $(".jsCalcPd__select",section).text('не вÑбÑан'); 125 $(".jsCalcPd__price",section).attr('data-price','0'); 126 $(".jsCalcPd__price",section).text('0'); 127 $('.jsCalcPd__select',section).removeClass($('.jsCalcPd__select',section).eq(0).attr('data-class-error')); 128 $('.jsCalcPd__error',section).removeClass($('.jsCalcPd__error',section).eq(0).attr('data-class-active')); 129 } 130 } else { 131 for(var i=0;i<showIfSelect.length;i++){ 132 field = $("[data-name='info["+showIfSelect[i]+"][]']",parent); 133 var section = field.parents('.jsCalcPd__section').eq(0); 134 section.removeClass(section.attr('data-class-hidden')); 135 } 136 } 137 } 138 139 select.removeClass(select.attr('data-class-error')); 140 $(".jsCalcPd__error",inputValue).removeClass($(".jsCalcPd__error",inputValue).eq(0).attr('data-class-active')); 141 select.text(selectText); 142 select.attr('data-price',price); 143 select.attr('data-value',value); 144 145 var sum = jsCalcPdGetInputSum(input); 146 $(".jsCalcPd__price",input).attr('data-price',sum).text(priceFormat(sum)); 147 if(sum > 0){ 148 input.addClass(input.attr('data-class-active')); 149 inputValue.addClass(inputValue.attr('data-class-active')); 150 } else { 151 input.removeClass(input.attr('data-class-active')); 152 inputValue.removeClass(inputValue.attr('data-class-active')); 153 } 154 155 var total = jsCalcPdGetTotalSum(parent); 156 $(".jsCalcPd__total",parent).attr('data-price',total).text(priceFormat(total)); 157 158 var desc = $("[data-id="+value+"]",inputValue); 159 $(".jsCalcPd__detail-option",inputValue).each(function(){ 160 var option = $(this); 161 option.removeClass(option.attr('data-class-active')); 162 }); 163 if(desc.length){ 164 desc.addClass(desc.attr('data-class-active')); 165 } 166 //пеÑеклÑÑение Ñипа калÑкÑлÑÑоÑа 167 if(input.hasClass('jsCalcPd__input_toggle')){ 168 $(".jsCalcPd").addClass($(".jsCalcPd").eq(0).attr('data-class-hidden')); 169 $(".jsCalcPd[data-id="+value+"]").removeClass($(".jsCalcPd").eq(0).attr('data-class-hidden')); 170 $(".jsCalcPd__input_toggle .jsCalcPd__select").text(selectText); 171 $(".jsCalcPd__input_toggle .jsCalcPd__select").attr('data-price',price).attr('data-value',value); 172 } 173 return false; 174 }); 175 176 //добавиÑÑ Ð²Ð°ÑÐ¸Ð°Ð½Ñ Ð¼Ð½Ð¾Ð¶ÐµÑÑвенного Ð¿Ð¾Ð»Ñ 177 $(document).on('click','.jsCalcPd__btn-add',function(e){ 178 e.preventDefault(); 179 var _this = $(this); 180 var parent = _this.parents(e.handleObj.selector.split('__')[0]).eq(0); 181 var input = _this.parents('.jsCalcPd__input').eq(0); 182 var inputValue = _this.parents('.jsCalcPd__input-value').eq(0); 183 var newValue = inputValue.clone() 184 185 $(".jsCalcPd__select",newValue).text('не вÑбÑан'); 186 newValue.removeClass(newValue.attr('data-class-pattern')); 187 newValue.insertAfter(inputValue); 188 189 jsCalcPdButtonManage(input); 190 return false; 191 }); 192 193 //ÑдалиÑÑ Ð²Ð°ÑÐ¸Ð°Ð½Ñ Ð¼Ð½Ð¾Ð¶ÐµÑÑвенного Ð¿Ð¾Ð»Ñ 194 $(document).on('click','.jsCalcPd__btn-remove',function(e){ 195 e.preventDefault(); 196 var _this = $(this); 197 var parent = _this.parents(e.handleObj.selector.split('__')[0]).eq(0); 198 var input = _this.parents('.jsCalcPd__input').eq(0); 199 var inputValue = _this.parents('.jsCalcPd__input-value').eq(0); 200 inputValue.remove(); 201 jsCalcPdButtonManage(input); 202 203 var sum = jsCalcPdGetInputSum(input); 204 $(".jsCalcPd__price",input).attr('data-price',sum).text(priceFormat(sum)); 205 206 var total = jsCalcPdGetTotalSum(parent); 207 $(".jsCalcPd__total",parent).attr('data-price',total).text(priceFormat(total)); 208 209 return false; 210 }); 211 212 213 //валидаÑиÑ, оÑообÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð²ÑплÑваÑÑего Ð¿Ð¾Ð»Ñ 214 $(document).on('click','.jsCalcPd__order',function(e){ 215 e.preventDefault(); 216 var _this = $(this); 217 var parent = _this.parents(e.handleObj.selector.split('__')[0]).eq(0); 218 var hasError = false;
219 $(".jsCalcPd__input_required .jsCalcPd__price",parent).each(function(){ 220 var __this = $(this); 221 var _parent = __this.parents('.jsCalcPd__input').eq(0); 222 var _section = __this.parents('.jsCalcPd__section').eq(0); 223 if( 224 !( 225 _section.hasClass(_section.attr('data-class-disabled')) 226 ||_section.hasClass(_section.attr('data-class-hidden')) 227 ) 228 ){ 229 if(!_parent.hasClass(_parent.attr('data-class-pattern'))) { 230 var price = parseInt(__this.attr('data-price')) || 0; 231 if(price == 0){ 232 if(!hasError){ 233 hasError = $('.jsCalcPd__select',_parent).eq(0); 234 } 235 $('.jsCalcPd__select',_parent).addClass($('.jsCalcPd__select',_parent).eq(0).attr('data-class-error')); 236 $('.jsCalcPd__error',_parent).addClass($('.jsCalcPd__error',_parent).eq(0).attr('data-class-active')); 237 } else{ 238 $('.jsCalcPd__select',_parent).removeClass($('.jsCalcPd__select',_parent).eq(0).attr('data-class-error')); 239 $('.jsCalcPd__error',_parent).removeClass($('.jsCalcPd__error',_parent).eq(0).attr('data-class-active')); 240 } 241 } 242 } 243 }); 244 245 if(!hasError) { 246 247 var form = $(".jsCalcPd__form",parent); 248 var canSubmit = true; 249 $(".jsField",form).each(function(){ 250 251 if(!jsFieldValide($(this))){ 252 canSubmit = false; 253 } 254 }); 255 if(canSubmit){ 256 var post = form.serializeArray(); 257 post.push({ 258 name: 'sessid', 259 value: SESSID, 260 }); 261 $(".jsCalcPd__select",parent).each(function(){ 262 var input = $(this).parents('.jsCalcPd__input').eq(0); 263 if(!input.hasClass(input.attr('data-class-pattern'))){ 264 post.push({ 265 name: $(this).attr('data-name'), 266 value: $(this).attr('data-value'), 267 }) 268 } 269 }); 270 parent.addClass(parent.attr('data-class-loading')); 271 $.post(form.attr('action'),post,function(data){ 272 console.log(data); 273 if(data.status == true){ 274 $.fancybox.close(); 275 alert(data.message); 276 location.reload(); 277 } else { 278 alert(data.message); 279 parent.removeClass(parent.attr('data-class-loading')); 280 } 281 },'json'); 282 } 283 } else { 284 $('body, html').animate({ 285 scrollTop: hasError.offset().top - 256 286 }, 500); 287 } 288 return false; 289 }); 290 291 $(document).on('submit','.jsCalcPd__form',function(e){ 292 e.preventDefault(); 293 var _this = $(this); 294 var dataid = $('.jsCalcPd').not('.calc-pd_hidden'); 295 var parent = _this.parents(e.handleObj.selector.split('__')[0]).eq(0); 296 var popup = $(".jsCalcPd__popup",parent); 297 298 299 if ( this.id =="jsCalcPd__form" ) { 300 $.each($('.form_error') , function(index, val) { 301 $(this).removeClass('form_error'); 302 }); 303 304 }; 305 306 if (!dataid.find('.checkbox-rui__input').is(':checked') ) { 307 alert('ÐÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑоглаÑие на обÑабоÑÐºÑ Ð¿ÐµÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ '); 308 _this.addClass('form-errors') 309 return false; 310 } 311 312 er = true ; 313 314 $.each(dataid.find('.jsField__required'), function(index, val) { 315 $(this).removeClass('form_error'); 316 317 318 if ($(this).val().length < 1 ) { 319 $(this).addClass('form_error'); 320 er = false ; 321 } else { 322 $(this).removeClass('form_error'); 323 324 } 325 326 }); 327 328 if (!er ) { 329 alert('ÐаполниÑе вÑе обÑзаÑелÑнÑе полÑ'); 330 return false; 331 } 332 333 var canSubmit = true; 334 dataid.find('.jsField__required').each(function(){ 335 336 if(!jsFieldValide($(this))){ 337 canSubmit = false; 338 } 339 }); 340 341/* 342 if(canSubmit){ 343 344 var post = dataid.find('form').serializeArray(); 345 dataid.find('.jsCalcPd__select').each(function(){ 346 var input = $(this).parents('.jsCalcPd__input').eq(0); 347 if(!input.hasClass(input.attr('data-class-pattern'))){ 348 post.push({ 349 name: $(this).attr('data-name'), 350 value: $(this).attr('data-value'), 351 }) 352 } 353 }); 354 355 356 $.post(_this.attr('action'),post,function(data){ 357 if(data.status == true){ 358 $.fancybox.close(); 359 $('#thanks_request .form-title').text(data.message); 360 $('#thanks_request').fadeIn(300); 361 } else { 362 alert(data.message); 363 _this.addClass('form-errors') 364 } 365 },'json'); 366 } 367*/ 368 369 return false;
370 }); 371 $("#thanks_request .closed").on("click", function (e) { 372 $('#thanks_request').hide(); 373 location.reload(); 374 }); 375 376 $(".jsCalcPd__input").each(function(){ 377 jsCalcPdButtonManage($(this)); 378 }); 379}); 380 381function jsCalcPdButtonManage(input) { 382 $(".jsCalcPd__btn-add",input).css('display','none'); 383 $(".jsCalcPd__btn-remove",input).css('display','inline-block'); 384 385 $(".jsCalcPd__btn-remove",input).eq(0).css('display','none'); 386 $(".jsCalcPd__btn-add:last",input).css('display','inline-block'); 387} 388 389function jsCalcPdGetInputSum(input) { 390 var sum = 0; 391 $(".jsCalcPd__select",input).each(function(){ 392 sum += parseInt($(this).attr('data-price')) || 0; 393 }) 394 return sum; 395} 396 397function jsCalcPdGetTotalSum(calc) { 398 var sum = 0; 399 $(".jsCalcPd__price",calc).each(function(){ 400 sum += parseInt($(this).attr('data-price')) || 0; 401 }) 402 return sum; 403}
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.