1/*start*/ 2function NBShopJS(){ 3 window.nbFormError = []; 4 5 /** VALIDACIJA FORMI I HELPER FUNKCIJE ZA FORME */ 6 var Validate = function (element, options) { 7 this.$element = $(element); 8 this.$parsley; 9 this.options = { 10 formData: {}, 11 remoteUrl: this.$element.data('remote-url'), 12 alertContainer: this.$element.find('.alert'), 13 refreshPage : false, 14 goToUrl: this.$element.data('go-to-url'), 15 validateOnFocusOut: true 16 }; 17 18 this.options = $.extend( {}, this.options, options) ; 19 this.init(options); 20 21 }; 22 23 Validate.prototype = { 24 25 init: function (options) { 26 $.extend(this.options, options); 27 this.$parsley = this.$element.parsley(); 28 this.listenFieldValidatedSuccess(); 29 this.listenFieldValidatedError(); 30 this.listenFieldFocusOut(); 31 this.listenFormValidated(); 32 this.trigger('initialize'); 33 }, 34 35 listenFormValidated: function(){ 36 var self = this; 37 38 this.$parsley.subscribe('parsley:form:validated', function(formInstance) { 39 40 if(typeof self.options.remoteUrl !== "undefined" && self.options.remoteUrl){ 41 formInstance.submitEvent.preventDefault(); 42 } else { 43 self.setButtonSubmitted(); 44 return; 45 } 46 47 if(!formInstance.isValid()){ 48 return; 49 } 50 51 //submit remote if it has been setted 52 self.submitRemote(); 53 }); 54 }, 55 56 listenFieldValidatedSuccess: function(){ 57 this.$parsley.subscribe('parsley:field:success', function (fieldInstance) { 58 fieldInstance.$element.parents('.form-group').removeClass('form-group-error'); 59 }); 60 }, 61 62 listenFieldValidatedError: function(){ 63 this.$parsley.subscribe('parsley:field:error', function (fieldInstance) { 64 fieldInstance.$element.parents('.form-group').addClass('form-group-error'); 65 window.nbFormError.push(fieldInstance.$element[0].name); 66 }); 67 }, 68 69 resetForm: function(){ 70 this.$element.find('input, textarea').val('').prop('checked', false); 71 this.$parsley.reset(); 72 this.resetAlertContainer(); 73 }, 74 75 resetAlertContainer: function(){ 76 this.options.alertContainer.removeClass('alert-danger alert-success').addClass('hidden').html(''); 77 }, 78 79 hideAlertContainer: function(){ 80 this.options.alertContainer.addClass('hidden'); 81 }, 82 83 showAlertContainer: function(){ 84 this.options.alertContainer.removeClass('hidden'); 85 }, 86 87 setAlertSuccess: function(msg){ 88 this.resetAlertContainer(); 89 this.showAlertContainer(); 90 this.options.alertContainer.addClass('alert-success').html(msg); 91 }, 92 93 setAlertError: function(msg){ 94 this.resetAlertContainer(); 95 this.showAlertContainer(); 96 this.options.alertContainer.addClass('alert-danger').html(msg); 97 }, 98 99 setRemoteSuccess: function(msg,noreset){ 100 if(!noreset){ 101 this.resetForm(); 102 } 103 this.setAlertSuccess(msg); 104 this.trigger('remoteSuccess'); 105 // Generisanje novog Google reCaptcha V3 tokena jer je iskoriÅ¡Äen na prethodni submit 106 if(typeof(initGoogleRecaptchaV3) !== 'undefined'){ 107 initGoogleRecaptchaV3(); 108 } 109 }, 110 setremoteUrlRedirect: function(msg){ 111 this.trigger('remoteUrlRedirect'); 112 }, 113 setRemoteError: function(msg){ 114 this.setAlertError(msg); 115 this.trigger('remoteError'); 116 }, 117 118 setButtonSubmitted: function($btn){ 119 //get added hidden fields that associates to the submitted button 120 var $originallyClicked = this.$element.find('input[rel=originallyclicked]'); 121 122 //for has been submitted and some hidden field that associates 123 //to the submitted button has been already added 124 if(typeof $btn === "undefined" && $originallyClicked.length){ 125 return; 126 } 127 128 //no hidden fields that associates to the submitted button has been added 129 if(typeof $btn === "undefined" && !$originallyClicked.length){ 130 $btn = this.$element.find('[type=submit]'); 131 } 132 133 //remove previously added hidden fields 134 if($originallyClicked.length){ 135 $originallyClicked.remove(); 136 } 137 138 //add hidden field that associates to the latest submitted button 139 this.$element.append($("<input>").attr("type", "hidden") 140 .attr("name", $btn.attr('name')) 141 .attr("rel", 'originallyclicked') 142 .val("1")); 143 }, 144 145 submitRemote: function(){ 146 var self = this; 147 var idForm = this.$element.attr('id'); 148 var noreset = false;
149 window.NB_AJAX_RET=''; 150 var formData = self.$element.serializeObject(); 151 $.extend(formData, self.options.formData); 152 153 if(formData.hasOwnProperty('regmarketingpermisions')){ 154 let checkfiled = app.serilizeSSOCheckbox(); 155 156 if(typeof smartform === "undefined") { 157 formData.regmarketingpermisions = $.param(checkfiled); 158 } 159 } 160 161 162 //todo cuvanje podatala u bazi 163 var saveData = function(self, formData){ 164 var loaderbtn = $(self.options.alertContainer.context).find('.confirm-loader'); 165 $(loaderbtn).addClass('active'); 166 167 /*if(self.options.goToUrl){ 168 let getmetod = ''; 169 let count = 0; 170 let prefix = '?'; 171 for (var key in formData) { 172 if(count > 0){ 173 prefix = '&'; 174 } 175 if (formData.hasOwnProperty(key)) { 176 getmetod+= prefix+key + "=" + formData[key]; 177 count++; 178 } 179 } 180 window.location.href = nb_site_url+'/'+encodeURI(self.options.remoteUrl+getmetod); 181 self.setremoteUrlRedirect(formData); 182 return 183 }*/ 184 $.ajax({ 185 type: "POST", 186 url: self.options.remoteUrl, 187 // data: $.extend(formData, self.options.formData), 188 data: formData, 189 contentType: "application/x-www-form-urlencoded;charset=UTF-8", 190 dataType: 'json', 191 success: function(ret){ 192 193 if(ret.flag){ 194 window.NB_AJAX_RET = ret; 195 if(self.options.formData.returnStatus){ 196 window.NB_AJAX_STATUS = ret.status; 197 } 198 if(self.options.formData.noreset){ 199 noreset = true; 200 } 201 202 self.setRemoteSuccess(ret.info,noreset); 203 204 if(self.$element.hasClass('login_form')){ 205 nbshopJS.CustomEventTrigger('loginUser',ret.f_user_gtm); 206 nbshopJS.CustomEventTrigger('loginUserNew',ret.f_USER_PUBLIC_gtm); 207 nbshopJS.CustomEventTrigger('LoginEvent', { userInfo: ret.f_USER_PUBLIC_gtm, event_id: generateEventId() } ); // FB CAPI event 208 } 209 210 if(formData.nbTask === "newsletter" && typeof ret.userEmailHashed !== "undefined" && ret.userEmailHashed) { 211 nbshopJS.CustomEventTrigger('NewsletterLoginEvent', { userInfo: { userEmailHashed: ret.userEmailHashed } } ); // FB CAPI event 212 } 213 214 if(self.options.refreshPage){ 215 if(ret.flagRefreshPage){ 216 let newLink = ret.backUrl; 217 //pokretanje login-a sa bloka loyalty korpe 218 if(ret.backUrl.includes("#start_login")){ 219 newLink = ret.backUrl.replace("#start_login",""); 220 createCookie('vc_start_login',1); 221 } 222 setTimeout(window.location = newLink, 2000); 223 } 224 } 225 $(loaderbtn).removeClass('active'); 226 227 }else{ 228 window.NB_AJAX_RET = ret; 229 if(typeof grecaptcha !== 'undefined' ){ 230 $('.g-recaptcha').each(function (index) { 231 grecaptcha.reset(index); 232 }); 233 } 234 self.setRemoteError(ret.info); 235 $(loaderbtn).removeClass('active'); 236 } 237 } 238 }); 239 }; 240 241 if(idForm != "undefined" && $("#"+idForm+" .files_input").length > 0){ 242 243 var counterFiles = 0; 244 var numberFiles = 0; //$( "#"+idForm+" .files_input" ).size(); 245 var filesObject = []; 246 247 var flagSave = false;
248 $("#"+idForm+" .files_input").each(function (event) { 249 if($(this).val() != ''){ 250 flagSave = true; 251 numberFiles++; 252 } 253 }); 254 255 if(flagSave){ 256 $("#"+idForm+" .files_input").each(function (event) { 257 if($(this).val() != '') { 258 //todo radimo upload fajlova 259 var files = this.files, 260 name_field = $(this).attr('name'); 261 $.each(this.files, function (index, file) { 262 var reader = new FileReader(); 263 reader.onload = function (event) { 264 counterFiles++; 265 object = {}; 266 object.file_name = file.name; 267 object.name_field = name_field; 268 object.data = event.target.result; 269 filesObject.push(object); 270 271 if (numberFiles == counterFiles) { 272 formData = $.extend(formData, {files: filesObject}); 273 //todo ukoliko prebaceni na server onda radimo cuvanje registracije 274 saveData(self, formData); 275 } 276 }; 277 reader.readAsDataURL(file); 278 }); 279 } 280 281 }); 282 }else{ 283 saveData(self, formData); 284 }; 285 }else{ 286 saveData(self, formData); 287 } 288 }, 289 290 addFieldRemoteValidate: function($field, query){ 291 var self = this, 292 dataRemoteURL = $field.data('parsley-remote'), 293 dataRemoteRuleName = $field.data('parsley-remote-validator'); 294 295 if(!dataRemoteURL || !dataRemoteRuleName){ 296 return; 297 } 298 $field.parsley().addAsyncValidator( 299 dataRemoteRuleName, function(xhr){ 300 var rule = $field.parsley(); 301 var ret = $.parseJSON(xhr.responseText); 302 303 window.ParsleyUI.removeError(rule, 'remote'); 304 window.ParsleyUI.removeError(rule, dataRemoteRuleName); 305 306 if(ret.flag){ 307 if(typeof ret.data !== "undefined"){ 308 self.triggerField($field, 'remoteSuccessData', ret.data); 309 } 310 return 200; 311 } 312 313 window.ParsleyUI.addError(rule, dataRemoteRuleName, ret.info); 314 315 if(typeof ret.data !== "undefined"){ 316 self.triggerField($field, 'remoteErrorData', ret.data); 317 } 318 return false; 319 }, dataRemoteURL, { data: query } 320 ); 321 }, 322 323 trigger: function(name, data){ 324 this.triggerField(this.$element, name, data); 325 }, 326 327 triggerField: function($field, name, data){ 328 $field.trigger('nb.validate.'+name, data); 329 }, 330 331 listenFieldFocusOut: function(){ 332 if(!this.options.validateOnFocusOut) return; 333 334 this.$element.find('.form-control, .styled-select select').on('focusout change', function(){ 335 var $field = $(this).parsley(); 336 $field.validate(); 337 }); 338 } 339 340 }; 341 342 /** The jQuery Plugin for the form validation */ 343 $.fn.validate = function(option) { 344 var args = Array.prototype.slice.call(arguments, 1); 345 346 return this.each(function() { 347 var $this = $(this), 348 data = $this.data('nb.validate'); 349 350 if (!data) { 351 data = new Validate(this, typeof option == 'object' && option); 352 $this.data('nb.validate', data); 353 } 354 355 if (typeof option == 'string' && option.charAt(0) !== '_') { 356 data[option].apply(data, args); 357 } 358 }); 359 }; 360 361 /** The constructor for the jQuery Plugin */ 362 $.fn.validate.Constructor = Validate; 363 364 /** IMPORTED PLUGINS - pravi od svih vrednosti input polja niz */ 365 $.fn.serializeObject = function(){ 366 var obj = {}; 367 368 $.each( this.serializeArray(), function(i,o){ 369 var n = o.name, 370 v = o.value; 371 372 obj[n] = obj[n] === undefined ? v 373 : $.isArray( obj[n] ) ? obj[n].concat( v ) 374 : [ obj[n], v ]; 375 }); 376 377 return obj; 378 }; 379 380 /** SLICK SLIDER FUNKCIJA */ 381 $.fn.nbHandleSlider = function(options){ 382 var $this = this, 383 $wrapper = $this.parent('.slider'), 384 $navigation = $wrapper.children('.slider-arrows'); 385 386 var settings = $.extend({ 387 //options go here 388 swipeToSlide: true, 389 appendArrows: $navigation, 390 prevArrow: '<div class="slider-arrow slider-prev"><i class="fa fa-angle-left" aria-hidden="true"></i></div>', 391 nextArrow: '<div class="slider-arrow slider-next"><i class="fa fa-angle-right" aria-hidden="true"></i></div>' 392 }, options ); 393 $this.find('img.lozad').each(function () { 394 //$(this).removeClass('lozad').attr(''); 395 }) 396 397 var slider = $this.not('.slick-initialized').slick(settings); 398 return slider; 399 }; 400 401 /** SLIDER - PROSLEDJIVANJE OPCIJE SLIDER-A DO GLAVNE FUNKCIJE*/ 402 var initSlider = function(elementId, options){ 403 var $slider = $(elementId); 404 if($slider.length < 1){ 405 return false;
406 } 407 $slider.nbHandleSlider(options); 408 409 if($(elementId).parent('.lists-tabs').length > 0){ 410 $slider.on('beforeChange', function(event, slick, currentSlide, nextSlide){ 411 elt = slick.$slides.get(nextSlide); 412 $(this).parent().find('.tab-pane').removeClass('active'); 413 414 if ($(elt).find('a').attr('href') !== undefined) { 415 var tabId = $(elt).find('a').attr('href').toString(); 416 417 if ($(elt).hasClass("tab-items")){ 418 $(tabId).addClass('active'); 419 } 420 } 421 422 $('.slick-slide[data-index=' + nextSlide + ']').addClass('active'); 423 }); 424 } 425 }; 426 427 /** SLICK SLIDER FUNKCIJA ZA SLIDER DRUGOG NIVOA */ 428 $.fn.nbHandleSliderLev2 = function(options){ 429 var $this = this, 430 $wrapper = $this.closest('.slider-level2'), 431 $navigation = $wrapper.find('.slider-arrows'); 432 433 var settings = $.extend({ 434 //options go here 435 appendArrows: $navigation, 436 prevArrow: '<div class="slider-arrow slider-prev"><i class="fa fa-angle-left" aria-hidden="true"></i></div>', 437 nextArrow: '<div class="slider-arrow slider-next"><i class="fa fa-angle-right" aria-hidden="true"></i></div>' 438 }, options ); 439 $this.find('img.lozad').each(function () { 440 //$(this).removeClass('lozad'); 441 }) 442 443 var slider = $this.slick(settings); 444 return slider; 445 }; 446 447 /** SLIDER LEVEL 2 - PROSLEDJIVANJE OPCIJE SLIDER-A DO GLAVNE FUNKCIJE DRUGOG NIVOA */ 448 var initSliderLev2 = function(elementId, options){ 449 var $slider = $(elementId); 450 $slider.nbHandleSliderLev2(options); 451 452 if($(elementId).parent('.lists-tabs').length > 0){ 453 $slider.on('beforeChange', function(event, slick, currentSlide, nextSlide){ 454 elt = slick.$slides.get(nextSlide); 455 $(this).parent().find('.tab-pane').removeClass('active'); 456 var tabId = $(elt).find('a').attr('href').toString(); 457 if ($(elt).hasClass("tab-items")){ 458 $(tabId).addClass('active'); 459 } 460 $('.slick-slide[data-index=' + nextSlide + ']').addClass('active'); 461 }); 462 } 463 }; 464 465 /** SLIDER - Init slider with each class */ 466 var initSliderEach = function(elementId, options){ 467 var $slider = $(elementId); 468 $slider.each(function(){ 469 $(this).nbHandleSlider( 470 options 471 ); 472 }); 473 }; 474 475 /** SLIDERE TREBA PREBACITI U nbHandleSlider FUNKCIJU I OBRISATI OVU FUNKCIJU */ 476 $.fn.handleSlider = function(options){ 477 var $this = this, 478 $wrapper = $this.parents('.slider-wrapper'), 479 $navigation = $wrapper.find('.slider-arrows'), 480 dataItems = $this.data('items'), 481 dataItemsXXS = $this.data('items-xxs'), 482 dataItemsXS = $this.data('items-xs'), 483 dataItemsSM = $this.data('items-sm'), 484 dataItemsMD = $this.data('items-md'), 485 dataSpeed = $this.data('speed'); 486 487 var settings = $.extend({ 488 //options go here 489 speed: dataSpeed > 0 ? dataSpeed : 300, 490 slidesToShow: dataItems, 491 slidesToScroll: dataItems, 492 arrows: true, 493 appendArrows: $navigation, 494 prevArrow: '<div class="slider-arrow slider-prev"><i class="fa fa-angle-left" aria-hidden="true"></i></div>', 495 nextArrow: '<div class="slider-arrow slider-next"><i class="fa fa-angle-right" aria-hidden="true"></i></div>', 496 responsive: [ 497 { 498 breakpoint: 1400, 499 settings: { 500 slidesToShow: dataItemsMD, 501 slidesToScroll: dataItemsMD 502 } 503 }, 504 { 505 breakpoint: 1024, 506 settings: { 507 slidesToShow: dataItemsSM > 0 ? dataItemsSM : Math.round(dataItems / 2), 508 slidesToScroll: dataItemsSM > 0 ? dataItemsSM : Math.round(dataItems / 2) 509 } 510 }, 511 { 512 breakpoint: 768, 513 settings: { 514 slidesToShow: dataItemsXS > 0 ? dataItemsXS : Math.round(dataItems / 2), 515 slidesToScroll: dataItemsXS > 0 ? dataItemsXS : Math.round(dataItems /2) 516 } 517 }, 518 { 519 breakpoint: 480, 520 settings: { 521 slidesToShow: dataItemsXXS > 0 ? dataItemsXXS : Math.round(dataItems / 2), 522 slidesToScroll: dataItemsXXS > 0 ? dataItemsXXS : Math.round(dataItems /2) 523 } 524 } 525 ] 526 }, options ); 527 528 var slider = $this.slick(settings); 529 530 return slider; 531 532 }; 533 534 /** REINICIJALIZACIJA SLIDER-A */ 535 $.fn.reinitSlider = function(){ 536 var $this = this; 537 var slider = $this.slick('setPosition'); 538 return slider; 539 }; 540 541 /** GET WINDOW WIDTH */ 542 var windowWidth = function(){ 543 return (window.innerWidth) ? 544 window.innerWidth : 545 document.documentElement.clienWidth || document.body.clienWidth || 0; 546 }; 547 548 /** GET WINDOW HEIGHT */ 549 var windowHeight = function(){ 550 return (window.innerHeight) ? 551 window.innerHeight : 552 document.documentElement.clientHeight || document.body.clientHeight || 0; 553 }; 554 555 /** MOBILE Breakpoint */ 556 var mobileBreakpoint = function(width){ 557 if(width > 0){ 558 return width; 559 } 560 return 767; 561 }; 562 563 /** PRINT ELEMENT * Description: Print element with given ID */ 564 var printFrame = function(elementId, frameId) { 565 var frameElementId = frameId; 566 if (typeof frameId === 'undefined') { 567 frameElementId = 'print_frame'; 568 } 569 570 var printFrame = window.frames[frameElementId]; 571 printFrame.document.body.innerHTML=document.getElementById(elementId).innerHTML; 572 printFrame.window.focus(); 573 printFrame.window.print(); 574 }; 575 576 /** LOAD TAB ON CLICK OF AN ELEMENT */ 577 var handleBindedToTab = function(eventElementId, targetElementId, speed){ 578 $(eventElementId).click(function(e){ 579 e.preventDefault(); 580 if (typeof speed === 'undefined') { 581 var speed = 300; 582 } 583 var $elClicked = $(this); 584 var $tab = $('a[href="'+$elClicked.attr('href')+'"]').tab('show').first(); //nb:check 585 586 if(windowWidth() <= 1024){ 587 $($elClicked.attr('href')).addClass('in'); //nb:check 588 } 589 var sHeader = $(this).hasClass('sticky-header'); 590 let headerHeight = $('.header').height(); 591 if(!sHeader){ 592 he = $($elClicked.attr('href')).offset().top-headerHeight; 593 $(targetElementId).animate({scrollTop: he}, speed); 594 } 595 }); 596 }; 597 598 var clickOpenVerticalTabTab = function(element,targetElementId,an_speed,headerHeight){ 599 if(!headerHeight){ 600 headerHeight = 0; 601 } 602 $(element).click(function(e){ 603 e.preventDefault(); 604 if (typeof an_speed === 'undefined') { 605 an_speed = 800; 606 } 607 var $elClicked = $(this); 608 var targetid = $elClicked.attr('href'); 609 $(targetid).collapse('show'); 610 $(targetElementId).animate({scrollTop: $(targetid).offset().top+headerHeight}, an_speed); 611 612 }); 613 }; 614 /** Animate tp anchor links */ 615 var handleAnchorLinks = function(elementId, targetElementId, marginTop, speed){ 616 $(elementId).on('click', function(event){ 617 event.preventDefault(); 618 if(typeof ($(this.hash).offset()) != 'undefined') { 619 $(targetElementId).animate({scrollTop:($(this.hash).offset().top - marginTop)}, speed); 620 } 621 }); 622 }; 623 624 var closeOpendElementOnOutClick = function(element, activeClass,exception){ 625 $(element).click(function (e) { 626 a = 0; 627 }); 628 if(!exception){ 629 exception = element; 630 } 631 $('body').click(function(e){ 632 if($(element).hasClass(activeClass) && a > 0){ 633 if ($(e.target).closest(exception).length === 0 ) { 634 $(element).removeClass(activeClass); 635 } 636 } 637 a++; 638 }); 639 } 640 641 642 function initCzechMapWithMarkerOnly(elementClass) { 643 var center = SMap.Coords.fromWGS84(elementClass.data('lng'), elementClass.data('lat')); 644 var m = new SMap(JAK.gel("map-container"), center, 13); 645 m.addDefaultLayer(SMap.DEF_BASE).enable(); 646 m.addDefaultControls(); 647
648 var layer = new SMap.Layer.Marker(); 649 m.addLayer(layer); 650 layer.enable(); 651 652 var options = {}; 653 var marker = new SMap.Marker(center, "myMarker", options); 654 layer.addMarker(marker); 655 } 656 657 /** GOOGLE MAPS */ 658 var handleMap = function(elementId,style, options, markerOptions, scroll){ 659 if(nb_enableCzMap){ 660/* $map.data('lat', $mapTriggerInstance.data('lat')); 661 $map.data('lng', $mapTriggerInstance.data('lng'));*/ 662 // handleMap($map,style); 663 //initCzechMapWithMarkerOnly(elementId); 664 665 }else{ 666 if(!elementId.length) return; 667 668 var Wscroll = scroll; 669 var styles = style; 670 671 Wscroll = (Wscroll && Wscroll>'')? true : false; 672 if(style == false || style == '') { 673 styles = []; 674 } 675 676 var _options = { 677 center: new google.maps.LatLng(elementId.data('lat'), elementId.data('lng')), 678 zoom: 16, 679 scrollwheel: Wscroll, 680 mapTypeControl: false, 681 mapTypeId: google.maps.MapTypeId.ROADMAP, 682 styles: styles 683 }; 684 685 var map = new google.maps.Map(elementId[0], $.extend(_options, options)); 686 687 if(markerOptions === false) return map; 688 689 var _markerOptions = { 690 position: new google.maps.LatLng(elementId.data('lat'), elementId.data('lng')), 691 icon: elementId.data('map-marker') ? new google.maps.MarkerImage(elementId.data('map-marker')) : null, 692 map: map 693 }; 694 695 var marker = new google.maps.Marker($.extend(_markerOptions, markerOptions)); 696 697 marker.setMap(map); 698 return map; 699 } 700 701 }; 702 703 /** GOOGLE MAP MODAL */ 704 var handleModalMap = function($mapTrigger,style, elementId){ 705 706 if(!$mapTrigger.length) return; 707 var $mapModal = elementId, //$('#map_modal') 708 $map = $mapModal.find('.modal-map'); 709 710 //modal with map is requested 711 $mapTrigger.click(function(){ 712 var $mapTriggerInstance = $(this); 713 //vertically align modal before displaying 714 handleModalCenter(); 715 //get its title by title of map trigger link 716 //$mapModal.find('.modal-title').html($mapTriggerInstance.data('title')); 717 //modal is ready, show it 718 $mapModal.modal('show'); 719 //empty map 720 $map.empty(); 721 //once showed initialize map with its coordinates 722 //map CANNOT be initialized before this event, because its CONTAINER HAS TO BE VISIBLE! 723 $mapModal.on('shown.bs.modal', function(){ 724 $(".modal-backdrop.in").hide(); 725 $map.data('lat', $mapTriggerInstance.data('lat')); 726 $map.data('lng', $mapTriggerInstance.data('lng')); 727 setTimeout(function () { 728 handleMap($map,style); 729 }, 300) 730 }); 731 }); 732 }; 733 734 /** Center modal */ 735 var handleModalCenter = function(){ 736 var centerModal = function() { 737 738 $('.modal').not($(this)).modal('hide'); 739 740 $(this).css('display', 'block'); 741 742 var $dialog = $(this).find(".modal-dialog"); 743 var offset = ($(window).height() - $dialog.height()) / 2; 744 var $images = $dialog.find('img'); 745 746 if ($images.length) { 747 $images.load(function () { 748 offset = ($(window).height() - $dialog.height()) / 2; 749 750 if(offset <= 0){ 751 return; 752 } 753 754 // Center modal vertically in window 755 $dialog.css("margin-top", offset); 756 757 758 }); 759 } else { 760 if(offset <= 0){ 761 return; 762 } 763 764 // Center modal vertically in window 765 $dialog.css("margin-top", offset); 766 } 767 768 }; 769 770 $('.modal').on('show.bs.modal', centerModal); 771 $(window).on("resize", function () { 772 $('.modal:visible').each(centerModal); 773 }); 774 }; 775 776 /** PROVERITI */ 777 //dodato da ne javlja gresku ako nismo na strani radnje 778 var handleNearestStoresMap = function(){ 779 return; 780 }; 781 782 /** Finkcija koja dodaje klasu na elemente */ 783 var handleAddElementClasse = function(elementId, className){ 784 var element = $(elementId); 785 if (!element.hasClass("selected")) { 786 element.addClass(className); 787 } 788 }; 789 790 /** ACCORDION */ 791 var handleAccordion = function($panelsGroup){ 792 793 794 var collapsing = function(){ 795 796 //on shown pannel set all panels to not opened, except the collapsed panel 797 $panelsGroup.on('shown.bs.collapse', function(e){ 798 //set all to not opened 799 $panelsGroup.find('.panel-top').children('.panel-heading').removeClass('opened'); 800 if($(e.target).parents('.panel').children('.collapse.in').length === 0) return; 801 $(e.target).parents('.panel').children('.panel-heading').addClass('opened'); 802 }); 803 804 $panelsGroup.on('hide.bs.collapse', function(e){ 805 if($(e.target).parent('.panel').children('.collapse.in').length === 0) return; 806 $(e.target).parent('.panel').children('.panel-heading').removeClass('opened'); 807 }); 808 }; 809 810 //If top panel (parent panel) has only one child panel, 811 //automatically expand that child panel 812 var expandSinglePanels = function(){ 813 814 //panel group has only one child panel, expand it 815 if($panelsGroup.children('.panel').length === 1){ 816 $panelsGroup.children('.panel').find('.collapse').addClass('in'); 817 return; 818 } 819 820 //panel group has multiple child panels 821 //loop through them 822 $panelsGroup.children('.panel').each(function(){ 823 var $panel = $(this), 824 $panelHeading = $panel.children('.panel-heading'); 825 826 //top panel is toggled, 827 //if there is only one child panel, expand it 828 $panelHeading.click(function(){ 829 if($panel.find('.panel').length > 1) return; 830 $panel.find('.panel > .collapse').addClass('in'); 831 }); 832 }); 833 }; 834 835 collapsing(); 836 expandSinglePanels(); 837 }; 838 839 /** PROVERITI - OVO NE MORA DA STOJI OVDE */ 840 var initDatepicker = function(date,options){ 841 $(date).datepicker(options); 842 }; 843 844 845 /** INICIJALIZACIJA PINTEREST GALERIJE */ 846 var handleMasonry = function() { 847 var $container = $('.js-masonry'); 848 if (typeof ($container.masonry) === 'function') { 849 // initialize 850 // apply mansory to the grid items 851 setTimeout(function(){ 852 $container.masonry({ 853 // columnWidth: 200, 854 itemSelector: '.masonry-item' 855 }); 856 }, 800); 857 858 } 859 }; 860 861 var handleSliderCountdown = function(wrapper){ 862 863 if(typeof setTimeZone === "function") { 864 setTimeZone(wrapper); // nalazi e u timezone.js 865 } 866 867 if (!$('div.cf.counter').length) return false;
868 869 wrapper.each(function (e) { 870 var finalDate = $(this).data("time"); 871 var textDay = $(this).data("day"); 872 var textDays = $(this).data("days"); 873 var textHour = $(this).data("hour"); 874 var textHours = $(this).data("hours"); 875 var textHoursMore = $(this).data("hours-more"); 876 var textMinute = $(this).data("minute"); 877 var textMinutes = $(this).data("minutes"); 878 var textSecond = $(this).data("second"); 879 var textSeconds = $(this).data("seconds"); 880 var textSecondsMore = $(this).data("seconds-more"); 881 var $html; 882 var textDaysTrans; 883 var textHoursTrans; 884 var textMinutesTrans; 885 var textSecondsTrans; 886 var showHoursAfterZero = true; 887 var uname = $(this).data('countdown-uname'); 888 889 if(!uname){ 890 uname = 'countdown'; 891 } 892 893 $(this).countdown(finalDate) 894 .on('update.countdown', function(event) { 895 896 if($(this).data('showhoursafterzero')==='hide'){ 897 showHoursAfterZero = false; 898 } 899 900 if(event.offset.hours == 1){ 901 textHoursTrans = textHour; 902 } else if(event.offset.hours > 5 || event.offset.hours == 0) { 903 textHoursTrans = textHoursMore; 904 } else { 905 textHoursTrans = textHours; 906 } 907 908 if(event.offset.minutes == 1){ 909 textMinutesTrans = textMinute; 910 } else { 911 textMinutesTrans = textMinutes; 912 } 913 914 if(event.offset.seconds == 1){ 915 textSecondsTrans = textSecond; 916 } else if(event.offset.seconds > 5 || event.offset.seconds == 0) { 917 textSecondsTrans = textSecondsMore; 918 } else { 919 textSecondsTrans = textSeconds; 920 } 921 922 if(event.offset.totalDays > 0){ 923 if(event.offset.totalDays == 1){ 924 textDaysTrans = textDay; 925 } else { 926 textDaysTrans = textDays; 927 } 928 929 $html = '<div class="item-countdown item-days"><span>%D <em>'+textDaysTrans+'</em></span></div>' + 930 '<div class="item-countdown item-hours"><span>%H <em>'+textHoursTrans+'</em></span></div>' + 931 '<div class="item-countdown item-minutes"><span>%M <em>'+textMinutesTrans+'</em></span></div>' + 932 '<div class="item-countdown item-seconds"><span>%S <em>'+textSecondsTrans+'</em></span></div>'; 933 }else { 934 if(showHoursAfterZero){ 935 $html ='<div class="item-countdown item-hours"><span>%H <em>'+textHoursTrans+'</em></span></div>' + 936 '<div class="item-countdown item-minutes"><span>%M <em>'+textMinutesTrans+'</em></span></div>' + 937 '<div class="item-countdown item-seconds"><span>%S <em>'+textSecondsTrans+'</em></span></div>'; 938 }else{ 939 $html ='<div class="item-countdown item-minutes"><span>%M <em>'+textMinutesTrans+'</em></span></div>' + 940 '<div class="item-countdown item-seconds"><span>%S <em>'+textSecondsTrans+'</em></span></div>'; 941 } 942 943 } 944 945 $(this).html(event.strftime($html)); 946 947 }).on('finish.countdown', function(){ 948 $(this).parent().remove(); 949 CustomEventTrigger('countdownEnd_'+uname); 950 }); 951 }); 952 953 954 /*$('div.cf.counter').countdown(finalDate) 955 .on('stop.countdown', function(event) { 956 $(this).html(event.strftime('gotovo')); 957 });*/ 958 959 }; 960 961 /** Funkcija za parallax pozadine - PROVERITI */ 962 var handleParallaxOld = function(firstElementSpeed, firstElementPosition, secondElementSpeed, secondElementPosition){ 963 var headerHeight = $('.header').height(); 964 965 if(app.width() > app.mobileBreakpoint) { 966 $(window).scroll(function (e) { 967 parallax(); 968 }); 969 }; 970 971 function parallax(){ 972 var scrolled = $(window).scrollTop(); 973 var parallaxItem = $(".parallax .item"); 974 var windowHeight = $(window).height(); 975 parallaxItem.each(function(){ 976 var paralaxheight = $(this).height(); 977 var positionDiff = (((windowHeight-paralaxheight)/2)-headerHeight); 978 parallaxItemPosition = $(this).position().top; 979 $(this).find(".main-img").css(firstElementPosition,(scrolled*firstElementSpeed-(parallaxItemPosition-positionDiff)*firstElementSpeed)+'px'); 980 $(this).find(".second-img").css(secondElementPosition,(scrolled*secondElementSpeed-(parallaxItemPosition-positionDiff)*secondElementSpeed)+'px'); 981 if(parallaxItemPosition <= scrolled+(+300)){ 982 $(this).addClass("active"); 983 } else { 984 $(this).removeClass("active"); 985 } 986 }); 987 } 988 989 }; 990 991 /** PARALLAX INICIJALIZACIJA */ 992 var handleParallax = function(){ 993 $(window).scroll(function(e){ 994 parallax(); 995 }); 996 function parallax(){ 997 var scrolled = $(window).scrollTop()+(+300); 998 var par = $(".parallax"); 999 par.each(function(){ 1000 var parpos = $(this).position().top; 1001 $(this).children(".item1").css('bottom',(scrolled-parpos)+'px'); 1002 $(this).children(".item2").css('bottom',(scrolled*2-parpos*2)+'px'); 1003 if(parpos <= scrolled){ 1004 $(this).addClass("active"); 1005 } else { 1006 $(this).removeClass("active"); 1007 } 1008 }); 1009 } 1010 }; 1011 1012 /** PROVERITI */ 1013 var handleWarningCart = function(wrapper,item,popup){ 1014 //popup je podesavanje za BUZZ 1015 var $wrapper = wrapper; 1016 var country_item = item; 1017 var tekst = $wrapper.data('text'); 1018 var activecountry; 1019 if(tekst === '') return; 1020 if(popup){ 1021 1022 activecountry = country_item.data('country'); 1023 country_item.each(function(){ 1024 if($(this).data('country') !=='' ){ 1025 $(this).css('pointer-events','none'); 1026 } 1027 }); 1028 1029 } 1030 country_item.click(function(e){ 1031 if($(this).hasClass('active')){}else{ 1032 if (confirm(tekst) != true) { 1033 e.preventDefault() 1034 } 1035 } 1036 }); 1037 1038 }; 1039 1040 /** Funkcija za stavku "item-product-list-grid" na mbilnim uredjajima */ 1041 function itemProductListGrid(){ 1042 $('.item-product-list-grid .mobile-list-grid .item .arrow-wrapper').click(function () { 1043 $('.item-product-list-grid').addClass('open-items'); 1044 }); 1045 $('.item-product-list-grid .close-items').click(function () { 1046 $('.item-product-list-grid').removeClass('open-items'); 1047 }); 1048 }; 1049 1050 /** Funkcija za toggle footer menija na mobilnim uredjajima */ 1051 var handleCollapsingFooterMenu = function(){ 1052 if(windowWidth() < 768){ 1053 $itemTitle = $('.collapse-menu .heading-wrapper'); 1054 $itemTitle.click(function(){ 1055 if($(this).parent().hasClass('open')){ 1056 $('.collapse-menu .heading-wrapper').parent().removeClass('open'); 1057 } else { 1058 $('.collapse-menu .heading-wrapper').parent().removeClass('open'); 1059 $(this).parent().addClass('open') 1060 } 1061 }); 1062 } 1063 }; 1064 1065 /** Prebacivanje heandle slidera na razlivÄitim rezolucijama */ 1066 var handleAppendtoHandlinesSlider = function(){ 1067 if(windowWidth() < 1025 && windowWidth() >= 768 ){ 1068 $(".header-top .handlines-sldier").appendTo(".header-top").addClass('append-handlines'); 1069 } else if(windowWidth() < 768){ 1070 $(".header-top .handlines-sldier").prependTo("body > .hidden-fullscreen").addClass('append-handlines'); 1071 } 1072 $(window).resize(function(){ 1073 if(windowWidth() < 1025 && windowWidth() >= 768 ){ 1074 $(".handlines-sldier.append-handlines").appendTo(".header-top"); 1075 } else if (windowWidth() < 768){ 1076 $(".handlines-sldier.append-handlines").prependTo("body > .hidden-fullscreen"); 1077 } else { 1078 $(".handlines-sldier.append-handlines").appendTo(".header-top .midle-coll"); 1079 } 1080 }); 1081 }; 1082 1083 /** Slider sa tekstom umesto pagiacije */ 1084 var articleSliderWithPagination = function() { 1085 $('.article-slider-with-custopm-pagination > .slider-init').each(function(){ 1086 var customPaginationSliderOptions = { 1087 speed: 500, 1088 slidesToShow: 1, 1089 slidesToScroll: 1, 1090 autoplay: false, 1091 arrows: true, 1092 dots: true, 1093 fade: true, 1094 adaptiveHeight: true, 1095 customPaging : function(slider, i) { 1096 var thumb = $(slider.$slides[i]).data('slide-name'); 1097 return '<span>'+thumb+'</span>'; 1098 }, 1099 responsive: [ 1100 {breakpoint: 768, settings: {asNavFor: '.article-slider-with-custopm-pagination > .slider-init .slick-dots'}} 1101 ] 1102 }; 1103 initSlider(this, customPaginationSliderOptions); 1104 }); 1105 if ($(window).width() < 768) { 1106 $('.article-slider-with-custopm-pagination > .slider-init .slick-dots').each(function(){ 1107 var customPaginationThumbsSliderOptions = { 1108 dots: false, 1109 infinite: true, 1110 speed: 300, 1111 slidesToShow: 1, 1112 centerMode: true,
1113 arrows: false, 1114 asNavFor: '.article-slider-with-custopm-pagination > .slider-init' 1115 }; 1116 initSlider(this, customPaginationThumbsSliderOptions); 1117 }) 1118 } 1119 }; 1120 1121 /** Pomeranje glavne slika proizvoda kada je fullscrean */ 1122 var handleFullscreenMouseoverZoom = function ($image) { 1123 var height = $(window).height(); 1124 var pImage = $image; 1125 var pImageHeight = $(pImage).height(); 1126 var marginTop = 0; 1127 1128 handleFullscreenMouseoverZoomBtn(pImage); 1129 1130 $(pImage).parent().mousemove(function(e){ 1131 1132 marginTop = (e.pageY/height)*(pImageHeight-height); 1133 pImage.css('margin-top','-'+marginTop+'px'); 1134 }); 1135 }; 1136 1137 var handleFullscreenMouseoverZoomBtn = function (image){ 1138 var imageWrapper = $(image).closest('.fullscreen.fullscreen-product-slider'); 1139 var zoomBtn = imageWrapper.find('.zoom-btn-wrapper .icon'); 1140 var imageWidth; 1141 var imageHeight; 1142 var multiplier = 1.5; 1143 var maxZoomLevel = 2; 1144 var imageOriginalWidth = $(image).prop("naturalWidth"); 1145 var winHeight = $(window).height(); 1146 var marginTop; 1147 $(image).css("cssText", "max-width: initial !important"); 1148 zoomBtn.click(function (){ 1149 1150 marginTop = 0; 1151 imageWidth = $(image).prop("width"); 1152 imageHeight = $(image).prop("height"); 1153 if($(this).hasClass('icon-plus') && imageWidth*multiplier <= imageOriginalWidth*Math.pow(multiplier,maxZoomLevel)){ 1154 $(image).width(imageWidth*multiplier); 1155 } else if ($(this).hasClass('icon-minus') && imageWidth/multiplier >= imageOriginalWidth){ 1156 $(image).width(imageWidth/multiplier); 1157 } 1158 1159 imageHeight = $(image).prop("height"); 1160 $(image).css('margin-top',+winHeight-imageHeight+'px'); 1161 $(image).parent().mousemove(function(e){ 1162 1163 marginTop = (e.pageY/winHeight)*(imageHeight-winHeight); 1164 $(image).css('margin-top','-'+marginTop+'px'); 1165 }); 1166 }) 1167 1168 } 1169 1170 /** Tekst na kursoru */ 1171 var handleMouseText = function (wrapper, element) { 1172 1173 wrapper.on( "mousemove", function( event ) { 1174 element.css({ 1175 "left" : event.pageX, 1176 "top" : event.pageY, 1177 "display": "block" 1178 }); 1179 }); 1180 1181 wrapper.on( "mouseout", function( event ) { 1182 element.css({ 1183 "display": "none" 1184 }); 1185 }); 1186 }; 1187 1188 /** Funkcija za prikazivanj "viÅ¡e teksta" kada se klikne na dugme sa klasom "show-more-text" */ 1189 var handleShowMoreText = function () { 1190 $('.show-more-text').each(function() { 1191 var wrapper = $(this).parent(), 1192 textWrapper = wrapper.find('.show-more-text'), 1193 showBtn = wrapper.find('.show-more-btn'), 1194 totalLineHeight = (parseInt(textWrapper.css('line-height')) * 3), /* miltiple 3 for 3 row */ 1195 textWrapperHeight = parseInt(textWrapper.css('height')), 1196 showMoreText = $(this).attr("data-moreText"), 1197 showLessText = $(this).attr("data-lessText"); 1198 if(textWrapperHeight > totalLineHeight){ 1199 textWrapper.css("height", totalLineHeight+"px"); 1200 $(showBtn).removeClass('hidden') 1201 } 1202 1203 $(showBtn).click(function(){ 1204 textWrapper.toggleClass('active'); 1205 if ($(this).text() == showMoreText) 1206 $(this).text(showLessText); 1207 else 1208 $(this).text(showMoreText); 1209 }); 1210 1211 }); 1212 }; 1213 1214 /** Funkcija koja na klik menja dezen gift kartice na procesu kupovine */ 1215 var HandleGiftCardOptionsCheck = function(){ 1216 var $wrapper = $('.gifcards-option'); 1217 var viewDiv = $('#gc-view'); 1218 var $image ; 1219 var firstItem = $('.gifcards-option li:first-child.item'); 1220 var element = firstItem.find('img').data('img-big'); 1221 $image = viewDiv.html('<img id="theImg" src="'+element+'" />'); 1222 firstItem.addClass('active'); 1223 1224 $wrapper.find('li.item').click(function(){ 1225 $('li.item').removeClass('active'); 1226 $(this).toggleClass('active'); 1227 $(this).find('input').icheck('checked'); 1228 $image = $(this).find('img').data('img-big'); 1229 viewDiv.html('<img id="theImg" src="'+$image+'" />'); 1230 }); 1231 }; 1232 1233 /** Store on map | list toggle button */ 1234 var toggleMapStoreList = function(){ 1235 $('.show-store-list').click(function () { 1236 $('.store-map-wrapper').removeClass('active'); 1237 $('.nicescroll-rails').removeClass('hidden'); 1238 }) 1239 }; 1240 1241 /** AspectRatio za YouTube video */ 1242 var handleYoutubeAspectRatioArticleVideo = function(){ 1243 var $video = $('.article-video').find("iframe"); 1244 // Figure out and save aspect ratio for video 1245 if(app.width() < 768){ 1246 var $heightV = $video.height(); 1247 $('.article-video').height($heightV); 1248 } 1249 }; 1250 1251 /** Zatvaranje mini korpe na klik */ 1252 var handleCartClose = function(){ 1253 var $cart = $('.header-cart-toggle'); 1254 $cart.toggleClass('invisible'); 1255 $cart.removeClass('slideEffect'); 1256 }; 1257 1258 /** Funkcija koja na listingu na klik veliÄine proizvoda aktivira veliÄinu za brzu kupovinu */ 1259 var handleProductSizeSelector = function (slider) {
1260 if(!slider){ 1261 slider = ''; 1262 } 1263 $(slider+' .sizes-selector-wrapper .sizes-selector').each(function() { 1264 var selectorWrapper = $(this).parent(), 1265 selectorBtn = selectorWrapper.find('.item'); 1266 1267 if(!$(this).hasClass('init')) { 1268 $(this).click(function(){ 1269 selectorWrapper.toggleClass('active'); 1270 }); 1271 $(this).addClass('init'); 1272 } 1273 1274 1275 $(this).closest('.product-item').mouseenter(function(){ 1276 selectorWrapper.removeClass('active'); 1277 }); 1278 1279 selectorBtn.click(function(){ 1280 var sizeName = $(this).data('productsize-name'); 1281 selectorWrapper.find('.sizes-selector').css('background','transparent').text(sizeName); 1282 if(!selectorWrapper.closest('.options-wrapper').hasClass('product-sizes-v3')){ 1283 selectorWrapper.removeClass('active'); 1284 } 1285 }); 1286 }); 1287 }; 1288 1289 /** Product list change quantity */ 1290 var changeProductQuantity = function (wrapper) { 1291 1292 var quantityBtn = $('.product-list-quantity-arrows'); 1293 if(wrapper){ 1294 quantityBtn = $(wrapper+'.product-list-quantity-arrows'); 1295 } 1296 1297 quantityBtn.off('click'); 1298 quantityBtn.on('click', function() { 1299 var submitBtn = $(this).parent().parent().find('.buyButtonOnLists'), 1300 quantity = submitBtn.data('product-quantity'), 1301 input = $(this).parent().find('.product-list-quantity-input'); 1302 if($(this).hasClass('quantity-up')){ 1303 submitBtn.data('product-quantity', (parseInt(quantity)+1)); 1304 input.val(parseInt(quantity)+1); 1305 } else if ($(this).hasClass('quantity-down') && quantity > 1) { 1306 submitBtn.data('product-quantity', (parseInt(quantity)-1)); 1307 input.val(parseInt(quantity)-1); 1308 } 1309 }); 1310 1311 $('.product-list-quantity-wrapper .product-list-quantity input').change(function () { 1312 var submitBtn = $(this).closest('.product-sizes').find('.buyButtonOnLists'), 1313 quantity = $(this).val(); 1314 1315 submitBtn.data('product-quantity', quantity); 1316 }); 1317 }; 1318 1319 /** Funkcija za filtere koji su u intro baru na listingu proizvoda - klikom se otvara dropdown sa filterima */ 1320 var filterSelectorActive = function (){ 1321 $('.product-listing .filter-selector-wrapper .filter-group-wrapper .title').on('click', function() { 1322 if($(this).parent().hasClass('active')){ 1323 $('.product-listing .filter-selector-wrapper .filter-group-wrapper').removeClass('active'); 1324 } else { 1325 $('.product-listing .filter-selector-wrapper .filter-group-wrapper').removeClass('active'); 1326 $(this).parent().addClass('active'); 1327 } 1328 }) 1329 }; 1330 1331 var HandlePdfCatalog = function(element){ 1332 if(typeof(element.wowBook) == 'function'){ 1333 if(!element) return; 1334 var $file = element.attr("data-url-file"); 1335 var bookOptions = { 1336 height : 800 1337 ,width : 1000 1338 // ,maxWidth : 800 1339 ,maxHeight : 1000 1340 ,centeredWhenClosed : true 1341 ,hardcovers : true 1342 ,pageNumbers: false 1343 ,toolbar : "lastLeft, left, right, lastRight, zoomin, zoomout, slideshow, thumbnails, download" 1344 ,thumbnailsPosition : 'left' 1345 ,responsiveHandleWidth : 50 1346 ,container: window 1347 ,containerPadding: "20px" 1348 ,pdf: $file 1349 }; 1350 element.wowBook( bookOptions ); // create the book // $('#book') 1351 } 1352 }; 1353 1354 /* Scroll to readonly geo selsctor in cart*/ 1355 var scrollToGeoSelector = function (){ 1356 1357 var geoSelector = $('#cart_onepage_delivery_country_form .form-group .styled-select'); 1358 $('#cart_onepage_country_geo, .country_geo_id-input-wrapper .styled-select').click(function(){ 1359 $('html, body').animate({scrollTop : 0},800); 1360 setTimeout(function(){geoSelector.addClass('active');}, 800); 1361 }); 1362 geoSelector.click(function () { 1363 geoSelector.removeClass('active') 1364 }); 1365 }; 1366 1367 /* Position relativ for 4level menu if menu have container*/ 1368 var menu4levelRelative = function () { 1369 $('li.level4').mouseover(function(){ 1370 $(this).parent().css("position", "relative"); 1371 }).mouseout(function(){ 1372 $(this).parent().css("position", "static"); 1373 }); 1374 }; 1375 1376 /* Ukolikok ne postoji 3 nivo da se obrišu strelice pored naslova 2. nivoa*/ 1377 var removeArrow2levlonly = function () { 1378 $('.level4 .nav-main-submenu > li,.level3 .nav-main-submenu > li').each(function () { 1379 var twoLevItem = $(this); 1380 if(twoLevItem.find('.nav-main-dropdown-wrapper').length == 0){ 1381 twoLevItem.find('.icon').addClass('hidden').removeClass('visible-xs'); 1382 } 1383 }); 1384 }; 1385 1386 /* Disable click on tel link for PC device */ 1387 var disableDesktopTelLink = function (){ 1388 return false;
1389 if(windowWidth() > 1024){ 1390 $('a[href^="tel:"]').each(function(i, obj) { 1391 $(this).off("click").attr('href', "javascript: void(0);"); 1392 }); 1393 } 1394 }; 1395 1396 /* Sizeguide show description in modal with content from slider */ 1397 var sizeGuideShowDescription = function(){ 1398 $("#product_sizeguide_shoes_modal_slider .img-wrapper div[class^='item-']").hover(function(){ 1399 var itemClassName = $(this).attr('class').replace('item-',''); 1400 $('.description-'+itemClassName).show(); 1401 }, function(){ 1402 var itemClassName = $(this).attr('class').replace('item-',''); 1403 $('.description-'+itemClassName).hide(); 1404 }); 1405 }; 1406 1407 var firstProductTabActive = function(){ 1408 var activeElement = false; 1409 $('.product-generic-tabs li.item').each(function() { 1410 if($(this).hasClass('active')) { 1411 activeElement = true; 1412 } 1413 }); 1414 if(!activeElement){ 1415 $('.product-generic-tabs .items-wrapper').find(".item.tab-items:first-child").addClass('active'); 1416 $('.product-generic-tabs .tab-content ').find(".tab-pane:first-child").addClass('active'); 1417 } 1418 }; 1419 1420 var showMoreFilters = function(){ 1421 $('.limited-filters .filter-group .show-all-filters').click(function () { 1422 var showMore = $(this).data('show-more'), 1423 showLess = $(this).data('show-less'); 1424 $(this).toggleClass('active'); 1425 $(this).parent('.filter-group').find('.hidden-items').toggleClass('hidden'); 1426 if($(this).hasClass('active')){ 1427 $(this).html(showLess); 1428 } else { 1429 $(this).html(showMore); 1430 } 1431 }) 1432 }; 1433 1434 var activeColorFilterLabele = function(){ 1435 $('.filter-group .items-wrapper > li.color-item-wrapper').each(function(){ 1436 if ($(this).find('.icheckbox_flat').hasClass('checked')) { 1437 $(this).find('label').addClass('checked'); 1438 } 1439 }); 1440 }; 1441 1442 var handleHTMLEditorTableResponsive = function(){ 1443 var tabela = $('.post-content, .text-wrapper').find('table'); 1444 $(tabela).each(function(){ 1445 if ($(tabela).hasClass('table')){ 1446 1447 }else{ 1448 $(this).addClass('table'); 1449 } 1450 1451 if ($(tabela).parent('.table-responsive').length == 0) { 1452 $(tabela).wrap( "<div class='table-responsive'></div>" ); 1453 }else{ 1454 // $(tabela).wrap( "<div class='table-responsive'></div>" ); 1455 } 1456 }) 1457 }; 1458 1459 var initMapInStoreLoaction = function () { 1460 $('.promotion-wrapper-witouth-modal .panel .panel-toggle').click(function () { 1461 $('.panel .panel-group .promo-store-of-city .collapse').removeClass('in'); 1462 var mapWrapper = $(this).parents('.promo-store-of-city').find('.map-link-wrapper'), 1463 lat = mapWrapper.data('lat'), 1464 lng = mapWrapper.data('lng'); 1465 1466 $('.map-link-wrapper').each(function () { 1467 $(this).html(''); 1468 }); 1469 mapWrapper.html('<div id="map-container" data-lat="'+lat+'" data-lng="'+lng+'"></div>'); 1470 var $map = $('#map-container'); 1471 handleMap($map); 1472 }) 1473 }; 1474 1475 var initMapInStoreDetail = function () { 1476 if($('.store-details #map-canvas').length){ 1477 handleMap($('#map-canvas')); 1478 } 1479 }; 1480 1481 var initMapInStoreLoactionWithSelector = function () { 1482 $('.promotion-wrapper-with-selector .promo-store-of-city .heading-wrapper').each( 1483 function () { 1484 var itemHeight = $(this).height(); 1485 $(this).height(itemHeight); 1486 } 1487 ); 1488 $('.promotion-wrapper-with-selector .map-link').click(function () { 1489 var lat = $(this).data('lat'), 1490 lng = $(this).data('lng'); 1491 1492 $('.promo-store-of-city').parent().removeClass('selected'); 1493 var topOfPanelWrapper = $(this).parents('.panel-group').offset().top, 1494 topOfWrapper = $(this).parents('.promo-store-of-city').offset().top, 1495 heightOfWrapper = $(this).parents('.promo-store-of-city').height(), 1496 distance = (topOfWrapper + heightOfWrapper) - topOfPanelWrapper; 1497 1498 $('#store-map-wrapper').css('top', distance); 1499 $('.promo-store-of-city').css('height', '100%'); 1500 $(this).parents('.promo-store-of-city').css('height', heightOfWrapper); 1501 $(this).parents('.promo-store-of-city').parent().addClass('selected'); 1502 $('#store-map-wrapper').html('<div id="map-container" data-lat="'+lat+'" data-lng="'+lng+'"></div>').addClass('active'); 1503 var $map = $('#map-container'); 1504 handleMap($map); 1505 }) 1506 }; 1507 1508 var toggleCommentInputs = function(){ 1509 $('.comments .toggle-button-wrapper').click(function(){ 1510 $(this).parent().find('.inputs-wrapper').toggleClass('hidden') 1511 }) 1512 }; 1513 1514 var onYouTubeIframeAPIReady = function() { 1515 var tag = document.createElement('script'); 1516 tag.src = "https://www.youtube.com/iframe_api"; 1517 var firstScriptTag = document.getElementsByTagName('script')[0]; 1518 firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 1519 1520 var ytId, 1521 ytWidth, 1522 ytHeight, 1523 loop; 1524 var player=[]; 1525 1526 window.videoPlayers = {}; 1527 1528 var numberP = 0; 1529 var checkYT = setInterval(function () { 1530 if((typeof YT !== "undefined") && YT.loaded){ 1531 console.log($( ".mainSliderVideo" ).length); 1532 if ( $( ".mainSliderVideo" ).length ) { 1533 $( ".mainSliderVideo" ).each(function(i){ 1534 var localId = $(this).data('videoid'); 1535 1536 ytId = $(this).data('videoid'); 1537 1538 if(app.width() < 768 && $(this).data('videoidmob') !== '' && typeof $(this).data('videoidmob') !== "undefined" ){ 1539 ytId = $(this).data('videoidmob') 1540 $(this).attr('id', ytId); 1541 } 1542 ytWidth = $(this).data('videowidth'); 1543 ytHeight = $(this).data('videoheight'); 1544 loop = $(this).data('loop'); 1545 1546 if(app.width() < 768 && $(this).length > 0 ){ 1547 ytWidth =$(this).width(); 1548 ytHeight = app.width() / $(this).data('videowidthmob')*$(this).data('videoheightmob'); 1549 } 1550 player[numberP] = new YT.Player(ytId, { 1551 videoId: ytId, 1552 width: ytWidth, 1553 height: ytHeight, 1554 playerVars: { 1555 rel: 0, 1556 autoplay: 1, 1557 controls: 0, 1558 mute: 1, 1559 playsinline: 1, 1560 modestbranding: 1, 1561 suggestedQuality: 'hd1080'/*, 1562 origin: window.location.origin, 1563 version: 3, 1564 showinfo: 0, 1565 wmode: 'transparent', 1566 branding: 0, 1567 fs: 0, 1568 cc_load_policty: 1, 1569 iv_load_policy: 3,
1570 autohide: 0*/ 1571 }, 1572 events: { 1573 'onReady': function (event) { 1574 if($('.main-slider .slider-init').find('.item.slick-current').hasClass('item-video')) { 1575 $('.main-slider .slider-init').slick('slickPause'); 1576 } 1577 if(player[i]){ 1578 window.videoPlayers[localId] = player[i]; 1579 player[i].playVideo(); 1580 } 1581 }, 1582 'onStateChange': function (event) { 1583 if(loop == 'enable'){ 1584 if (event.data === YT.PlayerState.ENDED) { 1585 if(player[i]){ 1586 player[i].playVideo(); 1587 player[i].setLoop(true); 1588 } 1589 } 1590 } else { 1591 if (event.data === 0) { 1592 $('.main-slider .slider-init').slick('slickNext'); 1593 $('.main-slider .slider-init').slick('slickPlay'); 1594 } 1595 } 1596 1597 } 1598 } 1599 }); 1600 if ( $( ".mainSliderVideo" ).length > 1 ){ 1601 numberP++; 1602 } 1603 1604 }); 1605 var i; 1606 1607 $('.main-slider').on('afterChange', function(event, slick, currentSlide) { 1608 for(i=0; i<=numberP;i++){ 1609 1610 if(player[i] && typeof player[i].stopVideo == 'function'){ 1611 player[i].stopVideo(); 1612 } 1613 } 1614 if($(this).find('.item.slick-current').hasClass('item-video')) { 1615 $('.main-slider .slider-init').slick('slickPause'); 1616 for(i=0; i<=numberP;i++){ 1617 1618 if(player[i] && typeof player[i].playVideo == 'function'){ 1619 if($(player[i].f).closest('slick-current')) { 1620 player[i].playVideo(); 1621 1622 } 1623 } 1624 } 1625 } 1626 1627 }); 1628 } 1629 1630 clearInterval(checkYT); 1631 1632 } 1633 1634 }, 100); 1635 1636 function resizeMainSliderVideo(manual){ 1637 1638 $('.mainSliderVideo').each(function () { 1639 1640 var $sliderWidth = $(this).data('videowidth'); 1641 var $sliderHeight = $(this).data('videoheight'); 1642 var $sliderMobHeight = $(this).data('videoheightmob'); 1643 var $sliderMobWidth = $(this).data('videowidthmob'); 1644 var $viewWidht = $(window).width(); 1645 var $viewHeight = $(window).height(); 1646 var h =''; 1647 setTimeout(function () { 1648 if(manual){ 1649 //$('.item-video iframe').height($sliderMobHeight); 1650 if(app.width() < 768 && $('.item-video iframe').length !== 0){ 1651 $('.item-video iframe').height($sliderMobHeight); 1652 $(".item-video iframe")[0].style.cssText = 'height: '+$sliderMobHeight+'px !important;' 1653 } 1654 1655 }else{ 1656 h = $('.mainSliderVideo').parents('.slider-init').height() 1657 if( h > 0){ 1658 $('.item-video iframe').height(h); 1659 }else{ 1660 $(this).width($viewWidht).height(($sliderHeight / $sliderWidth * $viewWidht)); 1661 } 1662 } 1663 1664 1665 }, 2500); 1666 1667 1668 }); 1669 }; 1670 1671 resizeMainSliderVideo(true); 1672 $(window).resize(function() { 1673 //resizeMainSliderVideo(); 1674 }).resize(); 1675 1676 }; 1677 1678 var flowPlayerAPI = function() { 1679 1680 var ytId, 1681 ytWidth, 1682 ytHeight; 1683 var flowPlayerVideo=[]; 1684 1685 var numberP = 0; 1686 1687 if ( $( ".mainSliderFPVideo" ).length && flowplayeryToken != '') { 1688 $( ".mainSliderFPVideo" ).each(function(i){ 1689 console.log(i); 1690 1691 $(this).addClass('mainSliderFPVideo-id'+numberP); 1692 1693 fpVideoId = $(this).data('videoid'); 1694 fpVideoIdMob = $(this).data('video-mob'); 1695 if (typeof fpVideoIdMob !== "undefined" && app.width() < 768){ 1696 fpVideoId = fpVideoIdMob.replace('fp:', ''); 1697 } 1698 fpVideoWidth = $(this).data('videowidth'); 1699 fpVideoHeight = $(this).data('videoheight'); 1700 1701 if(app.width() < 768 && $(this).length > 0 ){ 1702 fpVideoWidth =$(this).width(); 1703 fpVideoHeight = app.width() / $(this).data('videowidthmob')*$(this).data('videoheightmob'); 1704 } 1705 1706 flowPlayerVideo[numberP] = flowplayer('.mainSliderFPVideo-id'+numberP, { 1707 "src" : fpVideoId, 1708 "token" : flowplayeryToken, 1709 "muted" : true, 1710 "ratio" : fpVideoWidth+":"+fpVideoHeight, 1711 //"autoplay" : true, 1712 "ui" : flowplayer.ui.NO_CONTROLS 1713 } 1714 ); 1715 1716 $('.volume-icons-wrapper').on('click', function(){ 1717 1718 flowPlayerVideo[numberP].toggleMute(); 1719 $(this).find('.fa-volume-up').toggleClass('hidden'); 1720 $(this).find('.fa-volume-off').toggleClass('hidden'); 1721 }); 1722 1723 flowPlayerVideo[numberP].on(Object.values(flowplayer.events), function(e) { 1724 if(e.type == 'play'){ 1725 //console.log('krenulo'); 1726 $('.main-slider .slider-init').slick('slickPause'); 1727 } else if(e.type == 'ended'){ 1728 //console.log('stalo'); 1729 $('.main-slider .slider-init').slick('slickNext'); 1730 $('.main-slider .slider-init').slick('slickPlay'); 1731 } 1732 }) 1733 if ( $( ".mainSliderFPVideo" ).length > 1 ){ 1734 numberP++; 1735 } 1736 }); 1737 $('.main-slider').on('init', function(event, slick, currentSlide) { 1738 activeSliderClasses = $('.main-slider .item.slick-current .mainSliderFPVideo').attr('class'); 1739 if (typeof activeSliderClasses !== "undefined"){ 1740 activeSliderClassesArray = activeSliderClasses.split(' '); 1741 videoNbCalss = $.grep(activeSliderClassesArray, function (item, index) { 1742 return item.trim().match(/^mainSliderFPVideo-id/); 1743 }); 1744 $activeVideoNb = videoNbCalss.join("").replace('mainSliderFPVideo-id', ''); 1745 console.log($activeVideoNb); 1746 setTimeout(function (){ 1747 flowPlayerVideo[$activeVideoNb].togglePlay(true); 1748 $('.main-slider .slider-init').slick('slickPause'); 1749 }, 1000); 1750 } 1751 }); 1752 1753 var activeSliderClasses; 1754 $('.main-slider').on('afterChange', function(event, slick, currentSlide) { 1755 if($(this).find('.item.slick-current').hasClass('item-flowplayery')) { 1756 activeSliderClasses = $('.main-slider .item.slick-current .mainSliderFPVideo').attr('class'); 1757 activeSliderClassesArray = activeSliderClasses.split(' '); 1758 videoNbCalss = $.grep(activeSliderClassesArray, function (item, index) { 1759 return item.trim().match(/^mainSliderFPVideo-id/); 1760 }); 1761 $activeVideoNb = videoNbCalss.join("").replace('mainSliderFPVideo-id', ''); 1762 $('.main-slider .slider-init').slick('slickPause'); 1763 //for(var i = 0; i <= numberP; i++){ 1764 if($(flowPlayerVideo[$activeVideoNb]).closest('slick-current')) { 1765 flowPlayerVideo[$activeVideoNb].togglePlay(true); 1766 } 1767 //} 1768 } 1769 1770 }); 1771 } 1772 1773 function resizeMainSliderVideo(){ 1774 $('.mainSliderVideo').each(function () { 1775 1776 var $sliderWidth = $(this).data('videowidth'); 1777 var $sliderHeight = $(this).data('videoheight'); 1778 var $sliderMobHeight = $(this).data('videoheightmob'); 1779 var $sliderMobWidth = $(this).data('videowidthmob'); 1780 var $viewWidht = $(window).width(); 1781 var $viewHeight = $(window).height(); 1782 var h =''; 1783 setTimeout(function () { 1784 console.log($('.mainSliderVideo').parents('.slider-init').height()); 1785 h = $('.mainSliderVideo').parents('.slider-init').height() 1786 if( h > 0){ 1787 $('.item-video iframe').height(h); 1788 }else{ 1789 $(this).width($viewWidht).height(($sliderHeight / $sliderWidth * $viewWidht)); 1790 } 1791 }, 2500); 1792 1793 1794 }); 1795 }; 1796 1797 //resizeMainSliderVideo(); 1798 $(window).resize(function() { 1799 //resizeMainSliderVideo(); 1800 }).resize(); 1801 1802 }; 1803 1804 var onYouTubeIframeAPIReadyItemsVideo = function($element) { 1805 var tag = document.createElement('script'); 1806 tag.src = "https://www.youtube.com/iframe_api"; 1807 var firstScriptTag = document.getElementsByTagName('script')[0]; 1808 firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 1809 1810 var ytId, 1811 ytWidth, 1812 ytHeight, 1813 loop; 1814 var player=[]; 1815 1816 window.videoPlayers = {}; 1817 1818 var numberP = 0; 1819 var checkYT = setInterval(function () { 1820 1821 1822 if((typeof YT !== "undefined") && YT.loaded){ 1823 if ( $element.length ) { 1824 $element.each(function(i){ 1825 /* Dimenzije slike 1826 * container_subitem_grid6 1827 * */ 1828 1829 let $img = $(this).parents('.item-has-video').find('.img-wrapper .main-img img'); 1830 1831 if($img.length === 0){ 1832 /* Dimenzije slike 1833 * item_image_grid6 1834 * */ 1835 $img = $(this).parents('.item-has-video').find('.img-wrapper img'); 1836 } 1837 1838 let imgW = $img.width(); 1839 let imgH = $img.height(); 1840 1841 var localId = $(this).data('videoid'); 1842 1843 ytId = $(this).data('videoid'); 1844 ytWidth = imgW; 1845 ytHeight = imgH; 1846 loop = $(this).data('loop'); 1847 1848 /*if(app.width() < 768 && $(this).length > 0 ){ 1849 ytWidth =$(this).width(); 1850 ytHeight = app.width() / $(this).data('videowidthmob')*$(this).data('videoheightmob'); 1851 }*/ 1852 player[numberP] = new YT.Player(ytId, { 1853 videoId: ytId, 1854 width: ytWidth, 1855 height: ytHeight, 1856 playerVars: { 1857 rel: 0, 1858 loop: 1, 1859 playlist: ytId, 1860 autoplay: 1, 1861 controls: 0, 1862 mute: 1, 1863 playsinline: 1, 1864 modestbranding: 1, 1865 suggestedQuality: 'hd1080'/*, 1866 origin: window.location.origin, 1867 version: 3, 1868 showinfo: 0, 1869 wmode: 'transparent', 1870 branding: 0, 1871 fs: 0, 1872 cc_load_policty: 1, 1873 iv_load_policy: 3,
1874 autohide: 0*/ 1875 }, 1876 events: { 1877 'onReady': function (event) { 1878 if(player[i]){ 1879 window.videoPlayers[localId] = player[i]; 1880 player[i].playVideo(); 1881 } 1882 }, 1883 'onStateChange': function (event) { 1884 if(loop == 'enable'){ 1885 if (event.data === YT.PlayerState.ENDED) { 1886 if(player[numberP]){ 1887 player[numberP].playVideo(); 1888 player[numberP].setLoop(true); 1889 } 1890 } 1891 } 1892 1893 } 1894 } 1895 }); 1896 if ( $element.length > 1 ){ 1897 numberP++; 1898 } 1899 $img.addClass('hidden') 1900 }); 1901 1902 } 1903 1904 clearInterval(checkYT); 1905 1906 } 1907 1908 }, 100); 1909 1910 1911 1912 }; 1913 1914 var PromoLocationCountryFilter = function(){ 1915 var $country = $('.promo-location-country-wrapper .item-promo-country a'); 1916 1917 function country_filter($item){ 1918 1919 if($item.attr('rel')) { 1920 $('.panel').hide().filter('[rel="' + $item.attr('rel') + '"]').show(); 1921 } else { 1922 $('.panel').show(); 1923 } 1924 } 1925 $country.each(function () { 1926 if($(this).hasClass('active')) { 1927 country_filter($(this)); 1928 } 1929 }); 1930 1931 $country.click(function() { 1932 country_filter($(this)); 1933 $country.removeClass('active'); 1934 $(this).addClass('active'); 1935 return false; 1936 }); 1937 }; 1938 1939 var promoLocationSelector = function () { 1940 $('#select-promo-city').on('change', function() { 1941 $('#store-map-wrapper').removeClass('active'); 1942 $(this).parent().find('.panel-group').addClass('hidden'); 1943 $('#citystore-content-'+this.value).removeClass('hidden'); 1944 }); 1945 1946 $('.promotion-wrapper-with-selector .item-promo-country a').on('click', function () { 1947 $('#select-promo-city').val(0); 1948 }) 1949 }; 1950 1951 var GdprPage = function(){ 1952 1953 var gpdr_form_validate = function(){ 1954 var form = $('.gdpr_checklist_form, .gdpr_form.gdpr-style, .gdpr_form_newsletter'); 1955 if(!form.length) return; 1956 var validate = form.validate().data('nb.validate'); 1957 }; 1958 1959 $('.gdpr_checklist_form').each(function(){ 1960 1961 var formRequestForToken = $(this).serialize(); 1962 1963 var validate = $(this).validate({ 1964 formData: { nbAjax: 1, ajax: 'yes', nbTask: 'gdpr', task: 'requestfortoken' } 1965 }).data('nb.validate'); 1966 1967 validate.$element.bind('nb.validate.remoteSuccess', function(e){ 1968 validate.$element.find('.form-control, .btn, .form-group label, .form-group').addClass('hidden'); 1969 }); 1970 }); 1971 1972 $('.gdpr_form').each(function(){ 1973 1974 var gdprForm = $(this).serialize(); 1975 1976 var validate = $(this).validate({ 1977 formData: { nbAjax: 1, ajax: 'yes', nbTask: 'gdpr', task: 'save' } 1978 }).data('nb.validate'); 1979 1980 validate.$element.bind('nb.validate.remoteSuccess', function(e){ 1981 validate.$element.find('.form-control, .btn, .form-group label, .form-group, .title').addClass('hidden'); 1982 }); 1983 }); 1984 1985 $('.gdpr_form_newsletter').each(function(){ 1986 1987 var gdprFormNewsletter = $(this).serialize(); 1988 1989 var validate = $(this).validate({ 1990 formData: { nbAjax: 1, ajax: 'yes', nbTask: 'gdpr_newsletter', task: 'save' } 1991 }).data('nb.validate'); 1992 1993 validate.$element.bind('nb.validate.remoteSuccess', function(e){ 1994 validate.$element.find('.form-control, .btn, .form-group label, .form-group, .title').addClass('hidden'); 1995 }); 1996 }); 1997 1998 var $form = $('gdpr_form, .gdpr_form_newsletter'); 1999 var $form_checkbox = $('.gdpr_form input:checkbox, .gdpr_form_newsletter input:checkbox'); 2000 $form.find('input').hide(); 2001 $form.find('label[for^="gdpr_aditionaldata"]').hide(); 2002 $form.find('label[for^="gdpr_aditionaldata"]').filter('label[for *=_check]').show(); 2003 $form.find('input[type=radio]').parent().hide(); 2004 $form.find('.additional-data').hide(); 2005 2006 function showHideInput(name_check){ //show it when the checkbox is clicked 2007 2008 var name = name_check.replace('_check',''); 2009 var $checkbox = $('input[name="'+name_check+'"]'); 2010 var $confirm_name = 'gdpr_confirm_user'; 2011 2012 2013 var $input = $('input[name^="'+name+'"]'); 2014 var $label = $('label[for^="'+name+'"]'); 2015 var elementclass = '.list-items-wrapper .additional-data'; 2016 var eltype = 'input[type=radio]'; 2017 if ($checkbox.prop('checked')) { 2018 if($input.attr('name')=='gdpr_confirm_user'){ 2019 $input.prop('required',true); 2020 } 2021 $input.prop('required',true).fadeIn(); 2022 $label.fadeIn(); 2023 $input.filter(eltype).parent().fadeIn(); 2024 $input.filter(eltype).parents(elementclass).fadeIn(); 2025 $input.parent().children().filter('.validation-errors-list').show(); 2026 } 2027 else { 2028 $input.prop('required',false).hide(); 2029 $input.parent().children().filter('.validation-errors-list').hide(); 2030 if($input.attr('name') == $confirm_name){ 2031 $input.prop('required',true); 2032 $input.parent().children().filter('.validation-errors-list').show(); 2033 } 2034 $label.hide(); 2035 $input.filter(eltype).parent().hide(); 2036 $input.filter(eltype).parents(elementclass).hide(); 2037 $label.filter('label[for="'+name_check+'"]').show(); 2038 } 2039 2040 } 2041 2042 $form_checkbox.each(function(){ 2043 var input_name = $(this).attr('name'); 2044 showHideInput(input_name); 2045 }); 2046 2047 $form_checkbox.click(function(){ 2048 var input_name = $(this).attr('name'); 2049 showHideInput(input_name); 2050 }); 2051 2052 gpdr_form_validate(); 2053 2054 function additionCheckbox($addData, $all){ 2055 $all.change(function(){ 2056 if($(this).prop('checked')){ 2057 $(this).prop('checked', true).parent().addClass('checked'); 2058 }else{ 2059 $(this).prop('checked', false).parent().removeClass('checked'); 2060 } 2061 2062 }); 2063 } 2064 2065 //Checkbox conditions for registrations 2066 var additonaldatacheck = 'input[name="reg_sendUserAdditionalData"]', 2067 additonaldataSMScheck = 'input[name="reg_sendSMS"]'; 2068 additonaldataEmailcheck = 'input[name="reg_sendNewsletter"]', 2069 additonaldataPhoneCall = 'input[name="reg_callMeOnPhone"]', 2070 $additonaldatacheck = $(additonaldatacheck), 2071 $additonaldataSMScheck = $(additonaldataSMScheck), 2072 $additonaldataEmailcheck = $(additonaldataEmailcheck), 2073 $additonaldataPhoneCall = $(additonaldataPhoneCall), 2074 $adddataAll = $additonaldataSMScheck.add(additonaldataEmailcheck), 2075 $all = $additonaldatacheck.add(additonaldataEmailcheck).add(additonaldataSMScheck).add($additonaldataPhoneCall); 2076 2077 additionCheckbox($adddataAll, $all); 2078 2079 //uncheck if additaional SMS and EMAIL are not checked 2080 $adddataAll.change(function(){ 2081 if(!$additonaldataSMScheck.prop('checked') && !$additonaldataEmailcheck.prop('checked')){
2082 $additonaldatacheck.prop('checked',false).parent().removeClass('checked'); 2083 $additonaldataPhoneCall.prop('checked',false).parent().removeClass('checked'); 2084 $('#reg_email_checkgroup, #reg_phone_checkgroup').closest('.form-group-checklabel').css({'pointerEvents':'none','opacity':'.5'}); 2085 } 2086 2087 }); 2088 // Reg page 2089 var additonaldatacheckPage = 'input[name="reg_page_sendUserAdditionalData"]', 2090 additonaldataSMScheckPage = 'input[name="reg_page_sendSMS"]'; 2091 additonaldataEmailcheckPage = 'input[name="reg_page_sendNewsletter"]', 2092 additonaldataPhoneCallPage = 'input[name="reg_page_callMeOnPhone"]', 2093 $additonaldatacheckPage = $(additonaldatacheckPage), 2094 $additonaldataSMScheckPage = $(additonaldataSMScheckPage), 2095 $additonaldataEmailcheckPage = $(additonaldataEmailcheckPage), 2096 $additonaldataPhoneCallPage = $(additonaldataPhoneCallPage), 2097 $adddataAllPage = $additonaldataSMScheckPage.add(additonaldataEmailcheckPage), 2098 $allPage = $additonaldatacheckPage.add(additonaldataEmailcheckPage).add(additonaldataSMScheckPage).add($additonaldataPhoneCallPage); 2099 2100 additionCheckbox($adddataAllPage, $allPage); 2101 2102 //uncheck if additaional SMS and EMAIL are not checked 2103 $adddataAllPage.change(function(){ 2104 if(!$additonaldataSMScheckPage.prop('checked') && !$additonaldataEmailcheckPage.prop('checked')){ 2105 $additonaldatacheckPage.prop('checked',false).parent().removeClass('checked'); 2106 $additonaldataPhoneCallPage.prop('checked',false).parent().removeClass('checked'); 2107 $('#reg_page_email_checkgroup, #reg_page_phone_checkgroup').closest('.form-group-checklabel').css({'pointerEvents':'none','opacity':'.5'}); 2108 } 2109 2110 }); 2111 2112 //ako je cekiran dodatni podaci da cekira email i SMS 2113 $disableGDPRCheckFlag = true; 2114 if(typeof $disableGDPRCheck !== 'undefined' && $disableGDPRCheck){ 2115 $disableGDPRCheckFlag = false; 2116 } 2117 if($disableGDPRCheckFlag){ 2118 $additonaldatacheck.change(function(){ 2119 if($additonaldatacheck.prop('checked')){ 2120 $additonaldataSMScheck.prop('checked', true).parent().addClass('checked'); 2121 $additonaldataEmailcheck.prop('checked', true).parent().addClass('checked'); 2122 } 2123 2124 }); 2125 } 2126 2127 }; 2128 var cookieInfoNew = function(){ 2129 var $buttonRM = $('.cokie-info-wrapper .read-more-cookie'), 2130 $container = $('.cookie-read-more-wrapper'), 2131 $button_close = $('.cookie-agree'); 2132 $buttonRM.click(function(){ 2133 $buttonRM.toggleClass('active'); 2134 $container.toggleClass('active'); 2135 }); 2136 $button_close.click(function(){ 2137 if(!$(this).hasClass('cookie-disagree')){ 2138 $('.cookie-info-slider').hide( "slow" ); 2139 } 2140 2141 }) 2142 }; 2143 2144 var closeMenu = function(){ 2145 var $menu = $('.nav-main-dropdown-wrapper'); 2146 $menu.removeClass('loaded'); 2147 $menu.addClass('hidden'); 2148 2149 if(windowWidth() < 769){ 2150 $menu = $('.nav-main-wrapper'); 2151 $menu.removeClass('loaded'); 2152 $menu.hide(); 2153 } 2154 2155 }; 2156 2157 var showMoreSimilarProductInList = function(){ 2158 $('.product .color-wrapper .similar-color-wrapper .item.show-more').on('click', function () { 2159 $(this).parent().find('.hidden-items').removeClass('hidden'); 2160 }); 2161 $('.product .product-item').on('mouseleave', function () { 2162 $(this).find('.hidden-items').addClass('hidden'); 2163 }) 2164 }; 2165 2166 var getBrandsPermalinkFromMenu = function () { 2167 $('.nav-main > li.brand').hover( 2168 function () { 2169 var permalink = $(this).children('a').attr('href'); 2170 $(this).find('a.show-all-breands').attr("href", permalink); 2171 } 2172 ) 2173 }; 2174 2175 var showMoreSimilarProductByColor = function () {
2176 var limitToShowItem = $('.similar-products-by-color .items-wrapper').data('limit-nb'); 2177 if(!limitToShowItem) return; 2178 $('.similar-products-by-color .show-more-colors').click( function () { 2179 $(this).parent().find('.items-wrapper .item').each( function () { 2180 $(this).removeClass('hidden'); 2181 }) 2182 }); 2183 2184 $('.product-listing .product-item').mouseleave( function () { 2185 $(this).find('.similar-products-by-color .item:nth-child(n + '+(limitToShowItem+1)+')').each( function () { 2186 $(this).addClass('hidden'); 2187 }) 2188 }); 2189 }; 2190 2191 var dropdownLoginForm = function () { 2192 $('.user-witouth-modal .login-btn, .user-witouth-modal .item-username a').click(function () { 2193 $('.login-dd-wrappper').toggleClass('active'); 2194 $(this).toggleClass('active'); 2195 }); 2196 $('.login-dd-wrappper .wrapper-overlayer').click(function () { 2197 $('.login-dd-wrappper, .user-witouth-modal .login-btn').removeClass('active'); 2198 }); 2199 2200 }; 2201 2202 var handleScrollToTop = function(){ 2203 var buttontop = $('.scroll-to-top'); 2204 //if($(window).width() > 767) { 2205 $(window).scroll(function () { 2206 if ($(this).scrollTop() > ($(window).height()/2)) { 2207 buttontop.fadeIn(); 2208 } else { 2209 buttontop.fadeOut(); 2210 } 2211 }); 2212 //} 2213 2214 buttontop.click(function(){ 2215 $('html, body').animate({scrollTop : 0},800); 2216 }); 2217 }; 2218 2219 var handledropdownLogin = function(){ 2220 var s,a=0; 2221 2222 $('.user .item-login.loged-in').click(function (e) { 2223 $(this).find('.login-dropdown').addClass('active'); 2224 s = true; 2225 a = 0; 2226 }); 2227 $('body').click(function(e){ 2228 if($('.login-dropdown').hasClass('active') && a > 0){ 2229 if ($(e.target).closest('.login-dropdown').length === 0) { 2230 $('.login-dropdown').removeClass('active'); 2231 } 2232 } 2233 a++; 2234 }); 2235 }; 2236 2237 /* Aktiviranje i deaktiviranje polja na procesu kupovine kada je proces kupovine "u koracima" */ 2238 var cartWithStepsButtons = function(){ 2239 2240 if($('.container.cart').hasClass('cart-in-steps')){ 2241 var activeTab = false; 2242 $('.cart-steps-btn-wrapper .step').each(function () { 2243 if($(this).hasClass('active')){ 2244 activeTab = true; 2245 } 2246 }); 2247 if(!activeTab){ 2248 $('.cart-steps-btn-wrapper .step-cart-table').addClass('active'); 2249 } 2250 2251 if($('.cart-steps-btn-wrapper .step-cart-table').hasClass('active') && !$('.cart-steps-btn-wrapper .step-cart-table').hasClass('checked')){ 2252 $('#cart_onepage_form > div').each(function () { 2253 if(!$(this).hasClass('cart-loader')){ 2254 $(this).addClass('hidden'); 2255 } 2256 } 2257 ); 2258 $('.cart-step.next-btn-wrapper').removeClass('hidden'); 2259 $('#order_cart_content, #order_ticket_content').removeClass('hidden'); 2260 } else if($('.cart-steps-btn-wrapper .step-delivery').hasClass('active') && !$('.cart-steps-btn-wrapper .step-delivery').hasClass('checked')) { 2261 $('#cart_onepage_form > div').each(function () { 2262 if(!$(this).hasClass('cart-loader')){ 2263 $(this).addClass('hidden'); 2264 } 2265 } 2266 ); 2267 $('.cart-step.next-btn-wrapper').removeClass('hidden'); 2268 $('#order_address_content, #order_carrier_and_payment_content').removeClass('hidden'); 2269 $('.cart .cart-carrier-and-payment .cart-payment-wrapper').addClass('hidden'); 2270 $('.cart .cart-carrier-and-payment .carrier-wrapper').removeClass('hidden'); 2271 } else if($('.cart-steps-btn-wrapper .step-payment').hasClass('active') && !$('.cart-steps-btn-wrapper .step-payment').hasClass('checked')) { 2272 $('#cart_onepage_form > div').each(function () { 2273 if(!$(this).hasClass('cart-loader')){ 2274 $(this).addClass('hidden'); 2275 } 2276 } 2277 ); 2278 $('#order_carrier_and_payment_content').removeClass('hidden'); 2279 $('.cart .cart-carrier-and-payment .carrier-wrapper').addClass('hidden');
2280 $('.cart .cart-carrier-and-payment .cart-payment-wrapper').removeClass('hidden'); 2281 $('.cart-step.next-btn-wrapper').removeClass('hidden'); 2282 } else { 2283 $('#cart_onepage_form > div').each(function () { 2284 if(!$(this).hasClass('cart-loader')){ 2285 $(this).addClass('hidden'); 2286 } 2287 } 2288 ); 2289 $('#order_total_confirm_content').removeClass('hidden'); 2290 $('.cart-step.next-btn-wrapper').addClass('hidden'); 2291 } 2292 } 2293 }; 2294 2295 $('.cart-step.next-btn-wrapper').click(function(){ 2296 //if (!$("#order_cart_content .alert.alert-danger")[0]){ 2297 $('.cart-steps-btn-wrapper .step.active').each(function () { 2298 if(!$(this).hasClass('checked')){ 2299 $(this).next().click(); 2300 } 2301 }) 2302 //} 2303 }); 2304 2305 /* Za menjanje tabova na procesu kupovine*/ 2306 $('.cart-steps-btn-wrapper .step').click(function(){ 2307 $('html, body').animate({scrollTop : 0},300); 2308 $(this).addClass('active').removeClass('checked'); 2309 $(this).nextAll().removeClass('active').removeClass('checked'); 2310 $(this).prevAll().addClass('checked').addClass('active'); 2311 cartWithStepsButtons(); 2312 }); 2313 2314 /* Validacija postanskog broja za isporuku */ 2315 var notAllowePostCodesForDeliveryCheck = function () { 2316 if(typeof notAllowePostCodesForDelivery !== 'undefined' && notAllowePostCodesForDelivery != ''){ 2317 var notAllowePostCodesForDeliveryArray = notAllowePostCodesForDelivery.split(","); 2318 $('#cart_onepage_postcode').on('keyup', function(){ 2319 var postCode = $(this).val(); 2320 if(notAllowePostCodesForDeliveryArray.indexOf(postCode) > -1){ 2321 toastr.error(notAllowePostCodesInfo); 2322 $(this).addClass('disable-post-code'); 2323 } else { 2324 $(this).removeClass('disable-post-code'); 2325 } 2326 }); 2327 }; 2328 }; 2329 2330 /* Koristi se za brzu kupovinu na LISTINGU PROIZVODA, kada je izbor koliÄine i veliÄie u oblaku "booble"-u, radjeno za Nespresso */ 2331 var quickBuyButtonV3 = function () { 2332 /* Kada se klikne dugme "kupite" da proizvod dobije aktivnu klasu, veÄi z-index i da se otvori booble sa izvorom koliÄine i veliÄine */ 2333 $('.product .item .options-wrapper.product-sizes-v3 .product-sizes').each(function () { 2334 $(this).click(function () { 2335 $('.product .product-item.active').each(function () { 2336 $(this).removeClass('active'); 2337 }); 2338 $('.product .item .options-wrapper.product-sizes-v3 .sizes-selector-wrapper').each(function () { 2339 $(this).removeClass('down-position'); 2340 }); 2341 $(this).closest('.item').addClass('active'); 2342 var scrollTop = $(window).scrollTop(), 2343 elementOffset = $(this).offset().top, 2344 distance = (elementOffset - scrollTop), 2345 sizewrapper = $(this).find('.sizes-selector-wrapper'); 2346 if(distance < 315 && sizewrapper.parents('.slider').length == 0){ 2347 sizewrapper.addClass('down-position'); 2348 } 2349 2350 }) 2351 }); 2352 2353 /* Ako se klikne bilo gde van proizvoda gubi klasu active i zatvara se booble sa izvorom koliÄine i veliÄine */ 2354 $('body').click(function(e){ 2355 if ($(e.target).closest('.product .item.product-item.active').length === 0) { 2356 $('.product .item.product-item.active').removeClass('active'); 2357 } 2358 }); 2359 2360 var removeBobbleAfterBuy = function(){ 2361 setTimeout(function () { 2362 $('.product .item.product-item.active').each(function () { 2363 $(this).removeClass('active'); 2364 }); 2365 }, 500); 2366 }; 2367 2368 /* Klikom na dugme "ok" uzima vrednost iz inputa, menja quantity u dugmetu "kupite" i klikne na dugme "kupite" */ 2369 $('.product .options-wrapper.product-sizes-v3 .add-to-cart-button').click(function () { 2370 var quantity = $(this).parent().find('.quantity-nb').val(); 2371 if(typeof quantity == 'undefined'){quantity = 1;} 2372 $(this).closest('.options-wrapper').find('.buyButtonOnLists').data('product-quantity', quantity).click(); 2373 removeBobbleAfterBuy(); 2374 }); 2375
2376 /* Kada se izabere veliÄina upisuje koliÄinu u input */ 2377 $('.product .options-wrapper.product-sizes-v3 .size-select-wrapper .item').click(function () { 2378 $(this).closest('.options-wrapper').find('.input-quantity-wraper input').val('1'); 2379 $(this).closest('.options-wrapper').find('.input-quantity-wraper label').removeClass('empty-input'); 2380 removeBobbleAfterBuy(); 2381 }); 2382 2383 /* Kada se klikne na koliÄinu u booble-u menja data quantity i ubacuje proizvod u korpu */ 2384 $('.product .options-wrapper.product-sizes-v3 .quantity-select-wrapper .item').click(function () { 2385 var quantity = $(this).attr('data-quantity'); 2386 $(this).closest('.options-wrapper').find('.buyButtonOnLists').data('product-quantity', quantity).data('content', '+'+quantity).click(); 2387 removeBobbleAfterBuy(); 2388 }); 2389 }; 2390 2391 /* Koristi se za brzu kupovinu na DETALJU PROIZVODA, kada je izbor koliÄine i veliÄie u oblaku "booble"-u, radjeno za Nespresso */ 2392 var productQuickBuyBobble = function(){ 2393 2394 // /* Kada se klikne dugme "kupite" da proizvod dobije aktivnu klasu, veÄi z-index i da se otvori booble sa izvorom koliÄine i veliÄine */ 2395 $('.product-detail-buy > .btn-wrapper').click(function () { 2396 $('.product-detail-wrapper .product-buy-bobble, .modal-quick-view .modal-content-product-details-quick-view .product-buy-bobble').toggleClass('active'); 2397 $('.product-buy-bobble.active .product-buy-size-bobble').removeClass('down-position'); 2398 var scrollTop = $(window).scrollTop(), 2399 elementOffset = $(this).offset().top, 2400 distance = (elementOffset - scrollTop); 2401 if(distance < 375){ 2402 $('.product-buy-bobble.active .product-buy-size-bobble').addClass('down-position'); 2403 } 2404 }); 2405 2406 /* Ako se klikne bilo gde van proizvoda gubi klasu active i zatvara se booble sa izvorom koliÄine i veliÄine */ 2407 $('body').click(function(e){ 2408 if ($(e.target).closest('.product-detail-wrapper .product-buy-bobble, .modal-quick-view .modal-content-product-details-quick-view .product-buy-bobble').length === 0) { 2409 $('.product-detail-wrapper .product-buy-bobble, .modal-quick-view .modal-content-product-details-quick-view .product-buy-bobble').removeClass('active'); 2410 } 2411 }); 2412 2413 /* Klikom na dugme "ok" uzima vrednost iz inputa, menja quantity i klikne na dugme "kupite" */ 2414 $('.product-buy-bobble .product-buy-size-bobble .input-quantity-wraper .add-to-cart-button').click(function () { 2415 var quantity = $(this).parent().find('.quantity-nb').val(); 2416 if(typeof quantity == 'undefined'){quantity = 1;} 2417 $('#product_quantity').val(quantity); 2418 $('#nb_addToCartButton').click(); 2419 }); 2420 2421 /* Kada se izabere veliÄina upisuje koliÄinu u input */ 2422 $('.product-buy-bobble .product-buy-size-bobble .product-attributes li').click(function () { 2423 $('.input-quantity-wraper input').val('1'); 2424 $(this).closest('.product-buy-bobble').find('.input-quantity-wraper label').removeClass('empty-input'); 2425 }); 2426 2427 /* Dada se klikne na koliÄinu u booble-u menja data quantity i ubacuje proizvod u korpu */ 2428 $('.product-buy-bobble .product-buy-size-bobble .quantity-button-wrapper .item').click(function () { 2429 var quantity = $(this).attr('data-quantity'); 2430 $('#product_quantity').val(quantity); 2431 $('#nb_addToCartButton').click(); 2432 }); 2433 }; 2434 2435 /* Koristi se na filterima listinga proizvoda da doda klasu na wrapper check-irani box */ 2436 var filterButtonActive = function(){ 2437 $('.filter-group .items-wrapper > li.form-group-checklabel label').each(function () { 2438 if($(this).parent().children('.icheck-item').hasClass('checked')){ 2439 $(this).addClass('checked-label'); 2440 } else { 2441 $(this).removeClass('checked-label'); 2442 } 2443 }); 2444 }; 2445 2446 /* Koristi se za blok navigation/user_witouth_modal da umesto modala otvara dropdown ili redirektuje na stranu registracije*/ 2447 var loginPopupToDoprdown = function(){ 2448 if($('.user').hasClass('user-witouth-modal')){ 2449 $('a').each(function () { 2450 if($(this).data('target') == '#login_modal') { 2451 $(this).attr('data-toggle',''); 2452 $(this).click(function () { 2453 setTimeout(function(){ $('.login-dd-wrappper').addClass('active'); }, 1); 2454 2455 }) 2456 } else if($(this).data('target') == '#register_modal'){ 2457 var permalink = $('.registration-btn-wrapper a.register-btn').attr('href'); 2458 $(this).attr('data-toggle',''); 2459 $(this).click(function () { 2460 setTimeout(function(){ 2461 window.location.href = permalink; 2462 }, 1); 2463 2464 }) 2465 } 2466 }) 2467 } 2468 }; 2469 2470 /* Skripta za item-e "product with similar color" */ 2471 var productSimilarItem = function () { 2472 2473 $('.product-with-similar-color-grid12 .slider-init .item .img-wrapper > div').click(function () { 2474 if(!$(this).hasClass('active')){ 2475 $('.product-with-similar-color-grid12 .slider-init .item .img-wrapper > div').each(function () { 2476 $(this).toggleClass('active'); 2477 }) 2478 } 2479 }); 2480 2481 2482 setTimeout(function(){ 2483 $('.product-with-similar-color-grid12 .slick-dots li').each(function () { 2484 var dotIndex = $(this).attr('aria-controls'); 2485 var colorHex = ''; 2486 dotIndex = dotIndex.split('navigation'); 2487 dotIndex = dotIndex[1]; 2488 $(this).parent().parent().find('.item').each( 2489 function () { 2490 if($(this).attr('aria-describedby') == 'slick-slide'+dotIndex) { 2491 colorHex = $(this).data('color'); 2492 } 2493 } 2494 ); 2495 $(this).find('button').css('background', colorHex); 2496 }); 2497 2498 var colorLabel = $('.product-with-similar-color-grid12').data('thumbs-text'); 2499 $('.product-with-similar-color-grid12.slider .slick-dots').before('<span class="color-label">'+colorLabel+'</span>'); 2500 2501 }, 800); 2502 2503 2504 }; 2505 2506 /* Items product slider v3 */ 2507 var initProductSliderV3 = function () { 2508 var productListElementId = '.item-product-slider-v3 > .slider-init'; 2509 var productListOptions = { 2510 slidesToShow: 3, 2511 dots: true,
2512 arrows: false, 2513 responsive: [ 2514 {breakpoint: 800, settings: { slidesToShow: 2}}, 2515 {breakpoint: 480, settings: { slidesToShow: 1}} 2516 ] 2517 }; 2518 $(productListElementId).each(function () { 2519 initSlider(this, productListOptions); 2520 }); 2521 2522 }; 2523 2524 /* Items block accordian */ 2525 var toggleItemsAccordian = function () { 2526 $('.background-toggle-text-item .text-wrapper .acordian-items-wrapper .item,.popup-wrapper .popup-right .accordian-items-wrapper .item ').click(function () { 2527 $(this).toggleClass('active'); 2528 }); 2529 }; 2530 2531 /* Parallax za iteme na landing-u*/ 2532 function parallaxIt() { 2533 // create variables 2534 var $fwindow = $(window); 2535 var scrollTop = window.pageYOffset || document.documentElement.scrollTop; 2536 2537 var $backgrounds = []; 2538 2539 // for each of background parallax element 2540 $('[data-type="background"]').each(function() { 2541 var $backgroundObj = $(this); 2542 2543 $backgroundObj.__speed = ($backgroundObj.data('speed') || 1); 2544 $backgroundObj.__fgOffset = $backgroundObj.offset().top; 2545 $backgrounds.push($backgroundObj); 2546 }); 2547 2548 // update positions 2549 $fwindow.on('scroll resize', function() { 2550 scrollTop = window.pageYOffset || document.documentElement.scrollTop; 2551 2552 2553 $backgrounds.forEach(function($backgroundObj) { 2554 var yPos = -((scrollTop - $backgroundObj.offset().top) / $backgroundObj.__speed); 2555 2556 $backgroundObj.css({ 2557 backgroundPosition: '50% ' + yPos + 'px' 2558 }); 2559 }); 2560 }); 2561 2562 // triggers winodw scroll for refresh 2563 $fwindow.trigger('scroll'); 2564 }; 2565 2566 var dropdownLangFromSlider = function () { 2567 /* Ako kliknes na title dodaje se klasa na parent i otvara se dropdown*/ 2568 $('.lang-from-slider .title').click(function () { 2569 $(this).parent().toggleClass('active'); 2570 }); 2571 2572 /* Ako klikneš bilo gde van selektora dropdown se zatvara */ 2573 $('body').click(function(e){ 2574 if ($(e.target).closest('.lang-from-slider').length === 0) { 2575 $('.lang-from-slider').removeClass('active'); 2576 } 2577 }); 2578 }; 2579 2580 var toggleReadMoreItem = function () { 2581 $('.read-more-itme .button-show-more').click(function () { 2582 $(this).parent().toggleClass('active'); 2583 }) 2584 }; 2585 2586 var getOffset = function ( el ) { 2587 var _x = 0; 2588 var _y = 0; 2589 while( el && !isNaN( el.offsetLeft ) && !isNaN( el.offsetTop ) ) { 2590 _x += el.offsetLeft - el.scrollLeft; 2591 _y += el.offsetTop - el.scrollTop; 2592 el = el.offsetParent; 2593 } 2594 return { top: _y, left: _x }; 2595 } 2596 2597 /* unkcija za stavku sa mapom i mapiranjem stavki na mapi*/ 2598 !function(t,e){function r(t){return t.x===e&&t.y===e?!1:(t.x=parseFloat(t.x)||0,t.y=parseFloat(t.y)||0,t)}function a(e,r,a){var n=[e.x,e.y,r.x,r.y,a.w,a.h].join(",");if(o[n])return t.extend({},o[n]);var i,s=Math.abs(r.x-e.x),l=Math.abs(r.y-e.y),h=s&&l?Math.sqrt(s*s+l*l):s||l,d=Math.min(e.x,r.x),u=Math.min(e.y,r.y),x=d+s/2,c=u+l/2,p=x-h/2,y=c,b=o[n]={width:h};return a.w>1&&(b.width-=a.w-1),a.h>1&&(y-=a.h/2),a.bw&&(p+=a.bw/2),a.bh&&(y+=a.bh/2),t.support.matrixFilter||(p-=a.l,y-=a.t),p=Math.round(p),y=Math.round(y),b.width=Math.round(b.width),i=s?l?(180+180*Math.atan2(e.y-r.y,e.x-r.x)/Math.PI+360)%360:e.x<r.x?0:180:e.y<r.y?90:270,b.transform="rotate("+i+"deg)",b.left=p,b.top=y,b.extra={center:{x:x,y:c},rotation:{deg:i,rad:i%360*Math.PI/180}},t.extend({},b)}var o={};t.line=function(e,o,n){if(e=r(e),o=r(o),!e||!o)return!1;var i,s,l,h=t.extend({},t.line.defaults,n||{}
2598),d=h.elem?t(h.elem):t("<div/>",{"class":h.className}),u={position:"absolute",backgroundColor:h.lineColor,width:1,height:h.lineWidth},x=d;return d.css(u),d.length&&!d[0].parentNode&&d.appendTo("body"),s={w:d.outerWidth(),h:d.outerHeight(),l:parseFloat(d.css("marginLeft"))||0,t:parseFloat(d.css("marginTop"))||0},t.support.matrixFilter&&(s.bw=(parseFloat(d.css("borderLeftWidth"))||0)+(parseFloat(d.css("borderRightWidth"))||0),s.bh=(parseFloat(d.css("borderTopWidth"))||0)+(parseFloat(d.css("borderBottomWidth"))||0)),i=a(e,o,s),l=i.extra,delete i.extra,d.css(i),h.returnValues&&(x={from:e,to:o,center:l.center,rotation:l.rotation}),x},t.line.defaults={elem:"",className:"cafe-line",lineWidth:1,lineColor:"#000",returnValues:!1}}(jQuery); 2599 var drowLineOnMapItems = function(){ 2600 2601 var firstClick = false; 2602 2603 setTimeout(function () { 2604 $('.products-map-item .product-slider > .slider-init .item.product-item.slick-current').click(); 2605 }, 500); 2606 2607 var fromPoint; 2608 var toPoint; 2609 2610 $('.products-map-item .product-slider .product-item').click(function () { 2611 2612 $('.products-map-item .product-slider .product-item').each(function () { 2613 $(this).css('pointer-events', 'none'); 2614 $(this).removeClass('selected'); 2615 }); 2616 2617 var item = $(this); 2618 var productId = item.data('productid'); 2619 2620 item.addClass('selected'); 2621 2622 if($(window).width() > 767) { 2623 $('.map-item-description-wrapper .item.product-item').each(function () { 2624 if($(this).data('productid') == productId){ 2625 $(this).removeClass('hidden'); 2626 } else { 2627 $(this).addClass('hidden'); 2628 } 2629 }); 2630 } 2631 2632 $('.products-map-item .product-map-wrapper .map-marker').each(function () { 2633 var marker = $(this); 2634 marker.removeClass('open'); 2635 setTimeout(function(){ marker.removeClass('active');}, 1500); 2636 }); 2637 2638 var drawLine = function(){ 2639 $('.cafe-line').each(function () { 2640 $(this).remove(); 2641 }); 2642 2643 $('.map-pId-'+productId).each(function () { 2644 fromPoint = getOffset($(this)[0]); 2645 toPoint = getOffset($('.selected.item-pId-'+productId)[0]); 2646 2647 var marker = $(this); 2648 2649 setTimeout(function(){ marker.addClass('active');}, 1500); 2650 setTimeout(function(){ marker.addClass('open'); }, 2000); 2651 2652 var fromElements = function () {}, 2653 toElements = new String('to'); 2654 fromElements.y = fromPoint.top+35; 2655 fromElements.x = fromPoint.left+10; 2656 toElements.y = toPoint.top-10; 2657 toElements.x = toPoint.left+55; 2658 2659 $.line(fromElements, toElements); 2660 2661 }); 2662 2663 $('.cafe-line').each(function () { 2664 $(this).addClass('active'); 2665 }); 2666 2667 $('.products-map-item .product-slider .product-item').each(function () { 2668 $(this).css('pointer-events', 'all'); 2669 }); 2670 }; 2671 2672 if(firstClick){ 2673 setTimeout(function(){ 2674 drawLine(); 2675 }, 2000); 2676 } else { 2677 drawLine(); 2678 firstClick = true; 2679 } 2680 2681 2682 }); 2683 2684 $(".products-map-item .product-slider > .slider-init").on("beforeChange", function (){ 2685 $('.products-map-item .product-slider .product-item').each(function () { 2686 $(this).removeClass('selected'); 2687 $(this).css('pointer-events', 'all'); 2688 }); 2689 $('.cafe-line').each(function () { 2690 $(this).remove(); 2691 }); 2692 $('.products-map-item .product-map-wrapper .map-marker').each(function () { 2693 var marker = $(this); 2694 marker.removeClass('open'); 2695 marker.removeClass('active'); 2696 }); 2697 firstClick = false;
2698 }) 2699 2700 if($(window).width() < 768) { 2701 $('.products-map-item .product-slider > .slider-init .item.product-item .slide-item-wrapper .read-more').click(function(){ 2702 var productId = $(this).data('item-id'); 2703 $('.map-item-description-wrapper .item.product-item').each(function () {$(this).addClass('hidden');}); 2704 $('.map-item-description-wrapper .item.product-item.item-pId-'+productId).removeClass('hidden'); 2705 }); 2706 2707 $('.map-item-description-wrapper .item.product-item .close-product-popup').click(function () { 2708 $('.map-item-description-wrapper .item.product-item').each(function () {$(this).addClass('hidden');}); 2709 }) 2710 2711 $('.products-map-item .product-slider > .slider-init').on('afterChange', function(event, slick, currentSlide, nextSlide){ 2712 $('.products-map-item .product-slider > .slider-init .item.product-item.slick-current').click() 2713 }); 2714 } 2715 2716 2717 }; 2718 2719 /* funkcionalnost za stavku sa listama proizvoda u tabovima */ 2720 var itemListProductInTabs = function () { 2721 $('.product-list-tabs-items .product-slider > .slider-init .item').click(function () { 2722 if($(window).width() > 767) { 2723 2724 $('.product-list-tabs-items .product-slider > .slider-init .item').each(function () { 2725 $(this).removeClass('selected'); 2726 }); 2727 2728 var item = $(this); 2729 var productId = item.data('productid'); 2730 2731 item.addClass('selected'); 2732 2733 $('.product-list-tabs-items .product-tabs-description-wrapper .item.product-item').each(function () { 2734 if ($(this).data('productid') == productId) { 2735 $(this).removeClass('hidden'); 2736 } else { 2737 $(this).addClass('hidden'); 2738 } 2739 }); 2740 } 2741 }); 2742 2743 if($(window).width() < 768) { 2744 $('.product-list-tabs-items .product-slider > .slider-init .item').click(function(){ 2745 var productId = $(this).data('productid'); 2746 $('.product-list-tabs-items .product-tabs-description-wrapper .item.product-item').each(function () {$(this).addClass('hidden');}); 2747 $('.product-list-tabs-items .product-tabs-description-wrapper .item.product-item.item-pId-'+productId).removeClass('hidden'); 2748 }); 2749 2750 $('.product-list-tabs-items .product-tabs-description-wrapper .item.product-item .close-product-popup').click(function () { 2751 $('.product-list-tabs-items .product-tabs-description-wrapper .item.product-item').each(function () {$(this).addClass('hidden');}); 2752 }) 2753 } 2754 2755 2756 }; 2757 2758 var itemProductListTabsWithFilters = function(){ 2759 2760 /* Doadavanje klase na wrapper filtera prilikom promene liste */ 2761 $('.product-list-tabs-with-filters.lists-tabs ul.items-wrapper li a').click(function () { 2762 var tabId = $(this).attr('href'); 2763 var orderName = $(""+tabId+"").data('order-by'); 2764 2765 var classes = $(".product-list-tabs-with-filters .filter-wrapper").attr("class").split(' '); 2766 $.each(classes, function(i, c) { 2767 if (c.indexOf("order-") == 0) { 2768 $(".product-list-tabs-with-filters .filter-wrapper").removeClass(c); 2769 } 2770 }); 2771 $('.product-list-tabs-with-filters .filter-wrapper').addClass('order-'+orderName); 2772 resetAllFilters(); 2773 }); 2774 2775 /* da se vide/saktiju filteri */ 2776 $('.product-list-tabs-with-filters .filter-wrapper .show-all-filters').click(function () { 2777 $(this).parent().parent().toggleClass('active'); 2778 }); 2779 2780 /* Provera da li su aktivni dugmiÄi */ 2781 var checkFilters = function(){ 2782 2783 /* Proverava da li su aktivirani filteri koji nisu "intensity" */ 2784 var checkNoIntesBtn = false; 2785 $('.product-list-tabs-with-filters .filter-wrapper > div:not(.intensity-wrapper) .item').each(function () { 2786 if($(this).hasClass('active')){ 2787 checkNoIntesBtn = true; 2788 } 2789 }); 2790 2791 /* Prov deaktiviraj sve filtere */ 2792 $('.product-list-tabs-with-filters .filter-wrapper .item').each(function () { 2793 $(this).addClass('disabled'); 2794 }); 2795 2796 /* Ako nije aktiviran samo "intensity" filter*/ 2797 if(checkNoIntesBtn){ 2798 2799 /* Traži data atribute u proizvodima, ako imaju istu vrednos kao dugme filtera filter postaje aktivan */ 2800 $('.product-list-tabs-with-filters .tab-pane.active .product-lists-tab .product .group-wrapper .item').each(function () { 2801 if(!$(this).hasClass('disabled')){ 2802 /* Proverava intensity filtere */ 2803 if($(this).data('intensity') != ''){ 2804 var intensity = $(this).data('intensity'); 2805 $('#intensity'+intensity).removeClass('disabled'); 2806 } 2807 /* Proverava low-cup filtere */ 2808 if($(this).data('low-cup') == '1'){ 2809 $('#cup-low').removeClass('disabled'); 2810 } 2811 /* Proverava midle-cup filtere */ 2812 if($(this).data('midle-cup') == '1'){ 2813 $('#cup-midle').removeClass('disabled'); 2814 } 2815 /* Proverava full-cup filtere */ 2816 if($(this).data('full-cup') == '1'){ 2817 $('#cup-full').removeClass('disabled'); 2818 } 2819 /* Proverava big-cup filtere */ 2820 if($(this).data('big-cup') == '1'){ 2821 $('#cup-big').removeClass('disabled'); 2822 } 2823 /* Provera aroma / ISBN */ 2824 if($(this).data('isbn') != ''){ 2825 var isbn = $(this).data('isbn'); 2826 $('#isbn-'+isbn).removeClass('disabled'); 2827 } 2828 2829 } 2830 }); 2831 } else { 2832 /* Ako je aktiviran samo "intensity" filter*/ 2833 $('.product-list-tabs-with-filters .tab-pane.active .product-lists-tab .product .group-wrapper .item').each(function () { 2834 var intensity = $(this).data('intensity'); 2835 $('#intensity'+intensity).removeClass('disabled'); 2836 if(!$(this).hasClass('disabled')){ 2837 if($(this).data('low-cup') == '1'){ 2838 $('#cup-low').removeClass('disabled'); 2839 } 2840 if($(this).data('midle-cup') == '1'){ 2841 $('#cup-midle').removeClass('disabled'); 2842 } 2843 if($(this).data('full-cup') == '1'){ 2844 $('#cup-full').removeClass('disabled'); 2845 } 2846 if($(this).data('big-cup') == '1'){ 2847 $('#cup-big').removeClass('disabled'); 2848 } 2849 /* Provera aroma / ISBN */ 2850 if($(this).data('isbn') != ''){ 2851 var isbn = $(this).data('isbn'); 2852 $('#isbn-'+isbn).removeClass('disabled'); 2853 } 2854 } 2855 }); 2856 } 2857 2858 }; 2859 2860 /* setuje filtere na osnovu aktivnih proizvoda */ 2861 var activateItems = function(){ 2862 2863 /*Proverava da li su aktivni samo "intensity" filtere */ 2864 var checkNoIntesBtn = false, 2865 checkNoRangeBtn = false, 2866 intensityActive = false, 2867 activeRange = false;
2868 2869 /* provera da li su aktivni koji nisu intensity */ 2870 $('.product-list-tabs-with-filters .filter-wrapper > div:not(.intensity-wrapper) .item').each(function () { 2871 if($(this).hasClass('active')){ 2872 checkNoIntesBtn = true; 2873 } 2874 }); 2875 2876 /* Prover da li su aktivni filteri u wrapperu filtera, bez donjih filtera */ 2877 $('.product-list-tabs-with-filters .filter-wrapper > div .item').each(function () { 2878 if($(this).hasClass('active')){ 2879 checkNoRangeBtn = true; 2880 } 2881 }); 2882 2883 /* da li su aktivni filteri van filter wrappera / donji filtera */ 2884 $('.product-list-tabs-with-filters .product-lists-tab > .product .group-wrapper').each(function () { 2885 if($(this).hasClass('active')){ 2886 activeRange = true 2887 } 2888 }); 2889 2890 /* Ako nisu aktivni samo "intensity" filteri */ 2891 if(checkNoIntesBtn){ 2892 2893 /* Proverava da li nisu aktivni filteri za 'intensity' */ 2894 $('.product-list-tabs-with-filters .filter-wrapper > .intensity-wrapper .item').each(function () { 2895 if($(this).hasClass('active')){ 2896 intensityActive = true; 2897 } 2898 }); 2899 2900 if(intensityActive){ 2901 /* Svi proizvodi budu aktivirani */ 2902 $('.product-list-tabs-with-filters .tab-pane.active .product-lists-tab .product .group-wrapper .item').each(function (){ 2903 $(this).addClass('disabled'); 2904 }); 2905 2906 /* deaktiviraj sve proizvode koji nemaju navedene intezitete */ 2907 $('.product-list-tabs-with-filters .filter-wrapper .intensity-wrapper .intensity-filters-wrapper .item.active').each(function () { 2908 var intensity = $(this).attr('id').split('intensity'); 2909 intensity = intensity[1]; 2910 $('.product-list-tabs-with-filters .tab-pane.active .product-lists-tab .product .group-wrapper .item').each(function (){ 2911 if($(this).data('intensity') == intensity){ 2912 $(this).removeClass('disabled'); 2913 } 2914 }); 2915 }); 2916 } else { 2917 2918 $('.product-list-tabs-with-filters .tab-pane.active .product-lists-tab .product .group-wrapper .item').each(function (){ 2919 $(this).removeClass('disabled'); 2920 }); 2921 2922 } 2923 2924 /* deaktiviraj sve proizvode koji nemaju izbrane solje */ 2925 $('.product-list-tabs-with-filters .filter-wrapper .cup-size-wrapper .cup-size-filters-wrapper .item.active').each(function () { 2926 var cup = $(this).attr('id').split('cup-'); 2927 cup = cup[1]; 2928 $('.product-list-tabs-with-filters .tab-pane.active .product-lists-tab .product .group-wrapper .item').each(function (){ 2929 if($(this).data(cup+'-cup') != 1){ 2930 $(this).addClass('disabled'); 2931 } 2932 }); 2933 }); 2934 2935 } else { 2936 2937 $('.product-list-tabs-with-filters .tab-pane.active .product-lists-tab .product .group-wrapper .item').each(function (){ 2938 $(this).addClass('disabled'); 2939 }); 2940 2941 $('.product-list-tabs-with-filters .filter-wrapper .intensity-wrapper .intensity-filters-wrapper .item.active').each(function () { 2942 var intensity = $(this).attr('id').split('intensity'); 2943 intensity = intensity[1]; 2944 $('.product-list-tabs-with-filters .tab-pane.active .product-lists-tab .product .group-wrapper .item').each(function (){ 2945 if($(this).data('intensity') == intensity){ 2946 $(this).removeClass('disabled'); 2947 } 2948 }); 2949 }); 2950 2951 } 2952 2953 /* deaktiviraj sve proizvode koji nemaju izbrane aromu */ 2954 $('.product-list-tabs-with-filters .filter-wrapper .aromatic-profiles-wrapper .aromatic-profiles-filters-wrapper .item.active').each(function () { 2955 var isbn = $(this).attr('id').split('isbn-'); 2956 isbn = isbn[1]; 2957 $('.product-list-tabs-with-filters .tab-pane.active .product-lists-tab .product .group-wrapper .item').each(function (){ 2958 if($(this).data('isbn') != isbn){ 2959 $(this).addClass('disabled'); 2960 } 2961 }); 2962 }); 2963 2964 /* deaktiviraj sve proizvode koji nemaju izbranu kategoriju */ 2965 var rangeId = $('.product-list-tabs-with-filters .filter-wrapper .range-profiles-wrapper #ranges').val(); 2966 if(rangeId != 'default'){ 2967 2968 if(!checkNoIntesBtn && !checkNoRangeBtn && !intensityActive && !activeRange){ 2969 $('.product-list-tabs-with-filters .tab-pane.active .product-lists-tab .product .group-wrapper .item').each(function (){ 2970 if($(this).data('category') == rangeId){ 2971 $(this).removeClass('disabled'); 2972 } 2973 }); 2974 } else { 2975 $('.product-list-tabs-with-filters .tab-pane.active .product-lists-tab .product .group-wrapper .item').each(function (){ 2976 if($(this).data('range') != rangeId){ 2977 $(this).addClass('disabled'); 2978 } 2979 }); 2980 } 2981 } 2982 2983 if(activeRange){ 2984 if(!checkNoRangeBtn){ 2985 $('.product-list-tabs-with-filters .product-lists-tab > .product .group-wrapper .item').each(function () { 2986 $(this).removeClass('disabled'); 2987 }); 2988 }; 2989 2990 $('.product-list-tabs-with-filters .product-lists-tab > .product .group-wrapper').each(function () { 2991 if(!$(this).hasClass('active')){ 2992 $(this).find('.item').addClass('disabled'); 2993 } 2994 }); 2995 } 2996 2997 if($(window).width() < 767) { 2998 $('.product-list-tabs-with-filters .product-lists-tab > .product .group-wrapper').each(function () { 2999 var activeItemsWrapperGroup = false;
3000 $(this).find('.item').each(function () { 3001 if(!$(this).hasClass('disabled')){ 3002 activeItemsWrapperGroup = true; 3003 } 3004 }); 3005 if(activeItemsWrapperGroup){ 3006 $(this).removeClass('hidden'); 3007 } else { 3008 $(this).addClass('hidden'); 3009 } 3010 }) 3011 3012 } 3013 3014 3015 }; 3016 3017 var resetAllFilters = function () { 3018 $('.product-list-tabs-with-filters .filter-wrapper .filter-buttons-wrapper .reset-all-filters').removeClass('active'); 3019 $('.product-list-tabs-with-filters .tab-pane.active .product-lists-tab .product .group-wrapper .item').each(function (){ $(this).removeClass('disabled'); }); 3020 $('.product-list-tabs-with-filters .product-lists-tab > .product .group-wrapper').each(function (){ $(this).removeClass('active'); }); 3021 $('.product-list-tabs-with-filters .filter-wrapper .item').each(function (){ $(this).removeClass('active'); }); 3022 $('.product-list-tabs-with-filters .filter-wrapper .range-profiles-wrapper #ranges').val('default'); 3023 }; 3024 3025 var filterBtns = function (){ 3026 var avtiveFilterBtn; 3027 var activeGroupWrapperBtn; 3028 $('.product-list-tabs-with-filters .filter-wrapper .item, .product-list-tabs-with-filters .product-lists-tab > .product .group-wrapper h3.category-title').click(function () { 3029 filterBtnFunction(this); 3030 }); 3031 3032 $('.product-list-tabs-with-filters .filter-wrapper .range-profiles-wrapper #ranges').change(function () { 3033 filterBtnFunction(); 3034 }); 3035 3036 var filterBtnFunction= function(item){ 3037 avtiveFilterBtn = false; 3038 activeGroupWrapperBtn = false; 3039 3040 if($(item).hasClass('item')){ 3041 $(item).toggleClass('active'); 3042 } else { 3043 $(item).parent().toggleClass('active'); 3044 } 3045 $('.product-list-tabs-with-filters .filter-wrapper .item, .product-list-tabs-with-filters .product-lists-tab > .product .group-wrapper').each(function () { 3046 if($(this).hasClass('active')){ 3047 avtiveFilterBtn = true; 3048 } 3049 if($('.product-list-tabs-with-filters .filter-wrapper .range-profiles-wrapper #ranges').val() != 'default'){ 3050 avtiveFilterBtn = true; 3051 } 3052 }); 3053 $('.product-list-tabs-with-filters .product-lists-tab > .product .group-wrapper').each(function () { 3054 if($(this).hasClass('active')){ 3055 activeGroupWrapperBtn = true; 3056 } 3057 }); 3058 3059 if(avtiveFilterBtn || activeGroupWrapperBtn){ 3060 $('.product-list-tabs-with-filters .filter-wrapper .filter-buttons-wrapper .reset-all-filters').addClass('active'); 3061 } else { 3062 resetAllFilters(); 3063 } 3064 3065 if(avtiveFilterBtn){ 3066 activateItems(); 3067 } else { 3068 $('.product-list-tabs-with-filters .tab-pane.active .product-lists-tab .product .group-wrapper .item').each(function (){ $(this).removeClass('disabled'); }); 3069 } 3070 3071 checkFilters(); 3072 3073 } 3074 }; 3075 3076 $('.product-list-tabs-with-filters .filter-wrapper .filter-buttons-wrapper .reset-all-filters').click(function () { 3077 resetAllFilters(); 3078 }); 3079 3080 filterBtns(); 3081 checkFilters(); 3082 3083 $('.product-list-tabs-with-filters.lists-tabs ul.items-wrapper li.active a').click(); 3084 }; 3085 3086 3087 var itemMp4VideoPlayer = function () { 3088 3089 $.fn.isInViewport = function() { 3090 var elementTopPosition = $(this).offset().top; 3091 var windowHeight = $(window).height(); 3092 var elementTop = (elementTopPosition + (windowHeight / 2)); 3093 var elementBottom = elementTop + $(this).outerHeight(); 3094 var viewportTop = $(window).scrollTop(); 3095 var viewportBottom = viewportTop + windowHeight; 3096 return elementBottom > viewportTop && elementTop < viewportBottom; 3097 }; 3098 3099 var $fwindow = $(window); 3100 $fwindow.on('scroll resize', function() { 3101 $('.mp4-video-bg-grid12 .item-video').each(function () { 3102 if ($(this).isInViewport(true) && !$(this).hasClass('played')) { 3103 $(this)[0].play(); 3104 $(this).addClass('played'); 3105 } 3106 }) 3107 }); 3108 }; 3109 3110 var threeSixtyView = function(){ 3111 3112 var $mainwrapper = $('#modal360'); 3113 var originalImg = $('#myImg'); 3114 var originalImgSrc = originalImg.attr('src'); 3115 var $conteiner = $('#preload-imgs'); 3116 var imgs = $(".img-container"); // the element that will be swipeable 3117 var $buttons = $('.threed-buttons-wrapper .btn'); 3118 3119 var folderImg = ''; 3120 3121 /*if((typeof NB_METRIC_DATA !== "undefined")){
3122 folderImg = NB_METRIC_DATA.productCode; 3123 }*/ 3124 3125 var num = $mainwrapper.data('has3d'); // the total number of images 3126 var imgchange = 360/parseInt(num); 3127 imgchange = parseInt(imgchange); 3128 if(num === 'undefined' || typeof(num)==='undefined' ) return; 3129 3130 //var imgname = folderImg+'-'; 3131 var imgExt = '.'+originalImgSrc.split('.').pop(); 3132 3133 3134 var imgname = originalImgSrc.split('/').pop(); 3135 3136 imgname = imgname.split('.').shift(); 3137 3138 //var imgname = originalImgSrc.split('.').shift().split('/').pop(); 3139 3140 imgname = imgname.split('-').shift()+'-'; 3141 3142 //var imgpath = nb_site_url+'/files/images/360view/'+folderImg+'/'; 3143 var imgpath = originalImg.attr('src').split(imgname).shift(); 3144 3145 if(num <= 0) return; 3146 //if(!folderImg) return; 3147 3148 3149 if(!$conteiner.length) return; 3150 // Preload all the images into hidden div 3151 if(galery3dImgType == 'product1'){ 3152 for (var i=0 ; i<num ; i++) { 3153 var img = document.createElement('img') 3154 img.src = imgpath+imgname+i+'.jpg'; 3155 img.setAttribute("data-no", i); 3156 //img.attr('data-number',i); 3157 3158 $conteiner[0].appendChild(img); 3159 $conteiner.children().addClass('hidden'); 3160 } 3161 } 3162 num = num-1;//smanjujemo za jedan jer krece od 0 3163 3164 var swipeOptions= 3165 { 3166 triggerOnTouchEnd : true, 3167 swipeStatus : swipeStatus, 3168 allowPageScroll:"vertical", 3169 threshold:75 3170 } 3171 imgs.swipe( swipeOptions ); 3172 3173 function swipeStatus(event, phase, direction, distance) { 3174 var duration = 0; 3175 if(direction == "left") { 3176 changeImg(distance); 3177 } 3178 else if (direction == "right") { 3179 changeImgR(-distance); 3180 } 3181 } 3182 function changeImg (imgNum,button) { 3183 3184 // divide by 8 (or any number) to spread 3185 // it out so it doesn't load new img 3186 // every single px of swipe distance 3187 if(!button){ 3188 imgNum = Math.floor(imgNum/imgchange);//57/8 3189 3190 if (imgNum < 1) { 3191 imgNum += num; 3192 } 3193 if (imgNum > num) { 3194 imgNum -= num; 3195 } 3196 } 3197 var numR= +num + +1; 3198 3199 //imgNum-=1; 3200 3201 if(imgNum < 0){ 3202 numR+=imgNum; 3203 imgNum=numR; 3204 } 3205 //imgNum+=1; 3206 3207 3208 // change the image src 3209 // document.getElementById("myImg").src=imgpath+imgname+imgNum+".jpg"; 3210 3211 //originalImg.attr('src',imgpath+imgname+imgNum+imgExt); 3212 if($('.img360').hasClass('hidden')){ 3213 }else{ 3214 $('.img360').addClass('hidden'); 3215 } 3216 3217 $('img[data-no]').addClass('hidden'); 3218 $('img[data-no]').removeClass('active'); 3219 $('img[data-no="'+imgNum+'"]').removeClass('hidden'); 3220 $('img[data-no="'+imgNum+'"]').addClass('active'); 3221 3222 } 3223 3224 function changeImgR (imgNum,button) { 3225 3226 // divide by 8 (or any number) to spread 3227 // it out so it doesn't load new img 3228 // every single px of swipe distance 3229 if(!button){ 3230 imgNum = Math.floor(imgNum/imgchange);//57/8 3231 var num2 = -Math.abs(num); 3232 if (imgNum > num2) { 3233 imgNum += num; 3234 } 3235 if (imgNum <= num2) { 3236 imgNum += num*2; 3237 } 3238 } 3239 3240 // change the image src 3241 //document.getElementById("myImg").src=imgpath+imgname+imgNum+".jpg"; 3242 3243 //originalImg.attr('src',imgpath+imgname+imgNum+imgExt); 3244 $('img[data-no]').addClass('hidden'); 3245 $('img[data-no]').removeClass('active'); 3246 $('img[data-no="'+imgNum+'"]').removeClass('hidden'); 3247 $('img[data-no="'+imgNum+'"]').addClass('active'); 3248 } 3249 3250 var counter = 0; 3251 var direction; 3252 var status; 3253 var current,currentNew; 3254 var icon;
3255 var end,endNew,endNewSrc; 3256 3257 $buttons.click(function(){ 3258 3259 end = $('#myImg').attr('src'); 3260 endNew = $('#preload-imgs > img.active'); 3261 endNewSrc = $('#preload-imgs > img.active').attr('src'); 3262 3263 if(galery3dImgType == 'product1'){ 3264 if(endNew.length === 0){ 3265 currentNew = end.split('/').pop().split('-').pop().split('.').shift() 3266 }else{ 3267 currentNew = endNewSrc.split('/').pop().split('-').pop().split('.').shift(); 3268 } 3269 current = end.split('/').pop().split('-').pop().split('.').shift(); 3270 } else { 3271 currentNew = 0 3272 if(endNew.length !== 0){ 3273 currentNew = endNew.data('no'); 3274 } 3275 3276 } 3277 console.log(currentNew); 3278 3279 3280 // counter = parseInt(current); 3281 counter = parseInt(currentNew); 3282 direction = $(this).data('direction'); 3283 status = $(this).attr('data-status'); 3284 icon = $(this).attr('class'); 3285 3286 if(direction==='play'){ 3287 if(status==='false'){ 3288 $(this).find('i').addClass('fa-pause').removeClass('fa-play'); 3289 3290 $(this).attr('data-status','true'); 3291 this.iid = setInterval(function() { 3292 3293 if(Math.abs(counter) > num){ 3294 counter = 0; 3295 } 3296 changeImg(counter,true); 3297 counter+=1; 3298 }, 110); 3299 }else{ 3300 $(this).attr('data-status','false'); 3301 $(this).find('i').addClass('fa-play').removeClass('fa-pause'); 3302 this.iid && clearInterval(this.iid); 3303 } 3304 3305 3306 } 3307 if(direction==='left'){ 3308 counter-=1; 3309 } 3310 if(direction==='right'){ 3311 counter+=1; 3312 } 3313 if(Math.abs(counter) > num){ 3314 counter = 0; 3315 } 3316 changeImg(counter,true); 3317 3318 }); 3319 3320 3321 $('.threed-icon-wrapper,.caption-360-new').click(function(){ 3322 //var $modal = $("#modal360"); 3323 var $modalId = $(this).data('activemodal'); 3324 if(!$modalId){ 3325 $modal = $("#modal360"); 3326 }else{ 3327 $modal=$($modalId); 3328 } 3329 3330 $modal.modal({backdrop: 'static', keyboard: false});//ne zatvara se klikom van modala 3331 }); 3332 $mainwrapper.on("hidden", function() { // remove the actual elements from the DOM when fully hidden 3333 $mainwrapper.remove(); 3334 }); 3335 }; 3336 3337 var initSliderOnCart = function(reinit){ 3338 if($('.product-list-cart').length > 0){ 3339 //init product slider in cart 3340 var productInCartLisrElementId = '.product-list-cart > .items-wrapper'; 3341 var productInCartLisrOptions = {dots: true, slidesToShow: 4, 3342 responsive: [ 3343 {breakpoint: 768, settings: { slidesToShow: 3}}, 3344 {breakpoint: 480, settings: { slidesToShow: 2}} 3345 ]}; 3346 3347 if(reinit){ 3348 $(productInCartLisrElementId).slick('unslick'); 3349 } 3350 initSlider(productInCartLisrElementId, productInCartLisrOptions); 3351 }; 3352 }; 3353 3354 var showMoreItemTabImg =function () { 3355 $('.items-tabs.lists-tabs .product-lists-tab .read-more-btn').click(function () { 3356 $('.items-tabs.lists-tabs .product-lists-tab .read-more-btn span').each(function () { 3357 $(this).toggleClass('hidden') 3358 }); 3359 $('.items-tabs.lists-tabs .product-lists-tab .item-img .img-wrapper').toggleClass('hidden'); 3360 }); 3361 3362 $('.items-tabs.lists-tabs ul.items-wrapper .item a').click(function () { 3363 var tabId = $(this).attr('href'); 3364 tabId = tabId.split('#tab_'); 3365 tabId = tabId[1]; 3366 $('.items-tabs.lists-tabs .product-list-wrapper').each(function () { 3367 $(this).addClass('hidden'); 3368 }); 3369 $('.items-tabs.lists-tabs #product-list-id-'+tabId).removeClass('hidden'); 3370 }); 3371 3372 $('.items-tabs.lists-tabs .product-list-wrapper > .container .product-item .select-product-wrapper').click(function () { 3373 $('.items-tabs.lists-tabs .product-list-wrapper > .container .product-item .select-product-wrapper').removeClass('selected'); 3374 $(this).addClass('selected'); 3375 $('.items-tabs.lists-tabs .buy-btn-wrapper > .container .btn').removeClass('disabled'); 3376 }); 3377 3378 $('.items-tabs.lists-tabs .buy-btn-wrapper > .container .btn').click(function(){ 3379 $('.items-tabs.lists-tabs .product-list-wrapper > .container .select-product-wrapper.selected .buyButtonOnLists').click(); 3380 setTimeout(function () { 3381 $('.items-tabs.lists-tabs > .tab-content > .tab-pane.active .product-lists-tab .product-item .buyButtonOnLists').click(); 3382 }, 400); 3383 setTimeout(function () { 3384 window.location.href = $('.items-tabs.lists-tabs .buy-btn-wrapper > .container .btn').data('cart-permalink'); 3385 }, 800); 3386 }); 3387 }; 3388 3389 var mobileSideCartDinamicHeight = function(){ 3390 if($(window).width() < 767) { 3391 var calcMiniCartHeight = function () { 3392 $('.header-cart .header-cart-item.header-cart-item-side .header-cart-toggle').css({height: window.innerHeight}); 3393 }; 3394 calcMiniCartHeight(); 3395 3396 $(window).on("resize", function () { 3397 calcMiniCartHeight(); 3398 }); 3399 } 3400 }; 3401 3402 var textFirstLabel = function () { 3403 $('.mobile-select-attrclass').each(function () { 3404 var selectedFilterArray = []; 3405 $(this).find('label').each(function () { 3406 if($(this).hasClass('checked-label')){ 3407 selectedFilterArray.push($(this).text()); 3408 } 3409 }); 3410 if (selectedFilterArray.length !== 0) { 3411 $(this).find('li.select-all label').text(selectedFilterArray.toString()); 3412 } 3413 }); 3414 }; 3415 3416 var filterCheeckToSelect = function(){ 3417 if($(window).width() < 767) { 3418 $('.mobile-select-attrclass').each(function () { 3419 $(this).find('ul.items-wrapper').prepend("<li class='item form-group-checklabel select-all'><label>Izaberi</label><i class=\"fa fa-angle-down\" aria-hidden=\"true\"></i></li>"); 3420 $(this).find('ul.items-wrapper >
3420 li.select-all').click(function () { 3421 $(this).parent().toggleClass('active'); 3422 }); 3423 }); 3424 3425 textFirstLabel(); 3426 } 3427 }; 3428 var getUrlParameter = function getUrlParameter(sParam) { 3429 var sPageURL = window.location.search.substring(1), 3430 sURLVariables = sPageURL.split('&'); 3431 3432 for (var i = 0; i < sURLVariables.length; i++) { 3433 var sParameterName = sURLVariables[i].split('='); 3434 3435 if (sParameterName[0] === sParam) { 3436 try { 3437 return sParameterName[1] 3438 ? decodeURIComponent(sParameterName[1].replace(/\+/g, ' ')) 3439 : true; 3440 } catch (e) { 3441 return null; 3442 } 3443 } 3444 } 3445 }; 3446 3447 var removeUiRole = function(){ 3448 $("[role=log].ui-helper-hidden-accessible").remove(); 3449 }; 3450 3451 /* Item description with popup active product description */ 3452 var activProductInPopupItem = function(){ 3453 $('.product-description-with-popup .container > .row .text-wrapper .open-item-popup,.item-subitem-slider .description-slider .item .open-item-popup').click(function () { 3454 var productId = $(this).find('a').data('product-id'); 3455 setTimeout(function () { 3456 $('.product-description-popup-wrapper .items-wrapper.product .item').each(function () { 3457 if(typeof $(this).data('productid') != 'undefined' && $(this).data('productid') == productId){ 3458 $(this).addClass('selected'); 3459 } else if(typeof $(this).data('productid') != 'undefined' && $(this).data('productid') != productId) { 3460 $(this).removeClass('selected'); 3461 } 3462 }); 3463 $('.product-description-popup-wrapper .text-wrapper.product .item.product-item').each(function () { 3464 if(typeof $(this).data('productid') != 'undefined' && $(this).data('productid') == productId){ 3465 $(this).removeClass('hidden'); 3466 } else if(typeof $(this).data('productid') != 'undefined' && $(this).data('productid') != productId) { 3467 $(this).addClass('hidden'); 3468 } 3469 }); 3470 }, 50); 3471 }); 3472 3473 $('.product-description-popup-wrapper .items-wrapper.product .item').click(function (e) { 3474 3475 var productId = $(this).data('productid'); 3476 $('.product-description-popup-wrapper .items-wrapper.product .item').each(function () { 3477 $(this).removeClass('selected'); 3478 }); 3479 $(this).addClass('selected'); 3480 $('.product-description-popup-wrapper .text-wrapper.product .item.product-item').each(function () { 3481 if(typeof $(this).data('productid') != 'undefined' && $(this).data('productid') == productId){ 3482 $(this).removeClass('hidden'); 3483 } else if(typeof $(this).data('productid') != 'undefined' && $(this).data('productid') != productId){ 3484 $(this).addClass('hidden'); 3485 } 3486 }); 3487 }); 3488 3489 $('.product-description-popup-wrapper .items-wrapper.product .item .options-wrapper.product-sizes-v3 .product-sizes').click(function () { 3490 setTimeout(function () { 3491 $('.product-description-popup-wrapper .text-wrapper.product .item.product-item').each(function () { 3492 //$(this).addClass('hidden'); 3493 }); 3494 }, 51); 3495 }); 3496 3497 $('.product-description-popup-wrapper .text-wrapper.product .close-product-description').click(function () { 3498 $(this).parent().addClass('hidden') 3499 }) 3500 }; 3501 3502 var inportProductListOnClick = function () { 3503 3504 }; 3505 3506 var exitMouseModal = function (){ 3507 3508 var cookieValue = readCookie('exitslidermodal'); 3509 var ageRestriction = $(".age-restriction-active"); 3510 3511 var openExitModal = function(){ 3512 if(cookieValue != 1 && ageRestriction.length === 0) { 3513 if($('.exit-modal-slider').hasClass('newsleter')){ 3514 $("#onload_modal").modal('show'); 3515 } else { 3516 $("#exit-slider-modal").modal('show'); 3517 } 3518 } 3519 if($('.exit-modal-slider').hasClass('exit_slider_question-sli
3519der')){ 3520 var btnWrapper = $('.exit-modal-slider .modal-body .item .btn-wrapper'); 3521 btnWrapper.find('.btn-confirm').click(function () { 3522 createCookie('exitslidermodal', "1", '365'); 3523 }); 3524 btnWrapper.find('.btn-cancel').click(function () { 3525 createCookie('exitslidermodal', "1", btnWrapper.data('day-repeat')); 3526 $('#exit-slider-modal .close').click(); 3527 }); 3528 cookieValue = 1; 3529 } else { 3530 createCookie('exitslidermodal', "1", 1); 3531 cookieValue = 1; 3532 } 3533 $('.exit-modal-slider .slider .modal-body').nbHandleSlider({slidesToShow: 1, arrows: true, dots: false}); 3534 }; 3535 3536 $(document).mouseleave(function () { 3537 openExitModal(); 3538 }); 3539 }; 3540 3541 var openModalAfterTime = function(){ 3542 function openCartModalSlider(){ 3543 3544 function ShowModalFn(){ 3545 $("#cart-duration-modal").modal('show'); 3546 createCookie('cart-duration-modal', '',0); 3547 } 3548 3549 var t; 3550 3551 if($("#cart-duration-modal").length > 0) { 3552 var initTimeDelay = 2700000; 3553 console.log(initTimeDelay); 3554 3555 if (!readCookie('cart-duration-modal')) { 3556 console.log('ne postoji'); 3557 }else{ 3558 var time = Date.now(); 3559 var cookieCreationTime = readCookie('cart-duration-modal'); 3560 var timeout = initTimeDelay - (time - cookieCreationTime); 3561 t = setTimeout(ShowModalFn,timeout) 3562 } 3563 3564 window.addEventListener('cartButtonClick', function (e) { 3565 if (!readCookie('cart-duration-modal')) { 3566 cookieCreationTime = Date.now(); 3567 createCookie('cart-duration-modal', cookieCreationTime); 3568 t = setTimeout(ShowModalFn,initTimeDelay) 3569 } 3570 }); 3571 3572 window.addEventListener('initCartOnePage', function (e) { 3573 3574 if($('.header-cart-item').length === 0){ 3575 clearTimeout(t); 3576 } 3577 3578 }); 3579 3580 } 3581 3582 }; 3583 3584 openCartModalSlider(); 3585 }; 3586 3587 var addMoreThenFiveProductToFavorite = function(){ 3588 function openFavoriteModalSlider(){ 3589 3590 function ShowModalFnFav(){ 3591 $("#add-to-favorite-modal").modal('show'); 3592 } 3593 if($("#add-to-favorite-modal").length > 0) { 3594 3595 if (!readCookie('add-to-favorite-modal')) { 3596 if (parseInt($('.favorite-header-total').text()) === 5) { 3597 ShowModalFnFav(); 3598 createCookie('add-to-favorite-modal', '1', 365); 3599 3600 } 3601 } else { 3602 console.log($('.favorite-header-total').text()); 3603 } 3604 3605 window.addEventListener('addToFavoritesProduct', function (e) { 3606 if(parseInt($('.favorite-header-total').text()) === 4) { 3607 ShowModalFnFav(); 3608 console.log($('.favorite-header-total').text()); 3609 3610 }else{ 3611 console.log($('.favorite-header-total').text()); 3612 } 3613 3614 }); 3615 3616 window.addEventListener('removeFavoritesProduct', function (e){ 3617 if(parseInt($('.favorite-header-total').text()) === 6) { 3618 ShowModalFnFav(); 3619 console.log($('.favorite-header-total').text()); 3620 }else{ 3621 console.log($('.favorite-header-total').text()); 3622 } 3623 }); 3624 3625 3626 } 3627 }; 3628 3629 openFavoriteModalSlider(); 3630 }; 3631 3632 var redirectToSomePageNewLang = function (forwardedLangItems = false) { 3633 3634 let langItems = $('.lang-from-slider .dropdown-wrapper a'); 3635 3636 if(forwardedLangItems) { 3637 langItems = forwardedLangItems; 3638 } 3639 3640 if(typeof langItems === "undefined" || langItems.length === 0) return; 3641 3642 langItems.each(function () { 3643 if(typeof $(this).data('redirect-lang') !== "undefined" && $(this).data('redirect-lang') && $(this).data('redirect-lang') != ''){ 3644 $(this).attr('href', ''); 3645 var redirectLang = $(this).data('redirect-lang'); 3646 $(this).click(function (e) { 3647 e.preventDefault() 3648 let otherParams = location.search; 3649 redirectToSameObjectForLang(redirectLang,otherParams); 3650 }) 3651 } 3652 }); 3653 }; 3654 3655 var travelBookingForm = function(){ 3656 var $form1 = $('.booking-travel-form'); 3657 var $returndate = $("input[name='return_date']"); 3658 function isReturnChecked(el){ 3659 if($(el).is(':checked')){ 3660 3661 if (el.value === '1') { 3662 $('.return-fields').hide(); 3663 $('.return-only').show(); 3664 $returndate.attr('required', false); 3665 $returndate.val(''); 3666 $('.background-image').removeClass('more-hight'); 3667 }else{ 3668 setTimeout(function () { 3669 $('.return-fields').show(); 3670 }, 50); 3671 3672 if($('#return_only').is(":checked")) { 3673 $('#return_only').click(); 3674 } 3675 $('.return-only').hide(); 3676 $returndate.attr('required', true); 3677 $('.background-image').addClass('more-hight'); 3678 $('#return_pickup_location').parents('.styled-select').removeClass('validation-error'); 3679 $('#return_dropoff_location').parents('.styled-select').removeClass('validation-error'); 3680 $('#return_pickup_location').attr('required',false); 3681 $('#return_pickup_location').removeAttr('data-validation-id'); 3682 $('#return_dropoff_location').attr('required',false); 3683 $('#return_dropoff_location').removeAttr('data-validation-id'); 3684 //$p_location_return.parents('.styled-select').removeClass('validation-error'); 3685 } 3686 $(el).closest('.item-choice').addClass('active'); 3687 } 3688 } 3689
3690 function resetFormBookingTravelForm(returnOnlyReset) { 3691 3692 if(returnOnlyReset){ 3693 $('#return_only').attr("disabled", false); 3694 } 3695 3696 $('#pickup_location').val(""); 3697 $('#dropof_location').val(""); 3698 $('#date_arrive').val(""); 3699 $('#adults').val(""); 3700 $('#children').val(""); 3701 $('#babys').val(""); 3702 $('#arrival_flight_number').val(""); 3703 $('#arrival_flight_time').val(""); 3704 //$('#country_departure').val(""); 3705 $('#return_pickup_location').val(""); 3706 $('#return_dropoff_location').val(""); 3707 $('#return_date').val(""); 3708 $('#return_arrival_flight_number').val(""); 3709 $('#return_arrival_flight_time').val(""); 3710 } 3711 3712 var checkReturnOnly = function(){ 3713 if($('#return_only').is(":checked")) { 3714 $('.people-select-wrapper').insertAfter('.return-date-wrapper'); 3715 $('.return-fields').show(); 3716 $('.disable-on-return').each(function () { 3717 $(this).hide(); 3718 }); 3719 $('#return_pickup_location,#return_dropoff_location').attr("disabled", false); 3720 $('.disable-on-return input,.disable-on-return select').each(function () { 3721 $(this).attr("disabled", true); 3722 $(this).attr("required", false); 3723 }); 3724 }else{ 3725 $('.people-select-wrapper').insertAfter('.start-date-wrapper'); 3726 $('.return-fields').hide(); 3727 $('.disable-on-return').each(function () { 3728 $(this).show(); 3729 }); 3730 $('#return_pickup_location,#return_dropoff_location').attr("disabled", true); 3731 $('.disable-on-return input,.disable-on-return select').each(function () { 3732 $(this).attr("disabled", false); 3733 $(this).attr("required", true); 3734 }); 3735 } 3736 resetFormBookingTravelForm(false); 3737 }; 3738 3739 $( document ).ready(function() { 3740 checkReturnOnly(); 3741 }); 3742 3743 $('#return_only').change(function() { 3744 checkReturnOnly(); 3745 }); 3746 3747 $form1.find("input[name='travel_choice']").each(function(){ 3748 isReturnChecked(this); 3749 }); 3750 3751 $form1.find("input[name='travel_choice']").change(function(){ 3752 if($('#return_only').is(":checked")) { 3753 $('#return_only').click(); 3754 } 3755 $form1.find("input[name='travel_choice']").closest('.item-choice').removeClass('active'); 3756 $(this).closest('.item-choice').removeClass('active'); 3757 isReturnChecked(this); 3758 resetFormBookingTravelForm(true); 3759 }); 3760 3761 3762 var $p_location,$d_locationo,$p_location_return,$d_locationo_return; 3763 3764 $d_locationo = $form1.find("select[name='dropof_location']"); 3765 $d_locationo_return = $form1.find("select[name='return_pickup_location']"); 3766 $p_location = $form1.find("select[name='pickup_location']"); 3767 $p_location_return = $form1.find("select[name='return_dropoff_location']"); 3768 $d_locationo_return.attr("disabled", true); 3769 $p_location_return.attr("disabled", true); 3770 $d_locationo.change(function(){ 3771 $d_locationo_return.val($(this).val()); 3772 }); 3773 $p_location.change(function(){ 3774 $p_location_return.val($(this).val()); 3775 }); 3776 3777 var permalink = $form1.attr('action'); 3778 3779 $('.booking-travel-form button').click(function(e){ 3780 //e.preventDefault(); 3781 3782 var formdata = $(".booking-travel-form").serializeArray(); 3783 var data = {}; 3784 var quantity,travelreturn='',quantitystring = '',plus, pickupLocation, dropofLocation; 3785 3786 $(formdata).each(function(index, obj){ 3787 data[obj.name] = obj.value; 3788 }); 3789 3790 pickupLocation = data.pickup_location; 3791 dropofLocation = data.dropof_location; 3792 3793 quantity = +data.adults+ +data.children+ +data.babys; 3794 travelreturn = '/one_way'; 3795 3796 if(data.travel_choice == '2'){ 3797 travelreturn += '+return'; 3798 } 3799 if(data.travel_choice == '1' && data.return_only == '1'){ 3800 travelreturn = '/return'; 3801 3802 pickupLocation = data.return_pickup_location; 3803 dropofLocation = data.return_dropoff_location; 3804 } 3805 3806 /*for(var i=1; i<=quantity;i++){ 3807 plus = '+'; 3808 if(quantity === i){ 3809 plus = ''; 3810 } 3811 quantitystring+='k'+i+plus; 3812 }*/ 3813 quantitystring = 'k'+quantity; 3814 3815 data.product_permalink = permalink+'/'+pickupLocation+'/'+dropofLocation+travelreturn+'/'+quantitystring; 3816 $form1.attr('action', data.product_permalink); 3817 saveInSesionBookingTravelForm($form1, data.product_permalink); 3818 3819 //window.location.href = 'http://'+data.product_permalink; 3820 }); 3821 3822 var saveInSesionBookingTravelForm = function($form1, $permalink){ 3823 3824 var $d_locationo_return,$p_location_return; 3825 3826 $d_locationo_return = $form1.find("select[name='return_pickup_location']"); 3827 $p_location_return = $form1.find("select[name='return_dropoff_location']"); 3828 3829 $d_locationo_return.attr("disabled", false); 3830 $p_location_return.attr("disabled", false); 3831 3832 var data = $form1.serializeObject(); 3833 3834 $.ajax({ 3835 type: "POST", 3836 url: nb_active_page_url, 3837 data: { 3838 nbAjax: 1, 3839 ajax: 'yes', 3840 task: 'saveorderadditionaldatainsession', 3841 dataForm : data 3842 }, 3843 dataType: 'json', 3844 success: function(ret){ 3845 if(ret.flag){ 3846 if($permalink == wwwroot_site+'/transfers'){ 3847 3848 }else{ 3849 $form1.attr('action', $permalink); 3850 setTimeout(function () { 3851 $form1.submit(); 3852 }, 50); 3853 } 3854 } 3855 } 3856 }); 3857 if(!$('#return_only').is(":checked")) { 3858 $d_locationo_return.attr("disabled", true); 3859 $p_location_return.attr("disabled", true); 3860 $d_locationo_return.attr("required", false); 3861 $p_location_return.attr("required", false); 3862 }else{ 3863 $d_locationo_return.attr("required", ""); 3864 $p_location_return.attr("required", ""); 3865 } 3866 3867 }; 3868 }; 3869 3870 var mainImageMapDescription = function () { 3871 3872 /* Tlocrt */ 3873 $('.image-map-area .mapImage').each(function () { 3874 var imageMapWraper = $(this).closest('.image-map-area'), 3875 borderColor = "3973b5"; 3876 if(imageMapWraper.data('border-color') && imageMapWraper.data('border-color') != ''){ 3877 borderColor = imageMapWraper.data('border-color'); 3878 } 3879 let dataimageMapWraper = imageMapWraper.data(); 3880 let fillColor = dataimageMapWraper.fillcolor; 3881 let strokeColor = dataimageMapWraper.strokecolor; 3882 if(!fillColor){ 3883 fillColor = '000000'; 3884 } 3885 if(!strokeColor){ 3886 if(borderColor){ 3887 strokeColor = borderColor 3888 }else{ 3889 strokeColor = '000000'; 3890 } 3891 3892 } 3893 3894 if(borderColor != 'noborder'){ 3895 $(this).maphilight({ 3896 fill: true, 3897 fillColor: fillColor, 3898 fillOpacity: 0.2, 3899 stroke: true, 3900 strokeColor: strokeColor, 3901 strokeOpacity: 1, 3902 strokeWidth: 1, 3903 fade: true, 3904 alwaysOn: false, 3905 neverOn: false, 3906 groupBy: false, 3907 wrapClass: true, 3908 shadow: false, 3909 shadowX: 0, 3910 shadowY: 0, 3911 shadowRadius: 6, 3912 shadowColor: '000000', 3913 shadowOpacity: 0, 3914 shadowPosition: 'outside', 3915 shadowFrom: false 3916 }); 3917 } 3918 }); 3919 3920 $('.image-map-area .image-wrapper .item-tlocrt.not-active').each(function () { 3921 $(this).removeClass('not-active').addClass('hidden'); 3922 }); 3923 3924 var fun = function(){ 3925 var itemId = $('.image-map-area .sidebar-menu ul.tabs li.active').data('item-id'); 3926 $('.image-map-area .image-wrapper .item-tlocrt').each(function () { 3927 if($(this).data('tab-id') == itemId){ 3928 var tabItem = $(this); 3929 tabItem.removeClass('hidden'); 3930 tabItem.find('map').imageMapResize(); 3931 tabItem.find('mapImage').maphilight(); 3932 setTimeout(function () { 3933 tabItem.find('map').imageMapResize(); 3934 tabItem.find('mapImage').maphilight(); 3935 }, 500); 3936 } else { 3937 $(this).addClass('hidden'); 3938 } 3939 }); 3940 }; 3941 3942 fun(); 3943 3944 $('.image-map-area .sidebar-menu ul.tabs li').click(function () { 3945 var thisItem = $(this); 3946 var itemId = $(this).data('item-id'); 3947 $('.image-map-area .sidebar-menu ul.tabs li').each(function () { 3948 $(this).removeClass('active'); 3949 }); 3950 thisItem.addClass('active'); 3951 $('.image-map-area .image-wrapper .item-tlocrt').each(function () { 3952 if($(this).data('tab-id') == itemId){ 3953 var tabItem = $(this); 3954 tabItem.removeClass('hidden'); 3955 tabItem.find('map').imageMapResize(); 3956 tabItem.find('mapImage').maphilight(); 3957 setTimeout(function () { 3958 tabItem.find('map').imageMapResize(); 3959 tabItem.find('mapImage').maphilight(); 3960 }, 500); 3961 } else { 3962 $(this).addClass('hidden'); 3963 } 3964 }); 3965 }); 3966 3967 /* Product slider map */ 3968 $('.slider.product-main .mapImage').each(function () { 3969 $(this).maphilight({ 3970 alwaysOn: true, 3971 strokeWidth: 0, 3972 strokeColor: "F3712A", 3973 fillColor: "574747", 3974 fillOpacity: 0.2, 3975 singleSelect: true 3976 }); 3977 }); 3978 3979 $(".item map area").mouseenter(function() { 3980 $('.products-detail-wrapper .product-image-wrapper .product-item-overlay').addClass('map-hovered'); 3981 var areaClass = $(this).attr('class'); 3982 areaClass = areaClass.split('position_'); 3983 areaClass = areaClass[1]; 3984 $('.map-description > .map-item_'+areaClass).addClass('hovered'); 3985 }).mouseleave(function() { 3986 $('.map-description > span').each(function () { 3987 $(this).removeClass('hovered'); 3988 }); 3989 $('.products-detail-wrapper .product-image-wrapper .product-item-overlay').removeClass('map-hovered'); 3990 }); 3991 }; 3992 3993 var popupWithSliderItems = function () { 3994 $('.popup-with-slider-items a.item').click(function () { 3995 var sliderId = $(this).data('src'), 3996 slider = $(sliderId+' .popup-item-slider .slider-init'), 3997 sliderOptions = { 3998 dots: true, 3999 speed: 300, 4000 slidesToShow: 1, 4001 slidesToScroll: 1, 4002 autoplay: true, 4003 autoplaySpeed: 5000,
4004 arrows: false, 4005 pauseOnHover: false, 4006 pauseOnDotsHover: false, 4007 fade: true, 4008 customPaging : function(slider, i) { 4009 var thumb = $(slider.$slides[i]).data('description'); 4010 return '<span class="icons-wrapper">' + 4011 '<i class="fa fa-circle-o-notch fa-spin fa-fw margin-bottom"></i> ' + 4012 '</span>' + 4013 '<span class="slide-desc">'+thumb+'</span>'; 4014 } 4015 }; 4016 4017 //slider.slick('unslick'); 4018 setTimeout(function () { 4019 initSlider(slider, sliderOptions); 4020 }, 50); 4021 4022 slider.on('afterChange', function(event, slick, currentSlide) { 4023 slider.slick('slickPause'); 4024 var videoId = $(this).find('.slick-current').data('video-id'); 4025 if(videoId){ 4026 $.fancybox.close(); 4027 $('.popup-video').click(); 4028 } 4029 }); 4030 }); 4031 }; 4032 /* var initCustomEvent = function () { 4033 if ( typeof window.CustomEvent === "function" ) return false; 4034 4035 function CustomEvent ( event, params ) { 4036 params = params || { bubbles: false, cancelable: false, detail: null }; 4037 var evt = document.createEvent( 'CustomEvent' ); 4038 evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail ); 4039 return evt; 4040 } 4041 4042 window.CustomEvent = CustomEvent; 4043 };*/ 4044 4045 var CustomEventTrigger = function(EventName,obj){ 4046 4047 /* var evt = new CustomEvent(EventName, { detail: obj || true }); 4048 window.dispatchEvent(evt);*/ 4049 var evt; 4050 if (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) { 4051 evt = document.createEvent('Event'); 4052 evt.initEvent(EventName, false, true); 4053 } else { 4054 evt = new CustomEvent(EventName, { detail: obj }); 4055 window.dispatchEvent(evt); 4056 } 4057 4058 4059 /* if(navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0){ 4060 var event; 4061 if (typeof(Event) === 'function') { 4062 event = new Event(EventName); 4063 } else { //IS IE 4064 event = document.createEvent('Event'); 4065 event.initEvent(EventName, false, true); 4066 } 4067 //return event; 4068 window.dispatchEvent(event) 4069 }else{ 4070 //radi svuda osim na IE 4071 var evt = new CustomEvent(EventName, { detail: obj }); 4072 window.dispatchEvent(evt); 4073 }*/ 4074 4075 }; 4076 4077 var searchProductFromListIntro = function(){ 4078 $('.product-listing-intro .product-intro-input-search .btn-wrapper .btn-search').click(function () { 4079 loadProductForPage(0); 4080 var searchWord = $('.product-listing-intro .product-intro-input-search #intro_search').val(); 4081 $('.product-listing-filters #search').val(searchWord); 4082 $('.product-listing-filters .btn-search').click(); 4083 }); 4084 }; 4085 4086 var addInputtsToReclamationForm = function () { 4087 if('#product-input-wrapper'.length){ 4088 $('#reclamation_additem').click(function () { 4089 var lastInputContent = $('#product-input-wrapper').data('item-nb'); 4090 lastInputContent = (lastInputContent+1); 4091 var typeheadUrl = window.location+'?nbAjax=1&ajax=yes&task=search_products_reclamation&search=%QUERY'; 4092 var inputContent = '<div class="row">' + 4093 '<div class="col-xs-12 col-sm-3">\n' + 4094 ' <div class="form-group">\n' + 4095 ' <input type="text" name="reclamation_documentcode_'+lastInputContent+'" class="form-control reclamation-product-code-'+lastInputContent+' reclamation-product-code" data-typehead-url="'+typeheadUrl+'" value="" placeholder="">\n' + 4096 ' </div>\n' + 4097 ' </div>\n' + 4098 '\n' + 4099 ' <div class="col-xs-12 col-sm-6">\n' + 4100 ' <div class="form-group">\n' + 4101 ' <input type="text" name="reclamation_documentname_'+lastInputContent+'" class="form-control reclamation-product-name" value="" placeholder="">\n' + 4102 ' </div>\n' + 4103 ' </div>\n' + 4104 '\n' + 4105 ' <div class="col-xs-12 col-sm-3">\n' + 4106 ' <div class="form-group">\n' + 4107 ' <input type="text" name="reclamation_documentquantity_'+lastInputContent+'" class="form-control" value="" placeholder="">\n' + 4108 ' </div>\n' + 4109 ' </div>\n' + 4110 ' </div>'; 4111 $('#product-input-wrapper .product-item-inputs').append(inputContent); 4112 $('#product-input-wrapper').data('item-nb', lastInputContent); 4113 $('#counter').val(lastInputContent); 4114 app.initTypeheadProductsReclamation('.reclamation-product-code-'+lastInputContent); 4115 }); 4116 } 4117 4118 }; 4119 4120 var getProductThumbColor = function () { 4121 $('.slider-init2 .slick-dots li' ).each(function () { 4122 var dotIndex = $(this).attr('aria-controls'); 4123 var colorHex = ''; 4124 dotIndex = dotIndex.split('navigation'); 4125 dotIndex = dotIndex[1]; 4126 $(this).parent().parent().find('.item-data').each( 4127 function () { 4128 if($(this).attr('aria-describedby') == 'slick-slide'+dotIndex) { 4129 colorHex = $(this).attr('data-color'); 4130 } 4131 } 4132 ); 4133 $(this).find('button').css('background', colorHex); 4134 }) 4135 }; 4136 4137 //init product list slider 4138 var initSlimilarColorSlider = function () { 4139 var productListElementId = '.product-item > .slider-product-slider-grid', 4140 productListOptions = {slidesToShow: 1, 4141 fade: true, 4142 dots: true,
4143 arrows: false, 4144 responsive: [ 4145 {breakpoint: 768, settings: { slidesToShow: 1}}, 4146 {breakpoint: 480, settings: { slidesToShow: 1}} 4147 ]}; 4148 $('.slider .slider-init2').each(function () { 4149 initSlider(this, productListOptions); 4150 getProductThumbColor(); 4151 }); 4152 4153 }; 4154 4155 var changeThemeStyle = function () { 4156 $('.change-theme-wrapper .item .color-wrapper').click(function () { 4157 $('.change-theme-wrapper .item').each(function () { 4158 $(this).removeClass('active'); 4159 }); 4160 $(this).parent().addClass('active'); 4161 var themeName = $(this).parent().data('class-name'); 4162 $('body').removeClass (function (index, className) { 4163 return (className.match (/(^|\s)bt-\S+/g) || []).join(' '); 4164 }); 4165 $('body').addClass('bt-'+themeName); 4166 createCookie('selectedTheme', 'bt-'+themeName, (24*60*60*1000)); 4167 }); 4168 4169 $('.change-theme-wrapper i').click(function () { 4170 $('.change-theme-wrapper').toggleClass('active'); 4171 }); 4172 }; 4173 4174 var fullSreenMenu = function(){ 4175 if ($(".nav-main-fullscreen")[0]){ 4176 4177 $('.open-fullscreen-menu').click(function () { 4178 $('.nav-main-fullscreen').addClass('active'); 4179 $(this).addClass('hidden'); 4180 $('body').addClass('open-fullscreeen-menu'); 4181 }); 4182 4183 $('.close-fullscreen-menu').click(function () { 4184 $('.nav-main-fullscreen').removeClass('active'); 4185 $('.open-fullscreen-menu').removeClass('hidden'); 4186 $('body').removeClass('open-fullscreeen-menu'); 4187 }); 4188 4189 $('.nav-main-fullscreen .nav > ul > li > a').click(function () { 4190 var parentLi = $(this).closest('li'); 4191 if(parentLi.hasClass('active')){ 4192 parentLi.removeClass('active'); 4193 } else { 4194 $('.nav-main-fullscreen .nav > ul > li,.nav-main-fullscreen .nav > ul > li .sub-nav ul').each(function () { 4195 $(this).removeClass('active'); 4196 }); 4197 parentLi.addClass('active'); 4198 } 4199 }); 4200 4201 $('.nav-main-fullscreen .nav > ul > li .sub-nav a').click(function () { 4202 var parentUl = $(this).parent().find('ul'); 4203 if(parentUl.hasClass('active')){ 4204 parentUl.removeClass('active'); 4205 } else { 4206 $('.nav-main-fullscreen .nav > ul > li .sub-nav ul').each(function () { 4207 $(this).removeClass('active'); 4208 }); 4209 parentUl.addClass('active'); 4210 } 4211 }); 4212 4213 } 4214 }; 4215 4216 var enableCheckAndAddToCart = function(){ 4217 4218 $('.action-item .item .check-enable').click(function () { 4219 4220 $('.action-item .item .check-enable').each(function () { 4221 $(this).removeAttr('disabled'); 4222 $(this).parent().removeClass('disabled'); 4223 }); 4224 4225 var itemWrapper = $(this).closest('.action-item'); 4226 4227 itemWrapper.nextAll().find('.check-enable').prop('checked', false).attr("disabled", true); 4228 itemWrapper.nextAll().find('.icheck-item').addClass('disabled'); 4229 4230 if($(this).is(":checked")){ 4231 itemWrapper.next().find('.check-enable').removeAttr('disabled'); 4232 itemWrapper.next().find('.icheck-item').removeClass('disabled'); 4233 } 4234 4235 }); 4236 4237 $('.product-action-item .buy-all-products').click(function () { 4238 $('.action-item.checked-item').each(function () { 4239 $(this).removeClass('checked-item'); 4240 }); 4241 $('.action-item .item .check-enable').each(function () { 4242 if($(this).is(':checked')){ 4243 $(this).closest('.action-item').addClass('checked-item'); 4244 } 4245 }); 4246 $('.action-item.cekirano .item .icheck-item').each(function () { 4247 if($(this).hasClass('disabled')){ 4248 $(this).closest('.action-item').removeClass('checked-item'); 4249 } 4250 }); 4251 4252 $('.action-item.checked-item .buyButtonOnLists').each(function () { 4253 $(this).click(); 4254 }); 4255 4256 }); 4257 }; 4258 4259 var slimilarColorFlag = true; 4260 var slimilarColorInProductList = function (parent) { 4261 var parentClass = ''; 4262 if (typeof parent !== "undefined"){ 4263 parentClass = parent+' '; 4264 } 4265 if(slimilarColorFlag){ 4266 $(parentClass+'.similar-products-by-color-slider').each(function () { 4267 $(this).closest('.item').addClass('have-similar-product-slider'); 4268 }); 4269 var originalImg, productWrapper; 4270 $(parentClass+'.similar-products-by-color-slider .item img').mouseenter(function() { 4271 originalImg = $(this).closest('.product-item').find('.img-wrapper > a > img').attr('src'); 4272 var img = $(this).attr('src'); 4273 productWrapper = $(this).closest('.product-item'); 4274 productWrapper.find('.img-wrapper > a > img').attr('src', img); 4275 }).mouseleave(function() { 4276 productWrapper.find('.img-wrapper > a > img').attr('src', originalImg); 4277 }); 4278 slimilarColorFlag = false;
4279 } 4280 setTimeout(function(){ 4281 slimilarColorFlag = true; 4282 }, 500); 4283 }; 4284 4285 var closeMobileMenu = function () { 4286 if($(window).width() < 767) { 4287 $(".nav-main-wrapper").click(function (e) { 4288 if (e.target !== e.currentTarget) return; 4289 $('.nav-mobile-icon').click(); 4290 }); 4291 } 4292 }; 4293 4294 var SizesTabsOnDetail = function(){ 4295 var $buttons = $('.filters-choice'); 4296 var $buttonsEach = $('.product-attributes li'); 4297 var $sizes = $('.product-attributes li .original-size'); 4298 var $sizes_eu = $('.product-attributes li .eur-size'); 4299 var $sizes_cm = $('.product-attributes li .cm-size'); 4300 4301 if($buttons.length > 0) { 4302 $buttonsEach.children().hide(); 4303 } 4304 4305 if($buttons.length == 0) {/*$sizes.show();*/ return;} 4306 4307 if($buttons.length > 0){ 4308 $buttons.each(function(){ 4309 if($(this).hasClass('active')){ 4310 switch ($(this).data('filter')) { 4311 case 'sizes': 4312 $sizes.show(); 4313 break; 4314 case 'sizes_eu': 4315 $sizes_eu.show(); 4316 filterByMappedSize($buttonsEach,'filter_eu'); 4317 break; 4318 case 'sizes_cm': 4319 $sizes_cm.show(); 4320 filterByMappedSize($buttonsEach,'filter_cm'); 4321 break; 4322 default: 4323 $sizes.show(); 4324 } 4325 } 4326 }); 4327 }else{ 4328 $sizes.show(); 4329 } 4330 4331 //$sizes.show(); 4332 var filter = ''; 4333 4334 function filterByMappedSize(element, filter){ 4335 element.each(function(){ 4336 if(!$(this).data(filter)){ 4337 $(this).hide(); 4338 } 4339 }); 4340 } 4341 4342 $buttons.click(function(){ 4343 $buttons.removeClass('active'); 4344 $(this).addClass('active'); 4345 $buttonsEach.children().hide(); 4346 $buttonsEach.show(); 4347 filter = $(this).data('filter'); 4348 switch (filter) { 4349 case 'sizes': 4350 $sizes.show(); 4351 4352 break; 4353 case 'sizes_eu': 4354 $sizes_eu.show(); 4355 filterByMappedSize($buttonsEach,'filter_eu'); 4356 break; 4357 case 'sizes_cm': 4358 $sizes_cm.show(); 4359 filterByMappedSize($buttonsEach,'filter_cm'); 4360 4361 break; 4362 default: 4363 $sizes.show(); 4364 } 4365 }); 4366 }; 4367 4368 var newAdressTriger = function () { 4369 $('#cart_onepage_new_address_list_id_triger').change(function () { 4370 var selectedValue = $(this).val(); 4371 $("#cart_onepage_new_address_list_id").val(selectedValue); 4372 }); 4373 4374 $('#cart_onepage_new_address_list_id').change(function () { 4375 var selectedValue = $(this).val(); 4376 $("#cart_onepage_new_address_list_id_triger").val(selectedValue); 4377 }); 4378 }; 4379 4380 var selectStoreProductSize = function(){ 4381 var $productSizes = $('.product-attributes-wrapper li'); 4382 var combId; 4383 $productSizes.each(function(){ 4384 if($(this).hasClass('active')) { 4385 combId = $(this).data('productsize-combid'); 4386 $('.sizes-wrapper .product-attributes li').each(function () { 4387 if(typeof $(this).data("productsize-combid") !== "undefined" && $(this).data("productsize-combid") === combId && 4388 $('.sizes-wrapper .product-attributes li.active').data("productsize-combid") !== combId) { 4389 $(this).click(); 4390 } 4391 }) 4392 } 4393 }); 4394 $productSizes.click(function(){ 4395 combId = $(this).data('productsize-combid'); 4396 4397 if ($(".productstate-product").closest(".item-no-tabs").length > 0 && typeof productStateInViewportCheck !== "undefined" && !productStateInViewportCheck) return; 4398 4399 $('.sizes-wrapper .product-attributes li').each(function () { 4400 var item = $(this); 4401 var itemCombId = item.data("productsize-combid"); 4402 if(typeof itemCombId !== "undefined" && combId === itemCombId && !$(this).hasClass("active") 4403 && $('.sizes-wrapper .product-attributes li.active').data("productsize-combid") !== combId){ 4404 item.click(); 4405 } 4406 }); 4407 }); 4408 }; 4409 4410 4411 var OpenAdminRibbon = function(){ 4412 var $ribbon = $('.icon-admin-login'); 4413 $ribbon.click(function(){ 4414 $('.header-top-nav-autocomplete').toggleClass('inactive'); 4415 $(this).toggleClass('fa-cog'); 4416 $(this).toggleClass('fa-times'); 4417 }); 4418 }; 4419 4420 var handleProductListImgSlider = function(){ 4421 var $slider = $('.product-list-slider-with-items .product-list-slider-button-wrapper .product-list-img-slider'); 4422 4423 $slider.each(function(){ 4424 if(app.width() >= 1024) { 4425 $(this).handleSlider({ 4426 arrows: true, 4427 dots: false, 4428 items: 6, 4429 autoplay: false, 4430 fade: false, 4431 slidesPerRow: 3, 4432 rows: 2, 4433 responsive: [ 4434 { 4435 breakpoint: 1400, 4436 settings: { 4437 slidesPerRow: 3, 4438 rows: 2 4439 } 4440 } 4441 ] 4442 }); 4443 } else { 4444 $(this).handleSlider({ 4445 arrows: true, 4446 dots: false, 4447 items: 3, 4448 autoplay: false, 4449 fade: false, 4450 slidesPerRow: 3, 4451 rows: 1, 4452 responsive: [ 4453 { 4454 breakpoint: 1400, 4455 settings: { 4456 slidesPerRow: 3, 4457 rows: 1, 4458 slidesToShow: 3, 4459 slidesToScroll: 3 4460 } 4461 } 4462 ] 4463 }); 4464 } 4465 4466 }); 4467 }; 4468 4469 4470 var loginOnCart= function(){ 4471 var loginInput = $('.login_form_cart #login_email');
4472 var loginPass = $('.login_form_cart #login_password'); 4473 var button = $('.buttons-wrapper-customerss .btn'); 4474 4475 loginInput.data('parsley-required', 'false'); 4476 loginInput.prop("required", "false"); 4477 loginInput.removeAttr('required'); 4478 4479 loginPass.data('parsley-required', 'false'); 4480 loginPass.prop("required", "false"); 4481 loginPass.removeAttr('required'); 4482 4483 button.click(function(){ 4484 if($(this).data('element') === 'reg'){ 4485 loginInput.data('parsley-required', 'true'); 4486 loginInput.prop("required", "true"); 4487 4488 loginPass.data('parsley-required', 'true'); 4489 loginPass.prop("required", "true"); 4490 4491 }else{ 4492 loginInput.data('parsley-required', 'false'); 4493 loginInput.prop("required", "false"); 4494 loginInput.removeAttr('required'); 4495 4496 loginPass.data('parsley-required', 'false'); 4497 loginPass.prop("required", "false"); 4498 loginPass.removeAttr('required'); 4499 4500 } 4501 }); 4502 4503 }; 4504 4505 var NCXcartMobile = function() { 4506 4507 loginOnCart(); 4508 4509 if(app.width() > 769) return; 4510 var $buttons = $('.buttons-wrapper-customerss .btn'); 4511 $('.cart-step .reg').addClass('hidden'); 4512 $('.cart-step .new').addClass('hidden'); 4513 var elements = $('.eltoggle'); 4514 4515 $buttons.click(function (e) { 4516 if($(this).hasClass('active')) return; 4517 4518 $('.no-reg').addClass('hidden'); 4519 var $this = $(this); 4520 $buttons.toggleClass('active'); 4521 var el = $(this).data('element'); 4522 4523 elements.each(function(){ 4524 $(this).addClass('hidden'); 4525 if($(this).hasClass(el)){ 4526 $('.'+el).toggleClass('hidden'); 4527 } 4528 }); 4529 4530 }); 4531 $('.shownoreg').click(function (e) { 4532 $('.no-reg').toggleClass('hidden'); 4533 elements.addClass('hidden'); 4534 }); 4535 }; 4536 4537 var gridSliderImageLoad = function () { 4538 var imgParth, eazyImg; 4539 if($(window).width() < 767) { 4540 eazyImg = $('.mobile-img img.grid-lazy,.main-img:not(.hide-main-img) img.grid-lazy,.double-img-grid-slider img.grid-lazy'); 4541 } else { 4542 eazyImg = $('.main-img img.grid-lazy,.double-img-grid-slider img.grid-lazy'); 4543 } 4544 eazyImg.each(function () { 4545 imgParth = $(this).data('original-img'); 4546 if(isSafari){ 4547 if(imgParth.endsWith(".webp")){ 4548 imgParth = imgParth.slice(0, -5); 4549 } 4550 } 4551 $(this).attr('src', imgParth); 4552 }); 4553 }; 4554 4555 var safariWebP = function () { 4556 if(isSafari){ 4557 $('img').each(function () { 4558 imgParth = $(this).attr('src'); 4559 if(imgParth && imgParth.endsWith(".webp")){ 4560 $(this).attr('src', imgParth.slice(0, -5)); 4561 } 4562 }); 4563 } 4564 }; 4565 4566 /* Funkciju treba ili osposobiti ili obrisati, verovatno je trebalo da ima ulogu kao i getString php funkcija*/ 4567 function getSTRING(string){ 4568 return string; 4569 } 4570 4571 /* Items JS */ 4572 4573 /* Parallax horizontal two img items */ 4574 var parallaxHorizontalTwoImgItems = function(){ 4575 var lastScrollTop = 0; 4576 var backgroundImages = $('.parallax-horizontal-two-img-items > img'); 4577 4578 $(window).scroll(function(e){ 4579 var st = $(this).scrollTop(); 4580 var ah = $(this).height(); 4581 backgroundImages.each(function(i){ 4582 var img = $(this); 4583 var pos = img.position().top; 4584 var hei = img.height(); 4585 var factor = 4; 4586 if(windowWidth() < 768){ 4587 factor = 1; 4588 } 4589 if ((st + ah) > pos){ 4590 var p = ((pos - st)/ah/factor); 4591 if(p > 0){ 4592 p = 0; 4593 } else if(p < -0.6){ 4594 p = -0.6; 4595 } 4596 if(img.hasClass('left-image')){ 4597 img.css('margin-left', (p*100)+'%'); 4598 } else { 4599 img.css('margin-right', (p*100)+'%'); 4600 } 4601 } 4602 }); 4603 lastScrollTop = st; 4604 }); 4605 4606 $(window).scroll(); 4607 }; 4608 4609 /* Scaling scroll items */ 4610 var scrollScaleItems = function(){ 4611 var itemImage = $('.scroll-scale-items .container'); 4612 4613 $(window).scroll(function(e){ 4614 var st = $(this).scrollTop(); 4615 var ah = $(this).height(); 4616 itemImage.each(function(i){ 4617 var img = $(this); 4618 var pos = img.offset().top; 4619 4620 if (pos < (st + ah)){ 4621 var p = (st + ah - pos); 4622 4623 var opacityRes = (p / 1000); 4624 var res = 6 - (p / 100); 4625 if(res > 4){ 4626 res = 4; 4627 opacityRes = 0; 4628 } else if(res < 1) { 4629 res = 1; 4630 opacityRes = 1; 4631 } 4632
4633 img.find('.items-wrapper').css({'transform': 'scale('+(res)+')', 'opacity': opacityRes}); 4634 } 4635 4636 }); 4637 }); 4638 4639 $(window).scroll(); 4640 }; 4641 4642 /* scroll title */ 4643 var itemScrollTitle = function () { 4644 $('.text_grid12.parallax-title > .description .marker').each(function () { 4645 var originalText = $(this).html(); 4646 var newText = '<span class="top-text">'+originalText.replace(/<br>/g,'</span><br /><span>')+'</span>'; 4647 $(this).html(newText); 4648 $('.text_grid12.parallax-title > .description .marker span:last-child').addClass("bottom-text"); 4649 }); 4650 4651 var lastScrollTop = 0; 4652 var textItem = $('.text_grid12.parallax-title > .description .marker span'); 4653 4654 $(window).scroll(function(e){ 4655 var pt = $(this).scrollTop(); 4656 var ph = $(this).height(); 4657 textItem.each(function(i){ 4658 var thisTextItem = $(this); 4659 var ip = thisTextItem.offset().top; 4660 var ih = thisTextItem.height(); 4661 if ((pt + ph) > ip && pt < (ip + ph)){ 4662 var p = ((ip - pt - 200)/2); 4663 if(p < 0){ 4664 p = 0; 4665 } 4666 if(thisTextItem.hasClass('top-text')){ 4667 thisTextItem.css('margin-right', p+'px'); 4668 } else if (thisTextItem.hasClass('bottom-text')){ 4669 thisTextItem.css('margin-left', p+'px'); 4670 } 4671 } 4672 }); 4673 lastScrollTop = pt; 4674 }); 4675 4676 $(window).scroll(); 4677 }; 4678 4679 var ShopByLookOneClick = function(){ 4680 4681 var $buttonShop = $('.oneclick-shop'); 4682 var $shopbylookitem = $('.shopbylook-slider .item.product-item'); 4683 var errorMsg = $('.oneclick-shop-wrapper .description').text(); 4684 var products = []; 4685 var oneproductcomb = ''; 4686 if($buttonShop.length === 0 || $shopbylookitem.length === 0){ 4687 return; 4688 } 4689 4690 $buttonShop.on('click',function(){ 4691 var activeSize = false; 4692 products = []; 4693 4694 $shopbylookitem.each(function(i){ 4695 4696 $item = $(this); 4697 if($item.find('.abs-button-reserve.buyButtonOnLists').length > 0 ){ 4698 var combinationID = $item.find('.abs-button-reserve.buyButtonOnLists').data('product-comb-id'); 4699 oneproductcomb = $item.data('productid')+'#'+combinationID+'#1'; 4700 }else{ 4701 if($item.find('.sizes-btn-wrapper .btn-sizes.active').length == 0){ 4702 activeSize = false; 4703 4704 return false; 4705 }else{ 4706 4707 } 4708 oneproductcomb = $item.data('productid')+'#'+$item.find('.sizes-btn-wrapper .btn-sizes.active').data('productsize-combid')+'#1'; 4709 } 4710 4711 products.push(oneproductcomb); 4712 activeSize = true; 4713 4714 }); 4715 if(activeSize){ 4716 //sve ima velicine 4717 ShopByLookAddToCart(products); 4718 }else{ 4719 toastr.error(errorMsg); 4720 } 4721 4722 }); 4723 4724 }; 4725 4726 /* Item product info slider */ 4727 $('.item-product-info .item-wrapper').each(function () { 4728 $(this).nbHandleSlider({ 4729 slidesToShow: 1, 4730 infinite: false, 4731 arrows: true, 4732 dots: false 4733 }); 4734 }); 4735 4736 /* Item subitem slider */ 4737 $('.item-subitem-slider .item-wrapper').each(function () { 4738 var slider = $(this); 4739 var sliderParent = slider.closest('.item-subitem-slider') 4740 if(sliderParent.hasClass('class-three-item-slider')){ 4741 slider.nbHandleSlider({ 4742 slidesToShow: 3, 4743 infinite: false, 4744 arrows: true, 4745 dots: false, 4746 centerMode: false, 4747 draggable: false, 4748 responsive: [ 4749 {breakpoint: 480, settings: { slidesToShow: 1}} 4750 ] 4751 }); 4752 } else { 4753 slider.nbHandleSlider({ 4754 slidesToShow: 1, 4755 infinite: false, 4756 arrows: true, 4757 dots: true, 4758 centerMode: true 4759 }); 4760 } 4761 }); 4762 4763 /* Item subitem slider */
4764 $('.item-subitem-slider-with-product-v2 .item-wrapper').each(function () { 4765 $(this).nbHandleSlider({ 4766 slidesToShow: 3, 4767 infinite: false, 4768 arrows: true, 4769 dots: false, 4770 responsive: [ 4771 {breakpoint: 480, settings: { slidesToShow: 1}} 4772 ] 4773 }); 4774 }); 4775 4776 /* Item slider in tabs */ 4777 var slidersTabsItems = function () { 4778 if($('.block.sliders-tabs-items').length){ 4779 $('.sliders-tabs-items .subitem-slider .slider-init').each(function () { 4780 $(this).nbHandleSlider({ 4781 slidesToShow: 1, 4782 infinite: false, 4783 arrows: true, 4784 dots: false, 4785 centerMode: true 4786 }); 4787 }); 4788 } 4789 } 4790 4791 var scrollToNextItem = function () { 4792 var btn = $('.button-scroll-to-item'); 4793 btn.click(function () { 4794 4795 $([document.documentElement, document.body]).animate({ 4796 scrollTop: ($(this).offset().top - 200) 4797 }, 500); 4798 }); 4799 4800 $(window).scroll(function(e){ 4801 var dt = $(this).scrollTop(); 4802 var dh = $(this).height(); 4803 btn.each(function(i){ 4804 var thisBtn = $(this); 4805 var bp = thisBtn.offset().top; 4806 if ((dt + dh) > bp && bp < (dt + dh)){ 4807 var p = (1 - (((dt + dh) - bp - 200) / 500)); 4808 if(p < 0){ 4809 p = 0; 4810 } else if(p > 1) { 4811 p = 1; 4812 } 4813 thisBtn.css('opacity', p); 4814 } 4815 }); 4816 }); 4817 4818 $(window).scroll(); 4819 }; 4820 4821 var scrollToItemLink = function () { 4822 $('.scroll-scale-items .items-wrapper .item .btn-wrapper a').click(function (e) { 4823 e.preventDefault(); 4824 var linkLocation = $(this).attr('href').substring(1); 4825 4826 $('.text_grid12').each(function () { 4827 if($(this).data('link') == linkLocation){ 4828 $([document.documentElement, document.body]).animate({ 4829 scrollTop: ($(this).offset().top - 0) 4830 }, 500); 4831 } 4832 }); 4833 }); 4834 }; 4835 4836 var itemMainSlider = function () { 4837 $('.landing-main-selected-slider > .slider-init').each(function(){ 4838 var slidesToShowData = $(this).parent().data('slider-item'); 4839 var landingMainSliderOptions = { 4840 dots: true, 4841 infinite: true, 4842 speed: 300, 4843 slidesToShow: slidesToShowData, 4844 arrows: true, 4845 responsive: [ 4846 {breakpoint: 480, settings: { slidesToShow: 1}} 4847 ] 4848 }; 4849 initSlider(this, landingMainSliderOptions); 4850 }) 4851 }; 4852 4853 var itemSliderWithTwoImg = function () { 4854 $('.slider-with-two-img .block-slider > .slider-init').each(function(){ 4855 var itemWithTwoImgSliderOptions = { 4856 dots: true, 4857 infinite: true, 4858 speed: 300, 4859 slidesToShow: 1, 4860 arrows: false 4861 }; 4862 initSlider(this, itemWithTwoImgSliderOptions); 4863 }); 4864 }; 4865 4866 var removetooltipSizesMob = function(){ 4867 if(app.width() < 768) { 4868 $('.product-attributes-two-sizes li').each(function () { 4869 $(this).tooltip('destroy'); 4870 }); 4871 } 4872 }; 4873 4874 var productListBanerSlider = function () { 4875 $('.product-listing .product-item.product-baner-item:not(.have-template) .row').each(function(){ 4876 var productListBanerSliderOptions = { 4877 dots: true, 4878 infinite: true, 4879 speed: 300, 4880 slidesToShow: 1, 4881 arrows: true, 4882 fade: true 4883 }; 4884 initSlider(this, productListBanerSliderOptions); 4885 }); 4886 }; 4887 4888 var GetFormSubmitCityOld = function(form,prefix){ 4889 if(form.length === 0){ 4890 return false;
4891 } 4892 var submitlink = form.attr('action'); 4893 var sufix = '?'; 4894 var first = true; 4895 4896 form.find('select').each(function(){ 4897 4898 $(this).change(function(){ 4899 var name = $(this).attr('id'); 4900 var value = $(this).val(); 4901 name = name.replace(prefix,''); 4902 if(!first){ 4903 sufix = '&'; 4904 } 4905 submitlink = submitlink+sufix+name+'='+value; 4906 first = false; 4907 form.attr('action',submitlink); 4908 }); 4909 }); 4910 4911 $('button[type="submit"]').click(function(e){ 4912 e.preventDefault(); 4913 window.location.replace(submitlink); 4914 }); 4915 } 4916 4917 var GetFormSubmitCity = function(form,prefix){ 4918 if(form.length === 0){ 4919 return false; 4920 } 4921 4922 form.find('button[type="submit"]').click(function(e){ 4923 e.preventDefault(); 4924 4925 var submitlink = form.attr('action'); 4926 var sufix = '?'; 4927 var first = true; 4928 4929 form.find('select').each(function(){ 4930 4931 var name = $(this).attr('id'); 4932 var value = $(this).val(); 4933 name = name.replace(prefix,''); 4934 if(!first){ 4935 sufix = '&'; 4936 } 4937 submitlink = submitlink+sufix+name+'='+value; 4938 first = false; 4939 form.attr('action',submitlink); 4940 4941 }); 4942 4943 window.location.replace(submitlink); 4944 }); 4945 } 4946 4947 var bookingAjaxForm = function(form){ 4948 if(form.length === 0){ 4949 return false; 4950 } 4951 4952 $('button[type="submit"]').click(function(e){ 4953 e.preventDefault(); 4954 var submitlink = form.attr('action'); 4955 let adults = $('select[name=adults]').val(); 4956 let nights = $('select[name=nights]').val(); 4957 4958 $.ajax({ 4959 type: "POST", 4960 url: submitlink, 4961 data: { 4962 4963 ajax: 'yes', 4964 task: 'booking_ajax', 4965 adults: adults, 4966 nights: nights 4967 }, 4968 dataType: 'json', 4969 success: function (ret) { 4970 window.open(ret, '_blank').focus(); 4971 } 4972 }); 4973 }); 4974 } 4975 4976 function PromoSidePopup(){ 4977 var $countdownwrapper = $('.widget-countdown-slider-wrapper'); 4978 if($countdownwrapper.length < 1){ 4979 return false; 4980 } 4981 var $main_item = $('.item-main'); 4982 $countdownwrapper.find('.item-main').each(function(){ 4983 $this =$(this); 4984 console.log(readCookie('promo-sidepopup'+$this.data('slideid'))); 4985 if(!readCookie('promo-sidepopup'+$this.data('slideid'))){ 4986 createCookie('promo-sidepopup'+$this.data('slideid'),1,10); 4987 setTimeout(function () { 4988 $this.parent().addClass('active'); 4989 }, 1000); 4990 } 4991 console.log($this); 4992 if(readCookie('promo-sidepopup'+$this.data('slideid')) == 1){ 4993 $this.parent().addClass('active'); 4994 } 4995 if(app.width() < 769){ 4996 createCookie('promo-sidepopup'+$this.data('slideid'),0,10); 4997 } 4998 4999 }); 5000 5001 $('.open-promo').click(function(){ 5002 $(this).parents('.widget-countdown-slider').addClass('active'); 5003 createCookie('promo-sidepopup'+$(this).parents('.item-main').data('slideid'),1,10); 5004 }); 5005 $('.close-promo').click(function(){ 5006 $(this).parents('.widget-countdown-slider').removeClass('active'); 5007 createCookie('promo-sidepopup'+$(this).parents('.item-main').data('slideid'),0,10); 5008 }); 5009 5010 } 5011 5012 var tlocartGalleryInit = function () { 5013 var sliderOptions = {slidesToShow: 3, infinite: false, arrows: true, dots: false, 5014 responsive: [ 5015 {breakpoint: 1024, settings: { slidesToShow: 3}}, 5016 {breakpoint: 768, settings: { slidesToShow: 2}}, 5017 {breakpoint: 480, settings: { slidesToShow: 1}} 5018 ]}; 5019 5020 $('area').click(function () { 5021 if($(this).data('item-id')){ 5022 var tabId = $(this).data('item-id'); 5023 $('.image-map-area-v2 .sidebar-menu .tabs-wrapper .tabs .item').each(function () { 5024 if($(this).data('item-id') == tabId){ 5025 $(this).click(); 5026 } 5027 }); 5028 } else { 5029 var id = $(this).data('src'); 5030 setTimeout(function () { 5031 $(id+' .subitems-gallery > .slider-init').each(function () { 5032 $(this).nbHandleSlider(sliderOptions); 5033 }); 5034 }, 0) 5035 } 5036 5037 }); 5038 5039 $('.image-map-area-v2-item .items-wrapper .item').click(function () { 5040 var id = $(this).children('a').attr('href').substring(1); 5041 app.reinitOpenslider($('#'+id+' .subitems-gallery > .slider-init'),sliderOptions); 5042 }); 5043 }; 5044 5045 var viewMoreArticleList = function () { 5046 $('.list-grid-with-custom-link a.view-more').click(function () { 5047 var itemContent = $(this).closest('.content'); 5048 if(itemContent.hasClass('active')){ 5049 itemContent.removeClass('active'); 5050 } else { 5051 $('.list-grid-with-custom-link .content.active').each(function () { 5052 $(this).removeClass('active'); 5053 }); 5054 itemContent.addClass('active'); 5055 } 5056 }); 5057 }; 5058 5059 var selectFieldOfWork = function () { 5060 var selectWrapperFW = $('select[name=career_fieldofwork]').parents('.form-group'); 5061 5062 selectWrapperFW.addClass('hidden'); 5063 5064 $('select[name=career_desiredposition]').change(function(){ 5065 5066 if($(this).val()==='Ostalo'){ 5067 selectWrapperFW.removeClass('hidden'); 5068 $('select[name=career_fieldofwork]').val(''); 5069 }else{ 5070 selectWrapperFW.addClass('hidden'); 5071 $('select[name=career_fieldofwork]').val('-1'); 5072 } 5073 }); 5074 }; 5075 5076 var chackBoxRequired = function () { 5077 5078 var elementCareerTermsOfUse = $('.confirm-checkbox-wrapper .icheckbox_flat'); 5079 var elementCareerCv = $('input[name=career_cv]'); 5080 var elementCareerImg = $('input[name=career_image]'); 5081 if(elementCareerTermsOfUse.length === 0){ 5082 return false;
5083 } 5084 5085 $('button[name=career_submit]').click(function(){ 5086 5087 if(!elementCareerTermsOfUse.hasClass('checked')){ 5088 elementCareerCv.removeAttr('required'); 5089 elementCareerCv.val(''); 5090 $('.cv-handler').addClass('active'); 5091 elementCareerImg.removeAttr('required'); 5092 elementCareerImg.val(''); 5093 $('.img-handler').addClass('active'); 5094 5095 }else{ 5096 elementCareerCv.attr("required", ""); 5097 elementCareerImg.attr("required", ""); 5098 $('.cv-handler').removeClass('active'); 5099 $('.img-handler').removeClass('active'); 5100 } 5101 5102 }); 5103 5104 }; 5105 5106 var shopByLookSizesTabs = function (){ 5107 var $item = $('.shopbylook-slider .product-item'); 5108 var filter; 5109 $item.each(function(){ 5110 5111 var $thisItem = $(this); 5112 5113 $thisItem.find('.product-filters-choice').click(function(){ 5114 $thisItem.find('.product-filters-choice').removeClass('active'); 5115 filter = $(this).data('filter'); 5116 $(this).addClass('active'); 5117 switchCaseFn(filter,$thisItem); 5118 }); 5119 5120 $thisItem.find('.product-filters-choice').each(function(){ 5121 if($(this).hasClass('active')){ 5122 filter = $(this).data('filter'); 5123 console.log(filter); 5124 } 5125 5126 }); 5127 5128 switchCaseFn(filter,$thisItem); 5129 }); 5130 5131 function switchCaseFn(filter,$thisItem){ 5132 5133 $thisItem.find('.btn-sizes').each(function () { 5134 $(this).children().hide(); 5135 }); 5136 switch (filter) { 5137 5138 case 'sizes': 5139 showSizes($thisItem,'.original-size'); 5140 break; 5141 case 'sizes_eu': 5142 5143 showSizes($thisItem,'.eur-size'); 5144 break; 5145 case 'sizes_cm': 5146 showSizes($thisItem,'.cm-size'); 5147 break; 5148 default: 5149 showSizes($thisItem,'.original-size'); 5150 5151 } 5152 } 5153 5154 function showSizes($thisItem,size_class){ 5155 $thisItem.find(size_class).each(function(){ 5156 $(this).show(); 5157 }); 5158 } 5159 }; 5160 5161 var SizesTabsOnDetailSBL = function(){ 5162 var $item = $('.shopbylook-slider .product-item'); 5163 5164 $item.each(function(){ 5165 var $buttons = $(this).find('.product-filters-choice'); 5166 var $buttonsEach = $(this).find('.sizes-btn-wrapper .item'); 5167 var $sizes = $(this).find('.sizes-btn-wrapper .item .original-size'); 5168 var $sizes_eu = $(this).find('.sizes-btn-wrapper .item .eur-size'); 5169 var $sizes_cm = $(this).find('.sizes-btn-wrapper .item .cm-size'); 5170 var $sizesWrapper = $(this).find('.sizes-selector-wrapper'); 5171 var $activeSizeNZS = $sizesWrapper.find('.item.btn.btn-sizes.active'); 5172 5173 if($sizesWrapper.hasClass('hidden')){ 5174 if($activeSizeNZS.length === 1){ 5175 $activeSizeNZS.click(); 5176 } 5177 } 5178 5179 if($buttons.length > 0){ 5180 5181 $buttons.each(function(){ 5182 5183 if($(this).hasClass('active')){ 5184 $buttonsEach.children().hide(); 5185 $buttonsEach.show(); 5186 switch ($(this).data('filter')) { 5187 case 'sizes': 5188 break; 5189 case 'sizes_eu': 5190 $sizes_eu.show(); 5191 filterByMappedSize($buttonsEach,'filter_eu'); 5192 5193 break; 5194 case 'sizes_cm': 5195 $sizes_cm.show(); 5196 filterByMappedSize($buttonsEach,'filter_cm'); 5197 5198 break; 5199 default: 5200 $sizes.show(); 5201 } 5202 } 5203 }); 5204 }else{ 5205 $sizes.show(); 5206 } 5207 5208 $buttons.click(function(){ 5209 $buttons.removeClass('active'); 5210 $(this).addClass('active'); 5211 $buttonsEach.children().hide(); 5212 $buttonsEach.show(); 5213 filter = $(this).data('filter'); 5214 switch (filter) { 5215 case 'sizes': 5216 $sizes.show(); 5217 break; 5218 case 'sizes_eu': 5219 $sizes_eu.show(); 5220 filterByMappedSize($buttonsEach,'filter_eu'); 5221 break; 5222 case 'sizes_cm': 5223 $sizes_cm.show(); 5224 filterByMappedSize($buttonsEach,'filter_cm'); 5225 5226 break; 5227 default: 5228 $sizes.show(); 5229 } 5230 }); 5231 if($buttons.length == 0) {/*$sizes.show();*/ return;} 5232 5233 $sizes.show(); 5234 }); 5235 5236 5237 var filter = ''; 5238 5239 function filterByMappedSize(element, filter){ 5240 console.log('sssss '+filter); 5241 element.each(function(){ 5242 if(!$(this).data(filter)){ 5243 $(this).hide(); 5244 } 5245 }); 5246 } 5247 5248 5249 }; 5250 5251 5252 var SizesTabsOnCart = function(){ 5253 var $item = $('.cart-product .popup-sizes-wrapper, .product-item-size-popup-wrapper .popup-sizes-wrapper'); 5254 5255 $item.each(function(){ 5256 if($(this).hasClass('init')){ 5257 return false;
5258 } 5259 5260 var $buttons = $(this).find('.filters-choice'); 5261 var $buttonsEach = $(this).find('.sizes-wrapper .size-item'); 5262 var $sizes = $(this).find('.sizes-wrapper .size-item > .original-size'); 5263 var $sizes_eu = $(this).find('.sizes-wrapper .size-item > .eur-size'); 5264 var $sizes_cm = $(this).find('.sizes-wrapper .size-item > .cm-size'); 5265 5266 if($buttons.length > 0){ 5267 5268 $buttons.each(function(){ 5269 5270 if($(this).hasClass('active')){ 5271 $buttonsEach.children().hide(); 5272 $buttonsEach.show(); 5273 switch ($(this).data('filter')) { 5274 case 'sizes': 5275 $sizes.show(); 5276 break; 5277 case 'sizes_eu': 5278 $sizes_eu.show(); 5279 filterByMappedSize($buttonsEach,'filter_eu'); 5280 5281 break; 5282 case 'sizes_cm': 5283 $sizes_cm.show(); 5284 filterByMappedSize($buttonsEach,'filter_cm'); 5285 5286 break; 5287 default: 5288 $sizes.show(); 5289 } 5290 } 5291 }); 5292 }else{ 5293 $sizes.show(); 5294 } 5295 5296 $buttons.click(function(){ 5297 5298 $buttons.removeClass('active'); 5299 $(this).addClass('active'); 5300 $buttonsEach.children().hide(); 5301 $buttonsEach.show(); 5302 filter = $(this).data('filter'); 5303 switch (filter) { 5304 case 'sizes': 5305 $sizes.show(); 5306 break; 5307 case 'sizes_eu': 5308 $sizes_eu.show(); 5309 filterByMappedSize($buttonsEach,'filter_eu'); 5310 break; 5311 case 'sizes_cm': 5312 $sizes_cm.show(); 5313 filterByMappedSize($buttonsEach,'filter_cm'); 5314 break; 5315 default: 5316 $sizes.show(); 5317 } 5318 }); 5319 if($buttons.length == 0) {/*$sizes.show();*/ return;} 5320 5321 $(this).addClass('init') 5322 }); 5323 5324 5325 var filter = ''; 5326 5327 function filterByMappedSize(element, filter){ 5328 element.each(function(){ 5329 if(!$(this).data(filter)){ 5330 $(this).hide(); 5331 } 5332 }); 5333 } 5334 5335 5336 }; 5337 5338 var hideChangeSizePopup = function(){ 5339 var a=0; 5340 $('body').click(function(e){ 5341 if($('.popup-sizes-wrapper').hasClass('active') && a > 0){ 5342 if ($(e.target).closest('.nbf-change-size').length === 0 && $(e.target).closest('.popup-sizes-wrapper').length === 0) { 5343 $('.popup-sizes-wrapper.active').removeClass('active'); 5344 } 5345 } 5346 a++; 5347 }); 5348 } 5349 5350 var productDetailTabsToVertical = function(tabs,addTo,verticalTabs){ 5351 var detail_tabs = tabs;//tabs 5352 var detail_tabs_addTo = addTo;//addTo 5353 var detail_tabs_vertical = verticalTabs;//verticalTabs 5354 var x,y; 5355 5356 x = detail_tabs.detach(); 5357 y = detail_tabs_vertical.detach(); 5358 if(app.width() < 768){ 5359 detail_tabs_addTo.prepend(y); 5360 }else{ 5361 detail_tabs_addTo.prepend(x); 5362 } 5363 5364 $(window).resize(function(){ 5365 if(app.width() < 768){ 5366 detail_tabs.detach(); 5367 detail_tabs_addTo.prepend(y); 5368 }else{ 5369 detail_tabs_vertical.detach(); 5370 detail_tabs_addTo.prepend(x); 5371 } 5372 }); 5373 }; 5374 5375 var productDetailAttributesAccordion = function () { 5376 $('.attributes-accordion .panel-group button.btn').click(function () { 5377 var btn = $(this); 5378 var btnTitle = btn.text(); 5379 var itemWrapper = btn.closest('.pan-description'); 5380 var selectedItemWrapper = itemWrapper.find('.panel-heading .selected-item'); 5381 selectedItemWrapper.text(btnTitle); 5382 itemWrapper.find('button.btn').each(function () { 5383 $(this).removeClass('active'); 5384 }); 5385 btn.addClass('active'); 5386 if(btn.data('info')){ 5387 var infoTitle = btn.data('info'); 5388 $('.attributes-info .phone-info').removeClass('hidden'); 5389 $('.attributes-info .phone-info .title .phone-number').text(infoTitle); 5390 } 5391 }); 5392 }; 5393 5394 var paymentCardPopup = function () { 5395 $('.payment-popup-btn').click(function () { 5396 var description = $(this).find('.popup-description').html(); 5397 console.log(description); 5398 $('#payment-card-modal .modal-body').html(description); 5399 }); 5400 }; 5401 5402 printPdf = function (url) { 5403 var iframe = this._printIframe; 5404 if (!this._printIframe) { 5405 iframe = this._printIframe = document.createElement('iframe'); 5406 document.body.appendChild(iframe); 5407 5408 iframe.style.display = 'none'; 5409 iframe.onload = function() { 5410 setTimeout(function() { 5411 iframe.focus(); 5412 iframe.contentWindow.print(); 5413 }, 1); 5414 }; 5415 } 5416 5417 iframe.src = url; 5418 }; 5419 5420 var checkoutRedirectBank = function(){ 5421 5422 var buttonForm = $('#form-confirm-card-payments-redirect .btn.btn-success'); 5423 if(nb_type_page === 'cart_confirm' && buttonForm.length > 0){ 5424 $('<i class="spin fa fa-spinner"></i>').appendTo('.cart-step .title H2').css('float','right'); 5425 setTimeout(function() { 5426 buttonForm.click(); 5427 }, 3000); 5428 5429 } 5430 5431 5432 }; 5433 5434 var videoSliderHtml = function(mainSliderElementId){ 5435 if(!mainSliderElementId){ 5436 console.log('prazno'); 5437 mainSliderElementId = '.main-slider > .slider-init'; 5438 } 5439 5440 var $videohtml = $('.slick-current video'); 5441 var vid = $videohtml.get(0); 5442 var sourceVideo = $videohtml.find('source').attr('src'); 5443 var videoExt = '.mp4'; 5444 var mobileExt = 'mob'; 5445 5446 function mobVideo(slider,videoExt,mobileExt){ 5447 var videos = slider.find('video > source'); 5448 if(videos.length === 0){ 5449 return false;
5450 } 5451 videos.each(function(){ 5452 var oldSource; 5453 var $this = $(this); 5454 oldSource = sourceVideo = $this.attr('src'); 5455 sourceVideo = sourceVideo.split(videoExt); 5456 sourceVideo = sourceVideo[0]+mobileExt+videoExt; 5457 $this.attr('src',sourceVideo); 5458 vidid = $this.parent().attr('id'); 5459 if(vidid !=''){ 5460 5461 $('#'+vidid).get(0).load(); 5462 5463 $('#'+vidid).get(0).addEventListener('error', function(event,vidid) { 5464 $this.attr('src',oldSource); 5465 vidid = $(this).attr('id'); 5466 $('#'+vidid).get(0).load(); 5467 }, true); 5468 } 5469 5470 }); 5471 5472 } 5473 5474 function vidPlay(video){ 5475 if(typeof video !== 'undefined'){ 5476 video.play(); 5477 video.onended = function() { 5478 $(mainSliderElementId).slick('slickNext'); 5479 }; 5480 } 5481 5482 } 5483 5484 if(screen.width < 769) { 5485 mobVideo($(mainSliderElementId),videoExt,mobileExt); 5486 } 5487 5488 vidPlay(vid); 5489 5490 $(mainSliderElementId).on('afterChange', function(event, slick, currentSlide) { 5491 vid = $(this).find('.slick-current .htmlVideoSlide > video'); 5492 if(vid.length > 0){ 5493 vidPlay(vid.get(0)); 5494 } 5495 }); 5496 5497 $(mainSliderElementId).on('beforeChange', function(event, slick, currentSlide) { 5498 vid = $(this).find('.slick-current .htmlVideoSlide > video'); 5499 if(vid.length > 0){ 5500 vid.get(0).pause(); 5501 } 5502 }); 5503 }; 5504 5505 var cartGiftPopup = function(){ 5506 5507 5508 // function isDisabledBtn(){ 5509 // if ($('#cart_onepage_donation_flag_want_product').is(':checked')) { 5510 // $('.gift-btn').removeClass('btn-disabled'); 5511 // } else { 5512 // $('.gift-btn').addClass('btn-disabled'); 5513 // } 5514 // }; 5515 5516 // $('#cart_onepage_donation_flag_want_product').change(function() { 5517 // isDisabledBtn() 5518 // }); 5519 5520 //isDisabledBtn(); 5521 5522 5523 $("#cart_onepage_donation_flag_want_product").on('change', function() { 5524 checkShowBaner(); 5525 }); 5526 5527 function checkShowBaner() { 5528 return false 5529 5530 if(!$("#cart_onepage_donation_flag_want_product").prop('checked')){ 5531 $(".donation-image .img-responsive").removeClass('hidden'); 5532 $(".donation-image .product-wrapper-chosen").addClass('hidden'); 5533 eraseCookie('cart_gift_popup'); 5534 } 5535 } 5536 5537 checkShowBaner(); 5538 5539 5540 5541 var combinationDonationId = -1; 5542 var productDonationId = -1; 5543 let textButtonSelect = ''; 5544 $(".gift-product-modal .gift-product .product-info .product-sizes .item").on("click", function(e){ 5545 5546 //e.preventDefault(); 5547 combinationDonationId = $(this).attr("data-productsize-combid"); 5548 productDonationId = $(this).attr("data-productsize-productid"); 5549 5550 //alert("The data-id of clicked item is: " + combinationDonationId); 5551 5552 $(".gift-product-modal .gift-product .product-info .product-sizes .item").removeClass('active'); 5553 5554 var product = $(this).closest('.gift-product'); 5555 5556 // product.find(".choose-gift-btn").text('Izaberi'); 5557 // product.find(".choose-gift-btn").removeClass('btn-disabled'); 5558 5559 5560 var size = $(this); 5561 5562 $(this).addClass('active'); 5563 5564 $(this).siblings().removeClass('active') 5565 5566 $('.gift-product-modal .gift-product').each(function(){ 5567 5568 if(product.find('.size-select-wrapper .item.active').length) { 5569 textButtonSelect = product.find(".choose-gift-btn").data('text-select'); 5570 product.find(".choose-gift-btn").text(textButtonSelect); 5571 product.find(".choose-gift-btn").removeClass('btn-disabled'); 5572 } 5573 }); 5574 5575 }); 5576 5577 // function loadDataForDonationProductOrderOnePage(){ 5578 // if($('input[type="radio"][name="cart_onepage_donation_productId"]').length){ 5579 // getCombinationsForDonationProductOrderOnePage($('.choose-gift-btn')); 5580 // $('.choose-gift-btn').on('click', function(event){ 5581 // getCombinationsForDonationProductOrderOnePage($(this)); 5582 // }); 5583 // } 5584 // } 5585 5586 var curSrc = ''; 5587 5588 $(".choose-gift-btn").on("click", function(e){ 5589 5590 e.preventDefault(); 5591 5592 let textButtonSelectSize = $(this).data('text-select-size'); 5593 5594 var product = $(this).closest('.gift-product'); 5595 var selectedCat = product.find('.category').text(); 5596 var selectedName = product.find('.name').text(); 5597 var selectedSize = ''; 5598 if(product.find('.btn-sizes.active').length){ 5599 selectedSize = product.find('.btn-sizes.active').text(); 5600 productDonationId = product.find('.btn-sizes.active').data('productsizeProductid'); 5601 combinationDonationId = product.find('.btn-sizes.active').data('productsizeCombid'); 5602 } 5603 var selectedImg = product.find('.product-image').attr('src'); 5604 var cookieVal = selectedCat+','+selectedName+','+selectedSize+','+selectedImg+','+productDonationId+','+combinationDonationId; 5605 5606 //createCookie('cart_gift_popup', cookieVal, 365); 5607 5608 //if(!product.find('.size-select-wrapper .item.active').length) { 5609 if(!product.find('.size-select-wrapper .item.active').length && !product.find('.btn-sizes.active').length) { 5610 $(this).text(textButtonSelectSize); 5611 $(this).addClass('btn-disabled');// 5612 return false;
5613 } 5614 5615 //loadDataForDonationProductOrderOnePage(); 5616 // console.log(productDonationId); 5617 // console.log(combinationDonationId); 5618 // $('#cart_onepage_donation_productId').val(productDonationId); 5619 // $('#cart_onepage_donation_combinationId').val(combinationDonationId); 5620 cartChangeDonationProductAndCombinationId(productDonationId, combinationDonationId); 5621 //calculateValueOrderOnePage(); 5622 5623 var productx = $('.product-wrapper-chosen'); 5624 5625 product.find('.name').text(); 5626 5627 productx.find('.name').text(product.find('.name').text()); 5628 5629 product.find('.category').text(); 5630 5631 productx.find('.category').text(product.find('.category').text()); 5632 5633 product.find('.product-info .product-sizes .item.active').text(); 5634 5635 productx.find('.size-number').text(product.find('.product-info .product-sizes .item.active').text()); 5636 5637 5638 curSrc = product.find('img').attr('src'); 5639 5640 console.log(curSrc); 5641 5642 productx.find('img').attr('src', curSrc); 5643 5644 $(".gift-product-modal .close").click(); 5645 5646 $(".donation-image .img-responsive").addClass('hidden'); 5647 5648 $(".donation-image .product-wrapper-chosen").removeClass('hidden'); 5649 5650 dataText = $('.gift-btn').attr("data-text"); 5651 5652 $(".gift-btn").text(dataText); 5653 5654 $('.donation-content .icheck-item').addClass('checked'); 5655 5656 5657 // kada kreira cookie on poyiva funkciju ispod 5658 //insertProductDataCookie(); 5659 5660 }); 5661 5662 var divWrapper = $('.donation-wrapper').length; 5663 5664 if(divWrapper < 0){ 5665 eraseCookie('cart_gift_popup'); 5666 } 5667 5668 }; 5669 5670 5671 5672 function insertProductDataCookie(){ 5673 5674 /* ova funkcija ;ita cookie i puni vrednosti u blok */ 5675 5676 // if (readCookie('cart_gift_popup')) { 5677 // var productData = readCookie('cart_gift_popup'); 5678 // console.log(productData); 5679 // if (productData != '') { 5680 // if(!$("#cart_onepage_donation_flag_want_product").prop('checked')){ 5681 // $("#cart_onepage_donation_flag_want_product").click(); 5682 // } 5683 // var productWrapper = $('.product-wrapper-chosen'); 5684 // var productDataArray = productData.split(","); 5685 // var productCat = productDataArray[0]; 5686 // var productName = productDataArray[1]; 5687 // var productSize = productDataArray[2]; 5688 // var productImg = productDataArray[3]; 5689 // var productDonationIdCookie = productDataArray[4]; 5690 // var combinationDonationIdCookie = productDataArray[5]; 5691 // 5692 // productWrapper.find('.category').text(productCat); 5693 // productWrapper.find('.name').text(productName); 5694 // productWrapper.find('.size-number').text(productSize); 5695 // productWrapper.find('.product-image').attr('src', productImg); 5696 // 5697 // $(".donation-image .img-responsive").addClass('hidden'); 5698 // 5699 // $(".donation-image .product-wrapper-chosen").removeClass('hidden'); 5700 // 5701 // } 5702 // } 5703 5704 } 5705 5706 function checkCartCityValue($cityInput,$cityIdInput,$postCodeInput){ 5707 if(checkCartCityValueEnable){ 5708 $($cityInput).on('focus',function () { 5709 $('#submit_order_one_page').addClass('no-click'); 5710 }) 5711 $($cityInput).on('blur', function(){ 5712 setTimeout(function () { 5713 if($($cityIdInput).val() == '-1' || $($cityIdInput).val() == ''){ 5714 cartChangeCityIdAndPostCodeOnePage(-1, ''); 5715 //kometarisano - nastaje loop kada je polje prazno 5716 5717 //$($cityInput).focus(); 5718 }else{ 5719 cartChangeCityIdAndPostCodeOnePage($($cityIdInput).val(), $($postCodeInput).val()); 5720 } 5721 $('#submit_order_one_page').removeClass('no-click'); 5722 }, 100); 5723 $('#submit_order_one_page').removeClass('no-click'); 5724 }); 5725 } 5726 } 5727 5728 function checkCityValue($cityInput,$cityIdInput,$postCodeInput,$addressInput,$addressNumberInput){ 5729 5730 var additionalStreetNbSufix = ''; 5731 if(showStreetAditionalFields){ 5732 additionalStreetNbSufix = '_new'; 5733 } 5734 5735 if(typeaheadStrictType){ 5736 5737 var textCity = ''; 5738 if($('.strictTextCity').length > 0){
5739 textCity = $('.strictTextCity').data('strict-city'); 5740 } 5741 5742 $($cityInput).on('focusout change', function(){ 5743 $.when($($cityIdInput).change()).then(function() { 5744 setTimeout(function () { 5745 if($($cityIdInput).val() == '-1' || $($cityIdInput).val() == ''){ 5746 $($cityInput).val(''); 5747 $($cityInput).text(''); 5748 if($($postCodeInput).length){ 5749 $($postCodeInput).val('').text(''); 5750 } 5751 if($($addressInput).length){ 5752 $($addressInput).val('').text('').attr('data-street-name', ''); 5753 } 5754 if(typeaheadStrictType == 'postCodeAutoFillByStreetNumber'){ 5755 if($($addressNumberInput+additionalStreetNbSufix).length){ 5756 $($addressNumberInput+additionalStreetNbSufix).val('').text(''); 5757 } 5758 } 5759 $('.strictTextCity').text(textCity); 5760 $('.strictTextCity').removeClass('hidden'); 5761 }else{ 5762 $('.strictTextCity').html(''); 5763 $('.strictTextCity').addClass('hidden'); 5764 } 5765 }, 1000); 5766 }); 5767 }); 5768 } 5769 } 5770 5771 function checkAddressValue($addressInput,$addressNumberInput,$addressIdInput,$cityInput,$postCodeInput){ 5772 var additionalStreetNbSufix = ''; 5773 if(showStreetAditionalFields){ 5774 additionalStreetNbSufix = '_new'; 5775 } 5776 if(typeaheadStrictType == 'postCodeAutoFillByStreet' || typeaheadStrictType == 'postCodeAutoFillByStreetNumber'){ 5777 console.log('uslov') 5778 var textStreet=''; 5779 if($('.strictTextStreet').length > 0){ 5780 textStreet = $('.strictTextStreet').data('strict-street'); 5781 } 5782 $($addressInput).on('focus',function () { 5783 $('#submit_order_one_page').addClass('no-click'); 5784 }) 5785 $($addressInput).on('focusout change', function(){ 5786 5787 setTimeout(function () { 5788 5789 if(($($addressIdInput).val() == '-1' || $($addressIdInput).val() == '') && ($($addressInput).attr('data-street-name') == '' || typeof $($addressInput).attr('data-street-name') == 'undefined')){ 5790 $($addressInput).val('').text(''); 5791 $('#submit_order_one_page').removeClass('no-click'); 5792 if($('.form-group label[for='+$addressInput.replace('#','')+'] span').length){ 5793 $('.form-group label[for='+$addressInput.replace('#','')+'] span').removeClass('hidden'); 5794 } 5795 $('.strictTextStreet').text(textStreet); 5796 $('.strictTextStreet').removeClass('hidden'); 5797 if($($postCodeInput).length){ 5798 $($postCodeInput).val('').text(''); 5799 5800 } 5801 if(typeaheadStrictType == 'postCodeAutoFillByStreetNumber'){ 5802 5803 if($($addressNumberInput+additionalStreetNbSufix).length){ 5804 $($addressNumberInput+additionalStreetNbSufix).val('').text(''); 5805 5806 } 5807 } 5808 }else{ 5809 5810 $('.strictTextStreet').html(''); 5811 $('.strictTextStreet').addClass('hidden'); 5812 if($('.form-group label[for='+$addressInput.replace('#','')+'] span').length){ 5813 $('.form-group label[for='+$addressInput.replace('#','')+'] span').addClass('hidden'); 5814 } 5815 if($($addressInput).attr('data-street-name')){ 5816 $($addressInput).val($($addressInput).attr('data-street
5816-name')); 5817 } 5818 $('#submit_order_one_page').removeClass('no-click'); 5819 5820 } 5821 }, 100); 5822 }); 5823 }else if(addressfromautocompleteStrict){ 5824 $($addressInput).on('focusout change', function(){ 5825 setTimeout(function () { 5826 if(($($addressIdInput).val() == '-1' || $($addressIdInput).val() == '') && ($($addressInput).attr('data-street-name') == '' || typeof $($addressInput).attr('data-street-name') == 'undefined')){ 5827 $($addressInput).val('').text(''); 5828 } 5829 }, 100); 5830 }); 5831 } 5832 } 5833 5834 function typeaheadAddScript() { 5835 5836 5837 checkCartCityValue("#cart_onepage_city","#cart_onepage_city_id","#cart_onepage_postcode"); 5838 5839 checkCityValue("#cart_onepage_city","#cart_onepage_city_id","#cart_onepage_postcode","#cart_onepage_street","#cart_onepage_street_no"); 5840 checkCityValue("#reg_city","#reg_city_id","#reg_postcode","#reg_address", "reg_street_no"); 5841 checkCityValue("#reg_page_city","#reg_page_city_id","#reg_page_postcode","#reg_page_address", "reg_page_street_no"); 5842 checkCityValue("#enrollment_deliveryplace","#enrollment_deliveryplace_id","#enrollment_deliverypostnumber","#enrollment_deliveryaddress","#enrollment_deliveryaddress_no"); 5843 checkCityValue("#city","#city_id","#zipcode","#street", "#streetnumber"); 5844 checkCityValue("#profile_city","#profile_city_id","#profile_postcode","#profile_address", "profile_street_no"); 5845 5846 checkAddressValue("#cart_onepage_street","#cart_onepage_street_no","#cart_onepage_street_id","#cart_onepage_city","#cart_onepage_postcode", "cart_onepage_street_no"); 5847 checkAddressValue("#reg_address","#reg_street_no","#reg_address_id","#reg_city","#reg_postcode"); 5848 checkAddressValue("#reg_page_address","#reg_page_street_no","#reg_page_address_id","#reg_page_city","#reg_page_postcode"); 5849 checkAddressValue("#enrollment_deliveryaddress","#enrollment_deliveryaddress_no","#enrollment_deliveryaddress_id","#enrollment_deliveryplace","#enrollment_deliverypostnumber"); 5850 checkAddressValue("#street","#streetnumber","#street_id","#city","#zipcode"); 5851 checkAddressValue("#profile_address","#profile_street_no","#profile_address_id","#profile_city","#profile_postcode", "profile_street_no"); 5852 5853 if(sortCityByRegionId){ 5854 var prefix = 'cart_onepage,reg_page,reg,profile'; 5855 var prefixArray = prefix.split(','); 5856 for (var i = 0; i < prefixArray.length; ++i) { 5857 sortCityByPage(prefixArray[i]); 5858 } 5859 5860 function sortCityByPage(prefixItem){ 5861 $('#'+prefixItem+'_region_id').on('change', function() { 5862 var selectedRegion = $(this).val(); 5863 $("#"+prefixItem+"_city").val('').text(''); 5864 $("#"+prefixItem+"_postcode").val('').text(''); 5865 $("#"+prefixItem+"_address").val('').text('').attr('data-street-name', ''); 5866 $("#"+prefixItem+"_street").val('').text(''); 5867 if ( $.isNumeric(selectedRegion) == false && selectedRegion != '' ) { 5868 selectedRegion = 0; 5869 } 5870 var link = $('#'+prefixItem+'_city').attr('data-typehead-url'); 5871 var linkArray = link.split('®ionId='); 5872 $('#'+prefixItem+'_city').attr('data-typehead-url', linkArray[0]+'®ionId='+selectedRegion); 5873 5874 $.ajax({ 5875 type: "POST", 5876 url: nb_active_page_url, 5877 data: { 5878 nbAjax: '1', 5879 ajax: 'yes', 5880 task: 'checks_city_name', 5881 regionId: selectedRegion 5882 }, 5883 dataType: 'json', 5884 success: function (ret) { 5885 if (ret.flag) { 5886 if(ret.list.length == 1){ 5887 $("#"+prefixItem+"_city").val(ret.list[0].name).change(); 5888 $("#"+prefixItem+"_city_id").val(ret.list[0].id).change(); 5889 } 5890 } else { 5891 5892 } 5893 } 5894 }); 5895 5896 }); 5897 }; 5898 5899 5900 } 5901 5902 } 5903 5904 var handleBackButtonProductListing = function(){ 5905 5906 if($('#f_page').length > 0 ){ 5907 var pagenumber; 5908 if (window.history && window.history.pushState) { 5909 $(window).on('popstate', function() { 5910 pagenumber = window.location.href.split('page-').pop(); 5911 let searchNumber = pagenumber; 5912 if(pagenumber.indexOf('?') !== -1 ){ 5913 searchNumber = pagenumber.split('?').shift(); 5914 } 5915 loadProductForPage(searchNumber,false,true); 5916 }); 5917 } 5918 } 5919 }; 5920 5921 var handleSavedPaymentCards = function(){ 5922 var checkid; 5923 var checkboxfield = $('.show-saved-cards-wrapper input:checkbox'); 5924 window.addEventListener('initCartOnePage', function (e) { 5925 $('.cards-wrapper-hidden').addClass('hidden'); 5926 checkboxfield.parent().removeClass('checked'); 5927 }); 5928 5929 5930 checkboxfield.click(function(){ 5931 checkid = $(this).data('cardid'); 5932 5933 if($(this).is(':checked')){ 5934 $('#cart_onepage_tokenization_content_'+checkid).removeClass('hidden'); 5935 } else { 5936 $('#cart_onepage_tokenization_content_'+checkid).addClass('hidden'); 5937 } 5938 }); 5939 } 5940 5941 var storeOnMapCategoryHideFilters = function(){ 5942 var category = $('.storelocator-panel').data('store-category'); 5943 var showFilters = $('.storelocator-panel').data('hide-filters'); 5944 var filterwrapper = $('.storelocator-panel .storelocator-filter .feature-filter');
5945 if(showFilters && category && category > 0){ 5946 filterwrapper.addClass('hidden'); 5947 } 5948 }; 5949 5950 var defaultCartEmailValue = function(){ 5951 if($('.emailValClass').length == 0){ 5952 return false; 5953 } 5954 5955 function addvalue(element, value){ 5956 element.val(value); 5957 element.parent().find('.parsley-required').remove(); 5958 } 5959 5960 var $email = $('#cart_onepage_email'); 5961 var mailPH = $email.attr('placeholder'); 5962 addvalue($email,mailPH); 5963 5964 $('#submit_order_one_page').click(function(){ 5965 addvalue($email,mailPH); 5966 }); 5967 $email.blur(function(){ 5968 if($email.val() === ''){ 5969 addvalue($email,mailPH); 5970 } 5971 }); 5972 5973 $email.click(function(){ 5974 if($email.val() === mailPH){ 5975 $email.val(''); 5976 } 5977 5978 }); 5979 5980 }; 5981 5982 var contactSubmitLoadButton = function(button){ 5983 var $button = button; 5984 var formblock = $button.parents('form'); 5985 $button.click(function (e) { 5986 setTimeout(function(){ 5987 if(formblock.find('.validation-errors-list.filled').length === 0){ 5988 $button.addClass('active'); 5989 } 5990 },100); 5991 5992 }); 5993 5994 }; 5995 5996 var verificationLoyaltyCard = function () { 5997 5998 /*SLANJE TOKENA - MODAL */ 5999 $("#verification_loyalty_card_modal .verify-item-step-1 .btn-verify").click(function(e){ 6000 6001 e.preventDefault(); 6002 6003 var url = $('#verification_loyalty_card_modal_form').attr("action"); 6004 var ticketCode = $("#verification_loyalty_card_modal #verificationLoyaltyCode").val(); 6005 6006 $.ajax({ 6007 type: "POST", 6008 url: url, 6009 data: { 6010 ajax: 'yes', 6011 task: 'verificationloyaltycard', 6012 ticketCode: ticketCode 6013 }, 6014 dataType: 'json', 6015 success: function(ret){ 6016 if(ret.flag){ 6017 /*uspesno*/ 6018 $('#verification_loyalty_card_modal .alert').removeClass('hidden').removeClass('alert-danger').addClass('alert-success').text(ret.info); 6019 $("#verification_loyalty_card_modal .verify-item-step-1").addClass("hidden"); 6020 $("#verification_loyalty_card_modal .verify-item-step-2").removeClass("hidden"); 6021 } else { 6022 /*greska*/ 6023 $('#verification_loyalty_card_modal .alert').removeClass('hidden').removeClass('alert-success').addClass('alert-danger').text(ret.info); 6024 } 6025 } 6026 }); 6027 6028 }); 6029 6030 /*POTVRDA TOKENA - MODAK*/ 6031 $("#verification_loyalty_card_modal .verify-item-step-2 .btn-confirm-token").click(function(e){ 6032 6033 e.preventDefault(); 6034 6035 var url = $('#verification_loyalty_card_modal_form').attr("action"); 6036 var ticketCode = $("#verification_loyalty_card_modal #verificationLoyaltyCode").val(); 6037 var verificationToken = $("#verification_loyalty_card_modal #verificationToken").val(); 6038 6039 $.ajax({ 6040 type: "POST", 6041 url: url, 6042 data: { 6043 ajax: 'yes', 6044 task: 'confirmverificationtoken', 6045 ticketCode: ticketCode, 6046 verificationToken: verificationToken 6047 }, 6048 dataType: 'json', 6049 success: function(ret){ 6050 if(ret.flag){ 6051 /*uspesno*/ 6052 $('#verification_loyalty_card_modal .alert').removeClass('hidden').removeClass('alert-danger').addClass('alert-success').text(ret.info); 6053 $("#verification_loyalty_card_modal .verify-item-step-2").addClass("hidden"); 6054 $("#verification_loyalty_card_btn_modal").addClass("hidden"); 6055 location.reload(); 6056 } else { 6057 /*greska*/ 6058 $('#verification_loyalty_card_modal .alert').removeClass('hidden').removeClass('alert-success').addClass('alert-danger').text(ret.info); 6059 } 6060 } 6061 }); 6062 6063 }); 6064 6065 /*SLANJE TOKENA - KORPA*/ 6066 $(".send-verification-token").each(function(e) { 6067 6068 $(this).on("click", function(event){ 6069 6070 var btnId = event.target.id; 6071 var url = $(this).data('loyalty-code-url'); 6072 var ticketCode = $(this).data('ticket'); 6073 var loyaltyCode = $(this).data('loyalty-code'); 6074 var $this = $(this); 6075 6076 $this.addClass('active'); 6077 6078 $.ajax({ 6079 type: "POST", 6080 url: url, 6081 data: { 6082 ajax: 'yes', 6083 task: 'verificationloyaltycard', 6084 ticketCode: ticketCode, 6085 loyaltyCode: loyaltyCode, 6086 type: 'unregister' 6087 }, 6088 dataType: 'json', 6089 success: function(ret){ 6090 if(ret.flag){ 6091 /*uspesno*/ 6092 $('#cart_verification_loyalty_card_'+loyaltyCode+' .alert').removeClass('hidden').removeClass('alert-danger').addClass('alert-success').text(ret.info); 6093 $('#btn_send_verification_token_'+loyaltyCode).prop("disabled", true); 6094 CustomEventTrigger('loyaltyVerifiedToken'); 6095 } else { 6096 /*greska*/ 6097 $('#cart_verification_loyalty_card_'+loyaltyCode+' .alert').removeClass('hidden').removeClass('alert-success').addClass('alert-danger').text(ret.info); 6098 } 6099 $this.removeClass('active'); 6100 } 6101 }); 6102 }); 6103 }); 6104 6105 /*POTVRDA TOKENA - KORPA*/ 6106 $(".confirm-verification-token").each(function(e) { 6107 $(this).on("click", function(event){ 6108 6109 var btnId = event.target.id; 6110 var url = $(this).data('loyalty-code-url'); 6111 var ticketCode = $(this).data('ticket'); 6112 var loyaltyCode = $(this).data('loyalty-code'); 6113 var verificationToken = $("#ticket_verification_token_"+loyaltyCode).val(); 6114 var $this = $(this); 6115 6116 $this.addClass('active'); 6117 6118 $.ajax({ 6119 type: "POST", 6120 url: url, 6121 data: { 6122 ajax: 'yes', 6123 task: 'confirmverificationtoken', 6124 ticketCode: ticketCode, 6125 loyaltyCode: loyaltyCode, 6126 type: 'unregister', 6127 verificationToken: verificationToken 6128 }, 6129 dataType: 'json', 6130 success: function(ret){ 6131 if(ret.flag){ 6132 /*uspesno*/ 6133 $('#cart_verification_loyalty_card_'+loyaltyCode+' .alert').removeClass('hidden').removeClass('alert-danger').addClass('alert-success').text(ret.info); 6134 $('#btn_confirm_verification_token_'+loyaltyCode).prop("disabled", true); 6135 $("#verification_loyalty_card_btn_modal").addClass("hidden"); 6136 CustomEventTrigger('loyaltyVerifiedToken'); 6137 } else { 6138 /*greska*/ 6139 $('#cart_verification_loyalty_card_'+loyaltyCode+' .alert').removeClass('hidden').removeClass('alert-success').addClass('alert-danger').text(ret.info); 6140 } 6141 $this.removeClass('active'); 6142 } 6143 }); 6144 }); 6145 }); 6146 }; 6147 6148 var userRemoveLoyaltyCard = function (editPage) { 6149 let $buttonRemove = $("#profile_remove_loyalty"); 6150 var url = $("#profile_remove_loyalty").data('profile-url'); 6151 let message = $buttonRemove.data('alert'); 6152 let editPageNew = editPage; 6153 6154 function callRemoveAjax(editPage,url){ 6155 let reloadpage = true; 6156 if(editPage){ 6157 reloadpage = false;
6158 } 6159 $.ajax({ 6160 type: "POST", 6161 url: url, 6162 data: { 6163 ajax: 'yes', 6164 task: 'removeloyaltycard', 6165 }, 6166 dataType: 'json', 6167 success: function(ret){ 6168 if(ret.flag){ 6169 /*uspesno*/ 6170 if(reloadpage){ 6171 location.reload(); 6172 } 6173 6174 } else { 6175 /*greska*/ 6176 alert('Nastala je greška prilikom brisanja Loyalty kartice'); 6177 if(reloadpage){ 6178 location.reload(); 6179 } 6180 } 6181 } 6182 }); 6183 } 6184 if(editPageNew){ 6185 callRemoveAjax(editPageNew,url); 6186 return false; 6187 } 6188 6189 $buttonRemove.on("click", function(event){ 6190 if(confirm(message)){ 6191 callRemoveAjax(editPage,url); 6192 } 6193 6194 }); 6195 }; 6196 6197 var removeVirtualCardOnPhoneChange = function (){ 6198 let phone = $('#profile_phone'); 6199 let inputStartVal = phone.val(); 6200 let message = phone.data('alert'); 6201 if(!message){ 6202 console.log('Poruka ne postoji'); 6203 return; 6204 } 6205 phone.on('change',function(){ 6206 bootbox.confirm(message, function(result) { 6207 if(!result){ 6208 phone.val(inputStartVal); 6209 return; 6210 }else{ 6211 userRemoveLoyaltyCard(true); 6212 } 6213 }); 6214 }); 6215 } 6216 6217 6218 function checkStoreDeliveryTime(productId, productCombId, catalogId){ 6219 6220 if($('.block.detail-product-info-delivery').length < 1){ 6221 return true; 6222 } 6223 6224 $.ajax({ 6225 type: "POST", 6226 url: nb_active_page_url, 6227 dataType : 'html', 6228 data: { 6229 ajax: "yes", 6230 task: "storeDeliveryTime", 6231 productId: productId, 6232 productCombId: productCombId, 6233 catalogId: catalogId, 6234 inserBlock: 'product/product_detail/delivery_info', 6235 nbAjax: 1 6236 }, 6237 cache: false, 6238 contentType: "application/x-www-form-urlencoded;charset=UTF-8", 6239 success: function(ret) { 6240 $('.block.detail-product-info-delivery').replaceWith(ret); 6241 } 6242 }); 6243 } 6244 6245 var newAddressFromList = function (){ 6246 var listID = $('#cart_onepage_new_address_list_id'); 6247 if(listID.length > 0){ 6248 $('.address-setnew input').prop('readonly',true); 6249 $('.address-setnew .twitter-typeahead').css('pointer-events','none'); 6250 $('.address-setnew .form-group:not(.main-select-field)').addClass('hidden'); 6251 listID.change(function(){ 6252 if(listID.val()){ 6253 $('.address-setnew .form-group').removeClass('hidden'); 6254 }else{ 6255 $('.address-setnew .form-group:not(.main-select-field)').addClass('hidden'); 6256 } 6257 }) 6258 } 6259 }; 6260 6261 var addImgSrcToLink = function (wrapper){ 6262 var a_src=''; 6263 wrapper.find('img').each(function(){ 6264 a_src = $(this).attr('src'); 6265 console.log(a_src); 6266 $(this).parents('a').attr('href',a_src); 6267 }); 6268 } 6269 6270 var pageZoomLevel = function(){ 6271 window.addEventListener("resize", getSizes, false); 6272 function getSizes() { 6273 var $body = $('body'); 6274 var zoom = ((window.outerWidth - 10) / window.innerWidth) * 100; 6275 zoom = Math.round(zoom); 6276 $body.removeClass(function (index, css) { 6277 return (css.match(/(^|\s)wpzm-\S+/g) || []).join(' '); 6278 }); 6279 $body.addClass('wpzm-'+zoom); 6280 } 6281 getSizes(); 6282 } 6283 6284 6285 var cookieInfoReadMoreV2 = function(){ 6286 $('.cookie-info-slider-v2 .read-more-description').click(function (){ 6287 $(this).parent().toggleClass('more-text'); 6288 6289 if($(this).parent().hasClass('more-text')){ 6290 $(this).html($(this).attr('data-less-text')); 6291 } else{ 6292 $(this).html($(this).attr('data-more-text')); 6293 } 6294 }) 6295 } 6296 6297 var soonSaleProduct = function(){
6298 $('#modal_soon_sale_product').on('shown.bs.modal', function (e) { 6299 $(".newsletter-form .send-request-add-soon-sale").click(function(e){ 6300 NbSoonSales.prototype.addProductSoonInSale(e); 6301 }); 6302 }); 6303 } 6304 6305 function confirmGDPR(){ 6306 createCookie('confirm_gdpr', 1, 365); 6307 createCookie('site_cookie_info', 2, 365) 6308 location.reload(); 6309 } 6310 6311 // New script 6312 function confirmGDPR_v2(){ 6313 createCookie('site_cookie_info', 2, 365) 6314 $('.cokie-info-wrapper .items-wrapper .item input').each(function () { 6315 var cookieName = $(this).attr('name'); 6316 if($(this).is(':checked') && $(this).val() == '1' && cookieName.includes('site_')){ 6317 createCookie(cookieName, 2, 365); 6318 6319 if(cookieName === 'site_marketing_info'){ 6320 createCookie('confirm_gdpr', 1, 365); 6321 location.reload(); 6322 } 6323 } 6324 }); 6325 //location.reload(); 6326 } 6327 6328 function declineCookieGDPR(btn){ 6329 if(!btn){ 6330 createCookie('confirm_gdpr', 0, 1); 6331 createCookie('site_cookie_info', 2, 1); 6332 location.reload(); 6333 return false; 6334 } 6335 question = ''; 6336 if(btn.data('question') !== ''){ 6337 question = btn.data('question'); 6338 } 6339 if(question){ 6340 bootbox.confirm(question, function(result){ 6341 if(result){ 6342 //deleteAllCookies(); 6343 createCookie('confirm_gdpr', 0, 1); 6344 //eraseCookie('site_cookie_info'); 6345 createCookie('site_cookie_info', 2, 1); 6346 location.reload(); 6347 } 6348 6349 }) 6350 }else{ 6351 $('.cookie-info-slider').hide( "slow" ); 6352 createCookie('confirm_gdpr', 0, 1); 6353 createCookie('site_cookie_info', 2, 1); 6354 } 6355 6356 } 6357 6358 function deleteAllCookies() { 6359 var allCookies = document.cookie.split(';'); 6360 6361 // The "expire" attribute of every cookie is 6362 // Set to "Thu, 01 Jan 1970 00:00:00 GMT" 6363 for (var i = 0; i < allCookies.length; i++) 6364 document.cookie = allCookies[i] + "=;expires=" 6365 + new Date(0).toUTCString(); 6366 6367 6368 } 6369 6370 var ckEditorAccordian = function (){ 6371 var $wrapper = $('.ckeditor-acordian.acordian-items-wrapper'); 6372 if($wrapper.length === 0){ 6373 return false; 6374 } 6375 $wrapper.each(function (){ 6376 var $item = $(this).find('.item'); 6377 $item.each(function(){ 6378 var thisItem = $(this); 6379 $(this).find('.title').on('click',function(){ 6380 if(thisItem.hasClass('active')){ 6381 thisItem.removeClass('active'); 6382 }else{ 6383 $item.removeClass('active'); 6384 thisItem.toggleClass('active'); 6385 } 6386 6387 }) 6388 }); 6389 }); 6390 } 6391 6392 var showHidePassword = function(id_element,eyeElement){ 6393 console.log('click'); 6394 eyeElement.toggleClass('active'); 6395 if(id_element.attr('type') == 'password'){ 6396 id_element.attr('type','text'); 6397 }else{ 6398 id_element.attr('type','password'); 6399 } 6400 } 6401 6402 var logoutUser = function(){ 6403 CustomEventTrigger('logoutUserEvent'); 6404 } 6405 6406 var validateTaxFromWebservice = function(input){ 6407 var inputField = $('#'+input); 6408 var companynameField = $('#'+input.replace(/_company_pib/g, '_company_name')); 6409 var idendificationField = $('#'+input.replace(/_company_pib/g, '_user_identification')); 6410 var identificationType = $('#'+input.replace(/_company_pib/g, '_user_identification_type')); 6411 var identificationCode = $('#'+input.replace(/_company_pib/g, '_user_identification_code')); 6412 if (inputField.length && inputField.data('check-tax') && inputField.attr('data-check-tax') != '') { 6413 idendificationField.prop('disabled', false).prop('readonly', true); 6414 inputField.on('keyup', function(){ 6415 var typeIdentification = ''; 6416 if($('#'+input.replace(/_company_pib/g, '_user_identification_type')).val() != ''){ 6417 typeIdentification = $('#'+input.replace(/_company_pib/g, '_user_identification_type')+' option:selected').text() 6418 }; 6419 var vatNumber = inputField.val(); 6420 var initCheck = inputField.attr('data-check-tax');
6421 var validateTaxFromWebserviceUrl = nb_site_url+'/webservis/users/check_user_vat_number.php?vatNumber='+vatNumber+'&init='+initCheck+'&typeIdentification='+typeIdentification; 6422 $.ajax({ 6423 type: "POST", 6424 url: validateTaxFromWebserviceUrl, 6425 dataType: 'json', 6426 success: function(ret){ 6427 window.ParsleyValidator.addValidator(input, 6428 function (value, requirement) { 6429 return ret.flag; 6430 }, 34) 6431 .addMessage($('html')[0].lang, input, ret.info); 6432 inputField.parsley().validate(); 6433 idendificationField.val(ret.regNumber); 6434 identificationType.val(ret.userPublicIdentificationTypeId); 6435 identificationCode.val(ret.userPublicIdentificationCode); 6436 companynameField.val(ret.companyName); 6437 } 6438 }); 6439 }); 6440 } 6441 } 6442 6443 var getMenuSubcategories = function() { 6444 let $categorymenuajax = $('#categorymenuajax').length; 6445 6446 if($categorymenuajax === 0){ 6447 $.ajax({ 6448 type: "POST", 6449 url: nb_active_page_url, 6450 dataType: 'json', 6451 data: { 6452 ajax: "yes", 6453 task: "get_menu_subcategories", 6454 nbAjax: 1 6455 }, 6456 contentType: "application/x-www-form-urlencoded;charset=UTF-8", 6457 success: function(ret){ 6458 if(ret.flag){ 6459 $('.menu-generic-subcategories').html(ret.html); 6460 getLinkFromSession(); 6461 if($(window).width() > 767){ 6462 $('#categorymenuajax ul > li').mouseover(function(){ 6463 $(this).find('.nav-main-dropdown-wrapper').removeClass('hidden'); 6464 }); 6465 $('#categorymenuajax ul > li').mouseout(function(){ 6466 $(this).find('.nav-main-dropdown-wrapper').addClass('hidden'); 6467 }); 6468 6469 $('#categorymenuajax .nav-main-dropdown-item.third-level').mouseover(function(){ 6470 $(this).addClass('active'); 6471 }); 6472 $('#categorymenuajax .nav-main-dropdown-item.third-level').mouseout(function(){ 6473 $(this).removeClass('active'); 6474 }); 6475 }else{ 6476 /*Mob*/ 6477 $('#categorymenuajax ul > li > a > i').on('click',function (e){ 6478 e.preventDefault(); 6479 e.stopPropagation(); 6480 let idd = $(this).parents('li').attr('id'); 6481 $('#categorymenuajax ul > li').each(function (e){ 6482 if($(this).attr('id') !== idd){ 6483 $(this).find('.nav-main-dropdown-wrapper').addClass('hidden'); 6484 } 6485 }); 6486 $('li#'+idd).find('.nav-main-dropdown-wrapper').toggleClass('hidden'); 6487 }); 6488 $('#categorymenuajax .nav-main-dropdown-item.third-level a > i').on('click',function (e){ 6489 e.preventDefault(); 6490 e.stopPropagation(); 6491 $(this).parents('.third-level').toggleClass('active'); 6492 $(this).parents('.third-level').find('.nav-main-dropdown-wrapper').addClass('hidden'); 6493 $(this).parents('.third-level.active').find('.nav-main-dropdown-wrapper').removeClass('hidden'); 6494 6495 }); 6496 6497 } 6498 6499 } 6500 } 6501 }); 6502 } 6503 6504 } 6505 6506 var getLinkFromSession = function(){ 6507 6508 let ajaxWrapperlink = $('#categorymenuajax a.special'); 6509 6510 ajaxWrapperlink.on('click',function(e){ 6511 e.preventDefault(); 6512 e.stopPropagation(); 6513 let link = $(this).attr('href'); 6514 6515 $.ajax({ 6516 type: "POST", 6517 url: nb_active_page_url, 6518 dataType: 'json', 6519 data: { 6520 ajax: "yes", 6521 task: "format_url", 6522 url: link, 6523 nbTask: 'product_group_engines', 6524 nbAjax: 1 6525 }, 6526 contentType: "application/x-www-form-urlencoded;charset=UTF-8", 6527 success: function(ret){ 6528 window.location.href = ret.url; 6529 } 6530 }); 6531 6532 }); 6533 } 6534
6535 var validateAllTaxFromWebservice = function (){ 6536 validateTaxFromWebservice('reg_page_company_pib'); 6537 validateTaxFromWebservice('reg_company_pib'); 6538 validateTaxFromWebservice('profile_pib'); 6539 validateTaxFromWebservice('cart_onepage_company_pib'); 6540 validateTaxFromWebservice('cart_onepage_company_pib_natural'); 6541 validateTaxFromWebservice('cart_onepage_billing_company_pib'); 6542 validateTaxFromWebservice('cart_onepage_billing_company_pib_natural'); 6543 validateTaxFromWebservice('reclamation_public_request_iban'); 6544 6545 }; 6546 6547 var addRequiredFieldsApostrophe = function(){ 6548 let id,text,label; 6549 $('.address-no-registration input,' + 6550 '.address-no-registration select, ' + 6551 '.address-registrated input, ' + 6552 '.address-registrated select').each(function(){ 6553 if($(this).prop('required') === true){ 6554 id = $(this).attr('id'); 6555 label = $('label[for="'+id+'"]'); 6556 text = label.html(); 6557 label.html('*'+text); 6558 } 6559 }); 6560 } 6561 6562 function RateCommentsShow(){ 6563 if(nb_type_page === 'product'){ 6564 var id = window.location.hash; 6565 if(!id){ 6566 return false; 6567 } 6568 let tabid = id.replace('#',''); 6569 6570 setTimeout(function (e) { 6571 $("a[href='"+id+"']").click(); 6572 if(typeof ($(id).offset()) != 'undefined') { 6573 //$('html, body').animate({scrollTop:($(id).offset().top - 220)}, 'slow'); 6574 document.getElementById(tabid).scrollIntoView({ 6575 behavior: 'auto', 6576 block: 'center', 6577 inline: 'center' 6578 }); 6579 } 6580 },500) 6581 6582 } 6583 6584 } 6585 6586 function modalAfterAddToCartProducts(product) { 6587 6588 if(typeof disableMultipleProductsLoad !== "undefined" && !disableMultipleProductsLoad) return; 6589 6590 if(!$('#modal_after_add_to_cart').length){ 6591 console.log('nije ukluceno') 6592 return false; 6593 } 6594 6595 //var product = product; 6596 var product = JSON.parse(window.localStorage.getItem("addedToCartProduct")); 6597 let productId; 6598 let productCombId; 6599 let productAmount; 6600 let productSize; 6601 6602 if(typeof product === "object" && product === null){ 6603 console.log('No product'); 6604 return false; 6605 } 6606 6607 if(typeof product === "object" && product != null){ 6608 productId = product.id; 6609 productCombId = product.combId; 6610 productAmount = product.amount; 6611 productSize = product.size; 6612 }else{ 6613 productId = product; 6614 productCombId = false; 6615 productAmount = false; 6616 productSize = false; 6617 } 6618 6619 //init ater add products slider 6620 function initAfterAddToCartSlider() { 6621 var afterAddToCartproductsSliderElementId = '.after-add-to-cart > .slider-init'; 6622 var afterAddToCartrproductsSliderOptions = {dots: true, arrows: false, slidesToShow: 4, 6623 responsive: [ 6624 {breakpoint: 1400, settings: { slidesToShow: 4}}, 6625 {breakpoint: 1025, settings: { slidesToShow: 3}}, 6626 {breakpoint: 768, settings: { slidesToShow: 3}}, 6627 {breakpoint: 480, settings: { slidesToShow: 1.5}} 6628 ]}; 6629 6630 initSlider(afterAddToCartproductsSliderElementId, afterAddToCartrproductsSliderOptions); 6631 } 6632 6633 6634 $.ajax({ 6635 type: "POST", 6636 url: nb_active_page_url, 6637 dataType: 'json', 6638 data: { 6639 nbAjax:1, 6640 task: "products_after_add_to_cart", 6641 block: "product/product_slider/product_slider_after_add_to_cart", 6642 productId: productId,
6643 productCombId: productCombId, 6644 amount: productAmount, 6645 size: productSize 6646 }, 6647 cache: false, 6648 contentType: "application/x-www-form-urlencoded;charset=UTF-8", 6649 success: function(ret) { 6650 if(ret.flag && ret.html !== "" && ret.html !== " "){ 6651 $('#add-to-cart-ajax-wrapper').html(ret.html); 6652 nbshopJS.CustomEventTrigger('products_after_add_to_cart'); 6653 window.localStorage.removeItem("addedToCartProduct"); 6654 initAfterAddToCartSlider(); 6655 app.handlePopover($('.product-item [rel=popover]')); 6656 6657 if(typeof disableMultipleProductsLoad !== "undefined" && disableMultipleProductsLoad) disableMultipleProductsLoad = false; 6658 6659 }else{ 6660 window.localStorage.removeItem("addedToCartProduct"); 6661 console.log('nema proizvoda'); 6662 } 6663 } 6664 }); 6665 6666 $("#modal_after_add_to_cart").on("hidden.bs.modal", function () { 6667 if(typeof disableMultipleProductsLoad !== "undefined" && !disableMultipleProductsLoad) disableMultipleProductsLoad = true; 6668 }) 6669 6670 }; 6671 6672 function initSugestiveShopping() { 6673 if($('#modal_after_add_to_cart').length === 0){ 6674 return false; 6675 } 6676 /* window.addEventListener('cartButtonClick', function (e){ 6677 nbshopJS.modalAfterAddToCartProducts(e.detail); 6678 });*/ 6679 6680 let optionsBtn = $(".options-wrapper"); 6681 6682 if(nb_type_page !== 'home' || (typeof optionsBtn != "undefined" && optionsBtn.length > 0)) { 6683 $(window).on('products_after_add_to_cart', function (){ 6684 $('#modal_after_add_to_cart').modal('show'); 6685 }) 6686 } 6687 } 6688 6689 function modalHeadlinesActionTicket(){ 6690 let $modal = $('#headlines_action_modal'); 6691 if($modal.length === 0){ 6692 return false; 6693 } 6694 let $showModal = false; 6695 let cookieValue = readCookie('NBheadlinesActionModal'); 6696 6697 let now = new Date(); 6698 let time = now.getTime(); 6699 //time += 3600 * 1000; 6700 time += (3600 * 1000)*3; //3h 6701 6702 now.setTime(time); 6703 6704 if(cookieValue != '1'){ 6705 setTimeout(function(){ 6706 $modal.modal('show'); 6707 },500) 6708 6709 } 6710 6711 $modal.on('hide.bs.modal', function(e){ 6712 createCookie('NBheadlinesActionModal', "1", 0.21); 6713 }); 6714 6715 } 6716 6717 function checkAllCookies() { 6718 $('.cokie-info-wrapper .check-cookies-wrapper .item input, .cookie-info-slider-items .item input').each(function () { 6719 if(!$(this).is(':checked')){ 6720 $(this).trigger('click'); 6721 } 6722 }) 6723 6724 $('.cookie-agree, .cookie-agree-gdpr').trigger('click') 6725 } 6726 6727 function acceptAllCookies() { 6728 $('.cookie-info-slider-v2 .cokie-info-wrapper .check-cookies-wrapper .item input, .checkbox-options-wrapper .item input').each(function () { 6729 if(!$(this).is(':checked')){ 6730 $(this).trigger('click'); 6731 } 6732 }) 6733 6734 confirmGDPR_v2(); 6735 } 6736
6737 function acceptNecessaryCookies() { 6738 $('.cookie-info-slider-v2 .cokie-info-wrapper .check-cookies-wrapper .item input').each(function () { 6739 if($(this).is(':checked')){ 6740 $(this).trigger('click'); 6741 } 6742 }) 6743 6744 createCookie('site_cookie_info', 2, 1); 6745 location.reload(); 6746 } 6747 6748 function checkAll($wrapper,element){ 6749 if($wrapper.hasClass('chcekcedall')){ 6750 $wrapper.find('input').icheck('unchecked'); 6751 $wrapper.removeClass('chcekcedall'); 6752 element.text(element.data('checkedalltext')); 6753 6754 }else{ 6755 $wrapper.find('input').icheck('checked'); 6756 $wrapper.addClass('chcekcedall'); 6757 element.text(element.data('uncheckedalltext')); 6758 } 6759 6760 } 6761 6762 function openCookieDescription(){ 6763 $('.cookie-read-more-wrapper').toggleClass('active'); 6764 } 6765 6766 var formPhoneMask = function(){ 6767 let phonefield = $('input[type="tel"]'); 6768 6769 phonefield.each(function(){ 6770 6771 let $tel_input = $(this); 6772 let id = $tel_input.attr('id'); 6773 let $wrapper = $tel_input.parents('.form-group '); 6774 let label_text = $('label[for="'+id+'"]').text(); 6775 let prefix = id.replace('phone',''); 6776 let init_val = $tel_input.val(); 6777 let readonly = $tel_input.attr('readonly'); 6778 6779 let $template = $('#tmp-phone-with-prefix'); 6780 let testhtml = $template.html(); 6781 if(testhtml){ 6782 $tel_input.addClass('hidden'); 6783 let newtest = testhtml.replaceAll('--',prefix) 6784 $wrapper.append(newtest); 6785 fillOnChange($tel_input,prefix,readonly); 6786 if($tel_input.val()){ 6787 prepopulated($tel_input,prefix); 6788 } 6789 } 6790/* 6791 $.ajax({ 6792 type: "POST", 6793 url: nb_active_page_url, 6794 dataType: 'json', 6795 data: { 6796 nbAjax:1, 6797 task:"form_phone_mask", 6798 prefix:prefix, 6799 label: label_text 6800 }, 6801 contentType: "application/x-www-form-urlencoded;charset=UTF-8", 6802 success: function(ret) { 6803 if(ret.flag){ 6804 $tel_input.addClass('hidden'); 6805 $wrapper.append(ret.html); 6806 fillOnChange($tel_input,prefix,readonly); 6807 if($tel_input.val()){ 6808 prepopulated($tel_input,prefix); 6809 } 6810 }else{ 6811 6812 } 6813 } 6814 }); 6815 */ 6816 }); 6817 6818 function fillOnChange(OriginalElement, prefix,readonly){ 6819 let select_id = '#'+prefix+'p_prefix' 6820 let select = $(select_id); 6821 let newInput = $('#'+prefix+'p_after_prefix'); 6822 let selval = select.val(); 6823 let selinp = ''; 6824 let fullinp = ''; 6825 6826 if(readonly){ 6827 select.attr('readonly',true); 6828 newInput.attr('readonly',true); 6829 } 6830 6831 select.on('change', function(){ 6832 selval = $(this).val(); 6833 selinp = newInput.val(); 6834 fullinp = selval+selinp; 6835 changeInput(OriginalElement,fullinp) 6836 }) 6837 6838 newInput.on('keyup', function(){ 6839 selinp = $(this).val(); 6840 fullinp = selval+selinp; 6841 changeInput(OriginalElement,fullinp) 6842 6843 }) 6844 6845 } 6846 function prepopulated(originalValue,prefix){ 6847 let value = originalValue.val(); 6848 let select_id = '#'+prefix+'p_prefix'; 6849 let newInput = $('#'+prefix+'p_after_prefix'); 6850 let options = $(select_id+' option'); 6851 let newVal = ''; 6852 options.each(function(){ 6853 if(originalValue.val().includes($(this).val())){ 6854 newVal = originalValue.val().replace($(this).val(),''); 6855 $(select_id).val($(this).val()); 6856 newInput.val(newVal); 6857 }else{ 6858 originalValue.val('') 6859 } 6860 6861 }); 6862 6863 } 6864 6865 function changeInput(element,value){ 6866 element.val(value) 6867 element.trigger('change'); 6868 } 6869 6870 } 6871 6872 var successAddToCartBtn = function(){ 6873 let product = JSON.parse(window.localStorage.getItem("addedToCartProduct")); 6874 if(product){ 6875 6876 let $btn = $('.btn-activated'); 6877 let $btnHtml = $btn; 6878 if($btn.hasClass('quick-buy-color-size-btn')){ 6879 $btnHtml = $('.btn-activated span'); 6880 } 6881 $btnHtml.html($btn.data('btn-text-addedtocart')); 6882 setTimeout(function(){ 6883 $btnHtml.html($btn.data('btn-text-addtocart')); 6884 $btnHtml.attr('data-content', ''); 6885 $btnHtml.removeClass('cart-increased'); 6886 $btnHtml.removeClass('btn-activated'); 6887 }, 2000); 6888 } 6889 } 6890 6891 var autocompleteValidation = function(){ 6892 6893 if(typeof nb_countryGeoId === "undefined"){ 6894 return false 6895 } 6896 if(typeof nb_addressByCountryGeoId === "undefined"){ 6897 return false 6898 } 6899 if(nb_addressByCountryGeoId == ''){ 6900 return false 6901 } 6902 console.log('Validacija adrese po drzavi'); 6903 6904 let activeCountry = nb_countryGeoId; 6905 let countryid = '_country_geo_id'; 6906 var $selectCountry = $('[id$='+countryid+']'); 6907 let sel_val =''; 6908 let field_prefix= ''; 6909 let $adressField =''; 6910 let $cityField =''; 6911 let $cityFieldId =''; 6912 let $postcodeField =''; 6913 6914 6915 $('#cart_onepage_country_geo_id').parent().addClass('up-change'); 6916 6917 $selectCountry.each(function(){ 6918 sel_val = $(this).val(); 6919 field_prefix = $(this).attr('id').replace(countryid,''); 6920 6921 $cityField = $('#'+field_prefix+'_city'); 6922 $cityFieldId = $('#'+field_prefix+'_city_id'); 6923 $postcodeField = $('#'+field_prefix+'_postcode'); 6924 if(sel_val === activeCountry){ 6925 //ne inicijalizuje se posto je vec prosla inicijalizacija 6926 $postcodeField.renameAttr('data-parsley-lengthone-false','data-
6926parsley-lengthone') 6927 //initFormAutocomplete(field_prefix,$postcodeField); 6928 }else{ 6929 /* Gasenje autocomplete */ 6930 //$cityField.removeEventListener("focusout"); 6931 $cityField.unbind('focusout change'); 6932 $cityField.on('focusout change', function(){ 6933 return false; 6934 }) 6935 6936 removeFormAutocomplete($cityField,$postcodeField,$cityFieldId,field_prefix) 6937 } 6938 }); 6939 6940 $selectCountry.on('change',function(){ 6941 sel_val = $(this).val(); 6942 field_prefix = $(this).attr('id').replace(countryid,''); 6943 6944 $cityField = $('#'+field_prefix+'_city'); 6945 $postcodeField = $('#'+field_prefix+'_postcode'); 6946 6947 /*Brisanje predhodne vrednosti*/ 6948 $cityField.val(''); 6949 $postcodeField.val(''); 6950 6951 if(sel_val === activeCountry){ 6952 initFormAutocomplete(field_prefix,$postcodeField); 6953 $postcodeField.renameAttr('data-parsley-lengthone-false','data-parsley-lengthone') 6954 }else{ 6955 /*Gasenje autocomplete*/ 6956 $cityField.unbind('focusout change'); 6957 removeFormAutocomplete($cityField,$postcodeField,$cityFieldId,field_prefix) 6958 } 6959 }); 6960 6961 function resetFields(){ 6962 6963 } 6964 6965 function initFormAutocomplete(field_prefix,$postcodeField){ 6966 app.handleTypehead().initTypeheadCities(field_prefix+'_city_id', field_prefix+'_city', field_prefix+'_address', field_prefix+'_postcode', field_prefix+'_region_id'); 6967 $postcodeField.attr('readonly',true); 6968 $postcodeField.renameAttr('data-parsley-lengthone-false','data-parsley-lengthone') 6969 } 6970 6971 function removeFormAutocomplete($cityField,$postcodeField,$cityFieldId,prefix){ 6972 $cityField.typeahead('destroy'); 6973 $cityFieldId.attr('id',field_prefix+'_city_id_no'); 6974 console.log($cityFieldId) 6975 $cityFieldId.attr('name',field_prefix+'_city_id_no'); 6976 $postcodeField.attr('readonly',false); 6977 $postcodeField.renameAttr('data-parsley-lengthone','data-
6977parsley-lengthone-false') 6978 } 6979 6980 6981 } 6982 6983 var intNewCommentsAjax = function(){ 6984 if($("#tab_product_comments").hasClass('active') || $("#tab_product_comments_two").hasClass('active') || $("#tab_product_comments_two_v1").hasClass('active')){ 6985 loadCommentsData(0); 6986 } 6987 6988 if(($('#commentsContent *').length == 0) && $('#commentsContent').length && $('#commentsContent').parents(".product-generic-tabs").length == 0){ 6989 loadCommentsData(0); 6990 } 6991 6992 $('a[href="#tab_product_comments"]').click(function(){ 6993 loadCommentsData(0); 6994 }); 6995 $('a[href="#tab_product_comments_two"]').click(function(){ 6996 loadCommentsData(0); 6997 }); 6998 $('a[href="#tab_product_comments_two_v1"]').click(function(){ 6999 loadCommentsData(0); 7000 }); 7001 } 7002 7003 var handleProductSizeTransition = function () { 7004 $(window).on("storeAvailabilityLoaded", function () { 7005 7006 let productStateWrapper = $(".productstate-product"); 7007 7008 if (typeof productStateWrapper === "undefined" || productStateWrapper.length === 0 || nb_type_page !== "product") return; 7009 7010 const observer = new IntersectionObserver(entries => { 7011 entries.forEach(entry => { 7012 if (entry.isIntersecting) { 7013 productStateInViewportCheck = true; 7014 nbshopJS.selectStoreProductSize(); 7015 } else { 7016 productStateInViewportCheck = false; 7017 } 7018 }); 7019 }, { 7020 rootMargin: "50px 50px" 7021 }); 7022 7023 productStateWrapper.each(function() { 7024 observer.observe(this); 7025 }); 7026 }); 7027 } 7028 7029 var downloadCartProformaInvoice = function(sessionId, secureKey){ 7030 var formData = $("#cart_onepage_form").serialize(); 7031 7032 $.ajax({ 7033 type: "POST", 7034 url: getCartPageUrl(), 7035 data: formData+'&ajax=yes&reload=no&task=downloadProformaInvoice&sessionId='+sessionId+'&secureKey='+secureKey, 7036 contentType: "application/x-www-form-urlencoded;charset=UTF-8", 7037 dataType: 'json', 7038 success: function(ret) { 7039 if(ret.flag && ret.file){ 7040 7041 var url = '?ajax=yes&reload=no&task=downloadProformaInvoice&preview=yes&file='+ret.file; 7042 window.open(url); 7043 return; 7044 } 7045 return; 7046 } 7047 }); 7048 }; 7049 7050 return { 7051 mobileBreakpoint: mobileBreakpoint, 7052 //setLocales: setLocales, 7053 init: function(){ 7054 //initCustomEvent(); 7055 //mozda bude visa, mozda bi trebalo samo osnovno da se inicijalizuje 7056 windowWidth(); 7057 windowHeight(); 7058 handleAddElementClasse('.text-wrapper table','table'); 7059 handleAccordion($('#accordion')); 7060 handleModalCenter(); 7061 handleProductListImgSlider(); 7062 handleCollapsingFooterMenu(); 7063 itemProductListGrid(); 7064 handleAppendtoHandlinesSlider(); 7065 handleShowMoreText(); 7066 handleProductSizeSelector(); 7067 handleMasonry(); 7068 HandleGiftCardOptionsCheck(); 7069 toggleMapStoreList(); 7070 changeProductQuantity(); 7071 handleYoutubeAspectRatioArticleVideo(); 7072 filterSelectorActive(); 7073 mobileSideCartDinamicHeight(); 7074 if($(".counter").length){ 7075 handleSliderCountdown($(".counter")); 7076 } 7077 articleSliderWithPagination(); 7078 handleParallax(); 7079 //handleParallaxOld(); 7080 scrollToGeoSelector(); 7081 getBrandsPermalinkFromMenu(); 7082 menu4levelRelative(); 7083 HandlePdfCatalog($('#book')); 7084 disableDesktopTelLink(); 7085 sizeGuideShowDescription(); 7086 onYouTubeIframeAPIReady(); 7087 flowPlayerAPI(); 7088 onYouTubeIframeAPIReadyItemsVideo($( ".smallItemVideo" )); 7089 firstProductTabActive(); 7090 showMoreFilters(); 7091 activeColorFilterLabele(); 7092 handleModalMap($('.contact-map-modal .map-link'), '', $('#map_modal')); /* Map modal on Contact page */ 7093 handleHTMLEditorTableResponsive(); 7094 toggleCommentInputs(); 7095 PromoLocationCountryFilter(); 7096 promoLocationSelector(); 7097 GdprPage(); 7098 handledropdownLogin(); 7099 cookieInfoNew(); 7100 showMoreSimilarProductInList(); 7101 showMoreSimilarProductByColor(); 7102 dropdownLoginForm(); 7103 handleScrollToTop(); 7104 cartWithStepsButtons(); 7105 notAllowePostCodesForDeliveryCheck(); 7106 quickBuyButtonV3(); 7107 filterButtonActive(); 7108 productQuickBuyBobble(); 7109 loginPopupToDoprdown(); 7110 productSimilarItem(); 7111 initProductSliderV3(); 7112 toggleItemsAccordian(); 7113 parallaxIt(); 7114 dropdownLangFromSlider(); 7115 drowLineOnMapItems(); 7116 toggleReadMoreItem(); 7117 itemListProductInTabs(); 7118 itemProductListTabsWithFilters(); 7119 threeSixtyView(); 7120 itemMp4VideoPlayer(); 7121 initSliderOnCart(false); 7122 showMoreItemTabImg(); 7123 textFirstLabel(); 7124 removeUiRole(); 7125 activProductInPopupItem(); 7126 inportProductListOnClick(); 7127 if($('map').length){ 7128 $('map').imageMapResize(); 7129 } 7130 exitMouseModal(); 7131 travelBookingForm(); 7132 redirectToSomePageNewLang(); 7133 mainImageMapDescription(); 7134 popupWithSliderItems(); 7135 searchProductFromListIntro(); 7136 addInputtsToReclamationForm(); 7137 initMapInStoreDetail(); 7138 initSlimilarColorSlider(); 7139 changeThemeStyle(); 7140 fullSreenMenu(); 7141 enableCheckAndAddToCart(); 7142 removeArrow2levlonly(); 7143 slimilarColorInProductList(); 7144 closeMobileMenu(); 7145 SizesTabsOnDetail(); 7146 newAdressTriger(); 7147 OpenAdminRibbon(); 7148 NCXcartMobile(); 7149 gridSliderImageLoad(); 7150 parallaxHorizontalTwoImgItems(); 7151 scrollScaleItems(); 7152 itemScrollTitle(); 7153 slidersTabsItems(); 7154 scrollToNextItem(); 7155 scrollToItemLink(); 7156 removetooltipSizesMob(); 7157 itemMainSlider(); 7158 itemSliderWithTwoImg(); 7159 productListBanerSlider(); 7160 PromoSidePopup(); 7161 tlocartGalleryInit(); 7162 viewMoreArticleList(); 7163 selectFieldOfWork(); 7164 chackBoxRequired(); 7165 SizesTabsOnDetailSBL(); 7166 shopByLookSizesTabs(); 7167 productDetailAttributesAccordion(); 7168 paymentCardPopup(); 7169 checkoutRedirectBank(); 7170 //openModalAfterTime(); 7171 cartGiftPopup(); 7172 insertProductDataCookie(); 7173 addMoreThenFiveProductToFavorite(); 7174 typeaheadAddScript();
7175 handleBackButtonProductListing(); 7176 handleSavedPaymentCards(); 7177 storeOnMapCategoryHideFilters(); 7178 verificationLoyaltyCard(); 7179 userRemoveLoyaltyCard(); 7180 addImgSrcToLink($('.profile-my-vaucher-list')); 7181 soonSaleProduct(); 7182 contactSubmitLoadButton($('.career-form-wrapper .btn.confirm-loader')); 7183 contactSubmitLoadButton($('#contact_submit')); 7184 ckEditorAccordian(); 7185 validateAllTaxFromWebservice(); 7186 modalHeadlinesActionTicket(); 7187 //modalAfterAddToCartProducts(); 7188 initSugestiveShopping(); 7189 defaultCartEmailValue(); 7190 hideChangeSizePopup(); 7191 cookieInfoReadMoreV2(); 7192 if(typeof(nbFormPhoneMaskEnable) != "undefined" && nbFormPhoneMaskEnable) { 7193 formPhoneMask(); 7194 } 7195 autocompleteValidation(); 7196 //newAddressFromList(); 7197 7198 if(lozadJsFlag){ 7199 lozad('.lozad', { 7200 load: function(el) { 7201 if (!el.classList.contains('lazy-loaded')) { 7202 el.src = el.dataset.originalImg; 7203 if(el.src !== undefined){ 7204 el.onload = function() { 7205 el.classList.add('fade'); 7206 } 7207 } 7208 } 7209 } 7210 }).observe(); 7211 } 7212 safariWebP(); 7213 CustomEventTrigger('NBShopJSLoaded'); 7214 intNewCommentsAjax(); 7215 }, 7216 width: windowWidth, 7217 height: windowHeight, 7218 initSlider: initSlider, 7219 initSliderEach:initSliderEach, 7220 filterSelectorActive:filterSelectorActive, 7221 initSliderLev2: initSliderLev2, 7222 printFrame: printFrame, 7223 handleBindedToTab: handleBindedToTab, 7224 clickOpenVerticalTabTab: clickOpenVerticalTabTab, 7225 handleAnchorLinks: handleAnchorLinks, 7226 handleMap: handleMap, 7227 handleSliderCountdown: handleSliderCountdown, 7228 initMapInStoreLoaction: initMapInStoreLoaction, 7229 initMapInStoreLoactionWithSelector: initMapInStoreLoactionWithSelector, 7230 handleAccordion: handleAccordion, 7231 handleModalMap: handleModalMap, 7232 handleNearestStoresMap:handleNearestStoresMap, 7233 handleParallax: handleParallax, 7234 handleParallaxOld: handleParallaxOld, 7235 initDatepicker: initDatepicker, 7236 handleWarningCart: handleWarningCart, 7237 handleCollapsingFooterMenu: handleCollapsingFooterMenu, 7238 handleFullscreenMouseoverZoom: handleFullscreenMouseoverZoom, 7239 handleMouseText:handleMouseText, 7240 handleProductSizeSelector:handleProductSizeSelector, 7241 changeProductQuantity:changeProductQuantity, 7242 handleCartClose:handleCartClose, 7243 HandlePdfCatalog:HandlePdfCatalog, 7244 handleHTMLEditorTableResponsive: handleHTMLEditorTableResponsive, 7245 showMoreFilters: showMoreFilters, 7246 activeColorFilterLabele: activeColorFilterLabele, 7247 showMoreSimilarProductByColor: showMoreSimilarProductByColor, 7248 closeMenu: closeMenu, 7249 quickBuyButtonV3: quickBuyButtonV3, 7250 handleAppendtoHandlinesSlider: handleAppendtoHandlinesSlider, 7251 filterButtonActive: filterButtonActive, 7252 loginPopupToDoprdown: loginPopupToDoprdown, 7253 handleScrollToTop:handleScrollToTop, 7254 filterCheeckToSelect:filterCheeckToSelect, 7255 initSliderOnCart:initSliderOnCart, 7256 getUrlParameter:getUrlParameter, 7257 mobileSideCartDinamicHeight:mobileSideCartDinamicHeight, 7258 CustomEventTrigger:CustomEventTrigger, 7259 initSlimilarColorSlider: initSlimilarColorSlider, 7260 getProductThumbColor: getProductThumbColor, 7261 productQuickBuyBobble: productQuickBuyBobble, 7262 slimilarColorInProductList: slimilarColorInProductList, 7263 removeArrow2levlonly: removeArrow2levlonly, 7264 selectStoreProductSize:selectStoreProductSize, 7265 handleProductListImgSlider: handleProductListImgSlider, 7266 ShopByLookOneClick:ShopByLookOneClick, 7267 productListBanerSlider: productListBanerSlider, 7268 GetFormSubmitCity:GetFormSubmitCity, 7269 productDetailTabsToVertical:productDetailTabsToVertical, 7270 printPdf:printPdf, 7271 videoSliderHtml:videoSliderHtml, 7272 insertProductDataCookie:insertProductDataCookie, 7273 cartGiftPopup:cartGiftPopup, 7274 checkCityValue:checkCityValue, 7275 contactSubmitLoadButton:contactSubmitLoadButton, 7276 checkStoreDeliveryTime:checkStoreDeliveryTime, 7277 pageZoomLevel:pageZoomLevel, 7278 newAddressFromList:newAddressFromList, 7279 removeVirtualCardOnPhoneChange:removeVirtualCardOnPhoneChange, 7280 verificationLoyaltyCard:verificationLoyaltyCard, 7281 confirmGDPR:confirmGDPR, 7282 confirmGDPR_v2:confirmGDPR_v2, 7283 declineCookieGDPR:declineCookieGDPR, 7284 showHidePassword:showHidePassword, 7285 logoutUser:logoutUser, 7286 getMenuSubcategories: getMenuSubcategories, 7287 getLinkFromSession: getLinkFromSession, 7288 addRequiredFieldsApostrophe: addRequiredFieldsApostrophe, 7289 RateCommentsShow:RateCommentsShow, 7290 modalHeadlinesActionTicket:modalHeadlinesActionTicket, 7291 modalAfterAddToCartProducts:modalAfterAddToCartProducts, 7292 bookingAjaxForm:bookingAjaxForm, 7293 closeOpendElementOnOutClick:closeOpendElementOnOutClick, 7294 SizesTabsOnCart:SizesTabsOnCart, 7295 acceptAllCookies:acceptAllCookies, 7296 checkAllCookies:checkAllCookies,
7297 acceptNecessaryCookies:acceptNecessaryCookies, 7298 checkAll:checkAll, 7299 openCookieDescription:openCookieDescription, 7300 successAddToCartBtn:successAddToCartBtn, 7301 handleMasonry:handleMasonry, 7302 handleProductSizeTransition: handleProductSizeTransition, 7303 downloadCartProformaInvoice: downloadCartProformaInvoice, 7304 redirectToSomePageNewLang: redirectToSomePageNewLang 7305 }; 7306} 7307/* end */
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.