jQuery(document).ready(function(a){a.fn.exists=function(){return a(this).length>0},a.fn.loaded=function(b,c,d){var e=this.length;return e>0?this.each(function(){var d=this,f=a(d);f.on("load.dt",function(d){a(this).off("load.dt"),"function"==typeof b&&b.call(this),--e<=0&&"function"==typeof c&&c.call(this)}),d.complete&&void 0!==d.complete?f.trigger("load.dt"):d.src=d.src}):d?("function"==typeof c&&c.call(this),this):void 0};var b=a("body"),c=(a(window),a("#main-slideshow"));a("#wpadminbar").height(),a(".masthead:not(.side-header):not(.side-header-v-stroke)").height(),b.hasClass("transparent"),a(".floating-navigation-below-slider").exists(),a(".masthead");if(b.hasClass("transparent"));else if(b.hasClass("overlap")){a(".masthead:not(.side-header):not(.side-header-v-stroke)").height()+(parseInt(c.css("marginTop"))+parseInt(c.css("marginBottom")))}else{a(".masthead:not(.side-header):not(.side-header-v-stroke)").height()}a.HoverDir=function(b,c){this.$el=a(c),this._init(b)},a.HoverDir.defaults={speed:300,easing:"ease",hoverDelay:0,inverse:!1},a.HoverDir.prototype={_init:function(b){this.options=a.extend(!0,{},a.HoverDir.defaults,b),this.transitionProp="all "+this.options.speed+"ms "+this.options.easing,this.support=Modernizr.csstransitions,this._loadEvents()},_loadEvents:function(){var b=this;this.$el.on("mouseenter.hoverdir, mouseleave.hoverdir",function(c){var d=a(this),e=d.find(".rollover-content, .post-entry-content, .gallery-rollover"),f=b._getDir(d,{x:c.pageX,y:c.pageY}),g=b._getStyle(f);"mouseenter"===c.type?(e.hide().css(g.from),clearTimeout(b.tmhover),b.tmhover=setTimeout(function(){e.show(0,function(){var c=a(this);b.support&&c.css("transition",b.transitionProp),b._applyAnimation(c,g.to,b.options.speed)})},b.options.hoverDelay)):(b.support&&e.css("transition",b.transitionProp),clearTimeout(b.tmhover),b._applyAnimation(e,g.from,b.options.speed))})},_getDir:function(a,b){var c=a.width(),d=a.height(),e=(b.x-a.offset().left-c/2)*(c>d?d/c:1),f=(b.y-a.offset().top-d/2)*(d>c?c/d:1),g=Math.round((Math.atan2(f,e)*(180/Math.PI)+180)/90+3)%4;return g},_getStyle:function(a){var b,c,d={left:"0px",top:"-100%"},e={left:"0px",top:"100%"},f={left:"-100%",top:"0px"},g={left:"100%",top:"0px"},h={top:"0px"},i={left:"0px"};switch(a){case 0:b=this.options.inverse?e:d,c=h;break;case 1:b=this.options.inverse?f:g,c=i;break;case 2:b=this.options.inverse?d:e,c=h;break;case 3:b=this.options.inverse?g:f,c=i}return{from:b,to:c}},_applyAnimation:function(b,c,d){a.fn.applyStyle=this.support?a.fn.css:a.fn.animate,b.stop().applyStyle(c,a.extend(!0,[],{duration:d+"ms"}))}};var d=function(a){window.console&&window.console.error(a)};a.fn.hoverdir=function(b){var c=a.data(this,"hoverdir");if("string"==typeof b){var e=Array.prototype.slice.call(arguments,1);this.each(function(){return c?a.isFunction(c[b])&&"_"!==b.charAt(0)?void c[b].apply(c,e):void d("no such method '"+b+"' for hoverdir instance"):void d("cannot call methods on hoverdir prior to initialization; attempted to call method '"+b+"'")})}else this.each(function(){c?c._init():c=a.data(this,"hoverdir",new a.HoverDir(b,this))});return c},a(".mobile-false .hover-grid .rollover-project, .mobile-false .hover-grid.portfolio-shortcode .post, .mobile-false .hover-grid.album-gallery-shortcode .post, .mobile-false .hover-grid.albums-shortcode .post").each(function(){a(this).hoverdir()}),a(".mobile-false .hover-grid-reverse .rollover-project, .mobile-false .hover-grid-reverse.portfolio-shortcode .post, .mobile-false .hover-grid-reverse.album-gallery-shortcode .post, .mobile-false .hover-grid-reverse.albums-shortcode .post ").each(function(){a(this).hoverdir({inverse:!0})}),a.fn.addIconToLinks=function(){return this.each(function(){var b=a(this);b.hasClass("icon-ready")||(a("").appendTo(a(this)),b.addClass("icon-ready"))})},a(".links-container a").addIconToLinks(),a.fn.forwardToPost=function(){return this.each(function(){var b=a(this);b.hasClass("this-ready")||(b.on("click",function(){if(!b.parents(".ts-wrap").hasClass("ts-interceptClicks"))return window.location.href=b.find("a").first().attr("href"),!1}),b.addClass("this-ready"))})},a(".mobile-false .rollover-project.forward-post").forwardToPost(),a.fn.touchforwardToPost=function(){return this.each(function(){var c=a(this);if(!c.hasClass("touch-hover-ready")){b.on("touchend",function(b){a(".mobile-true .rollover-content").removeClass("is-clicked"),a(".mobile-true .rollover-project").removeClass("is-clicked")});var c=a(this).find(".rollover-content");c.on("touchstart",function(a){origY=a.originalEvent.touches[0].pageY,origX=a.originalEvent.touches[0].pageX}),c.on("touchend",function(b){var d=b.originalEvent.changedTouches[0].pageX,e=b.originalEvent.changedTouches[0].pageY;if(origY==e||origX==d){if(!c.hasClass("is-clicked"))return b.preventDefault(),a(".mobile-ture .rollover-content").removeClass("is-clicked"),a(".mobile-true .rollover-project").removeClass("is-clicked"),c.addClass("is-clicked"),c.parent(".rollover-project").addClass("is-clicked"),!1;window.location.href=c.prev("a").first().attr("href")}}),c.addClass("touch-hover-ready")}})},a(".mobile-true .rollover-project.forward-post").touchforwardToPost(),a.fn.followCurentLink=function(){return this.each(function(){if(a(this).parents(".content-rollover-layout-list").length>0||a(this).parents(".gradient-overlay-layout-list").length>0)var b=a(this).parent("article");else var b=a(this);if(!b.hasClass("this-ready")){var c=b.parent().find(".links-container > a, .project-links-container > a"),d=b.find(".portfolio-categories a"),e=b.find(".post-details"),f=!1;b.on("click",function(){if(!b.parents(".ts-wrap").hasClass("ts-interceptClicks"))return c.each(function(){g=a(this).attr("target")?a(this).attr("target"):"_self"}),c.hasClass("project-details")||c.hasClass("link")||c.hasClass("project-link")?(window.open(c.attr("href"),g),!1):(f||(f=!0,c.trigger("click"),f=!1),!1)}),b.find(d).click(function(a){a.stopPropagation(),window.location.href=d.attr("href")});var g="undefined"!=typeof e.attr("target")&&e.attr("target").length>0?e.attr("target"):"_self";b.find(e).click(function(a){a.stopPropagation(),a.preventDefault(),window.open(e.attr("href"),g)}),b.addClass("this-ready")}})},a(".mobile-false .rollover-project.rollover-active, .mobile-false .rollover-active, .mobile-false .buttons-on-img.rollover-active").followCurentLink(),a.fn.touchFollowCurentLink=function(){return this.each(function(){if(a(this).parents(".content-rollover-layout-list").length>0||a(this).parents(".gradient-overlay-layout-list").length>0)var c=a(this).parent("article");else var c=a(this);if(!c.hasClass("this-ready")){var d=c.parent().find(".links-container > a, .project-links-container > a"),e=c.find(".portfolio-categories a"),f=!1;b.on("touchend",function(b){a(".mobile-true .rollover-content").removeClass("is-clicked"),a(".mobile-true .rollover-active").removeClass("is-clicked"),a(".mobile-true .rollover-active").parent("article").removeClass("is-clicked")}),c.on("touchstart",function(a){origY=a.originalEvent.touches[0].pageY,origX=a.originalEvent.touches[0].pageX}),c.on("touchend",function(b){var e=b.originalEvent.changedTouches[0].pageX,g=b.originalEvent.changedTouches[0].pageY;if(origY==g||origX==e){if(c.hasClass("is-clicked")){if(c.parents(".ts-wrap").hasClass("ts-interceptClicks"))return;return d.each(function(){$thisTarget=a(this).attr("target")?a(this).attr("target"):"_self"}),d.hasClass("project-details")||d.hasClass("link")||d.hasClass("project-link")?(window.open(d.attr("href"),$thisTarget),!1):(f||(f=!0,d.trigger("click"),f=!1),!1)}return b.preventDefault(),c.addClass("is-clicked"),!1}}),c.find(e).click(function(a){a.stopPropagation(),window.location.href=e.attr("href")}),c.addClass("this-ready")}})},a(".mobile-true .rollover-project.rollover-active, .mobile-true .rollover-active, .mobile-true .buttons-on-img.rollover-active").touchFollowCurentLink(),a.fn.touchRolloverPostClick=function(){return this.each(function(){var c=a(this);c.find(".post-thumbnail-rollover").first(),c.find(".entry-meta a, .fancy-date a, .fancy-categories a"),c.find(".entry-excerpt").height()+c.find(".post-details").height();b.on("touchend",function(b){a(".mobile-true .post").removeClass("is-clicked")}),c.on("touchstart",function(a){origY=a.originalEvent.touches[0].pageY,origX=a.originalEvent.touches[0].pageX}),c.on("touchend",function(b){var d=b.originalEvent.changedTouches[0].pageX,e=b.originalEvent.changedTouches[0].pageY;if(origY==e||origX==d){if(!c.hasClass("is-clicked"))return b.preventDefault(),"a"===b.target.tagName.toLowerCase(),a(".mobile-ture .post").removeClass("is-clicked"),c.addClass("is-clicked"),c.parent().siblings().find(".post").removeClass("is-clicked"),!1;c.parents().hasClass("disable-layout-hover")&&"a"===b.target.tagName.toLowerCase()&&a(b.target).trigger("click")}})})},a(".mobile-true .content-rollover-layout-list.portfolio-shortcode .post, .mobile-true .gradient-overlay-layout-list.portfolio-shortcode .post").touchRolloverPostClick(),a.fn.touchHoverImage=function(){return this.each(function(){var c=a(this);if(!c.hasClass("hover-ready")){b.on("touchend",function(b){a(".mobile-true .rollover-content").removeClass("is-clicked")});var d=a(this).find(".rollover-content");d.parents(".wf-cell");d.on("touchstart",function(a){origY=a.originalEvent.touches[0].pageY,origX=a.originalEvent.touches[0].pageX}),d.on("touchend",function(b){var c=b.originalEvent.changedTouches[0].pageX,e=b.originalEvent.changedTouches[0].pageY;if((origY==e||origX==c)&&!d.hasClass("is-clicked"))return a(".links-container > a",d).on("touchend",function(a){a.stopPropagation(),d.addClass("is-clicked")}),b.preventDefault(),a(".mobile-true .buttons-on-img .rollover-content").removeClass("is-clicked"),d.addClass("is-clicked"),!1}),c.addClass("hover-ready")}})},a(".mobile-true .buttons-on-img").touchHoverImage(),a.fn.touchScrollerImage=function(){return this.each(function(){var c=a(this);if(!c.hasClass("hover-ready")){b.on("touchend",function(b){a(".mobile-true .project-list-media").removeClass("is-clicked")});var d=a(this),e=d.find("a.rollover-click-target").first(),f=d.find(".links-container");d.on("touchstart",function(a){origY=a.originalEvent.touches[0].pageY,origX=a.originalEvent.touches[0].pageX}),d.on("touchend",function(b){var c=b.originalEvent.changedTouches[0].pageX,g=b.originalEvent.changedTouches[0].pageY;if(!d.parents(".ts-wrap").hasClass("ts-interceptClicks"))return origY!=g&&origX!=c||d.hasClass("is-clicked")?void 0:(e.length>0&&(e.on("click",function(b){b.stopPropagation(),a(this).hasClass("go-to")&&(window.location.href=a(this).attr("href"))}),e.trigger("click")),f.length>0&&f.find(" > a ").each(function(){a(this).on("touchend",function(b){b.stopPropagation(),a(this).trigger("click")})}),b.preventDefault(),a(".mobile-true .dt-owl-item").removeClass("is-clicked"),d.addClass("is-clicked"),!1)}),c.addClass("hover-ready")}})},a(".mobile-true .project-list-media").touchScrollerImage(),a.fn.touchHoverLinks=function(){return this.each(function(){var b=a(this);if(!b.hasClass("hover-ready")){var c=a(this);c.on("touchend",function(b){if(!c.parents(".ts-wrap").hasClass("ts-interceptClicks"))return c.hasClass("is-clicked")?void 0:c.hasClass("project-zoom")?(c.trigger("click"),a(".mobile-true .links-container > a").removeClass("is-clicked"),c.addClass("is-clicked"),!1):(window.location.href=c.attr("href"),!1)}),b.addClass("hover-ready")}})},a(".mobile-true .dt-owl-item .links-container > a").touchHoverLinks(),a.fn.triggerAlbumsClick=function(){return this.each(function(){var b=a(this);if(!b.hasClass("this-ready")){var c=b.find("a.rollover-click-target, a.dt-pswp-item").first(),d=b.find(".portfolio-categories a");if(c.length>0){c.on("click",function(b){b.preventDefault(),c.parents(".ts-wrap").hasClass("ts-interceptClicks")||a(this).hasClass("go-to")&&(window.location.href=a(this).attr("href"))});var e=!1;b.on("click",function(){if(!b.parents(".ts-wrap").hasClass("ts-interceptClicks"))return e||(e=!0,c.trigger("click"),e=!1),!1}),b.find(d).click(function(a){a.stopPropagation(),window.location.href=d.attr("href")})}b.addClass("this-ready")}})},a(".mobile-false .dt-albums-template .rollover-project, .mobile-false .dt-albums-shortcode .rollover-project, .mobile-false .dt-albums-template .buttons-on-img, .mobile-false .dt-albums-shortcode .buttons-on-img, .mobile-false .archive .type-dt_gallery .buttons-on-img, .mobile-false .albums-shortcode:not(.content-rollover-layout-list):not(.gradient-overlay-layout-list) .post-thumbnail").triggerAlbumsClick(),a.fn.triggerOverlayAlbumsClick=function(){return this.each(function(){var b=a(this);if(!b.hasClass("this-overlay-ready")){var c=b.parents(".post").first().find("a.rollover-click-target, a.dt-pswp-item").first(),d=b.find(".portfolio-categories a");if(c.length>0){c.on("click",function(b){b.preventDefault(),c.parents(".ts-wrap").hasClass("ts-interceptClicks")||a(this).hasClass("go-to")&&(window.location.href=a(this).attr("href"))});var e=!1;b.on("click",function(){if(!b.parents(".ts-wrap").hasClass("ts-interceptClicks"))return e||(e=!0,c.trigger("click"),e=!1),!1}),b.find(d).click(function(a){a.stopPropagation(),window.location.href=d.attr("href")})}b.addClass("this-overlay-ready")}})},a(" .mobile-false .albums-shortcode.content-rollover-layout-list .post-entry-content, .mobile-false .albums-shortcode.gradient-overlay-layout-list .post-entry-content").triggerOverlayAlbumsClick(),a.fn.triggerOverlayAlbumsTouch=function(){return this.each(function(){var c=a(this),d=c.find("a.rollover-click-target, a.dt-pswp-item").first(),e=c.find(".portfolio-categories a");b.on("touchend",function(b){a(".mobile-true .post").removeClass("is-clicked")}),c.on("touchstart",function(a){origY=a.originalEvent.touches[0].pageY,origX=a.originalEvent.touches[0].pageX}),c.on("touchend",function(b){var f=b.originalEvent.changedTouches[0].pageX,g=b.originalEvent.changedTouches[0].pageY;if(origY<=g+5&&origY>=g-5||origX<=f+5&&origX==f-5){if(!c.hasClass("is-clicked"))return b.preventDefault(),a(".mobile-ture .post").removeClass("is-clicked"),c.parent().siblings().find(".post").removeClass("is-clicked"),c.addClass("is-clicked"),!1;d.hasClass("go-to")&&(window.location.href=d.attr("href")),d.trigger("click"),c.find(e).click(function(a){a.stopPropagation(),window.location.href=e.attr("href")})}})})},a(" .mobile-true .albums-shortcode.content-rollover-layout-list .post, .mobile-true .albums-shortcode.gradient-overlay-layout-list .post").triggerOverlayAlbumsTouch(),a.fn.triggerAlbumsTouch=function(){return this.each(function(){var c=a(this);if(!c.hasClass("this-touch-ready")){var d=c.find("a.rollover-click-target, a.dt-pswp-item").first(),e=c.find(".portfolio-categories a");if(b.on("touchend",function(b){a(".mobile-true .rollover-content").removeClass("is-clicked")}),d.length>0){d.on("click",function(b){b.preventDefault(),d.parents(".ts-wrap").hasClass("ts-interceptClicks")||a(this).hasClass("go-to")&&(window.location.href=a(this).attr("href"))});var f=!1;c.on("touchstart",function(a){origY=a.originalEvent.touches[0].pageY,origX=a.originalEvent.touches[0].pageX}),c.on("touchend",function(a){var b=a.originalEvent.changedTouches[0].pageX,e=a.originalEvent.changedTouches[0].pageY;if(origY<=e+5&&origY>=e-5||origX<=b+5&&origX==b-5){if(c.parents(".ts-wrap").hasClass("ts-interceptClicks"))return;return f||(f=!0,d.trigger("click"),f=!1),!1}}),c.find(e).click(function(a){a.stopPropagation(),window.location.href=e.attr("href")})}c.addClass("this-touch-ready")}})},a(".mobile-true .dt-albums-template .rollover-project, .mobile-true .dt-albums-shortcode .rollover-project, .mobile-true .dt-albums-template .buttons-on-img, .mobile-true .dt-albums-shortcode .buttons-on-img, .mobile-true .archive .type-dt_gallery .buttons-on-img, .mobile-true .albums-shortcode:not(.content-rollover-layout-list):not(.gradient-overlay-layout-list) .post-thumbnail").triggerAlbumsTouch(),a.fn.triggerHoverClick=function(){return this.each(function(){var b=a(this);if(!b.hasClass("click-ready")){var c,d=b.prev("a:not(.dt-single-pswp):not(.dt-pswp-item)").first(),e=b.find(".portfolio-categories a"),f=b.find(".project-link"),g=f.attr("target")?f.attr("target"):"_self";if(d.length>0){var h=!1;b.on("click",function(e){if(!b.parents(".ts-wrap").hasClass("ts-interceptClicks")&&!b.parents(".owl-carousel").hasClass("ts-interceptClicks"))return c=a(e.target),c.hasClass("project-zoom")||c.parent("a").hasClass("project-zoom")?console.log(c):h||(h=!0,d.trigger("click"),window.location.href=d.attr("href"),h=!1),!1}),b.find(f).click(function(a){a.stopPropagation(),a.preventDefault(),window.open(f.attr("href"),g)}),b.find(e).click(function(a){a.stopPropagation(),window.location.href=e.attr("href")})}b.addClass("click-ready")}})},a(".mobile-false .rollover-project:not(.rollover-active) .rollover-content, .mobile-false .buttons-on-img:not(.rollover-active) .rollover-content").triggerHoverClick()}),function(a){a.fn.collagePlus=function(b){function c(b,c,e,f){for(var g=e.padding*b.length+b.length*b[0][3],h=e.albumWidth-g,i=h/(c-g),j=g,k=cg.albumWidth&&0!=d.length&&(c(d,b,g,f),delete b,delete d,b=0,d=[],f+=1),g.images.length-1==h&&0!=d.length&&(c(d,b,g,f),delete b,delete d,b=0,d=[],f+=1)}),a(this).trigger("jgDone")})};var b=0;a(".jg-container").each(function(){b++;var c=a(this),d=c.attr("data-padding");c.find(".wf-cell");c.attr("id","jg-container-"+b),a("").insertAfter(c);var e;c.on("jgDone",function(){new Layzr({selector:".jgrid-lazy-load",attr:"data-src",attrSrcSet:"data-srcset",retinaAttr:"data-src-retina",threshold:0,before:function(){this.setAttribute("sizes",this.width+"px"),this.style.willChange="opacity"},callback:function(){this.classList.add("jgrid-layzr-loaded");var b=a(this);b.one("webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend",function(a){clearTimeout(e),e=setTimeout(function(){b.parent().removeClass("layzr-bg"),b.css("will-change","auto")},200)})}})})}),a.fn.collage=function(b){return this.each(function(){var c=(a(this),a(this)),d=c.attr("data-padding"),e=c.find(".wf-cell"),f=parseFloat(e.first().css("padding-left"))+parseFloat(e.first().css("padding-right")),g=parseInt(c.attr("data-target-height")),h=!0;if("false"==c.attr("data-part-row")&&(h=!1),c.parent(".full-width-wrap").length)var i=c.parents(".full-width-wrap").width()-2*parseInt(d);else var i=c.parent().width()+2*parseInt(d);var j={albumWidth:i,targetHeight:g,padding:f,allowPartialLastRow:h,fadeSpeed:2e3,effect:"effect-1",direction:"vertical"};a.extend(j,b),dtGlobals.jGrid=j,c.collagePlus(j),c.css({width:i})})},a(window).on("debouncedresize",function(){a(".jg-container").not(".jgrid-shortcode").collage(),a(".jgrid-shortcode").each(function(){var b=a(this),c=b.data("visibleItems");c?b.collage({images:c}):b.collage()})}).trigger("debouncedresize")}(jQuery); !function(a,b){"use strict";function c(){if(!e){e=!0;var a,c,d,f,g=-1!==navigator.appVersion.indexOf("MSIE 10"),h=!!navigator.userAgent.match(/Trident.*rv:11\./),i=b.querySelectorAll("iframe.wp-embedded-content");for(c=0;c1e3)g=1e3;else if(~~g<200)g=200;f.height=g}if("link"===d.message)if(h=b.createElement("a"),i=b.createElement("a"),h.href=f.getAttribute("src"),i.href=d.value,i.host===h.host)if(b.activeElement===f)a.top.location.href=d.value}else;}},d)a.addEventListener("message",a.wp.receiveEmbedMessage,!1),b.addEventListener("DOMContentLoaded",c,!1),a.addEventListener("load",c,!1)}(window,document); document.documentElement.className+=" js_active ",document.documentElement.className+="ontouchstart"in document.documentElement?" vc_mobile ":" vc_desktop ",function(){for(var prefix=["-webkit-","-moz-","-ms-","-o-",""],i=0;i=$tabs.tabs("length")&&(index=0),$tabs.tabs("select",index)):(index=$tabs.tabs("option","active"),length=$tabs.find(".wpb_tab").length,index=jQuery(this).parent().hasClass("wpb_next_slide")?length<=index+1?0:index+1:index-1<0?length-1:index-1,$tabs.tabs("option","active",index))})})}}),"function"!=typeof window.vc_accordionBehaviour&&(window.vc_accordionBehaviour=function(){jQuery(".wpb_accordion").each(function(index){var $tabs,active_tab,collapsible,$this=jQuery(this);$this.attr("data-interval"),collapsible=!1===(active_tab=!isNaN(jQuery(this).data("active-tab"))&&0 div > h3",autoHeight:!1,heightStyle:"content",active:active_tab,collapsible:collapsible,navigation:!0,activate:vc_accordionActivate,change:function(event,ui){void 0!==jQuery.fn.isotope&&ui.newContent.find(".isotope").isotope("layout"),vc_carouselBehaviour(ui.newPanel)}}),!0===$this.data("vcDisableKeydown")&&($tabs.data("uiAccordion")._keydown=function(){})})}),"function"!=typeof window.vc_teaserGrid&&(window.vc_teaserGrid=function(){var layout_modes={fitrows:"fitRows",masonry:"masonry"};jQuery(".wpb_grid .teaser_grid_container:not(.wpb_carousel), .wpb_filtered_grid .teaser_grid_container:not(.wpb_carousel)").each(function(){var $container=jQuery(this),$thumbs=$container.find(".wpb_thumbnails"),layout_mode=$thumbs.attr("data-layout-mode");$thumbs.isotope({itemSelector:".isotope-item",layoutMode:void 0===layout_modes[layout_mode]?"fitRows":layout_modes[layout_mode]}),$container.find(".categories_filter a").data("isotope",$thumbs).click(function(e){e&&e.preventDefault&&e.preventDefault();var $thumbs=jQuery(this).data("isotope");jQuery(this).parent().parent().find(".active").removeClass("active"),jQuery(this).parent().addClass("active"),$thumbs.isotope({filter:jQuery(this).attr("data-filter")})}),jQuery(window).bind("load resize",function(){$thumbs.isotope("layout")})})}),"function"!=typeof window.vc_carouselBehaviour&&(window.vc_carouselBehaviour=function($parent){($parent?$parent.find(".wpb_carousel"):jQuery(".wpb_carousel")).each(function(){var $this=jQuery(this);if(!0!==$this.data("carousel_enabled")&&$this.is(":visible")){$this.data("carousel_enabled",!0);getColumnsCount(jQuery(this));jQuery(this).hasClass("columns_count_1")&&900;var carousel_li=jQuery(this).find(".wpb_thumbnails-fluid li");carousel_li.css({"margin-right":carousel_li.css("margin-left"),"margin-left":0});var fluid_ul=jQuery(this).find("ul.wpb_thumbnails-fluid");fluid_ul.width(fluid_ul.width()+300),jQuery(window).resize(function(){screen_size!=(screen_size=getSizeName())&&window.setTimeout(function(){location.reload()},20)})}})}),"function"!=typeof window.vc_slidersBehaviour&&(window.vc_slidersBehaviour=function(){jQuery(".wpb_gallery_slides").each(function(index){var $imagesGrid,this_element=jQuery(this);if(this_element.hasClass("wpb_slider_nivo")){var sliderTimeout=1e3*this_element.attr("data-interval");0===sliderTimeout&&(sliderTimeout=9999999999),this_element.find(".nivoSlider").nivoSlider({effect:"boxRainGrow,boxRain,boxRainReverse,boxRainGrowReverse",slices:15,boxCols:8,boxRows:4,animSpeed:800,pauseTime:sliderTimeout,startSlide:0,directionNav:!0,directionNavHide:!0,controlNav:!0,keyboardNav:!1,pauseOnHover:!0,manualAdvance:!1,prevText:"Prev",nextText:"Next"})}else this_element.hasClass("wpb_image_grid")&&(jQuery.fn.imagesLoaded?$imagesGrid=this_element.find(".wpb_image_grid_ul").imagesLoaded(function(){$imagesGrid.isotope({itemSelector:".isotope-item",layoutMode:"fitRows"})}):this_element.find(".wpb_image_grid_ul").isotope({itemSelector:".isotope-item",layoutMode:"fitRows"}))})}),"function"!=typeof window.vc_prettyPhoto&&(window.vc_prettyPhoto=function(){try{jQuery&&jQuery.fn&&jQuery.fn.prettyPhoto&&jQuery('a.prettyphoto, .gallery-icon a[href*=".jpg"]').prettyPhoto({animationSpeed:"normal",hook:"data-rel",padding:15,opacity:.7,showTitle:!0,allowresize:!0,counter_separator_label:"/",hideflash:!1,deeplinking:!1,modal:!1,callback:function(){-1')}),vc_initVideoBackgrounds(),callSkrollInit=!1,window.vcParallaxSkroll&&window.vcParallaxSkroll.destroy(),$(".vc_parallax-inner").remove(),$("[data-5p-top-bottom]").removeAttr("data-5p-top-bottom data-30p-top-bottom"),$("[data-vc-parallax]").each(function(){var skrollrSize,skrollrStart,$parallaxElement,parallaxImage,youtubeId;callSkrollInit=!0,"on"===$(this).data("vcParallaxOFade")&&$(this).children().attr("data-5p-top-bottom","opacity:0;").attr("data-30p-top-bottom","opacity:1;"),skrollrSize=100*$(this).data("vcParallax"),($parallaxElement=$("
").addClass("vc_parallax-inner").appendTo($(this))).height(skrollrSize+"%"),parallaxImage=$(this).data("vcParallaxImage"),(youtubeId=vcExtractYoutubeId(parallaxImage))?insertYoutubeVideoAsBackground($parallaxElement,youtubeId):void 0!==parallaxImage&&$parallaxElement.css("background-image","url("+parallaxImage+")"),skrollrStart=-(skrollrSize-100),$parallaxElement.attr("data-bottom-top","top: "+skrollrStart+"%;").attr("data-top-bottom","top: 0%;")}),callSkrollInit&&window.skrollr&&(vcSkrollrOptions={forceHeight:!1,smoothScrolling:!1,mobileCheck:function(){return!1}},window.vcParallaxSkroll=skrollr.init(vcSkrollrOptions),window.vcParallaxSkroll)}),"function"!=typeof window.vc_gridBehaviour&&(window.vc_gridBehaviour=function(){jQuery.fn.vcGrid&&jQuery("[data-vc-grid]").vcGrid()}),"function"!=typeof window.getColumnsCount&&(window.getColumnsCount=function(el){for(var find=!1,i=1;!1===find;){if(el.hasClass("columns_count_"+i))return find=!0,i;i++}});var screen_size=getSizeName();function getSizeName(){var screen_w=jQuery(window).width();return 1170
').find(".inner");new YT.Player($container[0],{width:"100%",height:"100%",videoId:youtubeId,playerVars:{playlist:youtubeId,iv_load_policy:3,enablejsapi:1,disablekb:1,autoplay:1,controls:0,showinfo:0,rel:0,loop:1,wmode:"transparent"},events:{onReady:function(event){event.target.mute().setLoop(!0)}}}),vcResizeVideoBackground($element),jQuery(window).bind("resize",function(){vcResizeVideoBackground($element)})}),"function"!=typeof window.vcResizeVideoBackground&&(window.vcResizeVideoBackground=function($element){var iframeW,iframeH,marginLeft,marginTop,containerW=$element.innerWidth(),containerH=$element.innerHeight();containerW/containerH<16/9?(iframeW=containerH*(16/9),iframeH=containerH,marginLeft=-Math.round((iframeW-containerW)/2)+"px",marginTop=-Math.round((iframeH-containerH)/2)+"px"):(iframeH=(iframeW=containerW)*(9/16),marginTop=-Math.round((iframeH-containerH)/2)+"px",marginLeft=-Math.round((iframeW-containerW)/2)+"px"),iframeW+="px",iframeH+="px",$element.find(".vc_video-bg iframe").css({maxWidth:"1000%",marginLeft:marginLeft,marginTop:marginTop,width:iframeW,height:iframeH})}),"function"!=typeof window.vcExtractYoutubeId&&(window.vcExtractYoutubeId=function(url){if(void 0===url)return!1;var id=url.match(/(?:https?:\/{2})?(?:w{3}\.)?youtu(?:be)?\.(?:com|be)(?:\/watch\?v=|\/)([^\s&]+)/);return null!==id&&id[1]}),"function"!=typeof window.vc_googleMapsPointer&&(window.vc_googleMapsPointer=function(){var $=window.jQuery,$wpbGmapsWidget=$(".wpb_gmaps_widget");$wpbGmapsWidget.click(function(){$("iframe",this).css("pointer-events","auto")}),$wpbGmapsWidget.mouseleave(function(){$("iframe",this).css("pointer-events","none")}),$(".wpb_gmaps_widget iframe").css("pointer-events","none")}),"function"!=typeof window.vc_setHoverBoxPerspective&&(window.vc_setHoverBoxPerspective=function(hoverBox){hoverBox.each(function(){var $this=jQuery(this),perspective=4*$this.width()+"px";$this.css("perspective",perspective)})}),"function"!=typeof window.vc_setHoverBoxHeight&&(window.vc_setHoverBoxHeight=function(hoverBox){hoverBox.each(function(){var $this=jQuery(this),hoverBoxInner=$this.find(".vc-hoverbox-inner");hoverBoxInner.css("min-height",0);var frontHeight=$this.find(".vc-hoverbox-front-inner").outerHeight(),backHeight=$this.find(".vc-hoverbox-back-inner").outerHeight(),hoverBoxHeight=backHeight 0){ options.onFieldFailure(); } return !valid; } if(options.onValidationComplete){ return !!options.onValidationComplete(form, valid); } return valid; }, updatePromptsPosition: function(event){ if(event&&this==window){ var form=event.data.formElem; var noAnimation=event.data.noAnimation; } else var form=$(this.closest('form, .validationEngineContainer')); var options=form.data('jqv'); if(!options) options=methods._saveOptions(form, options); form.find('['+options.validateAttribute+'*=validate]').not(":disabled").each(function(){ var field=$(this); if(options.prettySelect&&field.is(":hidden")) field=form.find("#" + options.usePrefix + field.attr('id') + options.useSuffix); var prompt=methods._getPrompt(field); var promptText=$(prompt).find(".formErrorContent").html(); if(prompt) methods._updatePrompt(field, $(prompt), promptText, undefined, false, options, noAnimation); }); return this; }, showPrompt: function(promptText, type, promptPosition, showArrow){ var form=this.closest('form, .validationEngineContainer'); var options=form.data('jqv'); if(!options) options=methods._saveOptions(this, options); if(promptPosition) options.promptPosition=promptPosition; options.showArrow=showArrow==true; methods._showPrompt(this, promptText, type, false, options); return this; }, hide: function(){ var form=$(this).closest('form, .validationEngineContainer'); var options=form.data('jqv'); if(!options) options=methods._saveOptions(form, options); var fadeDuration=(options&&options.fadeDuration) ? options.fadeDuration:0.3; var closingtag; if(form.is("form")||form.hasClass("validationEngineContainer")){ closingtag="parentForm"+methods._getClassName($(form).attr("id")); }else{ closingtag=methods._getClassName($(form).attr("id")) +"formError"; } $('.'+closingtag).fadeTo(fadeDuration, 0, function(){ $(this).closest('.formError').remove(); }); return this; }, hideAll: function(){ var form=this; var options=form.data('jqv'); var duration=options ? options.fadeDuration:300; $('.formError').fadeTo(duration, 0, function(){ $(this).closest('.formError').remove(); }); return this; }, _onFieldEvent: function(event){ var field=$(this); var form=field.closest('form, .validationEngineContainer'); var options=form.data('jqv'); if(!options) options=methods._saveOptions(form, options); options.eventTrigger="field"; if(options.notEmpty==true){ if(field.val().length > 0){ window.setTimeout(function(){ methods._validateField(field, options); }, (event.data) ? event.data.delay:0); }}else{ window.setTimeout(function(){ methods._validateField(field, options); }, (event.data) ? event.data.delay:0); }}, _onSubmitEvent: function(){ var form=$(this); var options=form.data('jqv'); if(form.data("jqv_submitButton")){ var submitButton=$("#" + form.data("jqv_submitButton")); if(submitButton){ if(submitButton.length > 0){ if(submitButton.hasClass("validate-skip")||submitButton.attr("data-validation-engine-skip")=="true") return true; }} } options.eventTrigger="submit"; var r=methods._validateFields(form); if(r&&options.ajaxFormValidation){ methods._validateFormWithAjax(form, options); return false; } if(options.onValidationComplete){ return !!options.onValidationComplete(form, r); } return r; }, _checkAjaxStatus: function(options){ var status=true; $.each(options.ajaxValidCache, function(key, value){ if(!value){ status=false; return false; }}); return status; }, _checkAjaxFieldStatus: function(fieldid, options){ return options.ajaxValidCache[fieldid]==true; }, _validateFields: function(form){ var options=form.data('jqv'); var errorFound=false; form.trigger("jqv.form.validating"); var first_err=null; form.find('['+options.validateAttribute+'*=validate]').not(":disabled").each(function(){ var field=$(this); var names=[]; if($.inArray(field.attr('name'), names) < 0){ errorFound |=methods._validateField(field, options); if(errorFound&&first_err==null) if(field.is(":hidden")&&options.prettySelect) first_err=field=form.find("#" + options.usePrefix + methods._jqSelector(field.attr('id')) + options.useSuffix); else { if(field.data('jqv-prompt-at') instanceof jQuery){ field=field.data('jqv-prompt-at'); }else if(field.data('jqv-prompt-at')){ field=$(field.data('jqv-prompt-at')); } first_err=field; } if(options.doNotShowAllErrosOnSubmit) return false; names.push(field.attr('name')); if(options.showOneMessage==true&&errorFound){ return false; }} }); form.trigger("jqv.form.result", [errorFound]); if(errorFound){ if(options.scroll){ var destination=first_err.offset().top; var fixleft=first_err.offset().left; var positionType=options.promptPosition; if(typeof(positionType)=='string'&&positionType.indexOf(":")!=-1) positionType=positionType.substring(0,positionType.indexOf(":")); if(positionType!="bottomRight"&&positionType!="bottomLeft"){ var prompt_err=methods._getPrompt(first_err); if(prompt_err){ destination=prompt_err.offset().top; }} if(options.scrollOffset){ destination -=options.scrollOffset; } if(options.isOverflown){ var overflowDIV=$(options.overflownDIV); if(!overflowDIV.length) return false; var scrollContainerScroll=overflowDIV.scrollTop(); var scrollContainerPos=-parseInt(overflowDIV.offset().top); destination +=scrollContainerScroll + scrollContainerPos - 5; var scrollContainer=$(options.overflownDIV).filter(":not(:animated)"); scrollContainer.animate({ scrollTop: destination }, 1100, function(){ if(options.focusFirstField) first_err.focus(); }); }else{ $("html, body").animate({ scrollTop: destination }, 1100, function(){ if(options.focusFirstField) first_err.focus(); }); $("html, body").animate({scrollLeft: fixleft},1100) }}else if(options.focusFirstField) first_err.focus(); return false; } return true; }, _validateFormWithAjax: function(form, options){ var data=form.serialize(); var type=(options.ajaxFormValidationMethod) ? options.ajaxFormValidationMethod:"GET"; var url=(options.ajaxFormValidationURL) ? options.ajaxFormValidationURL:form.attr("action"); var dataType=(options.dataType) ? options.dataType:"json"; $.ajax({ type: type, url: url, cache: false, dataType: dataType, data: data, form: form, methods: methods, options: options, beforeSend: function(){ return options.onBeforeAjaxFormValidation(form, options); }, error: function(data, transport){ if(options.onFailure){ options.onFailure(data, transport); }else{ methods._ajaxError(data, transport); }}, success: function(json){ if((dataType=="json")&&(json!==true)){ var errorInForm=false; for (var i=0; i < json.length; i++){ var value=json[i]; var errorFieldId=value[0]; var errorField=$($("#" + errorFieldId)[0]); if(errorField.length==1){ var msg=value[2]; if(value[1]==true){ if(msg==""||!msg){ methods._closePrompt(errorField); }else{ if(options.allrules[msg]){ var txt=options.allrules[msg].alertTextOk; if(txt) msg=txt; } if(options.showPrompts) methods._showPrompt(errorField, msg, "pass", false, options, true); }}else{ errorInForm|=true; if(options.allrules[msg]){ var txt=options.allrules[msg].alertText; if(txt) msg=txt; } if(options.showPrompts) methods._showPrompt(errorField, msg, "", false, options, true); }} } options.onAjaxFormComplete(!errorInForm, form, json, options); } else options.onAjaxFormComplete(true, form, json, options); }}); }, _validateField: function(field, options, skipAjaxValidation){ if(!field.attr("id")){ field.attr("id", "form-validation-field-" + $.validationEngine.fieldIdCounter); ++$.validationEngine.fieldIdCounter; } if(field.hasClass(options.ignoreFieldsWithClass)) return false; if(!options.validateNonVisibleFields&&(field.is(":hidden")&&!options.prettySelect||field.parent().is(":hidden"))) return false; var rulesParsing=field.attr(options.validateAttribute); var getRules=/validate\[(.*)\]/.exec(rulesParsing); if(!getRules) return false; var str=getRules[1]; var rules=str.split(/\[|,|\]/); var isAjaxValidator=false; var fieldName=field.attr("name"); var promptText=""; var promptType=""; var required=false; var limitErrors=false; options.isError=false; options.showArrow=options.showArrow==true; if(options.maxErrorsPerField > 0){ limitErrors=true; } var form=$(field.closest("form, .validationEngineContainer")); for (var i=0; i < rules.length; i++){ rules[i]=rules[i].toString().replace(" ", ""); if(rules[i]===''){ delete rules[i]; }} for (var i=0, field_errors=0; i < rules.length; i++){ if(limitErrors&&field_errors >=options.maxErrorsPerField){ if(!required){ var have_required=$.inArray('required', rules); required=(have_required!=-1&&have_required >=i); } break; } var errorMsg=undefined; switch (rules[i]){ case "required": required=true; errorMsg=methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._required); break; case "custom": errorMsg=methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._custom); break; case "groupRequired": var classGroup="["+options.validateAttribute+"*=" +rules[i + 1] +"]"; var firstOfGroup=form.find(classGroup).eq(0); if(firstOfGroup[0]!=field[0]){ methods._validateField(firstOfGroup, options, skipAjaxValidation); options.showArrow=true; } errorMsg=methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._groupRequired); if(errorMsg) required=true; options.showArrow=false; break; case "ajax": errorMsg=methods._ajax(field, rules, i, options); if(errorMsg){ promptType="load"; } break; case "minSize": errorMsg=methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._minSize); break; case "maxSize": errorMsg=methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._maxSize); break; case "min": errorMsg=methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._min); break; case "max": errorMsg=methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._max); break; case "past": errorMsg=methods._getErrorMessage(form, field,rules[i], rules, i, options, methods._past); break; case "future": errorMsg=methods._getErrorMessage(form, field,rules[i], rules, i, options, methods._future); break; case "dateRange": var classGroup="["+options.validateAttribute+"*=" + rules[i + 1] + "]"; options.firstOfGroup=form.find(classGroup).eq(0); options.secondOfGroup=form.find(classGroup).eq(1); if(options.firstOfGroup[0].value||options.secondOfGroup[0].value){ errorMsg=methods._getErrorMessage(form, field,rules[i], rules, i, options, methods._dateRange); } if(errorMsg) required=true; options.showArrow=false; break; case "dateTimeRange": var classGroup="["+options.validateAttribute+"*=" + rules[i + 1] + "]"; options.firstOfGroup=form.find(classGroup).eq(0); options.secondOfGroup=form.find(classGroup).eq(1); if(options.firstOfGroup[0].value||options.secondOfGroup[0].value){ errorMsg=methods._getErrorMessage(form, field,rules[i], rules, i, options, methods._dateTimeRange); } if(errorMsg) required=true; options.showArrow=false; break; case "maxCheckbox": field=$(form.find("input[name='" + fieldName + "']")); errorMsg=methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._maxCheckbox); break; case "minCheckbox": field=$(form.find("input[name='" + fieldName + "']")); errorMsg=methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._minCheckbox); break; case "equals": errorMsg=methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._equals); break; case "funcCall": errorMsg=methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._funcCall); break; case "creditCard": errorMsg=methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._creditCard); break; case "condRequired": errorMsg=methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._condRequired); if(errorMsg!==undefined){ required=true; } break; case "funcCallRequired": errorMsg=methods._getErrorMessage(form, field, rules[i], rules, i, options, methods._funcCallRequired); if(errorMsg!==undefined){ required=true; } break; default: } var end_validation=false; if(typeof errorMsg=="object"){ switch (errorMsg.status){ case "_break": end_validation=true; break; case "_error": errorMsg=errorMsg.message; break; case "_error_no_prompt": return true; break; default: break; }} if(i==0&&str.indexOf('funcCallRequired')==0&&errorMsg!==undefined){ if(promptText!=''){ promptText +="
"; } promptText +=errorMsg; options.isError=true; field_errors++; end_validation=true; } if(end_validation){ break; } if(typeof errorMsg=='string'){ if(promptText!=''){ promptText +="
"; } promptText +=errorMsg; options.isError=true; field_errors++; }} if(!required&&!(field.val())&&field.val().length < 1&&$.inArray('equals', rules) < 0) options.isError=false; var fieldType=field.prop("type"); var positionType=field.data("promptPosition")||options.promptPosition; if((fieldType=="radio"||fieldType=="checkbox")&&form.find("input[name='" + fieldName + "']").length > 1){ if(positionType==='inline'){ field=$(form.find("input[name='" + fieldName + "'][type!=hidden]:last")); }else{ field=$(form.find("input[name='" + fieldName + "'][type!=hidden]:first")); } options.showArrow=options.showArrowOnRadioAndCheckbox; } if(field.is(":hidden")&&options.prettySelect){ field=form.find("#" + options.usePrefix + methods._jqSelector(field.attr('id')) + options.useSuffix); } if(options.isError&&options.showPrompts){ methods._showPrompt(field, promptText, promptType, false, options); }else{ if(!isAjaxValidator) methods._closePrompt(field); } if(!isAjaxValidator){ field.trigger("jqv.field.result", [field, options.isError, promptText]); } var errindex=$.inArray(field[0], options.InvalidFields); if(errindex==-1){ if(options.isError) options.InvalidFields.push(field[0]); }else if(!options.isError){ options.InvalidFields.splice(errindex, 1); } methods._handleStatusCssClasses(field, options); if(options.isError&&options.onFieldFailure) options.onFieldFailure(field); if(!options.isError&&options.onFieldSuccess) options.onFieldSuccess(field); return options.isError; }, _handleStatusCssClasses: function(field, options){ if(options.addSuccessCssClassToField) field.removeClass(options.addSuccessCssClassToField); if(options.addFailureCssClassToField) field.removeClass(options.addFailureCssClassToField); if(options.addSuccessCssClassToField&&!options.isError) field.addClass(options.addSuccessCssClassToField); if(options.addFailureCssClassToField&&options.isError) field.addClass(options.addFailureCssClassToField); }, _getErrorMessage:function (form, field, rule, rules, i, options, originalValidationMethod){ var rule_index=jQuery.inArray(rule, rules); if(rule==="custom"||rule==="funcCall"||rule==="funcCallRequired"){ var custom_validation_type=rules[rule_index + 1]; rule=rule + "[" + custom_validation_type + "]"; delete(rules[rule_index]); } var alteredRule=rule; var element_classes=(field.attr("data-validation-engine")) ? field.attr("data-validation-engine"):field.attr("class"); var element_classes_array=element_classes.split(" "); var errorMsg; if(rule=="future"||rule=="past"||rule=="maxCheckbox"||rule=="minCheckbox"){ errorMsg=originalValidationMethod(form, field, rules, i, options); }else{ errorMsg=originalValidationMethod(field, rules, i, options); } if(errorMsg!=undefined){ var custom_message=methods._getCustomErrorMessage($(field), element_classes_array, alteredRule, options); if(custom_message) errorMsg=custom_message; } return errorMsg; }, _getCustomErrorMessage:function (field, classes, rule, options){ var custom_message=false; var validityProp=/^custom\[.*\]$/.test(rule) ? methods._validityProp["custom"]:methods._validityProp[rule]; if(validityProp!=undefined){ custom_message=field.attr("data-errormessage-"+validityProp); if(custom_message!=undefined) return custom_message; } custom_message=field.attr("data-errormessage"); if(custom_message!=undefined) return custom_message; var id='#' + field.attr("id"); if(typeof options.custom_error_messages[id]!="undefined" && typeof options.custom_error_messages[id][rule]!="undefined"){ custom_message=options.custom_error_messages[id][rule]['message']; }else if(classes.length > 0){ for (var i=0; i < classes.length&&classes.length > 0; i++){ var element_class="." + classes[i]; if(typeof options.custom_error_messages[element_class]!="undefined" && typeof options.custom_error_messages[element_class][rule]!="undefined"){ custom_message=options.custom_error_messages[element_class][rule]['message']; break; }} } if(!custom_message && typeof options.custom_error_messages[rule]!="undefined" && typeof options.custom_error_messages[rule]['message']!="undefined"){ custom_message=options.custom_error_messages[rule]['message']; } return custom_message; }, _validityProp: { "required": "value-missing", "custom": "custom-error", "groupRequired": "value-missing", "ajax": "custom-error", "minSize": "range-underflow", "maxSize": "range-overflow", "min": "range-underflow", "max": "range-overflow", "past": "type-mismatch", "future": "type-mismatch", "dateRange": "type-mismatch", "dateTimeRange": "type-mismatch", "maxCheckbox": "range-overflow", "minCheckbox": "range-underflow", "equals": "pattern-mismatch", "funcCall": "custom-error", "funcCallRequired": "custom-error", "creditCard": "pattern-mismatch", "condRequired": "value-missing" }, _required: function(field, rules, i, options, condRequired){ switch (field.prop("type")){ case "radio": case "checkbox": if(condRequired){ if(!field.prop('checked')){ return options.allrules[rules[i]].alertTextCheckboxMultiple; } break; } var form=field.closest("form, .validationEngineContainer"); var name=field.attr("name"); if(form.find("input[name='" + name + "']:checked").length==0){ if(form.find("input[name='" + name + "']:visible").length==1) return options.allrules[rules[i]].alertTextCheckboxe; else return options.allrules[rules[i]].alertTextCheckboxMultiple; } break; case "text": case "password": case "textarea": case "file": case "select-one": case "select-multiple": default: var field_val=$.trim(field.val()); var dv_placeholder=$.trim(field.attr("data-validation-placeholder")); var placeholder=$.trim(field.attr("placeholder")); if((!field_val) ||(dv_placeholder&&field_val==dv_placeholder) ||(placeholder&&field_val==placeholder) ){ return options.allrules[rules[i]].alertText; } break; }}, _groupRequired: function(field, rules, i, options){ var classGroup="["+options.validateAttribute+"*=" +rules[i + 1] +"]"; var isValid=false; field.closest("form, .validationEngineContainer").find(classGroup).each(function(){ if(!methods._required($(this), rules, i, options)){ isValid=true; return false; }}); if(!isValid){ return options.allrules[rules[i]].alertText; }}, _custom: function(field, rules, i, options){ var customRule=rules[i + 1]; var rule=options.allrules[customRule]; var fn; if(!rule){ alert("jqv:custom rule not found - "+customRule); return; } if(rule["regex"]){ var ex=rule.regex; if(!ex){ alert("jqv:custom regex not found - "+customRule); return; } var pattern=new RegExp(ex); if(!pattern.test(field.val())) return options.allrules[customRule].alertText; }else if(rule["func"]){ fn=rule["func"]; if(typeof(fn)!=="function"){ alert("jqv:custom parameter 'function' is no function - "+customRule); return; } if(!fn(field, rules, i, options)) return options.allrules[customRule].alertText; }else{ alert("jqv:custom type not allowed "+customRule); return; }}, _funcCall: function(field, rules, i, options){ var functionName=rules[i + 1]; var fn; if(functionName.indexOf('.') >-1){ var namespaces=functionName.split('.'); var scope=window; while(namespaces.length){ scope=scope[namespaces.shift()]; } fn=scope; } else fn=window[functionName]||options.customFunctions[functionName]; if(typeof(fn)=='function') return fn(field, rules, i, options); }, _funcCallRequired: function(field, rules, i, options){ return methods._funcCall(field,rules,i,options); }, _equals: function(field, rules, i, options){ var equalsField=rules[i + 1]; if(field.val()!=$("#" + equalsField).val()) return options.allrules.equals.alertText; }, _maxSize: function(field, rules, i, options){ var max=rules[i + 1]; var len=field.val().length; if(len > max){ var rule=options.allrules.maxSize; return rule.alertText + max + rule.alertText2; }}, _minSize: function(field, rules, i, options){ var min=rules[i + 1]; var len=field.val().length; if(len < min){ var rule=options.allrules.minSize; return rule.alertText + min + rule.alertText2; }}, _min: function(field, rules, i, options){ var min=parseFloat(rules[i + 1]); var len=parseFloat(field.val()); if(len < min){ var rule=options.allrules.min; if(rule.alertText2) return rule.alertText + min + rule.alertText2; return rule.alertText + min; }}, _max: function(field, rules, i, options){ var max=parseFloat(rules[i + 1]); var len=parseFloat(field.val()); if(len >max){ var rule=options.allrules.max; if(rule.alertText2) return rule.alertText + max + rule.alertText2; return rule.alertText + max; }}, _past: function(form, field, rules, i, options){ var p=rules[i + 1]; var fieldAlt=$(form.find("*[name='" + p.replace(/^#+/, '') + "']")); var pdate; if(p.toLowerCase()=="now"){ pdate=new Date(); }else if(undefined!=fieldAlt.val()){ if(fieldAlt.is(":disabled")) return; pdate=methods._parseDate(fieldAlt.val()); }else{ pdate=methods._parseDate(p); } var vdate=methods._parseDate(field.val()); if(vdate > pdate){ var rule=options.allrules.past; if(rule.alertText2) return rule.alertText + methods._dateToString(pdate) + rule.alertText2; return rule.alertText + methods._dateToString(pdate); }}, _future: function(form, field, rules, i, options){ var p=rules[i + 1]; var fieldAlt=$(form.find("*[name='" + p.replace(/^#+/, '') + "']")); var pdate; if(p.toLowerCase()=="now"){ pdate=new Date(); }else if(undefined!=fieldAlt.val()){ if(fieldAlt.is(":disabled")) return; pdate=methods._parseDate(fieldAlt.val()); }else{ pdate=methods._parseDate(p); } var vdate=methods._parseDate(field.val()); if(vdate < pdate){ var rule=options.allrules.future; if(rule.alertText2) return rule.alertText + methods._dateToString(pdate) + rule.alertText2; return rule.alertText + methods._dateToString(pdate); }}, _isDate: function (value){ var dateRegEx=new RegExp(/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/); return dateRegEx.test(value); }, _isDateTime: function (value){ var dateTimeRegEx=new RegExp(/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/); return dateTimeRegEx.test(value); }, _dateCompare: function (start, end){ return (new Date(start.toString()) < new Date(end.toString())); }, _dateRange: function (field, rules, i, options){ if((!options.firstOfGroup[0].value&&options.secondOfGroup[0].value)||(options.firstOfGroup[0].value&&!options.secondOfGroup[0].value)){ return options.allrules[rules[i]].alertText + options.allrules[rules[i]].alertText2; } if(!methods._isDate(options.firstOfGroup[0].value)||!methods._isDate(options.secondOfGroup[0].value)){ return options.allrules[rules[i]].alertText + options.allrules[rules[i]].alertText2; } if(!methods._dateCompare(options.firstOfGroup[0].value, options.secondOfGroup[0].value)){ return options.allrules[rules[i]].alertText + options.allrules[rules[i]].alertText2; }}, _dateTimeRange: function (field, rules, i, options){ if((!options.firstOfGroup[0].value&&options.secondOfGroup[0].value)||(options.firstOfGroup[0].value&&!options.secondOfGroup[0].value)){ return options.allrules[rules[i]].alertText + options.allrules[rules[i]].alertText2; } if(!methods._isDateTime(options.firstOfGroup[0].value)||!methods._isDateTime(options.secondOfGroup[0].value)){ return options.allrules[rules[i]].alertText + options.allrules[rules[i]].alertText2; } if(!methods._dateCompare(options.firstOfGroup[0].value, options.secondOfGroup[0].value)){ return options.allrules[rules[i]].alertText + options.allrules[rules[i]].alertText2; }}, _maxCheckbox: function(form, field, rules, i, options){ var nbCheck=rules[i + 1]; var groupname=field.attr("name"); var groupSize=form.find("input[name='" + groupname + "']:checked").length; if(groupSize > nbCheck){ options.showArrow=false; if(options.allrules.maxCheckbox.alertText2) return options.allrules.maxCheckbox.alertText + " " + nbCheck + " " + options.allrules.maxCheckbox.alertText2; return options.allrules.maxCheckbox.alertText; }}, _minCheckbox: function(form, field, rules, i, options){ var nbCheck=rules[i + 1]; var groupname=field.attr("name"); var groupSize=form.find("input[name='" + groupname + "']:checked").length; if(groupSize < nbCheck){ options.showArrow=false; return options.allrules.minCheckbox.alertText + " " + nbCheck + " " + options.allrules.minCheckbox.alertText2; }}, _creditCard: function(field, rules, i, options){ var valid=false, cardNumber=field.val().replace(/ +/g, '').replace(/-+/g, ''); var numDigits=cardNumber.length; if(numDigits >=14&&numDigits <=16&&parseInt(cardNumber) > 0){ var sum=0, i=numDigits - 1, pos=1, digit, luhn=new String(); do { digit=parseInt(cardNumber.charAt(i)); luhn +=(pos++ % 2==0) ? digit * 2:digit; } while (--i >=0) for (i=0; i < luhn.length; i++){ sum +=parseInt(luhn.charAt(i)); } valid=sum % 10==0; } if(!valid) return options.allrules.creditCard.alertText; }, _ajax: function(field, rules, i, options){ var errorSelector=rules[i + 1]; var rule=options.allrules[errorSelector]; var extraData=rule.extraData; var extraDataDynamic=rule.extraDataDynamic; var data={ "fieldId":field.attr("id"), "fieldValue":field.val() }; if(typeof extraData==="object"){ $.extend(data, extraData); }else if(typeof extraData==="string"){ var tempData=extraData.split("&"); for(var i=0; i < tempData.length; i++){ var values=tempData[i].split("="); if(values[0]&&values[0]){ data[values[0]]=values[1]; }} } if(extraDataDynamic){ var tmpData=[]; var domIds=String(extraDataDynamic).split(","); for (var i=0; i < domIds.length; i++){ var id=domIds[i]; if($(id).length){ var inputValue=field.closest("form, .validationEngineContainer").find(id).val(); var keyValue=id.replace('#', '') + '=' + escape(inputValue); data[id.replace('#', '')]=inputValue; }} } if(options.eventTrigger=="field"){ delete(options.ajaxValidCache[field.attr("id")]); } if(!options.isError&&!methods._checkAjaxFieldStatus(field.attr("id"), options)){ $.ajax({ type: options.ajaxFormValidationMethod, url: rule.url, cache: false, dataType: "json", data: data, field: field, rule: rule, methods: methods, options: options, beforeSend: function(){}, error: function(data, transport){ if(options.onFailure){ options.onFailure(data, transport); }else{ methods._ajaxError(data, transport); }}, success: function(json){ var errorFieldId=json[0]; var errorField=$("#"+ errorFieldId).eq(0); if(errorField.length==1){ var status=json[1]; var msg=json[2]; if(!status){ options.ajaxValidCache[errorFieldId]=false; options.isError=true; if(msg){ if(options.allrules[msg]){ var txt=options.allrules[msg].alertText; if(txt){ msg=txt; }} } else msg=rule.alertText; if(options.showPrompts) methods._showPrompt(errorField, msg, "", true, options); }else{ options.ajaxValidCache[errorFieldId]=true; if(msg){ if(options.allrules[msg]){ var txt=options.allrules[msg].alertTextOk; if(txt){ msg=txt; }} } else msg=rule.alertTextOk; if(options.showPrompts){ if(msg) methods._showPrompt(errorField, msg, "pass", true, options); else methods._closePrompt(errorField); } if(options.eventTrigger=="submit") field.closest("form").submit(); }} errorField.trigger("jqv.field.result", [errorField, options.isError, msg]); }}); return rule.alertTextLoad; }}, _ajaxError: function(data, transport){ if(data.status==0&&transport==null) alert("The page is not served from a server! ajax call failed"); else if(typeof console!="undefined") console.log("Ajax error: " + data.status + " " + transport); }, _dateToString: function(date){ return date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate(); }, _parseDate: function(d){ var dateParts=d.split("-"); if(dateParts==d) dateParts=d.split("/"); if(dateParts==d){ dateParts=d.split("."); return new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]); } return new Date(dateParts[0], (dateParts[1] - 1) ,dateParts[2]); }, _showPrompt: function(field, promptText, type, ajaxed, options, ajaxform){ if(field.data('jqv-prompt-at') instanceof jQuery){ field=field.data('jqv-prompt-at'); }else if(field.data('jqv-prompt-at')){ field=$(field.data('jqv-prompt-at')); } var prompt=methods._getPrompt(field); if(ajaxform) prompt=false; if($.trim(promptText)){ if(prompt) methods._updatePrompt(field, prompt, promptText, type, ajaxed, options); else methods._buildPrompt(field, promptText, type, ajaxed, options); }}, _buildPrompt: function(field, promptText, type, ajaxed, options){ var prompt=$('
'); prompt.addClass(methods._getClassName(field.attr("id")) + "formError"); prompt.addClass("parentForm"+methods._getClassName(field.closest('form, .validationEngineContainer').attr("id"))); prompt.addClass("formError"); switch (type){ case "pass": prompt.addClass("greenPopup"); break; case "load": prompt.addClass("blackPopup"); break; default: } if(ajaxed) prompt.addClass("ajaxed"); var promptContent=$('
').addClass("formErrorContent").html(promptText).appendTo(prompt); var positionType=field.data("promptPosition")||options.promptPosition; if(options.showArrow){ var arrow=$('
').addClass("formErrorArrow"); if(typeof(positionType)=='string'){ var pos=positionType.indexOf(":"); if(pos!=-1) positionType=positionType.substring(0,pos); } switch (positionType){ case "bottomLeft": case "bottomRight": prompt.find(".formErrorContent").before(arrow); arrow.addClass("formErrorArrowBottom").html('
'); break; case "topLeft": case "topRight": arrow.html('
'); prompt.append(arrow); break; }} if(options.addPromptClass) prompt.addClass(options.addPromptClass); var requiredOverride=field.attr('data-required-class'); if(requiredOverride!==undefined){ prompt.addClass(requiredOverride); }else{ if(options.prettySelect){ if($('#' + field.attr('id')).next().is('select')){ var prettyOverrideClass=$('#' + field.attr('id').substr(options.usePrefix.length).substring(options.useSuffix.length)).attr('data-required-class'); if(prettyOverrideClass!==undefined){ prompt.addClass(prettyOverrideClass); }} }} prompt.css({ "opacity": 0 }); if(positionType==='inline'){ prompt.addClass("inline"); if(typeof field.attr('data-prompt-target')!=='undefined'&&$('#'+field.attr('data-prompt-target')).length > 0){ prompt.appendTo($('#'+field.attr('data-prompt-target'))); }else{ field.after(prompt); }}else{ field.before(prompt); } var pos=methods._calculatePosition(field, prompt, options); if($('body').hasClass('rtl')){ prompt.css({ "opacity": 0 }).data("callerField", field); }else{ prompt.css({ "opacity": 0 }).data("callerField", field); } if(options.autoHidePrompt){ setTimeout(function(){ prompt.animate({ "opacity": 0 },function(){ prompt.closest('.formError').remove(); }); }, options.autoHideDelay); } return prompt.animate({ "opacity": 1 }); }, _updatePrompt: function(field, prompt, promptText, type, ajaxed, options, noAnimation){ if(prompt){ if(typeof type!=="undefined"){ if(type=="pass") prompt.addClass("greenPopup"); else prompt.removeClass("greenPopup"); if(type=="load") prompt.addClass("blackPopup"); else prompt.removeClass("blackPopup"); } if(ajaxed) prompt.addClass("ajaxed"); else prompt.removeClass("ajaxed"); prompt.find(".formErrorContent").html(promptText); $(prompt).removeClass("run-animation"); setTimeout(function(){ $(prompt).addClass("run-animation"); },100) var pos=methods._calculatePosition(field, prompt, options); if($('body').hasClass('rtl')){ var css={"top": pos.callerTopPosition, "left": "initial", "right": pos.callerleftPosition, "marginTop": pos.marginTopSize, "opacity": 1};}else{ var css={"top": pos.callerTopPosition, "left": pos.callerleftPosition, "right": "initial", "marginTop": pos.marginTopSize, "opacity": 1};} prompt.css({ "opacity": 0, }); if(noAnimation) prompt.css(css); else prompt.animate(css); }}, _closePrompt: function(field){ var prompt=methods._getPrompt(field); if(prompt) prompt.fadeTo("fast", 0, function(){ prompt.closest('.formError').remove(); }); }, closePrompt: function(field){ return methods._closePrompt(field); }, _getPrompt: function(field){ var formId=$(field).closest('form, .validationEngineContainer').attr('id'); var className=methods._getClassName(field.attr("id")) + "formError"; var match=$("." + methods._escapeExpression(className) + '.parentForm' + methods._getClassName(formId))[0]; if(match) return $(match); }, _escapeExpression: function (selector){ return selector.replace(/([#;&,\.\+\*\~':"\!\^$\[\]\(\)=>\|])/g, "\\$1"); }, isRTL: function(field){ var $document=$(document); var $body=$('body'); var rtl = (field&&field.hasClass('rtl')) || (field&&(field.attr('dir')||'').toLowerCase()==='rtl') || $document.hasClass('rtl') || ($document.attr('dir')||'').toLowerCase()==='rtl' || $body.hasClass('rtl') || ($body.attr('dir')||'').toLowerCase()==='rtl'; return Boolean(rtl); }, _calculatePosition: function (field, promptElmt, options){ var promptTopPosition, promptleftPosition, marginTopSize; var fieldWidth=field.width(); var fieldLeft=field.position().left; var fieldTop=field.position().top; var fieldHeight=field.height(); var promptHeight=promptElmt.height(); promptTopPosition=promptleftPosition=0; marginTopSize=-promptHeight; var positionType=field.data("promptPosition")||options.promptPosition; var shift1=""; var shift2=""; var shiftX=0; var shiftY=0; if(typeof(positionType)=='string'){ if(positionType.indexOf(":")!=-1){ shift1=positionType.substring(positionType.indexOf(":")+1); positionType=positionType.substring(0,positionType.indexOf(":")); if(shift1.indexOf(",")!=-1){ shift2=shift1.substring(shift1.indexOf(",") +1); shift1=shift1.substring(0,shift1.indexOf(",")); shiftY=parseInt(shift2); if(isNaN(shiftY)) shiftY=0; }; shiftX=parseInt(shift1); if(isNaN(shift1)) shift1=0; };}; switch (positionType){ default: case "topRight": promptleftPosition +=fieldLeft + fieldWidth - 27; promptTopPosition +=fieldTop; break; case "topLeft": promptTopPosition +=fieldTop; promptleftPosition +=fieldLeft; break; case "centerRight": promptTopPosition=fieldTop+4; marginTopSize=0; promptleftPosition=fieldLeft + field.outerWidth(true)+5; break; case "centerLeft": promptleftPosition=fieldLeft - (promptElmt.width() + 2); promptTopPosition=fieldTop+4; marginTopSize=0; break; case "bottomLeft": promptTopPosition=fieldTop + field.height() + 5; marginTopSize=0; promptleftPosition=fieldLeft; break; case "bottomRight": promptleftPosition=fieldLeft + fieldWidth - 27; promptTopPosition=fieldTop + field.height() + 5; marginTopSize=0; break; case "inline": promptleftPosition=0; promptTopPosition=0; marginTopSize=0; }; promptleftPosition +=shiftX; promptTopPosition +=shiftY; return { "callerTopPosition": promptTopPosition + "px", "callerleftPosition": promptleftPosition + "px", "marginTopSize": marginTopSize + "px" };}, _saveOptions: function(form, options){ if($.validationEngineLanguage) var allRules=$.validationEngineLanguage.allRules; else $.error("jQuery.validationEngine rules are not loaded, plz add localization files to the page"); $.validationEngine.defaults.allrules=allRules; var userOptions=$.extend(true,{},$.validationEngine.defaults,options); form.data('jqv', userOptions); return userOptions; }, _getClassName: function(className){ if(className) return className.replace(/:/g, "_").replace(/\./g, "_"); }, _jqSelector: function(str){ return str.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g, '\\$1'); }, _condRequired: function(field, rules, i, options){ var idx, dependingField; for(idx=(i + 1); idx < rules.length; idx++){ dependingField=jQuery("#" + rules[idx]).first(); if(dependingField.length&&methods._required(dependingField, ["required"], 0, options, true)==undefined){ return methods._required(field, ["required"], 0, options); }} }, _submitButtonClick: function(event){ var button=$(this); var form=button.closest('form, .validationEngineContainer'); form.data("jqv_submitButton", button.attr("id")); }}; $.fn.validationEngine=function(method){ var form=$(this); if(!form[0]) return form; if(typeof(method)=='string'&&method.charAt(0)!='_'&&methods[method]){ if(method!="showPrompt"&&method!="hide"&&method!="hideAll") methods.init.apply(form); return methods[method].apply(form, Array.prototype.slice.call(arguments, 1)); }else if(typeof method=='object'||!method){ methods.init.apply(form, arguments); return methods.attach.apply(form); }else{ $.error('Method ' + method + ' does not exist in jQuery.validationEngine'); }}; $.validationEngine={fieldIdCounter: 0,defaults:{ validationEventTrigger: "blur", scroll: true, focusFirstField:true, showPrompts: true, validateNonVisibleFields: false, ignoreFieldsWithClass: 'ignoreMe', promptPosition: "topRight", bindMethod:"bind", inlineAjax: false, ajaxFormValidation: false, ajaxFormValidationURL: false, ajaxFormValidationMethod: 'get', onAjaxFormComplete: $.noop, onBeforeAjaxFormValidation: $.noop, onValidationComplete: false, doNotShowAllErrosOnSubmit: false, custom_error_messages:{}, binded: true, notEmpty: false, showArrow: true, showArrowOnRadioAndCheckbox: false, isError: false, maxErrorsPerField: false, ajaxValidCache: {}, autoPositionUpdate: false, InvalidFields: [], onFieldSuccess: false, onFieldFailure: false, onSuccess: false, onFailure: false, validateAttribute: "class", addSuccessCssClassToField: "", addFailureCssClassToField: "", autoHidePrompt: false, autoHideDelay: 10000, fadeDuration: 300, prettySelect: false, addPromptClass:"", usePrefix: "", useSuffix: "", showOneMessage: false }}; $(function(){$.validationEngine.defaults.promptPosition=methods.isRTL()?'topLeft':"topRight"}); })(jQuery); (function($){ $.fn.validationEngineLanguage=function(){ }; $.validationEngineLanguage={ newLang: function(){ $.validationEngineLanguage.allRules={ "required": { "regex": "none", "alertText": "* Dieses Feld ist ein Pflichtfeld", "alertTextCheckboxMultiple": "* Bitte wählen Sie eine Option", "alertTextCheckboxe": "* Dieses Feld ist ein Pflichtfeld" }, "requiredInFunction": { "func": function(field, rules, i, options){ return (field.val()=="test") ? true:false; }, "alertText": "* Field must equal test" }, "minSize": { "regex": "none", "alertText": "* Mindestens ", "alertText2": " Zeichen benötigt" }, "maxSize": { "regex": "none", "alertText": "* Maximal ", "alertText2": " Zeichen erlaubt" }, "groupRequired": { "regex": "none", "alertText": "* Sie müssen mindestens eines dieser Felder ausfüllen" }, "min": { "regex": "none", "alertText": "* Mindestwert ist " }, "max": { "regex": "none", "alertText": "* Maximalwert ist " }, "past": { "regex": "none", "alertText": "* Datum vor " }, "future": { "regex": "none", "alertText": "* Datum nach " }, "maxCheckbox": { "regex": "none", "alertText": "* Maximale Anzahl Markierungen überschritten" }, "minCheckbox": { "regex": "none", "alertText": "* Bitte wählen Sie ", "alertText2": " Optionen" }, "equals": { "regex": "none", "alertText": "* Felder stimmen nicht überein" }, "creditCard": { "regex": "none", "alertText": "* Ungültige Kreditkartennummer" }, "phone": { "regex": /^([\+][0-9]{1,3}([ \.\-])?)?([\(][0-9]{1,6}[\)])?([0-9 \.\-]{1,32})(([A-Za-z \:]{1,11})?[0-9]{1,4}?)$/, "alertText": "* Ungültige Telefonnummer" }, "email": { "regex": /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, "alertText": "* Ungültige E-Mail-Adresse" }, "integer": { "regex": /^[\-\+]?\d+$/, "alertText": "* Keine gültige Ganzzahl" }, "number": { "regex": /^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/, "alertText": "* Keine gültige Fließkommazahl" }, "date": { "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/, "alertText": "* Ungültiges Datumsformat, erwartet wird das Format JJJJ-MM-TT" }, "ipv4": { "regex": /^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/, "alertText": "* Ungültige IP-Adresse" }, "url": { "regex": /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i, "alertText": "* Ungültige URL" }, "onlyLetterSp": { "regex": /^[a-zA-ZäüöÄÜÖßs\ \\\']+$/, "alertText": "* Nur Buchstaben erlaubt" }, "onlyLetterNumber": { "regex": /^[0-9a-zA-ZäüöÄÜÖßs-]+$/, "alertText": "* Keine Sonderzeichen erlaubt" }, "ajaxUserCall": { "url": "ajaxValidateFieldUser", "extraData": "name=eric", "alertText": "* Dieser Benutzer ist bereits vergeben", "alertTextLoad": "* Überprüfe Angaben, bitte warten" }, "ajaxNameCall": { "url": "ajaxValidateFieldName", "alertText": "* Dieser Name ist bereits vergeben", "alertTextOk": "* Dieser Name ist verfügbar", "alertTextLoad": "* Überprüfe Angaben, bitte warten" }, "validate2fields": { "alertText": "* Bitte HELLO eingeben" }};}}; $.validationEngineLanguage.newLang(); })(jQuery); jQuery(function(a){a.fn.dtInitContactForm=function(){return this.each(function(){var b=a(this),c="";c=b.hasClass("privacy-form")?'

'+dtLocal.contactMessages.terms+"

":"",b.validationEngine({binded:!1,promptPosition:"inline",scroll:!1,autoHidePrompt:!1,maxErrorsPerField:1,custom_error_messages:{required:{message:dtLocal.contactMessages.required+c}},fadeDuration:500,addPromptClass:"run-animation",onAjaxFormComplete:function(){},addSuccessCssClassToField:"field-success",onBeforeAjaxFormValidation:function(b,c){var d=a(b);d.find(".formError").removeClass("first"),d.find("input").removeClass("error-field"),d.find("textarea").removeClass("error-field")},onFailure:function(b,c){var d=a(b);d.find(".formError .close-message").length<=0&&d.find(".formError").append('')},onValidationComplete:function(b,c){var d=a(b);if(d.find(".greenPopup").length>0&&d.find(".greenPopup").remove(),d.find(".formError").removeClass("first"),d.find("input").removeClass("error-field"),d.find("textarea").removeClass("error-field"),d.find(".formError").each(function(b,c){a(c).eq(b).addClass("first"),a(c).prev().addClass("error-field")}),a(".formError .close-message").remove(),d.find(".formError .close-message").length<=0&&d.find(".formError").append(''),d.find("input.the7-form-terms").hasClass("field-success")&&d.find(".dt-privacy-message").addClass("hide-privacy-message"),c){var e={action:"dt_send_mail",widget_id:a('input[name="widget_id"]',d).val(),send_message:a('input[name="send_message"]',d).val(),security_token:a('input[name="security_token"]',d).val(),fields:{}};d.find('input[type="text"], textarea').each(function(){var b=a(this);e.fields[b.attr("name")]=b.val()}),a.post(dtLocal.ajaxurl,e,function(c){var e,f=a(b),g=c.success?"pass":"error";a('input[type="hidden"]',f).last().validationEngine("showPrompt",c.errors,g,"inline"),d.find(".formError").addClass("field-success"),f.validationEngine("showPrompt","","","topRight"),c.success&&(f.find('input[type="text"], textarea').val(""),f.find('input[type="checkbox"]').removeProp("checked"),d.find(".formError .close-message").length<=0&&(d.find(".formError").append(''),d.find(".formError .close-message").on("click",function(){d.find(".greenPopup").remove(),clearTimeout(e)})),clearTimeout(e),e=setTimeout(function(){d.find(".greenPopup").remove()},11e3))})}}}),b.find(".dt-btn.dt-btn-submit").on("click",function(b){b.preventDefault();var c=a(this).parents("form");c.submit()}),b.find(".clear-form").on("click",function(b){b.preventDefault();var c=a(this).parents("form");c.length>0&&(c.find('input[type="text"], textarea').val(""),c.validationEngine("hide"))})})},a("form.dt-contact-form.dt-form").dtInitContactForm()}); !function(o){window.BorlabsCookie=function(){"use strict";var e="data-cookie-accordion",t="data-cookie-accordion-parent",n="data-cookie-accordion-status",i="data-cookie-accordion-target",a="#BorlabsCookieBox input[type='checkbox']",s="#BorlabsCookieBox",c="#BorlabsCookieBoxWrap",r="data-borlabs-cookie-group",l="#BorlabsCookieBox input[type='checkbox'][name='cookieGroup[]']",d="data-cookie-accept",h="data-cookie-accept-all",u="data-cookie-back",b="data-cookie-individual",k="data-cookie-refuse",p="data-borlabs-cookie-preference",f=".borlabs-cookie-preference",v="data-borlabs-cookie-switch",g="._brlbs-btn-switch-status",m="data-borlabs-cookie-unblock",x="data-borlabs-cookie-type",C="data-borlabs-cookie-id",y="data-borlabs-script-blocker-id",w="data-borlabs-script-blocker-js-handle",B="input[type='checkbox'][name='unblockAll']",L="data-borlabs-cookie-uid",_="data-borlabs-cookie-consent-history",O=".BorlabsCookie",I,j={},S={},T={},D={},A={scriptBlockerId:{},jsHandle:{}},P=!1,H={consents:{},expires:null,uid:null,version:null},N="borlabs-cookie",R=function(e,t,n){return"about:blank"!==window.location.href&&(I=o.extend({ajaxURL:"",language:"en",animation:"1",animationDelay:"",animationIn:"fadeIn",animationOut:"fadeOut",blockContent:"",boxLayout:"box",boxLayoutAdvanced:"0",automaticCookieDomainAndPath:"",cookieDomain:"",cookiePath:"",cookieLifetime:"365",crossDomainCookie:[],cookieBeforeConsent:"",cookiesForBots:"1",cookieVersion:"1",hideCookieBoxOnPages:[],respectDoNotTrack:"",reloadAfterConsent:"",showCookieBox:"1",cookieBoxIntegration:"javascript",ignorePreSelectStatus:"1",cookies:[]},e),j=t,S=n,Y(),_o(),null===H.uid&&(H.uid=co()),I.cookieBeforeConsent&&("function"==typeof Object?0===Object.entries(H.consents).length&&Co():console.log("Cookie before consent not supported in IE 11.")),U(),o(document).on("click","["+m+"]",bo),o(document).on("click","["+p+"]",z),o(document).on("click",f,z),o(document).on("change","["+v+"]",q),o("["+_+"]").length&&yo(),Bo(),o("["+L+"]").length&&o("["+L+"]").each((function(){o(this).html(H.uid)})),!0)},U=function(){o(c).length&&"SCRIPT"===o(c)[0].tagName&&o("body").append(o(c).html()),o(document).on("click","["+d+"]",(function(){Q(),J()})),o(document).on("click","["+h+"]",(function(){V()})),o(document).on("click","["+u+"]",(function(){E()})),o(document).on("click","["+b+"]",(function(){M()})),o(document).on("click","["+k+"]",(function(){var e=[];o(l+":checked").each((function(){-1===e.indexOf(this.value)&&(o(this).trigger("click"),e.push(this.value))})),Q(),J()})),$(),W(),F(),!0===K()?(ro(),lo(),ho()):I.showCookieBox&&(0===I.hideCookieBoxOnPages.length||-1===I.hideCookieBoxOnPages.indexOf(window.location.protocol+"//"+window.location.hostname+window.location.pathname)?I.cookiesForBots&&/bot|googlebot|crawler|spider|robot|crawling/i.test(navigator.userAgent.toLowerCase())?(Z(I.cookies,!1),ro(),lo(),ho()):I.respectDoNotTrack&&void 0!==navigator.doNotTrack&&"1"===navigator.doNotTrack?(Z({essential:I.cookies.essential},!1),ro(),lo(),ho()):G(!0):(ro(),lo(),ho()))},G=function(e){o("body").addClass("borlabs-position-fix"),void 0===e&&(e=!1);var t=o(l),n=null;return Object.keys(H.consents).length?(o("["+r+"]").each((function(){-1===Object.keys(H.consents).indexOf(this.dataset.borlabsCookieGroup)&&o(this).addClass("borlabs-hide")})),t.length&&"1"===I.boxLayoutAdvanced&&t.each((function(){n=this.value,"string"==typeof this.dataset.borlabsCookieCheckbox&&("object"==typeof H.consents[n]?o(this).prop("checked",!0):o(this).prop("checked",!1))}))):t.length&&t.each((function(){n=this.value,"1"===I.boxLayoutAdvanced&&"1"===I.ignorePreSelectStatus&&!1===P&&"essential"!==n&&(o(this).prop("checked",!1),o(a+"[name='cookies["+n+"][]']").prop("checked",!1).change())})),I.blockContent?(o(s+" > div").addClass("_brlbs-block-content"),I.animation?(o(s+" > div").addClass("_brlbs-bg-animation"),setTimeout((function(){o(s+" > div").addClass("_brlbs-bg-dark")}),25)):o(s+" > div").addClass("_brlbs-bg-dark")):o("._brlbs-"+I.boxLayout+"-wrap").addClass("_brlbs-position-fixed"),o(s+" > div").css("display",""),o(s+" > div").addClass("show-cookie-box"),I.animation&&o(s+" ._brlbs-"+I.boxLayout).addClass("animated "+I.animationIn+(e&&I.animationDelay?" delay-1s":"")),!0},J=function(){return I.animation&&(o(s+" ._brlbs-"+I.boxLayout).removeClass("delay-1s "),o(s+" ._brlbs-"+I.boxLayout).removeClass(I.animationIn),o(s+" ._brlbs-"+I.boxLayout).addClass(I.animationOut)),o(s+" > div").addClass("borlabs-hide"),I.blockContent?o(s+" > div").removeClass("_brlbs-bg-dark"):o("._brlbs-"+I.boxLayout+"-wrap").addClass("_brlbs-position-fixed"),setTimeout((function(){o("._brlbs-"+I.boxLayout+"-wrap").removeAttr("style"),o("._brlbs-"+I.boxLayout+" .cookie-box .container").removeAttr("style"),o("._brlbs-"+I.boxLayout+" .cookie-preference .container").removeAttr("style"),I.animation&&(o("._brlbs-"+I.boxLayout).removeClass("animated"),o("._brlbs-"+I.boxLayout).removeClass("delay-1s"),o("._brlbs-"+I.boxLayout).removeClass(I.animationIn),o("._brlbs-"+I.boxLayout).removeClass(I.animationOut)),o(s+" > div").removeClass("show-cookie-box"),I.blockContent&&o(s+" > div").removeClass("_brlbs-block-content")}),I.animation?1e3:0),o("body").removeClass("borlabs-position-fix"),!0},M=function(){var e=o(l),t=null,n=null;e.length&&e.each((function(){t=this.value,Object.keys(H.consents).length?!1===P&&(void 0!==H.consents[t]?(o(this).prop("checked",!0),o(this).change(),(n=o(a+"[name='cookies["+t+"][]']")).each((function(){-1!==H.consents[t].indexOf(this.value)?o(this).prop("checked",!0):o(this).prop("checked",!1),o(this).change()}))):(o(this).prop("checked",!1),o(this).change(),o(a+"[name='cookies["+t+"][]']").prop("checked",!1).change())):("1"===I.ignorePreSelectStatus&&!1===P&&(o(this).prop("checked",!1),o(s+" ["+r+"='"+this.value+"']").addClass("borlabs-hide")),o(this).change(),(n=o(a+"[name='cookies["+t+"][]']")).each((function(){"1"===I.ignorePreSelectStatus&&!1===P&&o(this).prop("checked",!1),o(this).change()})))})),o("._brlbs-"+I.boxLayout+" .cookie-box .container").animate({height:0,opacity:0},(function(){o("._brlbs-"+I.boxLayout+"-wrap").animate({width:"100vw",maxWidth:"box"===I.boxLayout?"768px":"100%"},"box"===I.boxLayout?400:0,(function(){var e=o("._brlbs-"+I.boxLayout+" .cookie-preference .container")[0].scrollHeight;o("._brlbs-"+I.boxLayout+" .cookie-preference .container").animate({height:"80vh",maxHeight:e,opacity:1})}))}))},E=function(){o("._brlbs-"+I.boxLayout+" .cookie-preference .container").animate({height:0,opacity:0},(function(){o("._brlbs-"+I.boxLayout+"-wrap").animate({maxWidth:"box"===I.boxLayout?"375px":"100%"},"box"===I.boxLayout?400:0,(function(){var e=o("._brlbs-"+I.boxLayout+" .cookie-box .container")[0].scrollHeight+"px";o("._brlbs-"+I.boxLayout+" .cookie-box .container").animate({height:e,opacity:1})}))}))},z=function(e){return void 0!==e&&e.preventDefault(),o("._brlbs-"+I.boxLayout+" .cookie-box .container").css("height",0),o("._brlbs-"+I.boxLayout+" .cookie-box .container").css("opacity",0),o("._brlbs-"+I.boxLayout+"-wrap").css({width:"100vw",maxWidth:"box"===I.boxLayout?"768px":"100%"}),G(!1),setTimeout((function(){M()}),500),!0},$=function(){o("["+e+"]").on("click","["+i+"]",(function(){var i=o(this).closest("["+e+"]");i.find("["+t+"]:visible").length&&(i.find("["+n+"='hide']").addClass("borlabs-hide"),i.find("["+n+"='show']").removeClass("borlabs-hide"),i.find("["+t+"]:visible").slideUp()),i.find("["+t+"='"+this.dataset.cookieAccordionTarget+"']:hidden").length&&(o(this).children("["+n+"='show']").addClass("borlabs-hide"),o(this).children("["+n+"='hide']").removeClass("borlabs-hide"),i.find("["+t+"='"+this.dataset.cookieAccordionTarget+"']").slideDown())}))},V=function(){var e=o(l),t=null,n=null;e.length&&e.each((function(){t=this.value,o(this).prop("checked",!0),o(this).change(),(n=o(a+"[name='cookies["+t+"][]']")).each((function(){o(this).prop("checked",!0),o(this).change()}))})),Q(),J()},W=function(){o(document).on("click",l,(function(){P=!0,this.checked?(o(a+"[name='cookies["+this.value+"][]']").prop("checked",!0).change(),o(l+"[value='"+this.value+"']").prop("checked",!0),o(s+" ["+r+"='"+this.value+"']").length&&o(s+" ["+r+"='"+this.value+"']").removeClass("borlabs-hide")):(o(a+"[name='cookies["+this.value+"][]']").prop("checked",!1).change(),o(l+"[value='"+this.value+"']").prop("checked",!1),o(s+" ["+r+"='"+this.value+"']").length&&o(s+" ["+r+"='"+this.value+"']").addClass("borlabs-hide"))}))},F=function(){o(document).on("click",a+"[name^='cookies']",(function(){P=!0,this.checked&&(o(l+"[value='"+this.dataset.cookieGroup+"']").prop("checked",!0).change(),o(s+" ["+r+"='"+this.dataset.cookieGroup+"']").length&&o(s+" ["+r+"='"+this.dataset.cookieGroup+"']").removeClass("borlabs-hide"))}))},q=function(){!0===this.checked?(o(this).parent().parent().children(g).children().last().css("display","none"),o(this).parent().parent().children(g).children().first().css("display","inline-block")):(o(this).parent().parent().children(g).children().first().css("display","none"),o(this).parent().parent().children(g).children().last().css("display","inline-block"))},Q=function(){var e={essential:I.cookies.essential},t=o(l+":checked"),n=o(a+"[name^='cookies']:checked");if(t.length&&(t.each((function(){this.value.length&&new RegExp(/^[a-z-_]{3,}$/).test(this.value)&&"essential"!==this.value&&(e[this.value]=[])})),n.length&&n.each((function(){this.value.length&&"string"==typeof this.dataset.cookieGroup&&new RegExp(/^[a-z-_]{3,}$/).test(this.value)&&new RegExp(/^[a-z-_]{3,}$/).test(this.dataset.cookieGroup)&&e[this.dataset.cookieGroup].push(this.value)}))),Object.keys(H.consents).length)for(var i in H.consents)if(void 0!==e[i])for(var s in H.consents[i])-1===e[i].indexOf(H.consents[i][s])&&uo(i,H.consents[i][s]);else if(void 0!==j[i])for(var c in j[i])uo(i,c);Z(e,!1),"1"!==I.reloadAfterConsent&&(ro(),lo(),ho())},K=function(){var o=!1;return"string"==typeof H.version&&(H.version===I.cookieVersion?o=!0:H.consents={}),o},X=function(o,e){var t={name:"",value:""};if(void 0===e&&(e=!1),e&&(o=o.replace("*","")),document.cookie.length)for(var n,i=decodeURIComponent(document.cookie).split(";"),a=0;a0&&location.reload(!0)}))},yo=function(){o.ajax(I.ajaxURL,{type:"POST",data:{action:"borlabs_cookie_handler",type:"consent_history",language:I.language,uid:H.uid}}).done((function(e){(e=o.parseJSON(e)).length&&o.each(e,(function(e,t){o("["+_+"] table").append(""+t.stamp+""+t.version+""+t.consent+"")}))}))},wo=function(){if(I.crossDomainCookie.length)for(var e in I.crossDomainCookie){var t=I.crossDomainCookie[e];o("body").append('')}},Bo=function(){o(O+" [name^='borlabsCookie']").each((function(){ao(this.value)?this.checked=!0:this.checked=!1,o(this).change()})),o(document).on("change",O+" [name^='borlabsCookie']",(function(){this.checked?no(this.dataset.cookieGroup,this.value):io(this.dataset.cookieGroup,this.value)}))},Lo,_o=function(){if(Object.keys(j).length)for(var o in j)if(Object.keys(j[o]).length)for(var e in j[o])if(void 0!==j[o][e].settings&&void 0!==j[o][e].settings.blockCookiesBeforeConsent&&"1"===j[o][e].settings.blockCookiesBeforeConsent&&void 0!==j[o][e].cookieNameList&&!1===ao(e))for(var t in j[o][e].cookieNameList)oo(t,null,-1!==t.indexOf("*"))};return{addConsent:no,allocateScriptBlockerToContentBlocker:function(o,e,t){"scriptBlockerId"!==t&&"jsHandle"!==t||(void 0===D[o]&&(D[o]={scriptBlockerId:[],jsHandle:[]}),-1===D[o][t].indexOf(e)&&D[o][t].push(e))},checkCookieConsent:ao,checkCookieGroupConsent:function(o){var e=!1;return void 0!==H.consents[o]&&(e=!0),e},deleteCookie:oo,getCookie:Y,hideCookieBox:J,init:R,initConsentHistoryTable:yo,initSwitchConsentButtonStatus:Bo,openCookiePreference:z,removeConsent:io,showCookieBox:G,unblockContentId:function(e){o("["+x+"='content-blocker']["+C+"='"+e+"']").each((function(){ko(o(this).parents(".BorlabsCookie"))}))},unblockScriptBlockerId:fo,unblockScriptBlockerJSHandle:vo}}()}(jQuery);