var customGalleryCarouselController={onReady(){customGalleryCarouselController.init()},init(){console.log("init product..."),jQuery(".widget-custom-jewelry-carousel").each((function(i,e){let dataType=jQuery(e).data("type"),dataSrc=jQuery(e).data("src"),dataAction=jQuery(e).data("action"),dataCount=jQuery(e).data("count"),dataTmpl=jQuery(e).data("template"),dataParent=jQuery(e).data("parent");jQuery(e).data("cache");if(dataParent)var addDataParent="&parent="+dataParent;else addDataParent="";null!=dataType&&null!=dataSrc&&null!=dataAction&&null!=dataCount&&null!=dataTmpl||alert("missing params"),jQuery.ajax({type:"GET",dataType:"json",context:this,url:"/api/async.php?t="+dataType+"&m="+dataSrc+"&a="+dataAction+"&itemsPerPage="+dataCount+"&template="+dataTmpl+addDataParent,success(data){data&&data.rows.length>0||(data.rows[0]={folderPath:"",gallery:"",galleryTitle:"Empty Folder",id:0,image:{class:"image",meta:"empty folder",src:"//placeholder.shopfinejewelry.com/600x600/f6f6f6/f6f6f6/"},title:"Image 0"}),customGalleryCarouselController.onData(data,jQuery(e),dataTmpl),customGalleryCarouselController.addVideoSupport()},error(err){console.log(err)}})}))},onData(data,element,template){console.log("Gallery"),console.log(data.rows);let htmlAdded=jQuery(tmpl(template,data.rows));element.find(".product-slider").append(htmlAdded);let smartSpeed=500;element.find(".product-slider").closest('div[class*="col-"]').is('[class*="speed-"]')&&element.find(".product-slider").closest('div[class*="col-"]').attr("class").includes(" ")&&$.each(element.find(".product-slider").closest('div[class*="col-"]').attr("class").split(" "),(function(i,e){e.includes("speed-")&&(smartSpeed=parseInt(e.substring(6)))}));let loopMode=!1,centerMode=!1,centerModeXs=!1,centerModeSm=!1,centerModeMd=!1,centerModeLg=!1,columnSliderCenter=(element.parent().parent().attr("id"),element.find(".product-slider").data("center-mode")),columnSliderMargin=parseInt(element.find(".product-slider").data("margin")),columnSliderItemsXs=parseInt(element.find(".product-slider").data("cols-xs")),columnSliderItemsSm=parseInt(element.find(".product-slider").data("cols-sm")),columnSliderItemsMd=parseInt(element.find(".product-slider").data("cols-md")),columnSliderItemsLg=parseInt(element.find(".product-slider").data("cols-lg"));if("center"===columnSliderCenter||columnSliderCenter&&columnSliderCenter.includes(" ")&&columnSliderCenter.split(" ").includes("center"))centerMode=!0,centerModeXs=!0,centerModeSm=!0,centerModeMd=!0,centerModeLg=!0,loopMode=!0;else if(columnSliderCenter&&"center"!==columnSliderCenter&&"default"!==columnSliderCenter){var columnSliderCenterArr=columnSliderCenter.split(" ");if(columnSliderCenterArr.length)for(i=0;i<=columnSliderCenterArr.length;i++)null!=columnSliderCenterArr[i]&&"default"!=columnSliderCenterArr[i]&&("center-xs"==columnSliderCenterArr[i]?(centerModeXs=!0,loopMode=!0):"center-sm"==columnSliderCenterArr[i]?(centerModeSm=!0,loopMode=!0):"center-md"==columnSliderCenterArr[i]?(centerModeMd=!0,loopMode=!0):"center-lg"==columnSliderCenterArr[i]&&(centerModeLg=!0,loopMode=!0))}console.log("smartSpeed: "+smartSpeed),element.find(".product-slider").owlCarousel({smartSpeed:smartSpeed,center:centerMode,loop:loopMode,dots:!1,margin:columnSliderMargin,responsiveClass:!0,nav:!0,navText:['<i class="icon-chevron-left"><span class="sr-only">Previous</span></i>','<i class="icon-chevron-right"><span class="sr-only">Next</span></i>'],onInitialized:function(){customGalleryCarouselController.reinitCustomGalleryLazyLoads(element.find(".product-slider")),customGalleryCarouselController.addScreenReaderTextToOwlDots(element.find(".product-slider"))},responsive:{0:{items:columnSliderItemsXs,center:centerModeXs},768:{items:columnSliderItemsSm,center:centerModeSm},992:{items:columnSliderItemsMd,center:centerModeMd},1200:{items:columnSliderItemsLg,center:centerModeLg}}}),jQuery(".image-inquiry").each((function(i,e){jQuery(e).click((function(el){var image=jQuery(e).data("src"),inquiryModal='\t\t\t\t<div class="modal fade" id="inquiryModal" tabindex="-1" role="dialog" aria-labelledby="inquiryModalLabel" aria-hidden="true">\t\t\t\t\t<div class="modal-dialog modal-dialog-centered">\t\t\t\t\t\t<div class="modal-content">\t\t\t\t\t\t\t<form class="customForm" id="galleryInquiry">\t\t\t\t\t\t\t\t<div class="modal-header pb-1 border-bottom-0">\t\t\t\t\t\t\t\t\t<h4 class="modal-title">Gallery Inquiry</h4>\t\t\t\t\t\t\t\t\t<button type="button" class="btn-close" data-bs-dismiss="modal"><span class="sr-only">Close</span></button>\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t<div class="modal-body py-0">\t\t\t\t\t\t\t\t\t<img src="'+image+'" class="d-block my-3 mx-auto" style="max-width:260px;">\t\t\t\t\t\t\t\t\t<p class="mb-20 text-center">Our friendly staff will be happy to help you with whatever questions you may have about this item.</p>\t\t\t\t\t\t\t\t\t<div class="form-label-group">\t\t\t\t\t\t\t\t\t\t<input name="fullName" type="text" class="form-control input-lg" placeholder="Full Name">\t\t\t\t\t\t\t\t\t\t<label>Full Name</label>\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t\t<div class="form-row">\t\t\t\t\t\t\t\t\t\t<div class="form-label-group col-12 col-md-6">\t\t\t\t\t\t\t\t\t\t\t<input name="email" type="email" class="form-control input-lg" placeholder="Email Address">\t\t\t\t\t\t\t\t\t\t\t<label>Email Address</label>\t\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t\t\t<div class="form-label-group col-12 col-md-6">\t\t\t\t\t\t\t\t\t\t\t<input name="phone" type="tel" class="form-control input-lg" placeholder="Telephone" data-mask="(999) 999-9999">\t\t\t\t\t\t\t\t\t\t\t<label>Telephone</label>\t\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t\t<div class="form-label-group">\t\t\t\t\t\t\t\t\t\t<textarea name="inquiry" class="form-control input-lg" placeholder="Enter Your Question..."></textarea>\t\t\t\t\t\t\t\t\t\t<label>Your Message</label>\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t\t<div class="form-group pt-0 mb-0">\t\t\t\t\t\t\t\t\t\t<label class="my-0">Enter Validation Code:</label>\t\t\t\t\t\t\t\t\t\t<div id="defaultReal" name="defaultReal"></div>\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t\t<div class="form-label-group pb-10">\t\t\t\t\t\t\t\t\t\t<input class="form-control input-lg required-field" type="text" name="defaultReal" placeholder="Enter code as seen above" required>\t\t\t\t\t\t\t\t\t\t<label>Enter code as seen above</label>\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t<div class="modal-footer">\t\t\t\t\t\t\t\t\t<button type="button" class="btn btn-default" data-bs-dismiss="modal">Cancel</button>\t\t\t\t\t\t\t\t\t<button id="submitGalleryInquiry" data-loading-text="Sending Inquiry..." name="send_inquiry" type="submit" class="btn btn-primary" value="1">Submit Inquiry</button>\t\t\t\t\t\t\t\t\t<input type="hidden" name="attachment" value="'+image+'">\t\t\t\t\t\t\t\t\t<input type="hidden" name="customer_id" value="">\t\t\t\t\t\t\t\t\t<input type="hidden" name="session_id" value="">\t\t\t\t\t\t\t\t\t<input type="hidden" name="referer" value="">\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t</form>\t\t\t\t\t\t</div>\t\t\t\t\t</div>\t\t\t\t</div>';jQuery("body").append(inquiryModal),customGalleryCarouselController.setupFormProcessing(),jQuery("#defaultReal").length>0&&jQuery("#defaultReal").realperson({length:7,includeNumbers:!0,regenerate:'<span id="defaultRealRegen" class="btn btn-default btn-sm"><i class="icon-refresh"></i></span>'}),jQuery(".defaultRealCaptcha").length>0&&jQuery(".defaultRealCaptcha").each((function(i,e){jQuery(e).realperson({length:7,includeNumbers:!0,regenerate:'<span class="rp-refresh btn btn-default btn-sm"><i class="icon-refresh"></i></span>'})})),jQuery("#inquiryModal").modal("show"),jQuery("#submitGalleryInquiry").click((function(){})),jQuery("#inquiryModal").on("hidden.bs.modal",(function(e){jQuery("#inquiryModal").modal("dispose"),jQuery("#inquiryModal").remove()}))}))})),jQuery(document).on("shown.bs.tab",'a[data-toggle="tab"]',(function(e){reinitLazyLoads(element.find(".product-slider"))}))},addScreenReaderTextToOwlDots($slider){$slider.find(".owl-dots .owl-dot").each((function(index,dot){$(dot).attr("aria-label","Page "+(index+1))}))},reinitCustomGalleryLazyLoads(type=""){let element=jQuery("[data-src].lazy");jQuery(element).data("src")&&jQuery(element).lazy({scrollDirection:"vertical",effect:"fadeIn",visibleOnly:!1,enableThrottle:!0,throttle:250,afterLoad:function(el){el.removeClass("lazy"),jQuery(".grid").length&&jQuery(".grid").isotope("layout"),jQuery(".product-slider").length&&jQuery(".product-slider").each((function(i,e){jQuery(e).trigger("refresh.owl.carousel")})),jQuery(".column-slider").length&&jQuery(".column-slider").each((function(i,e){jQuery(e).trigger("refresh.owl.carousel")}))},onFinishedAll:function(){jQuery(".grid").length&&jQuery(".grid").isotope("layout"),jQuery(".product-slider").length&&jQuery(".product-slider").each((function(i,e){jQuery(e).trigger("refresh.owl.carousel")})),jQuery(".column-slider").length&&jQuery(".column-slider").each((function(i,e){jQuery(e).trigger("refresh.owl.carousel")}))}})},setupFormProcessing(){jQuery("form#galleryInquiry").validate({ignore:":hidden",focusCleanup:!0,rules:{fullName:{required:!0,minlength:1},email:{required:!0,email:!0},telephone:{required:!0,phoneUS:!0},attachment:{required:!1,accept:"images/*"},message:{required:!0,minlength:10},defaultRealInput:{required:!0}},messages:{fullName:{required:"Please specify your First Name.",minlength:"Please enter at least 3 characters for First Name."},email:{required:"Please specify your Email Address.",email:"Please enter a valid Email Address (eg. name@domain.com)."},telephone:{required:"Please specify your Telephone no.",phoneUS:"Please enter a valid Telephone no."},attachment:{accept:"Please enter a valid Image Attachment."},message:{required:"Please specify your Message.",minlength:"Please enter at least 10 characters for Message."},defaultRealInput:{required:"Please enter the Validation Code."}},errorPlacement:function(error,element){element.addClass("error")},success:function(label,element){},submitHandler:function(form){var _data=new FormData;_data.append("defaultRealHash",jQuery(form).find(".defaultRealCaptcha").realperson("getHash")),_data.append("locationId",window.pageInfo.locationID);var fields=jQuery(form).serializeArray();return jQuery.each(fields,(function(key,input){_data.append(input.name,input.value)})),jQuery(form).find('input[type="file"]').each((function(key,input){var name=(input=jQuery(input)).attr("name");input[0].files.length>0&&jQuery.each(input[0].files,(function(k,i){_data.append(name+"-"+k,i)}))})),jQuery.ajax({url:"/api/async.php?t=email&m=startaproject&a=submit_form",method:"POST",dataType:"json",data:_data,cache:!1,contentType:!1,processData:!1,context:self,beforeSend:function(){jQuery("#page-loading").show()},success:function(data){data.status?(customGalleryCarouselController.showAlert("success","Success",data.message),"function"==typeof ga&&ga.getAll().length?ga(ga.getAll()[0].get("name")+".send","event","site","customFormSubmit",""):console.log("no ga function defined"),"function"==typeof fbq&&(fbq("track","ContactFormSubmit"),console.log("fired contact form fb event")),resetForm()):customGalleryCarouselController.showAlert("error","Error!",data.message)}}).done((function(){jQuery("#page-loading").hide()})),!1},invalidHandler:function(event,validator){validator.numberOfInvalids()>0&&customGalleryCarouselController.showAlert("error","Error!",validator.errorList[0].message)}})},showAlert:(type,title,message)=>(type=void 0===type?"error":type,"-1"!=jQuery.inArray(type,alertTypes)&&(title=void 0===title?"Error!":title,message=void 0===message?"Something went wrong.":message,swal({title:title,text:message,icon:type,button:!1,timer:3e3})),!1),addVideoSupport(){if(0==jQuery("#videoModal").length){let videoModal='<div class="modal fade" tabindex="-1" role="dialog" id="videoModal">';videoModal+='<div class="modal-dialog modal-dialog-centered modal-lg" role="document">',videoModal+='<i class="icon-close" data-bs-dismiss="modal" aria-label="Close"></i>',videoModal+='<div class="modal-content">',videoModal+='<div class="modal-body">',videoModal+="</div>",videoModal+="</div>",videoModal+="</div>",videoModal+="</div>",jQuery("body").prepend(videoModal),jQuery("#videoModal").on("show.bs.modal",(function(e){let btn=jQuery(e.relatedTarget),videoURL=btn.attr("data-url"),videoExt=btn.attr("data-ext");jQuery("#videoModal .modal-body").append('<video autoplay controls><source src="'+videoURL+'" type="video/'+videoExt+'" /></video>')})),jQuery("#videoModal").on("hidden.bs.modal",(function(e){jQuery("#videoModal .modal-body video").remove()}))}}};$(document).ready((function(){customGalleryCarouselController.onReady()}));