/* Minification failed. Returning unminified contents.
(2530,6079-6080): run-time error JS1014: Invalid character: `
(2530,6100-6101): run-time error JS1004: Expected ';': {
(2530,6103-6104): run-time error JS1014: Invalid character: `
(2530,6104-6105): run-time error JS1195: Expected expression: ,
(2530,6266-6269): run-time error JS1197: Too many errors. The file might not be a JavaScript file: log
(2530,6032-6070): run-time error JS1301: End of file encountered before function is properly closed: function handleProfessionalCheckVal(n)
(2530,6296-6297): run-time error JS1004: Expected ';': )
(2530,6297-6298): run-time error JS1197: Too many errors. The file might not be a JavaScript file: ;
 */
/*!
 * jquery-confirm v3.3.0 (http://craftpip.github.io/jquery-confirm/)
 * Author: Boniface Pereira
 * Website: www.craftpip.com
 * Contact: hey@craftpip.com
 *
 * Copyright 2013-2017 jquery-confirm
 * Licensed under MIT (https://github.com/craftpip/jquery-confirm/blob/master/LICENSE)
 */
if(typeof jQuery==="undefined"){throw new Error("jquery-confirm requires jQuery");}var jconfirm,Jconfirm;(function($,window){$.fn.confirm=function(options,option2){if(typeof options==="undefined"){options={};}if(typeof options==="string"){options={content:options,title:(option2)?option2:false};}$(this).each(function(){var $this=$(this);if($this.attr("jc-attached")){console.warn("jConfirm has already been attached to this element ",$this[0]);return;}$this.on("click",function(e){e.preventDefault();var jcOption=$.extend({},options);if($this.attr("data-title")){jcOption.title=$this.attr("data-title");}if($this.attr("data-content")){jcOption.content=$this.attr("data-content");}if(typeof jcOption.buttons=="undefined"){jcOption.buttons={};}jcOption["$target"]=$this;if($this.attr("href")&&Object.keys(jcOption.buttons).length==0){var buttons=$.extend(true,{},jconfirm.pluginDefaults.defaultButtons,(jconfirm.defaults||{}).defaultButtons||{});var firstBtn=Object.keys(buttons)[0];jcOption.buttons=buttons;jcOption.buttons[firstBtn].action=function(){location.href=$this.attr("href");};}jcOption.closeIcon=false;var instance=$.confirm(jcOption);});$this.attr("jc-attached",true);});return $(this);};$.confirm=function(options,option2){if(typeof options==="undefined"){options={};}if(typeof options==="string"){options={content:options,title:(option2)?option2:false};}if(typeof options.buttons!="object"){options.buttons={};}if(Object.keys(options.buttons).length==0){var buttons=$.extend(true,{},jconfirm.pluginDefaults.defaultButtons,(jconfirm.defaults||{}).defaultButtons||{});options.buttons=buttons;}return jconfirm(options);};$.alert=function(options,option2){if(typeof options==="undefined"){options={};}if(typeof options==="string"){options={content:options,title:(option2)?option2:false};}if(typeof options.buttons!="object"){options.buttons={};}if(Object.keys(options.buttons).length==0){var buttons=$.extend(true,{},jconfirm.pluginDefaults.defaultButtons,(jconfirm.defaults||{}).defaultButtons||{});var firstBtn=Object.keys(buttons)[0];options.buttons[firstBtn]=buttons[firstBtn];}return jconfirm(options);};$.dialog=function(options,option2){if(typeof options==="undefined"){options={};}if(typeof options==="string"){options={content:options,title:(option2)?option2:false,closeIcon:function(){}};}options.buttons={};if(typeof options.closeIcon=="undefined"){options.closeIcon=function(){};}options.confirmKeys=[13];return jconfirm(options);};jconfirm=function(options){if(typeof options==="undefined"){options={};}var pluginOptions=$.extend(true,{},jconfirm.pluginDefaults);if(jconfirm.defaults){pluginOptions=$.extend(true,pluginOptions,jconfirm.defaults);}pluginOptions=$.extend(true,{},pluginOptions,options);var instance=new Jconfirm(pluginOptions);jconfirm.instances.push(instance);return instance;};Jconfirm=function(options){$.extend(this,options);this._init();};Jconfirm.prototype={_init:function(){var that=this;if(!jconfirm.instances.length){jconfirm.lastFocused=$("body").find(":focus");}this._id=Math.round(Math.random()*99999);this.contentParsed=$(document.createElement("div"));if(!this.lazyOpen){setTimeout(function(){that.open();},0);}},_buildHTML:function(){var that=this;this._parseAnimation(this.animation,"o");this._parseAnimation(this.closeAnimation,"c");this._parseBgDismissAnimation(this.backgroundDismissAnimation);this._parseColumnClass(this.columnClass);this._parseTheme(this.theme);this._parseType(this.type);var template=$(this.template);template.find(".jconfirm-box").addClass(this.animationParsed).addClass(this.backgroundDismissAnimationParsed).addClass(this.typeParsed);if(this.typeAnimated){template.find(".jconfirm-box").addClass("jconfirm-type-animated");}if(this.useBootstrap){template.find(".jc-bs3-row").addClass(this.bootstrapClasses.row);template.find(".jc-bs3-row").addClass("justify-content-md-center justify-content-sm-center justify-content-xs-center justify-content-lg-center");template.find(".jconfirm-box-container").addClass(this.columnClassParsed);if(this.containerFluid){template.find(".jc-bs3-container").addClass(this.bootstrapClasses.containerFluid);}else{template.find(".jc-bs3-container").addClass(this.bootstrapClasses.container);}}else{template.find(".jconfirm-box").css("width",this.boxWidth);}if(this.titleClass){template.find(".jconfirm-title-c").addClass(this.titleClass);}template.addClass(this.themeParsed);var ariaLabel="jconfirm-box"+this._id;template.find(".jconfirm-box").attr("aria-labelledby",ariaLabel).attr("tabindex",-1);template.find(".jconfirm-content").attr("id",ariaLabel);if(this.bgOpacity!==null){template.find(".jconfirm-bg").css("opacity",this.bgOpacity);}if(this.rtl){template.addClass("jconfirm-rtl");}this.$el=template.appendTo(this.container);this.$jconfirmBoxContainer=this.$el.find(".jconfirm-box-container");this.$jconfirmBox=this.$body=this.$el.find(".jconfirm-box");this.$jconfirmBg=this.$el.find(".jconfirm-bg");this.$title=this.$el.find(".jconfirm-title");this.$titleContainer=this.$el.find(".jconfirm-title-c");this.$content=this.$el.find("div.jconfirm-content");this.$contentPane=this.$el.find(".jconfirm-content-pane");this.$icon=this.$el.find(".jconfirm-icon-c");this.$closeIcon=this.$el.find(".jconfirm-closeIcon");this.$holder=this.$el.find(".jconfirm-holder");this.$btnc=this.$el.find(".jconfirm-buttons");this.$scrollPane=this.$el.find(".jconfirm-scrollpane");that.setStartingPoint();this._contentReady=$.Deferred();this._modalReady=$.Deferred();this.$holder.css({"padding-top":this.offsetTop,"padding-bottom":this.offsetBottom,});this.setTitle();this.setIcon();this._setButtons();this._parseContent();this.initDraggable();if(this.isAjax){this.showLoading(false);}$.when(this._contentReady,this._modalReady).then(function(){if(that.isAjaxLoading){setTimeout(function(){that.isAjaxLoading=false;that.setContent();that.setTitle();that.setIcon();setTimeout(function(){that.hideLoading(false);that._updateContentMaxHeight();},100);if(typeof that.onContentReady==="function"){that.onContentReady();}},50);}else{that._updateContentMaxHeight();that.setTitle();that.setIcon();if(typeof that.onContentReady==="function"){that.onContentReady();}}if(that.autoClose){that._startCountDown();}});this._watchContent();if(this.animation==="none"){this.animationSpeed=1;this.animationBounce=1;}this.$body.css(this._getCSS(this.animationSpeed,this.animationBounce));this.$contentPane.css(this._getCSS(this.animationSpeed,1));this.$jconfirmBg.css(this._getCSS(this.animationSpeed,1));this.$jconfirmBoxContainer.css(this._getCSS(this.animationSpeed,1));},_typePrefix:"jconfirm-type-",typeParsed:"",_parseType:function(type){this.typeParsed=this._typePrefix+type;},setType:function(type){var oldClass=this.typeParsed;this._parseType(type);this.$jconfirmBox.removeClass(oldClass).addClass(this.typeParsed);},themeParsed:"",_themePrefix:"jconfirm-",setTheme:function(theme){var previous=this.theme;this.theme=theme||this.theme;this._parseTheme(this.theme);if(previous){this.$el.removeClass(previous);}this.$el.addClass(this.themeParsed);this.theme=theme;},_parseTheme:function(theme){var that=this;theme=theme.split(",");$.each(theme,function(k,a){if(a.indexOf(that._themePrefix)===-1){theme[k]=that._themePrefix+$.trim(a);}});this.themeParsed=theme.join(" ").toLowerCase();},backgroundDismissAnimationParsed:"",_bgDismissPrefix:"jconfirm-hilight-",_parseBgDismissAnimation:function(bgDismissAnimation){var animation=bgDismissAnimation.split(",");var that=this;$.each(animation,function(k,a){if(a.indexOf(that._bgDismissPrefix)===-1){animation[k]=that._bgDismissPrefix+$.trim(a);}});this.backgroundDismissAnimationParsed=animation.join(" ").toLowerCase();},animationParsed:"",closeAnimationParsed:"",_animationPrefix:"jconfirm-animation-",setAnimation:function(animation){this.animation=animation||this.animation;this._parseAnimation(this.animation,"o");},_parseAnimation:function(animation,which){which=which||"o";var animations=animation.split(",");var that=this;$.each(animations,function(k,a){if(a.indexOf(that._animationPrefix)===-1){animations[k]=that._animationPrefix+$.trim(a);}});var a_string=animations.join(" ").toLowerCase();if(which==="o"){this.animationParsed=a_string;}else{this.closeAnimationParsed=a_string;}return a_string;},setCloseAnimation:function(closeAnimation){this.closeAnimation=closeAnimation||this.closeAnimation;this._parseAnimation(this.closeAnimation,"c");},setAnimationSpeed:function(speed){this.animationSpeed=speed||this.animationSpeed;},columnClassParsed:"",setColumnClass:function(colClass){if(!this.useBootstrap){console.warn("cannot set columnClass, useBootstrap is set to false");return;}this.columnClass=colClass||this.columnClass;this._parseColumnClass(this.columnClass);this.$jconfirmBoxContainer.addClass(this.columnClassParsed);},_updateContentMaxHeight:function(){var height=$(window).height()-(this.$jconfirmBox.outerHeight()-this.$contentPane.outerHeight())-(this.offsetTop+this.offsetBottom);this.$contentPane.css({"max-height":height+"px"});},setBoxWidth:function(width){if(this.useBootstrap){console.warn("cannot set boxWidth, useBootstrap is set to true");return;}this.boxWidth=width;this.$jconfirmBox.css("width",width);},_parseColumnClass:function(colClass){colClass=colClass.toLowerCase();var p;switch(colClass){case"xl":case"xlarge":p="col-md-12";break;case"l":case"large":p="col-md-8 col-md-offset-2";break;case"m":case"medium":p="col-md-6 col-md-offset-3";break;case"s":case"small":p="col-md-4 col-md-offset-4";break;case"xs":case"xsmall":p="col-md-2 col-md-offset-5";break;default:p=colClass;}this.columnClassParsed=p;},initDraggable:function(){var that=this;var $t=this.$titleContainer;this.resetDrag();if(this.draggable){$t.on("mousedown",function(e){$t.addClass("jconfirm-hand");that.mouseX=e.clientX;that.mouseY=e.clientY;that.isDrag=true;});$(window).on("mousemove."+this._id,function(e){if(that.isDrag){that.movingX=e.clientX-that.mouseX+that.initialX;that.movingY=e.clientY-that.mouseY+that.initialY;that.setDrag();}});$(window).on("mouseup."+this._id,function(){$t.removeClass("jconfirm-hand");if(that.isDrag){that.isDrag=false;that.initialX=that.movingX;that.initialY=that.movingY;}});}},resetDrag:function(){this.isDrag=false;this.initialX=0;this.initialY=0;this.movingX=0;this.movingY=0;this.mouseX=0;this.mouseY=0;this.$jconfirmBoxContainer.css("transform","translate("+0+"px, "+0+"px)");},setDrag:function(){if(!this.draggable){return;}this.alignMiddle=false;var boxWidth=this.$jconfirmBox.outerWidth();var boxHeight=this.$jconfirmBox.outerHeight();var windowWidth=$(window).width();var windowHeight=$(window).height();var that=this;var dragUpdate=1;if(that.movingX%dragUpdate===0||that.movingY%dragUpdate===0){if(that.dragWindowBorder){var leftDistance=(windowWidth/2)-boxWidth/2;var topDistance=(windowHeight/2)-boxHeight/2;topDistance-=that.dragWindowGap;leftDistance-=that.dragWindowGap;if(leftDistance+that.movingX<0){that.movingX=-leftDistance;}else{if(leftDistance-that.movingX<0){that.movingX=leftDistance;}}if(topDistance+that.movingY<0){that.movingY=-topDistance;}else{if(topDistance-that.movingY<0){that.movingY=topDistance;}}}that.$jconfirmBoxContainer.css("transform","translate("+that.movingX+"px, "+that.movingY+"px)");}},_scrollTop:function(){if(typeof pageYOffset!=="undefined"){return pageYOffset;}else{var B=document.body;var D=document.documentElement;D=(D.clientHeight)?D:B;return D.scrollTop;}},_watchContent:function(){var that=this;if(this._timer){clearInterval(this._timer);}var prevContentHeight=0;this._timer=setInterval(function(){if(that.smoothContent){var contentHeight=that.$content.outerHeight()||0;if(contentHeight!==prevContentHeight){that.$contentPane.css({height:contentHeight}).scrollTop(0);prevContentHeight=contentHeight;}var wh=$(window).height();var total=that.offsetTop+that.offsetBottom+that.$jconfirmBox.height()-that.$contentPane.height()+that.$content.height();if(total<wh){that.$contentPane.addClass("no-scroll");}else{that.$contentPane.removeClass("no-scroll");}}},this.watchInterval);},_overflowClass:"jconfirm-overflow",_hilightAnimating:false,highlight:function(){this.hiLightModal();},hiLightModal:function(){var that=this;if(this._hilightAnimating){return;}that.$body.addClass("hilight");var duration=parseFloat(that.$body.css("animation-duration"))||2;this._hilightAnimating=true;setTimeout(function(){that._hilightAnimating=false;that.$body.removeClass("hilight");},duration*1000);},_bindEvents:function(){var that=this;this.boxClicked=false;this.$scrollPane.click(function(e){if(!that.boxClicked){var buttonName=false;var shouldClose=false;var str;if(typeof that.backgroundDismiss=="function"){str=that.backgroundDismiss();}else{str=that.backgroundDismiss;}if(typeof str=="string"&&typeof that.buttons[str]!="undefined"){buttonName=str;shouldClose=false;}else{if(typeof str=="undefined"||!!(str)==true){shouldClose=true;}else{shouldClose=false;}}if(buttonName){var btnResponse=that.buttons[buttonName].action.apply(that);shouldClose=(typeof btnResponse=="undefined")||!!(btnResponse);}if(shouldClose){that.close();}else{that.hiLightModal();}}that.boxClicked=false;});this.$jconfirmBox.click(function(e){that.boxClicked=true;});var isKeyDown=false;$(window).on("jcKeyDown."+that._id,function(e){if(!isKeyDown){isKeyDown=true;}});$(window).on("keyup."+that._id,function(e){if(isKeyDown){that.reactOnKey(e);isKeyDown=false;}});$(window).on("resize."+this._id,function(){that._updateContentMaxHeight();setTimeout(function(){that.resetDrag();},100);});},_cubic_bezier:"0.36, 0.55, 0.19",_getCSS:function(speed,bounce){return{"-webkit-transition-duration":speed/1000+"s","transition-duration":speed/1000+"s","-webkit-transition-timing-function":"cubic-bezier("+this._cubic_bezier+", "+bounce+")","transition-timing-function":"cubic-bezier("+this._cubic_bezier+", "+bounce+")"};},_setButtons:function(){var that=this;var total_buttons=0;if(typeof this.buttons!=="object"){this.buttons={};}$.each(this.buttons,function(key,button){total_buttons+=1;if(typeof button==="function"){that.buttons[key]=button={action:button};}that.buttons[key].text=button.text||key;that.buttons[key].btnClass=button.btnClass||"btn-default";that.buttons[key].action=button.action||function(){};that.buttons[key].keys=button.keys||[];that.buttons[key].isHidden=button.isHidden||false;that.buttons[key].isDisabled=button.isDisabled||false;$.each(that.buttons[key].keys,function(i,a){that.buttons[key].keys[i]=a.toLowerCase();});var button_element=$('<button type="button" class="btn"></button>').html(that.buttons[key].text).addClass(that.buttons[key].btnClass).prop("disabled",that.buttons[key].isDisabled).css("display",that.buttons[key].isHidden?"none":"").click(function(e){e.preventDefault();var res=that.buttons[key].action.apply(that,[that.buttons[key]]);that.onAction.apply(that,[key,that.buttons[key]]);that._stopCountDown();if(typeof res==="undefined"||res){that.close();}});that.buttons[key].el=button_element;that.buttons[key].setText=function(text){button_element.html(text);};that.buttons[key].addClass=function(className){button_element.addClass(className);};that.buttons[key].removeClass=function(className){button_element.removeClass(className);};that.buttons[key].disable=function(){that.buttons[key].isDisabled=true;button_element.prop("disabled",true);};that.buttons[key].enable=function(){that.buttons[key].isDisabled=false;button_element.prop("disabled",false);};that.buttons[key].show=function(){that.buttons[key].isHidden=false;button_element.css("display","");};that.buttons[key].hide=function(){that.buttons[key].isHidden=true;button_element.css("display","none");};that["$_"+key]=that["$$"+key]=button_element;that.$btnc.append(button_element);});if(total_buttons===0){this.$btnc.hide();}if(this.closeIcon===null&&total_buttons===0){this.closeIcon=true;}if(this.closeIcon){if(this.closeIconClass){var closeHtml='<i class="'+this.closeIconClass+'"></i>';this.$closeIcon.html(closeHtml);}this.$closeIcon.click(function(e){e.preventDefault();var buttonName=false;var shouldClose=false;var str;if(typeof that.closeIcon=="function"){str=that.closeIcon();}else{str=that.closeIcon;}if(typeof str=="string"&&typeof that.buttons[str]!="undefined"){buttonName=str;shouldClose=false;}else{if(typeof str=="undefined"||!!(str)==true){shouldClose=true;}else{shouldClose=false;}}if(buttonName){var btnResponse=that.buttons[buttonName].action.apply(that);shouldClose=(typeof btnResponse=="undefined")||!!(btnResponse);}if(shouldClose){that.close();}});this.$closeIcon.show();}else{this.$closeIcon.hide();}},setTitle:function(string,force){force=force||false;if(typeof string!=="undefined"){if(typeof string=="string"){this.title=string;}else{if(typeof string=="function"){if(typeof string.promise=="function"){console.error("Promise was returned from title function, this is not supported.");}var response=string();if(typeof response=="string"){this.title=response;}else{this.title=false;}}else{this.title=false;}}}if(this.isAjaxLoading&&!force){return;}this.$title.html(this.title||"");this.updateTitleContainer();},setIcon:function(iconClass,force){force=force||false;if(typeof iconClass!=="undefined"){if(typeof iconClass=="string"){this.icon=iconClass;}else{if(typeof iconClass==="function"){var response=iconClass();if(typeof response=="string"){this.icon=response;}else{this.icon=false;}}else{this.icon=false;}}}if(this.isAjaxLoading&&!force){return;}this.$icon.html(this.icon?'<i class="'+this.icon+'"></i>':"");this.updateTitleContainer();},updateTitleContainer:function(){if(!this.title&&!this.icon){this.$titleContainer.hide();}else{this.$titleContainer.show();}},setContentPrepend:function(content,force){if(!content){return;}this.contentParsed.prepend(content);},setContentAppend:function(content){if(!content){return;}this.contentParsed.append(content);},setContent:function(content,force){force=!!force;var that=this;if(content){this.contentParsed.html("").append(content);}if(this.isAjaxLoading&&!force){return;}this.$content.html("");this.$content.append(this.contentParsed);setTimeout(function(){that.$body.find("input[autofocus]:visible:first").focus();},100);},loadingSpinner:false,showLoading:function(disableButtons){this.loadingSpinner=true;this.$jconfirmBox.addClass("loading");if(disableButtons){this.$btnc.find("button").prop("disabled",true);}},hideLoading:function(enableButtons){this.loadingSpinner=false;this.$jconfirmBox.removeClass("loading");if(enableButtons){this.$btnc.find("button").prop("disabled",false);}},ajaxResponse:false,contentParsed:"",isAjax:false,isAjaxLoading:false,_parseContent:function(){var that=this;var e="&nbsp;";if(typeof this.content=="function"){var res=this.content.apply(this);if(typeof res=="string"){this.content=res;}else{if(typeof res=="object"&&typeof res.always=="function"){this.isAjax=true;this.isAjaxLoading=true;res.always(function(data,status,xhr){that.ajaxResponse={data:data,status:status,xhr:xhr};that._contentReady.resolve(data,status,xhr);if(typeof that.contentLoaded=="function"){that.contentLoaded(data,status,xhr);}});this.content=e;}else{this.content=e;}}}if(typeof this.content=="string"&&this.content.substr(0,4).toLowerCase()==="url:"){this.isAjax=true;this.isAjaxLoading=true;var u=this.content.substring(4,this.content.length);$.get(u).done(function(html){that.contentParsed.html(html);}).always(function(data,status,xhr){that.ajaxResponse={data:data,status:status,xhr:xhr};that._contentReady.resolve(data,status,xhr);if(typeof that.contentLoaded=="function"){that.contentLoaded(data,status,xhr);}});}if(!this.content){this.content=e;}if(!this.isAjax){this.contentParsed.html(this.content);this.setContent();that._contentReady.resolve();}},_stopCountDown:function(){clearInterval(this.autoCloseInterval);if(this.$cd){this.$cd.remove();}},_startCountDown:function(){var that=this;var opt=this.autoClose.split("|");if(opt.length!==2){console.error("Invalid option for autoClose. example 'close|10000'");return false;}var button_key=opt[0];var time=parseInt(opt[1]);if(typeof this.buttons[button_key]==="undefined"){console.error("Invalid button key '"+button_key+"' for autoClose");return false;}var seconds=Math.ceil(time/1000);this.$cd=$('<span class="countdown"> ('+seconds+")</span>").appendTo(this["$_"+button_key]);this.autoCloseInterval=setInterval(function(){that.$cd.html(" ("+(seconds-=1)+") ");if(seconds<=0){that["$$"+button_key].trigger("click");that._stopCountDown();}},1000);},_getKey:function(key){switch(key){case 192:return"tilde";case 13:return"enter";case 16:return"shift";case 9:return"tab";case 20:return"capslock";case 17:return"ctrl";case 91:return"win";case 18:return"alt";case 27:return"esc";case 32:return"space";}var initial=String.fromCharCode(key);if(/^[A-z0-9]+$/.test(initial)){return initial.toLowerCase();}else{return false;}},reactOnKey:function(e){var that=this;var a=$(".jconfirm");if(a.eq(a.length-1)[0]!==this.$el[0]){return false;}var key=e.which;if(this.$content.find(":input").is(":focus")&&/13|32/.test(key)){return false;}var keyChar=this._getKey(key);if(keyChar==="esc"&&this.escapeKey){if(this.escapeKey===true){this.$scrollPane.trigger("click");}else{if(typeof this.escapeKey==="string"||typeof this.escapeKey==="function"){var buttonKey;if(typeof this.escapeKey==="function"){buttonKey=this.escapeKey();}else{buttonKey=this.escapeKey;}if(buttonKey){if(typeof this.buttons[buttonKey]==="undefined"){console.warn("Invalid escapeKey, no buttons found with key "+buttonKey);}else{this["$_"+buttonKey].trigger("click");}}}}}$.each(this.buttons,function(key,button){if(button.keys.indexOf(keyChar)!=-1){that["$_"+key].trigger("click");}});},setDialogCenter:function(){console.info("setDialogCenter is deprecated, dialogs are centered with CSS3 tables");},_unwatchContent:function(){clearInterval(this._timer);},close:function(){var that=this;if(typeof this.onClose==="function"){this.onClose();}this._unwatchContent();$(window).unbind("resize."+this._id);$(window).unbind("keyup."+this._id);$(window).unbind("jcKeyDown."+this._id);if(this.draggable){$(window).unbind("mousemove."+this._id);$(window).unbind("mouseup."+this._id);this.$titleContainer.unbind("mousedown");}that.$el.removeClass(that.loadedClass);$("body").removeClass("jconfirm-no-scroll-"+that._id);that.$jconfirmBoxContainer.removeClass("jconfirm-no-transition");setTimeout(function(){that.$body.addClass(that.closeAnimationParsed);that.$jconfirmBg.addClass("jconfirm-bg-h");var closeTimer=(that.closeAnimation==="none")?1:that.animationSpeed;setTimeout(function(){that.$el.remove();var l=jconfirm.instances;var i=jconfirm.instances.length-1;for(i;i>=0;i--){if(jconfirm.instances[i]._id===that._id){jconfirm.instances.splice(i,1);}}if(!jconfirm.instances.length){if(that.scrollToPreviousElement&&jconfirm.lastFocused&&jconfirm.lastFocused.length&&$.contains(document,jconfirm.lastFocused[0])){var $lf=jconfirm.lastFocused;if(that.scrollToPreviousElementAnimate){var st=$(window).scrollTop();var ot=jconfirm.lastFocused.offset().top;var wh=$(window).height();if(!(ot>st&&ot<(st+wh))){var scrollTo=(ot-Math.round((wh/3)));$("html, body").animate({scrollTop:scrollTo},that.animationSpeed,"swing",function(){$lf.focus();});}else{$lf.focus();}}else{$lf.focus();}jconfirm.lastFocused=false;}}if(typeof that.onDestroy==="function"){that.onDestroy();}},closeTimer*0.4);},50);return true;},open:function(){if(this.isOpen()){return false;}this._buildHTML();this._bindEvents();this._open();return true;},setStartingPoint:function(){var el=false;if(this.animateFromElement!==true&&this.animateFromElement){el=this.animateFromElement;jconfirm.lastClicked=false;}else{if(jconfirm.lastClicked&&this.animateFromElement===true){el=jconfirm.lastClicked;jconfirm.lastClicked=false;}else{return false;}}if(!el){return false;}var offset=el.offset();var iTop=el.outerHeight()/2;var iLeft=el.outerWidth()/2;iTop-=this.$jconfirmBox.outerHeight()/2;iLeft-=this.$jconfirmBox.outerWidth()/2;var sourceTop=offset.top+iTop;sourceTop=sourceTop-this._scrollTop();var sourceLeft=offset.left+iLeft;var wh=$(window).height()/2;var ww=$(window).width()/2;var targetH=wh-this.$jconfirmBox.outerHeight()/2;var targetW=ww-this.$jconfirmBox.outerWidth()/2;sourceTop-=targetH;sourceLeft-=targetW;if(Math.abs(sourceTop)>wh||Math.abs(sourceLeft)>ww){return false;}this.$jconfirmBoxContainer.css("transform","translate("+sourceLeft+"px, "+sourceTop+"px)");},_open:function(){var that=this;if(typeof that.onOpenBefore==="function"){that.onOpenBefore();}this.$body.removeClass(this.animationParsed);this.$jconfirmBg.removeClass("jconfirm-bg-h");this.$body.focus();that.$jconfirmBoxContainer.css("transform","translate("+0+"px, "+0+"px)");setTimeout(function(){that.$body.css(that._getCSS(that.animationSpeed,1));that.$body.css({"transition-property":that.$body.css("transition-property")+", margin"});that.$jconfirmBoxContainer.addClass("jconfirm-no-transition");that._modalReady.resolve();if(typeof that.onOpen==="function"){that.onOpen();}that.$el.addClass(that.loadedClass);},this.animationSpeed);},loadedClass:"jconfirm-open",isClosed:function(){return !this.$el||this.$el.css("display")==="";},isOpen:function(){return !this.isClosed();},toggle:function(){if(!this.isOpen()){this.open();}else{this.close();}}};jconfirm.instances=[];jconfirm.lastFocused=false;jconfirm.pluginDefaults={template:'<div class="jconfirm"><div class="jconfirm-bg jconfirm-bg-h"></div><div class="jconfirm-scrollpane"><div class="jconfirm-row"><div class="jconfirm-cell"><div class="jconfirm-holder"><div class="jc-bs3-container"><div class="jc-bs3-row"><div class="jconfirm-box-container jconfirm-animated"><div class="jconfirm-box" role="dialog" aria-labelledby="labelled" tabindex="-1"><div class="jconfirm-closeIcon">&times;</div><div class="jconfirm-title-c"><span class="jconfirm-icon-c"></span><span class="jconfirm-title"></span></div><div class="jconfirm-content-pane"><div class="jconfirm-content"></div></div><div class="jconfirm-buttons"></div><div class="jconfirm-clear"></div></div></div></div></div></div></div></div></div></div>',title:"Hello",titleClass:"",type:"default",typeAnimated:true,draggable:true,dragWindowGap:15,dragWindowBorder:true,animateFromElement:true,alignMiddle:true,smoothContent:true,content:"Are you sure to continue?",buttons:{},defaultButtons:{ok:{action:function(){}},close:{action:function(){}}},contentLoaded:function(){},icon:"",lazyOpen:false,bgOpacity:null,theme:"light",animation:"scale",closeAnimation:"scale",animationSpeed:400,animationBounce:1,escapeKey:true,rtl:false,container:"body",containerFluid:false,backgroundDismiss:false,backgroundDismissAnimation:"shake",autoClose:false,closeIcon:null,closeIconClass:false,watchInterval:100,columnClass:"col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3 col-xs-10 col-xs-offset-1",boxWidth:"50%",scrollToPreviousElement:true,scrollToPreviousElementAnimate:true,useBootstrap:true,offsetTop:40,offsetBottom:40,bootstrapClasses:{container:"container",containerFluid:"container-fluid",row:"row"},onContentReady:function(){},onOpenBefore:function(){},onOpen:function(){},onClose:function(){},onDestroy:function(){},onAction:function(){}};var keyDown=false;$(window).on("keydown",function(e){if(!keyDown){var $target=$(e.target);var pass=false;if($target.closest(".jconfirm-box").length){pass=true;}if(pass){$(window).trigger("jcKeyDown");}keyDown=true;}});$(window).on("keyup",function(){keyDown=false;});jconfirm.lastClicked=false;$(document).on("mousedown","button, a",function(){jconfirm.lastClicked=$(this);});})(jQuery,window);;
/**
 * Cookie plugin
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */

/**
 * Create a cookie with the given name and value and other optional parameters.
 *
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Set the value of a cookie.
 * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
 * @desc Create a cookie with all available options.
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Create a session cookie.
 * @example $.cookie('the_cookie', null);
 * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
 *       used when the cookie was set.
 *
 * @param String name The name of the cookie.
 * @param String value The value of the cookie.
 * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
 * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
 *                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
 *                             If set to null or omitted, the cookie will be a session cookie and will not be retained
 *                             when the the browser exits.
 * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
 * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
 * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
 *                        require a secure protocol (like HTTPS).
 * @type undefined
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/klaus.hartl@stilbuero.de
 */

/**
 * Get the value of a cookie with the given name.
 *
 * @example $.cookie('the_cookie');
 * @desc Get the value of a cookie.
 *
 * @param String name The name of the cookie.
 * @return The value of the cookie.
 * @type String
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/klaus.hartl@stilbuero.de
 */
jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        // CAUTION: Needed to parenthesize options.path and options.domain
        // in the following expressions, otherwise they evaluate to undefined
        // in the packed version for some reason...
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};;
/*!
* jCarousel Lite - v1.8.7 - 2013-10-28
* http://kswedberg.github.com/jquery-carousel-lite/
* Copyright (c) 2013 Karl Swedberg
* Licensed MIT (http://kswedberg.github.com/jquery-carousel-lite/blob/master/LICENSE-MIT)
*/


(function ($) {
    $.jCarouselLite = {
        version: '1.8.7',
        curr: 0
    };

    $.fn.jCarouselLite = function (options) {
        var o = $.extend(true, {}, $.fn.jCarouselLite.defaults, options),
      ceil = Math.ceil,
      mabs = Math.abs;

        this.each(function () {

            var beforeCirc, afterCirc, pageNav, pageNavCount, resize,
        prepResize, touchEvents, $btnsGo,
        isTouch = 'ontouchend' in document,
        styles = { div: {}, ul: {}, li: {} },
        firstCss = true,
        running = false,
        animCss = o.vertical ? 'top' : 'left',
        aniProps = {},
        sizeProp = o.vertical ? 'height' : 'width',
        outerMethod = o.vertical ? 'outerHeight' : 'outerWidth',
        self = this,
        div = $(this),
        ul = div.find('ul').eq(0),
        tLi = ul.children('li'),
        tl = tLi.length,
        visibleNum = o.visible,
            // need visibleCeil and visibleFloor in case we want a fractional number of visible items at a time
        visibleCeil = ceil(visibleNum),
        visibleFloor = Math.floor(visibleNum),
        start = Math.min(o.start, tl - 1),
        direction = 1,
        activeBtnOffset = 0,
        activeBtnTypes = {},
        startTouch = {},
        endTouch = {},
        axisPrimary = o.vertical ? 'y' : 'x',
        axisSecondary = o.vertical ? 'x' : 'y';


            var init = o.init.call(this, o, tLi);
            // bail out for this carousel if the o.init() callback returns `false`
            if (init === false) {
                return;
            }

            div.data('dirjc', direction);
            div.data(animCss + 'jc', div.css(animCss));

            if (o.circular) {

                beforeCirc = tLi.slice(tl - visibleCeil).clone(true).each(fixIds);
                afterCirc = tLi.slice(0, visibleCeil).clone(true).each(fixIds);
                ul.prepend(beforeCirc)
        .append(afterCirc);
                start += visibleCeil;
                activeBtnOffset = visibleCeil;

            }

            if (o.btnGo && o.btnGo.length) {

                if ($.isArray(o.btnGo) && typeof o.btnGo[0] === 'string') {
                    $btnsGo = $(o.btnGo.join());
                } else {
                    $btnsGo = $(o.btnGo);
                }

                $btnsGo.each(function (i) {
                    $(this).bind('click.jc', function (event) {
                        event.preventDefault();
                        return go(o.circular ? visibleNum + i : i);
                    });
                });
                activeBtnTypes.go = 1;
            }

            var setActiveBtn = function (i, types) {
                i = ceil(i);

                var activeBtnIndex = (i - activeBtnOffset) % tl,
          visEnd = activeBtnIndex + visibleFloor;

                if (types.go) {
                    // remove active and visible classes from all the go buttons
                    $btnsGo.removeClass(o.activeClass).removeClass(o.visibleClass);
                    // add active class to the go button corresponding to the first visible slide
                    $btnsGo.eq(activeBtnIndex).addClass(o.activeClass);
                    // add visible class to go buttons corresponding to all visible slides
                    $btnsGo.slice(activeBtnIndex, activeBtnIndex + visibleFloor).addClass(o.visibleClass);

                    if (visEnd > $btnsGo.length) {
                        $btnsGo.slice(0, visEnd - $btnsGo.length).addClass(o.visibleClass);
                    }
                }

                if (types.pager) {
                    pageNav.removeClass(o.activeClass);
                    pageNav.eq(ceil(activeBtnIndex / visibleNum)).addClass(o.activeClass);
                }
                return activeBtnIndex;
            };

            var li = ul.children('li'),
        itemLength = li.length,
        curr = start;

            $.jCarouselLite.curr = curr;

            var getDimensions = function (reset) {
                var liSize, ulSize, divSize;

                if (reset) {

                    styles.div[sizeProp] = '';
                    styles.li = {
                        width: '', height: ''
                    };
                    // bail out with the reset styles
                    return styles;
                }

                // Full li size(incl margin)-Used for animation
                liSize = li[outerMethod](true);

                // size of full ul(total length, not just for the visible items)
                ulSize = liSize * itemLength;

                // size of entire div(total length for just the visible items)
                divSize = liSize * visibleNum;

                styles.div[sizeProp] = divSize + 'px';
                styles.ul[sizeProp] = ulSize + 'px';
                styles.ul[animCss] = -(curr * liSize) + 'px';
                styles.li = {
                    width: li.width(), height: li.height()
                };
                styles.liSize = liSize;
                return styles;
            };


            var setDimensions = function (reset) {
                var css, tmpDivSize;
                var prelimCss = {
                    div: { visibility: 'visible', position: 'relative', zIndex: 2, left: '0' },
                    ul: { margin: '0', padding: '0', position: 'relative', listStyleType: 'none', zIndex: 1 },
                    li: { overflow: o.vertical ? 'hidden' : 'visible', 'float': o.vertical ? 'none' : 'left' }
                };

                if (reset) {
                    css = getDimensions(true);
                    div.css(css.div);
                    ul.css(css.ul);
                    li.css(css.li);
                }

                css = getDimensions();

                if (o.autoCSS && firstCss) {
                    $.extend(true, css, prelimCss);
                    firstCss = false;
                }

                if (o.autoWidth) {
                    tmpDivSize = parseInt(div.css(sizeProp), 10);
                    styles.liSize = tmpDivSize / o.visible;
                    css.li[sizeProp] = styles.liSize - (li[outerMethod](true) - parseInt(li.css(sizeProp), 10));

                    // Need to adjust other settings to fit with li width
                    css.ul[sizeProp] = (styles.liSize * itemLength) + 'px';
                    css.ul[animCss] = -(curr * styles.liSize) + 'px';
                    css.div[sizeProp] = tmpDivSize;
                }

                if (o.autoCSS) {
                    li.css(css.li);
                    ul.css(css.ul);
                    div.css(css.div);
                }
            };

            setDimensions();

            // set up timed advancer
            var advanceCounter = 0,
        autoStop = iterations(tl, o),
        autoScrollBy = typeof o.auto === 'number' ? o.auto : o.scroll;

            var advancer = function () {
                self.setAutoAdvance = setTimeout(function () {

                    if (!autoStop || autoStop > advanceCounter) {
                        direction = div.data('dirjc');
                        go(curr + (direction * autoScrollBy), { auto: true });
                        advanceCounter++;
                        advancer();
                    }
                }, o.timeout);
            };

            // bind click handlers to prev and next buttons, if set
            $.each(['btnPrev', 'btnNext'], function (index, btn) {
                if (o[btn]) {
                    o['$' + btn] = $.isFunction(o[btn]) ? o[btn].call(div[0]) : $(o[btn]);
                    o['$' + btn].bind('click.jc', function (event) {
                        event.preventDefault();
                        var step = index === 0 ? curr - o.scroll : curr + o.scroll;
                        if (o.directional) {
                            // set direction of subsequent scrolls to:
                            //  1 if "btnNext" clicked
                            // -1 if "btnPrev" clicked
                            div.data('dirjc', (index ? 1 : -1));
                        }
                        return go(step);
                    });
                }
            });

            if (!o.circular) {
                if (o.btnPrev && start === 0) {
                    o.$btnPrev.addClass(o.btnDisabledClass);
                }

                if (o.btnNext && start + visibleFloor >= itemLength) {
                    o.$btnNext.addClass(o.btnDisabledClass);
                }
            }

            if (o.autoPager) {
                pageNavCount = ceil(tl / visibleNum);
                pageNav = [];
                for (var i = 0; i < pageNavCount; i++) {
                    pageNav.push('<li><a href="#">' + (i + 1) + '</a></li>');
                }
                if (pageNav.length > 1) {
                    pageNav = $('<ul>' + pageNav.join('') + '</ul>').appendTo(o.autoPager).find('li');
                    pageNav.find('a').each(function (i) {
                        $(this).bind('click.jc', function (event) {
                            event.preventDefault();
                            var slide = i * visibleNum;
                            if (o.circular) {
                                slide += visibleNum;
                            }
                            return go(slide);
                        });
                    });
                    activeBtnTypes.pager = 1;
                }
            }

            // set the active class on the btn corresponding to the "start" li
            setActiveBtn(start, activeBtnTypes);

            if (o.mouseWheel && div.mousewheel) {
                div.bind('mousewheel.jc', function (e, d) {
                    return d > 0 ? go(curr - o.scroll) : go(curr + o.scroll);
                });
            }

            if (o.pause && o.auto && !isTouch) {
                div.bind('mouseenter.jc', function () {
                    div.trigger('pauseCarousel.jc');
                }).bind('mouseleave.jc', function () {
                    div.trigger('resumeCarousel.jc');
                });
            }

            if (o.auto) {
                advancer();
            }

            function vis() {
                return li.slice(curr).slice(0, visibleCeil);
            }

            $.jCarouselLite.vis = vis;

            function go(to, settings) {
                if (running) { return false; }
                settings = settings || {};
                var prev = curr,
          direction = to > curr,
          speed = settings.speed || o.speed,
                // offset appears if touch moves slides
          offset = settings.offset || 0;


                if (o.beforeStart) {
                    o.beforeStart.call(div, vis(), direction);
                }

                li.removeClass(o.activeClass);

                // If circular and we are in first or last, then go to the other end
                if (o.circular) {
                    if (to > curr && to > itemLength - visibleCeil) {
                        curr = curr % tl;
                        to = curr + (settings.auto ? autoScrollBy : o.scroll);
                        ul.css(animCss, (-curr * styles.liSize) - offset);
                    } else if (to < curr && to < 0) {
                        curr += tl;
                        to += tl;
                        ul.css(animCss, (-curr * styles.liSize) - offset);
                    }

                    curr = to + (to % 1);

                    // If non-circular and "to" points beyond first or last, we change to first or last.
                } else {
                    if (to < 0) {
                        to = 0;
                    } else if (to > itemLength - visibleFloor) {
                        to = itemLength - visibleFloor;
                    }

                    curr = to;

                    if (curr === 0 && o.first) {
                        o.first.call(this, vis(), direction);
                    }

                    if (curr === itemLength - visibleFloor && o.last) {
                        o.last.call(this, vis(), direction);
                    }

                    // Disable buttons when the carousel reaches the last/first, and enable when not
                    if (o.btnPrev) {
                        o.$btnPrev.toggleClass(o.btnDisabledClass, curr === 0);
                    }
                    if (o.btnNext) {
                        o.$btnNext.toggleClass(o.btnDisabledClass, curr === itemLength - visibleFloor);
                    }
                }

                // if btnGo, set the active class on the btnGo element corresponding to the first visible carousel li
                // if autoPager, set active class on the appropriate autopager element
                setActiveBtn(curr, activeBtnTypes);

                $.jCarouselLite.curr = curr;

                if (prev === curr && !settings.force) {
                    if (o.afterEnd) {
                        o.afterEnd.call(div, vis(), direction);
                    }
                    return curr;
                }

                running = true;

                aniProps[animCss] = -(curr * styles.liSize);
                ul.animate(aniProps, speed, o.easing, function () {
                    if (o.afterEnd) {
                        o.afterEnd.call(div, vis(), direction);
                    }
                    running = false;
                });

                li.eq(curr).addClass(o.activeClass);

                return curr;
            } // end go function

            // bind custom events so they can be triggered by user
            div
    .bind('go.jc', function (e, to, settings) {

        if (typeof to === 'undefined') {
            to = '+=1';
        }

        var todir = typeof to === 'string' && /(\+=|-=)(\d+)/.exec(to);

        if (todir) {
            to = todir[1] === '-=' ? curr - todir[2] * 1 : curr + todir[2] * 1;
        } else {
            to += start;
        }
        go(to, settings);
    })
    .bind('startCarousel.jc', function (event) {
        clearTimeout(self.setAutoAdvance);
        self.setAutoAdvance = undefined;
        div.trigger('go', '+=' + o.scroll);
        advancer();
        div.removeData('pausedjc').removeData('stoppedjc');
    })
    .bind('resumeCarousel.jc', function (event, forceRun) {
        if (self.setAutoAdvance) { return; }
        clearTimeout(self.setAutoAdvance);
        self.setAutoAdvance = undefined;

        var stopped = div.data('stoppedjc');
        if (forceRun || !stopped) {
            advancer();
            div.removeData('pausedjc');
            if (stopped) {
                div.removeData('stoppedjc');
            }
        }
    })

    .bind('pauseCarousel.jc', function (event) {
        clearTimeout(self.setAutoAdvance);
        self.setAutoAdvance = undefined;
        div.data('pausedjc', true);
    })
    .bind('stopCarousel.jc', function (event) {
        clearTimeout(self.setAutoAdvance);
        self.setAutoAdvance = undefined;

        div.data('stoppedjc', true);
    })

    .bind('refreshCarousel.jc', function (event) {
        setDimensions(o.autoCSS);
    })

    .bind('endCarousel.jc', function () {
        if (self.setAutoAdvance) {
            clearTimeout(self.setAutoAdvance);
            self.setAutoAdvance = undefined;
        }
        if (o.btnPrev) {
            o.$btnPrev.addClass(o.btnDisabledClass).unbind('.jc');
        }
        if (o.btnNext) {
            o.$btnNext.addClass(o.btnDisabledClass).unbind('.jc');
        }
        if (o.btnGo) {
            $.each(o.btnGo, function (i, val) {
                $(val).unbind('.jc');
            });
        }

        if (o.circular) {
            li.slice(0, visibleCeil).remove();
            li.slice(-visibleCeil).remove();
        }
        $.each([animCss + 'jc', 'pausedjc', 'stoppedjc', 'dirjc'], function (i, d) {
            div.removeData(d);
        });
        div.unbind('.jc');
    });

            // touch gesture support

            touchEvents = {
                touchstart: function (event) {
                    endTouch.x = 0;
                    endTouch.y = 0;
                    startTouch.x = event.targetTouches[0].pageX;
                    startTouch.y = event.targetTouches[0].pageY;
                    startTouch[animCss] = parseFloat(ul.css(animCss));
                    startTouch.time = +new Date();
                },

                touchmove: function (event) {
                    var tlength = event.targetTouches.length;

                    if (tlength === 1) {
                        event.preventDefault();
                        endTouch.x = event.targetTouches[0].pageX;
                        endTouch.y = event.targetTouches[0].pageY;
                        aniProps[animCss] = startTouch[animCss] + (endTouch[axisPrimary] - startTouch[axisPrimary]);
                        ul.css(aniProps);
                    } else {
                        endTouch.x = startTouch.x;
                        endTouch.y = startTouch.y;
                    }
                },

                touchend: function (event) {
                    // bail out early if there is no touch movement
                    if (!endTouch.x) {
                        return;
                    }

                    var pxDelta = startTouch[axisPrimary] - endTouch[axisPrimary],
            pxAbsDelta = mabs(pxDelta),
            primaryAxisGood = pxAbsDelta > o.swipeThresholds[axisPrimary],
            secondaryAxisGood = mabs(startTouch[axisSecondary] - endTouch[axisSecondary]) < o.swipeThresholds[axisSecondary],
            timeDelta = +new Date() - startTouch.time,
            quickSwipe = timeDelta < o.swipeThresholds.time,
            operator = pxDelta > 0 ? '+=' : '-=',
            to = operator + o.scroll,
            swipeInfo = { force: true };

                    // quick, clean swipe
                    if (quickSwipe && primaryAxisGood && secondaryAxisGood) {
                        // set animation speed to twice as fast as that set in speed option
                        swipeInfo.speed = o.speed / 2;
                    }
                    else
                    // slow swipe < 1/2 slide width, OR
                    // not enough movement for swipe, OR
                    // too much movement on secondary axis when quick swipe
                        if ((!quickSwipe && pxAbsDelta < styles.liSize / 2) ||
          !primaryAxisGood ||
          (quickSwipe && !secondaryAxisGood)
          ) {
                            // revert to same slide
                            to = '+=0';
                        }
                        else
                        // slow swipe > 1/2 slide width
                            if (!quickSwipe && pxAbsDelta > styles.liSize / 2) {
                                to = Math.round(pxAbsDelta / styles.liSize);
                                to = operator + (to > o.visible ? o.visible : to);

                                // send pxDelta along as offset in case carousel is circular and needs to reset
                                swipeInfo.offset = pxDelta;
                            }

                    div.trigger('go.jc', [to, swipeInfo]);
                    endTouch = {};
                },

                handle: function (event) {
                    event = event.originalEvent;
                    touchEvents[event.type](event);
                }
            };

            if (isTouch && o.swipe) {
                div.bind('touchstart.jc touchmove.jc touchend.jc', touchEvents.handle);
            } // end swipe events

            // Responsive design handling:
            // Reset dimensions on window.resize
            if (o.responsive) {
                prepResize = o.autoCSS;
                $(window).bind('resize', function (event) {
                    if (prepResize) {
                        ul.width(ul.width() * 2);
                        prepResize = false;
                    }

                    clearTimeout(resize);
                    resize = setTimeout(function () {
                        div.trigger('refreshCarousel.jc');
                        prepResize = o.autoCSS;
                    }, 100);

                });
            }



        }); // end each

        return this;
    };

    $.fn.jCarouselLite.defaults = {
        btnPrev: null,
        btnNext: null,

        // array (or jQuery object) of elements. When clicked, makes the corresponding carousel LI the first visible one
        btnGo: null,

        // selector (or jQuery object) indicating the containing element for pagination navigation.
        autoPager: null,
        btnDisabledClass: 'disabled',

        // class applied to the active slide and btnGo element
        activeClass: 'active',

        // class applied to the btnGo elements corresponding to the visible slides
        visibleClass: 'vis',
        mouseWheel: false,
        speed: 200,
        easing: null,

        // milliseconds between scrolls
        timeout: 4000,

        // true to enable auto scrolling; number to auto-scroll by different number at a time than that of scroll option
        auto: false,


        // true to enable changing direction of auto scrolling when user clicks prev or next button
        directional: false,

        // number of times before autoscrolling will stop. (if circular is false, won't iterate more than number of items)
        autoStop: false,

        // pause scrolling on hover
        pause: true,
        vertical: false,

        // continue scrolling when reach the last item
        circular: true,

        // the number to be visible at a given time.
        visible: 3,

        // index of item to show initially in the first posiition
        start: 0,

        // number of items to scroll at a time
        scroll: 1,

        // whether to set initial styles on the carousel elements. See readme for info
        autoCSS: true,

        // whether the dimensions should change on resize
        responsive: false,

        // whether to set width of <li>s (and left/top of <ul>) based on width of <div>
        autoWidth: false,

        // touch options
        swipe: true,
        swipeThresholds: {
            x: 80,
            y: 40,
            time: 150
        },

        // Function to be called for each matched carousel when .jCaourselLite() is called.
        // Inside the function, `this` is the carousel div.
        // The function can take 2 arguments:
        // 1. The merged options object
        // 2. A jQuery object containing the <li> items in the carousel
        // If the function returns `false`, the plugin will skip all the carousel magic for that carousel div
        init: function () { },

        // function to be called once the first slide is hit
        first: null,

        // function to be called once the last slide is hit
        last: null,

        // function to be called before each transition starts
        beforeStart: null,

        // function to be called after each transition ends
        afterEnd: null
    };

    function iterations(itemLength, options) {
        return options.autoStop && (options.circular ? options.autoStop : Math.min(itemLength, options.autoStop));
    }

    function fixIds(i) {
        if (this.id) {
            this.id += i;
        }
    }
})(jQuery);
;
$(document).ready()
{
    setTimeout(function () {
        if (document.location.href.indexOf("followmodal=y") > 0 && document.referrer !=null && document.referrer.indexOf("followmodal=y") < 0) {
            $('.btn-follow').find('.btnFollowText').text('Follow');
            $('.btn-follow').click();
        }
    }, 1000);
}


$('.btnSFHFlw').not('.btnFollow_off, .btnFollow_on').click(function () {
    var control = $('.btnSFHFlw').attr('class');
    if (control.indexOf("aSFHFlwScbr") < 0 && control.indexOf("aSFHFlwNoOptns") < 0) {

        $('html').css({
            'overflow': 'hidden',
            'height': 'auto'
        });

        $('#followFrmHldr').before("<div id='dEnqFrmBkgnd'></div>");
        $('#followFrmHldr').html($('.dWaitFetch').html());
        $('#followFrmHldr').load($(this).attr('href'));
        $('#followFrmHldr').css('z-index', $('#dEnqFrmBkgnd').css('z-index') + 1);

        $('#dEnqFrmBkgnd').click(followFrmClose);
        $('#followFrmHldr').addClass('enqFrmPopup');

        //showPopup($(".enqFrmPopup * .enquiryFormHolder"), 1000);

        $(".followFrmHldr").bind('click', followFrmClose);
        $('.aEnqFrmClsSignup').live('click', followFrmClose);

        setFollowFormPosition(690, 535);


        return false;
    }
});

function setFollowFormPosition(width, height) {
    var screenWidth = $(window).width();
    var screenHeight = $(window).height();

    var top, left;

    left = (screenWidth <= width) ? 0 : parseInt((screenWidth - width) / 2) - 30;
    top = (screenHeight <= height) ? 0 : parseInt((screenHeight - height) / 2); 
    
    $('#followFrmHldr').css({ top: top + 'px' });
    $('#followFrmHldr').css({ left: left + 'px' });
}

$(window).resize(function () {
    setFollowFormPosition(690, 535);
});


function checkFollowForm() {
    $('#followErrorMsg').text("");

    if ($.trim($('#txtFristName').val()) == "" || ($.trim($('#txtFristName').val()).toLowerCase() == "first name" && $('#txtFristName').css('color') == 'rgb(128, 128, 128)')) {
        $('#followErrorMsg').text("Insert first name");
        return false;
    }
    if ($.trim($('#txtLastName').val()) == "" || ($.trim($('#txtLastName').val()).toLowerCase() == "last name" && $('#txtLastName').css('color') == 'rgb(128, 128, 128)')) {
        $('#followErrorMsg').text("Insert last name");
        return false;
    }
    if ($.trim($('#txtEmail').val()) == "" || ($.trim($('#txtEmail').val()).toLowerCase() == "email" && $('#txtEmail').css('color') == 'rgb(128, 128, 128)')) {
        $('#followErrorMsg').text("Insert Email");
        return false;
    }
    if ($.trim($('#ddlSector').val()) == "" ) {
        $('#followErrorMsg').text($('#ddlSector :first').html());
        return false;
    }
    if ($.trim($('#txtPassword').val()) == "" || ($('#txtPassword').attr('type') == "text" && $.trim($('#txtPassword').val()).toLowerCase()  == "create password") ) {
        $('#followErrorMsg').text("Insert Password");
        return false;
    }
    else if ($.trim($('#txtPassword').val()).length < 6) 
    {
        $('#followErrorMsg').text("Password cannot be less than 6 characters");
        return false;
    }

    //if input data is ok check if email is duplicate.
    var email = $.trim($('#txtEmail').val());
    $.ajax({
        url: '/NewsService/IsEmailExists',
        type: 'GET',
        contentType: 'application/json;',
        data: { email: email },
        success: function (valid) {
            if (valid == "true")
                $('#spLoginFormErrMsg').html("Email address already Exists");
            else
                SubmitForm('frmSubmit');
        }
    });
//       
    //SubmitForm('frmSubmit');
}

function followFrmClose() {

    closePopup($('.enqFrmPopup * .followFormHolder'), 500);

    setTimeout("$('#followFormHolder').html('');$('#dEnqFrmBkgnd').remove();$('.mainFollowHldr').remove();", 501);

    $('html').css({
        'overflow': 'visible',
        'height': '100%'
    });

    $(".followFormHolder").unbind('click');
    $('#dEnqFrmBkgnd').unbind('click');
    $('.aEnqFrmClsSignup').unbind('click');

    return false;
}


function textboxFocus(me, type) {

    var token = "";
    if (type == 1) token = "First name";
    else if (type == 2) token = "Last name";
    else if (type == 3) token = "Email";
    else if (type == 4) token = "Create password";
    else if (type == 5) token = "Password";
    else if (type == 6) token = "Business Name";
    else if (type == 7) token = "Phone Number";

    if (me.value.toLowerCase() == token.toLowerCase() && me.style.color != 'black') {
        me.value = '';
        me.style.color = 'black';

        if (type == 4 || type == 5) me.type = "password";
    }
}

function textboxBlur(me, type) {
    var token = "";
    if (type == 1) token = "First name";
    else if (type == 2) token = "Last name";
    else if (type == 3) token = "Email";
    else if (type == 4) token = "Create password";
    else if (type == 5) token = "Password";
    else if (type == 6) token = "Business Name";
    else if (type == 7) token = "Phone Number";

    if (me.value == '') {
        me.value = token;
        me.style.color = 'gray';
        $(me).removeClass('colorBlack');

        if (type == 4 || type == 5) me.type = "text";
    }
}

function SubmitForm(FormName) {
    $("form." + FormName).submit();
}
;


jQuery(document).ready(function ($) {
    var isBot = true;

    document.addEventListener("mousemove", isBotSetter);
    document.addEventListener("keypress", isBotSetter);

    function isBotSetter() {
        isBot = false;
        document.removeEventListener("mousemove", isBotSetter);
        document.removeEventListener("keypress", isBotSetter);
    }

    var PortalID = $('#enqPortalID').val();

    $("#enqState").change(function () {
        if ($(this).val() != 10) {
            $("#enqCountry").val(0);
        }
    });

    $("#enquiryFormSubmit, #enquiryFormSubmitBottom, #enquiryFormSubmitTop").live("click", function () {
        
        PortalID = $('#enqPortalID').val();
        var enqButton = $(this);
        var formParent = $(enqButton).parents('.enquiryForm:first');
        if (formParent.find(".unviewable").val() || isBot) {
            document.location.href = "/";
            return false;
        }

        var loadPanel = $('.panel-searchenquiry').length > 0 ? $('.panel-searchenquiry') : formParent;
        if (formParent.closest('.panel-enquiryform').length)
            loadPanel = formParent.closest('.panel-enquiryform');

        var objModal = $(formParent).parents('#enquiry-modal');
        var isEnqClicked = $(enqButton).attr('attr-clicked');
        if (isEnqClicked != 'true') {
            $(enqButton).attr('attr-clicked', true);
            $(enqButton).attr('disabled', 'disabled');

            formParent.find("#enqFrmMsg:first").removeClass('alert').removeClass('alert-info').removeClass('alert-success').removeClass('alert-danger');
            formParent.find("#enqFrmMsg:first").addClass('alert').addClass('alert-info').html("Sending your request..."); // clear notifications

            if (jQuery('#moreinfo').length > 0) {
                formParent.find("#enqFrmMessage").val('#--More info:-- ' + $('<div/>').html(jQuery('#moreinfo').val()).text());
            }

            if (jQuery('#selectDateRange').length > 0) {
                formParent.find("#enqFrmMessage").val('#--I need this by:-- ' + $('<div/>').html(jQuery('#selectDateRange').val()).text() + '--' + formParent.find("#enqFrmMessage").val());
            }

            if (jQuery('#searchterm').length>0) {
                formParent.find("#enqFrmMessage").val('#--Search therm:-- ' + $('<div/>').html(jQuery('#searchterm').val()).text() + '--' + formParent.find("#enqFrmMessage").val());
            }
            
            // submit the form and get the result:
            $(loadPanel).showLoading();

            $.ajax({
                url: formParent.attr("action"),
                type: "post",
                data: formParent.serialize(),
                success: function (data) {
                    
                    $(loadPanel).hideLoading();

                    var track_label = $('#enqSupplierName').val() + ' - ' + $('#enqContentItemId').val();
                    var track_category = '';
                    var track_action = "Contact form";
                    var isOpenSocialNetworksModal = true;

                    switch ($('#enqContentType').val()) {
                        case 'p':
                            track_category = 'Product-Page';
                            break;
                        case 'n':
                            track_category = 'News-Page';
                            break;
                        case 'f':
                            track_category = 'Article-Page';
                            break;
                        case 'e':
                            track_category = 'Event-Page';
                            break;
                        case 'c':
                            track_category = 'Category-Page';
                            break;
                        case 'search':
                            track_category = 'Search-Page';
                            break;
                        default:
                            track_category = 'Sf-Page';
                            isOpenSocialNetworksModal = false;
                            break;
                    }
                    formParent = $(enqButton).parents('.enquiryForm:first');
                    formParent.find("#enqFrmMsg:first").removeClass('alert-info').removeClass('alert-success').removeClass('alert-danger').fadeOut();
                    var portaltarget = formParent.find("#enqFrmMsg:first").attr('attr-target');
                    var successMessage = data.message;

                    if (data.message.indexOf('OK::EXISTS') == 0) {
                        successMessage = 'Well done - Your request was successful!';
                    }
                    else if (data.message.indexOf('OK::FOLLOW') == 0) {
                        successMessage = 'Well done - Your request was successful!<br />You are following this supplier. <a class="alert-link" href="/NewsService">MANAGE</a>';
                    }
                    else if (data.message.indexOf('OK::NEW') == 0) {
                        successMessage = '<div>Well done - Your request was successful!</div><div>You are following this supplier and will also get <span class="capitalised">' + portaltarget + 'Search\'s<span> FREE newsletter. <a class="alert-link" href="/NewsService">Tailor your newsletter categories.</a></div>';
                    }
                    else {
                        track_action = "Contact form failed";
                        $(enqButton).removeAttr('attr-clicked');
                        $(enqButton).removeAttr('disabled');
                        if (data.message.indexOf('NO::') == 0)
                            formParent.find("#enqFrmMsg:first").addClass('alert-danger').html("Unable to submit your request. Please, try again later.");
                        else
                            formParent.find("#enqFrmMsg:first").addClass('alert-danger').html(data.message);
                        formParent.find("#enqFrmMsg:first").fadeIn();

                        return false;
                    }

                    // Mark that enquiry form has been submitted
                    $('BODY').addClass('enquiry-form-submitted');

                    //TrackGoogleAnalyticsEvent(PortalID, track_category, track_action, track_label);

                    dataLayer.push({
                        'event': 'SubmitAjaxForm',
                        'eventCategory': track_category,
                        'eventAction': track_action,
                        'eventLabel': track_label,
                        'eventValue':undefined                    
                    });

                    if (data.message.indexOf('OK::') == 0 && isOpenSocialNetworksModal) {

                        if (($('#enqContentType').val() == 'p' ||$('#enqContentType').val() == 'c') && data.products.length > 0) {
                            objModal = $('#enquiry-modal');
                            var modalFormParent = $(objModal).find('.enquiryForm:first');
                            //$(objModal).find('#enqFrmMsg').fadeOut();
                            $(objModal).find('.enquiry-logo, .enquiry-fields,.enquiry-capcha').fadeOut();
                            //$(objModal).find('.enqRefreshCapcha a').click();
                            //$(objModal).find('#enqFrmConfirm').val('');
                            openrelatedproductsenquiry(objModal, data.products, successMessage);
                            modalFormParent.attr('action', '/Storefront/PostEnquiryForm');
                            $(objModal).find('.form-group-line a').on("click", function (e) {
                                var checkbox = $(e.target).closest('.form-group-line').find('input:checkbox');
                                var checked = checkbox.prop('checked');
                                checkbox.prop("checked", !checked);
                                return false;
                            });
                            $(objModal).find('.enqFrmTblPrt td').css('padding-top', '10px');
                            $(objModal).find('.enqMsgLabel').show();
                            setTimeout(function () { $(objModal).find('#enqFrmMsg').hide(); }, 10000);
                            if (!$(objModal).hasClass('in')) {
                                objModal.on('show.bs.modal', function (e) {
                                    $(objModal).find('.enquiry-logo, .enquiry-fields, .enquiry-capcha').hide();
                                });

                                modalFormParent.find('#enqFrmName').val(formParent.find('#enqFrmName').val());
                                modalFormParent.find('#enqFrmCompany').val(formParent.find('#enqFrmCompany').val());
                                modalFormParent.find('#enqFrmEmail').val(formParent.find('#enqFrmEmail').val());
                                modalFormParent.find('#enqFrmPhone').val(formParent.find('#enqFrmPhone').val());
                                modalFormParent.find('#enqState').val(formParent.find('#enqState').val());
                                modalFormParent.find('#enqCountry').val(formParent.find('#enqCountry').val());
                                modalFormParent.find('.enqFrmTxtArea').val(formParent.find('.enqFrmTxtArea').val());
                                objModal.modal('show');
                            }
                            else {
                                $(enqButton).removeAttr('attr-clicked');
                                $(enqButton).removeAttr('disabled');
                            }

                        }
                        else {
                            if ($(objModal).length > 0)
                                setTimeout(function () { $(objModal).modal('hide'); $('.modal-backdrop').remove(); }, 10000);
                        }
                    }
                    else {

                        if ($(objModal).length > 0)
                            setTimeout(function () { $(objModal).modal('hide'); $('.modal-backdrop').remove(); }, 10000);
                    }
                    formParent.find("#enqFrmMsg:first").addClass('alert-success').html(successMessage).fadeIn();

                },
                error: function (data) {

                    $(enqButton).removeAttr('attr-clicked');
                    $(enqButton).removeAttr('disabled');
                    if ($('.enqFrmPopup').length > 0) {
                        $(".enqFrmPopup * #enqFrmMsg").html(data);
                    }
                    else {
                        $("#enqFrmMsg").html(data);
                    }
                    if ($(".enqFrmPopup * #enqFrmMsg").html() == '')
                        formParent.find("#enqFrmMsg:first").removeClass('alert-info').removeClass('alert-success').removeClass('alert-danger').removeClass('alert');

                }
                //Track event
            });

            return false;
        }
    });



    $('#aSFSndRqst').click(function () {
        $('html').css({
            'overflow': 'hidden',
            'height': 'auto'
        });

        $('#enquiryFrmHldr').before("<div id='dEnqFrmBkgnd'></div>");
        $('#enquiryFrmHldr').html($('.dWaitFetch').html());
        $('#enquiryFrmHldr').load(URL_ACTION_SF_EnquiryForm);
        $('#enquiryFrmHldr').css('z-index', $('#dEnqFrmBkgnd').css('z-index') + 1);

        $('#dEnqFrmBkgnd').click(enquiryFrmClose);
        $('#enquiryFrmHldr').addClass('enqFrmPopup');

        //showPopup($(".enqFrmPopup * .enquiryFormHolder"), 1000);

        $(".enquiryFormHolder").bind('click', enquiryFrmClose);
        $('.aEnqFrmCls').live('click', enquiryFrmClose);

        setEnquiryFormPosition(600, 468);


        return false;
    });



    $('.enqBxInfo').live('mouseenter', function () {
        $(this).find('.enqBxInfoHldr').show();
    });

    $('.enqBxInfo').live('mouseleave', function () {
        $(this).find('.enqBxInfoHldr').hide();
    });

    $('#enquiryFormSubmit').removeAttr('disabled');

    $('.enquiryForm * label').live('click', function () {

        var parent = $(this).parents('.enquiryForm:first');
        var for_ck = $(this).attr('for');

        parent.find('#' + for_ck).click();
        return false;
    });

    $('.aSupplierSndRqst, .aSFHInfDtls').click(function (event) {
        event.stopPropagation();
        var URL_ACTION_Category_EnquiryForm = $(this).attr('equirylink');
        if (URL_ACTION_Category_EnquiryForm === "")
            return false;
        $('#enquiryFrmHldr').before("<div id='dEnqFrmBkgnd'></div>");
        $('#enquiryFrmHldr').html($('.dWaitFetch').html());
        $('#enquiryFrmHldr').load(URL_ACTION_Category_EnquiryForm);
        $('#enquiryFrmHldr').css('z-index', $('#dEnqFrmBkgnd').css('z-index') + 1);
        $('#dEnqFrmBkgnd').click(enquiryFrmClose);
        $('#enquiryFrmHldr').addClass('enqFrmPopup');
        $(".enquiryFormHolder").bind('click', enquiryFrmClose);
        $('.aEnqFrmCls, .dSFHCDtlsCls').live('click', enquiryFrmClose);
        return false;
    });

    

    $('.enqRefreshCapcha a').live('click', function (event) {
        event.stopPropagation();
        var panelEnquiryform = $(this).closest('.panel-enquiryform'); 
        var backgroundcolor = panelEnquiryform.attr('backgroundcolor');
        var fontcolor = panelEnquiryform.attr('fontcolor');
        var capchaname = panelEnquiryform.attr('capchaname');

        if (typeof backgroundcolor == typeof undefined || backgroundcolor == '') {
            backgroundcolor = panelEnquiryform.find('INPUT:hidden[name=backgroundcolor]').val();
        }
        if (typeof fontcolor == typeof undefined || fontcolor == '') {
            fontcolor = panelEnquiryform.find('INPUT:hidden[name=fontcolor]').val();
        }
        if (typeof capchaname == typeof undefined || capchaname == '') {
            capchaname = "equiryImg";
        }

        var URL_capcha_EnquiryForm = '/Storefront/RefreshCapcha?capchaName=' + capchaname + '&backgroundcolor=' + backgroundcolor + '&fontcolor=' + fontcolor;
        $(this).closest('.panel-enquiryform').find('.enqFrmCptHldr').load(URL_capcha_EnquiryForm);
        return false;
    });



    $('.dHURSyFrmHldr2 .enqRefreshCapcha a').live('click', function (event) {
        event.stopPropagation();
        var URL_capcha_EnquiryForm = '/Storefront/RefreshCapcha?capchaName=commentImg';
        $('.sHURSyCptHldr').load(URL_capcha_EnquiryForm);
        return false;
    });



});

function enquiryFrmClose() {

    closePopup($('.enqFrmPopup * .enquiryFormHolder'), 500);

    setTimeout("$('#enquiryFrmHldr').html('');$('#dEnqFrmBkgnd').remove();", 501);

    $('html').css({
        'overflow': 'visible',
        'height': '100%'
    });

    $(".enquiryFormHolder").unbind('click');
    $('#dEnqFrmBkgnd').unbind('click');
    $('.aEnqFrmCls').unbind('click');

    return false;
}

/*
function setEnquiryFormPosition(width, height) {
    var screenWidth = $(window).width();
    var screenHeight = $(window).height();

    var top, left;

    left = (screenWidth <= width) ? 0 : parseInt((screenWidth - width) / 2);
    top = (screenHeight <= height) ? 0 : parseInt((screenHeight - height) / 2);

    $('#enquiryFrmHldr').css({ top: top + 'px' });
    $('#enquiryFrmHldr').css({ left: left + 'px' });
}

$(window).resize(function () {
    setEnquiryFormPosition(600, 468);
});
*/;
/* JQuery Watermark Light Plugin
 * Version 1.0
 * http://www.davidjrush.com/jqueryplugin/watermark/
 *
 * Copyright 2012, David J Rush
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.opensource.org/licenses/GPL-2.0
 */
 /*
* <input type="text" title="WATERMARK_TEXT" class="watermark" />
* <input type="text" title="WATERMARK TEXT" class="watermark" val="PREPOPULATED_VALUE" />
* <input type="password" title="WATERMARK_TEXT" class="watermark" />
* <textarea title="WATERMARK_TEXT" class="watermark"></textarea>
* 
* style:
* input.watermark, textarea.watermark { color: #000; }
* input.marked, textarea.marked { color: #999; }
* 
* Use:
* $('.watermark').watermark(); --> $('.watermark').watermark('clearWatermarks');
*/
(function(d){var e=[],c={init:function(){return this.each(function(b){var a=d(this),c=a.attr("title");e.push(c);if(a.is(":password"))a.wrap('<span class="pw" />').after('<input type="text" class="watermark marked password" value="'+c+'" />').hide().removeClass("watermark"),a.blur(function(){0==a.val().length&&a.hide().next().show()}).next().focus(function(){a.next().hide().prev().show().focus()});else if(a.is(":text")||a.is("textarea"))a.blur(function(){0==a.val().length&&a.val(e[b]).addClass("marked")}).focus(function(){a.val()== e[b]&&a.hasClass("marked")&&a.val("").removeClass("marked")}),1>a.val().length&&a.val(c).addClass("marked")})},clearWatermarks:function(){return this.each(function(b){d(this).hasClass("marked")&&d(this).val()==e[b]&&d(this).val("")})}};d.fn.watermark=function(b){if(c[b])return c[b].apply(this,Array.prototype.slice.call(arguments,1));if("object"===typeof b||!b)return c.init.apply(this,arguments);d.error("Method "+b+" does not exist on jQuery.watermark")}})(jQuery);;
// Create a jquery plugin that prints the given element.
jQuery.fn.print = function () {
    // NOTE: We are trimming the jQuery collection down to the
    // first element in the collection.
    if (this.size() > 1) {
        this.eq(0).print();
        return;
    } else if (!this.size()) {
        return;
    }

    // ASSERT: At this point, we know that the current jQuery
    // collection (as defined by THIS), contains only one
    // printable element.

    // Create a random name for the print frame.
    var strFrameName = ("printer-" + (new Date()).getTime());

    // Create an iFrame with the new name.
    var jFrame = $("<iframe name='" + strFrameName + "'>");

    // Hide the frame (sort of) and attach to the body.
    jFrame
    .css("width", "1px")
    .css("height", "1px")
    .css("position", "absolute")
    .css("left", "-9999px")
    .appendTo($("body:first"))
    ;

    // Get a FRAMES reference to the new frame.
    var objFrame = window.frames[strFrameName];

    // Get a reference to the DOM in the new frame.
    var objDoc = objFrame.document;

    // Grab all the style tags and copy to the new
    // document so that we capture look and feel of
    // the current document.

    // Create a temp document DIV to hold the style tags.
    // This is the only way I could find to get the style
    // tags into IE.
    var jStyleDiv = $("<div>").append(
    $("style").clone()
    );

    // Write the HTML for the document. In this, we will
    // write out the HTML of the current element.
    objDoc.open();
    objDoc.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");
    objDoc.write("<html>");
    objDoc.write("<body>");
    objDoc.write("<head>");
    objDoc.write("<title>");
    objDoc.write(document.title);
    objDoc.write("</title>");
    objDoc.write(jStyleDiv.html());
    objDoc.write("</head>");
    objDoc.write(this.html());
    objDoc.write("</body>");
    objDoc.write("</html>");
    objDoc.close();

    // Print the document.
    objFrame.focus();
    objFrame.print();

    // Have the frame remove itself in about a minute so that
    // we don't build up too many of these frames.
    setTimeout(
    function () {
        jFrame.remove();
    },
    (60 * 1000)
    );
};
/*
 * jQuery showLoading plugin v1.0
 * 
 * Copyright (c) 2009 Jim Keller
 * Context - http://www.contextllc.com
 * 
 * Dual licensed under the MIT and GPL licenses.
 *
 */
jQuery.fn.showLoading=function(options){var indicatorID;var settings={'addClass':'','beforeShow':'','afterShow':'','hPos':'center','vPos':'center','indicatorZIndex':5001,'overlayZIndex':5000,'parent':'','marginTop':0,'marginLeft':0,'overlayWidth':null,'overlayHeight':null};jQuery.extend(settings,options);var loadingDiv=jQuery('<div></div>');var overlayDiv=jQuery('<div></div>');if(settings.indicatorID){indicatorID=settings.indicatorID;}
else{indicatorID=jQuery(this).attr('id');}
jQuery(loadingDiv).attr('id','loading-indicator-'+indicatorID);jQuery(loadingDiv).addClass('loading-indicator');if(settings.addClass){jQuery(loadingDiv).addClass(settings.addClass);}
jQuery(overlayDiv).css('display','none');jQuery(document.body).append(overlayDiv);jQuery(overlayDiv).attr('id','loading-indicator-'+indicatorID+'-overlay');jQuery(overlayDiv).addClass('loading-indicator-overlay');if(settings.addClass){jQuery(overlayDiv).addClass(settings.addClass+'-overlay');}
var overlay_width;var overlay_height;var border_top_width=jQuery(this).css('border-top-width');var border_left_width=jQuery(this).css('border-left-width');border_top_width=isNaN(parseInt(border_top_width))?0:border_top_width;border_left_width=isNaN(parseInt(border_left_width))?0:border_left_width;var overlay_left_pos=jQuery(this).offset().left+parseInt(border_left_width);var overlay_top_pos=jQuery(this).offset().top+parseInt(border_top_width);if(settings.overlayWidth!==null){overlay_width=settings.overlayWidth;}
else{overlay_width=parseInt(jQuery(this).width())+parseInt(jQuery(this).css('padding-right'))+parseInt(jQuery(this).css('padding-left'));}
if(settings.overlayHeight!==null){overlay_height=settings.overlayWidth;}
else{overlay_height=parseInt(jQuery(this).height())+parseInt(jQuery(this).css('padding-top'))+parseInt(jQuery(this).css('padding-bottom'));}
jQuery(overlayDiv).css('width',overlay_width.toString()+'px');jQuery(overlayDiv).css('height',overlay_height.toString()+'px');jQuery(overlayDiv).css('left',overlay_left_pos.toString()+'px');jQuery(overlayDiv).css('position','absolute');jQuery(overlayDiv).css('top',overlay_top_pos.toString()+'px');jQuery(overlayDiv).css('z-index',settings.overlayZIndex);if(settings.overlayCSS){jQuery(overlayDiv).css(settings.overlayCSS);}
jQuery(loadingDiv).css('display','none');jQuery(document.body).append(loadingDiv);jQuery(loadingDiv).css('position','absolute');jQuery(loadingDiv).css('z-index',settings.indicatorZIndex);var indicatorTop=overlay_top_pos;if(settings.marginTop){indicatorTop+=parseInt(settings.marginTop);}
var indicatorLeft=overlay_left_pos;if(settings.marginLeft){indicatorLeft+=parseInt(settings.marginTop);}
if(settings.hPos.toString().toLowerCase()=='center'){jQuery(loadingDiv).css('left',(indicatorLeft+((jQuery(overlayDiv).width()-parseInt(jQuery(loadingDiv).width()))/2)).toString()+'px');}
else if(settings.hPos.toString().toLowerCase()=='left'){jQuery(loadingDiv).css('left',(indicatorLeft+parseInt(jQuery(overlayDiv).css('margin-left'))).toString()+'px');}
else if(settings.hPos.toString().toLowerCase()=='right'){jQuery(loadingDiv).css('left',(indicatorLeft+(jQuery(overlayDiv).width()-parseInt(jQuery(loadingDiv).width()))).toString()+'px');}
else{jQuery(loadingDiv).css('left',(indicatorLeft+parseInt(settings.hPos)).toString()+'px');}
if(settings.vPos.toString().toLowerCase()=='center'){jQuery(loadingDiv).css('top',(indicatorTop+((jQuery(overlayDiv).height()-parseInt(jQuery(loadingDiv).height()))/2)).toString()+'px');}
else if(settings.vPos.toString().toLowerCase()=='top'){jQuery(loadingDiv).css('top',indicatorTop.toString()+'px');}
else if(settings.vPos.toString().toLowerCase()=='bottom'){jQuery(loadingDiv).css('top',(indicatorTop+(jQuery(overlayDiv).height()-parseInt(jQuery(loadingDiv).height()))).toString()+'px');}
else{jQuery(loadingDiv).css('top',(indicatorTop+parseInt(settings.vPos)).toString()+'px');}
if(settings.css){jQuery(loadingDiv).css(settings.css);}
var callback_options={'overlay':overlayDiv,'indicator':loadingDiv,'element':this};if(typeof(settings.beforeShow)=='function'){settings.beforeShow(callback_options);}
jQuery(overlayDiv).show();jQuery(loadingDiv).show();if(typeof(settings.afterShow)=='function'){settings.afterShow(callback_options);}
return this;};jQuery.fn.hideLoading=function(options){var settings={};jQuery.extend(settings,options);if(settings.indicatorID){indicatorID=settings.indicatorID;}
else{indicatorID=jQuery(this).attr('id');}
jQuery(document.body).find('#loading-indicator-'+indicatorID).remove();jQuery(document.body).find('#loading-indicator-'+indicatorID+'-overlay').remove();return this;};
;
;(function (factory)
{
    if (typeof define === 'function' && define.amd)
    {
        define(jQuery || ['jquery'], factory);
    }
    else if (typeof exports === 'object')
    {
        factory(jQuery || require('jquery'));
    }
    else
    {
        factory(jQuery);
    }
}
(function ($)
{
    "use strict";

    var pluginName = "tinyscrollbar"
    ,   defaults   =
        {
            axis         : 'y'    // Vertical or horizontal scrollbar? ( x || y ).
        ,   wheel        : true   // Enable or disable the mousewheel;
        ,   wheelSpeed   : 40     // How many pixels must the mouswheel scroll at a time.
        ,   wheelLock    : true   // Lock default scrolling window when there is no more content.
        ,   scrollInvert : false  // Enable invert style scrolling
        ,   trackSize    : false  // Set the size of the scrollbar to auto or a fixed number.
        ,   thumbSize    : false  // Set the size of the thumb to auto or a fixed number.
        }
    ;

    function Plugin($container, options)
    {
        this.options   = $.extend({}, defaults, options);
        this._defaults = defaults;
        this._name     = pluginName;

        var self        = this
        ,   $viewport   = $container.find(".viewport")
        ,   $overview   = $container.find(".overview")
        ,   $scrollbar  = $container.find(".scrollbar")
        ,   $track      = $scrollbar.find(".track")
        ,   $thumb      = $scrollbar.find(".thumb")

        ,   mousePosition   = 0

        ,   isHorizontal   = this.options.axis === 'x'
        ,   hasTouchEvents = ("ontouchstart" in document.documentElement)
        ,   wheelEvent     = ("onwheel" in document || document.documentMode >= 9) ? "wheel" :
                             (document.onmousewheel !== undefined ? "mousewheel" : "DOMMouseScroll")

        ,   sizeLabel = isHorizontal ? "width" : "height"
        ,   posiLabel = isHorizontal ? "left" : "top"
        ;

        this.contentPosition = 0;
        this.viewportSize    = 0;
        this.contentSize     = 0;
        this.contentRatio    = 0;
        this.trackSize       = 0;
        this.trackRatio      = 0;
        this.thumbSize       = 0;
        this.thumbPosition   = 0;

        function initialize()
        {
            self.update();
            setEvents();

            return self;
        }

        this.update = function(scrollTo)
        {
            var sizeLabelCap  = sizeLabel.charAt(0).toUpperCase() + sizeLabel.slice(1).toLowerCase();
            this.viewportSize = $viewport[0]['offset'+ sizeLabelCap];
            this.contentSize  = $overview[0]['scroll'+ sizeLabelCap];
            this.contentRatio = this.viewportSize / this.contentSize;
            this.trackSize    = this.options.trackSize || this.viewportSize;
            this.thumbSize    = Math.min(this.trackSize, Math.max(0, (this.options.thumbSize || (this.trackSize * this.contentRatio))));
            this.trackRatio   = this.options.thumbSize ? (this.contentSize - this.viewportSize) / (this.trackSize - this.thumbSize) : (this.contentSize / this.trackSize);

            $scrollbar.toggleClass("disable", this.contentRatio >= 1);

            switch (scrollTo)
            {
                case "bottom":
                    this.contentPosition = this.contentSize - this.viewportSize;
                    break;

                case "relative":
                    this.contentPosition = Math.min(this.contentSize - this.viewportSize, Math.max(0, this.contentPosition));
                    break;

                default:
                    this.contentPosition = parseInt(scrollTo, 10) || 0;
            }

            setSize();

            return self;
        };

        function setSize()
        {
            $thumb.css(posiLabel, self.contentPosition / self.trackRatio);
            $overview.css(posiLabel, -self.contentPosition);
            $scrollbar.css(sizeLabel, self.trackSize);
            $track.css(sizeLabel, self.trackSize);
            $thumb.css(sizeLabel, self.thumbSize);
        }

        function setEvents()
        {
            if(hasTouchEvents)
            {
                $viewport[0].ontouchstart = function(event)
                {
                    if(1 === event.touches.length)
                    {
                        event.stopPropagation();

                        start(event.touches[0]);
                    }
                };
            }
            else
            {
                $thumb.bind("mousedown", start);
                $track.bind("mousedown", drag);
            }

            $(window).resize(function()
            {
                self.update("relative");
            });

            if(self.options.wheel && window.addEventListener)
            {
                $container[0].addEventListener(wheelEvent, wheel, false );
            }
            else if(self.options.wheel)
            {
                $container[0].onmousewheel = wheel;
            }
        }

        function start(event)
        {
            $("body").addClass("noSelect");

            mousePosition      = isHorizontal ? event.pageX : event.pageY;
            self.thumbPosition = parseInt($thumb.css(posiLabel), 10) || 0;

            if(hasTouchEvents)
            {
                document.ontouchmove = function(event)
                {
                    event.preventDefault();
                    drag(event.touches[0]);
                };
                document.ontouchend = end;
            }
            else
            {
                $(document).bind("mousemove", drag);
                $(document).bind("mouseup", end);
                $thumb.bind("mouseup", end);
            }
        }

        function wheel(event)
        {
            if(self.contentRatio < 1)
            {
                var evntObj         = event || window.event
                ,   deltaDir        = "delta" + self.options.axis.toUpperCase()
                ,   wheelSpeedDelta = -(evntObj[deltaDir] || evntObj.detail || (-1 / 3 * evntObj.wheelDelta)) / 40
                ;

                self.contentPosition -= wheelSpeedDelta * self.options.wheelSpeed;
                self.contentPosition = Math.min((self.contentSize - self.viewportSize), Math.max(0, self.contentPosition));

                $container.trigger("move");

                $thumb.css(posiLabel, self.contentPosition / self.trackRatio);
                $overview.css(posiLabel, -self.contentPosition);

                if(self.options.wheelLock || (self.contentPosition !== (self.contentSize - self.viewportSize) && self.contentPosition !== 0))
                {
                    evntObj = $.event.fix(evntObj);
                    evntObj.preventDefault();
                }
            }
        }

        function drag(event)
        {
            if(self.contentRatio < 1)
            {
                var mousePositionNew   = isHorizontal ? event.pageX : event.pageY
                ,   thumbPositionDelta = mousePositionNew - mousePosition
                ;

                if(self.options.scrollInvert && hasTouchEvents)
                {
                    thumbPositionDelta = mousePosition - mousePositionNew;
                }

                var thumbPositionNew = Math.min((self.trackSize - self.thumbSize), Math.max(0, self.thumbPosition + thumbPositionDelta));
                self.contentPosition = thumbPositionNew * self.trackRatio;

                $container.trigger("move");

                $thumb.css(posiLabel, thumbPositionNew);
                $overview.css(posiLabel, -self.contentPosition);
            }
        }

        function end()
        {
            $("body").removeClass("noSelect");
            $(document).unbind("mousemove", drag);
            $(document).unbind("mouseup", end);
            $thumb.unbind("mouseup", end);
            document.ontouchmove = document.ontouchend = null;
        }

        return initialize();
    }

    $.fn[pluginName] = function(options)
    {
        return this.each(function()
        {
            if(!$.data(this, "plugin_" + pluginName))
            {
                $.data(this, "plugin_" + pluginName, new Plugin($(this), options));
            }
        });
    };
}));;
/**
 * jQuery Unveil
 * A very lightweight jQuery plugin to lazy load images
 * http://luis-almeida.github.com/unveil
 *
 * Licensed under the MIT license.
 * Copyright 2013 Luís Almeida
 * https://github.com/luis-almeida
 */

;(function($) {

  $.fn.unveil = function(threshold, callback) {

    var $w = $(window),
        th = threshold || 0,
        retina = window.devicePixelRatio > 1,
        attrib = retina? "data-src-retina" : "data-src",
        images = this,
        loaded;

    this.one("unveil", function() {
      var source = this.getAttribute(attrib);
      source = source || this.getAttribute("data-src");
      if (source) {
        this.setAttribute("src", source);
        if (typeof callback === "function") callback.call(this);
      }
    });

    function unveil() {
      var inview = images.filter(function() {
        var $e = $(this);
        if ($e.is(":hidden")) return;

        var wt = $w.scrollTop(),
            wb = wt + $w.height(),
            et = $e.offset().top,
            eb = et + $e.height();

        return eb >= wt - th && et <= wb + th;
      });

      loaded = inview.trigger("unveil");
      images = images.not(loaded);
    }

    $w.on("scroll.unveil resize.unveil lookup.unveil", unveil);

    unveil();

    return this;

  };

})(window.jQuery || window.Zepto);
;
/*!
 * Expander - v1.4.12 - 2014-10-05
 * http://plugins.learningjquery.com/expander/
 * Copyright (c) 2014 Karl Swedberg
 * Licensed MIT (http://www.opensource.org/licenses/mit-license.php)
 */

(function($) {
  $.expander = {
    version: '1.4.12',
    defaults: {
      // the number of characters at which the contents will be sliced into two parts.
      slicePoint: 100,

      // a string of characters at which to slice the contents into two parts,
      // but only if the string appears before slicePoint
      // Useful for slicing at the first line break, e.g. {sliceOn: '<br'}
      sliceOn: null,

      // whether to keep the last word of the summary whole (true) or let it slice in the middle of a word (false)
      preserveWords: true,

      // whether to count and display the number of words inside the collapsed text
      showWordCount: false,

      // What to display around the counted number of words, set to '{{count}}' to show only the number
      wordCountText: ' ({{count}} words)',

      // a threshold of sorts for whether to initially hide/collapse part of the element's contents.
      // If after slicing the contents in two there are fewer words in the second part than
      // the value set by widow, we won't bother hiding/collapsing anything.
      widow: 4,

      // text displayed in a link instead of the hidden part of the element.
      // clicking this will expand/show the hidden/collapsed text
      expandText: 'read more',
      expandPrefix: '&hellip; ',

      expandAfterSummary: false,

      // Possible word endings to test against for when preserveWords: true
      wordEnd: /(&(?:[^;]+;)?|[a-zA-Z\u00C0-\u0100]+|[^\u0000-\u007F]+)$/,

      // class names for summary element and detail element
      summaryClass: 'summary',
      detailClass: 'details',

      // class names for <span> around "read-more" link and "read-less" link
      moreClass: 'read-more',
      lessClass: 'read-less',

      // class names for <a> around "read-more" link and "read-less" link
      moreLinkClass: 'more-link',
      lessLinkClass: 'less-link',

      // number of milliseconds after text has been expanded at which to collapse the text again.
      // when 0, no auto-collapsing
      collapseTimer: 0,

      // effects for expanding and collapsing
      expandEffect: 'slideDown',
      expandSpeed: 250,
      collapseEffect: 'slideUp',
      collapseSpeed: 200,

      // allow the user to re-collapse the expanded text.
      userCollapse: true,

      // text to use for the link to re-collapse the text
      userCollapseText: 'read less',
      userCollapsePrefix: ' ',


      // all callback functions have the this keyword mapped to the element in the jQuery set when .expander() is called

      onSlice: null, // function() {}
      beforeExpand: null, // function() {},
      afterExpand: null, // function() {},
      onCollapse: null, // function(byUser) {}
      afterCollapse: null // function() {}
    }
  };

  $.fn.expander = function(options) {
    var meth = 'init';

    if (typeof options === 'string') {
      meth = options;
      options = {};
    }

    var opts = $.extend({}, $.expander.defaults, options),
        rSelfClose = /^<(?:area|br|col|embed|hr|img|input|link|meta|param).*>$/i,
        rAmpWordEnd = opts.wordEnd,
        rOpenCloseTag = /<\/?(\w+)[^>]*>/g,
        rOpenTag = /<(\w+)[^>]*>/g,
        rCloseTag = /<\/(\w+)>/g,
        rLastCloseTag = /(<\/([^>]+)>)\s*$/,
        rTagPlus = /^(<[^>]+>)+.?/,
        rMultiSpace = /\s\s+/g,
        delayedCollapse;

    var removeSpaces = function(str) {
      return $.trim( str || '' ).replace(rMultiSpace, ' ');
    };

    var methods = {
      init: function() {
        this.each(function() {
          var i, l, tmp, newChar, summTagless, summOpens, summCloses,
              lastCloseTag, detailText, detailTagless, html, expand,
              $thisDetails, $readMore,
              openTagsForDetails = [],
              closeTagsForsummaryText = [],
              strayChars = '',
              defined = {},
              thisEl = this,
              $this = $(this),
              $summEl = $([]),
              o = $.extend({}, opts, $this.data('expander') || $.meta && $this.data() || {}),
              hasDetails = !!$this.find('.' + o.detailClass).length,
              hasBlocks = !!$this.find('*').filter(function() {
                var display = $(this).css('display');
                return (/^block|table|list/).test(display);
              }).length,
              el = hasBlocks ? 'div' : 'span',
              detailSelector = el + '.' + o.detailClass,
              moreClass = o.moreClass + '',
              lessClass = o.lessClass + '',
              expandSpeed = o.expandSpeed || 0,
              allHtml = removeSpaces( $this.html() ),
              summaryText = allHtml.slice(0, o.slicePoint);

          // allow multiple classes for more/less links
          o.moreSelector = 'span.' + moreClass.split(' ').join('.');
          o.lessSelector = 'span.' + lessClass.split(' ').join('.');
          // bail out if we've already set up the expander on this element
          if ( $.data(this, 'expanderInit') ) {
            return;
          }

          $.data(this, 'expanderInit', true);
          $.data(this, 'expander', o);
          // determine which callback functions are defined
          $.each(['onSlice','beforeExpand', 'afterExpand', 'onCollapse', 'afterCollapse'], function(index, val) {
            defined[val] = $.isFunction(o[val]);
          });

          // back up if we're in the middle of a tag or word
          summaryText = backup(summaryText);

          // summary text sans tags length
          summTagless = summaryText.replace(rOpenCloseTag, '').length;

          // add more characters to the summary, one for each character in the tags
          while (summTagless < o.slicePoint) {
            newChar = allHtml.charAt(summaryText.length);
            if (newChar === '<') {
              newChar = allHtml.slice(summaryText.length).match(rTagPlus)[0];
            }
            summaryText += newChar;
            summTagless++;
          }

          //SliceOn script, Closes #16, resolves #59
          //Original SliceEarlierAt code (since modfied): Sascha Peilicke @saschpe
          if (o.sliceOn) {
            var sliceOnIndex = summaryText.indexOf(o.sliceOn);

            if (sliceOnIndex !== -1 && sliceOnIndex < o.slicePoint) {
              o.slicePoint = sliceOnIndex;
              summaryText = allHtml.slice(0, o.slicePoint);
            }
          }

          summaryText = backup(summaryText, o.preserveWords && allHtml.slice(summaryText.length).length);

          // separate open tags from close tags and clean up the lists
          summOpens = summaryText.match(rOpenTag) || [];
          summCloses = summaryText.match(rCloseTag) || [];

          // filter out self-closing tags
          tmp = [];
          $.each(summOpens, function(index, val) {
            if ( !rSelfClose.test(val) ) {
              tmp.push(val);
            }
          });
          summOpens = tmp;

          // strip close tags to just the tag name
          l = summCloses.length;
          for (i = 0; i < l; i++) {
            summCloses[i] = summCloses[i].replace(rCloseTag, '$1');
          }

          // tags that start in summary and end in detail need:
          // a). close tag at end of summary
          // b). open tag at beginning of detail
          $.each(summOpens, function(index, val) {
            var thisTagName = val.replace(rOpenTag, '$1');
            var closePosition = $.inArray(thisTagName, summCloses);

            if (closePosition === -1) {
              openTagsForDetails.push(val);
              closeTagsForsummaryText.push('</' + thisTagName + '>');

            } else {
              summCloses.splice(closePosition, 1);
            }
          });

          // reverse the order of the close tags for the summary so they line up right
          closeTagsForsummaryText.reverse();

          // create necessary summary and detail elements if they don't already exist
          if ( !hasDetails ) {

            // end script if there is no detail text or if detail has fewer words than widow option
            detailText = allHtml.slice(summaryText.length);
            detailTagless = $.trim( detailText.replace(rOpenCloseTag, '') );

            if ( detailTagless === '' || detailTagless.split(/\s+/).length < o.widow ) {
              return;
            }
            // otherwise, continue...
            lastCloseTag = closeTagsForsummaryText.pop() || '';
            summaryText += closeTagsForsummaryText.join('');
            detailText = openTagsForDetails.join('') + detailText;

          } else {
            // assume that even if there are details, we still need readMore/readLess/summary elements
            // (we already bailed out earlier when readMore el was found)
            // but we need to create els differently

            // remove the detail from the rest of the content
            detailText = $this.find(detailSelector).remove().html();

            // The summary is what's left
            summaryText = $this.html();

            // allHtml is the summary and detail combined (this is needed when content has block-level elements)
            allHtml = summaryText + detailText;

            lastCloseTag = '';
          }
          o.moreLabel = $this.find(o.moreSelector).length ? '' : buildMoreLabel(o, detailText);

          if (hasBlocks) {
            detailText = allHtml;
            //Fixes issue #89; Tested by 'split html escapes'
          } else if (summaryText.charAt(summaryText.length-1) === '&') {
            strayChars = /^[#\w\d\\]+;/.exec(detailText);
            if (strayChars) {
              detailText = detailText.slice(strayChars[0].length);
              summaryText += strayChars[0];
            }
          }
          summaryText += lastCloseTag;

          // onSlice callback
          o.summary = summaryText;
          o.details = detailText;
          o.lastCloseTag = lastCloseTag;

          if (defined.onSlice) {
            // user can choose to return a modified options object
            // one last chance for user to change the options. sneaky, huh?
            // but could be tricky so use at your own risk.
            tmp = o.onSlice.call(thisEl, o);

          // so, if the returned value from the onSlice function is an object with a details property, we'll use that!
            o = tmp && tmp.details ? tmp : o;
          }

          // build the html with summary and detail and use it to replace old contents
          html = buildHTML(o, hasBlocks);

          $this.html( html );

          // set up details and summary for expanding/collapsing
          $thisDetails = $this.find(detailSelector);
          $readMore = $this.find(o.moreSelector);

          // Hide details span using collapseEffect unless
          // expandEffect is NOT slideDown and collapseEffect IS slideUp.
          // The slideUp effect sets span's "default" display to
          // inline-block. This is necessary for slideDown, but
          // problematic for other "showing" animations.
          // Fixes #46
          if (o.collapseEffect === 'slideUp' && o.expandEffect !== 'slideDown' || $this.is(':hidden')) {
            $thisDetails.css({display: 'none'});
          } else {
            $thisDetails[o.collapseEffect](0);
          }

          $summEl = $this.find('div.' + o.summaryClass);

          expand = function(event) {
            event.preventDefault();
            $readMore.hide();
            $summEl.hide();
            if (defined.beforeExpand) {
              o.beforeExpand.call(thisEl);
            }

            $thisDetails.stop(false, true)[o.expandEffect](expandSpeed, function() {
              $thisDetails.css({zoom: ''});
              if (defined.afterExpand) {o.afterExpand.call(thisEl);}
              delayCollapse(o, $thisDetails, thisEl);
            });
          };

          $readMore.find('a').unbind('click.expander').bind('click.expander', expand);

          if ( o.userCollapse && !$this.find(o.lessSelector).length ) {
            $this
            .find(detailSelector)
            .append('<span class="' + o.lessClass + '">' + o.userCollapsePrefix + '<a href="#" class="'+ o.lessLinkClass +'">' + o.userCollapseText + '</a></span>');
          }

          $this
          .find(o.lessSelector + ' a')
          .unbind('click.expander')
          .bind('click.expander', function(event) {
            event.preventDefault();
            clearTimeout(delayedCollapse);
            var $detailsCollapsed = $(this).closest(detailSelector);
            reCollapse(o, $detailsCollapsed);
            if (defined.onCollapse) {
              o.onCollapse.call(thisEl, true);
            }
          });

        }); // this.each
      },
      destroy: function() {

        this.each(function() {
          var o, details,
              $this = $(this);

          if ( !$this.data('expanderInit') ) {
            return;
          }

          o = $.extend({}, $this.data('expander') || {}, opts);
          details = $this.find('.' + o.detailClass).contents();

          $this.removeData('expanderInit');
          $this.removeData('expander');

          $this.find(o.moreSelector).remove();
          $this.find('.' + o.summaryClass).remove();
          $this.find('.' + o.detailClass).after(details).remove();
          $this.find(o.lessSelector).remove();

        });
      }
    };

    // run the methods (almost always "init")
    if ( methods[meth] ) {
      methods[ meth ].call(this);
    }

    // utility functions
    function buildHTML(o, blocks) {
      var el = 'span',
          summary = o.summary,
          closingTagParts = rLastCloseTag.exec(summary),
          closingTag = closingTagParts ? closingTagParts[2].toLowerCase() : '';
      if ( blocks ) {
        el = 'div';

        // if summary ends with a close tag, tuck the moreLabel inside it
        if ( closingTagParts && closingTag !== 'a' && !o.expandAfterSummary ) {
          summary = summary.replace(rLastCloseTag, o.moreLabel + '$1');
        } else {
        // otherwise (e.g. if ends with self-closing tag) just add moreLabel after summary
        // fixes #19
          summary += o.moreLabel;
        }

        // and wrap it in a div
        summary = '<div class="' + o.summaryClass + '">' + summary + '</div>';
      } else {
        summary += o.moreLabel;
      }

      return [
        summary,
        ' <',
        el + ' class="' + o.detailClass + '"',
        '>',
        o.details,
        '</' + el + '>'
      ].join('');
    }

    function buildMoreLabel(o, detailText) {
      var ret = '<span class="' + o.moreClass + '">' + o.expandPrefix;

      if (o.showWordCount) {

        o.wordCountText = o.wordCountText.replace(/\{\{count\}\}/, detailText.replace(rOpenCloseTag, '').replace(/\&(?:amp|nbsp);/g, '').replace(/(?:^\s+|\s+$)/, '').match(/\w+/g).length);

      } else {
        o.wordCountText = '';
      }
      ret += '<a href="#" class="' + o.moreLinkClass + '">' + o.expandText + o.wordCountText + '</a></span>';
      return ret;
    }

    function backup(txt, preserveWords) {
      if ( txt.lastIndexOf('<') > txt.lastIndexOf('>') ) {
        txt = txt.slice( 0, txt.lastIndexOf('<') );
      }
      if (preserveWords) {
        txt = txt.replace(rAmpWordEnd,'');
      }

      return $.trim(txt);
    }

    function reCollapse(o, el) {
      el.stop(true, true)[o.collapseEffect](o.collapseSpeed, function() {
        var prevMore = el.prev('span.' + o.moreClass).show();
        if (!prevMore.length) {
          el.parent().children('div.' + o.summaryClass).show()
            .find('span.' + o.moreClass).show();
        }
        if (o.afterCollapse) {o.afterCollapse.call(el);}
      });
    }

    function delayCollapse(option, $collapseEl, thisEl) {
      if (option.collapseTimer) {
        delayedCollapse = setTimeout(function() {
          reCollapse(option, $collapseEl);
          if ( $.isFunction(option.onCollapse) ) {
            option.onCollapse.call(thisEl, false);
          }
        }, option.collapseTimer);
      }
    }

    return this;
  };

  // plugin defaults
  $.fn.expander.defaults = $.expander.defaults;
})(jQuery);
;
/*!
 Ridiculously Responsive Social Sharing Buttons
 Team: @dbox, @joshuatuscan
 Site: http://www.kurtnoble.com/labs/rrssb
 Twitter: @therealkni

        ___           ___
       /__/|         /__/\        ___
      |  |:|         \  \:\      /  /\
      |  |:|          \  \:\    /  /:/
    __|  |:|      _____\__\:\  /__/::\
   /__/\_|:|____ /__/::::::::\ \__\/\:\__
   \  \:\/:::::/ \  \:\~~\~~\/    \  \:\/\
    \  \::/~~~~   \  \:\  ~~~      \__\::/
     \  \:\        \  \:\          /__/:/
      \  \:\        \  \:\         \__\/
       \__\/         \__\/
*/

+(function(window, $, undefined) {
	'use strict';

	var support = {
		calc : false
	};

	/*
	 * Public Function
	 */

	 $.fn.rrssb = function( options ) {

		// Settings that $.rrssb() will accept.
		var settings = $.extend({
			description: undefined,
			emailAddress: undefined,
			emailBody: undefined,
			emailSubject: undefined,
			image: undefined,
			title: undefined,
			url: undefined
		}, options );

		// Return the encoded strings if the settings have been changed.
		for (var key in settings) {
			if (settings.hasOwnProperty(key) && settings[key] !== undefined) {
				settings[key] = encodeString(settings[key]);
			}
		};

		if (settings.url !== undefined) {
			$(this).find('.rrssb-facebook a').attr('href', 'https://www.facebook.com/sharer/sharer.php?u=' + settings.url);
			$(this).find('.rrssb-tumblr a').attr('href', 'http://tumblr.com/share/link?url=' + settings.url + (settings.title !== undefined ? '&name=' + settings.title : '')  + (settings.description !== undefined ? '&description=' + settings.description : ''));
			$(this).find('.rrssb-linkedin a').attr('href', 'http://www.linkedin.com/shareArticle?mini=true&url=' + settings.url + (settings.title !== undefined ? '&title=' + settings.title : '') + (settings.description !== undefined ? '&summary=' + settings.description : ''));
			$(this).find('.rrssb-twitter a').attr('href', 'https://twitter.com/intent/tweet?text=' + (settings.description !== undefined ? settings.description : '') + '%20' + settings.url);
			$(this).find('.rrssb-hackernews a').attr('href', 'https://news.ycombinator.com/submitlink?u=' + settings.url + (settings.title !== undefined ? '&text=' + settings.title : ''));
			$(this).find('.rrssb-reddit a').attr('href', 'http://www.reddit.com/submit?url=' + settings.url + (settings.description !== undefined ? '&text=' + settings.description : '') + (settings.title !== undefined ? '&title=' + settings.title : ''));
			$(this).find('.rrssb-pinterest a').attr('href', 'http://pinterest.com/pin/create/button/?url=' + settings.url + ((settings.image !== undefined) ? '&amp;media=' + settings.image : '') + (settings.description !== undefined ? '&amp;description=' + settings.description : ''));
			$(this).find('.rrssb-pocket a').attr('href', 'https://getpocket.com/save?url=' + settings.url);
			$(this).find('.rrssb-github a').attr('href', settings.url);
		}

		if (settings.emailAddress !== undefined) {
			$(this).find('.rrssb-email a').attr('href', 'mailto:' + settings.emailAddress + '?' + (settings.emailSubject !== undefined ? 'subject=' + settings.emailSubject : '') + (settings.emailBody !== undefined ? '&amp;body=' + settings.emailBody : ''));
		}

	};

	/*
	 * Utility functions
	 */
	var detectCalcSupport = function(){
		//detect if calc is natively supported.
		var el = $('<div>');
		var calcProps = [
			'calc',
			'-webkit-calc',
			'-moz-calc'
		];

		$('body').append(el);

		for (var i=0; i < calcProps.length; i++) {
			el.css('width', calcProps[i] + '(1px)');
			if(el.width() === 1){
				support.calc = calcProps[i];
				break;
			}
		}

		el.remove();
	};

	var encodeString = function(string) {
		// Recursively decode string first to ensure we aren't double encoding.
		if (string !== undefined && string !== null) {
			if (string.match(/%[0-9a-f]{2}/i) !== null) {
				string = decodeURIComponent(string);
				encodeString(string);
			} else {
				return encodeURIComponent(string);
			}
		}
	};

	var setPercentBtns = function() {
		// loop through each instance of buttons
		$('.rrssb-buttons').each(function(index) {
			var self = $(this);
			var buttons = $('li:visible', self);
			var numOfButtons = buttons.length;
			var initBtnWidth = 100 / numOfButtons;

			// set initial width of buttons
			buttons.css('width', initBtnWidth + '%').attr('data-initwidth',initBtnWidth);
		});
	};

	var makeExtremityBtns = function() {
		// loop through each instance of buttons
		$('.rrssb-buttons').each(function(index) {
			var self = $(this);
			//get button width
			var containerWidth = self.width();
			var buttonWidth = $('li', self).not('.small').first().width();

			// enlarge buttons if they get wide enough
			if (buttonWidth > 170 && $('li.small', self).length < 1) {
				self.addClass('large-format');
			} else {
				self.removeClass('large-format');
			}

			if (containerWidth < 200) {
				self.removeClass('small-format').addClass('tiny-format');
			} else {
				self.removeClass('tiny-format');
			}
		});
	};

	var backUpFromSmall = function() {
		// loop through each instance of buttons
		$('.rrssb-buttons').each(function(index) {
			var self = $(this);

			var buttons = $('li', self);
			var smallButtons = buttons.filter('.small');
			var totalBtnSze = 0;
			var totalTxtSze = 0;
			var upCandidate = smallButtons.first();
			var nextBackUp = parseFloat(upCandidate.attr('data-size')) + 40;
			var smallBtnCount = smallButtons.length;

			if (smallBtnCount === buttons.length) {
				var btnCalc = smallBtnCount * 42;
				var containerWidth = self.width();

				if ((btnCalc + nextBackUp) < containerWidth) {
					self.removeClass('small-format');
					smallButtons.first().removeClass('small');

					sizeSmallBtns();
				}

			} else {
				buttons.not('.small').each(function(index) {
					var button = $(this);
					var txtWidth = parseFloat(button.attr('data-size')) + 40;
					var btnWidth = parseFloat(button.width());

					totalBtnSze = totalBtnSze + btnWidth;
					totalTxtSze = totalTxtSze + txtWidth;
				});

				var spaceLeft = totalBtnSze - totalTxtSze;

				if (nextBackUp < spaceLeft) {
					upCandidate.removeClass('small');
					sizeSmallBtns();
				}
			}
		});
	};

	var checkSize = function(init) {
		// loop through each instance of buttons
		$('.rrssb-buttons').each(function(index) {

			var self = $(this);
			var buttons = $('li', self);

			// get buttons in reverse order and loop through each
			$(buttons.get().reverse()).each(function(index, count) {

				var button = $(this);

				if (button.hasClass('small') === false) {
					var txtWidth = parseFloat(button.attr('data-size')) + 40;
					var btnWidth = parseFloat(button.width());

					if (txtWidth > btnWidth) {
						var btn2small = buttons.not('.small').last();
						$(btn2small).addClass('small');
						sizeSmallBtns();
					}
				}

				if (!--count) backUpFromSmall();
			});
		});

		// if first time running, put it through the magic layout
		if (init === true) {
			rrssbMagicLayout(sizeSmallBtns);
		}
	};

	var sizeSmallBtns = function() {
		// loop through each instance of buttons
		$('.rrssb-buttons').each(function(index) {
			var self = $(this);
			var regButtonCount;
			var regPercent;
			var pixelsOff;
			var magicWidth;
			var smallBtnFraction;
			var buttons = $('li', self);
			var smallButtons = buttons.filter('.small');

			// readjust buttons for small display
			var smallBtnCount = smallButtons.length;

			// make sure there are small buttons
			if (smallBtnCount > 0 && smallBtnCount !== buttons.length) {
				self.removeClass('small-format');

				//make sure small buttons are square when not all small
				smallButtons.css('width','42px');
				pixelsOff = smallBtnCount * 42;
				regButtonCount = buttons.not('.small').length;
				regPercent = 100 / regButtonCount;
				smallBtnFraction = pixelsOff / regButtonCount;

				// if calc is not supported. calculate the width on the fly.
				if (support.calc === false) {
					magicWidth = ((self.innerWidth()-1) / regButtonCount) - smallBtnFraction;
					magicWidth = Math.floor(magicWidth*1000) / 1000;
					magicWidth += 'px';
				} else {
					magicWidth = support.calc+'('+regPercent+'% - '+smallBtnFraction+'px)';
				}

				buttons.not('.small').css('width', magicWidth);

			} else if (smallBtnCount === buttons.length) {
				// if all buttons are small, change back to percentage
				self.addClass('small-format');
				setPercentBtns();
			} else {
				self.removeClass('small-format');
				setPercentBtns();
			}
		}); //end loop

		makeExtremityBtns();
	};

	var rrssbInit = function() {
		$('.rrssb-buttons').each(function(index) {
			$(this).addClass('rrssb-'+(index + 1));
		});

		detectCalcSupport();

		setPercentBtns();

		// grab initial text width of each button and add as data attr
		$('.rrssb-buttons li .rrssb-text').each(function(index) {
			var buttonTxt = $(this);
			var txtWdth = buttonTxt.width();
			buttonTxt.closest('li').attr('data-size', txtWdth);
		});

		checkSize(true);
	};

	var rrssbMagicLayout = function(callback) {
		//remove small buttons before each conversion try
		$('.rrssb-buttons li.small').removeClass('small');

		checkSize();

		callback();
	};

	var popupCenter = function(url, title, w, h) {
		// Fixes dual-screen position                         Most browsers      Firefox
		var dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : screen.left;
		var dualScreenTop = window.screenTop !== undefined ? window.screenTop : screen.top;

		var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;
		var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;

		var left = ((width / 2) - (w / 2)) + dualScreenLeft;
		var top = ((height / 3) - (h / 3)) + dualScreenTop;

		var newWindow = window.open(url, title, 'scrollbars=yes, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);

		// Puts focus on the newWindow
		if (window.focus) {
			newWindow.focus();
		}
	};

	var waitForFinalEvent = (function () {
		var timers = {};
		return function (callback, ms, uniqueId) {
			if (!uniqueId) {
				uniqueId = "Don't call this twice without a uniqueId";
			}
			if (timers[uniqueId]) {
				clearTimeout (timers[uniqueId]);
			}
			timers[uniqueId] = setTimeout(callback, ms);
		};
	})();

	// init load
	$(document).ready(function(){
		/*
		 * Event listners
		 */

                $(document).on('click', '.rrssb-buttons a.popup', {}, function popUp(e) {
			var self = $(this);
			popupCenter(self.attr('href'), self.find('.rrssb-text').html(), 580, 470);
			e.preventDefault();
		});

		// resize function
		$(window).resize(function () {

			rrssbMagicLayout(sizeSmallBtns);

			waitForFinalEvent(function(){
				rrssbMagicLayout(sizeSmallBtns);
			}, 200, "finished resizing");
		});

		rrssbInit();
	});

	// Make global
	window.rrssbInit = rrssbInit;

})(window, jQuery);
;
function ShowSubscribeModal(n){$("#subscribe-modal").length==0?$.get("/subscriber/modal",function(n){if($("body").append(n),$("#subscribe-modal").length>0){$("#subscribe-modal").on("shown.bs.modal",function(){var n="v"+$(this).attr("version");TrackGoogleAnalyticsEvent("","Subscribe Modal Tracking","Shown",n)});$("#subscribe-modal").on("hidden.bs.modal",function(){$.post("/NewsService/SubscribeModalDisable");var n="v"+$(this).attr("version");TrackGoogleAnalyticsEvent("","Subscribe Modal Tracking","Hidden",n)});$("#subscribe-modal").modal("show")}}):$("#subscribe-modal").modal("show");TrackGoogleAnalyticsEvent(n,"Subscribe-Invitation","Open Form","")}function CheckAU(n,t){$.get("/newsservice/checkaustralia?ip="+t,function(t){t.show===!0&&ShowSubscribeModal(n)})}function newWindow(n,t,i,r,u){var e=(screen.width-i)/2,o=(screen.height-r)/2,f;e<0&&(e=0);o<0&&(o=0);f="height="+r+",";f+="width="+i+",";f+="top="+o+",";f+="left="+e+",";f+=u;win=window.open(n,t,f);win.window.focus()}function ValidateEmail(n){return/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(n)?!0:!1}function checkFollowFormTop(){if($("#followErrorMsg").text(""),$.trim($("#txtFristName").val())==""||$.trim($("#txtFristName").val()).toLowerCase()=="first name"&&$("#txtFristName").css("color")=="rgb(128, 128, 128)")return $("#followErrorMsg").text("Insert first name"),!1;if($.trim($("#txtLastName").val())==""||$.trim($("#txtLastName").val()).toLowerCase()=="last name"&&$("#txtLastName").css("color")=="rgb(128, 128, 128)")return $("#followErrorMsg").text("Insert last name"),!1;if($.trim($("#txtEmail").val())==""||$.trim($("#txtEmail").val()).toLowerCase()=="email"&&$("#txtEmail").css("color")=="rgb(128, 128, 128)")return $("#followErrorMsg").text("Insert Email"),!1;if(!ValidateEmail($.trim($("#txtEmail").val())))return $("#followErrorMsg").text("Please enter a valid email address"),!1;if($.trim($("#ddlSector").val())=="")return $("#followErrorMsg").text($("#ddlSector :first").html()),!1;if($.trim($("#txtPassword").val())==""||$("#txtPassword").attr("type")=="text"&&$.trim($("#txtPassword").val()).toLowerCase()=="create password")return $("#followErrorMsg").text("Insert Password"),!1;if($.trim($("#txtPassword").val()).length<6)return $("#followErrorMsg").text("Password cannot be less than 6 characters"),!1;var n=$.trim($("#txtEmail").val());$.ajax({url:"/NewsService/IsEmailExists",type:"GET",contentType:"application/json;",data:{email:n},success:function(n){n=="true"?$("#spLoginFormErrMsg").html("Email address already exists"):SubmitForm("frmSubmit")}})}function openSignup(){$(".subscribeModalBody").load("/NewsService/Signup");$("#subscribeModal").modal("show");$("#loginModal").modal("hide")}function openLogin(){$(".loginModalBody").load("/NewsService/Signup?Login=Y");$("#loginModal").modal("show");$("#subscribeModal").modal("hide")}function openForgotPassword(){const n=new URLSearchParams(window.location.search),t=n.get("email");$(".loginModalBody").load("/NewsService/Signup?Login=Y&ShowForgotPassword=Y&email="+t);$("#loginModal").modal("show");$("#subscribeModal").modal("hide")}function CheckAndSubmitLoginForm(){var n=$.trim($("#username").val().toLowerCase()),t=$.trim($("#password").val().toLowerCase()),i=$("#nsremember").is(":checked");if(n==""||n=="email"&&$("#username").css("color")=="rgb(128, 128, 128)"){$("#spExistingLoginFormErrMsg").html("Insert Email");return}if(t==""||$("#password").attr("type")=="text"&&t=="password"){$("#spExistingLoginFormErrMsg").html("Insert Password");return}$.get("/NewsService/CheckUserNamePassword",{email:n,password:t,nsremember:i}).done(function(n){if(n=="true"){const t=window.location.search,n=new URLSearchParams(t);if(n.get("ReturnUrl")!=null&&n.get("ReturnUrl")!="")window.location.href=n.get("ReturnUrl");else if(document.location.href.toLowerCase().indexOf("showloginpopup=y")>0){const n=document.location.href.toLowerCase().replaceAll("showloginpopup=y","");window.location.href=n}else location.reload()}else $("#spExistingLoginFormErrMsg").html("Login Failed! Please try again.")})}function SubmitSubscribeForm(n){$.trim($("#txtFristName").val()).toLowerCase()=="first name"&&$("#txtFristName").css("color")=="rgb(128, 128, 128)"&&$("#txtFristName").val("");$.trim($("#txtLastName").val()).toLowerCase()=="last name"&&$("#txtLastName").css("color")=="rgb(128, 128, 128)"&&$("#txtLastName").val("");$.trim($("#txtBusinessName").val()).toLowerCase()=="business name"&&$("#txtBusinessName").css("color")=="rgb(128, 128, 128)"&&$("#txtBusinessName").val("");var t=$("#newservicehome-portalID");TrackGoogleAnalyticsEvent(t,"Subscribe-Invitation","Details Submit","");$("form."+n).submit()}function SendPasswordForm(){var n=$("#txtForgotPasswordEmailAddress").val().toLowerCase().trim();if(n==""||n=="email"&&$("#txtForgotPasswordEmailAddress").css("color")=="rgb(128, 128, 128)"){$("#spForgotPasswordErrMsg").html("Please insert email address.");return}$("#spForgotPasswordInfoMsg").html("");$("#spForgotPasswordErrMsg").html("");$.post("/NewsService/SendPassword",{email:n},function(n){n.IsSuccess==!0?($("#spForgotPasswordInfoMsg").html(n.Message),$("#btnSendPasswordForm").hide(),$("#btnCloseSendPasswordForm").removeClass("hidden")):$("#spForgotPasswordErrMsg").html(n.Message)})}function setCookie(n,t){document.cookie=n+"="+t+";path=/"}function setCookie(n,t,i){const r=new Date;r.setTime(r.getTime()+i*1e3);let u="expires="+r.toUTCString();document.cookie=n+"="+t+";"+u+";path=/"}function setCookieByMonth(n,t,i){const r=new Date;r.setMonth(r.getMonth()+i);const u="expires="+r.toUTCString();document.cookie=n+"="+t+"; "+u}function getCookie(n){let t=n+"=",r=decodeURIComponent(document.cookie),i=r.split(";");for(let n=0;n<i.length;n++){let r=i[n];while(r.charAt(0)==" ")r=r.substring(1);if(r.indexOf(t)==0)return r.substring(t.length,r.length)}return""}function performSFSearch(n,t){$.trim(n)!=""&&(document.location.href="/Search/SFSearch?q="+$.trim(n)+"&s="+t)}function detectStroke(n,t){n.keyCode==13&&$.trim($(t).val())!=""&&$("#btnSFSearch").click()}function handleProfessionalCheckVal(n){const t=`professional-check-${n}`,i=getCookie(t);console.log("verrify professional modal");(!i||i&&i=="false")&&($("#professional-modal").modal("show"),$("body").css("overflow","hidden"),console.log("show professional modal"));$("#professional-modal-confirm-yes-button").on("click",function(){$("body").css("overflow","");setCookie(t,!0,86400)});$("#professional-modal-confirm-no-button").on("click",function(){$("#professional-modal").modal("hide");setCookie(t,!1,86400);setTimeout(()=>{$("#professional-block-modal").modal("show"),$("body").css("overflow","hidden")})})}$(document).ready(function(){for(var t=$(".ddlStyle"),n=0;n<t.length;n++)t[n].selectedIndex==0?$(t[n]).removeClass("colorBlack"):$(t[n]).addClass("colorBlack");$(".frmLogin").live("submit",function(n){return n.preventDefault(),CheckAndSubmitLoginForm("frmLogin"),!1});$("#TopHeaderLogin").click(function(){$(".loginModalBody").load("/NewsService/Signup?Login=Y");$("#loginModal").modal("show")});$("#TopHeaderSignup, .newsletter-link").live("click",function(){return $(".subscribeModalBody").load("/NewsService/Signup"),$("#subscribeModal").modal("show"),!1})});setTimeout(function(){document.location.href.toLowerCase().indexOf("showforgotpassword=y")>0?openForgotPassword():document.location.href.toLowerCase().indexOf("showloginpopup=y")>0?openLogin():document.location.href.toLowerCase().indexOf("showsignuppopup=y")>0&&openSignup()},1e3);$('[rel="tooltip"]').tooltip();$(document).ready(function(){$(".dropdown:not(.sizedDropdownCountry__container.dropdown)").hover(function(){$(".dropdown-menu",this).stop(!0,!0).slideDown("fast");$(this).toggleClass("open")},function(){$(".dropdown-menu",this).stop(!0,!0).slideUp("fast");$(this).toggleClass("open")})});;

/* Info Pricing modal form */

var InfoPricingForm = function () {
    this.init();
};

InfoPricingForm.prototype = {
    init: function () {

        $('#info-pricing-modal FORM').on('submit', function () {
            var enqButton = $(this).find('#enquiryFormSubmit');
            var isEnqClicked = $(enqButton).attr('attr-clicked');

            if (isEnqClicked !== 'true') {
                $(enqButton).attr('attr-clicked', true);
                enqButton.attr('disabled', 'disabled');

                var formParent = $(this);
                var msgBox = formParent.find("#enqFrmMsg");
                msgBox.removeClass('alert');
                msgBox.removeClass('alert-danger');
                msgBox.addClass('alert-success');
                msgBox.html('<div style="padding:0.5em">Sending your request...</div>'); // clear notifications

                // submit the form and get the result:
                $.ajax({
                    url: formParent.attr("action"),
                    type: "post",
                    data: formParent.serialize(),
                    success: function (data) {                        
                        if (data.indexOf('OK::') == 0) {
                            if (typeof isNewMarketingLandingPage !== "undefined" && isNewMarketingLandingPage === true) {
                                showMediaKitAfterPricing();
                                return true;
                            }

                            formParent.hide();

                            $('.modal-title').html('Thanks for your request');
                            $('.modal-content').addClass('sent');
                            $('.enqSent').show();

                        }
                        else {
                            enqButton.removeAttr('attr-clicked');
                            msgBox.addClass('alert');
                            msgBox.removeClass('alert-success');
                            msgBox.addClass('alert-danger');
                            msgBox.html(data);
                            enqButton.removeAttr('disabled');
                        }

                    },
                    error: function (data) {
                        enqButton.removeAttr('attr-clicked');
                        msgBox.addClass('alert');
                        msgBox.removeClass('alert-success');
                        msgBox.addClass('alert-danger');
                        msgBox.html(data);
                        enqButton.removeAttr('disabled');
                    }

                });

                return false;
            }

        });

    }
};

;
function setClarityBuyerId(n){n&&n>0&&typeof clarity=="function"&&window.clarity("identify",String(n))}function detectIE(){var n=window.navigator.userAgent,i=n.indexOf("MSIE "),u,r,t;return i>0?parseInt(n.substring(i+5,n.indexOf(".",i)),10):(u=n.indexOf("Trident/"),u>0)?(r=n.indexOf("rv:"),parseInt(n.substring(r+3,n.indexOf(".",r)),10)):(t=n.indexOf("Edge/"),t>0)?parseInt(n.substring(t+5,n.indexOf(".",t)),10):0}function verticalCarouselSafari(){navigator.userAgent.indexOf("Safari")!=-1&&navigator.userAgent.indexOf("Chrome")==-1&&($(".jcarousel-control-vertical .next").css("bottom","0px"),$(".jcarousel-control-vertical .prev").css("top","-15px"))}function EnquiryFormCountryToggle(n){var t=n.parent().parent().find(".enq-countries-obj");n.val()==="10"?t.find("#enqCountry").length?t.show():$.ajax({url:"/storefront/enquirycountries",dataType:"json",success:function(n){for(var u,r='<select id="enqCountry" name="enqCountry" class="enqFrmSelectCountries  form-control enqFrmSelect"><option value="0">-- Select --<\/option>',i=0;i<n.length;i++)u='<option value="'+n[i].Item1+'">'+n[i].Item2+"<\/option>",r+=u;r+="<\/select>";t.prepend(r);t.show()},error:function(){alert("Oops - an error occurred while contacting the server. Please refresh the page and try again.")}}):t.hide()}function EnquiryFormInit(n){$("#"+n+" .enquiryFormHolder .watermark").watermark();$("#"+n+" select#enqState").on("change",function(){EnquiryFormCountryToggle($(this))});$("#"+n+" select#enqState").each(function(){EnquiryFormCountryToggle($(this))})}function showModalByAttributes(n){var i=n.data("target"),t=n.attr("href");if(!t||t.indexOf("#enquiry")>=0){var f=n.attr("attr-sid"),e=n.attr("attr-stitle"),r="0";n.attr("attr-showlogo")=="1"&&(r="1");var o=n.attr("attr-pid"),s=n.attr("attr-did"),h=n.attr("attr-type");t="//"+location.host+"/storefront/enquiryform?Supplier="+f+"&name="+e+"&portal="+o+"&enqContentType="+h+"&enqContentItemId="+s+"&nonAjaxModal=true&showlogo="+r}var c=$(i),l=$(i+" .modal-content"),u=n.attr("attr-initfunction");$.get(t,function(n){if(l.html(n),u){var t=window[u];typeof t=="function"&&t()}});c.modal("show")}function showEntireModalByAttributes(n,t,i){var v=t,y=i,e=n.data("target"),r=n.attr("href"),c,u,f;if(!r||r.indexOf("#enquiry")>=0){var l=n.attr("attr-sid"),o=n.attr("attr-stitle"),s=n.attr("attr-pid"),h=n.attr("attr-did"),a=n.attr("attr-type");r="//"+location.host+"/storefront/enquiryform?Supplier="+l+"&name="+o+"&portal="+s+"&enqContentType="+a+"&enqContentItemId="+h+"&ismodal=true";TrackGoogleAnalyticsEvent(s,"Category-Page","Open Form",o+" - "+h)}c=$(e);u=$(e+" .modal-content");u.html("");f=n.attr("attr-initfunction");$.get(r,function(n){if(u.html(n),$("#enquiry-modal .category-product-img").html(t),$("#enquiry-modal .category-product-details").html(i),$("#enquiry-modal .enquiry-logo").hide(),f){var r=window[f];typeof r=="function"&&r()}$("#enqState").change(function(){$(this).val()!=10&&$("#enqCountry").val(0)})});c.modal("show")}function openrelatedproductsenquiry(n,t){var r,i;if(n.length>0&&t.length>0){for(r='<div class="row postsubmit-products"><div class="enquiryFormHolder"><div class="postsubmit-content"><div class="postsubmit-subtitle">See what other people are interested in and enquire in one easy step:<\/div><ul class="list-unstyled">',i=0;i<t.length;i++)r+=applyTemplates(i,t[i],$("#relProductsEnquiry").html());r+="<\/ul><\/div><\/div><\/div><\/div>";n.find(".postsubmit-products").length&&n.find(".postsubmit-products").remove();n.find(".enqMsgLabel").html("Review message:");$(n).find(".modal-left").hide();$(n).find(".enquiry-form-fields").hide().prepend(r).fadeIn();$(n).find(".modal-right").addClass("col-sm-12");$(n).find(".modal-title").html("Enquiry Sent! Contact Related Suppliers!")}}function linkedinShare(n,t,i,r){return window.open("http://www.linkedin.com/shareArticle?mini=true&url="+encodeURIComponent(n)+"&title="+encodeURIComponent(t)+"&summary="+encodeURIComponent(r),"sharer","toolbar=0,status=0,width=626,height=436"),!1}function twitterShare(n,t){return t=t.length>117?t.substring(0,114)+"...":t,window.open("https://twitter.com/share?url="+encodeURIComponent(n)+"&text="+encodeURIComponent(t),"sharer","toolbar=0,status=0,width=626,height=436"),!1}function facebookShare(n,t,i,r,u){return window.open("https://www.facebook.com/dialog/feed?link="+encodeURIComponent(n)+"&picture="+encodeURIComponent(i)+"&name="+encodeURIComponent(t)+"&description="+encodeURIComponent(r)+"&app_id="+u+"&locale=en_US&sdk=joey&display=popup&redirect_uri="+encodeURIComponent("http://"+window.location.host+"/Website/Close/"),"sharer","toolbar=0,status=0,width=626,height=300"),!1}function opensocialnetworkspopup(){if($("#modal_sharebuttons").length==0)return!1;var n="/IndustracomControls/ShareLinkModal/";try{n=URL_ACTION_SocialButtons}catch(t){n="/IndustracomControls/ShareLinkModal/"}return $("#modal_sharebuttons div.modal-body").load(n),$("#modal_sharebuttons").modal("show"),!1}function emailShare(){return $("#emailshare-modal div.modal-body").load("/IndustracomControls/_EmailShare",function(){var t=location.href,n=document.title;$("#emailshare-modal").find(".shareMailTitle span").html(n);$("#emailshare-modal").find("#shareMailTitle").val(n);$("#emailshare-modal").find(".shareMailText span").html($($(".item-info .first-paragraph h4")[0]).text());$("#emailshare-modal").find("#shareMailText").val($($(".item-info .first-paragraph h4")[0]).text());$("#emailshare-modal").find("#shareMailLink").val(t);$("#emailshare-modal .watermark").watermark()}),$("#emailshare-modal").modal("show"),!1}function printShare(){return $(".printArea").print(),!1}function changeArticlesHorizontalCarousel(n){articlesHorizontalCarouselVisible=n;$(".articles-control .next, .articles-control .prev").unbind("click");$(".articles-control .jcarousel").jCarouselLite({visible:n,btnNext:".articles-control .next",btnPrev:".articles-control .prev",vertical:!1,start:1,init:function(n,t){if(t.length>n.visible)$(".articles-control .next, .articles-control .prev").not(".initArrow").show(),$(".articles-control").css("padding","0 20px");else return $(".articles-control .next, .articles-control .prev").not(".initArrow").hide(),$(".articles-control .next, .articles-control .prev").hasClass("initArrow")||$(".articles-control").css("padding","0"),!1}})}function articlesHorizontalCarouselLogic(n){var t=0,i=$(".articles-control").attr("max");t=$(window).width()>767?i:$(window).width()>585?i-1:$(window).width()>450?i-2:i-3;(t!==0&&articlesHorizontalCarouselVisible!==t||n)&&changeArticlesHorizontalCarousel(t)}function changeVideosCarousel(n){videosCarouselVisible=n;$(".videos-carousel-control .next, .videos-carousel-control .prev").unbind("click");var t=$(".videos-carousel-control .jcarousel").jCarouselLite({visible:n,btnNext:".videos-carousel-control .next",btnPrev:".videos-carousel-control .prev",start:2,init:function(t,i){var r=$(".videos-carousel-control .jcarousel-control-horizontal").width(),f=$(i[0]).width(),u=(r-f*n)/(n-1),e=r+u;if($(".videos-carousel-control .jcarousel").width(e),i.each(function(){$(this).css("margin-right",u+"px")}),i.length>t.visible)$(".videos-carousel-control .next, .videos-carousel-control .prev").not(".initArrow").show();else return $(".videos-carousel-control .next, .videos-carousel-control .prev").not(".initArrow").hide(),$(".videos-carousel-control .next, .videos-carousel-control .prev").hasClass("initArrow")||$(".videos-carousel-control").css("padding","0"),!1}})}function videosCarouselLogic(n,t){var i=0,f;t=t==undefined?"":t;var u=$(".videos-carousel-control"+t+" .jcarousel-control-horizontal").attr("max"),e=$(".videos-carousel-control"+t+" .jcarousel-control-horizontal").attr("speed"),r=$(".videos-carousel-control"+t+" li").outerWidth(!0);r=r<115?115:r;i=$(".videos-carousel-control"+t+" .jcarousel-control-horizontal").width()/r;i=i<1?1:parseInt(i);i=i>u?u:i;f=videosCarouselVisible;(i!==0&&videosCarouselVisible!==i||n)&&changeVideosCarousel(i)}function changeProductCarousel(n,t,i){var u,r;t=t==undefined?"":t;u="swing";r=!1;i!=undefined?(i=i,r=!0,u="bounceout"):i=200;$(".products-carousel-control"+t+" .next, .products-carousel-control"+t+" .prev").unbind("click");t==""?productsCarouselVisible=n:productsCarouselVisibleSfx=n;var f=$(".products-carousel-control"+t+" .jcarousel").parent(),e=parseInt(f.attr("max")),o=parseInt(f.attr("displaying"));if(o<e){$(".products-carousel-control"+t+" .slider-nav").hide();return}$(".products-carousel-control"+t+" .jcarousel").jCarouselLite({visible:n,btnNext:".products-carousel-control"+t+" .next",btnPrev:".products-carousel-control"+t+" .prev",auto:r,speed:i,start:1,init:function(i,r){var u=$(".products-carousel-control"+t+" .jcarousel-control-horizontal").width(),e=$(r[0]).width(),f=(u-e*n)/(n-1),o=u+f;if($(".products-carousel-control"+t+" .jcarousel").width(o),r.each(function(){$(this).css("margin-right",f+"px")}),r.length>i.visible)$(".products-carousel-control"+t+" .next, .products-carousel-control"+t+" .prev").not(".initArrow").show();else return $(".products-carousel-control"+t+" .next, .products-carousel-control"+t+" .prev").not(".initArrow").hide(),!1}})}function productCarouselLogic(n,t){var i=0,f;if(t=t==undefined?"":t,$(".products-carousel-control"+t).length!=0){var u=$(".products-carousel-control"+t).attr("max")!=undefined?$(".products-carousel-control"+t).attr("max"):$(".products-carousel-control"+t+" li").length,e=$(".products-carousel-control"+t).attr("speed"),r=$(".products-carousel-control"+t+" li").outerWidth(!0);r=r>145?145:r<100?100:r;i=$(".products-carousel-control"+t+" .jcarousel-control-horizontal").width()/r;i=i<1?1:parseInt(i);i=i>u?u:i;f=t!=""?productsCarouselVisibleSfx:productsCarouselVisible;(i!==0&&f!==i||n)&&changeProductCarousel(i,t,e)}}function changeProcessArticlesCarousel(n,t){if((t=t==undefined?"":t,$(".articles-carousel-control"+t).length!=0)&&($(".articles-carousel-control"+t+" .next, .articles-carousel-control"+t+" .prev").unbind("click"),articlesCarouselVisible=n,$(".articles-carousel-control"+t+" .jcarousel").length)){var i=$(".articles-carousel-control"+t+" .jcarousel").parent(),r=parseInt(i.attr("max")),u=parseInt(i.attr("displaying"));if(u<=r){$(".articles-carousel-control"+t+" .slider-nav").hide();return}$(".articles-carousel-control"+t+" .jcarousel").jCarouselLite({visible:n,scroll:parseInt(n,10),btnNext:".articles-carousel-control"+t+" .next",btnPrev:".articles-carousel-control"+t+" .prev",vertical:$(".articles-carousel-control"+t).hasClass("jcarousel-control-vertical"),start:2,init:function(i,r){var u=$(".articles-carousel-control"+t+" .jcarousel-control-horizontal").width(),o=$(r[0]).width(),f=(u-o*n)/(n-1),s=u+f,e;if($(".articles-carousel-control"+t+" .jcarousel").width(s),r.each(function(){$(this).css("margin-right",f+"px")}),r.length>i.visible)$(".articles-carousel-control"+t+" .next, .articles-carousel-control"+t+" .prev").not(".initArrow").show(),$(".articles-carousel-control"+t).hasClass("jcarousel-control-vertical")&&($(".articles-carousel-control"+t).css("margin","20px 0"),verticalCarouselSafari());else return $(".articles-carousel-control"+t+" .next, .articles-carousel-control"+t+" .prev").not(".initArrow").hide(),!1;$(".articles-carousel-control"+t).hasClass("jcarousel-control-vertical")&&(e=$(".articles-carousel-control"+t).width()/2-15,$(".articles-carousel-control"+t+" .next, .articles-carousel-control"+t+" .prev").css("left",e+"px"))}})}}function changeArticlesCarousel(n,t){var i,f,r,u;(t=t==undefined?"":t,$(".articles-carousel-control"+t).length!=0)&&(i=0,$(".articles-carousel-control"+t).hasClass("jcarousel-control-vertical")?i=n:(f=$(".articles-carousel-control"+t).attr("speed"),r=$(".articles-carousel-control"+t+" li").outerWidth(!0),r=r>200?200:r<100?100:r,i=$(".articles-carousel-control"+t).width()/r,i=i<1?1:parseInt(i),i=i>n?n:i,u=articlesCarouselVisible),i!==0&&u!==i&&changeProcessArticlesCarousel(i,t))}function changeVrticalProductsCarousel(){return}function changeArticlesWidget(n){$(".articles-widget-control .next, .articles-widget-control .prev").unbind("click");var t=$(".articles-widget-control .jcarousel").jCarouselLite({visible:n,btnNext:".articles-widget-control .next",btnPrev:".articles-widget-control .prev",vertical:!0,start:2,init:function(n,t){if(t.length>n.visible)$(".articles-widget-control .next, .articles-widget-control .prev").show();else return $(".articles-widget-control .next, .articles-widget-control .prev").hide(),$(".articles-widget-control").css("padding","0"),!1}})}function changeEventsCarousel(){$(".events-carousel-control .next, .events-carousel-control .prev").unbind("click");$(".events-carousel-control .jcarousel").jCarouselLite({visible:3,btnNext:".events-carousel-control .next",btnPrev:".events-carousel-control .prev",vertical:!0,init:function(n,t){if(t.length>n.visible)$(".events-carousel-control .next, .events-carousel-control .prev").not(".initArrow").show();else return $(".events-carousel-control .next, .events-carousel-control .prev").not(".initArrow").hide(),$(".events-carousel-control .next, .events-carousel-control .prev").hasClass("initArrow")||$(".events-carousel-control").css("padding","0"),!1}})}function eventsCarouselLogic(){changeEventsCarousel()}function changeRelDirsCarousel(){}function changeUseditemsCarousel(){}function useditemsCarouselLogic(){changeUseditemsCarousel()}function changeSuppliersCarousel(n,t){t=t==undefined?"":t;suppliersCarouselVisible=n;$(".storefront-carousel-control"+t+" .next, .storefront-carousel-control"+t+" .prev").unbind("click");var i=$(".storefront-carousel-control"+t+" .jcarousel").jCarouselLite({visible:n,start:n,scroll:parseInt(n,10),circular:!0,auto:!0,pause:!1,speed:3e3,timeout:11e3,btnNext:".storefront-carousel-control"+t+" .next",btnPrev:".storefront-carousel-control"+t+" .prev",afterEnd:function(n){performLogoImpressionCheck(n)},init:function(i,r){var u=$(".storefront-carousel-control"+t+" .jcarousel-control-horizontal").width(),e=$(r[0]).width(),f=(u-e*n)/(n-1),o=u+f;if($(".storefront-carousel-control"+t+" .jcarousel").width(o),r.each(function(){var n=f/2;$(this).css("margin-left",n+"px");$(this).css("margin-right",n+"px")}),r.length>i.visible)$(".storefront-carousel-control"+t+" .next, .storefront-carousel-control"+t+" .prev").not(".initArrow").show(),performLogoImpressionCheck(r,i.visible,2);else return $(".storefront-carousel-control"+t+" .next, .storefront-carousel-control"+t+" .prev").not(".initArrow").hide(),$(".storefront-carousel-control"+t+" .next, .storefront-carousel-control"+t+" .prev").hasClass("initArrow")||$(".storefront-carousel-control"+t).css("padding","0"),performLogoImpressionCheck(r,i.visible,1),!1}})}function suppliersCarouselLogic(n,t){var i,u,r;(t=t==undefined?"":t,i=0,u=$(".storefront-carousel-control"+t).attr("max"),$(".storefront-carousel-control"+t).length!=0)&&(r=$(".storefront-carousel-control"+t+" li").outerWidth(!0),r=r>120?120:r<100?100:r,i=$(".storefront-carousel-control"+t+" .jcarousel-control-horizontal").width()/r,i=i<1?1:parseInt(i),i=i>u?u:i,(i!==0&&suppliersCarouselVisible!==i||n)&&changeSuppliersCarousel(i,t))}function changeImagesGalleryHorizontalCarousel(n,t,i){var e,f;$(n+" .small-images-control .next, "+n+" .small-images-control .prev").unbind("click");e=$(".product-content").height();f=$(".product-content").width();$(".product-content").hasClass("content-area")&&(f=f/2);var r=0,u=0,o=$(n+" .small-images-control .orig-img"),s=o.length;s--;$(o).each(function(){var t,i,s,o,h;(this.naturalHeight==0||this.naturalWidth==0)&&$(this).load();t=this.naturalHeight+32;i=this.naturalWidth+32;(this.naturalHeight==0||this.naturalWidth==0)&&(t=this.height+32,i=this.width+32);i>=t?i<f?(u=i,r=r<t?t:r):(u=f,o=i/f,s=t/o+32,r=r<s?s:r):t<e?(r=t,u=u<i?i:u):(r=e,o=t/e,h=i/o+32,u=u<h?h:u);n==".gallery-inline"&&(r=r>350?380:r);r>$(n+" .large-image-item").height()&&$(n+" .large-image-item").css("height",r+"px")});$(n+" .large-image-item").fadeIn();eventGallerySmallImgClick(n);$(n+" .small-images-control .jcarousel").jCarouselLite({visible:i,btnNext:n+" .small-images-control .next,"+n+" .large-image-item .next",btnPrev:n+" .small-images-control .prev,"+n+" .large-image-item .prev",start:1,init:function(t,i){if($(n+" .large-image-item img").attr("src")==""&&$(n+" .small-images-control a").first().click(),i.length>t.visible)$(n+" .small-images-control .next, "+n+" .small-images-control .prev,"+n+" .large-image-item .prev,"+n+" .large-image-item .next").show();else return $(n+" .small-images-control .next, "+n+" .small-images-control .prev,"+n+" .large-image-item .prev,"+n+" .large-image-item .next").hide(),!1}})}function UpdateStats(n,t,i){$.post("/stats/impression/",{SupplierID:n,RecordID:t,iPageId:i})}function UpdateStatsMultiple(n){$.post("/stats/impressionmultiple/",{listData:n})}function UpdateStatsW(n,t,i,r){setTimeout(function(){UpdateStats(n,t,i)},r)}function TrackGoogleAnalyticsEvent(n,t,i,r,u){u=u||"event";dataLayer.push({event:u,eventCategory:t,eventAction:i,eventLabel:r,eventValue:undefined})}function TrackGAEvent(n,t,i,r){r=r||"event";ga("send",r,n,t,i)}function CountVisitWebsite(n){var u=n.attr("attr-supplierid"),t=n.attr("attr-portal"),i=n.attr("attr-suppliername")+" - "+n.attr("attr-contentid"),r=n.attr("attr-gacategory");TrackGoogleAnalyticsEvent(t,r,"Visit Website",i)}function CountContactDetails(n){var t=$(n),i=t.attr("attr-supplierid"),r=t.attr("attr-statscode");UpdateStats(i,i,r);var u=t.attr("attr-portal"),f=t.attr("attr-suppliername")+" - "+t.attr("attr-contentid"),e=t.attr("attr-gacategory");TrackGoogleAnalyticsEvent(u,e,"Call",f)}function eventGallerySmallImgClick(n){$(n+" .large-image-item .prev,"+n+" .large-image-item .next").live("click",function(){$(n+" .small-image-item.active a").click()});$(n+" .small-image-item a").live("click",function(t){t.preventDefault();var i=this;return $(n+" .large-image-item a").attr("attr-img")!=$(i).attr("attr-img")&&$(n+" .large-image-item img").fadeOut(function(){$(n+" .large-image-item img").attr("src",$(n+" .large-image-item a").attr("attr-img-domain")+$(i).attr("attr-img")).load(function(){if($(n+" .large-image-item img").attr("alt",$(i).attr("attr-title")),$(i).attr("attr-title")!=""?($(n+" .large-image-item .item-caption .text").text($(i).attr("attr-title")).show(),$(n+" .large-image-item .item-caption").removeClass("hidden"),$(n+" .large-image-item .item-caption").show()):$(n+" .large-image-item .item-caption").hide(),$(n+" .large-image-item a").attr("title",$(i).attr("attr-title")),$(n+" .large-image-item a").attr("attr-img",$(i).attr("attr-img")),$(this).css("left","0"),$(this).height()>$(this).width()){var t=($(this).parent().width()-$(this).width())/2;$(this).css("left",t+"px")}$(n+" .large-image-item img").fadeIn()})}),!1})}function showPopup(n,t){t==null&&(t=0);$(n).css("left","0px");$(".overlay").show();$(n).show();$(n).animate({left:"50px"},1e3)}function closePopup(n,t){t==null&&(t=0);$(n).hide(t);$(".overlay").hide(t)}function updateSearchPlaceHolder(){$(window).width()>520}function validateEmail(n){var t=n.indexOf("@"),i=n.lastIndexOf(".");return t<1||i<t+2||i+2>=n.length?!1:!0}function _article_haveYourSay_result(n){if($(".panel-haveyoursayform").hideLoading(),n.indexOf("OK::")==0){var t=n.substring(4);$("#dHURSySbmtRslt").html(t);$(".commentRefreshCapcha a").click();$("#Comment").val("");$("#Verification").val("");opensocialnetworkspopup()}else $("#submitComment").removeAttr("disabled"),$("#dHURSySbmtRslt").html(n)}function GetSearchResults(n,t,i){if(t!=""&&!i)return!1;t==="c"&&i&&GetSearchResultItem("search-categories",n,"c",i);!t||t==="p"&&i;(!t||t==="s"&&i)&&GetSearchResultItem("search-suppliers",n,"s",i);(!t||t==="f"&&i)&&GetSearchResultItem("search-features",n,"f",i);!t||t==="n"&&i}function GetSearchResultItem(n,t,i,r){var u="/search?q="+encodeURIComponent(t)+"&m=0&isViewAll="+(r?"true":"false")+"&type=";r&&$("."+n+" .panel-body").showLoading();$.ajax({url:u+i,success:function(t){r?$(".search ."+n).html(t):($(".search ."+n).hide().html(t),$(".search ."+n).fadeIn())},complete:function(){r&&$("."+n+" .panel-body").hideLoading()}})}function stripHTML(n){var t=document.createElement("div");return t.innerHTML=n,t.textContent||t.innerText}function performLogoImpressionCheck(n,t,i){var o=n.length,u,e,f,r;for(t!=null&&i!=null&&(o=n.length<=parseInt(t)*i?n.length:parseInt(t)*i),u=0;u<o;u++)for(e=$(n[u]).children().children(),f=0;f<e.length;f++)r=$(e[f]).attr("attr-fsf"),LogoImpressionArray.indexOf(r)<0&&(UpdateStats(r,r,10),LogoImpressionArray.push(r))}function applyTemplates(n,t,i){return $.each(t,function(n,t){t!=null&&(i=replaceAll(i,"{"+n+"}",t))}),i=replaceAll(i,"{node}",n)}function replaceAll(n,t,i){try{return n.replace(new RegExp(t,"g"),i)}catch(r){return n}}function ShowNotification(n,t){var i=n;$.notify({message:t},{type:i,z_index:9999,placement:{from:"top",align:"center"},allow_dismiss:!1,delay:2e3,timer:1e3,spacing:10,offset:10,animate:{enter:"animated bounceIn",exit:"animated bounceOut"},template:'<div data-notify="container" class="col-xs-11 col-sm-3 alert alert-{0} bs-enq-notification" role="alert"><span data-notify="title">{1}<\/span><span data-notify="message">{2}<\/span><\/div>'})}function isValidEmail(n){return/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(n)}function isValidEmailAddress(n){return/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(n)}function isValidPhoneNumber(n){return n.length<5||/[a-zA-Z@#$%*!~^.<>?=&]/.test(n)?!1:!0}function validateAndReformatPhoneNumber(n){var t=!1,i;return n=n.trim(),n.startsWith("+")&&(n.startsWith("+61")||(t=!0)),t?n:(n=n.replace(/[^\d]/g,""),n.length==11?n=n.replace(/^61/g,"0"):n.length==12&&(n=n.replace(/^610/g,"0")),n.length==9&&n.startsWith("4")&&(n=`0${n}`),n.length==10)?n.startsWith("04")||n.startsWith("13")||n.startsWith("18")?`${n.substring(0,4)} ${n.substring(4,7)} ${n.substring(7)}`:(i=parseInt(n.substring(0,2),10),i<10?`${n.substring(0,2)} ${n.substring(2,6)} ${n.substring(6)}`:"invalid"):n.length==6&&n.startsWith("13")?`${n.substring(0,2)} ${n.substring(2,4)} ${n.substring(4)}`:"invalid"}function GetClientIP(){var n={};return $.getJSON("https://ipapi.co/json",function(t){n.IP=t.ip;n.countryCode=t.country;n.country=t.country_name;n.regionCode=t.region_code;n.regionName=t.region}),n}function TrackGoogleAnalyticEvent(n,t,i,r){n=n||"event";dataLayer.push({event:n,eventCategory:t,eventAction:i,eventLabel:r,eventValue:undefined})}function pushEnhancedConversionData(){window.dataLayer=window.dataLayer||[];window.dataLayer.push({event:"gtm_getquote_event",user_data:{email:$("#rfq_email").val(),phone_number:$("#rfq_phone").val(),address:{first_name:$("#rfq_name").val()}}})}function searchOnEnter(n,t){for(var r=document.getElementById("ui-id-2").getElementsByTagName("div"),i=0;i<r.length;i++)if(r[i].style&&r[i].style.backgroundColor=="rgb(85, 85, 85)")return!1;n.keyCode==13&&$.trim($(t).val())!=""&&$(".navSearchButton").click()}function GetQuestionValues(){let n=[];const t=[];return $('input[name^="answer-"]:checked').each(function(){let i=$(this).val();const u=$(this).attr("name"),r=$(this).attr("data-id");if(t.includes(r))return!0;if($(this).hasClass("org-checkbox")){const e=$(this).attr("data-question"),n=$(`[name='${u}']:checked`).map(function(){return $(this).attr("data-answer")}).get();var f=n.filter((t,i)=>n.indexOf(t)===i).join(", ");i=`${r}|${e}|${f}`;t.push(r)}if(i.indexOf("Other")>0){const n=$(`input[name='${u}-other-input']`).val();n&&(i=i.replace("Other",`Other:${n}`))}n.push(i)}),n}function GetQuoteForm2024(n=0,t="c"){this.quote=window.quote;this.numOfCustomQuestion=n;this.currentScreenNumber=1;this.speedIn=0;this.speedOut=0;this.totalStep=n+7+1;this.allowOtherBrands=!1;this.processing=!1;this.GQBPBonusScenario=!1;var i=this;$(function(){function l(n){const t=n.getDate(),i=t%10==1&&t!==11?"st":t%10==2&&t!==12?"nd":t%10==3&&t!==13?"rd":"th",r=["January","February","March","April","May","June","July","August","September","October","November","December"][n.getMonth()],u=n.getFullYear();return`${t}${i} ${r} ${u}`}function r(n=false){n&&(i.currentScreenNumber=i.totalStep);const t=i.currentScreenNumber/i.totalStep*100;$("#progressbar").css("width",t+"%")}function s(){var r,u,t,n;if($(".rfq-message-wrapper").next("span.error-msg-textarea").remove(),$("#rfq_name").next("span.error-msg").remove(),$("#rfq_email").next("span.error-msg").remove(),$("#rfq_company").next("span.error-msg").remove(),$("#rfq_phone").next("span.error-msg").remove(),$("#rfq_postcode").next("span.error-msg").remove(),$("#contactmethod-msg").next("span.error-msg").remove(),$("#rfq_delivery").next("span.error-msg").remove(),$(".more-options .usages.wrapper span.label").next("span.error-msg-option").remove(),$(`.get-quote__screen${i.currentScreenNumber}`).find("#rfq_description").length>0&&$("#rfq_description").val().trim().length<20)return $(".rfq-message-wrapper").next("span.error-msg-textarea").remove(),$(".rfq-message-wrapper").after("<span class='error-msg-textarea description'>Please enter at least 20 characters<\/span>"),!1;if($(`.get-quote__screen${i.currentScreenNumber}`).find("#rfq_delivery").length>0){let n=$(`.get-quote__screen${i.currentScreenNumber}`).find("#rfq_delivery").val();if(n=="Choose")return $("#rfq_delivery").next("span.error-msg").length>0&&$("#rfq_delivery").next("span.error-msg").remove(),$("#rfq_delivery").after("<span class='error-msg'>Delivery location is required<\/span>"),!1}if($(`.get-quote__screen${i.currentScreenNumber}`).find("#rfq_postcode").length>0){let n=document.getElementById("rfq_delivery").value;if(["NSW","VIC","QLD","SA","WA","NT","ACT","TAS"].includes(n)&&$("#rfq_postcode").val().length<=0)return $("#rfq_postcode").next("span.error-msg").length>0&&$("#rfq_postcode").next("span.error-msg").remove(),$("#rfq_postcode").after("<span class='error-msg'>Postcode is needed to calculate your freight<\/span>"),!1}if($(`.get-quote__screen${i.currentScreenNumber}`).find("#rfq_name").length>0){if($("#rfq_name").val().length<=0)return $("#rfq_name").next("span.error-msg").length>0&&$("#rfq_name").next("span.error-msg").remove(),$("#rfq_name").after("<span class='error-msg'>Your name is required<\/span>"),!1;if($("#rfq_email").val().length<=0)return $("#rfq_email").next("span.error-msg").length>0&&$("#rfq_email").next("span.error-msg").remove(),$("#rfq_email").after("<span class='error-msg'>Email address is required<\/span>"),!1;if(!isValidEmailAddress($("#rfq_email").val().trim()))return $("#rfq_email").next("span.error-msg").length>0&&$("#rfq_email").next("span.error-msg").remove(),$("#rfq_email").after("<span class='error-msg'>Invalid email address<\/span>"),!1;if(r=$("#rfq_delivery").val(),u=["NSW","VIC","QLD","SA","WA","NT","ACT","TAS"],u.includes(r)){if(t=validateAndReformatPhoneNumber($("#rfq_phone").val().trim()),t=="invalid")return n={},n.description=$("#rfq_description").val(),n.name=$("#rfq_name").val(),n.email=$("#rfq_email").val(),n.phone=$("#rfq_phone").val(),n.company=$("#rfq_company").val(),n.state=$("#rfq_delivery").val(),n.postcode=$("#rfq_postcode").val(),n.portalId=quote.portalId,n.categoryId=quote.categoryId,n.categoryName=quote.categoryName,n.productId=quote.productId,n.productName=quote.productName,$("#rfq_phone").addClass("error"),$("#rfq_phone").after("<span class='error-msg'>Invalid phone number or area code<\/span>"),!1;$("#rfq_phone").val(t)}if(!y())return $("#rfq_company").next("span.error-msg").length>0&&$("#rfq_company").next("span.error-msg").remove(),$("#rfq_company").after("<span class='error-msg'>Invalid Company Name<\/span>"),!1}return!0}function a(){var i,s,l,n,u;$(".get-quote__left").css("background-color","#f9f9f9");$(".get-quote__right").css("background-color","#fff");$(".rfq-close").css("background-color","#fff");quote.timeframe=$("input[name='timeframe']:checked").val();quote.timeframe=="On a specific date"&&(quote.timeframe=$("#datepicker").val());i=$("#getquote_category_id").val();s=$("#getquote_category_name").val();i&&i!=="0"||(i=$("#rfq_catid").val()||quote.categoryId);s||(s=$("#rfq_catname").val()||quote.categoryName);quote.categoryId=i;quote.categoryName=s;quote.purchasereason=$("input[name='purchasereason']:checked").val();quote.quantity=$("#rfq_quantity").val();quote.state=f==""?$("#rfq_delivery").val():f;quote.postcode=e==""?$("#rfq_postcode").val():e;quote.name=$("#rfq_name").val();quote.email=$("#rfq_email").val();quote.phone=$("#rfq_phone").val();quote.company=$("#rfq_company").val();quote.rfqRyzen=$("#rfqRyzen").val();quote.description=$("#rfq_description").val();const h=$("input[name='preferredcondition']:checked");h&&(quote.preferredCondition=h.val());quote.financeoption=$("input[name='financeoption']:checked").val();(quote.financeoption==null||quote.financeoption=="undefined")&&(quote.financeoption="");quote.loanAmount=$("#loanamount").val();const c=$("input[name='rfq_brandpref']:checked").val(),a=$('div[id^="rfq_tab_customquestions"]').length>0;(c&&c=="false"||!a)&&(quote.rfqUseOptions="",$("input[name='rfq_usage']:checked").length>0&&(quote.rfqUseOptions=$("input[name='rfq_usage']:checked").val()));t=="p"&&(l=$("#chkThreeQuotes").length&&$("#chkThreeQuotes").is(":checked"),quote.rfqOtherBrands=l?"true":"false");(t=="s"||t=="a")&&(quote.isMultiQuotes=quote.categoryId==0?!1:$("#chkThreeQuotes").is(":checked")?!0:!1);quote.isMultiQuotes=$("#chkThreeQuotes")&&$("#chkThreeQuotes").is(":checked")?!0:!1;quote.questions=GetQuestionValues();!quote.suppliers&&$("#hdnSupplierId")&&(quote.suppliers=$("#hdnSupplierId").val());quote.bpsuppliers||(quote.bpsuppliers=$("#hdnBPSupIdTeasingList").val());!quote.portalId&&$("#hdnPortalId")&&(quote.portalId=$("#hdnPortalId").val());n=$("#btnNext");u=$(n).html();$(n).html("<i style='font-family: \"Font Awesome 5 Free\"' class='fas fa-spinner fa-spin rfq-spinner'><\/i> Sending...");$(n).css({opacity:.5});$(n).attr("disabled","disabled");console.clear();$.post("/request/SubmitRFQ",quote).done(function(t){pushEnhancedConversionData();TrackGoogleAnalyticEvent("gtm_getquote_event","","","");window.VWO=window.VWO||[];VWO.event=VWO.event||function(){VWO.push(["event"].concat([].slice.call(arguments)))};VWO.event("categoryGetQuote",{categoryId:quote.categoryId,categoryName:quote.categoryName});quote.rfqOrigin=="Product"?TrackGoogleAnalyticEvent("GetQuoteEvent","Submit Get Quotes","Product Submit Get Quotes",""):quote.rfqOrigin=="Category"?TrackGoogleAnalyticEvent("GetQuoteEvent","Submit Get Quotes","Category Submit Get Quotes",""):quote.rfqOrigin=="Home"?TrackGoogleAnalyticEvent("GetQuoteEvent","Submit Get Quotes","Home Submit Get Quotes",""):quote.rfqOrigin=="Supplier"&&TrackGoogleAnalyticEvent("GetQuoteEvent","Submit Get Quotes","Supplier Submit Get Quotes","");savedData=t.data;t.status==1?t.allowNextStep?(savedData.rfq_group_description=savedData.Description,savedData.is_product_gq_continue=!0,$.post("/request/ResumeGetQuote",savedData,function(t){t.status==1?(o(),r(!0),$(n).html(u),$(n).css({opacity:""}),$(n).prop("disabled",!1)):console.error("Error on going back for GQP3+")})):(o(),r(!0),$(n).html(u),$(n).css({opacity:""}),$(n).prop("disabled",!1)):t.status==2?(o(),r(!0),$(n).html(u),$(n).css({opacity:""}),$(n).prop("disabled",!1)):t.status==3?window.setTimeout(function(){o();r(!0);$(n).html(u);$(n).css({opacity:""});$(n).prop("disabled",!1)},2e3):console.error("Failed");window.rfqFormData=t.data}).fail(function(){})}function o(){let n=quote.name.split(" ")[0];if($(".get-quote__nicework").text(`Nice work ${n}!`),t!="p"&&t!="s"&&t!="a"||quote.isMultiQuotes)$("li.get-quote__rightscreen__normaltext").eq(0).text("We’re matching you with the right suppliers"),$("li.get-quote__rightscreen__normaltext").eq(1).text("Suppliers may get in touch to find out more about your request"),$("li.get-quote__rightscreen__normaltext").eq(2).text("You’ll get quotes to compare so you can make the best choice!");else{let n=$("#supplier_name").val();$("li.get-quote__rightscreen__normaltext").eq(0).text(`We are connecting you with ${n}`);$("li.get-quote__rightscreen__normaltext").eq(1).text(`${n} may get in touch to find out more`);$("li.get-quote__rightscreen__normaltext").eq(2).text("Review the quote and make your purchase")}$(`.get-quote__screen${i.currentScreenNumber}`).hide(i.speedOut);i.currentScreenNumber++;$(`.get-quote__screen${i.currentScreenNumber}`).fadeIn(300);$(".get-quote__rightscreen").hide();$(".get-quote__rightscreencomplete").fadeIn(300);$("#btnNext").hide();$("#btnBack").hide();$(".get-quote__left").css("background-color","#fff !important");$(".get-quote__right").css("background-color","#f9f9f9");$(".rfq-close").css("background-color","#f9f9f9");window.screen.width<=500&&($(".get-quote__right--mobile").hide(),$(".get-quote__rightscreencomplete").hide(),$(".get-quote__left").hide(),$(".get-quote__leftcomplete--mobile").show(),$(".rfq-close").css("background-color","#fff"))}function h(){var o,n;if($(`.get-quote__screen${i.currentScreenNumber} #rfq_postcode`).length>0&&(f=$("#rfq_delivery").val(),e=$("#rfq_postcode").val()),t=="s"&&$(`.get-quote__screen${i.currentScreenNumber}`).attr("firstscreen")==="1"&&(o=$("#getquote_category_id").val(),o==0?u="0":$.post("/request/CheckFinanceOptionAllowance",{categoryId:o}).done(function(n){u=n=="1"?"1":"0"}).fail(function(n){console.log("Error:",n)})),$(`.get-quote__screen${i.currentScreenNumber}`).attr("submit")==="1")a();else{$(`.get-quote__screen${i.currentScreenNumber}`).hide(i.speedOut);i.currentScreenNumber++;n=$(`.get-quote__screen${i.currentScreenNumber}`).attr("id");u=="0"&&n=="financeScreen"&&i.currentScreenNumber++;const e=$("#getquote_category_allow_three_quotes").val();if(n=="preferredconditionQuestion"){const n=$("#getquote_category_id").val(),t=$("#getquote_category_name").val();if($("#preferredconditionQuestion .jsCategoryName").html(t),!n||!t||n==0||e=="false"){const n=i.currentScreenNumber+1;i.currentScreenNumber=n;$("input[name='preferredcondition']")&&$("input[name='preferredcondition']").prop("checked",!1)}}n=="contactdetails"&&(e=="true"?$("#contactdetails #comparequotes").show():$("#contactdetails #comparequotes").hide());const r=$("input[name='rfq_brandpref']:checked").val();if(n&&n.startsWith("rfq_tab_customquestions-")&&r&&r=="false"){const n=$(`.get-quote__screen${i.currentScreenNumber}`).attr("data-numbercustomquestions");n&&(i.currentScreenNumber+=parseInt(n))}if(n=$(`.get-quote__screen${i.currentScreenNumber}`).attr("id"),n=="wherewillitbeusedscreen"&&r&&r=="true"){const n=$('div[id^="rfq_tab_customquestions"]').length>0;n&&i.currentScreenNumber++}$(`.get-quote__screen${i.currentScreenNumber}`).show(i.speedIn);$("#btnBack").show();$(`.get-quote__screen${i.currentScreenNumber-1}`).removeAttr("next");$(`.get-quote__screen${i.currentScreenNumber}`).attr("next")==="0"?$("#btnNext").hide():$("#btnNext").show();const f=$(`.get-quote__screen${i.currentScreenNumber}`).attr("data-name"),o=$(`.get-quote__screen${i.currentScreenNumber}`).attr("data-ismultiselect");if(f&&f.startsWith("answer-")&&o&&o==="True"){let n=!1;$(`[name='${f}']`).each(function(){$(this).prop("checked")&&(n=!0)});n?$("#btnNext").show():$("#btnNext").hide()}if($(`.get-quote__screen${i.currentScreenNumber}`).attr("submit")==="1"){if(t=="c")$("#btnNext").text("Get Quotes");else if(t=="p")document.getElementById("chkThreeQuotes").checked?$("#btnNext").text("Get Quotes"):$("#btnNext").text("Get Quote");else if(t=="s"){let n=$("#getquote_category_id").val();n==0?$("#btnNext").text("Get Quote"):document.getElementById("chkThreeQuotes").checked?$("#btnNext").text("Get Quotes"):$("#btnNext").text("Get Quote")}}else $("#btnNext").text("Next")}r()}function v(){$(`.get-quote__screen${i.currentScreenNumber}`).hide(i.speedOut);i.currentScreenNumber--;$(`.get-quote__screen${i.currentScreenNumber} #rfq_postcode`).length>0&&($("#rfq_delivery").val(f),$("#rfq_postcode").val(e));const o=$("#getquote_category_allow_three_quotes").val();if(n=="preferredconditionQuestion"){let n=$("#getquote_category_id").val(),t=$("#getquote_category_name").val();$("#preferredconditionQuestion .jsCategoryName").html(t);n&&t&&n!=0&&o!="false"||(i.currentScreenNumber--,$("input[name='preferredcondition']")&&$("input[name='preferredcondition']").prop("checked",!1))}n=="contactdetails"&&(o=="true"?$("#contactdetails #comparequotes").show():$("#contactdetails #comparequotes").hide());var n=$(`.get-quote__screen${i.currentScreenNumber}`).attr("id");u=="0"&&n=="financeScreen"&&i.currentScreenNumber--;const t=$("input[name='rfq_brandpref']:checked").val();if(n&&n.startsWith("rfq_tab_customquestions-")&&t&&t=="false"){const n=$(`.get-quote__screen${i.currentScreenNumber}`).attr("data-numbercustomquestions");n&&(i.currentScreenNumber-=parseInt(n),$("#btnNext").show())}if(n=$(`.get-quote__screen${i.currentScreenNumber}`).attr("id"),n=="wherewillitbeusedscreen"&&t&&t=="true"){const n=$('div[id^="rfq_tab_customquestions"]').length>0;n&&(i.currentScreenNumber--,$("#btnNext").show())}$(`.get-quote__screen${i.currentScreenNumber}`).show(i.speedIn);$(".get-quote__rightscreen").show();$(".get-quote__rightscreencomplete").hide();$(`.get-quote__screen${i.currentScreenNumber}`).attr("firstscreen")==="1"&&$("#btnBack").hide();$(`.get-quote__screen${i.currentScreenNumber}`).attr("next")==="0"&&n!="wherewillitbeusedscreen"?$("#btnNext").hide():$("#btnNext").show();r();$(`.get-quote__screen${i.currentScreenNumber}`).attr("submit")!=="1"&&$("#btnNext").text("Next")}function y(){let n=$("#rfq_company").val();return/(http|https|www)/i.test(n)?!1:!0}function p(){for(var n=1;n<=i.totalStep;n++)$(`.get-quote__screen${n}`).hide();this.currentScreenNumber=1;$("#btnBack").hide();$("#btnNext").hide();$(`.get-quote__screen${i.currentScreenNumber}`).show();r()}function w(){if(p(),t=="p"&&(i.totalStep+=$("#preferreddifferentbrandscreen").length>0?2:1),t=="s"){i.totalStep+=2;let n=$(".storefrontLogo").attr("src");document.getElementById("imgSupplierLogo").setAttribute("src",`${n}`);document.getElementById("imgSupplierLogoMobile").setAttribute("src",`${n}`)}t=="c"&&n==0&&(i.totalStep+=1);let u=document.getElementById("travelling-cta-container");u&&document.getElementById("travelling-cta-container").classList.remove("floating-header");let r="";if(t=="c"){let n=document.getElementById("enqLocation");n!=null&&(r=document.getElementById("enqLocation").getAttribute("data-text"))}t=="p"&&(r=document.querySelector(".js-rfq-state-dropdown").value);r!=""&&r!=null&&(document.getElementById("rfq_delivery").value=r);var f=$("#hdnBPBonusScenario").val();f=="1"&&(i.GQBPBonusScenario=!0,quote.GQBPBonusScenario=!0)}var c=["NSW","VIC","QLD","SA","WA","NT","ACT","TAS"],u=$("#hdnAllowFinanceOption").val(),f="",e="";w();$("#sellNavigator").on("click",function(n){n.preventDefault();$(".modal-backdrop").remove();$("#confirmationModal").modal("hide");window.setTimeout(function(){$("body").css("overflow","auto")},200);window.location.href=$(this).attr("href")});$(".form-check-input").on("click",function(){const n="Other";if($(this).attr("datepicker")==="1")$("#datepicker").datepicker("show"),$("#btnNext").show();else if($(this).attr("type")==="checkbox"&&$(this).hasClass("org-checkbox")){const t=$(this).attr("name"),r=$(this).val();let u=!1,i=!1;if(r){const s=r.split("|"),f=$(`#${t}-other-input-wrapper`),e=$(`input[name='${t}-other-input']`);if(s&&s.length!=3)return;const o="Not sure yet";if(s[2]===o?$(`[name='${t}']`).each(function(){$(this).val().endsWith(o)||$(this).prop("checked",!1)}):$(`[name='${t}']`).each(function(){$(this).val().endsWith(o)&&$(this).prop("checked",!1)}),r.endsWith(o)&&(e.val(""),f.hide()),r.endsWith(n)){i=$(this).attr("checked")==="checked";$(`[name='${t}']`).each(function(){$(this).val().endsWith(n)&&$(this).prop("checked",i)});$(`div[data-name='${t}'] .custom-checkbox-wrapper:last`).css("margin-bottom","0px");i?f.show():(f.val(""),f.hide());e.on("input",function(){var n=$(this).val().length;n>0?$("#btnNext").show():$("#btnNext").hide()})}$(`[name='${t}']`).each(function(){$(this).prop("checked")&&(u=!0,$(this).val().endsWith(n)&&(i=!0))});u&&!i?$("#btnNext").show():e&&e.val().length>0?$("#btnNext").show():$("#btnNext").hide()}}else if($(this).attr("type")==="radio"&&$(this).hasClass("org-radio")){const r=$(this).val(),t=$(this).attr("name");if(r&&r.endsWith(n)){const n=$(`input[name='${t}-other-input']`);n.val().length>0?$("#btnNext").show():$("#btnNext").hide();$(`div[data-name='${t}'] .custom-radio-wrapper:last`).css("margin-bottom","0px");$(`#${t}-other-input-wrapper`).show();n.on("input",function(){var n=$(this).val().length;n>0?$("#btnNext").show():$("#btnNext").hide()})}else{if($("#btnNext").show(),$(`#${t}-other-input-wrapper`).is(":visible")&&$(`#${t}-other-input-wrapper`).hide(),i.processing)return;i.processing=!0;s()&&window.setTimeout(function(){h();i.processing=!1},400)}}else{if(i.processing)return;i.processing=!0;s()&&window.setTimeout(function(){h();i.processing=!1},400)}});$('input[name="radCatName"]').on("click",function(){let n=$(this).val(),t=$(this).attr("cname");$("#getquote_category_id").val(n);$("#getquote_category_name").val(t);console.log("8186");n==0?$(".get-quote__checkboxwrapper").hide():$.ajax({url:"/categories/is-display-three-quotes",type:"GET",dataType:"application/json",data:{catid:n,title:t},success:function(n){n&&n.isDisplayThreeQuotes?($(".get-quote__checkboxwrapper").show(),$("#chkThreeQuotes").prop("checked",!0)):($(".get-quote__checkboxwrapper").hide(),$("#chkThreeQuotes").prop("checked",!1))}})});$("#btnNext").on("click",function(n){n.preventDefault();s()&&window.setTimeout(h,500)});$("#btnBack").on("click",v);$("#datepicker").datepicker({dateFormat:"dd MM yy",minDate:0,onSelect:function(){const n=$(this).datepicker("getDate");$(this).val(l(n));$('input[name="timeframe"]').eq(2).prop("checked",!0);$("#btnNext").show()}});$("input[name='rfq_brandpref']").on("change",()=>{let n=$("input[name='rfq_brandpref']:checked").val();n=="true"?(i.allowOtherBrands=!0,$("#chkThreeQuotes").prop("checked",!0)):(i.allowOtherBrands=!1,$("#chkThreeQuotes").prop("checked",!1))});$(".rfq-light-msg-tooltip-tick-background").hover(function(){const n=$(this).closest(".rfq-light-msg-tooltip").find(".rfq-light-msg-tooltip-content");n.show(100)},function(){const n=$(this).closest(".rfq-light-msg-tooltip").find(".rfq-light-msg-tooltip-content");n.hide(100)});$(".quotes-modal-close").on("click",function(n){if(n.preventDefault(),$("#quotes-modal").modal("hide"),i.currentScreenNumber<i.totalStep){var t=document.getElementById("confirmationModal");$(t).modal({backdrop:"static",keyboard:!1});$(t).modal("show")}else $(".modal-backdrop").remove(),window.setTimeout(function(){$("body").css("overflow","auto")},200)});$("#confirmExit").on("click",function(n){n.preventDefault();$(".modal-backdrop").remove();$("#confirmationModal").modal("hide");window.setTimeout(function(){$("body").css("overflow","auto");let n=document.getElementById("travelling-cta-container");n&&window.scrollY>=200&&document.getElementById("travelling-cta-container").classList.add("floating-header")},200)});$("#cancelExit").on("click",function(n){n.preventDefault();$("#quotes-modal").modal("show");$("#confirmationModal").modal("hide")});$("#quotes-modal").on("show.bs.modal",function(){$("body").css("overflow","hidden")});$("#quotes-modal").on("hide.bs.modal",function(){window._rfqDictateCleanup&&window._rfqDictateCleanup()});initRfqDictate();$("#confirmationModal").on("show.bs.modal",function(){$("body").css("overflow","hidden")});$("#confirmationModal").on("hide.bs.modal",function(){});$("#btn-buy-anything-else").on("click",function(n){n.preventDefault();$(".modal-backdrop").remove();$(this).closest(".modal").modal("hide");window.setTimeout(function(){$("body").css("overflow","auto");window.location.href="/directory"},200)});$("#btn-buy-anything-else-mobile").on("click",function(n){n.preventDefault();$(".modal-backdrop").remove();$(this).closest(".modal").modal("hide");window.setTimeout(function(){$("body").css("overflow","auto");window.location.href="/directory"},200)});$("#chkThreeQuotes").on("click",function(){document.getElementById("btnNext").innerText=this.checked?"Get Quotes":"Get Quote"});$("#rfq_company").on("keyup",function(){$(this).val().length>=60?($("#rfq_company").next("span.error-msg").length>0&&$("#rfq_company").next("span.error-msg").remove(),$("#rfq_company").after("<span class='error-msg' style='color: #434343 !important'>You have reached the maximum characters<\/span>")):$("#rfq_company").next("span.error-msg").length>0&&$("#rfq_company").next("span.error-msg").remove()});$("#rfq_company").on("focusout",function(){$("#rfq_company").next("span.error-msg").length>0&&$("#rfq_company").next("span.error-msg").remove()});$("#rfq_delivery").on("change",function(){var n=$(this).val();c.includes(n)?$("#rfq_postcode").autocomplete("enable"):$("#rfq_postcode").autocomplete("disable")});$("#rfq_postcode").autocomplete({source:function(n,t){$.post("/requests/SearchGetQuoteSuburbAutoComplete",{term:n.term,state:$("#rfq_delivery").val()},function(n){t(n)})},disabled:!0,minLength:2});window.setTimeout(function(){c.includes($("#rfq_delivery").val())?$("#rfq_postcode").autocomplete("enable"):$("#rfq_postcode").autocomplete("disable")},100)})}function GetQuoteForm2024WithRelatedQuotes(n=0,t="c"){this.quote=window.quote;this.numOfCustomQuestion=n;this.currentScreenNumber=1;this.speedIn=0;this.speedOut=0;this.totalStep=n+7+1;this.allowOtherBrands=!1;this.processing=!1;this.GQBPBonusScenario=!1;var i=this;$(function(){function a(n){const t=n.getDate(),i=t%10==1&&t!==11?"st":t%10==2&&t!==12?"nd":t%10==3&&t!==13?"rd":"th",r=["January","February","March","April","May","June","July","August","September","October","November","December"][n.getMonth()],u=n.getFullYear();return`${t}${i} ${r} ${u}`}function r(n=false){n&&(i.currentScreenNumber=i.totalStep);const t=i.currentScreenNumber/i.totalStep*100;$("#progressbar").css("width",t+"%")}function h(){var u,f,r,n,t;if($(".rfq-message-wrapper").next("span.error-msg-textarea").remove(),$("#rfq_name").next("span.error-msg").remove(),$("#rfq_email").next("span.error-msg").remove(),$("#rfq_company").next("span.error-msg").remove(),$("#rfq_phone").next("span.error-msg").remove(),$("#rfq_postcode").next("span.error-msg").remove(),$("#contactmethod-msg").next("span.error-msg").remove(),$("#rfq_delivery").next("span.error-msg").remove(),$(".more-options .usages.wrapper span.label").next("span.error-msg-option").remove(),$(".get-quote__purchasingfor").next("span.error-msg-purchasing").remove(),$(`.get-quote__screen${i.currentScreenNumber}`).find("#rfq_description").length>0&&$("#rfq_description").val().trim().length<20)return $(".rfq-message-wrapper").next("span.error-msg-textarea").remove(),$(".rfq-message-wrapper").after("<span class='error-msg-textarea description'>Please enter at least 20 characters<\/span>"),!1;if($(`.get-quote__screen${i.currentScreenNumber}`).find("#rfq_delivery").length>0){let n=$(`.get-quote__screen${i.currentScreenNumber}`).find("#rfq_delivery").val();if(n=="Choose")return $("#rfq_delivery").next("span.error-msg").length>0&&$("#rfq_delivery").next("span.error-msg").remove(),$("#rfq_delivery").after("<span class='error-msg'>Delivery location is required<\/span>"),!1}if($(`.get-quote__screen${i.currentScreenNumber}`).find("#rfq_postcode").length>0){let n=document.getElementById("rfq_delivery").value;if(["NSW","VIC","QLD","SA","WA","NT","ACT","TAS"].includes(n)&&$("#rfq_postcode").val().length<=0)return $("#rfq_postcode").next("span.error-msg").length>0&&$("#rfq_postcode").next("span.error-msg").remove(),$("#rfq_postcode").after("<span class='error-msg'>Postcode is needed to calculate your freight<\/span>"),!1}if($(`.get-quote__screen${i.currentScreenNumber}`).find("#rfq_name").length>0){if($("#rfq_name").val().length<=0)return $("#rfq_name").next("span.error-msg").length>0&&$("#rfq_name").next("span.error-msg").remove(),$("#rfq_name").after("<span class='error-msg'>Your name is required<\/span>"),!1;if($("#rfq_email").val().length<=0)return $("#rfq_email").next("span.error-msg").length>0&&$("#rfq_email").next("span.error-msg").remove(),$("#rfq_email").after("<span class='error-msg'>Email address is required<\/span>"),!1;if(!isValidEmailAddress($("#rfq_email").val().trim()))return $("#rfq_email").next("span.error-msg").length>0&&$("#rfq_email").next("span.error-msg").remove(),$("#rfq_email").after("<span class='error-msg'>Invalid email address<\/span>"),!1;if(u=$("#rfq_delivery").val(),f=["NSW","VIC","QLD","SA","WA","NT","ACT","TAS"],f.includes(u)){if(r=validateAndReformatPhoneNumber($("#rfq_phone").val().trim()),r=="invalid")return n={},n.description=$("#rfq_description").val(),n.name=$("#rfq_name").val(),n.email=$("#rfq_email").val(),n.phone=$("#rfq_phone").val(),n.company=$("#rfq_company").val(),n.state=$("#rfq_delivery").val(),n.postcode=$("#rfq_postcode").val(),n.portalId=quote.portalId,n.categoryId=quote.categoryId,n.categoryName=quote.categoryName,n.productId=quote.productId,n.productName=quote.productName,$("#rfq_phone").addClass("error"),$("#rfq_phone").after("<span class='error-msg'>Invalid phone number or area code<\/span>"),!1;$("#rfq_phone").val(r)}if(t=$("input[name='businesssoption']:checked").val(),t==null||t=="undefined")return $(".get-quote__purchasingfor").after("<span class='error-msg-purchasing'>Please select one<\/span>"),!1;if($(".get-quote__purchasingfor").next("span.error-msg-purchasing").length>0&&$(".get-quote__purchasingfor").next("span.error-msg-purchasing").remove(),!b())return $("#rfq_company").next("span.error-msg").length>0&&$("#rfq_company").next("span.error-msg").remove(),$("#rfq_company").after("<span class='error-msg'>Invalid Company Name<\/span>"),!1;if(t=="Business"&&$("#rfq_company").val().trim()=="")return $("#rfq_company").next("span.error-msg").length>0&&$("#rfq_company").next("span.error-msg").remove(),$("#rfq_company").after("<span class='error-msg'>Business or organisation name is needed<\/span>"),!1;$("#rfq_company").next("span.error-msg").length>0&&$("#rfq_company").next("span.error-msg").remove()}return!0}function v(n,t){var i=!1;window.matchMedia("(max-width: 500px)").matches&&(i=!0);$.post("/category/connectedcategories",{categoryId:n,portalId:t}).done(function(n){if(i){let t=$("<div>").html(n),i=t.find(".carousel-item").length;$("#connectedgqcarouselmobile").html(n);i>0?$(".section__lookingfor").hide():$(".section__lookingfor").show()}else $("#connectedgqcarousel").html(n),$(".section__lookingfor").show();$("#connectedgqcarousel").show()}).fail(function(n,t,i){console.log(i)})}function y(){var h,n,i;$(".get-quote__left").css("background-color","#f9f9f9");$(".get-quote__right").css("background-color","#fff");$(".rfq-close").css("background-color","#fff");quote.timeframe=$("input[name='timeframe']:checked").val();quote.timeframe=="On a specific date"&&(quote.timeframe=$("#datepicker").val());quote.categoryId=$("#getquote_category_id").val();quote.categoryName=$("#getquote_category_name").val();quote.purchasereason=$("input[name='purchasereason']:checked").val();quote.quantity=$("#rfq_quantity").val();quote.state=f==""?$("#rfq_delivery").val():f;quote.postcode=e==""?$("#rfq_postcode").val():e;quote.name=$("#rfq_name").val();quote.email=$("#rfq_email").val();quote.phone=$("#rfq_phone").val();quote.company=$("#rfq_company").val();quote.rfqRyzen=$("#rfqRyzen").val();quote.description=$("#rfq_description").val();quote.financeoption=$("input[name='financeoption']:checked").val();(quote.financeoption==null||quote.financeoption=="undefined")&&(quote.financeoption="");const u=$("input[name='preferredcondition']:checked");u&&(quote.preferredCondition=u.val());quote.usedby=$("input[name='businesssoption']:checked").val();const s=$("input[name='rfq_brandpref']:checked").val(),c=$('div[id^="rfq_tab_customquestions"]').length>0;(s&&s=="false"||!c)&&(quote.rfqUseOptions="",$("input[name='rfq_usage']:checked").length>0&&(quote.rfqUseOptions=$("input[name='rfq_usage']:checked").val()));t=="p"&&(h=$("#chkThreeQuotes").length&&$("#chkThreeQuotes").is(":checked"),quote.rfqOtherBrands=h?"true":"false");(t=="s"||t=="a")&&(quote.isMultiQuotes=quote.categoryId==0?!1:$("#chkThreeQuotes").is(":checked")?!0:!1);quote.isMultiQuotes=$("#chkThreeQuotes")&&$("#chkThreeQuotes").is(":checked")?!0:!1;quote.questions=GetQuestionValues();!quote.suppliers&&$("#hdnSupplierId")&&(quote.suppliers=$("#hdnSupplierId").val());quote.bpsuppliers||(quote.bpsuppliers=$("#hdnBPSupIdTeasingList").val());!quote.portalId&&$("#hdnPortalId")&&(quote.portalId=$("#hdnPortalId").val());n=$("#btnNext");i=$(n).html();$(n).html("<i style='font-family: \"Font Awesome 5 Free\"' class='fas fa-spinner fa-spin rfq-spinner'><\/i> Sending...");$(n).css({opacity:.5});$(n).attr("disabled","disabled");$.post("/request/SubmitRFQ",quote).done(function(t){pushEnhancedConversionData();TrackGoogleAnalyticEvent("gtm_getquote_event","","","");window.VWO=window.VWO||[];VWO.event=VWO.event||function(){VWO.push(["event"].concat([].slice.call(arguments)))};VWO.event("categoryGetQuote",{categoryId:quote.categoryId,categoryName:quote.categoryName});quote.rfqOrigin=="Product"?TrackGoogleAnalyticEvent("GetQuoteEvent","Submit Get Quotes","Product Submit Get Quotes",""):quote.rfqOrigin=="Category"?TrackGoogleAnalyticEvent("GetQuoteEvent","Submit Get Quotes","Category Submit Get Quotes",""):quote.rfqOrigin=="Home"?TrackGoogleAnalyticEvent("GetQuoteEvent","Submit Get Quotes","Home Submit Get Quotes",""):quote.rfqOrigin=="Supplier"&&TrackGoogleAnalyticEvent("GetQuoteEvent","Submit Get Quotes","Supplier Submit Get Quotes","");savedData=t.data;t.status==1?t.allowNextStep?(savedData.rfq_group_description=savedData.Description,savedData.is_product_gq_continue=!0,$.post("/request/ResumeGetQuote",savedData,function(t){t.status==1?(o(),r(!0),$(n).html(i),$(n).css({opacity:""}),$(n).prop("disabled",!1)):console.error("Error on going back for GQP3+")})):(o(),r(!0),$(n).html(i),$(n).css({opacity:""}),$(n).prop("disabled",!1)):t.status==2?(o(),r(!0),$(n).html(i),$(n).css({opacity:""}),$(n).prop("disabled",!1)):t.status==3?window.setTimeout(function(){o();r(!0);$(n).html(i);$(n).css({opacity:""});$(n).prop("disabled",!1)},2e3):console.error("Failed");window.rfqFormData=t.data}).fail(function(){alert("Failed submitting quotes")})}function o(){let n=quote.name.split(" ")[0];if($(".get-quote__nicework").text(`Nice work ${n}!`),$(".get-quote__nicework-tightspace").text(`Nice work ${n}!`),t!="p"&&t!="s"&&t!="a"||quote.isMultiQuotes)$("li.get-quote__rightscreen__normaltext").eq(0).text("We’re matching you with the right suppliers"),$("li.get-quote__rightscreen__normaltext").eq(1).text("Suppliers may get in touch to find out more"),$("li.get-quote__rightscreen__normaltext").eq(2).text("Compare quotes and make the best choice");else{let n=$("#supplier_name").val();$("li.get-quote__rightscreen__normaltext").eq(0).text(`We are connecting you with ${n}`);$("li.get-quote__rightscreen__normaltext").eq(1).text(`${n} may get in touch to find out more`);$("li.get-quote__rightscreen__normaltext").eq(2).text("Review the quote and make your purchase")}$(`.get-quote__screen${i.currentScreenNumber}`).hide(i.speedOut);i.currentScreenNumber++;$(`.get-quote__screen${i.currentScreenNumber}`).fadeIn(300);$(".get-quote__rightscreen").hide();$(".get-quote__rightscreencomplete").fadeIn(300);$("#btnNext").hide();$("#btnBack").hide();window.screen.width<=500&&($(".get-quote__right--mobile").hide(),$(".get-quote__rightscreencomplete").hide(),$(".get-quote__left").hide(),$(".get-quote__leftcomplete--mobile").css({display:"flex","flex-direction":"column"}),$(".rfq-close").css("background-color","#fff"))}function p(t){$(".gq-dynamic-question").remove();$.get("/request/GetCustomQuestionsForCategory",{categoryId:t}).done(function(t){var i,r;if(!t||t.trim()===""){n=0;s();return}i=$("#preferreddifferentbrandscreen");i.length>0&&i.after(t);r=$(".gq-dynamic-question");n=r.length;s()}).fail(function(){n=0;s()})}function s(){var n=1,t=$(".get-quote__left"),r=t.find("[class*='get-quote__screen']").not(".get-quote__navigator-wrapper");r.each(function(){var i=$(this),r,u,t;if(i.attr("id")!=="progressbar"&&!i.hasClass("get-quote__navigator-wrapper")){for(r=(i.attr("class")||"").split(/\s+/),u=[],t=0;t<r.length;t++)r[t]&&!/^get-quote__screen\d+$/.test(r[t])&&u.push(r[t]);u.push("get-quote__screen"+n);i.attr("class",u.join(" "));i.attr("screenOrder",n);n++}});i.totalStep=n-1}function c(){var o,n,h,c,l,s;if($(`.get-quote__screen${i.currentScreenNumber} #rfq_postcode`).length>0&&(f=$("#rfq_delivery").val(),e=$("#rfq_postcode").val(),o=quote.categoryId,t=="s"&&(o=$("#getquote_category_id").val()),v(o,quote.portalId)),t=="s"&&$(`.get-quote__screen${i.currentScreenNumber}`).attr("firstscreen")==="1"&&(o=$("#getquote_category_id").val(),o==0?u="0":$.post("/request/CheckFinanceOptionAllowance",{categoryId:o}).done(function(n){u=n=="1"?"1":"0"}).fail(function(n){console.log("Error:",n)})),$(`.get-quote__screen${i.currentScreenNumber}`).attr("submit")==="1")y();else{$(`.get-quote__screen${i.currentScreenNumber}`).hide(i.speedOut);i.currentScreenNumber++;n=$(`.get-quote__screen${i.currentScreenNumber}`).attr("id");u=="0"&&n=="financeScreen"&&(i.currentScreenNumber++,n=$(`.get-quote__screen${i.currentScreenNumber}`).attr("id"));n=="preferreddifferentbrandscreen"&&(h=$("#getquote_category_id").val(),h&&h!="0"&&h!=""||($("input[name='rfq_brandpref'][value='false']").prop("checked",!0),i.currentScreenNumber++,n=$(`.get-quote__screen${i.currentScreenNumber}`).attr("id")));const o=$("#getquote_category_allow_three_quotes").val();if(n=="preferredconditionQuestion"){const n=$("#getquote_category_id").val(),t=$("#getquote_category_name").val();if($("#preferredconditionQuestion .jsCategoryName").html(t),!n||!t||n==0||o=="false"){const n=i.currentScreenNumber+1;i.currentScreenNumber=n;$("input[name='preferredcondition']")&&$("input[name='preferredcondition']").prop("checked",!1)}}n=="contactdetails"&&(c=$("#getquote_category_id").val(),l=$("input[name='rfq_brandpref']:checked").val(),c&&c!="0"&&c!=""?l==="true"?($("#contactdetails #comparequotes").show(),$("#chkThreeQuotes").prop("checked",!0)):($("#contactdetails #comparequotes").show(),$("#chkThreeQuotes").prop("checked",!1)):($("#contactdetails #comparequotes").hide(),$("#chkThreeQuotes").prop("checked",!1)));const r=$("input[name='rfq_brandpref']:checked").val();if(n&&n.startsWith("rfq_tab_customquestions-")&&r&&r=="false"){const n=$(`.get-quote__screen${i.currentScreenNumber}`).attr("data-numbercustomquestions");n&&(i.currentScreenNumber+=parseInt(n))}if(n=$(`.get-quote__screen${i.currentScreenNumber}`).attr("id"),n=="wherewillitbeusedscreen"&&r&&r=="true"){const n=$('div[id^="rfq_tab_customquestions"]').length>0;n&&i.currentScreenNumber++}if($(`.get-quote__screen${i.currentScreenNumber}`).show(i.speedIn),$(`.get-quote__screen${i.currentScreenNumber} #rfq_description`).length>=1){const n=$("#getquote_assist_message_id");n.empty();const u="Not sure";s=GetQuestionValues();let t=[];s&&s.length>0&&s.forEach(n=>{const i=n.split("|"),e=i[0],r=i[1],f=i[2],o=i[3];f.includes(u)&&t.push(r)});let i=$("#hdnCatId").val(),r=$("#hdnCatTitle").val();i||$("#hdnCategoryId").length!=1||(i=$("#hdnCategoryId").val());r||$("#hdnCategoryName").length!=1||(r=$("#hdnCategoryName").val());t.length>0?(n.show(),n.showLoading(),$.ajax({url:"/generate-buyer-message-assist",type:"post",dataType:"json",data:{categoryId:i,categoryName:r,questions:s},success:function(i){if(i&&i.success){let r="";t.forEach(n=>r+=`<li>${n}</li>`);n.html(`<div class='mb-2'>Because you are not sure yet about:</div><ul class='mb-2'>${r}</ul><div>${i.answer}</div>`)}},error:function(){console.error("Failed to generate buyer message assist.")},complete:function(){n.hideLoading()}})):n.hide()}$("#btnBack").show();$(`.get-quote__screen${i.currentScreenNumber-1}`).removeAttr("next");$(`.get-quote__screen${i.currentScreenNumber}`).attr("next")==="0"?$("#btnNext").hide():$("#btnNext").show();const f=$(`.get-quote__screen${i.currentScreenNumber}`).attr("data-name"),e=$(`.get-quote__screen${i.currentScreenNumber}`).attr("data-ismultiselect");if(f&&f.startsWith("answer-")&&e&&e==="True"){let n=!1;$(`[name='${f}']`).each(function(){$(this).prop("checked")&&(n=!0)});n?$("#btnNext").show():$("#btnNext").hide()}if($(`.get-quote__screen${i.currentScreenNumber}`).attr("submit")==="1"){if(t=="c")$("#btnNext").text("Get Quotes");else if(t=="p")document.getElementById("chkThreeQuotes").checked?$("#btnNext").text("Get Quotes"):$("#btnNext").text("Get Quote");else if(t=="s"){let n=$("#getquote_category_id").val();n==0?$("#btnNext").text("Get Quote"):document.getElementById("chkThreeQuotes").checked?$("#btnNext").text("Get Quotes"):$("#btnNext").text("Get Quote")}}else $("#btnNext").text("Next")}r()}function w(){var n,t,o,h;$(`.get-quote__screen${i.currentScreenNumber}`).hide(i.speedOut);i.currentScreenNumber--;$(`.get-quote__screen${i.currentScreenNumber} #rfq_postcode`).length>0&&($("#rfq_delivery").val(f),$("#rfq_postcode").val(e));n=$(`.get-quote__screen${i.currentScreenNumber}`).attr("id");u=="0"&&n=="financeScreen"&&(i.currentScreenNumber--,n=$(`.get-quote__screen${i.currentScreenNumber}`).attr("id"));n=="preferreddifferentbrandscreen"&&(t=$("#getquote_category_id").val(),t&&t!="0"&&t!=""||(i.currentScreenNumber--,n=$(`.get-quote__screen${i.currentScreenNumber}`).attr("id")));const c=$("#getquote_category_allow_three_quotes").val();if(n=="preferredconditionQuestion"){const n=$("#getquote_category_id").val(),t=$("#getquote_category_name").val();$("#preferredconditionQuestion .jsCategoryName").html(t);n&&t&&n!=0&&c!="false"||(i.currentScreenNumber--,$("input[name='preferredcondition']")&&$("input[name='preferredcondition']").prop("checked",!1))}n=="contactdetails"&&(o=$("#getquote_category_id").val(),h=$("input[name='rfq_brandpref']:checked").val(),o&&o!="0"&&o!=""?h==="true"?($("#contactdetails #comparequotes").show(),$("#chkThreeQuotes").prop("checked",!0)):($("#contactdetails #comparequotes").show(),$("#chkThreeQuotes").prop("checked",!1)):($("#contactdetails #comparequotes").hide(),$("#chkThreeQuotes").prop("checked",!1)));const s=$("input[name='rfq_brandpref']:checked").val();if(n&&n.startsWith("rfq_tab_customquestions-")&&s&&s=="false"){const n=$(`.get-quote__screen${i.currentScreenNumber}`).attr("data-numbercustomquestions");n&&(i.currentScreenNumber-=parseInt(n),$("#btnNext").show())}if(n=$(`.get-quote__screen${i.currentScreenNumber}`).attr("id"),n=="wherewillitbeusedscreen"&&s&&s=="true"){const n=$('div[id^="rfq_tab_customquestions"]').length>0;n&&(i.currentScreenNumber--,$("#btnNext").show())}$(`.get-quote__screen${i.currentScreenNumber}`).show(i.speedIn);$(".get-quote__rightscreen").show();$(".get-quote__rightscreencomplete").hide();$(`.get-quote__screen${i.currentScreenNumber}`).attr("firstscreen")==="1"&&$("#btnBack").hide();$(`.get-quote__screen${i.currentScreenNumber}`).attr("next")==="0"&&n!="wherewillitbeusedscreen"?$("#btnNext").hide():$("#btnNext").show();r();$(`.get-quote__screen${i.currentScreenNumber}`).attr("submit")!=="1"&&$("#btnNext").text("Next")}function b(){let n=$("#rfq_company").val();return/(http|https|www)/i.test(n)?!1:!0}function k(){for(var n=1;n<=i.totalStep;n++)$(`.get-quote__screen${n}`).hide();this.currentScreenNumber=1;$("#btnBack").hide();$("#btnNext").hide();$(`.get-quote__screen${i.currentScreenNumber}`).show();r()}function d(){k();let u=0,f=1;while($(`.get-quote__screen${f}`).length>0)u++,f++;i.totalStep=u;t=="c"&&n==0&&(i.totalStep+=1);let e=document.getElementById("travelling-cta-container");e&&document.getElementById("travelling-cta-container").classList.remove("floating-header");let r="";if(t=="c"){let n=document.getElementById("enqLocation");n!=null&&(r=document.getElementById("enqLocation").getAttribute("data-text"))}t=="p"&&(r=document.querySelector(".js-rfq-state-dropdown").value);r!=""&&r!=null&&(document.getElementById("rfq_delivery").value=r);var o=$("#hdnBPBonusScenario").val();o=="1"&&(i.GQBPBonusScenario=!0,quote.GQBPBonusScenario=!0)}var l=["NSW","VIC","QLD","SA","WA","NT","ACT","TAS"],u=$("#hdnAllowFinanceOption").val(),f="",e="";d();$("#sellNavigator").on("click",function(n){n.preventDefault();$(".modal-backdrop").remove();$("#confirmationModal").modal("hide");window.setTimeout(function(){$("body").css("overflow","auto")},200);window.location.href=$(this).attr("href")});$(".get-quote__left").on("click",".form-check-input",function(){const n="Other";if($(this).attr("datepicker")==="1")$("#datepicker").datepicker("show"),$("#btnNext").show();else if($(this).attr("type")==="checkbox"&&$(this).hasClass("org-checkbox")){const t=$(this).attr("name"),r=$(this).val();let u=!1,i=!1;if(r){const o=r.split("|"),s=$(`#${t}-other-input-wrapper`),f=$(`input[name='${t}-other-input']`);if(o&&o.length!=3)return;const e="Not sure yet";if(o[2]===e?$(`[name='${t}']`).each(function(){$(this).val().endsWith(e)||$(this).prop("checked",!1)}):$(`[name='${t}']`).each(function(){$(this).val().endsWith(e)&&$(this).prop("checked",!1)}),r.endsWith(e)&&(f.val(""),s.hide()),r.endsWith(n)){i=$(this).attr("checked")==="checked";$(`[name='${t}']`).each(function(){$(this).val().endsWith(n)&&$(this).prop("checked",i)});$(`div[data-name='${t}'] .custom-checkbox-wrapper:last`).css("margin-bottom","0px");i?s.show():(f.val(""),s.hide());f.on("input",function(){var n=$(this).val().length;n>0?$("#btnNext").show():$("#btnNext").hide()})}$(`[name='${t}']`).each(function(){$(this).prop("checked")&&(u=!0,$(this).val().endsWith(n)&&(i=!0))});u&&!i?$("#btnNext").show():f&&f.val().length>0?$("#btnNext").show():$("#btnNext").hide()}}else if($(this).attr("type")==="radio"&&$(this).hasClass("org-radio")){const t=$(this).val(),r=$(this).attr("name"),u=$(`input[name='${r}-other-input']`);let f=t&&t.split("|")&&t.split("|").length>0&&t.split("|")[2]&&t.split("|")[2].endsWith(n);if(f){u.val().length>0?$("#btnNext").show():$("#btnNext").hide();$(`div[data-name='${r}'] .custom-radio-wrapper:last`).css("margin-bottom","0px");$(`#${r}-other-input-wrapper`).show();u.on("input",function(){var n=$(this).val().length;n>0?$("#btnNext").show():$("#btnNext").hide()})}else{if(u.val(""),$("#btnNext").show(),$(`#${r}-other-input-wrapper`).is(":visible")&&$(`#${r}-other-input-wrapper`).hide(),i.processing)return;i.processing=!0;h()&&window.setTimeout(function(){c();i.processing=!1},400)}}else if($(this).attr("type")!=="radio"||!$(this).hasClass("org-radio2")){if(i.processing)return;i.processing=!0;h()&&window.setTimeout(function(){c();i.processing=!1},400)}});$('input[name="radCatName"]').on("click",function(){let n=$(this).val(),t=$(this).attr("cname");$("#getquote_category_id").val(n);$("#getquote_category_name").val(t);n==0?($("#getquote_category_allow_three_quotes").val("false"),$(".get-quote__checkboxwrapper").hide(),$(".gq-dynamic-question").remove(),s()):($.ajax({url:"/categories/is-display-three-quotes",type:"GET",dataType:"json",data:{catid:n,title:t},success:function(n){n&&n.isDisplayThreeQuotes?($(".get-quote__checkboxwrapper").show(),$("#chkThreeQuotes").prop("checked",!0),$("#getquote_category_allow_three_quotes").val("true")):($(".get-quote__checkboxwrapper").hide(),$("#chkThreeQuotes").prop("checked",!1),$("#getquote_category_allow_three_quotes").val("false"))}}),p(n))});$("#btnNext").on("click",function(n){n.preventDefault();h()&&window.setTimeout(c,500)});$("#btnBack").on("click",w);$("#datepicker").datepicker({dateFormat:"dd MM yy",minDate:0,onSelect:function(){const n=$(this).datepicker("getDate");$(this).val(a(n));$('input[name="timeframe"]').eq(2).prop("checked",!0);$("#btnNext").show()}});$("input[name='rfq_brandpref']").on("change",()=>{let n=$("input[name='rfq_brandpref']:checked").val();n=="true"?(i.allowOtherBrands=!0,$("#chkThreeQuotes").prop("checked",!0)):(i.allowOtherBrands=!1,$("#chkThreeQuotes").prop("checked",!1))});$(".rfq-light-msg-tooltip-tick-background").hover(function(){const n=$(this).closest(".rfq-light-msg-tooltip").find(".rfq-light-msg-tooltip-content");n.show(100)},function(){const n=$(this).closest(".rfq-light-msg-tooltip").find(".rfq-light-msg-tooltip-content");n.hide(100)});$(".quotes-modal-close").on("click",function(n){if(n.preventDefault(),$("#quotes-modal").modal("hide"),i.currentScreenNumber<i.totalStep){var t=document.getElementById("confirmationModal");$(t).modal({backdrop:"static",keyboard:!1});$(t).modal("show")}else $(".modal-backdrop").remove(),window.setTimeout(function(){$("body").css("overflow","auto")},200)});$("#confirmExit").on("click",function(n){n.preventDefault();$(".modal-backdrop").remove();$("#confirmationModal").modal("hide");window.setTimeout(function(){$("body").css("overflow","auto");let n=document.getElementById("travelling-cta-container");n&&window.scrollY>=200&&document.getElementById("travelling-cta-container").classList.add("floating-header")},200)});$("#cancelExit").on("click",function(n){n.preventDefault();$("#quotes-modal").modal("show");$("#confirmationModal").modal("hide")});$("#quotes-modal").on("show.bs.modal",function(){$("body").css("overflow","hidden")});$("#quotes-modal").on("hide.bs.modal",function(){window._rfqDictateCleanup&&window._rfqDictateCleanup()});initRfqDictate();$("#confirmationModal").on("show.bs.modal",function(){$("body").css("overflow","hidden")});$("#confirmationModal").on("hide.bs.modal",function(){});$("#btn-buy-anything-else").on("click",function(n){n.preventDefault();$(".modal-backdrop").remove();$(this).closest(".modal").modal("hide");window.setTimeout(function(){$("body").css("overflow","auto");window.location.href="/directory"},200)});$("#btn-buy-anything-else-mobile").on("click",function(n){n.preventDefault();$(".modal-backdrop").remove();$(this).closest(".modal").modal("hide");window.setTimeout(function(){$("body").css("overflow","auto");window.location.href="/directory"},200)});$("#chkThreeQuotes").on("click",function(){document.getElementById("btnNext").innerText=this.checked?"Get Quotes":"Get Quote"});$("#rfq_company").on("keyup",function(){$(this).val().length>=60?($("#rfq_company").next("span.error-msg").length>0&&$("#rfq_company").next("span.error-msg").remove(),$("#rfq_company").after("<span class='error-msg' style='color: #434343 !important'>You have reached the maximum characters<\/span>")):$("#rfq_company").next("span.error-msg").length>0&&$("#rfq_company").next("span.error-msg").remove()});$("#rfq_company").on("focusout",function(){$("#rfq_company").next("span.error-msg").length>0&&$("#rfq_company").next("span.error-msg").remove()});$("#rfq_delivery").on("change",function(){var n=$(this).val();l.includes(n)?$("#rfq_postcode").autocomplete("enable"):$("#rfq_postcode").autocomplete("disable")});$("#rfq_postcode").autocomplete({source:function(n,t){$.post("/requests/SearchGetQuoteSuburbAutoComplete",{term:n.term,state:$("#rfq_delivery").val()},function(n){t(n)})},disabled:!0,minLength:2});window.setTimeout(function(){l.includes($("#rfq_delivery").val())?$("#rfq_postcode").autocomplete("enable"):$("#rfq_postcode").autocomplete("disable")},100);$("#btn-buy-anything-else").on("click",function(n){n.preventDefault();n.stopPropagation();$("#quotes-modal").modal("hide");window.location.href=$(this).attr("href")});$(".org-radio2").on("click",function(){if(this.checked){$(".get-quote__purchasingfor").next("span.error-msg-purchasing").length>0&&$(".get-quote__purchasingfor").next("span.error-msg-purchasing").remove();var n=$(this).val();n=="Business"?($("#rfq_company").prop("disabled",!1),$("#rfq_company").closest("div").show()):($("#rfq_company").val(""),$("#rfq_company").prop("disabled",!0),$("#rfq_company").closest("div").hide());$("#rfq_company").next("span.error-msg").length>0&&$("#rfq_company").next("span.error-msg").remove()}})})}function initRfqDictate(){function g(){if(e){a();return}if(!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia){u("HTTPS required for mic access");return}navigator.mediaDevices.getUserMedia({audio:!0}).then(function(u){function it(){var i,n,r,u,t;if(e){for(f.getByteFrequencyData(p),i=0,n=0;n<p.length;n++)i+=p[n];if(r=i/p.length,u=1+r/255*.8,o&&(o.style.transform="translate(-50%, -50%) scale("+u+")"),t=Date.now(),r>=w)v=t;else if(t-y>k&&t-v>b){a();return}l=requestAnimationFrame(it)}}var tt,p,g;s=u;e=!0;h=[];y=Date.now();v=Date.now();t.classList.add("listening");n&&(n.textContent="Listening...");r=new(window.AudioContext||window.webkitAudioContext);tt=r.createMediaStreamSource(u);f=r.createAnalyser();f.fftSize=256;tt.connect(f);p=new Uint8Array(f.frequencyBinCount);it();g=MediaRecorder.isTypeSupported("audio/webm;codecs=opus")?"audio/webm;codecs=opus":MediaRecorder.isTypeSupported("audio/webm")?"audio/webm":"";i=g?new MediaRecorder(u,{mimeType:g}):new MediaRecorder(u);i.ondataavailable=function(n){n.data&&n.data.size>0&&h.push(n.data)};i.onstop=function(){if(h.length!==0){var n=new Blob(h,{type:i.mimeType||"audio/webm"});nt(n)}};i.start(250);c=setTimeout(function(){a()},d)}).catch(function(n){n.name==="NotAllowedError"?u("Mic access denied"):n.name==="NotFoundError"?u("No mic found"):u("Mic unavailable")})}function a(){e=!1;t.classList.remove("listening");o&&(o.style.transform="translate(-50%, -50%) scale(1)");l&&(cancelAnimationFrame(l),l=null);c&&(clearTimeout(c),c=null);i&&i.state!=="inactive"&&i.stop();s&&(s.getTracks().forEach(function(n){n.stop()}),s=null);r&&(r.close(),r=null)}function nt(i){t.classList.add("processing");n&&(n.textContent="Cleaning up...");var r=new FormData;r.append("audioFile",i,"recording.webm");$.ajax({url:"/Request/TranscribeDictation",type:"POST",data:r,processData:!1,contentType:!1,success:function(i){t.classList.remove("processing");i.success&&i.text?p.value=i.text:u(i.error||"Transcription failed");n&&(n.textContent="Dictate")},error:function(){t.classList.remove("processing");u("Transcription request failed");n&&(n.textContent="Dictate")}})}function u(i){t.classList.add("error");n&&(n.textContent=i,n.style.visibility="visible",n.style.opacity="1");setTimeout(function(){t.classList.remove("error");n&&(n.textContent="Dictate",n.style.visibility="",n.style.opacity="")},3e3)}var t=document.getElementById("rfqDictateBtn");if(t){var p=document.getElementById("rfq_description"),o=t.querySelector(".rfq-dictate-bubble"),n=t.querySelector(".rfq-dictate-tooltip"),r=null,f=null,s=null,i=null,h=[],c=null,l=null,e=!1,v=0,y=0,w=15,b=3e3,k=2e3,d=6e4;$(t).off("click.dictate").on("click.dictate",function(n){n.preventDefault();n.stopPropagation();g()});window._rfqDictateCleanup=function(){e&&a()}}}var LogoImpressionArray=[],isBot,ieVersion,articlesHorizontalCarouselVisible,videosCarouselVisible,productsCarouselVisible,productsCarouselVisibleSfx,articlesCarouselVisible,articlesWidgetVisible,suppliersCarouselVisible,StoreFront,StoreFrontNew,ProductViewsWidget,ProductEnquiryHoverWidget,Directory,Category,SearchSuppliers,SearchCategories,SearchProducts,SearchArticles,SupplierPanel,TradeAssurancePanel,SmallSubscribeBox,MyPage,MasterPage,OptimizedMasterPage,SubscriberForm,EnquiryForm,ProductPage,FeatureArticle,AddBusinessPage,SubscriptionAutoPopup,ProductCategoryPage,MegaMenu,ProductComparison,GenericCarousel,DirectoryGenericCarousel,GetQuoteHomeCarousel,NewProductPage,NewCategoryPage2018,initRFQLightForm;(function(){if(typeof fetch=="function"){var n=window.fetch;window.fetch=function(t){var i=typeof t=="string"?t:t&&t.url||"";return n.apply(this,arguments).then(function(n){return i.toLowerCase().indexOf("submitrfq")>=0&&n.clone().json().then(function(n){n&&n.data&&n.data.BuyerId>0&&setClarityBuyerId(n.data.BuyerId)}).catch(function(){}),n})}}})();jQuery(window).load(function(){var n=3;$(".gallery-inline").attr("galleryDisplay")&&(n=parseInt($(".gallery-inline").attr("galleryDisplay")));changeImagesGalleryHorizontalCarousel(".gallery-inline",300,n);changeVrticalProductsCarousel($(".products-carousel-control_cat").attr("max"),"_cat");$(".content-area .read-more-lnk").click()});isBot=!0;ieVersion=0;jQuery(document).ready(function(n){function t(){window.isBot=!1;document.removeEventListener("mousemove",t);document.removeEventListener("keypress",t)}document.addEventListener("mousemove",t);document.addEventListener("keypress",t);n(".back").click(function(n){n.preventDefault();window.history.go(-1)});window.ieVersion=detectIE();window.ieVersion>0&&n("body").addClass("ie"+window.ieVersion);n(".searchholder").each(function(){var t=n(this).attr("attr-q"),i=n(this).attr("attr-type");GetSearchResults(t,i)});n("img.veiled").unveil(200);n("body").delegate("a.search-area-load","click",function(t){t.preventDefault();var i=n(this).attr("attr-q"),r=n(this).attr("attr-type");return GetSearchResults(i,r,!0),!1});n(".statsholder").each(function(){var t=n(this).attr("attr-sid"),i=n(this).attr("attr-cid"),r=n(this).attr("attr-stype");UpdateStats(t,i,r)});n(".storefronInfoFollow a").each(function(){var t=n(this).attr("sid");UpdateStats(t,t,10)});n(".contenttype-icon, .panel-supplierbox .sf-level a").tooltip(),function(t,i,r){var u,f=t.getElementsByTagName(i)[0];t.getElementById(r)||(u=t.createElement(i),u.id=r,u.src="//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.0&appId="+n("#fb-root").attr("attr-id"),f.parentNode.insertBefore(u,f))}(document,"script","facebook-jssdk");n('a.ajax[data-toggle="modal"]').on("click",function(){return showModalByAttributes(n(this)),!1});n('a.external[data-toggle="modal"]').on("click",function(t){var i=n(t.currentTarget).data("target"),r=t.currentTarget.href,u=n(i),f=n(i+" .modal-body");return u.on("show.bs.modal",function(){f.html('<iframe width="100%" height="100%" frameborder="0" scrolling="yes" allowtransparency="true" src="'+r+'"><\/iframe>');n(this).find(".modal-dialog").css({width:"50%",height:"90%",padding:"0"});n(this).find(".modal-content").css({height:"100%","border-radius":"0",padding:"0"});n(this).find(".modal-body").css({width:"auto",height:"100%",padding:"0"})}).modal(),!1});n(window).on("resizeEnd",function(){productCarouselLogic(!1,"");productCarouselLogic(!1,"_related");productCarouselLogic(!1,"_hot");productCarouselLogic(!1,"_moreitems");changeArticlesCarousel();videosCarouselLogic()});if(productCarouselLogic(!1,""),productCarouselLogic(!1,"_related"),productCarouselLogic(!1,"_moreitems"),productCarouselLogic(!1,"_hot"),productCarouselLogic(!1,"_content"),changeRelDirsCarousel(),eventsCarouselLogic(),useditemsCarouselLogic(),videosCarouselLogic(),changeArticlesWidget(3),changeArticlesCarousel(n(".articles-carousel-control .jcarousel-control-horizontal").attr("max")),changeArticlesCarousel(n(".articles-carousel-control_sub .jcarousel-control-horizontal").attr("max"),"_sub"),n(".morecategories-lnk").live("click",function(){return n(this).hasClass("expanded")?(n(this).parents().find(".featured-cat-list").css("height","620px"),n(this).text("View more"),n(this).removeClass("expanded")):(n(this).parents().find(".featured-cat-list").css("height","auto"),n(this).text("View less"),n(this).addClass("expanded")),!1}),n(".product-articles .initArrow").live("click",function(t){t.preventDefault();var i=n(this).attr("attr-item"),r=n(this).attr("item-width"),u=n(this).attr("item-height");return n(".product-articles").showLoading(),n.post("/product/articles",{item:i,width:r,height:u},function(t){t!=""&&(n(".product-articles").html(t),changeProcessArticlesCarousel(4,""),n(".product-articles").hideLoading())}),!1}),n(".storefront .videos-carousel-control .initArrow").live("click",function(t){t.preventDefault();var i=n(this).attr("attr-supplier");return n(".content.videos").showLoading(),n.post("/storefront/videos",{supplier:i},function(t){t!=""&&(n(".content.videos").html(t),videosCarouselLogic(!0),n(".content.videos").hideLoading())}),!1}),n(".directory .videos-carousel-control .initArrow").live("click",function(t){t.preventDefault();var i=n(this).attr("attr-dirid"),r="/directory/videos/"+i;return n(".panel.videos").showLoading(),n.post(r,function(t){t!=""&&(n(".panel.videos").html(t),videosCarouselLogic(!0),n(".panel.videos").hideLoading())}),!1}),n(".category .articles-carousel-control_cat .initArrow").live("click",function(t){t.preventDefault();var i=n(this).attr("attr-itemid");return n(".panel-articles").showLoading(),n.post("/category/articles",{itemid:i},function(t){t!=""&&(n(".panel-articles").html(t),changeArticlesCarousel(n(".articles-carousel-control_cat").attr("max"),"_cat"),n(".contenttype-icon").tooltip(),n(".panel-articles").hideLoading())}),!1}),n(".bg-content .articles-carousel-control_cat .initArrow").live("click",function(t){t.preventDefault();var i=n(this).attr("attr-itemid"),r=n(this).attr("attr-columns"),u=n(".panel-articles").attr("attr-type");return n(".panel-articles").showLoading(),n.post("/article/featurearticles",{type:u,id:i,columns:r},function(t){t!=""&&(n(".panel-articles").html(t),changeArticlesCarousel(n(".articles-carousel-control_cat").attr("max"),"_cat"),n(".contenttype-icon").tooltip(),n(".panel-articles").hideLoading())}),!1}),n(".storefront .articles-carousel-control_cat .initArrow").live("click",function(t){t.preventDefault();var i=n(this).attr("attr-itemid");return n(".panel-articles").showLoading(),n.post("/storefront/articles",{supplier:i},function(t){t!=""&&(n(".panel-articles").html(t),changeArticlesCarousel(n(".articles-carousel-control_cat").attr("max"),"_cat"),n(".contenttype-icon").tooltip(),n(".panel-articles").hideLoading())}),!1}),n(".products-carousel-control_cat .initArrow").live("click",function(t){t.preventDefault();var r=n(this).attr("attr-itemid"),u=n(".panel-products").attr("dirid"),i=n(".products-carousel-control_cat").attr("max");return n(".panel-products").showLoading(),n.post("/category/hotproducts",{itemid:r,maxVisible:i,dirid:u},function(t){t!=""&&(n(".panel-products").html(t),changeVrticalProductsCarousel(i,"_cat"),n(".contenttype-icon").tooltip(),n(".panel-products").hideLoading())}),!1}),n(".articles-carousel-control .initArrow").live("click",function(t){t.preventDefault();var i=n(this).attr("attr-supplier");return n(".panel-articles").showLoading(),n.post("/storefront/articles",{supplier:i},function(t){t!=""&&(n(".panel-articles").html(t),changeArticlesCarousel(3),n(".panel-articles").hideLoading())}),!1}),n(".articles-control .initArrow").live("click",function(t){t.preventDefault();return n(".home-articles").showLoading(),n.post("/home/articles",function(t){t!=""&&(n(".home-articles").html(t),articlesHorizontalCarouselLogic(!0),n(".home-articles").hideLoading())}),!1}),n(".product .products-carousel-control .initArrow").live("click",function(t){var i;t.preventDefault();var r=n(".panel.hot-items").attr("attr-parentid"),u=n(".products-carousel-control .jcarousel-control-horizontal").attr("max"),f=n(".products-carousel-control .jcarousel-control-horizontal").attr("rows");return n(".panel.hot-items").showLoading(),i="/product/_relatedproducts",n.post(i,{product:r,maxVisible:u,width:"150",height:"150",rows:f},function(t){t!=""&&(n(".panel.hot-items").html(t),productCarouselLogic(!0,""));n(".panel.hot-items").hideLoading()}),!1}),n(".content .products-carousel-control .initArrow").live("click",function(t){var i;t.preventDefault();var r=n(".panel.hot-items").attr("attr-parentid"),u=n(".products-carousel-control").attr("max"),f=n(".products-carousel-control").attr("rows"),e=n(".panel.hot-items").attr("attr-type");return n(".panel.hot-items").showLoading(),i="/article/_relatedproducts",n.post(i,{id:r,type:e,maxVisible:u,width:"150",height:"150",rows:f},function(t){t!=""&&(n(".panel.hot-items").html(t),productCarouselLogic(!0,""));n(".panel.hot-items").hideLoading()}),!1}),n(".storefront-dirprods, .storefront .products-carousel-control .initArrow").live("click",function(t){t.preventDefault();var i=n(this).attr("attr-supplier"),r=n(this).attr("attr-dirid"),u=n(".products-carousel-control .jcarousel-control-horizontal").attr("max"),f=n(".products-carousel-control .jcarousel-control-horizontal").attr("rows");return n(".panel.hot-items").showLoading(),n.post("/storefront/directoryproducts",{supplier:i,prd_dir:r,maxVisible:u,width:"150",height:"150",rows:f},function(t){t!=""&&(n(".panel.hot-items").html(t),productCarouselLogic(!0,""));n(".panel.hot-items").hideLoading()}),!1}),n(".directory .lnk-allcategories").live("click",function(){var t=n(this).attr("attr-dirid"),i="/directory/getallcategories/"+t;return n(".directory .categories-panel").showLoading(),n.get(i,function(t){n(".directory .categories-panel").hideLoading();t!=""&&n(".directory .categories").hide().html(t).fadeIn()}),!1}),n(".directory .viewmore-cats-lnk a").live("click",function(){return n(this).hasClass("active")?(n(this).removeClass("active"),n(".directory .viewmore-cats-lnk a").html("View all..."),n(".directory .dirs-panel").find("li.cat-more").fadeOut()):(n(this).addClass("active"),n(".directory .viewmore-cats-lnk a").html("Most popular..."),n(".directory .dirs-panel").find("li.cat-more").fadeIn()),!1}),n(".directory .products-carousel-control_hot .initArrow").live("click",function(t){t.preventDefault();var i=n(this).attr("attr-dirid"),r="/directory/hotproducts/"+i;return n(".panel.hot-items").showLoading(),n.get(r,function(t){t!=""&&(n(".panel.hot-items").html(t),productCarouselLogic(!0,"_hot"));n(".panel.hot-items").hideLoading()}),!1}),n(".directory .useditems-carousel-control .initArrow").live("click",function(t){t.preventDefault();var i=n(this).attr("attr-dirid"),r="/directory/useditems/"+i;return n(".used-items").showLoading(),n.get(r,function(t){t!=""&&(n(".used-items").html(t),useditemsCarouselLogic());n(".used-items").hideLoading()}),!1}),n(".directory .events-carousel-control .initArrow").live("click",function(t){t.preventDefault();var i=n(this).attr("attr-dirid"),r="/directory/events/"+i;return n(".events").showLoading(),n.get(r,function(t){t!=""&&(n(".events").html(t),eventsCarouselLogic());n(".events").hideLoading()}),!1}),n(".btn-follow").live("click",function(){var t=this,i="/Subscriber/Follow",r;return n(t).find(".btnFollowText").text().indexOf("Follow")!=0&&(i="/Subscriber/Unfollow"),r=n(t).attr("sid"),n.post(i,{supplier:r},function(i){var r,u,f;if(i.message!="followsuccess"&&i.message!="unfollowsuccess")return i.message.indexOf("<script")==0?(n(".followModalBody").load(n(t).attr("attr-href")),n("#followModal").modal("show"),!1):(i.message=="Already subscribed"?n(t).find(".btnFollowText").text("Stop following"):n(t).find(".btnFollowText").text("Follow"),alert(i.message),!1);n(t).parents().closest(".storefronInfoFollow, .storefrontFollow ").find(".CountFollowers").text("Followers: "+i.count);r="";u="";n(t).find(".btnFollowText").text().indexOf("Follow")==0?(r="Stop following",u="attr-unfollowtext"):(r="Follow",u="attr-followtext");f=n(t).attr(u);typeof f!=typeof undefined&&f!==!1&&(r=f);n(t).find(".btnFollowText").text(r)}),!1}),n(".shareIconsContainer a").live("click",function(t){var o;if(t.preventDefault(),n(t.target).data("oneclicked")!="yes"){n(t.target).data("oneclicked","yes");var s=n(this).attr("class"),u=n(this).attr("attr-u")!=""?n(this).attr("attr-u"):n('meta[property="og:url"]').attr("content"),f=n(this).attr("attr-t")!=""?n(this).attr("attr-t"):n('meta[property="og:title"]').attr("content"),e=n(this).attr("attr-fbid")!=""?n(this).attr("attr-fbid"):fb_AppId,i=n(this).attr("attr-p"),r=n(this).attr("attr-d");u=typeof u=="undefined"||u===""?location.href:u;f=typeof f=="undefined"||f===""?document.title:f;e=typeof e=="undefined"||e===""?fb_AppId:e;i=typeof i=="undefined"||i===""?n('meta[property="og:image"]').attr("content"):i;r=typeof r=="undefined"||r===""?n('meta[property="og:description"]').attr("content"):r;i=typeof i=="undefined"?"":i;r=typeof r=="undefined"?"":r;o=window[s];o(u,f,i,r,e);n(t.target).data("oneclicked","")}return!1}),n(".read-promo-lnk").live("click",function(){return n(".promo-message").fadeIn(),n(this).hide(),n(".promo-btn").click(),!1}),n(".cat-read-more-lnk").live("click",function(){return n(".cat-desc-readmore").fadeIn(),n(this).hide(),!1}),n(".commentRefreshCapcha a").live("click",function(t){var i,r;return t.stopPropagation(),i="ffffff",n(this).attr("data-ref-bg-color")&&(i=n(this).attr("data-ref-bg-color")),r="/Storefront/RefreshCapcha?capchaName=commentImg&backgroundcolor="+i+"&fontcolor=333333",n(this).closest("div.capcha-group").find(".enqFrmCptHldr").load(r),!1}),n(".catShowMoreGeoLink a").live("click",function(){return n(".catHiddenGeo").slideDown(),n(".catShowMoreGeoLink").hide(),!1}),n(".unsubscribe .enqRefreshCapcha a").live("click",function(t){t.stopPropagation();return n(".sHURSyCptHldr").load("/Storefront/RefreshCapcha"),!1}),n("#subscribe-modal form").live("submit",function(t){t.stopPropagation();var i=n(this).find(".email").val(),r=n(this).find("#formversion").val(),u=n(this).find("#subscription-pid").val();return i!=""&&validateEmail(i)?(n(".loginModalBody .topErrMsg").html("").hide(),n("#subscribe-modal .topErrMsg").html("").hide(),n(this).find(".email").removeClass("ErrorField"),n.get("/newsservice/isemailexists?email="+encodeURIComponent(i),function(t){t==="true"?n(".loginModalBody").load("/newsservice/signup?Login=Y",function(){n("#subscribe-modal").modal("hide");n("#loginModal").modal("show");n(".loginModalBody .topErrMsg").show();n(".loginModalBody .topErrMsg li").html("This e-mail address already exists. Please sign in below.");n(".loginModalBody #txtLoginEmail").val(i)}):n.get("/BuyerPanel?nlEmail="+encodeURIComponent(i)+"&formversion="+r,function(t){t==="true"&&dataLayer.push({event:"SubmitAjaxForm",eventCategory:"Site",eventAction:"Newsletter subscribe autopopup",eventLabel:"",eventValue:undefined});n("#subscribe-modal").modal("hide");window.location.href="/BuyerPanel"})})):(n(this).find(".email").addClass("ErrorField"),n("#subscribe-modal .topErrMsg li").html("Please enter a valid e-mail address"),n("#subscribe-modal .topErrMsg").show()),!1}),n(".link-back").live("click",function(){history.length>1?n(this).attr("href",document.referrer):n(this).attr("href","/")}),verticalCarouselSafari(),n(".directories .more-cats-lnk a").live("click",function(){return n(this).hasClass("active")?(n(this).removeClass("active"),n(this).html("More..."),n(this).closest("ul").find("li.cat-more").fadeOut()):(n(this).addClass("active"),n(this).html("Most popular..."),n(this).closest("ul").find("li.cat-more").fadeIn()),!1}),!!n(".OutsideShareLinks .sharing-links").offset()){var i=n(".OutsideShareLinks .sharing-links").offset().top;n(window).scroll(function(){var t=n(window).scrollTop();i<t+65?n(".OutsideShareLinks .sharing-links").css({position:"fixed",top:"65px"}):n(".OutsideShareLinks .sharing-links").css({position:"static"})});n(".OutsideShareLinks .sharing-links .follow a").live("click",function(){var t=n(this).attr("title");TrackGoogleAnalyticsEvent("","Follow icons tracking",t,"")});n(".OutsideShareLinks .sharing-links .share a, .rrssb-buttons a").live("click",function(){var t=n(this).attr("title");TrackGoogleAnalyticsEvent("","Share icons tracking",t,"")})}n(".btn-showcomments").on("click",function(){return n(this).hide(),n(".panel-comments").slideDown("fast"),!1});n(".storefront-products .item-image,.storefront-products .item-image ").mouseenter(function(){n(this).addClass("zoom")}).mouseleave(function(){n(this).removeClass("zoom")});n(".smooth-scroll").on("click",function(t){var f,i,e,o,s,r,u;t.preventDefault();f=n(this).attr("href");i=n("#bottom-anchor");i.length||(n("body").append('<a id="bottom-anchor" href="#">&nbsp;<\/a>'),i=n("#bottom-anchor"));e=window.scrollX;o=window.scrollY;i.focus();window.scrollTo(e,o);n("html, body").animate({scrollTop:n(f).offset().top},1500);s=n(this);setTimeout(function(){var t=s.attr("initial-focus-elem"),i;t&&(i=n("#"+t),i.focus())},1600);r=n(this).attr("grey-out-area");r?(u=n(r),setTimeout(function(){u.fadeTo("slow","0.2");i.on("blur",function(){setTimeout(function(){u.fadeTo("slow","1");i.remove()},500)})},1500)):i.remove()});n(function(){n("a[href*=#]:not([href=#])").click(function(){if(location.pathname.replace(/^\//,"")==this.pathname.replace(/^\//,"")&&location.hostname==this.hostname){var t=n(this.hash);if(t=t.length?t:n("[name="+this.hash.slice(1)+"]"),t.length)return n("html,body").animate({scrollTop:t.offset().top},1e3),!1}})});n(document).ajaxSuccess(function(n,t,i){if(i.url&&i.url.toLowerCase().indexOf("submitrfq")>=0)try{var r=t.responseJSON||JSON.parse(t.responseText);r&&r.data&&r.data.BuyerId>0&&setClarityBuyerId(r.data.BuyerId)}catch(u){}})});$(".emailShareButton a").live("click",function(n){if($(n.target).data("oneclicked")!="yes"){var t=$(".frmEmailShare"),i=t.serialize();$.post($(t).attr("action"),i,function(n){n=="True"&&$("#emailshare-modal").modal("hide")})}return $(n.target).data("oneclicked","yes"),!1});$("#contactInfoModal").on("shown.bs.modal",function(){CountContactDetails(this)});$(".storefront-products a:not([href=#])").live("click",function(){var n=$(".supplier-info-description");return CountVisitWebsite(n),!0});$(".supplier-info-description a:not([href=#])").live("click",function(){var n=$(this).closest(".supplier-info-description");CountVisitWebsite(n)});$('a[href*="supplier-options"], a[href*="supplier-options"], .storefronInfoWebsite a, a.storefronInfoWebsite, .CustomLinkTrackerClass').live("click",function(){var n=$(this);CountVisitWebsite(n)});$(".gallery-inline .large-image-item a").live("click",function(n){n.preventDefault();var t=$(this).attr("title"),i=$(this).attr("attr-img-domain")+$(this).attr("attr-img");return $("#image-modal div.modal-body .img-object img").attr("src",i),$("#image-modal .modal-title").html(t),$("#image-modal div.modal-body .img-object").hide(),$("#image-modal").modal("show"),setTimeout(rrssbInit,500),!1});$("#image-modal button").click(function(){$("#image-modal div.modal-body .img-object img").attr("src","");$("#image-modal .modal-title").html("")});$("#image-modal").on("shown.bs.modal",function(){var n=$("#image-modal div.modal-body .img-object img"),t;$(n).css("left","0");changeImagesGalleryHorizontalCarousel("#image-modal",500,8);n[0].naturalHeight>n[0].naturalWidth&&(t=($(n).parent().width()-n[0].naturalWidth)/2,$(n).css("left",t+"px"));$(n).parent().fadeIn();$("#image-modal .large-image-item").fadeIn()});$(".video-item a").live("click",function(n){var i,t,r,u;return(n.preventDefault(),i=$(this).closest(".video-item").find(".item-title").html(),t=$(this).closest(".video-item").find("input").val(),t==="")?!0:(t.startsWith("<iframe")&&(r=t.indexOf("<\/iframe>"),t=t.substring(0,r+9)),t.match("^http")?(t.indexOf("https")<0&&(t=t.replace("http","https")),t=t.replace("watch?v=","embed/"),u='<iframe width="560" height="315" src="'+t+'?wmode=transparent&autoplay=1" frameborder="0" allowfullscreen><\/iframe>',$("#video-modal div.modal-body").html(u)):$("#video-modal div.modal-body").html(decodeURIComponent(t)),$("#video-modal .modal-title").html(i),$("#video-modal").modal("show"),!1)});$("#video-modal button").click(function(){$("#video-modal iframe").removeAttr("src");$("#video-modal div.modal-body").html("");$("#video-modal .modal-title").html("")});$("#video-modal").on("hidden.bs.modal",function(){$("#video-modal iframe").removeAttr("src");$("#video-modal div.modal-body").html("");$("#video-modal .modal-title").html("")});$(".follow-btn").click(function(){return $("#login-modal div.modal-body").load($(this).attr("href")),$("#login-modal").modal("show"),!1});$(window).resize(function(){updateSearchPlaceHolder();this.resizeTO&&clearTimeout(this.resizeTO);this.resizeTO=setTimeout(function(){$(this).trigger("resizeEnd")},500)});jQuery(document).ready(function(n){n('[data-toggle="tooltip"]').tooltip();updateSearchPlaceHolder();n(".sHURSyInfo").hover(function(){n(this).find(".dHURSyInfoPane:first").show()},function(){n(this).find(".dHURSyInfoPane:first").hide()});n("#haveYourSay").on("submit",function(){return n("#submitComment").attr("disabled","disabled"),n(".panel-haveyoursayform").showLoading(),n("#dHURSySbmtRslt").fadeIn(),n("#dHURSySbmtRslt").html("Sending..."),n.ajax({url:n("#haveYourSay").attr("action"),type:"post",data:n("#haveYourSay").serialize(),success:_article_haveYourSay_result}),!1});n(".searchstate input").live("click",function(){var t=n(this).attr("AttrStateID");t==="1"?(n(this).attr("checked")=="checked"||n(this).attr("checked")==!0)&&n(".stateSearch .chkSearchState").each(function(){n(this).attr("AttrStateID")!==t&&n(this).removeAttr("checked")}):n(".searchstate #searchstate_1").attr("checked",!1)});n(".btnreloadstates").live("click",function(){var t=n("form.form-filter-states");n(t).find("#PageNo").val("1");n(t).submit()})});window.isTouchDevice="ontouchstart"in window||navigator.maxTouchPoints;StoreFront=function(n,t){this.init(n,t)};StoreFront.prototype={init:function(n,t){this.initMoreArticlesLink(n);this.initShowFullPhoneNumber();this.initReadMore();this.initFollowButton(n,t)},initReadMore:function(){var n=this;n.initContentsHeight||(n.initContentsHeight=$("#storefront-header .contents").height());$(".storefront .read-more").on("click",function(){if($(this).text().indexOf("More")===0){$("#storefront-header .contents").css("max-height","none");$(".storefront-about").show();var t=$("#storefront-header .contents").height();t-n.initContentsHeight>2?$(this).text("« Less"):$(this).hide()}else $(this).text("More »"),$("#storefront-header .contents").css("max-height","5.8em"),$(".storefront-about").hide();return!1})},initMoreArticlesLink:function(n){var t=this;$("#more-articles a").on("click",function(){var i=$(this),r,f,u;return i.hasClass("isLoading")?!1:(i.addClass("isLoading"),r=i.parent(),r.showLoading(),f=$("#recent-articles > div").length-1,u=13,$.ajax({url:"/storefront/recentarticles/"+n,type:"GET",data:{offset:f,take:u},dataType:"json",success:function(n){t.appendArticles(n,u)},error:function(){alert("Sorry! Our server isn't responding. Please try again later.")},complete:function(){i.removeClass("isLoading");r.hideLoading()}}),!1)})},initShowFullPhoneNumber:function(){$("#shortened-phone").on("click",function(n){var t,i;n.preventDefault();t=$(this).attr("attr-supplierid");i=$(this).attr("attr-statscode");UpdateStats(t,t,i);var r=$(this).attr("attr-portal"),u=$(this).attr("attr-suppliername")+" - "+$(this).attr("attr-contentid"),f=$(this).attr("attr-gacategory");TrackGoogleAnalyticsEvent(r,f,"Call",u);$(this).hide();$("#full-phone").attr("style","display:inline-block")})},initFollowButton:function(n,t){$.ajax({url:"/storefront/getisfollowed",data:{supplierId:n,portalId:t},success:function(n){var t=n.isSubscribed===!0?"Stop following":"Follow";$(".btnFollowText").text(t);$(".btnFollowText").parent().show();n.numSubscribed>0&&($(".CountFollowers").text("Followers: "+n.numSubscribed),$(".CountFollowers").show())}})},appendArticles:function(n,t){for(var u=0;u<n.length;u++){if(u===t-1)break;var r=n[u],f=r.Title.replace('"/g','\\"'),i='<div class="col-xl-2 col-md-5ths col-sm-4 col-xs-6"><div class="category-article">';i+='<a href="'+r.Url+'" class="category-article-link">';r.HasVideo&&(i+='<i class="item-thumb-icon fa fa-play youtube-play"><\/i>');i+='<div class="category-article-img">';i+='<img class="list-item-contentimage" alt="'+f+'" title="'+f+'" src="'+r.ImageUrl+'"/>';i+='<div class="category-article-details img-overlay-label"><span class="category-article-title">'+r.Title;i+='<\/span><div class="category-article-supplier">';r.SupplierName&&(i+=r.SupplierName);i+="<\/div><\/div><\/div><\/div>";$("#more-articles").before(i)}n.length<=t-1&&$("#more-articles").hide()}};StoreFrontNew=function(n,t){this.init(n,t)};StoreFrontNew.prototype={init:function(n){this.initMoreArticlesLink(n);this.initShowFullPhoneNumber();this.initFollowButton();this.initTabPane();this.initTrackingPhoneFindUsIn();this.initNewEnquiryForm2018();this.initVideoTracking(n);this.initMobileCallButton()},initMoreArticlesLink:function(n){var t=this;$("#more-articles a").on("click",function(){var i=$(this),r,f,u;return i.hasClass("isLoading")?!1:(i.addClass("isLoading"),r=i.parent(),r.showLoading(),f=$("#recent-articles > div").length-1,u=13,$.ajax({url:"/storefront/recentarticles/"+n,type:"GET",data:{offset:f,take:u},dataType:"json",success:function(n){t.appendArticles(n,u)},error:function(){alert("Sorry! Our server isn't responding. Please try again later.")},complete:function(){i.removeClass("isLoading");r.hideLoading()}}),!1)})},initShowFullPhoneNumber:function(){$("#shortened-phone").live("click",function(n){var t,i;n.preventDefault();t=$(this).attr("attr-supplierid");i=$(this).attr("attr-statscode");UpdateStats(t,t,i);var r=$(this).attr("attr-portal"),u=$(this).attr("attr-suppliername")+" - "+$(this).attr("attr-contentid"),f=$(this).attr("attr-gacategory");TrackGoogleAnalyticsEvent(r,f,"Call",u);$(this).hide();$("#full-phone").show()});$("#shortened-phone-v2").live("click",function(n){var t,i;n.preventDefault();t=$(this).attr("attr-supplierid");i=$(this).attr("attr-statscode");UpdateStats(t,t,i);var r=$(this).attr("attr-portal"),u=$(this).attr("attr-suppliername")+" - "+$(this).attr("attr-contentid"),f=$(this).attr("attr-gacategory");TrackGoogleAnalyticsEvent(r,f,"Call",u);$(this).hide();$("#full-phone-v2").show()});$("#shortened-phone-v3").on("click",function(n){var t,i;n.preventDefault();t=$(this).attr("attr-supplierid");i=$(this).attr("attr-statscode");UpdateStats(t,t,i);var r=$(this).attr("attr-portal"),u=$(this).attr("attr-suppliername")+" - "+$(this).attr("attr-contentid"),f=$(this).attr("attr-gacategory");TrackGoogleAnalyticsEvent(r,f,"Call",u);$(this).hide();$("#full-phone-v3").attr("style","display:inline-block")})},initFollowButton:function(){$("#btnFollow").live("click",function(){var t="/Subscriber/Follow",i=$(this).attr("isFollowed");i==1&&(t="/Subscriber/Unfollow");var r=$(this).attr("sid"),n=$(this),u=$(".followModalBody"),f=$("#followModal");return $.post(t,{supplier:r},function(t){var i;if(t.message!="followsuccess"&&t.message!="unfollowsuccess")return t.message.indexOf("<script")==0?($(u).load($(n).attr("attr-href")),$(f).modal("show"),!1):(t.message=="Already subscribed"?(i='<i style="color: #434343 !important" class="fas fa-user-plus"><\/i><span style="color: #434343; text-decoration:underline;">UnFollow<\/span>',$(n).attr("isFollowed",1),$(".followerNumber").text(t.count),$(n).html(i)):(i='<i style="color: #434343 !important" class="fas fa-user-plus"><\/i><span style="color: #434343; text-decoration: underline;">Follow<\/span>',$(n).attr("isFollowed",0),$(".followerNumber").text(t.count),$(n).html(i)),alert(t.message),!1);t.message=="unfollowsuccess"?(i='<i style="color: #434343 !important" class="fas fa-user-plus"><\/i><span style="color: #434343; text-decoration: underline">Follow<\/span>',$(n).attr("isFollowed",0),$(n).attr("follower",t.count),$(".followerNumber").text(t.count),$(n).html(i)):t.message=="followsuccess"&&(i='<i style="color: #434343 !important" class="fas fa-user-plus"><\/i><span style="color: #434343; text-decoration: underline">UnFollow<\/span>',$(n).attr("isFollowed",1),$(n).attr("follower",t.count),$(".followerNumber").text(t.count),$(n).html(i))}),!1})},initTabPane:function(){$("#storefront-tabs > li > a").on("click",function(n){n.preventDefault();n.stopImmediatePropagation();$(this).tab("show")});window.setTimeout(function(){$("#storefront-tabs > li:first > a").trigger("click")},100)},appendArticles:function(n,t){for(var u=0;u<n.length;u++){if(u===t-1)break;var r=n[u],f=r.Title.replace('"/g','\\"'),i='<div class="col-xl-2 col-md-5ths col-sm-4 col-xs-6"><div class="category-article">';i+='<a href="'+r.Url+'" class="category-article-link">';r.HasVideo&&(i+='<i class="item-thumb-icon fa fa-play youtube-play"><\/i>');i+='<div class="category-article-img">';i+='<img class="list-item-contentimage" alt="'+f+'" title="'+f+'" src="'+r.ImageUrl+'"/>';i+='<div class="category-article-details img-overlay-label"><span class="category-article-title">'+r.Title;i+='<\/span><div class="category-article-supplier">';r.SupplierName&&(i+=r.SupplierName);i+="<\/div><\/div><\/div><\/div>";$("#more-articles").before(i)}n.length<=t-1&&$("#more-articles").hide()},initTrackingPhoneFindUsIn:function(){$(".PartialFindUsIn").each(function(n,t){var i=$(t).data("url");i&&i.length>0&&$(t).load(i)});var n=$(window).width(),r=$(window).height(),i=$("#storefront_mobile_call").data("shortphone"),t=$("#storefront_mobile_call").data("fullphone");if(n>=420&&n<=991){$("#storefront_mobile_call").find("span").text(i);$("#storefront_mobile_call").find("span").css({"text-decoration":"underline"});$("#storefront_mobile_call").on("click",function(n){var i,r;n.preventDefault();i=$(this).attr("attr-supplierid");r=$(this).attr("attr-statscode");UpdateStats(i,i,r);var u=$(this).attr("attr-portal"),f=$(this).attr("attr-suppliername")+" - "+$(this).attr("attr-contentid"),e=$(this).attr("attr-gacategory");TrackGoogleAnalyticsEvent(u,e,"Call",f);$(this).find("span").text(t);$(this).attr("href","javascript:void();")})}else $("#storefront_mobile_call").on("click",function(n){var i,r;n.preventDefault();i=$(this).attr("attr-supplierid");r=$(this).attr("attr-statscode");UpdateStats(i,i,r);var u=$(this).attr("attr-portal"),f=$(this).attr("attr-suppliername")+" - "+$(this).attr("attr-contentid"),e=$(this).attr("attr-gacategory");TrackGoogleAnalyticsEvent(u,e,"Call",f);$(this).attr("href","tel:"+t);window.location=$(this).attr("href")})},initNewEnquiryForm2018:function(){$(".active-enq-popup").on("click",function(){var n=$("#enquiry-modal-new").find(".modal-content > .modal-body"),t=$("#enquiry-modal-new"),i=$(this).attr("attr-portalId"),r=$(this).attr("attr-type"),u=$(this).attr("attr-supplierId"),f=$(this).attr("attr-productId"),e=$(this).attr("attr-productName"),o=$(this).attr("attr-supplierName"),s=$(this).attr("attr-productImageUrl"),h=$(this).attr("attr-supplierLogoUrl"),c=$(this).attr("attr-isFreeSupplier"),l=$(this).attr("attr-enq-type"),a=$(this).attr("attr-enq-position"),v=$(n).find("#btnProductEnquirySubmit");$.ajax({url:"/Enquiry/LoadEnquiryForm",method:"GET",dataType:"html",data:{enqType:l,pageType:r,portalId:i,supplierId:u,productId:f,productName:e,supplierName:o,productImageUrl:s,supplierLogoUrl:h,isFreeSupplier:c},success:function(i){$(n).html(i);$(t).modal();window.setTimeout(function(){$(n).find("#btnProductEnquirySubmit").addClass(a)},200)},error:function(){alert("err")}})})},initVideoTracking:function(n){$(".video-item a").live("click",function(t){t.preventDefault();UpdateStats(n,n,11)});$("#video-modal button").click(function(){$("#video-modal iframe").removeAttr("src");$("#video-modal div.modal-body").html("");$("#video-modal .modal-title").html("")});$("#video-modal").on("hidden.bs.modal",function(){$("#video-modal iframe").removeAttr("src");$("#video-modal div.modal-body").html("");$("#video-modal .modal-title").html("")})},initMobileCallButton:function(){$(".btn-call-supplier").live("click",function(n){var t,i,r;n.preventDefault();t=$(this).attr("attr-supplierid");i=$(this).attr("attr-statscode");UpdateStats(t,t,i);var u=$(this).attr("attr-portal"),f=$(this).attr("attr-suppliername")+" - "+$(this).attr("attr-contentid"),e=$(this).attr("attr-gacategory");TrackGoogleAnalyticsEvent(u,e,"Call",f);r=$(this).attr("attr-phonenumber");window.location="tel:"+r});$(".js-supplier-call").live("click",function(n){var t,i,r;n.preventDefault();t=$(this).attr("attr-supplierid");i=$(this).attr("attr-statscode");UpdateStats(t,t,i);var u=$(this).attr("attr-portal"),f=$(this).attr("attr-suppliername")+" - "+$(this).attr("attr-contentid"),e=$(this).attr("attr-gacategory");TrackGoogleAnalyticsEvent(u,e,"Call",f);r=$(this).attr("attr-phonenumber");window.location="tel:"+r})}};ProductViewsWidget=function(n){this.init(n)};ProductViewsWidget.prototype={init:function(n){var t=[];$(".prod-viewed").each(function(){var n=$(this).attr("id").substring(12);t.push(n)});t.length&&$.ajax({url:"/api/productviews",data:{commaDelimitedProductIds:t.join(),isOnlyShowNew:n===!0},dataType:"json",success:function(t){for(var i,r=0;r<t.length;r++)i=t[r],!n&&i.TotalViews>100?$("#prod-viewed-"+i.ProductId).html("<span>"+i.TotalViews+" views<\/span>"):i.IsNew&&($("#prod-viewed-"+i.ProductId).html("<span>NEW!<\/span>"),$("#prod-viewed-"+i.ProductId).addClass("prod-new"));$(".prod-viewed").css("visibility","visible")}})}};ProductEnquiryHoverWidget=function(){this.init()};ProductEnquiryHoverWidget.prototype={init:function(){this.initMouseOverHandling();this.initContactSupplierBox()},initMouseOverHandling:function(){if(!window.isTouchDevice){$("a.category-product-link").on("mouseenter",function(){$(this).addClass("mousehover")});$("a.category-product-link").on("mouseleave",function(){$(this).removeClass("mousehover")})}},initContactSupplierBox:function(){$(".product-hover-widget-container").delegate("a.category-product-link .category-product-contact-supplier","click",function(n){n.preventDefault();var t=$(this).parent().parent().find(".category-product-img img")[0].outerHTML,i=$(this).parent().parent().find(".category-product-details").html();return window.showEntireModalByAttributes($(this),t,i),!1})}};Directory=function(n){this.init(n)};Directory.prototype={init:function(n,t){this.initMoreCategoriesLink(n);this.initMoreArticlesLink(n);this.initMoreProductsLink(n,t);this.initMoreLatestArticlesLink(n);this.initMoreLatestProductsLink(n);this.trackingLogoImpression();var i=new ProductViewsWidget(!0),r=new ProductEnquiryHoverWidget},initMoreCategoriesLink:function(n){var t=this;$("#more-categories a").on("click",function(){var i=$(this),r,f,u;return i.hasClass("isLoading")?!1:(i.addClass("isLoading"),r=i.parent(),r.showLoading(),f=$("#popular-categories > div").length-1,u=11,$.ajax({url:"/directory/popularcategories",type:"GET",data:{offset:f,take:u,directoryId:n},dataType:"json",success:function(n){t.appendCategories(n,u)},error:function(){alert("Sorry! Our server isn't responding. Please try again later.")},complete:function(){i.removeClass("isLoading");r.hideLoading()}}),!1)})},initMoreArticlesLink:function(n){var t=this;$("#more-articles a").on("click",function(){var i=$(this),r,f,u;return i.hasClass("isLoading")?!1:(i.addClass("isLoading"),r=i.parent(),r.showLoading(),f=$("#recent-articles > div").length-1,u=11,$.ajax({url:"/directory/recentarticles",type:"GET",data:{offset:f,take:u,directoryId:n},dataType:"json",success:function(n){t.appendArticles(n,u)},error:function(){alert("Sorry! Our server isn't responding. Please try again later.")},complete:function(){i.removeClass("isLoading");r.hideLoading()}}),!1)})},initMoreProductsLink:function(n,t){var i=this;$("#more-products a").on("click",function(){var r=$(this),u,e,f;return r.hasClass("isLoading")?!1:(r.addClass("isLoading"),u=r.parent(),u.showLoading(),e=$('#latest-products div.category-product:not(".category-hot-product")').length-1,f=11,$.ajax({url:"/directory/latestproducts",type:"GET",data:{offset:e,take:f,directoryId:n},dataType:"json",success:function(n){i.appendProducts(n,f,t);var r=new ProductViewsWidget(!0),u=new ProductEnquiryHoverWidget},error:function(){alert("Sorry! Our server isn't responding. Please try again later.")},complete:function(){r.removeClass("isLoading");u.hideLoading()}}),!1)})},initMoreLatestArticlesLink:function(n){var t=this;$("#recent-articles a.view-more-articles").on("click",function(){var i=$(this),u,r,f,e,o;return i.hasClass("isLoading")?!1:(i.addClass("isLoading"),u=i.parent(),u.showLoading(),r=$(".article-individual-item",i.parent()).length,f=$(this).data("article-counters"),f||$(this).data("article-counters",r),e=i.data("pageSize"),o=i.data("isBuyingGuide"),$.ajax({url:"/directory/getDirectoryLatestArticles",type:"GET",data:{offset:r,take:e,directoryId:n,isBuyingGuide:o},dataType:"json",success:function(n){t.appendLatestArticles(i,n,e)},error:function(){alert("Sorry! Our server isn't responding. Please try again later.")},complete:function(){i.removeClass("isLoading");u.hideLoading()}}),r-f+20>60&&$("#recent-articles a.view-more-articles").hide(),!1)})},initMoreLatestProductsLink:function(n){var t=this;$("#latest-products a.view-more-products").on("click",function(){var i=$(this),f,r,e,u;return i.hasClass("isLoading")?!1:(i.addClass("isLoading"),f=i.parent().parent(),f.showLoading(),r=$('#latest-products div.category-product:not(".category-hot-product")').length,e=$(this).data("product-counters"),e||$(this).data("product-counters",r),u=12,$.ajax({url:"/directory/getDirectoryLatestProducts",type:"GET",data:{offset:r,take:u,directoryId:n},dataType:"json",success:function(n){t.appendLatestProducts(n,u);var i=new ProductViewsWidget(!0),r=new ProductEnquiryHoverWidget},error:function(){alert("Sorry! Our server isn't responding. Please try again later.")},complete:function(){i.removeClass("isLoading");f.hideLoading()}}),r-e+2*u>100&&$("#latest-products #more-products-container").hide(),!1)})},appendCategories:function(n,t){for(var r=0;r<n.length;r++){if(r===t-1)break;var u=n[r],f=u.Title.replace('"/g','\\"'),i='<div class="col-xl-2 col-md-5ths col-sm-4 col-xs-6"><div class="category-item">';i+='<a href="'+u.Url+'" class="category-item-link">';i+='<div class="category-item-img">';i+='<img class="list-item-contentimage" alt="'+f+'" title="'+f+'" src="'+u.ImageUrl+'"/>';i+="<\/div>";i+='<div class="category-item-details"><span class="text-center category-item-title">'+u.Title;i+="<\/span><\/div><\/div><\/div>";$("#more-categories").before(i)}n.length<=t-1&&$("#more-categories").hide()},appendArticles:function(n,t){for(var u=0;u<n.length;u++){if(u===t-1)break;var r=n[u],f=r.Title.replace('"/g','\\"'),i='<div class="col-xl-2 col-md-5ths col-sm-4 col-xs-6"><div class="category-article">';i+='<a href="'+r.Url+'" class="category-article-link">';r.HasVideo&&(i+='<i class="item-thumb-icon fa fa-play youtube-play"><\/i>');i+='<div class="category-article-img">';i+='<img class="list-item-contentimage" alt="'+f+'" title="'+f+'" src="'+r.ImageUrl+'"/>';i+='<div class="category-article-details img-overlay-label"><span class="category-article-title">'+r.Title;i+='<\/span><div class="category-article-supplier">';r.SupplierName&&(i+=r.SupplierName);i+="<\/div><\/div><\/div><\/div>";$("#more-articles").before(i)}n.length<=t-1&&$("#more-articles").hide()},appendProducts:function(n,t,i){for(var f=0;f<n.length;f++){if(f===t-1)break;var u=n[f],e=u.Title.replace('"/g','\\"'),r='<div class="col-xl-2 col-md-5ths col-sm-4 col-xs-6"><div class="category-product">';r+='<a href="'+u.Url+'" class="category-product-link">';u.HasVideo&&(r+='<i class="item-thumb-icon fa fa-play youtube-play"><\/i>');r+='<div class="category-product-img">';r+='<img class="list-item-contentimage" alt="'+e+'" title="'+e+'" src="'+u.ImageUrl+'"/>';r+='<span class="prod-viewed" id="prod-viewed-'+u.ID+'">50 views or less<\/span>';r+="<\/div>";r+='<div class="category-product-details"><span class="category-product-title">'+u.Title;r+='<\/span><div class="category-product-supplier">';u.SupplierName&&(r+=u.SupplierName);r+="<\/div><\/div>";r+='<div class="category-product-extra"><div class="category-product-extra-desc">'+u.Paragraph+"<\/div>";r+='<div class="category-product-contact-supplier" attr-type="c" attr-sid="'+u.SupplierID+'" attr-stitle="'+u.SupplierName+'" attr-pid="'+i+'" attr-initfunction="EnquiryFormInit" attr-did="'+u.ID+'" data-target="#enquiry-modal">';r+="<strong>Enquire<\/strong><\/div><\/div>";r+="<\/div><\/div>";$("#more-products").before(r)}n.length<=t-1&&$("#more-products").hide()},appendLatestArticles:function(n,t,i){for(var u=0;u<t.length;u++){if(u===i)break;var f=t[u],e=f.Title.replace('"/g','\\"'),r='<a href="'+f.Url+'" class="category-article-link">';r+='<div class="article-individual-item">';r+='<div class="left-area">';r+='<img class="list-item-contentimage" alt="'+e+'" title="'+e+'" src="'+f.ImageUrl+'"/>';r+="<\/div>";r+='<div class="right-area">';r+='<div class="title">'+e+"<\/div>";r+='<div class="author">';r+='<a href="'+f.SupplierStoreFrontUrl+'">'+f.SupplierName+"<\/a>";r+="<\/div>";r+="<\/div>";r+='<div style="clear:both; font-size:0; height:0;"><\/div>';r+="<\/div>";n.before(r)}t.length<i&&n.hide()},appendLatestProducts:function(n,t){for(var u=0;u<n.length;u++){if(u===t)break;var r=n[u],f=r.Title.replace('"/g','\\"'),i='<div class="category-product">';i+='<a href="'+r.Url+'" class="category-product-link">';i+='<div class="category-product-img">';i+='<img class="list-item-contentimage veiled" alt="'+f+'" title="'+f+'" src="'+r.ImageUrl+'"  data-src="'+r.ImageUrl+'"/>';i+='<span class="prod-viewed" id="prod-viewed-'+r.Id+'"><\/span>';i+="<\/div>";i+='<div class="category-product-details">';i+='<div class="title">'+r.Title+"<\/div>";i+='<div class="supplier">';i+='<a href="'+r.SupplierStoreFrontUrl+'">'+r.SupplierName+"<\/a>";i+="<\/div>";i+="<\/div>";i+="<\/a>";i+="<\/div>";$("#latest-products #more-products-container").before(i)}n.length<=t-1&&$("#latest-products #more-products-container").hide()},trackingLogoImpression:function(){var t=$("[attr-fsf]"),n;if(t!=null)for(n=0;n<t.length;n++)UpdateStats($(t[n]).attr("attr-fsf"),$(t[n]).attr("attr-fsf"),10)}};Category=function(n){this.init(n)};Category.prototype={init:function(n){var t=new ProductViewsWidget(!0),i=new ProductEnquiryHoverWidget;$(".close-popup").live("click",function(n){n.preventDefault();$("#assocArticle").hide()});$.ajax({url:"/api/categoryassociatedfeatures",data:{categoryId:n},success:function(n){if(n){var t='<div class="content"><a class="article-img" target="_blank" href="'+n.Url+'"><img src="'+n.ImageThumbnail+'" style="width: 120px;" alt=""/><\/a><p><a href="'+n.Url+'" target="_blank">'+n.Title+'<\/a><\/p><a class="close-popup" href="#"><img src="/commonfiles/images/close-follow-modal.png" alt="Close" /><\/a><\/div>';$("#assocArticle").html(t);$("#assocArticle").fadeIn("slow")}}});$("[data-toggle=collapse]").on("click",function(n){n.preventDefault()});$("#description-details a").each(function(){$(this).attr("target","_blank")})}};SearchSuppliers=function(n){this.init(n)};SearchSuppliers.prototype={init:function(n){var i=$("[attr-fsf]"),t,r;if(i!=null)for(t=0;t<i.length;t++)UpdateStats($(i[t]).attr("attr-fsf"),$(i[t]).attr("attr-fsf"),10);r=this;$("a.view-more").on("click",function(t){var i,f,u;return(t.preventDefault(),i=$(this),i.hasClass("isLoading"))?!1:(i.addClass("isLoading"),i.find(">div").showLoading(),f=$(".panel-suppliers .supplier-item").length,u=13,$.ajax({url:"/search/getmoreitems",type:"GET",data:{offset:f,take:u,q:n,type:"s"},dataType:"json",success:function(n){r.appendItems(n,u,i)},error:function(){alert("Sorry! Our server isn't responding. Please try again later.")},complete:function(){i.removeClass("isLoading");i.find(">div").hideLoading()}}),!1)})},appendItems:function(n,t,i){for(var e=[],u=0;u<n.length;u++){if(u===t-1)break;var r=n[u],o=r.Title.replace('"/g','\\"'),f='<div class="supplier-item col-xs-6 col-sm-4 col-md-2"><div class="item-image"><a href="'+r.Url+'">';f+='<div class="media-logo"><img src="'+r.ImageUrl+'" title="'+o+'" alt="'+o+'" class="img-thumbnail"><\/div>';f+="<\/a><\/div><\/div>";i.before(f);e.push([r.ID,r.ID,10])}n.length<=t-1&&i.hide();UpdateStatsMultiple(e)}};SearchCategories=function(n){this.init(n)};SearchCategories.prototype={init:function(n){$(".more-cats a").on("click",function(t){t.preventDefault();var r=$(this),i=0;$(this).closest("#related-categories").find("li:hidden").each(function(){return i++,$(this).show(),i===n?!1:void 0});$(this).closest("#related-categories").find("li:hidden").length||r.parent().hide()})}};SearchProducts=function(n){this.init(n)};SearchProducts.prototype={init:function(n){var i=this,r=$("#more-products"),u=$("#priceTagHiddenClass").val(),t=20;$.ajax({url:"/search/getmoreitems",type:"GET",data:{offset:0,take:t,q:n,type:"p"},dataType:"json",success:function(f){if(f.length){$(".panel-products-boxed").show();f.length===t&&r.attr("style","visibility:visible");i.appendItems(f,t,r,u);var e=new ProductEnquiryHoverWidget;i.handleMoreClick(n)}},complete:function(){}})},handleMoreClick:function(n){var t=this;$("#more-products a").on("click",function(i){var r,f,u;return(i.preventDefault(),r=$(this),r.hasClass("isLoading"))?!1:(r.addClass("isLoading"),$("#more-products").showLoading(),f=$(".panel-products-boxed .category-product").length,u=11,$.ajax({url:"/search/getmoreitems",type:"GET",data:{offset:f,take:u,q:n,type:"p"},dataType:"json",success:function(n){t.appendItems(n,u,$("#more-products"));var i=new ProductEnquiryHoverWidget},error:function(){},complete:function(){r.removeClass("isLoading");$("#more-products").hideLoading()}}),!1)})},appendItems:function(n,t,i){for(var u,e,s=[],f=0;f<n.length;f++){if(f===t-1)break;var r=n[f],e=r.Title.replace('"/g','\\"'),o="";r.Price!=""&&(o='<span class="search-result-price-tag">'+r.Price+"<\/span>");u='<div class="col-md-5ths col-md-3 col-sm-4 col-xs-6"><div class="category-product"><a href="'+r.Url+'" class="category-product-link">';u+='<div class="category-product-img"><img class="list-item-contentimage" alt="'+e+'" src="'+r.ImageUrl+'" />'+o+"<\/div>";u+='<div class="category-product-details"><span class="category-product-title" style="font-size: 0.9em;">'+r.Title+'<\/span><div class="category-product-supplier" style="font-weight:bold; color: #333; over-flow: hidden; border: solid 0px red; margin:0; margin-top: 3px; ">'+r.SupplierName+"<\/div><\/div>";u+=r.IsFree==!1?'<div class="search-product-delivery"><i title="" class="fas fa-truck"><\/i> Delivery Australia Wide<\/div>':'<div class="search-product-delivery"><\/div>';u+='<div class="clearfix-margin"><\/div>';u+="<\/a>";u+='<div class="category-product-extra"><div class="category-product-extra-desc">'+r.Paragraph+"<\/div>";u+='<div class="category-product-contact-supplier" attr-type="c" attr-sid="'+r.SupplierID+'" attr-stitle="'+r.SupplierName+'" attr-pid="1" attr-initfunction="EnquiryFormInit" attr-did="'+r.ID+'" data-target="#enquiry-modal"><strong>Enquire<\/strong><\/div><\/div>';u+="<\/div>";r.VideoPath!=""&&(e='<a class="link-standard" href="'+r.Url+'" style="margin-left:8px;">View this product<\/a>',u+='<a href="javascript:void(0);" class="sf-play-video-icon hidden-xs hidden-sm" data-title=\''+e+"' data-url='"+r.VideoPath+'\'><i class="far fa-play-circle"><\/i><\/a>');u+='<a href="javascript:void(0);" class="active-enq-popup enq-search-button" attr-enq-type="1" attr-type="c" attr-supplierId="'+r.SupplierID+'" attr-supplierName="'+r.SupplierName+'" attr-productName="'+r.Title+'" attr-portalId="-1" attr-productId="'+r.ID+'" attr-supplierLogoUrl="" attr-productImageUrl="'+r.ImageUrl+'" attr-isFreeSupplier="-1"><span title="Contact this supplier"><i class="material-icons">email<\/i><\/span><\/a>';u+='<a class="search-supplier-phone" href="tel:'+r.phone+'" attr-phone="'+r.phone+'" attr-statscode="2" attr-supplierid="'+r.SupplierID+'"><span title="Call this supplier"><i class="glyphicon glyphicon-earphone"><\/i><\/span><\/a>';u+='<span class="compare-button-prod-search compare-product-search-tracking" data-pid="'+r.ID+'" data-toggle="tooltip" title="Add to comparison list"><i class="material-icons">playlist_add<\/i><\/span>';u+="<\/div>";i.before(u);s.push([r.ID,r.ID,10])}n.length<=t-1&&i.hide()}};$(".sf-play-video-icon").live("click",function(n){var i,t,r,u;return(n.preventDefault(),i=$(this).data("title"),t=$(this).data("url"),t==="")?!0:(t.startsWith("<iframe")&&(r=t.indexOf("<\/iframe>"),t=t.substring(0,r+9)),t.match("^http")?(t.indexOf("https")<0&&(t=t.replace("http","https")),t=t.replace("watch?v=","embed/"),u='<iframe width="560" height="315" src="'+t+'?wmode=transparent&autoplay=1" frameborder="0" allowfullscreen><\/iframe>',$("#video-modal div.modal-body").html(u)):$("#video-modal div.modal-body").html(decodeURIComponent(t)),$("#video-modal .modal-title").html(i),$("#video-modal").modal("show"),!1)});SearchArticles=function(n){this.init(n)};SearchArticles.prototype={init:function(n){var t=this;$("#more-articles a").on("click",function(i){var r,f,u;return(i.preventDefault(),r=$(this),r.hasClass("isLoading"))?!1:(r.addClass("isLoading"),$("#more-articles").showLoading(),f=$(".panel-articles-boxed .category-article").length,u=11,$.ajax({url:"/search/getmoreitems",type:"GET",data:{offset:f,take:u,q:n,type:"f"},dataType:"json",success:function(n){t.appendItems(n,u,$("#more-articles"))},error:function(){alert("Sorry! Our server isn't responding. Please try again later.")},complete:function(){r.removeClass("isLoading");$("#more-articles").hideLoading()}}),!1)})},appendItems:function(n,t,i){for(var o=[],f=0;f<n.length;f++){if(f===t-1)break;var r=n[f],e=r.Title.replace('"/g','\\"'),u='<div class="col-md-5ths col-sm-4 col-xs-6"><div class="category-article"><a href="'+r.Url+'" class="category-article-link">';u+='<div class="category-article-img"><img class="list-item-contentimage" alt="'+e+'" title="'+e+'" src="'+r.ImageUrl+'"/>';u+='<div class="category-article-details img-overlay-label"><span class="category-article-title">'+r.Title+"<\/span>";u+="<\/div><\/div>";u+="<\/a><\/div><\/div>";i.before(u);o.push([r.ID,r.ID,10])}n.length<=t-1&&i.hide()}};SupplierPanel=function(){this.init()};SupplierPanel.prototype={init:function(){$("#enquiry-form-container").after('<span id="myScrollPoint"><\/span>');this.initSupplierTopPanel();this.initFormFieldFocusToggle();this.initShowFullPhoneNumber()},initSupplierTopPanel:function(){if(!window.isTouchDevice){var n=this,t=$("#topSupplierPanel");$("body").append('<div id="topSupplierPanelContainerBottom" class="container"><\/div>');n.toggleSupplierTopPanel(t);$(window).scroll(function(){n.toggleSupplierTopPanel(t)})}},initShowFullPhoneNumber:function(){$(".shortened-phone").on("click",function(n){var t,i;n.preventDefault();t=$(this).attr("attr-supplierid");i=$(this).attr("attr-statscode");UpdateStats(t,t,i);var r=$(this).attr("attr-portal"),u=$(this).attr("attr-suppliername")+" - "+$(this).attr("attr-contentid"),f=$(this).attr("attr-gacategory");TrackGoogleAnalyticsEvent(r,f,"Call",u);$(".shortened-phone").hide();$(".full-phone").show()})},toggleSupplierTopPanel:function(n){var t=$("#myScrollPoint").offset().top,i=$(window).scrollTop();i>=t?(n.show(),n.detach(),$("#topSupplierPanelContainerBottom").append(n)):(n.detach(),$("#topSupplierPanelContainer").append(n),n.hide())},initContactDetailsToggle:function(){$(".show-contact-details").on("click",function(n){n.preventDefault();var t=$(".contact-details");t.is(":visible")?t.fadeOut("1000"):(t.slideDown("1000"),window.CountContactDetails(t))})},initFormFieldFocusToggle:function(){$("#enquiry-form-container INPUT, #enquiry-form-container SELECT, #enquiry-form-container TEXTAREA").on("focus",function(){$("BODY").addClass("enquiry-form-focused")});$("#enquiry-form-container INPUT, #enquiry-form-container SELECT, #enquiry-form-container TEXTAREA").on("blur",function(){$("BODY").removeClass("enquiry-form-focused")})}};TradeAssurancePanel=function(){this.init()};TradeAssurancePanel.prototype={init:function(){this.initTradeAssurancePanel()},initTradeAssurancePanel:function(){if($("#trade-assurance-panel").length){var t=$("#trade-assurance-panel h5"),n=t.parent(),i=t.find(".glyphicon-play");t.on("click",function(){n.hasClass("expanded")?(n.removeClass("expanded"),i.removeClass("rotate90")):(n.addClass("expanded"),i.addClass("rotate90"))});if(window.isTouchDevice)return;n.on("mouseenter",function(){$(this).addClass("mousehover")});n.on("mouseleave",function(){$(this).removeClass("mousehover")})}}};SmallSubscribeBox=function(){this.init()};SmallSubscribeBox.prototype={init:function(){this.handleButtonClick();this.handleFormSubmit()},handleButtonClick:function(){$("#small-subscribe-form button.btn").on("click",function(n){var u;$("#followErrorMsgQuickSubscribe").hide();n.stopPropagation();var i=$(this).closest(".subscriber-form"),t=i.find(".email").val(),f=$(this).attr("attr-portal"),r=0;return t&&t!="Insert Email..."&&window.validateEmail(t)?(i.find(".follow").length>0&&i.find(".follow").attr("checked")&&(r=$(this).attr("attr-supplierid")),u="/BuyerPanel?nlemail="+window.encodeURIComponent(t)+"&s="+r,i.showLoading(),$.ajax({url:"/subscriber/newsubscriber",data:{email:t},type:"POST",dataType:"json",success:function(n){dataLayer.push({event:"SubmitAjaxForm",eventCategory:"Home",eventAction:"Newsletter subscribe",eventLabel:"",eventValue:undefined});n.isInactiveSubscriber===!0?$(".subscribeModalBody").load("/NewsService/Signup",function(){$(".subscribeModalBody #txtEmail").val(t);$("#subscribeModal").modal("show")}):window.location.href=u},error:function(){alert("Sorry, we cannot process your request. Please check your Internet connection and try again.")},complete:function(){i.hideLoading()}})):($("#txtemail").addClass("ErrorField"),$("#followErrorMsgQuickSubscribe").show(),$("#followErrorMsgQuickSubscribe").html("Please enter a valid email address.")),!1})},handleFormSubmit:function(){$("#small-subscribe-form").on("submit",function(){var n=$(this).find("button");n.click()})}};MyPage=function(){this.init()};MyPage.prototype={init:function(){},initScrollFixedHeader:function(){var t=this,n=$("#main-bar");this.toggleScrollFixedHeader(n);$(window).scroll(function(){t.toggleScrollFixedHeader(n)})},addClassToBody:function(n){$("body").addClass(n)},toggleScrollFixedHeader:function(n){var t=$(window).scrollTop();t>=30||window.isTouchDevice?($("nav.offcanvas").length===2&&$("nav.offcanvas:eq(1)").remove(),n.hasClass("moved")||(n.addClass("fixed-main-bar"),n.detach(),$("body").append(n),window.isTouchDevice&&($("body").css("padding-top","20px"),$("body").css("background","none")),n.addClass("moved"))):(n.detach(),n.removeClass("moved"),$("nav.navbar").append(n),n.removeClass("fixed-main-bar"))}};MasterPage=function(n,t){this.init(n,t)};MasterPage.prototype={init:function(n,t){this.initSubscribeBox(n,t);n||(this.initEnquiryForm("#enquiry-form-container",!1),this.initEnquiryForm("#enquiry-modal .modal-content",!0),this.initEnquiryForm("#image-modal .subpanel",!1));this.initMobileNav();this.initFooterContents();this.initCacheClearing();$(".hide-modal").live("click",function(n){n.preventDefault();var t=$(this).closest(".modal");return t.modal("hide"),!1})},initEnquiryForm:function(n,t){if($(n).length){var i=$(n),u=i.find("#supplierId").val(),f=i.find("#enqContentType").val(),e=i.find("#enqContentItemId").val(),r={Supplier:u,enqContentType:f,enqContentItemId:e,nonAjaxModal:t};i.find("#formHeading").length&&(r.formHeading=i.find("#formHeading").val());$.ajax({url:"/storefront/enquiryform",data:r,success:function(n){t||i.addClass("panel-enquiryform");i.find("input").remove();i.append(n)},error:function(){}})}},initSubscribeButton:function(n,t){var i=this;$.ajax({url:"/website/isloggedin",success:function(r){var u=r.IsLoggedIn===!0,f,e,o;i.displayIfUserLoggedIn(u,n);u&&setClarityBuyerId(r.BuyerId);u&&$(".panel-haveyoursayform").length?($(".panel-haveyoursayform #reader_name").val(r.Name.trim()),$(".panel-haveyoursayform #reader_email").val(r.Email.trim())):u||n||(f=$("footer #loggedOut"),f.length&&(e=f.attr("class"),o=new SubscriptionAutoPopup(t,e,r.IpAddress,6e4)))},error:function(){i.displayIfUserLoggedIn(!1,n)}})},initSubscribeBox:function(n,t){if($("#subscribe-panel-container").length){var i=this;$.ajax({url:"/home/getsubscribepanelbox",success:function(t){var r=t.indexOf("<form")<0;i.displayIfUserLoggedIn(r,n);$("#subscribe-panel-container>div").append(t);i.initAdvertiseBox()},error:function(){i.initSubscribeButton(n,t);i.initAdvertiseBox()}})}else this.initSubscribeButton(n,t)},initFooterContents:function(){$.ajax({url:"/industracomcontrols/footercontents",cache:!0,success:function(n){$("footer").append(n);$(".modal-subscriber-login").on("click",function(n){n.preventDefault();openLogin()})}})},initAdvertiseBox:function(){$("#storefront-advertise").show()},initMobileNav:function(){var n;$("#explore-nav").length?(n=$("#explore-nav").html(),$(".navmenu-nav").append(n)):(n=$("#main-bar .dropdown-menu").html(),$("#main-bar .navmenu-nav").append(n))},initCacheClearing:function(){$(".navbar-header a.img-logo").on("click",function(n){if(n.ctrlKey&&n.shiftKey||n.metaKey&&n.shiftKey){n.preventDefault();var t=document.location.pathname,i="",r=0;t.indexOf("/s/")>=0?(i="s",r=parseInt(t.split("/")[3])):t.indexOf("/p/")>=0?(i="p",r=parseInt(t.split("/")[3])):t.indexOf("/d/")>=0?(i="d",r=parseInt(t.split("/")[3])):t.indexOf("/f/")>=0?(i="f",r=parseInt(t.split("/")[3])):t.indexOf("/n/")>=0?(i="n",r=parseInt(t.split("/")[3])):$("p#prodCatPage").length&&(i="c");document.location.search&&(t+=document.location.search);$.ajax({url:"/cache/clearcontent",data:{id:r,type:i,outputCachePath:t},success:function(){var r=t,n;i==="c"&&(n=t.indexOf("?"),r=n>0?t.substr(0,n)+"?cache=false":t+"?cache=false");window.location.href=r},error:function(){alert("Sorry, an error occurred while refreshing the cache. Please check your Internet connection and try again later.")}})}})},displayIfUserLoggedIn:function(n){n&&($("#navLogin").hide(),$("#navLoggedIn").show())}};OptimizedMasterPage=function(n,t){this.init(n,t)};OptimizedMasterPage.prototype={init:function(n,t){this.initSubscribeBox(n,t);n||(this.initEnquiryForm("#enquiry-form-container",!1),this.initEnquiryForm("#enquiry-modal .modal-content",!0),this.initEnquiryForm("#image-modal .subpanel",!1));this.initMobileNav();this.initFooterContents();this.initCacheClearing();$(".hide-modal").live("click",function(n){n.preventDefault();var t=$(this).closest(".modal");return t.modal("hide"),!1})},initEnquiryForm:function(n,t){if($(n).length){var i=$(n),u=i.find("#supplierId").val(),f=i.find("#enqContentType").val(),e=i.find("#enqContentItemId").val(),r={Supplier:u,enqContentType:f,enqContentItemId:e,nonAjaxModal:t};i.find("#formHeading").length&&(r.formHeading=i.find("#formHeading").val());$.ajax({url:"/storefront/enquiryform",data:r,success:function(n){t||i.addClass("panel-enquiryform");i.find("input").remove();i.append(n)},error:function(){}})}},initSubscribeButton:function(n,t){var i=this;$.ajax({url:"/website/isloggedin",success:function(r){var u=r.IsLoggedIn===!0,f,e,o;i.displayIfUserLoggedIn(u,n);u&&setClarityBuyerId(r.BuyerId);u&&$(".panel-haveyoursayform").length?($(".panel-haveyoursayform #reader_name").val(r.Name.trim()),$(".panel-haveyoursayform #reader_email").val(r.Email.trim())):u||n||(f=$("footer #loggedOut"),f.length&&(e=f.attr("class"),o=new SubscriptionAutoPopup(t,e,r.IpAddress,6e4)))},error:function(){i.displayIfUserLoggedIn(!1,n)}})},initSubscribeBox:function(n,t){if($("#subscribe-panel-container").length){var i=this;$.ajax({url:"/home/getsubscribepanelbox",success:function(t){var r=t.indexOf("<form")<0;i.displayIfUserLoggedIn(r,n);$("#subscribe-panel-container>div").append(t);i.initAdvertiseBox()},error:function(){i.initSubscribeButton(n,t);i.initAdvertiseBox()}})}else this.initSubscribeButton(n,t)},initFooterContents:function(){$.ajax({url:"/industracomcontrols/footercontents",cache:!0,success:function(n){$("footer").append(n);$(".modal-subscriber-login").on("click",function(n){n.preventDefault();openLogin()})},error:function(){}})},initAdvertiseBox:function(){$("#storefront-advertise").show()},initMobileNav:function(){var n;$("#explore-nav").length?(n=$("#explore-nav").html(),$(".navmenu-nav").append(n)):(n=$("#main-bar .dropdown-menu").html(),$("#main-bar .navmenu-nav").append(n))},initCacheClearing:function(){$(".navbar-header a.img-logo").on("click",function(n){if(n.ctrlKey&&n.shiftKey||n.metaKey&&n.shiftKey){n.preventDefault();var t=document.location.pathname,i="",r=0;t.indexOf("/s/")>=0?(i="s",r=parseInt(t.split("/")[3])):t.indexOf("/p/")>=0?(i="p",r=parseInt(t.split("/")[3])):t.indexOf("/d/")>=0?(i="d",r=parseInt(t.split("/")[3])):t.indexOf("/f/")>=0?(i="f",r=parseInt(t.split("/")[3])):t.indexOf("/n/")>=0?(i="n",r=parseInt(t.split("/")[3])):t.indexOf("/buy/")>=0&&(i="c");document.location.search&&(t+=document.location.search);$.ajax({url:"/cache/clearcontent",data:{id:r,type:i,outputCachePath:t},success:function(){var r=t,n;i==="c"&&(n=t.indexOf("?"),r=n>0?t.substr(0,n)+"?cache=false":t+"?cache=false");window.location.href=r},error:function(){alert("Sorry, an error occurred while refreshing the cache. Please check your Internet connection and try again later.")}})}})},displayIfUserLoggedIn:function(n){n&&($("#navLogin").hide(),$("#navLoggedIn").show())}};SubscriberForm=function(){this.init()};SubscriberForm.prototype={init:function(){$("#state option[value=9]").remove();$("#state option[value=10]").remove();this.initCountryStateSelection()},initCountryStateSelection:function(){var n=this;n.initCountryState();$("#location").on("change",function(){n.initCountryState()})},initCountryState:function(){var n=$("#state"),t=parseInt($("#location").val());t!==0&&t!==1?(n.val("0"),n.hide()):n.show()}};EnquiryForm=function(n){this.init(n)};EnquiryForm.prototype={init:function(n){this.initModal();EnquiryFormInit(n);$(".panel-enquiryform input:not([type=checkbox]), .panel-enquiryform textarea, .panel-enquiryform select").addClass("form-control")},initModal:function(){$("#enquiry-modal").on("shown.bs.modal",function(){setTimeout(function(){$("#enquiry-modal #enqFrmName").focus()},700)})}};ProductPage=function(n){this.init(n)};ProductPage.prototype={init:function(){setTimeout(function(){var n=new ProductViewsWidget},1e3)}};FeatureArticle=function(n){this.init(n)};FeatureArticle.prototype={init:function(n){var t=this;$("#articleSponsors .close-popup").live("click",function(n){n.preventDefault();$(this).closest(".container").hide()});$.ajax({url:"/api/articlesponsors",data:{articleId:n},success:function(n){t.createSponsorPopup(n)}})},createSponsorPopup:function(n){var t,r,i,u,f;if(n.Sponsors.length||n.ListCategories.length){if(t='<div class="container"><h2>Article Sponsors<\/h2>',n.Sponsors.length){for(t+='<div class="logos">',i=0;i<n.Sponsors.length;i++)r=n.Sponsors[i],t+='<div class="logo-item">',t+='<a href="'+r.m_Item2+'"><img src="'+r.m_Item3+'" alt="'+r.m_Item1+'"><\/a>',t+="<\/div>";t+="<\/div>"}if(n.ListCategories.length){for(t+='<div class="assoc-cats"><ul class="list-unstyled"><li><strong>Find<\/strong><\/li>',i=0;i<n.ListCategories.length;i++)u=n.ListCategories[i],t+='<li><a class="generic-link" href="'+u.m_Item2+'">'+u.m_Item1+"<\/a><\/li>";t+='<\/ul><\/div><a class="close-popup" href="#"><img src="//portalimages.blob.core.windows.net/content/white_x-9x9.png" alt="Close"/><\/a>'}t+="<\/div>";$("#articleSponsors").html(t);f=$(window).width();f>767&&setTimeout(function(){var n=$(window).height(),t=$("#articleSponsors .container").height();t+210>n&&$("#articleSponsors .container").css("position","absolute")},1e3)}}};AddBusinessPage=function(){this.init()};AddBusinessPage.prototype={init:function(){$("#joinform, #joinform-bottom").submit(function(n){var i,u,t,r,f;if(n.preventDefault(),typeof isNewMarketingLandingPage!="undefined"&&isNewMarketingLandingPage===!0&&(i=$("#Email",$(this)),i.next().next("span.text-danger.error").remove(),!window.validateEmail(i.val())))return u='<span class="error text-danger">Invalid Email<\/span>',i.next().after(u),!1;if(t=$(this),window.isBot)return alert("No bot"),!1;r=t.parent();r.showLoading();f=t.serialize();t.find(".alert").removeClass("alert-success");t.find(".alert").removeClass("alert-danger");t.find(".alert").hide();$("#joinform input, #joinform select, #btnSend").attr("disabled",!0);$.post(t.attr("action"),f,function(n){if(n==="True")if(typeof isNewMarketingLandingPage!="undefined"&&isNewMarketingLandingPage===!0)showFreeListingSubmissionSuccess();else{var i="Thanks for your submission.<br />We will be in touch shortly.";history.length>1&&(i+=' <a href="'+document.referrer+'" class="lnk-goback"><span class="glyphicon glyphicon-arrow-left"><\/span> Back<\/a>.');t.find(".alert").addClass("alert-success").html(i).show();$("#joinform input, #joinform select").attr("disabled",!0)}else t.find(".alert").addClass("alert-danger").html(n).show(),$("#joinform input, #joinform select, #btnSend").attr("disabled",!1),$("#joinform .enqRefreshCapcha a").click();r.hideLoading()});var e=t.attr("attr-pid");return window.TrackGoogleAnalyticsEvent(e,"Marketing-page","Listing-submit",""),!1});var n=new InfoPricingForm}};SubscriptionAutoPopup=function(n,t,i,r){this.init(n,t,i,r)};SubscriptionAutoPopup.prototype={init:function(n,t,i,r){var u="subs_autopopup",e=$.cookie(u),f;r||(r=2e4);e||(f=this,setTimeout(function(){$.cookie(u,!0,{expires:30,path:"/"});var r=$("#enquiry-modal").is(":visible"),e=$("#enquiry-modal-new").is(":visible");r||e||(t==="Category"||t==="Product"?(f.initFormSubmission(n,t),$("#subscribe-autoshow-modal").modal()):$.get("/newsservice/checkaustralia?ip="+i,function(n){n.show===!0&&$.get("/subscriber/modal",function(n){$("body").append(n);$("#subscribe-modal").length&&$("#subscribe-modal").modal("show")})}))},r))},initFormSubmission:function(n,t){$("#subscribe-autoshow-modal form").on("submit",function(n){n.preventDefault();var i=$(this).find("#SubscribeEmail").val();if(!window.validateEmail(i)){alert("Please enter a valid email address");return}$(this).showLoading();$.ajax({url:"/subscriber/autopopupsubscribe",data:{email:i,pageType:t},type:"POST",dataType:"json",success:function(n){n.isEmailValid===!1?alert("Please enter a valid email address"):(dataLayer.push({event:"SubmitAjaxForm",eventCategory:t,eventAction:"Newsletter subscribe autopopup",eventLabel:"",eventValue:undefined}),$("#subscribe-autoshow-modal p, #subscribe-autoshow-modal input[type=email]").hide(),$("#subscribe-autoshow-modal .confirmation-msg").fadeIn())},error:function(n){console.log("***\n");console.log("\nEmail: "+i);console.log("\nPageType: "+t);console.log(n.responseText);console.log("***\n");alert("Sorry, we cannot process your request. Please check your Internet connection and try again.")},complete:function(){$(this).hideLoading();setTimeout(function(){window.location.href=window.location.href},1200)}})})}};ProductCategoryPage=function(){this.init()};ProductCategoryPage.prototype={init:function(){var n=this;$(".showMoreLink").on("click",function(){var t=$(this).parent().find("div"),n;$(t).toggleClass("short-text","full-text");n=$(this).text();n=="Read more"?$(this).text("Read less"):$(this).text("Read more")});$(".btn-contact-mobile").on("click",function(){n.showModalByAttributes_v2simple($(this))});$(".btn-call-mobile").click(function(){var n=$(this).attr("attr-supplierid"),t=$(this).attr("attr-statscode");UpdateStats(n,n,t);var i=$(this).attr("attr-portal"),r=$(this).attr("attr-suppliername")+" - "+$(this).attr("attr-contentid"),u=$(this).attr("attr-gacategory");TrackGoogleAnalyticsEvent(i,u,"Call",r)});$(".shortened-phone").click(function(){var r=$(this).attr("href"),t=$(this).data("fp"),n,i;r=="#"?($(this).attr("href","javascript:;"),$(this).text(t)):$(this).attr("href","tel:"+t);n=$(this).attr("attr-supplierid");i=$(this).attr("attr-statscode");UpdateStats(n,n,i);var u=$(this).attr("attr-portal"),f=$(this).attr("attr-suppliername")+" - "+$(this).attr("attr-contentid"),e=$(this).attr("attr-gacategory");TrackGoogleAnalyticsEvent(u,e,"Call",f)});$(".btn-contact-desktop").mouseover(function(){var n=$(this).find("img");n!=null&&n.data("pid")>1&&$(n).attr("src","/Content/Images/180227-CategoryPages-contact-white.png")});$(".btn-contact-desktop").mouseout(function(){var n=$(this).find("img");n!=null&&n.data("pid")>1&&$(n).attr("src","/Content/Images/180227-CategoryPages-contact.png")})},showModalByAttributes_v3:function(n){var i=n.data("target"),t=n.attr("href");if(!t||t.indexOf("#enquiry")>=0){var o=n.attr("attr-sid"),r=n.attr("attr-stitle"),u=n.attr("attr-pid"),f=n.attr("attr-did"),s=n.attr("attr-type");t="//"+location.host+"/storefront/enquiryform?Supplier="+o+"&name="+r+"&portal="+u+"&enqContentType="+s+"&enqContentItemId="+f+"&showlogo=1&formHeading= CONTACT SUPPLIER&ismodal=true"}var h=$(i),c=$(i+" .modal-content"),e=n.attr("attr-initfunction");$.get(t,function(n){if(c.html(n),e){var t=window[e];typeof t=="function"&&t()}});TrackGoogleAnalyticsEvent(u,"Category-Page","Open Form",r+" - "+f);h.modal("show")},showModalByAttributes_v2:function(n){var l=$(n).parent().parent().parent().parent().find(".category-product-img").html(),i="<div style='text-align:center;'>",e=$(n).parent().parent().parent().parent().find(".category-product-details"),r,t,c,u,f;if(i+=$(e).find(".category-product-title").html(),i+=$(e).find(".category-product-supplier").html(),i+="<\/div>",r=n.data("target"),t=n.attr("href"),!t||t.indexOf("#enquiry")>=0){var a=n.attr("attr-sid"),o=n.attr("attr-stitle"),s=n.attr("attr-pid"),h=n.attr("attr-did"),v=n.attr("attr-type");t="//"+location.host+"/storefront/enquiryform?Supplier="+a+"&name="+o+"&portal="+s+"&enqContentType="+v+"&enqContentItemId="+h+"&formHeading=Contact Supplier&ismodal=true";TrackGoogleAnalyticsEvent(s,"Category-Page","Open Form",o+" - "+h)}c=$(r);u=$(r+" .modal-content");u.html("");f=n.attr("attr-initfunction");$.get(t,function(n){if(u.html(n),$("#enquiry-modal .category-product-img").html(l),$("#enquiry-modal .category-product-details").html(i),$("#enquiry-modal .enquiry-logo").hide(),f){var t=window[f];typeof t=="function"&&t()}$("#enqState").change(function(){$(this).val()!=10&&$("#enqCountry").val(0)})});c.modal("show")},showModalByAttributes_v2simple:function(n){var i="<div style='text-align:center; font-weight: bold !important; font-size: 17px;'>",c=$(n).parent().parent().parent().parent().parent().find(".category-product-details"),r,t,h,u,f;if(i+=$(c).find(".category-product-title").html(),i+="<\/div>",r=n.data("target"),t=n.attr("href"),!t||t.indexOf("#enquiry")>=0){var l=n.attr("attr-sid"),e=n.attr("attr-stitle"),o=n.attr("attr-pid"),s=n.attr("attr-did"),a=n.attr("attr-type");t="//"+location.host+"/storefront/enquiryform?Supplier="+l+"&name="+e+"&portal="+o+"&enqContentType="+a+"&enqContentItemId="+s+"&formHeading=Contact Supplier&ismodal=true";TrackGoogleAnalyticsEvent(o,"Category-Page","Open Form",e+" - "+s)}h=$(r);u=$(r+" .modal-content");u.html("");f=n.attr("attr-initfunction");$.get(t,function(n){if(u.html(n),$("#enquiry-modal .category-product-img").hide(),$("#enquiry-modal .category-product-details").html(i),$("#enquiry-modal .enquiry-logo").hide(),f){var t=window[f];typeof t=="function"&&t()}$("#enqState").change(function(){$(this).val()!=10&&$("#enqCountry").val(0)})});h.modal("show")}};MegaMenu=function(){this.initV2()};MegaMenu.prototype={init:function(){var n=$(".js-navbar-collapse").find("ul").width(),t=$(window).width();$(".dir-mega-parent").click(function(){window.location.href=$(this).prop("href")});$(".mega-dropdown").hover(function(){var t=$(".mega-dropdown").first().position().left,i=t+1,n;$(".mega-dropdown-menu",this).css({left:i});$(".mega-dropdown-menu",this).show();n=$(this);$(".mega-dropdown-menu",n).hover(function(){n.find(".dropdown-toggle").addClass("mega-normal-parent-link-active")},function(){n.find(".dropdown-toggle").removeClass("mega-normal-parent-link-active")})},function(){$(".mega-dropdown-menu",this).hide()})},initV2:function(){$(".dir-mega-parent").click(function(){window.location.href=$(this).prop("href")});$(".mega-dropdown").hoverIntent({sensitivity:1,interval:100,timeout:10,over:function(){var t=$(".mega-dropdown").first().position().left,i=t+1,n;$(".mega-dropdown-menu",this).css({left:i});$(".mega-dropdown-menu",this).fadeIn(50);n=$(this);$(".mega-dropdown-menu",$(this)).hover(function(){n.find(".dropdown-toggle").addClass("mega-normal-parent-link-active")},function(){n.find(".dropdown-toggle").removeClass("mega-normal-parent-link-active")})},out:function(){$(".mega-dropdown-menu",$(this)).fadeOut(50)}})}};ProductComparison=function(){};ProductComparison.prototype={compileCustomFields:function(){},initProductComparePage:function(){function n(){var n="";return $("#tblCustomFields tr").each(function(t,i){$(i).find(".comparison-info").each(function(t,i){var u=$(i).val(),r=u.replace(/[|><\/]/g,"");n=t==0?n+r:n+","+r});t<$("#tblCustomFields tr").length-1&&(n+="|")}),n}function t(t,i,r){var u=n();$.ajax({url:"/product/SaveComparisonAllInOne",dataType:"json",type:"post",data:{title:r,htmlCustomFields:u,productId:0},success:function(n){(n=1)?r==""?window.location.href="/compare/"+r:$.alert({content:"Your Comparison List Is Successfully Updated!",title:"Message",buttons:{OK:{btnClass:"comparison-dialog-tiny-button-is",action:function(){}}}}):console.log("Wrong with backend")},error:function(){console.log("Exception: SaveComparisonAllInOne")}})}$(".compare-panel-heading-productinfo").on("click",function(){$(".compare-panel-body-productinfo").slideToggle("500");var n=$(this).find(".arrowCompareProductPanel");$(n).hasClass("arrowTransform")?$(n).removeClass("arrowTransform"):$(n).addClass("arrowTransform")});$(".compare-panel-heading-supplierinfo").on("click",function(){$(".compare-panel-body-supplierinfo").slideToggle("500");var n=$(this).find(".arrowCompareProductPanel");$(n).hasClass("arrowTransform")?$(n).removeClass("arrowTransform"):$(n).addClass("arrowTransform")});$(".compare-panel-heading-custominfo").on("click",function(){$(".compare-panel-body-custominfo").slideToggle("500");var n=$(this).find(".arrowCompareProductPanel");$(n).hasClass("arrowTransform")?$(n).removeClass("arrowTransform"):$(n).addClass("arrowTransform")});$("#btnSave").on("click",function(){var i=$(this).data("ptid"),r=$(this).data("uid"),u=$("#hdnJson").val(),n=$(this).data("title");$.ajax({url:"/website/isloggedin",success:function(u){u.IsLoggedIn===!0?n==""?$("#popupSaveComparison").modal("show"):t(r,i,n):openLogin()},error:function(){console.log("Backend checking error.")}})});$("#btnEmpty").on("click",function(){var n=$(this).data("title");$.confirm({title:"Delete Confirmation",content:"All items in your current comparison list will be deleted. Are you sure?",buttons:{Yes:{btnClass:"comparison-dialog-tiny-button-is",action:function(){$.ajax({url:"/product/EmptyTheList",dataType:"json",type:"post",data:{title:n},success:function(t){t==1&&(window.location.href="/compare/"+n,$(".NotFoundCompareItem").html("Your list is empty"))},error:function(){console.log("Exception: EmptyTheList")}})}},No:{btnClass:"comparison-dialog-tiny-button-is",action:function(){}}}})});$("#btnBack").on("click",function(){var n=$(this).data("url");window.location.href=n});$(".cmp-icon-delete").on("click",function(){var n=$(this).data("pid"),t=$(this).closest("td").index();$.confirm({title:"",content:"Are you sure you want to delete this from your comparison?",buttons:{Yes:{btnClass:"comparison-dialog-tiny-button-is",action:function(){$.ajax({url:"/product/DeleteComparisonProduct",dataType:"json",type:"post",data:{productId:n,index:t},success:function(n){n=="error"?alert(n):((n=="null"||n==null)&&(n=""),window.location.href="/compare/"+n)},error:function(){console.log("Exception: DeleteComparisonProduct")}})}},No:{btnClass:"comparison-dialog-tiny-button-is",action:function(){}}}})});var i=$("#hdnTriggerSave").val();i==1&&($("#hdnTriggerSave").val("0"),$("#btnSave").trigger("click"));$(".custom-valuetext, .custom-keytext").on("change, blur",function(){var n=$(this).val(),t=n.replace(/[|><\/]/g,"");$(this).val(t)})},initProductComparisonSavePopup:function(){function n(){$("input").keydown(function(n){if(n.key=="|"||n.key==">"||n.key=="<")return!1})}function t(){var n=$("#cboComparisonName");$.ajax({url:"/product/LoadComparisonDropDown",dataType:"json",type:"post",success:function(t){if(t!=null){var i='<option value="-1">Select<\/option>';$.each(t,function(t,r){i=i+'<option value="'+r+'">'+r+"<\/option>";$(n).html(i)})}},error:function(){console.log("Exception: Cannot load dropdown list")}})}function i(){var n="";return $("#tblCustomFields tr").each(function(t,i){$(i).find(".comparison-info").each(function(t){var r=$(this).val(),i=r.replace(/[|><\/]/g,"");n=t==0?n+i:n+","+i});t<$("#tblCustomFields tr").length-1&&(n+="|")}),n}n();t();$("#btnSaveSingleItemComparison").on("click",function(n){var u;n.preventDefault();var i=$("#hdnPID").val(),r=$(this).data("caller"),t=$("#cboComparisonName").val().trim().replace(/\s+/g,"-");if(t=="-1"&&(t=$("#txtComparisonName").val().trim().replace(/\s+/g,"-")),t=="")return $.alert({content:"Please input or select a comparison name.",title:"Message",buttons:{OK:{btnClass:"comparison-standard-button-is",action:function(){$("#txtComparisonName").val("");$("#txtComparisonName").focus()}}}}),!1;u=ProductComparison.prototype.compileCustomFields();t=t.replace(/(<([^>]+)>)/ig,"");$.ajax({url:"/product/SaveComparisonAllInOne",dataType:"json",type:"post",data:{title:t,htmlCustomFields:"",productId:i,caller:r},success:function(n){n==1?window.location.href="/compare/"+t:n==2?$.alert({content:"Limit of 4 products per comparison. Remove a product or create a new list.",title:"Message",buttons:{OK:{btnClass:"comparison-dialog-tiny-button-is",action:function(){window.location.href="/compare/"+t}}}}):console.log("Error occured!")},error:function(){console.log("Exception: SaveComparisonAllInOne")}})});$("#btnSaveNewComparison").on("click",function(n){var t,r;if(n.preventDefault(),t=$("#txtComparisonName").val().trim().replace(/\s+/g,"-"),t=="")return $.alert({content:"Please enter a comparison name.",title:"Message",buttons:{OK:{btnClass:"comparison-standard-button-is",action:function(){$("#txtComparisonName").focus()}}}}),!1;r=i();$.ajax({url:"/product/SaveComparisonAllInOne",dataType:"json",type:"post",data:{title:t,htmlCustomFields:r,productId:0},success:function(n){n==1?window.location.href="/compare/"+t:alert("Wrong with backend")},error:function(){console.log("Exception: SaveComparisonAllInOne")}})});$("#btnClose").live("click",function(n){n.preventDefault();$("#popupSaveComparison").modal("hide")})},initProductComparisonCategoryPage:function(){$(".compare-button-cat").on("click",function(n){n.preventDefault();var t=$(this).data("pid"),i=$("#hdnPID");$.ajax({url:"/website/isloggedin",success:function(n){n.IsLoggedIn===!0?($(i).val(t),console.log(n),$("#popupSaveComparison").modal("show")):$.ajax({url:"/product/SaveComparisonAllInOne",dataType:"json",type:"post",data:{title:"",htmlCustomFields:"",productId:t},success:function(n){n==1?window.location.href="/compare/":n==2?$.alert({content:"Limit of 4 products per comparison. Remove a product or create a new list.",title:"Message",buttons:{OK:{btnClass:"comparison-dialog-tiny-button-is",action:function(){window.location.href="/compare/"}}}}):console.log("Error occured!")},error:function(){console.log("Exception: SaveComparisonAllInOne")}})},error:function(){console.log("Exception: Check Login")}})})}};GenericCarousel=function(n,t,i,r,u,f){this.init(n,t,i,r,u,f)};GenericCarousel.prototype={init:function(n,t,i,r,u,f){var o=this,e;f||(f=1);screen.width<=414?f=2:screen.width>414&&screen.width<=1024&&(f=3);i||(i=5);e=!0;(window.isTouchDevice&&r||t<=i)&&(e=!1);t>=i&&(e=!0);e?o.refreshCarousel(n,i,u,f):$("#"+n).css("display","block")},refreshCarousel:function(n,t,i,r){var u=$("#"+n).closest(".generic-carousel").find(".gt-scroll"),f=$("#"+n).closest(".generic-carousel").find(".lt-scroll"),e=n+"-next",o=n+"-prev",s=/Android|webOS|iPhone|iPad|Mac|Macintosh|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);u.show();f.show();u.addClass(e);f.addClass(o);$("#"+n).jCarouselLite({btnNext:"."+e,btnPrev:"."+o,visible:t,scroll:i&&!window.isTouchDevice?6:r,auto:i,speed:i&&!window.isTouchDevice?3e3:200,timeout:4e3,autoWidth:!s,afterEnd:function(n){i&&performLogoImpressionCheck(n)}})}};DirectoryGenericCarousel=function(n,t,i,r,u){this.init(n,t,i,r,u)};DirectoryGenericCarousel.prototype={init:function(n,t,i,r,u){var e=this,f;i||(i=5);f=!0;(window.isTouchDevice&&r||t<=i)&&(f=!1);t>=i&&(f=!0);f?e.refreshCarousel(n,i,u):$("#"+n).css("display","block")},refreshCarousel:function(n,t,i){var r=$("#"+n).closest(".generic-carousel").find(".gt-scroll"),u=$("#"+n).closest(".generic-carousel").find(".lt-scroll"),f=n+"-next",e=n+"-prev";r.show();u.show();r.addClass(f);u.addClass(e);$("#"+n).jCarouselLite({btnNext:"."+f,btnPrev:"."+e,visible:t,scroll:i&&!window.isTouchDevice?6:1,auto:i,speed:i&&!window.isTouchDevice?6e3:200,timeout:5e3,afterEnd:function(n){i&&performLogoImpressionCheck(n)}})}};GetQuoteHomeCarousel=function(n,t,i,r,u){this.init(n,t,i,r,u)};GetQuoteHomeCarousel.prototype={init:function(n,t,i,r,u){var e=this,f;i||(i=5);f=!0;(window.isTouchDevice&&r||t<=i)&&(f=!1);t>=i&&(f=!0);f?e.refreshCarousel(n,i,u,t):$("#"+n).css("display","block")},refreshCarousel:function(n,t,i){var r=$("#"+n).closest(".generic-carousel").find(".gt-scroll"),u=$("#"+n).closest(".generic-carousel").find(".lt-scroll"),f=n+"-next",e=n+"-prev";r.show();u.show();r.addClass(f);u.addClass(e);$("#"+n).jCarouselLite({btnNext:"."+f,btnPrev:"."+e,visible:t,scroll:i&&!window.isTouchDevice?1:1,auto:i,speed:i&&!window.isTouchDevice?1800:1800,timeout:300,afterEnd:function(){}})}};NewProductPage=function(n){this.init(n);this.initEnvironment()};NewProductPage.prototype={init:function(){setTimeout(function(){var n=new ProductViewsWidget},1e3)},initEnvironment:function(){var n=$(window).width();n>1024&&$(".trade_icon_link").hover(function(){$(".trade-assurance-top").show(100)},function(){$(".trade-assurance-top").hide(100)});$(".contact-box-header").on("click",function(){var t=$(this).parent().css("height"),i=$(this).css("height"),u=parseInt(t.slice(0,-2))+2,r=parseInt(i.slice(0,-2))+2,n=$(this).find(".glyphicon");$(n).hasClass("arrowTransform")?($(n).removeClass("arrowTransform"),$(this).parent().css({height:451})):($(n).addClass("arrowTransform"),$(this).parent().css({height:r+5}))});if(window.screen.width<=1024){$("#shortened-phone").on("click",function(n){var t,i;n.preventDefault();t=$(this).attr("attr-supplierid");i=$(this).attr("attr-statscode");UpdateStats(t,t,i);var r=$(this).attr("attr-portal"),u=$(this).attr("attr-suppliername")+" - "+$(this).attr("attr-contentid"),f=$(this).attr("attr-gacategory");TrackGoogleAnalyticsEvent(r,f,"Call",u);$(this).hide();$("#full-phone").attr("style","display:inline-block")});$("#shortened-phone-v2").on("click",function(n){var t,i;n.preventDefault();t=$(this).attr("attr-supplierid");i=$(this).attr("attr-statscode");UpdateStats(t,t,i);var r=$(this).attr("attr-portal"),u=$(this).attr("attr-suppliername")+" - "+$(this).attr("attr-contentid"),f=$(this).attr("attr-gacategory");TrackGoogleAnalyticsEvent(r,f,"Call",u);$(this).hide();$("#full-phone-v2").attr("style","display:inline-block")});$("#shortened-phone-v3").on("click",function(n){var t,i;n.preventDefault();t=$(this).attr("attr-supplierid");i=$(this).attr("attr-statscode");UpdateStats(t,t,i);var r=$(this).attr("attr-portal"),u=$(this).attr("attr-suppliername")+" - "+$(this).attr("attr-contentid"),f=$(this).attr("attr-gacategory");TrackGoogleAnalyticsEvent(r,f,"Call",u);$(this).hide();$("#full-phone-v3").attr("style","display:inline-block")})}$("#product-detail-tabs > li > a").on("click",function(n){n.preventDefault();n.stopImmediatePropagation();$(this).tab("show")});$("#enquiryFormSubmitJunior").on("click",function(n){return n.preventDefault(),$("#btnEnquiryChatboxSubmit").trigger("click"),!1})}};$(".active-enq-popup").on("click",function(){var n=$("#enquiry-modal-new").find(".modal-content > .modal-body"),t=$("#enquiry-modal-new"),i=$(this).attr("attr-portalId"),r=$(this).attr("attr-type"),u=$(this).attr("attr-supplierId"),f=$(this).attr("attr-productId"),e=$(this).attr("attr-productName"),o=$(this).attr("attr-supplierName"),s=$(this).attr("attr-productImageUrl"),h=$(this).attr("attr-supplierLogoUrl"),c=$(this).attr("attr-isFreeSupplier"),l=$(this).attr("attr-enq-type"),a=$(this).attr("attr-enq-position");$.ajax({url:"/Enquiry/LoadEnquiryForm",method:"GET",dataType:"html",data:{enqType:l,pageType:r,portalId:i,supplierId:u,productId:f,productName:e,supplierName:o,productImageUrl:s,supplierLogoUrl:h,isFreeSupplier:c},success:function(i){$(".modal-body").css("padding","5px 10px 10px 10px");$(n).html(i);$(t).modal();window.setTimeout(function(){$("#btnProductEnquirySubmitMobile").addClass(a)},100)},error:function(){}})});NewCategoryPage2018=function(){this.init()};NewCategoryPage2018.prototype={init:function(){$(".shortened-phone").live("click",function(n){var t,i;n.preventDefault();t=$(this).attr("attr-supplierid");i=$(this).attr("attr-statscode");UpdateStats(t,t,i);var r=$(this).attr("attr-portal"),u=$(this).attr("attr-suppliername")+" - "+$(this).attr("attr-contentid"),f=$(this).attr("attr-gacategory");TrackGoogleAnalyticsEvent(r,f,"Call",u);$(this).hide();$(this).parent().find(".full-phone").attr("style","display:inline-block")});$(".mobile-call").live("click",function(n){var t,i,r;n.preventDefault();t=$(this).attr("attr-supplierid");i=$(this).attr("attr-statscode");UpdateStats(t,t,i);var u=$(this).attr("attr-portal"),f=$(this).attr("attr-suppliername")+" - "+$(this).attr("attr-contentid"),e=$(this).attr("attr-gacategory");TrackGoogleAnalyticsEvent(u,e,"Call",f);r=$(this).attr("attr-phonenumber");window.location="tel:"+r});$(".compare-button").live("click",function(n){n.preventDefault();var t=$(this).data("pid"),i=$("#hdnPID");$.ajax({url:"/website/isloggedin",success:function(n){n.IsLoggedIn===!0?($(i).val(t),console.log(n),$("#popupSaveComparison").modal("show")):$.ajax({url:"/product/SaveComparisonAllInOne",dataType:"json",type:"post",data:{title:"",htmlCustomFields:"",productId:t},success:function(n){n==1?window.location.href="/compare/":n==2?$.alert({content:"Limit of 4 products per comparison. Remove a product or create a new list.",title:"Message",buttons:{OK:{btnClass:"comparison-dialog-tiny-button-is",action:function(){window.location.href="/compare/"}}}}):console.log("Error occured!")},error:function(){console.log("Exception: SaveComparisonAllInOne")}})},error:function(){console.log("Exception: Check Login")}})});window.setTimeout(function(){var n=$(".product-container").first().css("height");$(".viewmore-container").css({height:parseInt(n,10)+1})},900);$(window).resize(function(){var n=$(".product-container").css("height");$(".viewmore-container").css({height:parseInt(n,10)+1})});$(".showMoreLink").on("click",function(){var t=$(this).parent().find("div"),n;$(t).toggleClass("short-text","full-text");n=$(this).text();n=="Read more"?$(this).text("Read less"):$(this).text("Read more")});$(".active-enq-popup").live("click",function(){var n=$("#enquiry-modal-new").find(".modal-content > .modal-body"),t=$("#enquiry-modal-new"),i=$(this).attr("attr-portalId"),r=$(this).attr("attr-type"),u=$(this).attr("attr-supplierId"),f=$(this).attr("attr-productId"),e=$(this).attr("attr-productName"),o=$(this).attr("attr-supplierName"),s=$(this).attr("attr-productImageUrl"),h=$(this).attr("attr-supplierLogoUrl"),c=$(this).attr("attr-isFreeSupplier"),l=$(this).attr("attr-enq-type");$.ajax({url:"/Enquiry/LoadEnquiryForm",method:"GET",dataType:"html",data:{enqType:l,pageType:r,portalId:i,supplierId:u,productId:f,productName:e,supplierName:o,productImageUrl:s,supplierLogoUrl:h,isFreeSupplier:c},success:function(i){$(n).html(i);$(t).modal()},error:function(){}})});$(".rfq-floating-category").on("click",function(){var n=$("body, html");n.animate({scrollTop:0},700,function(){})})}};var initRFQFloatingBanner=function(){if($(".rfq_banner, .rfq_banner2").length>0){var n=new GetClientIP,t=screen.width;t<419?$(".rfq_banner").fadeIn(500):$(".rfq_banner2").fadeIn()}$(".rfq_banner, .rfq_banner2").on("click",function(){quote.categoryName=$("#hdnCatName").val();quote.suppliers=$("#hdnSupIdList").val();quote.bpsuppliers=$("#hdnBPSupIdTeasingList").val();quote.categoryId=$("#hdnCatId").val();quote.portalId=$("#hdnPortalid").val();quote.ip=n.IP;quote.ipCountryCode=n.countryCode;var t=$("#RFQPanel");$.ajax({url:"/Request/RFQ",type:"post",dataType:"html",success:function(n){$(t).html(n);$("#rfq_catname").val(quote.categoryName);window.setTimeout(function(){$("#quotes-modal").modal("show")},500)},error:function(n,t,i){console.log(i)}})})},initRFQForm=function(){function r(){var t=$(".tab").get(n);if($(t).find("input").removeClass("error"),$(t).find("textarea").removeClass("error"),$(t).find(".error-msg").remove(),$(t).find(".error-msg-textarea").remove(),$(t).find(".error-msg-group").remove(),n==0&&$(".btn-group > .btn-group-active").length==0)return $(".btn-group").after("<span class='error-msg-group'>Please select<\/span>"),!1;if(n==1&&$("#rfq_description").val().length<=19)return $("#rfq_description").addClass("error"),$("#rfq_description").after("<span class='error-msg-textarea'>Please enter a description of your requirements (minimum of 20 characters)<\/span>"),!1;if(n==2){if($("#rfq_name").val().length<=0)return $("#rfq_name").addClass("error"),$("#rfq_name").after("<span class='error-msg'>Your name is required<\/span>"),!1;if($("#rfq_email").val().length<=0)return $("#rfq_email").addClass("error"),$("#rfq_email").after("<span class='error-msg'>Email address is required<\/span>"),!1;if(!isValidEmailAddress($("#rfq_email").val().trim()))return $("#rfq_email").addClass("error"),$("#rfq_email").after("<span class='error-msg'>Invalid email address<\/span>"),!1;if($("#rfq_phone").val().length<=0)return $("#rfq_phone").addClass("error"),$("#rfq_phone").after("<span class='error-msg'>Phone number is required<\/span>"),!1;if(!isValidPhoneNumber($("#rfq_phone").val().trim()))return $("#rfq_phone").addClass("error"),$("#rfq_phone").after("<span class='error-msg'>Invalid phone number<\/span>"),!1;if($("#rfq_delivery").val()=="0")return $("#rfq_delivery").addClass("error"),$("#rfq_delivery").after("<span class='error-msg'>Delivery location is required<\/span>"),!1}return!0}function i(i){if($(".tab").each(function(n,t){n==i?$(t).fadeIn(500):$(t).hide()}),$("#getQuotes").hide(),n==0?$("#prevBtn").addClass("disabled"):$("#prevBtn").removeClass("disabled"),n==t-1||n==t-2?($("#nextBtn").addClass("disabled"),$("#getQuotes").fadeIn(500)):$("#nextBtn").removeClass("disabled"),n==2){var r=$("#hdnHomeRfq").val();$("#rfq_delivery").val(r)}f(i)}function f(n){var t=(n+1)*25;$(".progress-bar").css({width:t+"%"})}var n=0,t,u;i(n);t=$(".tab").length;u=window.quote;$("#getQuotes").on("click",function(){var f,u,o;if(this.hasAttribute("disabled"))return!1;quote.quantity=$("#rfq_quantity").val();f=$(".btn-group > .btn-group-active").data("timeframe");f&&f!=""||(quote.timeframe=$(".btn-group > .btn-group-active").text());quote.timeframe=f;quote.description=$("#rfq_description").val();quote.name=$("#rfq_name").val();quote.email=$("#rfq_email").val();quote.phone=$("#rfq_phone").val();quote.company=$("#rfq_company").val();quote.state=$("#rfq_delivery").val();quote.rfqOrigin="Product";quote.imageUrl=$(".product-page-top-container .owl-item.active img").attr("src");quote.isMultiQuotes=$("#chkThreeQuotes")&&$("#chkThreeQuotes").is(":checked")?!0:!1;const e=$("input[name='preferredcondition']:checked");e&&(quote.preferredCondition=e.val());quote.questions=GetQuestionValues();u=$(this);u.text()=="Get Quotes"?r()&&(n=n>=t-1?t-1:n+1,o=$("#prevBtn"),$(u).html('<i class="fas fa-spinner fa-spin rfq-spinner"><\/i> Sending...'),$(u).css({opacity:.5}),$(u).attr("disabled","disabled"),$.post("/request/SubmitRFQ",quote,function(t){$(u).text("Get Quotes");$(u).css({opacity:1});$(u).removeAttr("disabled");t.status!=1&&($(".finalstep-title").text("An error has occurred!"),$(".finalstep-content").text("We are unable to submit your request at the moment. Please try again later."));i(n);$(o).addClass("disabled");$(u).text("Close");pushEnhancedConversionData();TrackGoogleAnalyticEvent("gtm_getquote_event","","","");window.VWO=window.VWO||[];VWO.event=VWO.event||function(){VWO.push(["event"].concat([].slice.call(arguments)))};VWO.event("categoryGetQuote",{categoryId:quote.categoryId,categoryName:quote.categoryName});window.rfqFormData=t.data})):$("#quotes-modal").modal("hide")});$("#prevBtn").on("click",function(){if($(this).hasClass("disabled"))return!1;n=n<=0?0:n-1;i(n)});$("#nextBtn").on("click",function(){if($(this).hasClass("disabled"))return!1;r()&&(n=n>=t-1?t-1:n+1,i(n))});$(".btn-group > .btn").on("click",function(){$(".btn-group > .btn").removeClass("btn-group-active");$(this).addClass("btn-group-active")})},InitRFQOpenedForm=function(){$("#rfq_form_submit").on("click",function(){if($("#quotes-popup-first").show(),$("#quotes-popup-second").hide(),$("input, textarea").removeClass("error"),$(".error-msg").remove(),$("#rfq_form_quantity").val().length<=0)return $("#rfq_form_quantity").addClass("error"),$("#rfq_form_quantity").after("<span class='error-msg'>Quantity is required<\/span>"),!1;if($("#rfq_form_description").val().length<=0)return $("#rfq_form_description").addClass("error"),$("#rfq_form_description").after("<span class='error-msg'>Description is required<\/span>"),!1;if($("#rfq_form_description").val().length<20)return $("#rfq_form_description").addClass("error"),$("#rfq_form_description").after("<span class='error-msg'>Description must have at least 20 characters<\/span>"),!1;$("#rfq-form-popup-modal").modal("show");$("#rfq_submit").text("Get Quotes");var n=$(".tab").get(0),t=$(".tab").get(1);$(n).find("input").removeClass("error");$(n).find("textarea").removeClass("error");$(n).find(".error-msg").remove();$(n).find(".error-msg-textarea").remove();$(t).hide();$(n).show()})},initRFQFormPopup=function(){function n(){var n=$(".tab").get(0);return($(n).find("input").removeClass("error"),$(n).find("textarea").removeClass("error"),$(n).find(".error-msg").remove(),$(n).find(".error-msg-textarea").remove(),$(n).find(".error-msg-group").remove(),$("#rfq_name").val().length<=0)?($("#rfq_name").addClass("error"),$("#rfq_name").after("<span class='error-msg'>Your name is required<\/span>"),!1):$("#rfq_email").val().length<=0?($("#rfq_email").addClass("error"),$("#rfq_email").after("<span class='error-msg'>Email address is required<\/span>"),!1):isValidEmailAddress($("#rfq_email").val().trim())?$("#rfq_phone").val().length<=0?($("#rfq_phone").addClass("error"),$("#rfq_phone").after("<span class='error-msg'>Phone number is required<\/span>"),!1):isValidPhoneNumber($("#rfq_phone").val().trim())?$("#rfq_delivery").val()=="0"?($("#rfq_delivery").addClass("error"),$("#rfq_delivery").after("<span class='error-msg'>Delivery location is required<\/span>"),!1):!0:($("#rfq_phone").addClass("error"),$("#rfq_phone").after("<span class='error-msg'>Invalid phone number<\/span>"),!1):($("#rfq_email").addClass("error"),$("#rfq_email").after("<span class='error-msg'>Invalid email address<\/span>"),!1)}$("#quotes-popup-first").show();$("#quotes-popup-second").hide();$("#rfq_submit").on("click",function(t){t.preventDefault();var i=$(this),r=$(".tab");if($(this).text()=="Close")return $(this).closest(".modal").modal("hide"),!1;if(!n())return!1;window.setTimeout(function(){var n={};n.quantity=$("#rfq_form_quantity").val();n.timeframe=$("#rfq_form_when").val();n.description=$("#rfq_form_description").val();n.name=$("#rfq_name").val();n.email=$("#rfq_email").val();n.phone=$("#rfq_phone").val();n.company=$("#rfq_company").val();n.state=$("#rfq_delivery").val();n.categoryName=$("#hdnCatName").val();n.suppliers=$("#hdnSupIdList").val();n.categoryId=$("#hdnCatId").val();n.portalId=$("#hdnPortalid").val();n.ip=client.IP;n.ipCountryCode=client.countryCode;n.isMultiQuotes=$("#chkThreeQuotes")&&$("#chkThreeQuotes").is(":checked")?!0:!1;$(i).html('<i class="fas fa-spinner fa-spin rfq-spinner"><\/i> Sending...');$(i).css({opacity:.5});$(i).attr("disabled","disabled");$.post("/request/SubmitRFQ",n,function(n){$(i).text("Get Quotes");$(i).css({opacity:1});$(i).removeAttr("disabled");$("#quotes-popup-first").hide();$("#quotes-popup-second").show();n.status!=1?($(".finalstep-title").text("An error has occurred!"),$(".finalstep-content").text("We are unable to submit your request at the moment. Please try again later.")):($(r[0]).hide(),$(r[1]).fadeIn(500));pushEnhancedConversionData();TrackGoogleAnalyticEvent("gtm_getquote_event","","","");window.VWO=window.VWO||[];VWO.event=VWO.event||function(){VWO.push(["event"].concat([].slice.call(arguments)))};VWO.event("categoryGetQuote",{categoryId:quote.categoryId,categoryName:quote.categoryName});window.rfqFormData=n.data;$("#rfq_form_quantity").val("");$("#rfq_form_when").val("");$("#rfq_form_description").val("");$("#rfq_name").val("");$("#rfq_email").val("");$("#rfq_phone").val("");$("#rfq_company").val("");$("#rfq_delivery").prop("selectedIndex",0);$("#rfq_form_when").prop("selectedIndex",0);$(i).text("Close")})},0)})},RevealPhoneModule=function(){this.init()};RevealPhoneModule.prototype={showPhonePopup:function(n){var t=$(n).data("phone"),i="<div class='message'>Mention <b>@portalName<\/b> so this Supplier can best assist you! <br><div class='revealed-phone-panel'><i class='glyphicon glyphicon-earphone'><\/i><span class='reveal-phone'>"+t+"<\/span><\/div><\/div>";$(n).closest(".phone-reveal-container").html(i)},validate:function(){return $("#FullName").val().length<=0?(toastr.error("Add your name & organisation"),!1):$("#CountryCode").val().length<=0?(toastr.error("Add your country code"),!1):$("#callback-location").val()=="Location"?(toastr.error("Please select your location"),!1):$("#PhoneNumber").val().length<=0?(toastr.error("Add your phone number"),!1):$("#PhoneNumber").val().length>0&&$("#PhoneNumber").val().length<5?(toastr.error("Your phone number must have at least 5 digits"),!1):!0},sendCallBackNotificationEmail:function(n,t,i,r,u,f,e,o){var s=this;$.ajax({url:"/phonetracking/SendCallBackEmailToSupplier",type:"post",dataType:"json",data:{supplierId:n,productId:t,fullName:i,company:r,countryCode:u,phoneNumber:f,location:e,comments:o},success:function(n){n==1},error:function(){}})},savePhoneTracking:function(n,t,i,r,u,f,e,o){var s=this;$.ajax({url:"/phonetracking/SavePhoneRevealTracking",type:"post",dataType:"json",data:{supplierId:n,productId:t,fullName:i,company:r,countryCode:u,phoneNumber:f,location:e,comments:o},success:function(){s.trackGAStats();s.sendCallBackNotificationEmail(n,t,i,r,u,f,e,o)},error:function(){}})},trackGAStats:function(){dataLayer.push({event:"gtm_callbackfeature_event",eventCategory:"",eventAction:"",eventLabel:"",eventValue:undefined})},init:function(){var n=this,t=$(".phone-reveal-container").html();$("#phone-reveal-modal").on("hide.bs.modal",function(){window.setTimeout(function(){$(".phone-reveal-container").html(t)},500)});$("#btnSubmitSeePhone").live("click",function(t){t.preventDefault();var i=$(this).attr("attr-productid"),r=$(this).attr("attr-supplierid"),u=$(this).closest("form").find("#FullName").val(),f=$(this).closest("form").find("#Company").val(),e=$(this).closest("form").find("#CountryCode").val(),o=$(this).closest("form").find("#PhoneNumber").val(),s=$(this).closest("form").find("#callback-location").val(),h=$(this).closest("form").find("#callback-comments").val(),c=$(this).closest("#phone-reveal-modal");n.validate()&&(n.savePhoneTracking(r,i,u,f,e,o,s,h),toastr.success("Callback request sent!"),$(c).modal("hide"))});$("#PhoneNumber").live("keypress",function(n){var t=n.which;if((t!=8||t==32)&&(t<48||t>57))return!1});$("#CountryCode").live("keypress",function(n){var t=n.which;if((t!=8||t==32)&&(t<48||t>57))return!1});$(".phone-reveal-close").on("click",function(){$("#phone-reveal-modal").modal("hide")})}};$(".modal-close").live("click",function(){$(this).closest(".modal").modal("hide")});$(".input-quantity").live("keydown",function(n){if((n.keyCode<48||n.keyCode>57)&&![8,9,16,17,18].includes(n.keyCode))return n.preventDefault(),$(this).val($(this).val().substr(0,$(this).val().length)),!1});initRFQLightForm=function(n=1){function f(){var i=$(".tab").get(t),o,u,s,f,n,e;$(i).find("input").removeClass("error");$(i).find("textarea").removeClass("error");$(i).find(".error-msg").remove();$(i).find(".error-msg-location").remove();$(i).find(".error-msg-postcode").remove();$(i).find(".error-msg-textarea").html("&nbsp;");$(i).find(".error-msg-group").remove();$(i).find(".error-msg-option").remove();let r=$(i).attr("id");if(r=="rfq_tab_categories"){o=$("#rfq_category");let n=$("#rfq_category").val();return n?!0:(o.after("<span class='error-msg-group'>Please select at least one category.<\/span>"),!1)}if(r=="rfq_tab_quantity")return $(".btn-group > .btn-group-active").length==0?($(".btn-group").after("<span class='error-msg-group'>Please select<\/span>"),!1):!0;if(r=="rfq_tab_description")return $("#rfq_description").val().length<=19?($("#rfq_description").addClass("error"),$(i).find(".error-msg-textarea").remove(),$("#rfq_description").after("<span class='error-msg-textarea description'>Provide more detail for a better quality quote (minimum 20 characters)<\/span>"),!1):(console.log("3423"),$("#rfq_brandpref").val()==="")?($(".more-options .brands.wrapper .select-container").addClass("error"),$(".more-options .brands.wrapper span.error-msg-option").remove(),$(".more-options .brands.wrapper span.label").after("<span class='error-msg-option'>This option is required<\/span>"),!1):!h&&$("#rfq_usage").val()===""?($(".more-options .usages.wrapper .select-container").addClass("error"),$(".more-options .usages.wrapper span.error-msg-option").remove(),$(".more-options .usages.wrapper span.label").after("<span class='error-msg-option'>This option is required<\/span>"),!1):!0;if(r=="rfq_tab_contactinfo"){if($("#rfq_name").val().length<=0)return $("#rfq_name").addClass("error"),$("#rfq_name").after("<span class='error-msg'>Your name is required<\/span>"),!1;if($("#rfq_email").val().length<=0)return $("#rfq_email").addClass("error"),$("#rfq_email").after("<span class='error-msg'>Email address is required<\/span>"),!1;if(!isValidEmailAddress($("#rfq_email").val().trim()))return $("#rfq_email").addClass("error"),$("#rfq_email").after("<span class='error-msg'>Invalid email address<\/span>"),!1;if($("#rfq_phone").val().length<=0)return $("#rfq_phone").addClass("error"),$("#rfq_phone").after("<span class='error-msg'>Phone number is required<\/span>"),!1;if(!isValidPhoneNumber($("#rfq_phone").val().trim()))return $("#rfq_phone").addClass("error"),$("#rfq_phone").after("<span class='error-msg'>Invalid phone number or area code<\/span>"),!1;if(u=$(".js-rfq_state").val(),s=["NSW","VIC","QLD","SA","WA","NT","ACT","TAS"],u>0&&u<=9||s.includes(u)){if(f=validateAndReformatPhoneNumber($("#rfq_phone").val().trim()),f=="invalid")return n={},n.description=$("#rfq_description").val(),n.name=$("#rfq_name").val(),n.email=$("#rfq_email").val(),n.phone=$("#rfq_phone").val(),n.company=$("#rfq_company").val(),n.state=$("#rfq_delivery").val(),n.postcode=$("#rfq_postcode").val(),n.portalId=quote.portalId,n.categoryId=quote.categoryId,n.categoryName=quote.categoryName,n.productId=quote.productId,n.productName=quote.productName,$.post("/requests/ValidatePhoneGetQuote",n,function(){}).fail(function(n){console.log("Error:",n)}),$("#rfq_phone").addClass("error"),$("#rfq_phone").after("<span class='error-msg'>Invalid phone number or area code<\/span>"),!1;$("#rfq_phone").val(f)}if($(".js-rfq_state").val()=="")return $("#rfq_delivery").parent().append("<span class='error-msg-location'>Delivery location is required<\/span>"),!1;if(e=$(".js-rfq_state").val(),e=="")return!1;else{let n=parseInt(e);if(n>0&&n<=9&&$("#rfq_postcode").val()=="")return $("#rfq_postcode").addClass("error"),$("#rfq_postcode").after("<span class='error-msg-postcode'>Postcode is needed to calculate your freight<\/span>"),!1}return!0}return r=="rfq_tab_other_suppliers"?$("#rfq_group_description").val().length<=19?($("#rfq_group_description").addClass("error"),$(i).find(".error-msg-textarea").remove(),$("#rfq_group_description").after("<span class='error-msg-textarea'>Describe your requirements in 20+ characters<\/span>"),!1):!0:!0}function v(){u.rfq_group_description=u.Description;u.is_product_gq_continue=!0;$.post("/request/ResumeGetQuote",u,function(n){n.status==1?i(o):i(c)})}function i(n){var i,u;$(".tab").each(function(t,i){t==n?$(i).fadeIn(500):$(i).hide()});$("#getQuotes").hide();t==0?$("#prevBtn").addClass("disabled"):$("#prevBtn").removeClass("disabled");t==e-1||t==e-2?($("#nextBtn").addClass("disabled"),$("#getQuotes").fadeIn(500)):$("#nextBtn").removeClass("disabled");(t==2||t==l)&&(i=$("#hdnHomeRfq").val(),$("#rfq_delivery").val(i));t==l&&(u=$("#rfq_brandpref").val(),u==="false"?($("#get3quotesWrapper").hide(),$("#chkThreeQuotes").prop("checked",!1)):$("#get3quotesWrapper").show());r(n)}function r(n){let t=$(".tab").length,i=Math.round(n*100/(t-2));$(".progress__bar").css({width:i+"%"})}var y=validateAndReformatPhoneNumber("61 02 9587 7356"),t=n,e,u,a,s;let h=$('div[id^="rfq_tab_customquestions"]').length>0;h&&$(".text.progress-guideline-text").hide();let o=$("#quotes-modal .quotes-container .tab").index($("#quotes-modal .quotes-container .tab#rfq_tab_submit_success")),c=$("#quotes-modal .quotes-container .tab").index($("#quotes-modal .quotes-container .tab#rfq_tab_submit_failed")),l=$("#quotes-modal .quotes-container .tab").index($("#quotes-modal .quotes-container .tab#rfq_tab_contactinfo"));i(t);e=$(".tab").length;$("#rfq_tab_categories").length==0&&$("#btn_prev_tab2").remove();$("input").on("keyup",function(){$(this).parent().find(".error-msg").remove()});u={};a=window.quote;$("#btn_continue_tab1").on("click",function(){t+=1;i(t);r(t);$(".progress-guideline-text").html("<span>Next:<\/span> Describe what you need")});$("#btn_continue_tab1_c").on("click",function(){if(console.log("call display three quotes"),f()){var n=$("#rfq_category option:selected").val(),u=$("#rfq_category option:selected").text();$("#rfq_catid").val(n);$("#rfq_catname").val(u);$.ajax({url:"/categories/is-display-three-quotes",type:"GET",dataType:"text",data:{catid:n,title:u},success:function(n){let i=JSON.parse(n);var t=$("#get3quotesWrapper");i.isDisplayThreeQuotes?t&&t.length!==0||(t=$('<div class="row small more-quotes-wrapper gq-prod-tickbox-wrapper" id="get3quotesWrapper" style="vertical-align:top; ">   <span class="get3quotesText">Get 3+ Quotes<\/span><span class="get3quotesRecommended">RECOMMENDED<\/span>       <div class="col-2-checkbox quotes-checkbox-text">           Also get me quotes from other suppliers with similar products so I can choose the best option       <\/div>   <div class="green-text-label col-1-checkbox" style="text-align:right; vertical-align:top;"><input id="chkThreeQuotes" type="checkbox" class="checkbox-inline" style="width: auto !important; margin-right:-4px !important;" checked /><\/div><\/div>'),$(".contact-info-wrapper").append(t),quote.isDisplayThreeQuotes=!0):(t&&t.remove(),quote.isDisplayThreeQuotes=!1)}});t+=1;i(t);r(t);$(".progress-guideline-text").html("<span>Next:<\/span> Describe what you need")}});$("#btn_prev_tab2").on("click",function(){t>1&&(t-=1);i(t);r(t);$(".progress-guideline-text").html("&nbsp;")});$("#btn_cont_tab2").on("click",function(){$(".progress-guideline-text").html("<span>Next:<\/span> Add your contact details");f()&&(t+=1,i(t),r(t))});$('button[id^="btn_prev_tab-q"]').on("click",function(){t>1&&(t-=1);i(t);r(t)});$('button[id^="btn_cont_tab-q-"]').on("click",function(){var f=this,n=this.parentNode.parentNode,e=f.id.replace("btn_cont_tab-q-","");let u=$('input[name="answer-'+e+'"]:checked').val();if(u==undefined||u==""){$(".jsError",n).removeClass("d-none");return}$(".jsError",n).addClass("d-none");t+=1;i(t);r(t)});$("#btn_prev_tab3").on("click",function(){t-=1;i(t);r(t);$(".progress-guideline-text").html("<span>Next:<\/span> Describe what you need")});$("#btn_cont_tab3").on("click",function(){$(".progress-guideline-text").html("&nbsp;");f()&&(t+=1,i(t),r(t));var n=$("#rfq_brandpref").val(),u=$("#chkThreeQuotes").is(":checked");n!="true"||u||$("#chkThreeQuotes").trigger("click")});s=!0;$("#chkThreeQuotes").on("click",()=>{s?s=!1:$("#chkThreeQuotes").is(":checked")?$("#btn_send_tab4").text("Get quotes"):$("#btn_send_tab4").text("Get a quote")});$("#btn_prev_tab4").on("click",function(){t-=1;i(t);r(t);$(".progress-guideline-text").html("<span>Next:<\/span> Add your contact details")});$("#btn_send_tab4").on("click",function(){var s,e,n,h;if(f()){quote.quantity=$("#rfq_quantity").val();s=$(".btn-group > .btn-group-active").data("timeframe");s&&s!=""||(quote.timeframe=$(".btn-group > .btn-group-active").text());quote.timeframe=s;quote.description=$("#rfq_description").val();quote.name=$("#rfq_name").val();quote.email=$("#rfq_email").val();quote.phone=$("#rfq_phone").val();quote.company=$("#rfq_company").val();quote.state=$("#rfq_delivery").val();quote.postcode=$("#rfq_postcode").val();quote.rfqRyzen=$("#rfqRyzen").val();$("#rfq_catid")&&$("#rfq_catid").val()!==""&&(quote.categoryId=$("#rfq_catid").val());$("#rfq_catname")&&$("#rfq_catname").val()!==""&&(quote.categoryName=$("#rfq_catname").val());!quote.suppliers&&$("#hdnSupplierId")&&(quote.suppliers=$("#hdnSupplierId").val());quote.bpsuppliers||(quote.bpsuppliers=$("#hdnBPSupIdTeasingList").val());!quote.portalId&&$("#hdnPortalId")&&(quote.portalId=$("#hdnPortalId").val());quote.isMultiQuotes=quote.isDisplayThreeQuotes?$("#chkThreeQuotes").is(":checked"):!1;e=$(this).attr("data-st");e=isNaN(e)?0:1;$(this).attr("data-st",e);n=$(this);h=$(this).html();$(n).html("<i style='font-family: \"Font Awesome 5 Free\"' class='fas fa-spinner fa-spin rfq-spinner'><\/i> Sending...");$(n).css({opacity:.5});$(n).attr("disabled","disabled");quote.rfqOtherBrands=$("#rfq_brandpref").val();const f=$("input[name='rfq_brandpref']:checked").val(),a=$('div[id^="rfq_tab_customquestions"]').length>0;(f&&f=="false"||!a)&&(quote.rfqUseOptions=$("#rfq_usage").val());const l=$("input[name='preferredcondition']:checked");l&&(quote.preferredCondition=l.val());quote.questions=GetQuestionValues();$.post("/request/SubmitRFQ",quote,function(f){if(pushEnhancedConversionData(),TrackGoogleAnalyticEvent("gtm_getquote_event","","",""),window.VWO=window.VWO||[],VWO.event=VWO.event||function(){VWO.push(["event"].concat([].slice.call(arguments)))},VWO.event("categoryGetQuote",{categoryId:quote.categoryId,categoryName:quote.categoryName}),window.rfqFormData=f.data,quote.rfqOrigin=="Product"?TrackGoogleAnalyticEvent("GetQuoteEvent","Submit Get Quotes","Product Submit Get Quotes",""):quote.rfqOrigin=="Category"?TrackGoogleAnalyticEvent("GetQuoteEvent","Submit Get Quotes","Category Submit Get Quotes",""):quote.rfqOrigin=="Home"?TrackGoogleAnalyticEvent("GetQuoteEvent","Submit Get Quotes","Home Submit Get Quotes",""):quote.rfqOrigin=="Supplier"&&TrackGoogleAnalyticEvent("GetQuoteEvent","Submit Get Quotes","Supplier Submit Get Quotes",""),u=f.data,f.status==1)f.allowNextStep?v():(t=o,i(t),r(t),$(".progress-guideline-text").html("&nbsp;"));else if(f.status==2&&e<1){var s=u.RetryToken;quote.retryToken=s;$(n).html(h);$(n).css({opacity:""});$(n).prop("disabled",!1);$("#rfq_email").after("<span class='error-msg'>"+f.message+"<\/span>")}else t=f.message.indexOf("Unapproved Location")>=0?o:c,i(t),r(t),$(".progress-guideline-text").html("&nbsp;")})}});$("#chkCopyDescription").on("click",function(){$(this).is(":checked")?$("#rfq_group_description").val(u.Description):$("#rfq_group_description").val("")});$("#btn_get_three_quotes").on("click",function(){f()&&(u.rfq_group_description=$("#rfq_group_description").val(),u.is_product_gq_continue=!0,$.post("/request/ResumeGetQuote",u,function(n){n.status==1?i(5):i(6)}))});$("#btn_close_tab4, #btn_close_tab5").on("click",function(){$(".modal-backdrop").remove();$("#quotes-modal").modal("hide");$(".floating-header").css({position:"fixed"})});$("#prevBtn").on("click",function(){if($(this).hasClass("disabled"))return!1;t=t<=0?0:t-1;i(t)});$("#nextBtn").on("click",function(){if($(this).hasClass("disabled"))return!1;f()&&(t=t>=e-1?e-1:t+1,i(t))});$(".btn-group > .btn").on("click",function(){$(".btn-group > .btn").removeClass("btn-group-active");$(this).addClass("btn-group-active")});$(".rfq-light-msg-tooltip-tick-background").hover(function(){const n=$(this).closest(".rfq-light-msg-tooltip").find(".rfq-light-msg-tooltip-content");n.show(100)},function(){const n=$(this).closest(".rfq-light-msg-tooltip").find(".rfq-light-msg-tooltip-content");n.hide(100)});$(".quotes-modal-close").on("click",function(){$(".floating-header").css({position:"fixed"});$(".modal-backdrop").remove()});$(".more-options .select-container ul.dropdown-menu li a").click(function(){const n=$(this),t=n.closest(".select-container"),r=n.data("key"),u=$("#rfq_"+t.attr("id"));u.val(r);const f=n.text(),i=$(t.find(".btn.dropdown-toggle span.initialize-text")[0]);i.text(f);i.addClass("selected")})};var initGetQuoteUnsubscribe=function(){$("#btnSave").on("click",function(){var n=$(this).data("cid"),t=$("#chkStatus").is(":checked");$.post("/request/update",{cid:n,status:t},function(n){n==1?toastr.success("Successfully Updated!"):toastr.error("Successfully Updated!")})})},initGetQuoteResume=function(){function n(){return $("#rfq_group_description").val().length<=19?($("#rfq_group_description").addClass("error"),$(".error-msg-textarea").remove(),$("#rfq_group_description").after("<span class='error-msg-textarea'>Describe your requirements in 20+ characters<\/span>"),!1):!0}$("#btn_submit").on("click",function(){if(n()){var t={};t.rfq_group_description=$("#rfq_group_description").val();t.is_product_gq_continue=!0;t.QuoteId=$("#hdn_rfqid").val();$.post("/request/ResumeGetQuote",t,function(n){n.status==1?($("#rfq_group_description").prop("disabled",!0),$("#btn_submit").prop("disabled",!0),toastr.success("Sent Successfully!"),$("#first_stage").css("display","none"),$("#second_stage").css("display","block")):toastr.error(n.message)})}});$("#chkCopyDescription").on("click",function(){isChecked=$("#chkCopyDescription").is(":checked");isChecked===!0?$("#rfq_group_description").val($("#hdn_description").val()):$("#rfq_group_description").val("")})},initGQThumbUpDown=function(){var n=$("#hdnId").val(),t=$("#hdnStats").val();n==-1&&t==-1&&$("form").html("<p style='padding: 50px 0; text-align:center; font-weight:bold'>An error occured when loading your feedback form. Try again later!<\/p>");$("form").fadeIn(100);$("#btnSubmitFeedback").on("click",function(i){var r,u,f;if(i.preventDefault(),r=$("#feedback").val(),r.length<=0)return toastr.error("Comment cannot be empty."),$("#feedback").focus(),!1;u=$(this);f=$("form");$.ajax({url:"/GetQuotes/SubmitSurvey",type:"post",dataType:"json",data:{id:n,stats:t,comment:r},success:function(n){console.log(n);n==1?(toastr.success("Feedback submitted."),$(u).attr("disabled","disabled"),$(u).css("background-color","#888"),$(f).html("<p style='padding: 50px 0; text-align:center; font-weight:bold'>Thank you for submitting your feedback!<\/p>")):n==0?toastr.error("No data was updated."):n==-1&&toastr.error("An error occurred while updating your feedback.")},error:function(){toastr.error("Failed to submit feedback.")}})})};$(function(){$("#faqs-popup .item .question").live("click",function(){let n=$(this).closest(".item");n.toggleClass("collapsed");TrackGoogleAnalyticEvent("ActionFAQitem","FAQsBox","Action on a FAQ item",`categoryid-${n[0].dataset.category}, questionid-${n[0].dataset.faqquestion}`)});$(".faqs-box").click(function(n){n.preventDefault();$(".faqs-box").hide();$(".faqs-popup").show();TrackGoogleAnalyticEvent("OpenFAQsPanel","FAQsBox","Open FAQs Panel",`categoryid-${this.dataset.category}`)});$(document).mouseup(function(n){var t=$(".faqs-popup");t.is(n.target)||t.has(n.target).length!==0||(t.hide(),$(".faqs-box").show())});$(".fa-chevron-down").click(function(n){n.preventDefault();$(".faqs-box").show();$(".faqs-popup").hide()});screen.width<550&&window.addEventListener("scroll",function(){window.scrollY>=720?$(".faqs-container").slideDown(70):$(".faqs-container").slideUp(70)})});;
/*
 * jQuery FlexSlider v2.5.0
 * Copyright 2012 WooThemes
 * Contributing Author: Tyler Smith
 */
;
(function ($) {

  //FlexSlider: Object Instance
  $.flexslider = function(el, options) {
    var slider = $(el);

    // making variables public
    slider.vars = $.extend({}, $.flexslider.defaults, options);

    var namespace = slider.vars.namespace,
        msGesture = window.navigator && window.navigator.msPointerEnabled && window.MSGesture,
        touch = (( "ontouchstart" in window ) || msGesture || window.DocumentTouch && document instanceof DocumentTouch) && slider.vars.touch,
        // depricating this idea, as devices are being released with both of these events
        //eventType = (touch) ? "touchend" : "click",
        eventType = "click touchend MSPointerUp keyup",
        watchedEvent = "",
        watchedEventClearTimer,
        vertical = slider.vars.direction === "vertical",
        reverse = slider.vars.reverse,
        carousel = (slider.vars.itemWidth > 0),
        fade = slider.vars.animation === "fade",
        asNav = slider.vars.asNavFor !== "",
        methods = {},
        focused = true;

    // Store a reference to the slider object
    $.data(el, "flexslider", slider);

    // Private slider methods
    methods = {
      init: function() {
        slider.animating = false;
        // Get current slide and make sure it is a number
        slider.currentSlide = parseInt( ( slider.vars.startAt ? slider.vars.startAt : 0), 10 );
        if ( isNaN( slider.currentSlide ) ) { slider.currentSlide = 0; }
        slider.animatingTo = slider.currentSlide;
        slider.atEnd = (slider.currentSlide === 0 || slider.currentSlide === slider.last);
        slider.containerSelector = slider.vars.selector.substr(0,slider.vars.selector.search(' '));
        slider.slides = $(slider.vars.selector, slider);
        slider.container = $(slider.containerSelector, slider);
        slider.count = slider.slides.length;
        // SYNC:
        slider.syncExists = $(slider.vars.sync).length > 0;
        // SLIDE:
        if (slider.vars.animation === "slide") { slider.vars.animation = "swing"; }
        slider.prop = (vertical) ? "top" : "marginLeft";
        slider.args = {};
        // SLIDESHOW:
        slider.manualPause = false;
        slider.stopped = false;
        //PAUSE WHEN INVISIBLE
        slider.started = false;
        slider.startTimeout = null;
        // TOUCH/USECSS:
        slider.transitions = !slider.vars.video && !fade && slider.vars.useCSS && (function() {
          var obj = document.createElement('div'),
              props = ['perspectiveProperty', 'WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective'];
          for (var i in props) {
            if ( obj.style[ props[i] ] !== undefined ) {
              slider.pfx = props[i].replace('Perspective','').toLowerCase();
              slider.prop = "-" + slider.pfx + "-transform";
              return true;
            }
          }
          return false;
        }());
        slider.ensureAnimationEnd = '';
        // CONTROLSCONTAINER:
        if (slider.vars.controlsContainer !== "") slider.controlsContainer = $(slider.vars.controlsContainer).length > 0 && $(slider.vars.controlsContainer);
        // MANUAL:
        if (slider.vars.manualControls !== "") slider.manualControls = $(slider.vars.manualControls).length > 0 && $(slider.vars.manualControls);

        // CUSTOM DIRECTION NAV:
        if (slider.vars.customDirectionNav !== "") slider.customDirectionNav = $(slider.vars.customDirectionNav).length === 2 && $(slider.vars.customDirectionNav);

        // RANDOMIZE:
        if (slider.vars.randomize) {
          slider.slides.sort(function() { return (Math.round(Math.random())-0.5); });
          slider.container.empty().append(slider.slides);
        }

        slider.doMath();

        // INIT
        slider.setup("init");

        // CONTROLNAV:
        if (slider.vars.controlNav) { methods.controlNav.setup(); }

        // DIRECTIONNAV:
        if (slider.vars.directionNav) { methods.directionNav.setup(); }

        // KEYBOARD:
        if (slider.vars.keyboard && ($(slider.containerSelector).length === 1 || slider.vars.multipleKeyboard)) {
          $(document).bind('keyup', function(event) {
            var keycode = event.keyCode;
            if (!slider.animating && (keycode === 39 || keycode === 37)) {
              var target = (keycode === 39) ? slider.getTarget('next') :
                           (keycode === 37) ? slider.getTarget('prev') : false;
              slider.flexAnimate(target, slider.vars.pauseOnAction);
            }
          });
        }
        // MOUSEWHEEL:
        if (slider.vars.mousewheel) {
          slider.bind('mousewheel', function(event, delta, deltaX, deltaY) {
            event.preventDefault();
            var target = (delta < 0) ? slider.getTarget('next') : slider.getTarget('prev');
            slider.flexAnimate(target, slider.vars.pauseOnAction);
          });
        }

        // PAUSEPLAY
        if (slider.vars.pausePlay) { methods.pausePlay.setup(); }

        //PAUSE WHEN INVISIBLE
        if (slider.vars.slideshow && slider.vars.pauseInvisible) { methods.pauseInvisible.init(); }

        // SLIDSESHOW
        if (slider.vars.slideshow) {
          if (slider.vars.pauseOnHover) {
            slider.hover(function() {
              if (!slider.manualPlay && !slider.manualPause) { slider.pause(); }
            }, function() {
              if (!slider.manualPause && !slider.manualPlay && !slider.stopped) { slider.play(); }
            });
          }
          // initialize animation
          //If we're visible, or we don't use PageVisibility API
          if(!slider.vars.pauseInvisible || !methods.pauseInvisible.isHidden()) {
            (slider.vars.initDelay > 0) ? slider.startTimeout = setTimeout(slider.play, slider.vars.initDelay) : slider.play();
          }
        }

        // ASNAV:
        if (asNav) { methods.asNav.setup(); }

        // TOUCH
        if (touch && slider.vars.touch) { methods.touch(); }

        // FADE&&SMOOTHHEIGHT || SLIDE:
        if (!fade || (fade && slider.vars.smoothHeight)) { $(window).bind("resize orientationchange focus", methods.resize); }

        slider.find("img").attr("draggable", "false");

        // API: start() Callback
        setTimeout(function(){
          slider.vars.start(slider);
        }, 200);
      },
      asNav: {
        setup: function() {
          slider.asNav = true;
          slider.animatingTo = Math.floor(slider.currentSlide/slider.move);
          slider.currentItem = slider.currentSlide;
          slider.slides.removeClass(namespace + "active-slide").eq(slider.currentItem).addClass(namespace + "active-slide");
          if(!msGesture){
              slider.slides.on(eventType, function(e){
                e.preventDefault();
                var $slide = $(this),
                    target = $slide.index();
                var posFromLeft = $slide.offset().left - $(slider).scrollLeft(); // Find position of slide relative to left of slider container
                if( posFromLeft <= 0 && $slide.hasClass( namespace + 'active-slide' ) ) {
                  slider.flexAnimate(slider.getTarget("prev"), true);
                } else if (!$(slider.vars.asNavFor).data('flexslider').animating && !$slide.hasClass(namespace + "active-slide")) {
                  slider.direction = (slider.currentItem < target) ? "next" : "prev";
                  slider.flexAnimate(target, slider.vars.pauseOnAction, false, true, true);
                }
              });
          }else{
              el._slider = slider;
              slider.slides.each(function (){
                  var that = this;
                  that._gesture = new MSGesture();
                  that._gesture.target = that;
                  that.addEventListener("MSPointerDown", function (e){
                      e.preventDefault();
                      if(e.currentTarget._gesture) {
                        e.currentTarget._gesture.addPointer(e.pointerId);
                      }
                  }, false);
                  that.addEventListener("MSGestureTap", function (e){
                      e.preventDefault();
                      var $slide = $(this),
                          target = $slide.index();
                      if (!$(slider.vars.asNavFor).data('flexslider').animating && !$slide.hasClass('active')) {
                          slider.direction = (slider.currentItem < target) ? "next" : "prev";
                          slider.flexAnimate(target, slider.vars.pauseOnAction, false, true, true);
                      }
                  });
              });
          }
        }
      },
      controlNav: {
        setup: function() {
          if (!slider.manualControls) {
            methods.controlNav.setupPaging();
          } else { // MANUALCONTROLS:
            methods.controlNav.setupManual();
          }
        },
        setupPaging: function() {
          var type = (slider.vars.controlNav === "thumbnails") ? 'control-thumbs' : 'control-paging',
              j = 1,
              item,
              slide;

          slider.controlNavScaffold = $('<ol class="'+ namespace + 'control-nav ' + namespace + type + '"></ol>');

          if (slider.pagingCount > 1) {
            for (var i = 0; i < slider.pagingCount; i++) {
              slide = slider.slides.eq(i);
              item = (slider.vars.controlNav === "thumbnails") ? '<img src="' + slide.attr( 'data-thumb' ) + '"/>' : '<a>' + j + '</a>';
              if ( 'thumbnails' === slider.vars.controlNav && true === slider.vars.thumbCaptions ) {
                var captn = slide.attr( 'data-thumbcaption' );
                if ( '' !== captn && undefined !== captn ) { item += '<span class="' + namespace + 'caption">' + captn + '</span>'; }
              }
              slider.controlNavScaffold.append('<li>' + item + '</li>');
              j++;
            }
          }

          // CONTROLSCONTAINER:
          (slider.controlsContainer) ? $(slider.controlsContainer).append(slider.controlNavScaffold) : slider.append(slider.controlNavScaffold);
          methods.controlNav.set();

          methods.controlNav.active();

          slider.controlNavScaffold.delegate('a, img', eventType, function(event) {
            event.preventDefault();

            if (watchedEvent === "" || watchedEvent === event.type) {
              var $this = $(this),
                  target = slider.controlNav.index($this);

              if (!$this.hasClass(namespace + 'active')) {
                slider.direction = (target > slider.currentSlide) ? "next" : "prev";
                slider.flexAnimate(target, slider.vars.pauseOnAction);
              }
            }

            // setup flags to prevent event duplication
            if (watchedEvent === "") {
              watchedEvent = event.type;
            }
            methods.setToClearWatchedEvent();

          });
        },
        setupManual: function() {
          slider.controlNav = slider.manualControls;
          methods.controlNav.active();

          slider.controlNav.bind(eventType, function(event) {
            event.preventDefault();

            if (watchedEvent === "" || watchedEvent === event.type) {
              var $this = $(this),
                  target = slider.controlNav.index($this);

              if (!$this.hasClass(namespace + 'active')) {
                (target > slider.currentSlide) ? slider.direction = "next" : slider.direction = "prev";
                slider.flexAnimate(target, slider.vars.pauseOnAction);
              }
            }

            // setup flags to prevent event duplication
            if (watchedEvent === "") {
              watchedEvent = event.type;
            }
            methods.setToClearWatchedEvent();
          });
        },
        set: function() {
          var selector = (slider.vars.controlNav === "thumbnails") ? 'img' : 'a';
          slider.controlNav = $('.' + namespace + 'control-nav li ' + selector, (slider.controlsContainer) ? slider.controlsContainer : slider);
        },
        active: function() {
          slider.controlNav.removeClass(namespace + "active").eq(slider.animatingTo).addClass(namespace + "active");
        },
        update: function(action, pos) {
          if (slider.pagingCount > 1 && action === "add") {
            slider.controlNavScaffold.append($('<li><a>' + slider.count + '</a></li>'));
          } else if (slider.pagingCount === 1) {
            slider.controlNavScaffold.find('li').remove();
          } else {
            slider.controlNav.eq(pos).closest('li').remove();
          }
          methods.controlNav.set();
          (slider.pagingCount > 1 && slider.pagingCount !== slider.controlNav.length) ? slider.update(pos, action) : methods.controlNav.active();
        }
      },
      directionNav: {
        setup: function() {
          var directionNavScaffold = $('<ul class="' + namespace + 'direction-nav"><li class="' + namespace + 'nav-prev"><a class="' + namespace + 'prev" href="#">' + slider.vars.prevText + '</a></li><li class="' + namespace + 'nav-next"><a class="' + namespace + 'next" href="#">' + slider.vars.nextText + '</a></li></ul>');

          // CUSTOM DIRECTION NAV:
          if (slider.customDirectionNav) {
            slider.directionNav = slider.customDirectionNav;
          // CONTROLSCONTAINER:
          } else if (slider.controlsContainer) {
            $(slider.controlsContainer).append(directionNavScaffold);
            slider.directionNav = $('.' + namespace + 'direction-nav li a', slider.controlsContainer);
          } else {
            slider.append(directionNavScaffold);
            slider.directionNav = $('.' + namespace + 'direction-nav li a', slider);
          }

          methods.directionNav.update();

          slider.directionNav.bind(eventType, function(event) {
            event.preventDefault();
            var target;

            if (watchedEvent === "" || watchedEvent === event.type) {
              target = ($(this).hasClass(namespace + 'next')) ? slider.getTarget('next') : slider.getTarget('prev');
              slider.flexAnimate(target, slider.vars.pauseOnAction);
            }

            // setup flags to prevent event duplication
            if (watchedEvent === "") {
              watchedEvent = event.type;
            }
            methods.setToClearWatchedEvent();
          });
        },
        update: function() {
          var disabledClass = namespace + 'disabled';
          if (slider.pagingCount === 1) {
            slider.directionNav.addClass(disabledClass).attr('tabindex', '-1');
          } else if (!slider.vars.animationLoop) {
            if (slider.animatingTo === 0) {
              slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "prev").addClass(disabledClass).attr('tabindex', '-1');
            } else if (slider.animatingTo === slider.last) {
              slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "next").addClass(disabledClass).attr('tabindex', '-1');
            } else {
              slider.directionNav.removeClass(disabledClass).removeAttr('tabindex');
            }
          } else {
            slider.directionNav.removeClass(disabledClass).removeAttr('tabindex');
          }
        }
      },
      pausePlay: {
        setup: function() {
          var pausePlayScaffold = $('<div class="' + namespace + 'pauseplay"><a></a></div>');

          // CONTROLSCONTAINER:
          if (slider.controlsContainer) {
            slider.controlsContainer.append(pausePlayScaffold);
            slider.pausePlay = $('.' + namespace + 'pauseplay a', slider.controlsContainer);
          } else {
            slider.append(pausePlayScaffold);
            slider.pausePlay = $('.' + namespace + 'pauseplay a', slider);
          }

          methods.pausePlay.update((slider.vars.slideshow) ? namespace + 'pause' : namespace + 'play');

          slider.pausePlay.bind(eventType, function(event) {
            event.preventDefault();

            if (watchedEvent === "" || watchedEvent === event.type) {
              if ($(this).hasClass(namespace + 'pause')) {
                slider.manualPause = true;
                slider.manualPlay = false;
                slider.pause();
              } else {
                slider.manualPause = false;
                slider.manualPlay = true;
                slider.play();
              }
            }

            // setup flags to prevent event duplication
            if (watchedEvent === "") {
              watchedEvent = event.type;
            }
            methods.setToClearWatchedEvent();
          });
        },
        update: function(state) {
          (state === "play") ? slider.pausePlay.removeClass(namespace + 'pause').addClass(namespace + 'play').html(slider.vars.playText) : slider.pausePlay.removeClass(namespace + 'play').addClass(namespace + 'pause').html(slider.vars.pauseText);
        }
      },
      touch: function() {
        var startX,
          startY,
          offset,
          cwidth,
          dx,
          startT,
          onTouchStart,
          onTouchMove,
          onTouchEnd,
          scrolling = false,
          localX = 0,
          localY = 0,
          accDx = 0;

        if(!msGesture){
            onTouchStart = function(e) {
              if (slider.animating) {
                e.preventDefault();
              } else if ( ( window.navigator.msPointerEnabled ) || e.touches.length === 1 ) {
                slider.pause();
                // CAROUSEL:
                cwidth = (vertical) ? slider.h : slider. w;
                startT = Number(new Date());
                // CAROUSEL:

                // Local vars for X and Y points.
                localX = e.touches[0].pageX;
                localY = e.touches[0].pageY;

                offset = (carousel && reverse && slider.animatingTo === slider.last) ? 0 :
                         (carousel && reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :
                         (carousel && slider.currentSlide === slider.last) ? slider.limit :
                         (carousel) ? ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.currentSlide :
                         (reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth : (slider.currentSlide + slider.cloneOffset) * cwidth;
                startX = (vertical) ? localY : localX;
                startY = (vertical) ? localX : localY;

                el.addEventListener('touchmove', onTouchMove, false);
                el.addEventListener('touchend', onTouchEnd, false);
              }
            };

            onTouchMove = function(e) {
              // Local vars for X and Y points.

              localX = e.touches[0].pageX;
              localY = e.touches[0].pageY;

              dx = (vertical) ? startX - localY : startX - localX;
              scrolling = (vertical) ? (Math.abs(dx) < Math.abs(localX - startY)) : (Math.abs(dx) < Math.abs(localY - startY));

              var fxms = 500;

              if ( ! scrolling || Number( new Date() ) - startT > fxms ) {
                e.preventDefault();
                if (!fade && slider.transitions) {
                  if (!slider.vars.animationLoop) {
                    dx = dx/((slider.currentSlide === 0 && dx < 0 || slider.currentSlide === slider.last && dx > 0) ? (Math.abs(dx)/cwidth+2) : 1);
                  }
                  slider.setProps(offset + dx, "setTouch");
                }
              }
            };

            onTouchEnd = function(e) {
              // finish the touch by undoing the touch session
              el.removeEventListener('touchmove', onTouchMove, false);

              if (slider.animatingTo === slider.currentSlide && !scrolling && !(dx === null)) {
                var updateDx = (reverse) ? -dx : dx,
                    target = (updateDx > 0) ? slider.getTarget('next') : slider.getTarget('prev');

                if (slider.canAdvance(target) && (Number(new Date()) - startT < 550 && Math.abs(updateDx) > 50 || Math.abs(updateDx) > cwidth/2)) {
                  slider.flexAnimate(target, slider.vars.pauseOnAction);
                } else {
                  if (!fade) { slider.flexAnimate(slider.currentSlide, slider.vars.pauseOnAction, true); }
                }
              }
              el.removeEventListener('touchend', onTouchEnd, false);

              startX = null;
              startY = null;
              dx = null;
              offset = null;
            };

            el.addEventListener('touchstart', onTouchStart, false);
        }else{
            el.style.msTouchAction = "none";
            el._gesture = new MSGesture();
            el._gesture.target = el;
            el.addEventListener("MSPointerDown", onMSPointerDown, false);
            el._slider = slider;
            el.addEventListener("MSGestureChange", onMSGestureChange, false);
            el.addEventListener("MSGestureEnd", onMSGestureEnd, false);

            function onMSPointerDown(e){
                e.stopPropagation();
                if (slider.animating) {
                    e.preventDefault();
                }else{
                    slider.pause();
                    el._gesture.addPointer(e.pointerId);
                    accDx = 0;
                    cwidth = (vertical) ? slider.h : slider. w;
                    startT = Number(new Date());
                    // CAROUSEL:

                    offset = (carousel && reverse && slider.animatingTo === slider.last) ? 0 :
                        (carousel && reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :
                            (carousel && slider.currentSlide === slider.last) ? slider.limit :
                                (carousel) ? ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.currentSlide :
                                    (reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth : (slider.currentSlide + slider.cloneOffset) * cwidth;
                }
            }

            function onMSGestureChange(e) {
                e.stopPropagation();
                var slider = e.target._slider;
                if(!slider){
                    return;
                }
                var transX = -e.translationX,
                    transY = -e.translationY;

                //Accumulate translations.
                accDx = accDx + ((vertical) ? transY : transX);
                dx = accDx;
                scrolling = (vertical) ? (Math.abs(accDx) < Math.abs(-transX)) : (Math.abs(accDx) < Math.abs(-transY));

                if(e.detail === e.MSGESTURE_FLAG_INERTIA){
                    setImmediate(function (){
                        el._gesture.stop();
                    });

                    return;
                }

                if (!scrolling || Number(new Date()) - startT > 500) {
                    e.preventDefault();
                    if (!fade && slider.transitions) {
                        if (!slider.vars.animationLoop) {
                            dx = accDx / ((slider.currentSlide === 0 && accDx < 0 || slider.currentSlide === slider.last && accDx > 0) ? (Math.abs(accDx) / cwidth + 2) : 1);
                        }
                        slider.setProps(offset + dx, "setTouch");
                    }
                }
            }

            function onMSGestureEnd(e) {
                e.stopPropagation();
                var slider = e.target._slider;
                if(!slider){
                    return;
                }
                if (slider.animatingTo === slider.currentSlide && !scrolling && !(dx === null)) {
                    var updateDx = (reverse) ? -dx : dx,
                        target = (updateDx > 0) ? slider.getTarget('next') : slider.getTarget('prev');

                    if (slider.canAdvance(target) && (Number(new Date()) - startT < 550 && Math.abs(updateDx) > 50 || Math.abs(updateDx) > cwidth/2)) {
                        slider.flexAnimate(target, slider.vars.pauseOnAction);
                    } else {
                        if (!fade) { slider.flexAnimate(slider.currentSlide, slider.vars.pauseOnAction, true); }
                    }
                }

                startX = null;
                startY = null;
                dx = null;
                offset = null;
                accDx = 0;
            }
        }
      },
      resize: function() {
        if (!slider.animating && slider.is(':visible')) {
          if (!carousel) { slider.doMath(); }

          if (fade) {
            // SMOOTH HEIGHT:
            methods.smoothHeight();
          } else if (carousel) { //CAROUSEL:
            slider.slides.width(slider.computedW);
            slider.update(slider.pagingCount);
            slider.setProps();
          }
          else if (vertical) { //VERTICAL:
            slider.viewport.height(slider.h);
            slider.setProps(slider.h, "setTotal");
          } else {
            // SMOOTH HEIGHT:
            if (slider.vars.smoothHeight) { methods.smoothHeight(); }
            slider.newSlides.width(slider.computedW);
            slider.setProps(slider.computedW, "setTotal");
          }
        }
      },
      smoothHeight: function(dur) {
        if (!vertical || fade) {
          var $obj = (fade) ? slider : slider.viewport;
          (dur) ? $obj.animate({"height": slider.slides.eq(slider.animatingTo).height()}, dur) : $obj.height(slider.slides.eq(slider.animatingTo).height());
        }
      },
      sync: function(action) {
        var $obj = $(slider.vars.sync).data("flexslider"),
            target = slider.animatingTo;

        switch (action) {
          case "animate": $obj.flexAnimate(target, slider.vars.pauseOnAction, false, true); break;
          case "play": if (!$obj.playing && !$obj.asNav) { $obj.play(); } break;
          case "pause": $obj.pause(); break;
        }
      },
      uniqueID: function($clone) {
        // Append _clone to current level and children elements with id attributes
        $clone.filter( '[id]' ).add($clone.find( '[id]' )).each(function() {
          var $this = $(this);
          $this.attr( 'id', $this.attr( 'id' ) + '_clone' );
        });
        return $clone;
      },
      pauseInvisible: {
        visProp: null,
        init: function() {
          var visProp = methods.pauseInvisible.getHiddenProp();
          if (visProp) {
            var evtname = visProp.replace(/[H|h]idden/,'') + 'visibilitychange';
            document.addEventListener(evtname, function() {
              if (methods.pauseInvisible.isHidden()) {
                if(slider.startTimeout) {
                  clearTimeout(slider.startTimeout); //If clock is ticking, stop timer and prevent from starting while invisible
                } else { 
                  slider.pause(); //Or just pause
                }
              }
              else {
                if(slider.started) {
                  slider.play(); //Initiated before, just play
                } else { 
                  if (slider.vars.initDelay > 0) { 
                    setTimeout(slider.play, slider.vars.initDelay);
                  } else {
                    slider.play(); //Didn't init before: simply init or wait for it
                  } 
                }
              }
            });
          }
        },
        isHidden: function() {
          var prop = methods.pauseInvisible.getHiddenProp();
          if (!prop) {
            return false;
          }
          return document[prop];
        },
        getHiddenProp: function() {
          var prefixes = ['webkit','moz','ms','o'];
          // if 'hidden' is natively supported just return it
          if ('hidden' in document) {
            return 'hidden';
          }
          // otherwise loop over all the known prefixes until we find one
          for ( var i = 0; i < prefixes.length; i++ ) {
              if ((prefixes[i] + 'Hidden') in document) {
                return prefixes[i] + 'Hidden';
              }
          }
          // otherwise it's not supported
          return null;
        }
      },
      setToClearWatchedEvent: function() {
        clearTimeout(watchedEventClearTimer);
        watchedEventClearTimer = setTimeout(function() {
          watchedEvent = "";
        }, 3000);
      }
    };

    // public methods
    slider.flexAnimate = function(target, pause, override, withSync, fromNav) {
      if (!slider.vars.animationLoop && target !== slider.currentSlide) {
        slider.direction = (target > slider.currentSlide) ? "next" : "prev";
      }

      if (asNav && slider.pagingCount === 1) slider.direction = (slider.currentItem < target) ? "next" : "prev";

      if (!slider.animating && (slider.canAdvance(target, fromNav) || override) && slider.is(":visible")) {
        if (asNav && withSync) {
          var master = $(slider.vars.asNavFor).data('flexslider');
          slider.atEnd = target === 0 || target === slider.count - 1;
          master.flexAnimate(target, true, false, true, fromNav);
          slider.direction = (slider.currentItem < target) ? "next" : "prev";
          master.direction = slider.direction;

          if (Math.ceil((target + 1)/slider.visible) - 1 !== slider.currentSlide && target !== 0) {
            slider.currentItem = target;
            slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");
            target = Math.floor(target/slider.visible);
          } else {
            slider.currentItem = target;
            slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");
            return false;
          }
        }

        slider.animating = true;
        slider.animatingTo = target;

        // SLIDESHOW:
        if (pause) { slider.pause(); }

        // API: before() animation Callback
        slider.vars.before(slider);

        // SYNC:
        if (slider.syncExists && !fromNav) { methods.sync("animate"); }

        // CONTROLNAV
        if (slider.vars.controlNav) { methods.controlNav.active(); }

        // !CAROUSEL:
        // CANDIDATE: slide active class (for add/remove slide)
        if (!carousel) { slider.slides.removeClass(namespace + 'active-slide').eq(target).addClass(namespace + 'active-slide'); }

        // INFINITE LOOP:
        // CANDIDATE: atEnd
        slider.atEnd = target === 0 || target === slider.last;

        // DIRECTIONNAV:
        if (slider.vars.directionNav) { methods.directionNav.update(); }

        if (target === slider.last) {
          // API: end() of cycle Callback
          slider.vars.end(slider);
          // SLIDESHOW && !INFINITE LOOP:
          if (!slider.vars.animationLoop) { slider.pause(); }
        }

        // SLIDE:
        if (!fade) {
          var dimension = (vertical) ? slider.slides.filter(':first').height() : slider.computedW,
              margin, slideString, calcNext;

          // INFINITE LOOP / REVERSE:
          if (carousel) {
            //margin = (slider.vars.itemWidth > slider.w) ? slider.vars.itemMargin * 2 : slider.vars.itemMargin;
            margin = slider.vars.itemMargin;
            calcNext = ((slider.itemW + margin) * slider.move) * slider.animatingTo;
            slideString = (calcNext > slider.limit && slider.visible !== 1) ? slider.limit : calcNext;
          } else if (slider.currentSlide === 0 && target === slider.count - 1 && slider.vars.animationLoop && slider.direction !== "next") {
            slideString = (reverse) ? (slider.count + slider.cloneOffset) * dimension : 0;
          } else if (slider.currentSlide === slider.last && target === 0 && slider.vars.animationLoop && slider.direction !== "prev") {
            slideString = (reverse) ? 0 : (slider.count + 1) * dimension;
          } else {
            slideString = (reverse) ? ((slider.count - 1) - target + slider.cloneOffset) * dimension : (target + slider.cloneOffset) * dimension;
          }
          slider.setProps(slideString, "", slider.vars.animationSpeed);
          if (slider.transitions) {
            if (!slider.vars.animationLoop || !slider.atEnd) {
              slider.animating = false;
              slider.currentSlide = slider.animatingTo;
            }
            
            // Unbind previous transitionEnd events and re-bind new transitionEnd event
            slider.container.unbind("webkitTransitionEnd transitionend");
            slider.container.bind("webkitTransitionEnd transitionend", function() {
              clearTimeout(slider.ensureAnimationEnd);
              slider.wrapup(dimension);
            });

            // Insurance for the ever-so-fickle transitionEnd event
            clearTimeout(slider.ensureAnimationEnd);
            slider.ensureAnimationEnd = setTimeout(function() {
              slider.wrapup(dimension);
            }, slider.vars.animationSpeed + 100);

          } else {
            slider.container.animate(slider.args, slider.vars.animationSpeed, slider.vars.easing, function(){
              slider.wrapup(dimension);
            });
          }
        } else { // FADE:
          if (!touch) {
            //slider.slides.eq(slider.currentSlide).fadeOut(slider.vars.animationSpeed, slider.vars.easing);
            //slider.slides.eq(target).fadeIn(slider.vars.animationSpeed, slider.vars.easing, slider.wrapup);

            slider.slides.eq(slider.currentSlide).css({"zIndex": 1}).animate({"opacity": 0}, slider.vars.animationSpeed, slider.vars.easing);
            slider.slides.eq(target).css({"zIndex": 2}).animate({"opacity": 1}, slider.vars.animationSpeed, slider.vars.easing, slider.wrapup);

          } else {
            slider.slides.eq(slider.currentSlide).css({ "opacity": 0, "zIndex": 1 });
            slider.slides.eq(target).css({ "opacity": 1, "zIndex": 2 });
            slider.wrapup(dimension);
          }
        }
        // SMOOTH HEIGHT:
        if (slider.vars.smoothHeight) { methods.smoothHeight(slider.vars.animationSpeed); }
      }
    };
    slider.wrapup = function(dimension) {
      // SLIDE:
      if (!fade && !carousel) {
        if (slider.currentSlide === 0 && slider.animatingTo === slider.last && slider.vars.animationLoop) {
          slider.setProps(dimension, "jumpEnd");
        } else if (slider.currentSlide === slider.last && slider.animatingTo === 0 && slider.vars.animationLoop) {
          slider.setProps(dimension, "jumpStart");
        }
      }
      slider.animating = false;
      slider.currentSlide = slider.animatingTo;
      // API: after() animation Callback
      slider.vars.after(slider);
    };

    // SLIDESHOW:
    slider.animateSlides = function() {
      if (!slider.animating && focused ) { slider.flexAnimate(slider.getTarget("next")); }
    };
    // SLIDESHOW:
    slider.pause = function() {
      clearInterval(slider.animatedSlides);
      slider.animatedSlides = null;
      slider.playing = false;
      // PAUSEPLAY:
      if (slider.vars.pausePlay) { methods.pausePlay.update("play"); }
      // SYNC:
      if (slider.syncExists) { methods.sync("pause"); }
    };
    // SLIDESHOW:
    slider.play = function() {
      if (slider.playing) { clearInterval(slider.animatedSlides); }
      slider.animatedSlides = slider.animatedSlides || setInterval(slider.animateSlides, slider.vars.slideshowSpeed);
      slider.started = slider.playing = true;
      // PAUSEPLAY:
      if (slider.vars.pausePlay) { methods.pausePlay.update("pause"); }
      // SYNC:
      if (slider.syncExists) { methods.sync("play"); }
    };
    // STOP:
    slider.stop = function () {
      slider.pause();
      slider.stopped = true;
    };
    slider.canAdvance = function(target, fromNav) {
      // ASNAV:
      var last = (asNav) ? slider.pagingCount - 1 : slider.last;
      return (fromNav) ? true :
             (asNav && slider.currentItem === slider.count - 1 && target === 0 && slider.direction === "prev") ? true :
             (asNav && slider.currentItem === 0 && target === slider.pagingCount - 1 && slider.direction !== "next") ? false :
             (target === slider.currentSlide && !asNav) ? false :
             (slider.vars.animationLoop) ? true :
             (slider.atEnd && slider.currentSlide === 0 && target === last && slider.direction !== "next") ? false :
             (slider.atEnd && slider.currentSlide === last && target === 0 && slider.direction === "next") ? false :
             true;
    };
    slider.getTarget = function(dir) {
      slider.direction = dir;
      if (dir === "next") {
        return (slider.currentSlide === slider.last) ? 0 : slider.currentSlide + 1;
      } else {
        return (slider.currentSlide === 0) ? slider.last : slider.currentSlide - 1;
      }
    };

    // SLIDE:
    slider.setProps = function(pos, special, dur) {
      var target = (function() {
        var posCheck = (pos) ? pos : ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo,
            posCalc = (function() {
              if (carousel) {
                return (special === "setTouch") ? pos :
                       (reverse && slider.animatingTo === slider.last) ? 0 :
                       (reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :
                       (slider.animatingTo === slider.last) ? slider.limit : posCheck;
              } else {
                switch (special) {
                  case "setTotal": return (reverse) ? ((slider.count - 1) - slider.currentSlide + slider.cloneOffset) * pos : (slider.currentSlide + slider.cloneOffset) * pos;
                  case "setTouch": return (reverse) ? pos : pos;
                  case "jumpEnd": return (reverse) ? pos : slider.count * pos;
                  case "jumpStart": return (reverse) ? slider.count * pos : pos;
                  default: return pos;
                }
              }
            }());

            return (posCalc * -1) + "px";
          }());

      if (slider.transitions) {
        target = (vertical) ? "translate3d(0," + target + ",0)" : "translate3d(" + target + ",0,0)";
        dur = (dur !== undefined) ? (dur/1000) + "s" : "0s";
        slider.container.css("-" + slider.pfx + "-transition-duration", dur);
         slider.container.css("transition-duration", dur);
      }

      slider.args[slider.prop] = target;
      if (slider.transitions || dur === undefined) { slider.container.css(slider.args); }

      slider.container.css('transform',target);
    };

    slider.setup = function(type) {
      // SLIDE:
      if (!fade) {
        var sliderOffset, arr;

        if (type === "init") {
          slider.viewport = $('<div class="' + namespace + 'viewport"></div>').css({"overflow": "hidden", "position": "relative"}).appendTo(slider).append(slider.container);
          // INFINITE LOOP:
          slider.cloneCount = 0;
          slider.cloneOffset = 0;
          // REVERSE:
          if (reverse) {
            arr = $.makeArray(slider.slides).reverse();
            slider.slides = $(arr);
            slider.container.empty().append(slider.slides);
          }
        }
        // INFINITE LOOP && !CAROUSEL:
        if (slider.vars.animationLoop && !carousel) {
          slider.cloneCount = 2;
          slider.cloneOffset = 1;
          // clear out old clones
          if (type !== "init") { slider.container.find('.clone').remove(); }
          slider.container.append(methods.uniqueID(slider.slides.first().clone().addClass('clone')).attr('aria-hidden', 'true'))
                          .prepend(methods.uniqueID(slider.slides.last().clone().addClass('clone')).attr('aria-hidden', 'true'));
        }
        slider.newSlides = $(slider.vars.selector, slider);

        sliderOffset = (reverse) ? slider.count - 1 - slider.currentSlide + slider.cloneOffset : slider.currentSlide + slider.cloneOffset;
        // VERTICAL:
        if (vertical && !carousel) {
          slider.container.height((slider.count + slider.cloneCount) * 200 + "%").css("position", "absolute").width("100%");
          setTimeout(function(){
            slider.newSlides.css({"display": "block"});
            slider.doMath();
            slider.viewport.height(slider.h);
            slider.setProps(sliderOffset * slider.h, "init");
          }, (type === "init") ? 100 : 0);
        } else {
          slider.container.width((slider.count + slider.cloneCount) * 200 + "%");
          slider.setProps(sliderOffset * slider.computedW, "init");
          setTimeout(function(){
            slider.doMath();
            slider.newSlides.css({"width": slider.computedW, "float": "left", "display": "block"});
            // SMOOTH HEIGHT:
            if (slider.vars.smoothHeight) { methods.smoothHeight(); }
          }, (type === "init") ? 100 : 0);
        }
      } else { // FADE:
        slider.slides.css({"width": "100%", "float": "left", "marginRight": "-100%", "position": "relative"});
        if (type === "init") {
          if (!touch) {
            //slider.slides.eq(slider.currentSlide).fadeIn(slider.vars.animationSpeed, slider.vars.easing);
            if (slider.vars.fadeFirstSlide == false) {
              slider.slides.css({ "opacity": 0, "display": "block", "zIndex": 1 }).eq(slider.currentSlide).css({"zIndex": 2}).css({"opacity": 1});
            } else {
              slider.slides.css({ "opacity": 0, "display": "block", "zIndex": 1 }).eq(slider.currentSlide).css({"zIndex": 2}).animate({"opacity": 1},slider.vars.animationSpeed,slider.vars.easing);
            }
          } else {
            slider.slides.css({ "opacity": 0, "display": "block", "webkitTransition": "opacity " + slider.vars.animationSpeed / 1000 + "s ease", "zIndex": 1 }).eq(slider.currentSlide).css({ "opacity": 1, "zIndex": 2});
          }
        }
        // SMOOTH HEIGHT:
        if (slider.vars.smoothHeight) { methods.smoothHeight(); }
      }
      // !CAROUSEL:
      // CANDIDATE: active slide
      if (!carousel) { slider.slides.removeClass(namespace + "active-slide").eq(slider.currentSlide).addClass(namespace + "active-slide"); }

      //FlexSlider: init() Callback
      slider.vars.init(slider);
    };

    slider.doMath = function() {
      var slide = slider.slides.first(),
          slideMargin = slider.vars.itemMargin,
          minItems = slider.vars.minItems,
          maxItems = slider.vars.maxItems;

      slider.w = (slider.viewport===undefined) ? slider.width() : slider.viewport.width();
      slider.h = slide.height();
      slider.boxPadding = slide.outerWidth() - slide.width();

      // CAROUSEL:
      if (carousel) {
        slider.itemT = slider.vars.itemWidth + slideMargin;
        slider.minW = (minItems) ? minItems * slider.itemT : slider.w;
        slider.maxW = (maxItems) ? (maxItems * slider.itemT) - slideMargin : slider.w;
        slider.itemW = (slider.minW > slider.w) ? (slider.w - (slideMargin * (minItems - 1)))/minItems :
                       (slider.maxW < slider.w) ? (slider.w - (slideMargin * (maxItems - 1)))/maxItems :
                       (slider.vars.itemWidth > slider.w) ? slider.w : slider.vars.itemWidth;

        slider.visible = Math.floor(slider.w/(slider.itemW));
        slider.move = (slider.vars.move > 0 && slider.vars.move < slider.visible ) ? slider.vars.move : slider.visible;
        slider.pagingCount = Math.ceil(((slider.count - slider.visible)/slider.move) + 1);
        slider.last =  slider.pagingCount - 1;
        slider.limit = (slider.pagingCount === 1) ? 0 :
                       (slider.vars.itemWidth > slider.w) ? (slider.itemW * (slider.count - 1)) + (slideMargin * (slider.count - 1)) : ((slider.itemW + slideMargin) * slider.count) - slider.w - slideMargin;
      } else {
        slider.itemW = slider.w;
        slider.pagingCount = slider.count;
        slider.last = slider.count - 1;
      }
      slider.computedW = slider.itemW - slider.boxPadding;
    };

    slider.update = function(pos, action) {
      slider.doMath();

      // update currentSlide and slider.animatingTo if necessary
      if (!carousel) {
        if (pos < slider.currentSlide) {
          slider.currentSlide += 1;
        } else if (pos <= slider.currentSlide && pos !== 0) {
          slider.currentSlide -= 1;
        }
        slider.animatingTo = slider.currentSlide;
      }

      // update controlNav
      if (slider.vars.controlNav && !slider.manualControls) {
        if ((action === "add" && !carousel) || slider.pagingCount > slider.controlNav.length) {
          methods.controlNav.update("add");
        } else if ((action === "remove" && !carousel) || slider.pagingCount < slider.controlNav.length) {
          if (carousel && slider.currentSlide > slider.last) {
            slider.currentSlide -= 1;
            slider.animatingTo -= 1;
          }
          methods.controlNav.update("remove", slider.last);
        }
      }
      // update directionNav
      if (slider.vars.directionNav) { methods.directionNav.update(); }

    };

    slider.addSlide = function(obj, pos) {
      var $obj = $(obj);

      slider.count += 1;
      slider.last = slider.count - 1;

      // append new slide
      if (vertical && reverse) {
        (pos !== undefined) ? slider.slides.eq(slider.count - pos).after($obj) : slider.container.prepend($obj);
      } else {
        (pos !== undefined) ? slider.slides.eq(pos).before($obj) : slider.container.append($obj);
      }

      // update currentSlide, animatingTo, controlNav, and directionNav
      slider.update(pos, "add");

      // update slider.slides
      slider.slides = $(slider.vars.selector + ':not(.clone)', slider);
      // re-setup the slider to accomdate new slide
      slider.setup();

      //FlexSlider: added() Callback
      slider.vars.added(slider);
    };
    slider.removeSlide = function(obj) {
      var pos = (isNaN(obj)) ? slider.slides.index($(obj)) : obj;

      // update count
      slider.count -= 1;
      slider.last = slider.count - 1;

      // remove slide
      if (isNaN(obj)) {
        $(obj, slider.slides).remove();
      } else {
        (vertical && reverse) ? slider.slides.eq(slider.last).remove() : slider.slides.eq(obj).remove();
      }

      // update currentSlide, animatingTo, controlNav, and directionNav
      slider.doMath();
      slider.update(pos, "remove");

      // update slider.slides
      slider.slides = $(slider.vars.selector + ':not(.clone)', slider);
      // re-setup the slider to accomdate new slide
      slider.setup();

      // FlexSlider: removed() Callback
      slider.vars.removed(slider);
    };

    //FlexSlider: Initialize
    methods.init();
  };

  // Ensure the slider isn't focussed if the window loses focus.
  $( window ).blur( function ( e ) {
    focused = false;
  }).focus( function ( e ) {
    focused = true;
  });

  //FlexSlider: Default Settings
  $.flexslider.defaults = {
    namespace: "flex-",             //{NEW} String: Prefix string attached to the class of every element generated by the plugin
    selector: ".slides > li",       //{NEW} Selector: Must match a simple pattern. '{container} > {slide}' -- Ignore pattern at your own peril
    animation: "fade",              //String: Select your animation type, "fade" or "slide"
    easing: "swing",                //{NEW} String: Determines the easing method used in jQuery transitions. jQuery easing plugin is supported!
    direction: "horizontal",        //String: Select the sliding direction, "horizontal" or "vertical"
    reverse: false,                 //{NEW} Boolean: Reverse the animation direction
    animationLoop: true,            //Boolean: Should the animation loop? If false, directionNav will received "disable" classes at either end
    smoothHeight: false,            //{NEW} Boolean: Allow height of the slider to animate smoothly in horizontal mode
    startAt: 0,                     //Integer: The slide that the slider should start on. Array notation (0 = first slide)
    slideshow: true,                //Boolean: Animate slider automatically
    slideshowSpeed: 7000,           //Integer: Set the speed of the slideshow cycling, in milliseconds
    animationSpeed: 600,            //Integer: Set the speed of animations, in milliseconds
    initDelay: 0,                   //{NEW} Integer: Set an initialization delay, in milliseconds
    randomize: false,               //Boolean: Randomize slide order
    fadeFirstSlide: true,           //Boolean: Fade in the first slide when animation type is "fade"
    thumbCaptions: false,           //Boolean: Whether or not to put captions on thumbnails when using the "thumbnails" controlNav.

    // Usability features
    pauseOnAction: true,            //Boolean: Pause the slideshow when interacting with control elements, highly recommended.
    pauseOnHover: false,            //Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering
    pauseInvisible: true,   		//{NEW} Boolean: Pause the slideshow when tab is invisible, resume when visible. Provides better UX, lower CPU usage.
    useCSS: true,                   //{NEW} Boolean: Slider will use CSS3 transitions if available
    touch: true,                    //{NEW} Boolean: Allow touch swipe navigation of the slider on touch-enabled devices
    video: false,                   //{NEW} Boolean: If using video in the slider, will prevent CSS3 3D Transforms to avoid graphical glitches

    // Primary Controls
    controlNav: true,               //Boolean: Create navigation for paging control of each slide? Note: Leave true for manualControls usage
    directionNav: true,             //Boolean: Create navigation for previous/next navigation? (true/false)
    prevText: "Previous",           //String: Set the text for the "previous" directionNav item
    nextText: "Next",               //String: Set the text for the "next" directionNav item

    // Secondary Navigation
    keyboard: true,                 //Boolean: Allow slider navigating via keyboard left/right keys
    multipleKeyboard: false,        //{NEW} Boolean: Allow keyboard navigation to affect multiple sliders. Default behavior cuts out keyboard navigation with more than one slider present.
    mousewheel: false,              //{UPDATED} Boolean: Requires jquery.mousewheel.js (https://github.com/brandonaaron/jquery-mousewheel) - Allows slider navigating via mousewheel
    pausePlay: false,               //Boolean: Create pause/play dynamic element
    pauseText: "Pause",             //String: Set the text for the "pause" pausePlay item
    playText: "Play",               //String: Set the text for the "play" pausePlay item

    // Special properties
    controlsContainer: "",          //{UPDATED} jQuery Object/Selector: Declare which container the navigation elements should be appended too. Default container is the FlexSlider element. Example use would be $(".flexslider-container"). Property is ignored if given element is not found.
    manualControls: "",             //{UPDATED} jQuery Object/Selector: Declare custom control navigation. Examples would be $(".flex-control-nav li") or "#tabs-nav li img", etc. The number of elements in your controlNav should match the number of slides/tabs.
    customDirectionNav: "",         //{NEW} jQuery Object/Selector: Custom prev / next button. Must be two jQuery elements. In order to make the events work they have to have the classes "prev" and "next" (plus namespace)
    sync: "",                       //{NEW} Selector: Mirror the actions performed on this slider with another slider. Use with care.
    asNavFor: "",                   //{NEW} Selector: Internal property exposed for turning the slider into a thumbnail navigation for another slider

    // Carousel Options
    itemWidth: 0,                   //{NEW} Integer: Box-model width of individual carousel items, including horizontal borders and padding.
    itemMargin: 0,                  //{NEW} Integer: Margin between carousel items.
    minItems: 1,                    //{NEW} Integer: Minimum number of carousel items that should be visible. Items will resize fluidly when below this.
    maxItems: 0,                    //{NEW} Integer: Maxmimum number of carousel items that should be visible. Items will resize fluidly when above this limit.
    move: 0,                        //{NEW} Integer: Number of carousel items that should move on animation. If 0, slider will move all visible items.
    allowOneSlide: true,           //{NEW} Boolean: Whether or not to allow a slider comprised of a single slide

    // Callback API
    start: function(){},            //Callback: function(slider) - Fires when the slider loads the first slide
    before: function(){},           //Callback: function(slider) - Fires asynchronously with each slider animation
    after: function(){},            //Callback: function(slider) - Fires after each slider animation completes
    end: function(){},              //Callback: function(slider) - Fires when the slider reaches the last slide (asynchronous)
    added: function(){},            //{NEW} Callback: function(slider) - Fires after a slide is added
    removed: function(){},           //{NEW} Callback: function(slider) - Fires after a slide is removed
    init: function() {}             //{NEW} Callback: function(slider) - Fires after the slider is initially setup
  };

  //FlexSlider: Plugin Function
  $.fn.flexslider = function(options) {
    if (options === undefined) { options = {}; }

    if (typeof options === "object") {
      return this.each(function() {
        var $this = $(this),
            selector = (options.selector) ? options.selector : ".slides > li",
            $slides = $this.find(selector);

      if ( ( $slides.length === 1 && options.allowOneSlide === true ) || $slides.length === 0 ) {
          $slides.fadeIn(400);
          if (options.start) { options.start($this); }
        } else if ($this.data('flexslider') === undefined) {
          new $.flexslider(this, options);
        }
      });
    } else {
      // Helper strings to quickly perform functions on the slider
      var $slider = $(this).data('flexslider');
      switch (options) {
        case "play": $slider.play(); break;
        case "pause": $slider.pause(); break;
        case "stop": $slider.stop(); break;
        case "next": $slider.flexAnimate($slider.getTarget("next"), true); break;
        case "prev":
        case "previous": $slider.flexAnimate($slider.getTarget("prev"), true); break;
        default: if (typeof options === "number") { $slider.flexAnimate(options, true); }
      }
    }
  };
})(jQuery);
;
