vendor: 7,199 bytes, lines 1-2
1/*! jQuery Migrate v1.2.1 | (c) 2005, 2013 jQuery Foundation, Inc. and other contributors | jquery.org/license */ 2jQuery.migrateMute===void 0&&(jQuery.migrateMute=!0),function(e,t,n){function r(n){var r=t.console;i[n]||(i[n]=!0,e.migrateWarnings.push(n),r&&r.warn&&!e.migrateMute&&(r.warn("JQMIGRATE: "+n),e.migrateTrace&&r.trace&&r.trace()))}function a(t,a,i,o){if(Object.defineProperty)try{return Object.defineProperty(t,a,{configurable:!0,enumerable:!0,get:function(){return r(o),i},set:function(e){r(o),i=e}}),n}catch(s){}e._definePropertyBroken=!0,t[a]=i}var i={};e.migrateWarnings=[],!e.migrateMute&&t.console&&t.console.log&&t.console.log("JQMIGRATE: Logging is active"),e.migrateTrace===n&&(e.migrateTrace=!0),e.migrateReset=function(){i={},e.migrateWarnings.length=0},"BackCompat"===document.compatMode&&r("jQuery is not compatible with Quirks Mode");var o=e("<input/>",{size:1}).attr("size")&&e.attrFn,s=e.attr,u=e.attrHooks.value&&e.attrHooks.value.get||function(){return null},c=e.attrHooks.value&&e.attrHooks.value.set||function(){return n},l=/^(?:input|button)$/i,d=/^[238]$/,p=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,f=/^(?:checked|selected)$/i;a(e,"attrFn",o||{},"jQuery.attrFn is deprecated"),e.attr=function(t,a,i,u){var c=a.toLowerCase(),g=t&&t.nodeType;return u&&(4>s.length&&r("jQuery.fn.attr( props, pass ) is deprecated"),t&&!d.test(g)&&(o?a in o:e.isFunction(e.fn[a])))?e(t)[a](i):("type"===a&&i!==n&&l.test(t.nodeName)&&t.parentNode&&r("Can't change the 'type' of an input or button in IE 6/7/8"),!e.attrHooks[c]&&p.test(c)&&(e.attrHooks[c]={get:function(t,r){var a,i=e.prop(t,r);return i===!0||"boolean"!=typeof i&&(a=t.getAttributeNode(r))&&a.nodeValue!==!1?r.toLowerCase():n},set:function(t,n,r){var a;return n===!1?e.removeAttr(t,r):(a=e.propFix[r]||r,a in t&&(t[a]=!0),t.setAttribute(r,r.toLowerCase())),r}},f.test(c)&&r("jQuery.fn.attr('"+c+"') may use property instead of attribute")),s.call(e,t,a,i))},e.attrHooks.value={get:function(e,t){var n=(e.nodeName||"").toLowerCase();return"button"===n?u.apply(this,arguments):("input"!==n&&"option"!==n&&r("jQuery.fn.attr('value') no longer gets properties"),t in e?e.value:null)},set:function(e,t){var a=(e.nodeName||"").toLowerCase();return"button"===a?c.apply(this,arguments):("input"!==a&&"option"!==a&&r("jQuery.fn.attr('value', val) no longer sets properties"),e.value=t,n)}};var g,h,v=e.fn.init,m=e.parseJSON,y=/^([^<]*)(<[\w\W]+>)([^>]*)$/;e.fn.init=function(t,n,a){var i;return t&&"string"==typeof t&&!e.isPlainObject(n)&&(i=y.exec(e.trim(t)))&&i[0]&&("<"!==t.charAt(0)&&r("$(html) HTML strings must start with '<' character"),i[3]&&r("$(html) HTML text after last tag is ignored"),"#"===i[0].charAt(0)&&(r("HTML string cannot start with a '#' character"),e.error("JQMIGRATE: Invalid selector string (XSS)")),n&&n.context&&(n=n.context),e.parseHTML)?v.call(this,e.parseHTML(i[2],n,!0),n,a):v.apply(this,arguments)},e.fn.init.prototype=e.fn,e.parseJSON=function(e){return e||null===e?m.apply(this,arguments):(r("jQuery.parseJSON requires a valid JSON string"),null)},e.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||0>e.indexOf("compatible")&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e.browser||(g=e.uaMatch(navigator.userAgent),h={},g.browser&&(h[g.browser]=!0,h.version=g.version),h.chrome?h.webkit=!0:h.webkit&&(h.safari=!0),e.browser=h),a(e,"browser",e.browser,"jQuery.browser is deprecated"),e.sub=function(){function t(e,n){return new t.fn.init(e,n)}e.extend(!0,t,this),t.superclass=this,t.fn=t.prototype=this(),t.fn.constructor=t,t.sub=this.sub,t.fn.init=function(r,a){return a&&a instanceof e&&!(a instanceof t)&&(a=t(a)),e.fn.init.call(this,r,a,n)},t.fn.init.prototype=t.fn;var n=t(document);return r("jQuery.sub() is deprecated"),t},e.ajaxSetup({converters:{"text json":e.parseJSON}});var b=e.fn.data;e.fn.data=function(t){var a,i,o=this[0];return!o||"events"!==t||1!==arguments.length||(a=e.data(o,t),i=e._data(o,t),a!==n&&a!==i||i===n)?b.apply(this,arguments):(r("Use of jQuery.fn.data('events') is deprecated"),i)};var j=/\/(java|ecma)script/i,w=e.fn.andSelf||e.fn.addBack;e.fn.andSelf=function(){return r("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"),w.apply(this,arguments)},e.clean||(e.clean=function(t,a,i,o){a=a||document,a=!a.nodeType&&a[0]||a,a=a.ownerDocument||a,r("jQuery.clean() is deprecated");var s,u,c,l,d=[];if(e.merge(d,e.buildFragment(t,a).childNodes),i)for(c=function(e){return!e.type||j.test(e.type)?o?o.push(e.parentNode?e.parentNode.removeChild(e):e):i.appendChild(e):n},s=0;null!=(u=d[s]);s++)e.nodeName(u,"script")&&c(u)||(i.appendChild(u),u.getElementsByTagName!==n&&(l=e.grep(e.merge([],u.getElementsByTagName("script")),c),d.splice.apply(d,[s+1,0].concat(l)),s+=l.length));return d});var Q=e.event.add,x=e.event.remove,k=e.event.trigger,N=e.fn.toggle,T=e.fn.live,M=e.fn.die,S="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",C=RegExp("\\b(?:"+S+")\\b"),H=/(?:^|\s)hover(\.\S+|)\b/,A=function(t){return"string"!=typeof t||e.event.special.hover?t:(H.test(t)&&r("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),t&&t.replace(H,"mouseenter$1 mouseleave$1"))};e.event.props&&"attrChange"!==e.event.props[0]&&e.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),e.event.dispatch&&a(e.event,"handle",e.event.dispatch,"jQuery.event.handle is undocumented and deprecated"),e.event.add=function(e,t,n,a,i){e!==document&&C.test(t)&&r("AJAX events should be attached to document: "+t),Q.call(this,e,A(t||""),n,a,i)},e.event.remove=function(e,t,n,r,a){x.call(this,e,A(t)||"",n,r,a)},e.fn.error=function(){var e=Array.prototype.slice.call(arguments,0);return r("jQuery.fn.error() is deprecated"),e.splice(0,0,"error"),arguments.length?this.bind.apply(this,e):(this.triggerHandler.apply(this,e),this)},e.fn.toggle=function(t,n){if(!e.isFunction(t)||!e.isFunction(n))return N.apply(this,arguments);r("jQuery.fn.toggle(handler, handler...) is deprecated");var a=arguments,i=t.guid||e.guid++,o=0,s=function(n){var r=(e._data(this,"lastToggle"+t.guid)||0)%o;return e._data(this,"lastToggle"+t.guid,r+1),n.preventDefault(),a[r].apply(this,arguments)||!1};for(s.guid=i;a.length>o;)a[o++].guid=i;return this.click(s)},e.fn.live=function(t,n,a){return r("jQuery.fn.live() is deprecated"),T?T.apply(this,arguments):(e(this.context).on(t,this.selector,n,a),this)},e.fn.die=function(t,n){return r("jQuery.fn.die() is deprecated"),M?M.apply(this,arguments):(e(this.context).off(t,this.selector||"**",n),this)},e.event.trigger=function(e,t,n,a){return n||C.test(e)||r("Global events are undocumented and deprecated"),k.call(this,e,t,n||document,a)},e.each(S.split("|"),function(t,n){e.event.special[n]={setup:function(){var t=this;return t!==document&&(e.event.add(document,n+"."+e.guid,function(){e.event.trigger(n,null,t,!0)}),e._data(this,n,e.guid++)),!1},teardown:function(){return this!==document&&e.event.remove(document,n+"."+e._data(this,n)),!1}}})}(jQuery,window);
2 3var stacks = {}; 4stacks.jQuery = jQuery.noConflict(true); 5stacks.com_bigwhiteduck_stacks_dropem = {}; 6stacks.com_bigwhiteduck_stacks_dropem = (function(stack) { 7var jQuery = stacks.jQuery;var $ = jQuery;(function(window,document,undefined){'use strict';(function(factory){if(typeof define==='function'&&define.amd){define(['jquery'],factory);}else if(typeof exports==='object'){module.exports=factory(require('jquery'));}else{factory(stacks.jQuery);}}(function($){var pluginName='popDrop';var pluginClass='popdrop-popover';var pluginType='webui.popover';var defaults={uniqueID:'stack',parent:$('.pop-launcher'),placement:'auto',mobplacement:'auto',mobBP:'640',bias:'',container:null,width:'auto',maxWidth:1000,height:'auto',modal:false,trigger:'click',closeOnClick:false,style:'',delay:{show:null,hide:300},async:{type:'GET',before:null,success:null,error:null},cache:true,multi:false,arrow:true,title:'',allowListTitles:false,content:'',closeable:false,padding:true,url:'',type:'html',direction:'',animation:null,template:'<div class="popdrop-popover">'+'<div class="popdrop-arrow"></div>'+'<div class="popdrop-popover-inner">'+'<a href="#" class="popdrop-close"></a>'+'<h3 class="popdrop-popover-title"></h3>'+'<div class="popdrop-popover-content"><i class="icon-refresh"></i> <p> </p></div>'+'</div>'+'</div>',backdrop:false,dismissible:true,onShow:null,onHide:null,abortXHR:true,autoHide:false,offsetTop:0,offsetLeft:0,iframeOptions:{frameborder:'0',allowtransparency:'true',id:'',name:'',scrolling:'',onload:'',height:'',width:''},hideEmpty:false};var rtlClass=pluginClass+'-rtl';var _srcElements=[];var backdrop=$('<div class="popdrop-popover-backdrop"></div>');var _globalIdSeed=0;var _isBodyEventHandled=false;var _offsetOut=-2000;var $document=$(document);var toNumber=function(numeric,fallback){return isNaN(numeric)?(fallback||0):Number(numeric);};var getPopFromElement=function($element){return $element.data('plugin_'+pluginName);};var hideAllPop=function(){var pop=null;for(var i=0;i<_srcElements.length;i++){pop=getPopFromElement(_srcElements[i]);if(pop){pop.hide(true);}} 8$document.trigger('hiddenAll.'+pluginType);};var isMobile=('ontouchstart'in document.documentElement)&&(/Mobi/.test(navigator.userAgent));var pointerEventToXY=function(e){var out={x:0,y:0};if(e.type==='touchstart'||e.type==='touchmove'||e.type==='touchend'||e.type==='touchcancel'){var touch=e.originalEvent.touches[0]||e.originalEvent.changedTouches[0];out.x=touch.pageX;out.y=touch.pageY;}else if(e.type==='mousedown'||e.type==='mouseup'||e.type==='click'){out.x=e.pageX;out.y=e.pageY;} 9return out;};function WebuiPopover(element,options){this.$element=$(element);if(options){if($.type(options.delay)==='string'||$.type(options.delay)==='number'){options.delay={show:options.delay,hide:options.delay};}} 10this.options=$.extend({},defaults,options);this._defaults=defaults;this._name=pluginName;this._targetclick=false;this.init();_srcElements.push(this.$element);} 11WebuiPopover.prototype={init:function(){if(this.options.hidemob&&isMobile){return false;} 12if(this.getTrigger()!=='manual'){if(this.getTrigger()==='click'||isMobile){this.$element.off('click touchend').on('click touchend',$.proxy(this.toggle,this));}else if(this.getTrigger()==='hover'){this.$element.off('mouseenter mouseleave click').on('mouseenter',$.proxy(this.mouseenterHandler,this)).on('mouseleave',$.proxy(this.mouseleaveHandler,this));}} 13this._poped=false;this._inited=true;this._opened=false;this._idSeed=_globalIdSeed;this.options.container=$(this.options.container||document.body).first();if(isMobile){$('html').addClass('popdrop-touch');} 14if(this.options.backdrop){backdrop.appendTo(this.options.container).hide();} 15_globalIdSeed++;if(this.getTrigger()==='sticky'){this.show();}},destroy:function(){var index=-1;for(var i=0;i<_srcElements.length;i++){if(_srcElements[i]===this.$element){index=i;break;}} 16_srcElements.splice(index,1);this.hide();this.$element.data('plugin_'+pluginName,null);if(this.getTrigger()==='click'){this.$element.off('click');}else if(this.getTrigger()==='hover'){this.$element.off('mouseenter mouseleave');} 17if(this.$target){this.$target.remove();}},hide:function(force,event){if(!force&&this.getTrigger()==='sticky'){return;} 18if(!this._opened){return;} 19if(event){event.preventDefault();event.stopPropagation();} 20if(this.xhr&&this.options.abortXHR===true){this.xhr.abort();this.xhr=null;} 21var e=$.Event('hide.'+pluginType);this.$element.trigger(e,[this.$target]);if(this.$target){this.$target.removeClass('in').addClass(this.getHideAnimation());var that=this;setTimeout(function(){that.$target.hide();if(!that.getCache()){that.$target.remove();}},that.getHideDelay());} 22if(this.options.backdrop){backdrop.hide();} 23this._opened=false;$('html').removeClass('popdrop-open');this.options.parent.removeClass('popdrop-open');if(this.options.modal){$('html').removeClass('popdrop-modal').removeClass('pop-drop-'+this.options.uniqueID);} 24this.$element.trigger('hidden.'+pluginType,[this.$target]);if(this.options.onHide){this.options.onHide(this.$target);} 25if(!this.options.multi){this.hideAll();}},resetAutoHide:function(){var that=this;var autoHide=that.getAutoHide();if(autoHide){if(that.autoHideHandler){clearTimeout(that.autoHideHandler);} 26that.autoHideHandler=setTimeout(function(){that.hide();},autoHide);}},toggle:function(e){if(e){e.preventDefault();e.stopPropagation();} 27this[this.getTarget().hasClass('in')?'hide':'show']();},hideAll:function(){hideAllPop();},show:function(){if(this._opened){return;} 28var 29$target=this.getTarget().removeClass().addClass(pluginClass).addClass(this._customTargetClass);if(!this.options.multi){this.hideAll();} 30if(!this.getCache()||!this._poped||this.content===''){this.content='';if(!this.options.closeable){$target.find('.popdrop-close').off('click').remove();} 31if(!this.isAsync()){this.setContent(this.getContent());}else{this.setContentASync(this.options.content);} 32if(this.canEmptyHide()&&this.content===''){return;} 33this.setTitle(this.getTitle());$target.show();} 34this.displayContent();if(this.options.onShow){this.options.onShow($target);} 35this.bindBodyEvents();if(this.options.backdrop){backdrop.show();} 36this._opened=true;$('html').addClass('popdrop-open');this.options.parent.addClass('popdrop-open');$('>div',this.options.parent).removeClass('is-fresh');if(this.options.modal){$('html').addClass('popdrop-modal').addClass('pop-drop-'+this.options.uniqueID);var overflowContent=$target.find('.popdrop-popover-content'),titleSize=($target.find('.popdrop-popover-title')).outerHeight()||0,topmargin=parseInt($target.css('margin-top'))||0,adjust=(topmargin*2)+titleSize;overflowContent.css({'max-height':'calc(100vh - '+adjust+'px)'});} 37this.resetAutoHide();},isFixed:function(el){var fixedParent=false;el.parents().filter(function(){fixedParent=$(this).css('position')=='fixed'?true:fixedParent;});return fixedParent;},displayContent:function(){var 38elementPos=this.getElementPosition(),$target=this.getTarget().removeClass().addClass(pluginClass).addClass(this._customTargetClass),$targetContent=this.getContentElement(),targetWidth=$target[0].offsetWidth,targetHeight=$target[0].offsetHeight,placement='bottom',e=$.Event('show.'+pluginType);if(this.canEmptyHide()){var content=$targetContent.children().html();if(content!==null&&content.trim().length===0){return;}} 39this.$element.trigger(e,[$target]);var optWidth=this.$element.data('width')||this.options.width;if(optWidth===''){optWidth=this._defaults.width;} 40if(optWidth!=='auto'){$target.width(optWidth);} 41if(optWidth==='mega'){var win=$(window).width();if(win>=this.options.maxWidth){$target.width(this.options.maxWidth);}else{$target.width($(window).width());}} 42if(optWidth==='contained'){$target.width(this.$element.outerWidth());} 43var optHeight=this.$element.data('height')||this.options.height;if(optHeight===''){optHeight=this._defaults.height;} 44if(optHeight!=='auto'){$targetContent.height(optHeight);} 45if(this.options.style){this.$target.addClass(pluginClass+'-'+this.options.style);} 46if(this.options.direction==='rtl'&&!$targetContent.hasClass(rtlClass)){$targetContent.addClass(rtlClass);} 47if(!this.options.arrow){$target.find('.popdrop-arrow').remove();} 48$target.detach().css({top:_offsetOut,left:_offsetOut,display:'block'});if(this.getAnimation()){$target.addClass(this.getAnimation());} 49$target.appendTo(this.options.container);placement=this.getPlacement(elementPos);this.$element.trigger('added.'+pluginType);this.initTargetEvents();if(!this.options.padding){if(this.options.height!=='auto'){$targetContent.css('height',$targetContent.outerHeight());} 50this.$target.addClass('popdrop-no-padding');} 51targetWidth=$target[0].offsetWidth;targetHeight=$target[0].offsetHeight;var postionInfo=this.getTargetPositin(elementPos,placement,targetWidth,targetHeight);this.$target.css(postionInfo.position).addClass(placement).addClass('in');if(this.isFixed(this.$element)||this.options.modal){this.$element.addClass('popdrop-fixed');this.$target.css('position','fixed');} 52if(this.options.type==='iframe'){var $iframe=$target.find('iframe');var iframeWidth=$target.width();var iframeHeight=$iframe.parent().height();if(this.options.iframeOptions.width!==''&&this.options.iframeOptions.width!=='auto'){iframeWidth=this.options.iframeOptions.width;} 53if(this.options.iframeOptions.height!==''&&this.options.iframeOptions.height!=='auto'){iframeHeight=this.options.iframeOptions.height;} 54$iframe.width(iframeWidth).height(iframeHeight);} 55if(!this.options.arrow){this.$target.css({'margin':0});} 56if(this.options.arrow){var $arrow=this.$target.find('.popdrop-arrow');$arrow.removeAttr('style');if(placement==='left'||placement==='right'){$arrow.css({top:this.$target.height()/2});}else if(placement==='top'||placement==='bottom'){$arrow.css({left:this.$target.width()/2});} 57if(this.options.modal){$arrow.hide();} 58if(postionInfo.arrowOffset){if(postionInfo.arrowOffset.left===-1||postionInfo.arrowOffset.top===-1){$arrow.hide();}else{$arrow.css(postionInfo.arrowOffset);}} 59var optWidth=this.$element.data('width')||this.options.width;if(optWidth==='mega'){var win=$(window).width(),targetOffset=win>this.options.maxWidth?(win-this.options.maxWidth)/2:0;$arrow.css({left:this.$element.offset().left+(this.$element.outerWidth()/2)-targetOffset});}} 60this._poped=true;this.$element.trigger('shown.'+pluginType,[this.$target]);},isTargetLoaded:function(){return this.getTarget().find('i.glyphicon-refresh').length===0;},getTriggerElement:function(){return this.$element;},getTarget:function(){if(!this.$target){var id=pluginName+this._idSeed;this.$target=$(this.options.template).attr('id',id).attr('data-pop-source',this.options.uniqueID).data('trigger-element',this.getTriggerElement());this._customTargetClass=this.$target.attr('class')!==pluginClass?this.$target.attr('class'):null;this.getTriggerElement().attr('data-target',id);} 61return this.$target;},getTitleElement:function(){return this.getTarget().find('.'+pluginClass+'-title');},getContentElement:function(){if(!this.$contentElement){this.$contentElement=this.getTarget().find('.'+pluginClass+'-content');} 62return this.$contentElement;},getTitle:function(){return this.$element.attr('data-title')||this.options.title||this.$element.attr('title');},getUrl:function(){return this.$element.attr('data-url')||this.options.url;},getAutoHide:function(){return this.$element.attr('data-auto-hide')||this.options.autoHide;},getOffsetTop:function(){return toNumber(this.$element.attr('data-offset-top'))||this.options.offsetTop;},getOffsetLeft:function(){return toNumber(this.$element.attr('data-offset-left'))||this.options.offsetLeft;},getCache:function(){var dataAttr=this.$element.attr('data-cache');if(typeof(dataAttr)!=='undefined'){switch(dataAttr.toLowerCase()){case'true':case'yes':case'1':return true;case'false':case'no':case'0':return false;}} 63return this.options.cache;},getTrigger:function(){return this.$element.attr('data-trigger')||this.options.trigger;},getDelayShow:function(){var dataAttr=this.$element.attr('data-delay-show');if(typeof(dataAttr)!=='undefined'){return dataAttr;} 64return this.options.delay.show===0?0:this.options.delay.show||100;},getHideDelay:function(){var dataAttr=this.$element.attr('data-delay-hide');if(typeof(dataAttr)!=='undefined'){return dataAttr;} 65return this.options.delay.hide===0?0:this.options.delay.hide||100;},getAnimation:function(){var dataAttr=this.$element.attr('data-animation');return dataAttr||this.options.animation;},getHideAnimation:function(){var ani=this.getAnimation();return ani?ani+'-out':'out';},setTitle:function(title){var $titleEl=this.getTitleElement();if(title){if(this.options.direction==='rtl'&&!$titleEl.hasClass(rtlClass)){$titleEl.addClass(rtlClass);} 66$titleEl.html(title);}else{$titleEl.remove();}},hasContent:function(){return this.getContent();},canEmptyHide:function(){return this.options.hideEmpty&&this.options.type==='html';},getIframe:function(){var $iframe=$('<iframe></iframe>').attr('src',this.getUrl());var self=this;$.each(this._defaults.iframeOptions,function(opt){if(typeof self.options.iframeOptions[opt]!=='undefined'){$iframe.attr(opt,self.options.iframeOptions[opt]);}});return $iframe;},getTipItem:function(){var 67tipdata=this.options.url,thisTipID=$.trim(this.$element.attr('data-tip-name')),thisTip=tipdata.find('[data-tip-id="'+thisTipID+'"]');if(this.options.allowListTitles){var tipTitle=$.trim($('.tip-title',thisTip).text());this.options.title=tipTitle;} 68if(!thisTip.length){console.log('Tip ID '+thisTipID+' is not defined in TipList Stack');return;}else{return $('.tip-content',thisTip);}},getContent:function(){if(this.getUrl()){switch(this.options.type){case'iframe':this.content=this.getIframe();break;case'tiplist':try{this.content=this.getTipItem();if(!this.content.is(':visible')){this.content.show();}}catch(error){throw new Error('Tip ID must be specified in TipList. Check Log.');} 69break;case'html':try{this.content=$(this.getUrl());if(!this.content.is(':visible')){this.content.show();}}catch(error){throw new Error('Unable to get popover content. Invalid selector specified.');} 70break;}}else if(!this.content){var content='';if($.isFunction(this.options.content)){content=this
vendor: 6,108 bytes, lines 70-82
70.options.content.apply(this.$element[0],[this]);}else{content=this.options.content;} 71this.content=this.$element.attr('data-content')||content;if(!this.content){var $next=this.$element.next();if($next&&$next.hasClass(pluginClass+'-content')){this.content=$next;}}} 72return this.content;},setContent:function(content){var $target=this.getTarget();var $ct=this.getContentElement();if(typeof content==='string'){$ct.html(content);}else if(content instanceof jQuery){$ct.html('');if(!this.options.cache){content.clone(true,true).addClass('popdrop-live').removeClass(pluginClass+'-content').appendTo($ct);}else{content.addClass('popdrop-live').removeClass(pluginClass+'-content').appendTo($ct);}} 73this.$target=$target;},isAsync:function(){return this.options.type==='async';},setContentASync:function(content){var that=this;if(this.xhr){return;} 74this.xhr=$.ajax({url:this.getUrl(),type:this.options.async.type,cache:this.getCache(),beforeSend:function(xhr){if(that.options.async.before){that.options.async.before(that,xhr);}},success:function(data){that.bindBodyEvents();if(content&&$.isFunction(content)){that.content=content.apply(that.$element[0],[data]);}else{that.content=data;} 75that.setContent(that.content);var $targetContent=that.getContentElement();$targetContent.removeAttr('style');that.displayContent();if(that.options.async.success){that.options.async.success(that,data);}},complete:function(){that.xhr=null;},error:function(xhr,data){if(that.options.async.error){that.options.async.error(that,xhr,data);}}});},bindBodyEvents:function(){if(_isBodyEventHandled){return;} 76if(this.options.dismissible&&this.getTrigger()==='click'){$document.off('keyup.popdrop-popover').on('keyup.popdrop-popover',$.proxy(this.escapeHandler,this));$document.off('click.popdrop-popover touchend.popdrop-popover').on('click.popdrop-popover touchend.popdrop-popover',$.proxy(this.bodyClickHandler,this));}else if(this.getTrigger()==='hover'){$document.off('touchend.popdrop-popover').on('touchend.popdrop-popover',$.proxy(this.bodyClickHandler,this));}},mouseenterHandler:function(){var self=this;if(self._timeout){clearTimeout(self._timeout);} 77self._enterTimeout=setTimeout(function(){if(!self.getTarget().is(':visible')){self.show();}},this.getDelayShow());},mouseleaveHandler:function(){var self=this;clearTimeout(self._enterTimeout);self._timeout=setTimeout(function(){self.hide();},this.getHideDelay());},escapeHandler:function(e){if(e.keyCode===27){this.hideAll();}},bodyClickHandler:function(e){_isBodyEventHandled=true;var canHide=true;for(var i=0;i<_srcElements.length;i++){var pop=getPopFromElement(_srcElements[i]);if(pop&&pop._opened){var offset=pop.getTarget().offset();var popX1=offset.left;var popY1=offset.top;var popX2=offset.left+pop.getTarget().width();var popY2=offset.top+pop.getTarget().height();var pt=pointerEventToXY(e);var inPop=pt.x>=popX1&&pt.x<=popX2&&pt.y>=popY1&&pt.y<=popY2;if(inPop){canHide=false;break;}}} 78if(canHide){hideAllPop();}},initTargetEvents:function(){if(this.getTrigger()==='hover'){this.$target.off('mouseenter mouseleave').on('mouseenter',$.proxy(this.mouseenterHandler,this)).on('mouseleave',$.proxy(this.mouseleaveHandler,this));} 79this.$target.find('.popdrop-close').off('click').on('click',$.proxy(this.hide,this,true));if(this.options.closeOnClick){var self=this;this.$target.find('a').on('click',function(){$.proxy(self.hide(),self,true);});}},getPlacement:function(pos){var 80placement,container=this.options.container,clientWidth=container.innerWidth(),clientHeight=container.innerHeight(),scrollTop=document.documentElement.scrollTop+container.scrollTop(),scrollLeft=document.documentElement.scrollLeft+container.scrollLeft(),pageX=Math.max(0,pos.left-scrollLeft),pageY=Math.max(0,pos.top-scrollTop);if($(window).width()>this.options.mobBP){if(typeof(this.options.placement)==='function'){placement=this.options.placement.call(this,this.getTarget()[0],this.$element[0]);}else{placement=this.$element.data('placement')||this.options.placement;}}else{if(typeof(this.options.mobplacement)==='function'){placement=this.options.mobplacement.call(this,this.getTarget()[0],this.$element[0]);}else{placement=this.$element.data('mobplacement')||this.options.mobplacement;}} 81var bias=this.$element.data('bias')||this.options.bias;var isH=placement==='horizontal';var isV=placement==='vertical';var detect=placement==='auto'||isH||isV;if(detect){if(pageX<clientWidth/3){if(pageY<clientHeight/3){placement=isH?'right-bottom':'bottom-right';}else if(pageY<clientHeight*2/3){if(isV){placement=pageY<=clientHeight/2?'bottom-right':'top-right';}else{placement='right';}}else{placement=isH?'right-top':'top-right';}}else if(pageX<clientWidth*2/3){if(pageY<clientHeight/3){if(isH){placement=pageX<=clientWidth/2?'right-bottom':'left-bottom';}else{placement='bottom';}}else if(pageY<clientHeight*2/3){if(isH){placement=pageX<=clientWidth/2?'right':'left';}else{placement=pageY<=clientHeight/2?'bottom':'top';}}else{if(isH){placement=pageX<=clientWidth/2?'right-top':'left-top';}else{placement='top';}}}else{if(pageY<clientHeight/3){placement=isH?'left-bottom':'bottom-left';}else if(pageY<clientHeight*2/3){if(isV){placement=pageY<=clientHeight/2?'bottom-left':'top-left';}else{placement='left';}}else{placement=isH?'left-top':'top-left';}}}else if(placement==='auto-top'){if(pageX<clientWidth/3){placement='top-right';}else if(pageX<clientWidth*2/3){placement='top';}else{placement='top-left';}}else if(placement==='auto-bottom'){if(pageX<clientWidth/3){placement='bottom-right';}else if(pageX<clientWidth*2/3){placement='bottom';}else{placement='bottom-left';}}else if(placement==='auto-left'){if(pageY<clientHeight/3){placement='left-top';}else if(pageY<clientHeight*2/3){placement='left';}else{placement='left-bottom';}}else if(placement==='auto-right'){if(pageY<clientHeight/3){placement='right-top';}else if(pageY<clientHeight*2/3){placement='right';}else{placement='right-bottom';}} 82return placement;},getElementPosition:function(){var elRect=this.$element[0].getBoundingClientRect();if(this.isFixed(this.$element)){var containerRect=this.options.container[0].getBoundingClientRect();
82return{top:elRect.top,left:elRect.left,width:elRect.width,height:elRect.height};} 83if(this.options.container.is(document.body)||this.options.container.css('position')!=='fixed'||!this.$element[0].hasClass('popdrop-fixed')){return $.extend({},this.$element.offset(),{width:this.$element[0].offsetWidth||elRect.width,height:this.$element[0].offsetHeight||elRect.height});}else{var containerRect=this.options.container[0].getBoundingClientRect();return{top:elRect.top-containerRect.top+this.options.container.scrollTop(),left:elRect.left-containerRect.left+this.options.container.scrollLeft(),width:elRect.width,height:elRect.height};}},getTargetPositin:function(elementPos,placement,targetWidth,targetHeight){var pos=elementPos,container=this.options.container,elementW=this.$element.outerWidth(),elementH=this.$element.outerHeight(),scrollTop=container.scrollTop(),scrollLeft=container.scrollLeft(),position={},arrowOffset=null,arrowSize=this.options.arrow?20:0,padding=10,fixedW=elementW<arrowSize+padding?arrowSize:0,fixedH=elementH<arrowSize+padding?arrowSize:0,refix=0,pageH=document.documentElement.clientHeight+scrollTop,pageW=document.documentElement.clientWidth+scrollLeft;
83var validLeft=pos.left+pos.width/2-fixedW>0;var validRight=pos.left+pos.width/2+fixedW<pageW;var validTop=pos.top+pos.height/2-fixedH>0;var validBottom=pos.top+pos.height/2+fixedH<pageH;switch(placement){case'bottom':position={top:pos.top+pos.height,left:pos.left+pos.width/2-targetWidth/2};break;case'top':position={top:pos.top-targetHeight,left:pos.left+pos.width/2-targetWidth/2};break;case'left':position={top:pos.top+pos.height/2-targetHeight/2,left:pos.left-targetWidth};break;case'right':position={top:pos.top+pos.height/2-targetHeight/2,left:pos.left+pos.width};break;case'top-right':position={top:pos.top-targetHeight,left:validLeft?pos.left-fixedW:padding};arrowOffset={left:validLeft?Math.min(elementW,targetWidth)/2+fixedW:_offsetOut};break;case'top-left':refix=validRight?fixedW:-padding;position={top:pos.top-targetHeight,left:pos.left-targetWidth+pos.width+refix};arrowOffset={left:validRight?targetWidth-Math.min(elementW,targetWidth)/2-fixedW:_offsetOut};break;case'bottom-right':position={top:pos.top+pos.height,left:validLeft?pos.left-fixedW:padding};arrowOffset={left:validLeft?Math.min(elementW,targetWidth)/2+fixedW:_offsetOut};break;case'bottom-left':refix=validRight?fixedW:-padding;position={top:pos.top+pos.height,left:pos.left-targetWidth+pos.width+refix};arrowOffset={left:validRight?targetWidth-Math.min(elementW,targetWidth)/2-fixedW:_offsetOut};break;case'right-top':refix=validBottom?fixedH:-padding;position={top:pos.top-targetHeight+pos.height+refix,left:pos.left+pos.width};arrowOffset={top:validBottom?targetHeight-Math.min(elementH,targetHeight)/2-fixedH:_offsetOut};break;case'right-bottom':position={top:validTop?pos.top-fixedH:padding,left:pos.left+pos.width};arrowOffset={top:validTop?Math.min(elementH,targetHeight)/2+fixedH:_offsetOut};break;case'left-top':refix=validBottom?fixedH:-padding;position={top:pos.top-targetHeight+pos.height+refix,left:pos.left-targetWidth};arrowOffset={top:validBottom?targetHeight-Math.min(elementH,targetHeight)/2-fixedH:_offsetOut};break;case'left-bottom':position={top:validTop?pos.top-fixedH:padding,left:pos.left-targetWidth};arrowOffset={top:validTop?Math.min(elementH,targetHeight)/2+fixedH:_offsetOut};break;} 84position.top+=this.getOffsetTop();var optWidth=this.$element.data('width')||this.options.width;if(optWidth==='auto'){position.left+=this.getOffsetLeft();}else{if(optWidth==='mega'){var win=$(window).width();if(win>=this.options.maxWidth){position.left=(win-this.options.maxWidth)/2;}else{position.left=0;}} 85if(optWidth==='contained'){position.left=this.$element.offset().left;}} 86if(this.options.modal){position.top=Math.max(0,($(window).height()/2)-(targetHeight/2));} 87return{position:position,arrowOffset:arrowOffset};}};$.fn[pluginName]=function(options,noInit){var results=[];var $result=this.each(function(){var webuiPopover=$.data(this,'plugin_'+pluginName);if(!webuiPopover){if(!options){webuiPopover=new WebuiPopover(this,null);}else if(typeof options==='string'){if(options!=='destroy'){if(!noInit){webuiPopover=new WebuiPopover(this,null);results.push(webuiPopover[options]());}}}else if(typeof options==='object'){webuiPopover=new WebuiPopover(this,options);} 88$.data(this,'plugin_'+pluginName,webuiPopover);}else{if(options==='destroy'){webuiPopover.destroy();}else if(typeof options==='string'){results.push(webuiPopover[options]());}}});return(results.length)?results:$result;};var popdropPopovers=(function(){var _hideAll=function(){hideAllPop();};var _show=function(selector){$(selector).webuiPopover('show');};var _hide=function(selector){$(selector).webuiPopover('hide');};return{show:_show,hide:_hide,hideAll:_hideAll};})();window.PopDropPopovers=popdropPopovers;}));})(window,document); 89 90return stack;})(stacks.com_bigwhiteduck_stacks_dropem); 91stacks.com_bigwhiteduck_stacks_headerpro = {}; 92stacks.com_bigwhiteduck_stacks_headerpro = (function(stack) { 93var jQuery = stacks.jQuery;var $ = jQuery; var elements=document.getElementsByClassName('hp-slice');while(elements.length>0){elements[0].parentNode.removeChild(elements[0]);} 94 95return stack;})(stacks.com_bigwhiteduck_stacks_headerpro); 96stacks.com_stacks4stacks_stacks_topbox4 = {}; 97stacks.com_stacks4stacks_stacks_topbox4 = (function(stack) { 98var jQuery = stacks.jQuery;var $ = jQuery;/** 99* Cookie plugin 100* 101* Copyright (c) 2006 Klaus Hartl (stilbuero.de) 102* Dual licensed under the MIT and GPL licenses: 103* http://www.opensource.org/licenses/mit-license.php 104* http://www.gnu.org/licenses/gpl.html 105* 106*/ 107 108/** 109* Create a cookie with the given name and value and other optional parameters. 110* 111* @example $.cookie('the_cookie', 'the_value'); 112* @desc Set the value of a cookie. 113* @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true }); 114* @desc Create a cookie with all available options. 115* @example $.cookie('the_cookie', 'the_value'); 116* @desc Create a session cookie. 117* @example $.cookie('the_cookie', null); 118* @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain 119* used when the cookie was set. 120* 121* @param String name The name of the cookie. 122* @param String value The value of the cookie. 123* @param Object options An object literal containing key/value pairs to provide optional cookie attributes. 124* @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object. 125* If a negative value is specified (e.g. a date in the past), the cookie will be deleted. 126* If set to null or omitted, the cookie will be a session cookie and will not be retained 127* when the the browser exits. 128* @option String path The value of the path atribute of the cookie (default: path of page that created the cookie). 129* @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie). 130* @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will 131* require a secure protocol (like HTTPS). 132* @type undefined 133* 134* @name $.cookie 135* @cat Plugins/Cookie 136* @author Klaus Hartl/[email protected] 137*/ 138 139/** 140* Get the value of a cookie with the given name. 141* 142* @example $.cookie('the_cookie'); 143* @desc Get the value of a cookie. 144* 145* @param String name The name of the cookie. 146* @return The value of the cookie.
147* @type String 148* 149* @name $.cookie 150* @cat Plugins/Cookie 151* @author Klaus Hartl/[email protected] 152*/ 153jQuery.cookie = function(name, value, options) { 154 if (typeof value != 'undefined') { // name and value given, set cookie 155 options = options || {}; 156 if (value === null) { 157 value = ''; 158 options.expires = -1; 159 } 160 var expires = ''; 161 if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) { 162 var date; 163 if (typeof options.expires == 'number') { 164 date = new Date(); 165 date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); 166 } else { 167 date = options.expires; 168 } 169 expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE 170 } 171 // CAUTION: Needed to parenthesize options.path and options.domain 172 // in the following expressions, otherwise they evaluate to undefined 173 // in the packed version for some reason... 174 var path = options.path ? '; path=' + (options.path) : ''; 175 var domain = options.domain ? '; domain=' + (options.domain) : ''; 176 var secure = options.secure ? '; secure' : ''; 177 document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); 178 } else { // only name given, get cookie 179 var cookieValue = null; 180 if (document.cookie && document.cookie != '') { 181 var cookies = document.cookie.split(';'); 182 for (var i = 0; i < cookies.length; i++) { 183 var cookie = jQuery.trim(cookies[i]); 184 // Does this cookie string begin with the name we want? 185 if (cookie.substring(0, name.length + 1) == (name + '=')) { 186 cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); 187 break; 188 } 189 } 190 } 191 return cookieValue; 192 } 193 }; 194 195
196/* 197 * Nivo Lightbox v1.3.1 198 * http://dev7studios.com/nivo-lightbox 199 * 200 * Copyright 2013, Dev7studios 201 * Free to use and abuse under the MIT license. 202 * http://www.opensource.org/licenses/mit-license.php 203 */ 204 205;(function($, window, document, undefined){ 206 207 var pluginName = 'nivoLightbox', 208 defaults = { 209 effect: 'fade', 210 theme: 'default', 211 keyboardNav: true, 212 clickImgToClose: false, 213 clickOverlayToClose: true, 214 onInit: function(){}, 215 beforeShowLightbox: function(){}, 216 afterShowLightbox: function(lightbox){}, 217 beforeHideLightbox: function(){}, 218 afterHideLightbox: function(){}, 219 beforePrev: function(element){}, 220 onPrev: function(element){}, 221 beforeNext: function(element){}, 222 onNext: function(element){}, 223 errorMessage: 'The requested content cannot be loaded. Please try again later.' 224 }; 225 226 function NivoLightbox(element, options){ 227 this.el = element; 228 this.$el = $(this.el); 229 230 this.options = $.extend({}, defaults, options); 231 232 this._defaults = defaults; 233 this._name = pluginName; 234 235 this.init(); 236 } 237 238 NivoLightbox.prototype = { 239 240 init: function(){ 241 var $this = this; 242 243 // Need this so we don't use CSS transitions in mobile 244 if(!$('html').hasClass('nivo-lightbox-notouch')) $('html').addClass('nivo-lightbox-notouch'); 245 if('ontouchstart' in document) $('html').removeClass('nivo-lightbox-notouch'); 246 247 // Setup the click 248 this.$el.on('click', function(e){ 249 $this.showLightbox(e); 250 }); 251 252 // keyboardNav 253 if(this.options.keyboardNav){ 254 $('body').off('keyup').on('keyup', function(e){ 255 var code = (e.keyCode ? e.keyCode : e.which); 256 // Escape 257 if(code == 27) $this.destructLightbox(); 258 // Left 259 if(code == 37) $('.nivo-lightbox-prev').trigger('click'); 260 // Right 261 if(code == 39) $('.nivo-lightbox-next').trigger('click'); 262 }); 263 } 264 265 this.options.onInit.call(this); 266 267 }, 268 269 showLightbox: function(e){ 270 var $this = this, 271 currentLink = this.$el; 272 273 // Check content 274 var check = this.checkContent(currentLink); 275 if(!check) return; 276 277 e.preventDefault(); 278 this.options.beforeShowLightbox.call(this); 279 var lightbox = this.constructLightbox(); 280 if(!lightbox) return; 281 var content = lightbox.find('.nivo-lightbox-content'); 282 if(!content) return; 283 284 $('body').addClass('nivo-lightbox-body-effect-'+ this.options.effect); 285 286 this.processContent( content, currentLink ); 287 288 // Nav 289 if(this.$el.attr('data-lightbox-gallery')){ 290 var galleryItems = $('[data-lightbox-gallery="'+ this.$el.attr('data-lightbox-gallery') +'"]'); 291 292 $('.nivo-lightbox-nav').show(); 293 294 // Prev 295 $('.nivo-lightbox-prev').off('click').on('click', function(e){ 296 e.preventDefault(); 297 var index = galleryItems.index(currentLink); 298 currentLink = galleryItems.eq(index - 1); 299 if(!$(currentLink).length) currentLink = galleryItems.last(); 300 $.when($this.options.beforePrev.call(this, [ currentLink ])).done(function(){ 301 $this.processContent(content, currentLink); 302 $this.options.onPrev.call(this, [ currentLink ]); 303 }); 304 }); 305 306 // Next 307 $('.nivo-lightbox-next').off('click').on('click', function(e){ 308 e.preventDefault(); 309 var index = galleryItems.index(currentLink); 310 currentLink = galleryItems.eq(index + 1); 311 if(!$(currentLink).length) currentLink = galleryItems.first(); 312 $.when($this.options.beforeNext.call(this, [ currentLink ])).done(function(){ 313 $this.processContent(content, currentLink); 314 $this.options.onNext.call(this, [ currentLink ]); 315 }); 316 }); 317 } 318 319 setTimeout(function(){ 320 lightbox.addClass('nivo-lightbox-open'); 321 $this.options.afterShowLightbox.call(this, [ lightbox ]); 322 }, 1); // For CSS transitions 323 }, 324 325 checkContent: function( link ) { 326 var $this = this, 327 href = link.attr('href'), 328 video = href.match(/(youtube|youtube-nocookie|youtu|vimeo)\.(com|be)\/(watch\?v=([\w-]+)|([\w-]+))/); 329 330 if(href.match(/\.(jpeg|jpg|gif|png)$/i) !== null){ 331 return true; 332 } 333 // HTML5 Audio 334 else if(link.attr('data-lightbox-type') == 'html5audio'){ 335 return true; 336 } 337 // HTML5 Video 338 else if(link.attr('data-lightbox-type') == 'html5video'){ 339 return true; 340 } 341 // Video (Youtube/Vimeo) 342 else if(video){ 343 return true; 344 } 345 // AJAX 346 else if(link.attr('data-lightbox-type') == 'ajax'){ 347 return true; 348 } 349 // Inline HTML 350 else if(href.substring(0, 1) == '#' && link.attr('data-lightbox-type') == 'inline'){ 351 return true; 352 } 353 // iFrame (default) 354 else if(link.attr('data-lightbox-type') == 'iframe'){ 355 return true; 356 } 357 358 return false;
359 }, 360 361 processContent: function(content, link){ 362 var $this = this, 363 href = link.attr('href'), 364 video = href.match(/(youtube|youtube-nocookie|youtu|vimeo)\.(com|be)\/(watch\?v=([\w-]+)|([\w-]+))/); 365 366 content.html('').addClass('nivo-lightbox-loading'); 367 368 // Is HiDPI? 369 if(this.isHidpi() && link.attr('data-lightbox-hidpi')){ 370 href = link.attr('data-lightbox-hidpi'); 371 } 372 373 // Image 374 if(href.match(/\.(jpeg|jpg|gif|png)$/i) !== null){ 375 var img = $('<img>', { src: href, 'class': 'nivo-lightbox-image-display' }); 376 img.one('load', function() { 377 var wrap = $('<div class="nivo-lightbox-image" />'); 378 wrap.append(img); 379 content.html(wrap).removeClass('nivo-lightbox-loading'); 380 381 // Vertically center images 382 wrap.css({ 383 'line-height': $('.nivo-lightbox-content').height() +'px', 384 'height': $('.nivo-lightbox-content').height() +'px' // For Firefox 385 }); 386 $(window).resize(function() { 387 wrap.css({ 388 'line-height': $('.nivo-lightbox-content').height() +'px', 389 'height': $('.nivo-lightbox-content').height() +'px' // For Firefox 390 }); 391 }); 392 }).each(function() { 393 if(this.complete) $(this).load(); 394 }); 395 396 img.error(function() { 397 var wrap = $('<div class="nivo-lightbox-error"><p>'+ $this.options.errorMessage +'</p></div>'); 398 content.html(wrap).removeClass('nivo-lightbox-loading'); 399 }); 400 } 401 402 // Video (Youtube/Vimeo) 403 else if(video){ 404 var src = '', 405 classTerm = 'nivo-lightbox-video'; 406 407 if(video[1] == 'youtube'){ 408 src = 'https://www.youtube.com/embed/'+ video[4]+'?autoplay=1&rel=0'; 409 classTerm = 'nivo-lightbox-youtube'; 410 } 411 if(video[1] == 'youtube-nocookie'){ 412 src = href; //https://www.youtube-nocookie.com/embed/... 413 classTerm = 'nivo-lightbox-youtube'; 414 } 415 if(video[1] == 'youtu'){ 416 src = 'https://www.youtube.com/embed/'+ video[3]+'?autoplay=1&rel=0'; 417 classTerm = 'nivo-lightbox-youtube'; 418 } 419 if(video[1] == 'vimeo'){ 420 src = 'https://player.vimeo.com/video/'+ video[3]+'?autoplay=1&rel=0&playsinline=0'; 421 classTerm = 'nivo-lightbox-vimeo'; 422 } 423 424 if(src){ 425 var iframeVideo = $('<iframe>', { 426 src: src, 427 'class': classTerm, 428 frameborder: 0, 429 vspace: 0, 430 hspace: 0, 431 scrolling: 'auto', 432 allowfullscreen: 'true' 433 }); 434 content.html(iframeVideo); 435 iframeVideo.load(function(){ content.removeClass('nivo-lightbox-loading'); }); 436 } 437 } 438 // AJAX 439 else if(link.attr('data-lightbox-type') == 'ajax'){ 440 $.ajax({ 441 url: href, 442 cache: false, 443 success: function(data) { 444 var wrap = $('<div class="nivo-lightbox-ajax" />'); 445 wrap.append(data); 446 content.html(wrap).removeClass('nivo-lightbox-loading'); 447 448 // Vertically center html 449 if(wrap.outerHeight() < content.height()){ 450 wrap.css({ 451 'position': 'relative', 452 'top': '50%', 453 'margin-top': -(wrap.outerHeight()/2) +'px' 454 }); 455 } 456 $(window).resize(function() { 457 if(wrap.outerHeight() < content.height()){ 458 wrap.css({ 459 'position': 'relative', 460 'top': '50%', 461 'margin-top': -(wrap.outerHeight()/2) +'px' 462 }); 463 } 464 }); 465 }, 466 error: function(){ 467 var wrap = $('<div class="nivo-lightbox-error"><p>'+ $this.options.errorMessage +'</p></div>'); 468 content.html(wrap).removeClass('nivo-lightbox-loading'); 469 } 470 }); 471 } 472 // Inline HTML 473 else if(href.substring(0, 1) == '#' && link.attr('data-lightbox-type') == 'inline'){ 474 if($(href).length){ 475 var wrap = $('<div class="nivo-lightbox-inline" />'); 476 wrap.append($(href).clone().show()); 477 content.html(wrap).removeClass('nivo-lightbox-loading'); 478 479 // Vertically center html 480 if(wrap.outerHeight() < content.height()){ 481 wrap.css({ 482 'position': 'relative', 483 'top': '50%', 484 'margin-top': -(wrap.outerHeight()/2) +'px' 485 }); 486 } 487 $(window).resize(function() { 488 if(wrap.outerHeight() < content.height()){ 489 wrap.css({ 490 'position': 'relative', 491 'top': '50%', 492 'margin-top': -(wrap.outerHeight()/2) +'px' 493 }); 494 } 495 }); 496 } else { 497 var wrapError = $('<div class="nivo-lightbox-error"><p>'+ $this.options.errorMessage +'</p></div>'); 498 content.html(wrapError).removeClass('nivo-lightbox-loading'); 499 } 500 } 501 502 // HTML5 audio 503 else if(link.attr('data-lightbox-type') == 'html5audio'){ 504 var vidframe = $('<audio>', { 505 src: href, 506 'class': 'nivo-lightbox-html5audio', 507 'controls': 'true', 508 'playsinline': 'true', 509 'preload': 'auto', 510 'autoplay': 'true' 511 }); 512 content.html(vidframe); 513 vidframe.load(function(){ content.removeClass('nivo-lightbox-loading'); }); 514 } 515 516 // HTML5 video 517 else if(link.attr('data-lightbox-type') == 'html5video'){ 518 var vidframe = $('<video>', { 519 src: href, 520 'class': 'nivo-lightbox-html5video', 521 'controls': 'true', 522 'playsinline': 'true', 523 'preload': 'auto', 524 'autoplay': 'true' 525 }); 526 content.html(vidframe); 527 vidframe.load(function(){ content.removeClass('nivo-lightbox-loading'); }); 528 } 529 530 // iFrame (default) 531 else if(link.attr('data-lightbox-type') == 'iframe'){ 532 var iframe = $('<iframe>', { 533 src: href, 534 'class': 'nivo-lightbox-item', 535 frameborder: 0, 536 vspace: 0, 537 hspace: 0, 538 scrolling: 'auto' 539 }); 540 content.html(iframe); 541 iframe.load(function(){ content.removeClass('nivo-lightbox-loading'); }); 542 } else { 543 return false;
544 } 545 546 // Set the title 547 if(link.attr('title')){ 548 var titleWrap = $('<span>', { 'class': 'nivo-lightbox-title' }); 549 titleWrap.text(link.attr('title')); 550 $('.nivo-lightbox-title-wrap').html(titleWrap); 551 } else { 552 $('.nivo-lightbox-title-wrap').html(''); 553 } 554 }, 555 556 constructLightbox: function(){ 557 if($('.nivo-lightbox-overlay').length) return $('.nivo-lightbox-overlay'); 558 559 var overlay = $('<div>', { 'class': 'nivo-lightbox-overlay nivo-lightbox-theme-'+ this.options.theme +' nivo-lightbox-effect-'+ this.options.effect }); 560 var wrap = $('<div>', { 'class': 'nivo-lightbox-wrap' }); 561 var content = $('<div>', { 'class': 'nivo-lightbox-content' }); 562 var nav = $('<a href="#" class="nivo-lightbox-nav nivo-lightbox-prev"><i class="fa fa-chevron-left"></i></a><a href="#" class="nivo-lightbox-nav nivo-lightbox-next"><i class="fa fa-chevron-right"></i></a>'); 563 var close = $('<a href="#" class="nivo-lightbox-close" title="Close">Close</a>'); 564 var title = $('<div>', { 'class': 'nivo-lightbox-title-wrap' }); 565 566 var isMSIE = /*@cc_on!@*/0; 567 if(isMSIE) overlay.addClass('nivo-lightbox-ie'); 568 569 wrap.append(content); 570 wrap.append(title); 571 overlay.append(wrap); 572 overlay.append(nav); 573 overlay.append(close); 574 $('body').append(overlay); 575 576 var $this = this; 577 if($this.options.clickOverlayToClose){ 578 overlay.on('click', function(e){ 579 if(e.target === this || $(e.target).hasClass('nivo-lightbox-content') || $(e.target).hasClass('nivo-lightbox-image')){ 580 $this.destructLightbox(); 581 } 582 }); 583 } 584 if($this.options.clickImgToClose){ 585 overlay.on('click', function(e){ 586 if(e.target === this || $(e.target).hasClass('nivo-lightbox-image-display')){ 587 $this.destructLightbox(); 588 } 589 }); 590 } 591 592 close.on('click', function(e){ 593 e.preventDefault(); 594 $this.destructLightbox(); 595 }); 596 597 return overlay; 598 }, 599 600 destructLightbox: function(){ 601 var $this = this; 602 this.options.beforeHideLightbox.call(this); 603 604 $('.nivo-lightbox-overlay').removeClass('nivo-lightbox-open'); 605 $('.nivo-lightbox-nav').hide(); 606 $('body').removeClass('nivo-lightbox-body-effect-'+ $this.options.effect); 607 608 // For IE 609 var isMSIE = /*@cc_on!@*/0; 610 if(isMSIE){ 611 $('.nivo-lightbox-overlay iframe').attr("src", " "); 612 $('.nivo-lightbox-overlay iframe').remove(); 613 } 614 615 // Remove click handlers 616 $('.nivo-lightbox-prev').off('click'); 617 $('.nivo-lightbox-next').off('click'); 618 619 // Empty content (for videos) 620 $('.nivo-lightbox-content').empty(); 621 622 this.options.afterHideLightbox.call(this); 623 }, 624 625 isHidpi: function(){ 626 var mediaQuery = "(-webkit-min-device-pixel-ratio: 1.5),\ 627 (min--moz-device-pixel-ratio: 1.5),\ 628 (-o-min-device-pixel-ratio: 3/2),\ 629 (min-resolution: 1.5dppx)"; 630 if(window.devicePixelRatio > 1) return true; 631 if(window.matchMedia && window.matchMedia(mediaQuery).matches) return true; 632 return false; 633 } 634 635 }; 636 637 $.fn[pluginName] = function(options){ 638 return this.each(function(){ 639 if(!$.data(this, pluginName)){ 640 $.data(this, pluginName, new NivoLightbox(this, options)); 641 } 642 }); 643 }; 644 645})(jQuery, window, document); 646 647 648 649/* 650WHW changes 651- Replace '<a href="#" class="nivo-lightbox-nav nivo-lightbox-prev">Previous</a>' with '<a href="#" class="nivo-lightbox-nav nivo-lightbox-prev"><i class="fa fa-chevron-left"></i></a>' 652- Replace '<a href="#" class="nivo-lightbox-nav nivo-lightbox-next">Next</a>' with '<a href="#" class="nivo-lightbox-nav nivo-lightbox-next"><i class="fa fa-chevron-right"></i></a>' 653- Replace '<a href="#" class="nivo-lightbox-close" title="Close">Close</a>' with '<a href="#" class="nivo-lightbox-close"></a>' 654- Replace 'http://player.vimeo.com' with 'https://player.vimeo.com' 655- Replace 'http://www.youtube.com/embed/' with 'https://www.youtube.com/embed/' 656- Replace '[4]' with '[4]+'?autoplay=1&rel=0'' 657- Replace '[3]' with '[3]+'?autoplay=1&rel=0'' 658- Replace 'scrolling:"auto"' with 'scrolling:"auto",allowfullscreen:"true"' 659*/ 660 661return stack;})(stacks.com_stacks4stacks_stacks_topbox4); 662stacks.stacks_in_468 = {}; 663stacks.stacks_in_468 = (function(stack) { 664var jQuery = stacks.jQuery;var $ = jQuery; 665( function($) { 666 667 $.easytabs = function(container, options) { 668 669 // Attach to plugin anything that should be available via 670 // the $container.data('easytabs') object 671 var plugin = this, 672 $container = $(container), 673 674 defaults = { 675 animate: true, 676 panelActiveClass: "active", 677 tabActiveClass: "active", 678 defaultTab: "li:first-child",
679 animationSpeed: "normal", 680 tabs: "> ul > li", 681 updateHash: true, 682 cycle: false, 683 collapsible: false, 684 collapsedClass: "collapsed", 685 collapsedByDefault: true, 686 uiTabs: false, 687 transitionIn: 'fadeIn', 688 transitionOut: 'fadeOut', 689 transitionInEasing: 'swing', 690 transitionOutEasing: 'swing', 691 transitionCollapse: 'slideUp', 692 transitionUncollapse: 'slideDown', 693 transitionCollapseEasing: 'swing', 694 transitionUncollapseEasing: 'swing', 695 containerClass: "", 696 tabsClass: "", 697 tabClass: "", 698 panelClass: "", 699 cache: true, 700 panelContext: $container 701 }, 702 703 // Internal instance variables 704 // (not available via easytabs object) 705 $defaultTab, 706 $defaultTabLink, 707 transitions, 708 lastHash, 709 skipUpdateToHash, 710 animationSpeeds = { 711 fast: 200, 712 normal: 400, 713 slow: 600 714 }, 715 716 // Shorthand variable so that we don't need to call 717 // plugin.settings throughout the plugin code 718 settings; 719 720 // ============================================================= 721 // Functions available via easytabs object 722 // ============================================================= 723 724 plugin.init = function() { 725 726 plugin.settings = settings = $.extend({}, defaults, options); 727 728 // Add jQuery UI's crazy class names to markup, 729 // so that markup will match theme CSS 730 if ( settings.uiTabs ) { 731 settings.tabActiveClass = 'ui-tabs-selected'; 732 settings.containerClass = 'ui-tabs ui-widget ui-widget-content ui-corner-all'; 733 settings.tabsClass = 'ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all'; 734 settings.tabClass = 'ui-state-default ui-corner-top'; 735 settings.panelClass = 'ui-tabs-panel ui-widget-content ui-corner-bottom'; 736 } 737 738 // If collapsible is true and defaultTab specified, assume user wants defaultTab showing (not collapsed) 739 if ( settings.collapsible && options.defaultTab !== undefined && options.collpasedByDefault === undefined ) { 740 settings.collapsedByDefault = false;
741 } 742 743 // Convert 'normal', 'fast', and 'slow' animation speed settings to their respective speed in milliseconds 744 if ( typeof(settings.animationSpeed) === 'string' ) { 745 settings.animationSpeed = animationSpeeds[settings.animationSpeed]; 746 } 747 748 $('a.anchor').remove().prependTo('body'); 749 750 // Store easytabs object on container so we can easily set 751 // properties throughout 752 $container.data('easytabs', {}); 753 754 plugin.setTransitions(); 755 756 plugin.getTabs(); 757 758 addClasses(); 759 760 setDefaultTab(); 761 762 bindToTabClicks(); 763 764 initHashChange(); 765 766 initCycle(); 767 768 // Append data-easytabs HTML attribute to make easy to query for 769 // easytabs instances via CSS pseudo-selector 770 $container.attr('data-easytabs', true); 771 }; 772 773 // Set transitions for switching between tabs based on options. 774 // Could be used to update transitions if settings are changes. 775 plugin.setTransitions = function() { 776 transitions = ( settings.animate ) ? { 777 show: settings.transitionIn, 778 hide: settings.transitionOut, 779 speed: settings.animationSpeed, 780 collapse: settings.transitionCollapse, 781 uncollapse: settings.transitionUncollapse, 782 halfSpeed: settings.animationSpeed / 2 783 } : 784 { 785 show: "show", 786 hide: "hide", 787 speed: 0, 788 collapse: "hide", 789 uncollapse: "show", 790 halfSpeed: 0 791 }; 792 }; 793 794 // Find and instantiate tabs and panels. 795 // Could be used to reset tab and panel collection if markup is 796 // modified. 797 plugin.getTabs = function() { 798 var $matchingPanel; 799 800 // Find the initial set of elements matching the setting.tabs 801 // CSS selector within the container 802 plugin.tabs = $container.find(settings.tabs), 803 804 // Instantiate panels as empty jquery object 805 plugin.panels = $(), 806 807 plugin.tabs.each(function(){ 808 var $tab = $(this), 809 $a = $tab.children('a'), 810 811 // targetId is the ID of the panel, which is either the 812 // `href` attribute for non-ajax tabs, or in the 813 // `data-target` attribute for ajax tabs since the `href` is 814 // the ajax URL 815 targetId = $tab.children('a').data('target'); 816 817 $tab.data('easytabs', {}); 818 819 // If the tab has a `data-target` attribute, and is thus an ajax tab 820 if ( targetId !== undefined && targetId !== null ) { 821 $tab.data('easytabs').ajax = $a.attr('href'); 822 } else { 823 targetId = $a.attr('href'); 824 } 825 targetId = targetId.match(/#([^\?]+)/)[0].substr(1); 826 827 $matchingPanel = settings.panelContext.find("#" + targetId); 828 829 // If tab has a matching panel, add it to panels 830 if ( $matchingPanel.length ) { 831 832 // Store panel height before hiding 833 $matchingPanel.data('easytabs', { 834 position: $matchingPanel.css('position'), 835 visibility: $matchingPanel.css('visibility') 836 }); 837 838 // Don't hide panel if it's active (allows `getTabs` to be called manually to re-instantiate tab collection) 839 $matchingPanel.not(settings.panelActiveClass).hide(); 840 841 plugin.panels = plugin.panels.add($matchingPanel); 842 843 $tab.data('easytabs').panel = $matchingPanel; 844 845 // Otherwise, remove tab from tabs collection 846 } else { 847 plugin.tabs = plugin.tabs.not($tab); 848 } 849 }); 850 }; 851 852 // Select tab and fire callback 853 plugin.selectTab = function($clicked, callback) { 854 var url = window.location, 855 hash = url.hash.match(/^[^\?]*/)[0], 856 $targetPanel = $clicked.parent().data('easytabs').panel, 857 ajaxUrl = $clicked.parent().data('easytabs').ajax; 858 859 // Tab is collapsible and active => toggle collapsed state 860 if( settings.collapsible && ! skipUpdateToHash && ($clicked.hasClass(settings.tabActiveClass) || $clicked.hasClass(settings.collapsedClass)) ) { 861 plugin.toggleTabCollapse($clicked, $targetPanel, ajaxUrl, callback); 862 863 // Tab is not active and panel is not active => select tab 864 } else if( ! $clicked.hasClass(settings.tabActiveClass) || ! $targetPanel.hasClass(settings.panelActiveClass) ){ 865 activateTab($clicked, $targetPanel, ajaxUrl, callback); 866 867 // Cache is disabled => reload (e.g reload an ajax tab). 868 } else if ( ! settings.cache ){ 869 activateTab($clicked, $targetPanel, ajaxUrl, callback); 870 } 871 872 }; 873
874 // Toggle tab collapsed state and fire callback 875 plugin.toggleTabCollapse = function($clicked, $targetPanel, ajaxUrl, callback) { 876 plugin.panels.stop(true,true); 877 878 if( fire($container,"easytabs:before", [$clicked, $targetPanel, settings]) ){ 879 plugin.tabs.filter("." + settings.tabActiveClass).removeClass(settings.tabActiveClass).children().removeClass(settings.tabActiveClass); 880 881 // If panel is collapsed, uncollapse it 882 if( $clicked.hasClass(settings.collapsedClass) ){ 883 884 // If ajax panel and not already cached 885 if( ajaxUrl && (!settings.cache || !$clicked.parent().data('easytabs').cached) ) { 886 $container.trigger('easytabs:ajax:beforeSend', [$clicked, $targetPanel]); 887 888 $targetPanel.load(ajaxUrl, function(response, status, xhr){ 889 $clicked.parent().data('easytabs').cached = true; 890 $container.trigger('easytabs:ajax:complete', [$clicked, $targetPanel, response, status, xhr]); 891 }); 892 } 893 894 // Update CSS classes of tab and panel 895 $clicked.parent() 896 .removeClass(settings.collapsedClass) 897 .addClass(settings.tabActiveClass) 898 .children() 899 .removeClass(settings.collapsedClass) 900 .addClass(settings.tabActiveClass); 901 902 $targetPanel 903 .addClass(settings.panelActiveClass) 904 [transitions.uncollapse](transitions.speed, settings.transitionUncollapseEasing, function(){ 905 $container.trigger('easytabs:midTransition', [$clicked, $targetPanel, settings]); 906 if(typeof callback == 'function') callback(); 907 }); 908 909 // Otherwise, collapse it 910 } else { 911 912 // Update CSS classes of tab and panel 913 $clicked.addClass(settings.collapsedClass) 914 .parent() 915 .addClass(settings.collapsedClass); 916 917 $targetPanel 918 .removeClass(settings.panelActiveClass) 919 [transitions.collapse](transitions.speed, settings.transitionCollapseEasing, function(){ 920 $container.trigger("easytabs:midTransition", [$clicked, $targetPanel, settings]); 921 if(typeof callback == 'function') callback(); 922 }); 923 } 924 } 925 }; 926 927 928 // Find tab with target panel matching value 929 plugin.matchTab = function(hash) { 930 return plugin.tabs.find("[href='" + hash + "'],[data-target='" + hash + "']").first(); 931 }; 932 933 // Find panel with `id` matching value 934 plugin.matchInPanel = function(hash) { 935 return ( hash ? plugin.panels.filter(':has(' + hash + ')').first() : [] ); 936 }; 937 938 // Select matching tab when URL hash changes 939 plugin.selectTabFromHashChange = function() { 940 var hash = window.location.hash.match(/^[^\?]*/)[0], 941 $tab = plugin.matchTab(hash), 942 $panel; 943 944 if ( settings.updateHash ) { 945 946 // If hash directly matches tab 947 if( $tab.length ){ 948 skipUpdateToHash = true; 949 plugin.selectTab( $tab ); 950 951 } else { 952 $panel = plugin.matchInPanel(hash); 953 954 // If panel contains element matching hash 955 if ( $panel.length ) { 956 hash = '#' + $panel.attr('id'); 957 $tab = plugin.matchTab(hash); 958 skipUpdateToHash = true; 959 plugin.selectTab( $tab ); 960 961 // If default tab is not active... 962 } else if ( ! $defaultTab.hasClass(settings.tabActiveClass) && ! settings.cycle ) { 963 964 // ...and hash is blank or matches a parent of the tab container or 965 // if the last tab (before the hash updated) was one of the other tabs in this container. 966 if ( hash === '' || plugin.matchTab(lastHash).length || $container.closest(hash).length ) { 967 skipUpdateToHash = true; 968 plugin.selectTab( $defaultTabLink ); 969 } 970 } 971 } 972 } 973 }; 974 975 // Cycle through tabs 976 plugin.cycleTabs = function(tabNumber){ 977 if(settings.cycle){ 978 tabNumber = tabNumber % plugin.tabs.length; 979 $tab = $( plugin.tabs[tabNumber] ).children("a").first(); 980 skipUpdateToHash = true; 981 plugin.selectTab( $tab, function() { 982 setTimeout(function(){ plugin.cycleTabs(tabNumber + 1); }, settings.cycle); 983 }); 984 } 985 }; 986 987 // Convenient public methods 988 plugin.publicMethods = { 989 select: function(tabSelector){ 990 var $tab; 991 992 // Find tab container that matches selector (like 'li#tab-one' which contains tab link) 993 if ( ($tab = plugin.tabs.filter(tabSelector)).length === 0 ) { 994 995 // Find direct tab link that matches href (like 'a[href="#panel-1"]') 996 if ( ($tab = plugin.tabs.find("a[href='" + tabSelector + "']")).length === 0 ) { 997 998 // Find direct tab link that matches selector (like 'a#tab-1') 999 if ( ($tab = plugin.tabs.find("a" + tabSelector)).length === 0 ) { 1000 1001 // Find direct tab link that matches data-target (lik 'a[data-target="#panel-1"]') 1002 if ( ($tab = plugin.tabs.find("[data-target='" + tabSelector + "']")).length === 0 ) { 1003 1004 // Find direct tab link that ends in the matching href (like 'a[href$="#panel-1"]', which would also match http://example.com/currentpage/#panel-1) 1005 if ( ($tab = plugin.tabs.find("a[href$='" + tabSelector + "']")).length === 0 ) { 1006 1007 $.error('Tab \'' + tabSelector + '\' does not exist in tab set'); 1008 } 1009 } 1010 } 1011 } 1012 } else { 1013 // Select the child tab link, since the first option finds the tab container (like <li>) 1014 $tab = $tab.children("a").first(); 1015 } 1016 plugin.selectTab($tab); 1017 } 1018 }; 1019 1020 // ============================================================= 1021 // Private functions 1022 // ============================================================= 1023 1024 // Triggers an event on an element and returns the event result 1025 var fire = function(obj, name, data) { 1026 var event = $.Event(name); 1027 obj.trigger(event, data); 1028 return event.result !== false; 1029 } 1030 1031 // Add CSS classes to markup (if specified), called by init 1032 var addClasses = function() { 1033 $container.addClass(settings.containerClass); 1034 plugin.tabs.parent().addClass(settings.tabsClass); 1035 plugin.tabs.addClass(settings.tabClass); 1036 plugin.panels.addClass(settings.panelClass); 1037 }; 1038 1039 // Set the default tab, whether from hash (bookmarked) or option, 1040 // called by init 1041 var setDefaultTab = function(){ 1042 var hash = window.location.hash.match(/^[^\?]*/)[0], 1043 $selectedTab = plugin.matchTab(hash).parent(), 1044 $panel; 1045 1046 // If hash directly matches one of the tabs, active on page-load 1047 if( $selectedTab.length === 1 ){ 1048 $defaultTab = $selectedTab; 1049 settings.cycle = false;
1050 1051 } else { 1052 $panel = plugin.matchInPanel(hash); 1053 1054 // If one of the panels contains the element matching the hash, 1055 // make it active on page-load 1056 if ( $panel.length ) { 1057 hash = '#' + $panel.attr('id'); 1058 $defaultTab = plugin.matchTab(hash).parent(); 1059 1060 // Otherwise, make the default tab the one that's active on page-load 1061 } else { 1062 $defaultTab = plugin.tabs.parent().find(settings.defaultTab); 1063 if ( $defaultTab.length === 0 ) { 1064 $.error("The specified default tab ('" + settings.defaultTab + "') could not be found in the tab set."); 1065 } 1066 } 1067 } 1068 1069 $defaultTabLink = $defaultTab.children("a").first(); 1070 1071 activateDefaultTab($selectedTab); 1072 }; 1073 1074 // Activate defaultTab (or collapse by default), called by setDefaultTab 1075 var activateDefaultTab = function($selectedTab) { 1076 var defaultPanel, 1077 defaultAjaxUrl; 1078 1079 if ( settings.collapsible && $selectedTab.length === 0 && settings.collapsedByDefault ) { 1080 $defaultTab 1081 .addClass(settings.collapsedClass) 1082 .children() 1083 .addClass(settings.collapsedClass); 1084 1085 } else { 1086 1087 defaultPanel = $( $defaultTab.data('easytabs').panel ); 1088 defaultAjaxUrl = $defaultTab.data('easytabs').ajax; 1089 1090 if ( defaultAjaxUrl && (!settings.cache || !$defaultTab.data('easytabs').cached) ) { 1091 $container.trigger('easytabs:ajax:beforeSend', [$defaultTabLink, defaultPanel]); 1092 defaultPanel.load(defaultAjaxUrl, function(response, status, xhr){ 1093 $defaultTab.data('easytabs').cached = true; 1094 $container.trigger('easytabs:ajax:complete', [$defaultTabLink, defaultPanel, response, status, xhr]); 1095 }); 1096 } 1097 1098 $defaultTab.data('easytabs').panel 1099 .show() 1100 .addClass(settings.panelActiveClass); 1101 1102 $defaultTab 1103 .addClass(settings.tabActiveClass) 1104 .children() 1105 .addClass(settings.tabActiveClass); 1106 } 1107 }; 1108 1109 // Bind tab-select funtionality to namespaced click event, called by 1110 // init 1111 var bindToTabClicks = function() { 1112 plugin.tabs.children("a").bind("click.easytabs", function(e) { 1113 1114 // Stop cycling when a tab is clicked 1115 settings.cycle = false; 1116 1117 // Hash will be updated when tab is clicked, 1118 // don't cause tab to re-select when hash-change event is fired 1119 skipUpdateToHash = false; 1120 1121 // Select the panel for the clicked tab 1122 plugin.selectTab( $(this) ); 1123 1124 // Don't follow the link to the anchor 1125 e.preventDefault(); 1126 }); 1127 }; 1128 1129 // Activate a given tab/panel, called from plugin.selectTab: 1130 // 1131 // * fire `easytabs:before` hook 1132 // * get ajax if new tab is an uncached ajax tab 1133 // * animate out previously-active panel 1134 // * fire `easytabs:midTransition` hook 1135 // * update URL hash 1136 // * animate in newly-active panel 1137 // * update CSS classes for inactive and active tabs/panels 1138 // 1139 // TODO: This could probably be broken out into many more modular 1140 // functions 1141 var activateTab = function($clicked, $targetPanel, ajaxUrl, callback) { 1142 plugin.panels.stop(true,true); 1143 1144 if( fire($container,"easytabs:before", [$clicked, $targetPanel, settings]) ){ 1145 var $visiblePanel = plugin.panels.filter(":visible"), 1146 $panelContainer = $targetPanel.parent(), 1147 targetHeight, 1148 visibleHeight, 1149 heightDifference, 1150 showPanel, 1151 hash = window.location.hash.match(/^[^\?]*/)[0]; 1152 1153 if (settings.animate) { 1154 targetHeight = getHeightForHidden($targetPanel); 1155 visibleHeight = $visiblePanel.length ? setAndReturnHeight($visiblePanel) : 0; 1156 heightDifference = targetHeight - visibleHeight; 1157 } 1158 1159 // Set lastHash to help indicate if defaultTab should be 1160 // activated across multiple tab instances. 1161 lastHash = hash; 1162 1163 // TODO: Move this function elsewhere 1164 showPanel = function() { 1165 // At this point, the previous panel is hidden, and the new one will be selected 1166 $container.trigger("easytabs:midTransition", [$clicked, $targetPanel, settings]); 1167 1168 // Gracefully animate between panels of differing heights, start height change animation *after* panel change if panel needs to contract, 1169 // so that there is no chance of making the visible panel overflowing the height of the target panel 1170 if (settings.animate && settings.transitionIn == 'fadeIn') { 1171 if (heightDifference < 0) 1172 $panelContainer.animate({ 1173 height: $panelContainer.height() + heightDifference 1174 }, transitions.halfSpeed ).css({ 'min-height': '' }); 1175 } 1176 1177 if ( settings.updateHash && ! skipUpdateToHash ) { 1178 //window.location = url.toString().replace((url.pathname + hash), (url.pathname + $clicked.attr("href"))); 1179 // Not sure why this behaves so differently, but it's more straight forward and seems to have less side-effects 1180 window.location.hash = '#' + $targetPanel.attr('id'); 1181 } else { 1182 skipUpdateToHash = false;
1183 } 1184 1185 $targetPanel 1186 [transitions.show](transitions.speed, settings.transitionInEasing, function(){ 1187 $panelContainer.css({height: '', 'min-height': ''}); // After the transition, unset the height 1188 $container.trigger("easytabs:after", [$clicked, $targetPanel, settings]); 1189 // callback only gets called if selectTab actually does something, since it's inside the if block 1190 if(typeof callback == 'function'){ 1191 callback(); 1192 } 1193 }); 1194 }; 1195 1196 if ( ajaxUrl && (!settings.cache || !$clicked.parent().data('easytabs').cached) ) { 1197 $container.trigger('easytabs:ajax:beforeSend', [$clicked, $targetPanel]); 1198 $targetPanel.load(ajaxUrl, function(response, status, xhr){ 1199 $clicked.parent().data('easytabs').cached = true; 1200 $container.trigger('easytabs:ajax:complete', [$clicked, $targetPanel, response, status, xhr]); 1201 }); 1202 } 1203 1204 // Gracefully animate between panels of differing heights, start height change animation *before* panel change if panel needs to expand, 1205 // so that there is no chance of making the target panel overflowing the height of the visible panel 1206 if( settings.animate && settings.transitionOut == 'fadeOut' ) { 1207 if( heightDifference > 0 ) { 1208 $panelContainer.animate({ 1209 height: ( $panelContainer.height() + heightDifference ) 1210 }, transitions.halfSpeed ); 1211 } else { 1212 // Prevent height jumping before height transition is triggered at midTransition 1213 $panelContainer.css({ 'min-height': $panelContainer.height() }); 1214 } 1215 } 1216 1217 // Change the active tab *first* to provide immediate feedback when the user clicks 1218 plugin.tabs.filter("." + settings.tabActiveClass).removeClass(settings.tabActiveClass).children().removeClass(settings.tabActiveClass); 1219 plugin.tabs.filter("." + settings.collapsedClass).removeClass(settings.collapsedClass).children().removeClass(settings.collapsedClass); 1220 $clicked.parent().addClass(settings.tabActiveClass).children().addClass(settings.tabActiveClass); 1221 1222 plugin.panels.filter("." + settings.panelActiveClass).removeClass(settings.panelActiveClass); 1223 $targetPanel.addClass(settings.panelActiveClass); 1224 1225 if( $visiblePanel.length ) { 1226 $visiblePanel 1227 [transitions.hide](transitions.speed, settings.transitionOutEasing, showPanel); 1228 } else { 1229 $targetPanel 1230 [transitions.uncollapse](transitions.speed, settings.transitionUncollapseEasing, showPanel); 1231 } 1232 } 1233 }; 1234 1235 // Get heights of panels to enable animation between panels of 1236 // differing heights, called by activateTab 1237 var getHeightForHidden = function($targetPanel){ 1238 1239 if ( $targetPanel.data('easytabs') && $targetPanel.data('easytabs').lastHeight ) { 1240 return $targetPanel.data('easytabs').lastHeight; 1241 } 1242 1243 // this is the only property easytabs changes, so we need to grab its value on each tab change 1244 var display = $targetPanel.css('display'), 1245 1246 // Workaround, because firefox returns wrong height if element itself has absolute positioning 1247 height = $targetPanel 1248 .wrap($('<div>', {position: 'absolute', 'visibility': 'hidden', 'overflow': 'hidden'})) 1249 .css({'position':'relative','visibility':'hidden','display':'block'}) 1250 .outerHeight(); 1251 1252 $targetPanel.unwrap(); 1253 1254 // Return element to previous state 1255 $targetPanel.css({ 1256 position: $targetPanel.data('easytabs').position, 1257 visibility: $targetPanel.data('easytabs').visibility, 1258 display: display 1259 }); 1260 1261 // Cache height 1262 $targetPanel.data('easytabs').lastHeight = height; 1263 1264 return height; 1265 }; 1266 1267 // Since the height of the visible panel may have been manipulated due to interaction, 1268 // we want to re-cache the visible height on each tab change, called 1269 // by activateTab 1270 var setAndReturnHeight = function($visiblePanel) { 1271 var height = $visiblePanel.outerHeight(); 1272 1273 if( $visiblePanel.data('easytabs') ) { 1274 $visiblePanel.data('easytabs').lastHeight = height; 1275 } else { 1276 $visiblePanel.data('easytabs', {lastHeight: height}); 1277 } 1278 return height; 1279 }; 1280
1281 // Setup hash-change callback for forward- and back-button 1282 // functionality, called by init 1283 var initHashChange = function(){ 1284 1285 // enabling back-button with jquery.hashchange plugin 1286 // http://benalman.com/projects/jquery-hashchange-plugin/ 1287 if(typeof $(window).hashchange === 'function'){ 1288 $(window).hashchange( function(){ 1289 plugin.selectTabFromHashChange(); 1290 }); 1291 } else if ($.address && typeof $.address.change === 'function') { // back-button with jquery.address plugin http://www.asual.com/jquery/address/docs/ 1292 $.address.change( function(){ 1293 plugin.selectTabFromHashChange(); 1294 }); 1295 } 1296 }; 1297 1298 // Begin cycling if set in options, called by init 1299 var initCycle = function(){ 1300 var tabNumber; 1301 if (settings.cycle) { 1302 tabNumber = plugin.tabs.index($defaultTab); 1303 setTimeout( function(){ plugin.cycleTabs(tabNumber + 1); }, settings.cycle); 1304 } 1305 }; 1306 1307 1308 plugin.init(); 1309 1310 }; 1311 1312 $.fn.easytabs = function(options) { 1313 var args = arguments; 1314 1315 return this.each(function() { 1316 var $this = $(this), 1317 plugin = $this.data('easytabs'); 1318 1319 // Initialization was called with $(el).easytabs( { options } ); 1320 if (undefined === plugin) { 1321 plugin = new $.easytabs(this, options); 1322 $this.data('easytabs', plugin); 1323 } 1324 1325 // User called public method 1326 if ( plugin.publicMethods[options] ){ 1327 return plugin.publicMethods[options](Array.prototype.slice.call( args, 1 )); 1328 } 1329 }); 1330 }; 1331 1332})(jQuery); 1333 1334$(document).ready( function() { 1335 $('#tabs_stacks_in_468').easytabs({ 1336 animationSpeed: 300, 1337 updateHash: false, 1338 animate: true, 1339 defaultTab: "li:nth-child(1)", 1340 cycle: false 1341 }); 1342 }); 1343 1344return stack;})(stacks.stacks_in_468); 1345stacks.stacks_in_843 = {}; 1346stacks.stacks_in_843 = (function(stack) { 1347var jQuery = stacks.jQuery;var $ = jQuery;// This javascript will be created for each instance of our stack 1348 1349$(document).ready(function() { 1350 1351 1352 // Helpers 1353 var url = window.location; 1354 var img = $('#imageWizardstacks_in_843 img').attr('src'); 1355 var alt = $('#imageWizardstacks_in_843 img').attr('alt'); 1356 1357 // Pinterest helper 1358 $("#socialButtonsstacks_in_843 .pinterestHelper").click(function(e){ 1359 e.preventDefault(); 1360 window.open('http://pinterest.com/pin/create/button/?url='+url+img+'&media='+url+img+'&description='+alt); 1361 }); 1362 1363}); 1364 1365return stack;})(stacks.stacks_in_843); 1366stacks.stacks_in_832 = {}; 1367stacks.stacks_in_832 = (function(stack) { 1368var jQuery = stacks.jQuery;var $ = jQuery;var submitMessageTimeout_stacks_in_832; 1369(function($){ 1370 $(document).ready(function() { 1371 $("#stacks_in_832").find('.php').remove(); 1372 function floatLabel(inputType){ 1373 $(inputType).each(function(){ 1374 var $this = $(this); 1375 // on focus add cladd active to label 1376 $this.focus(function(){ 1377 $this.closest(".controls").find("label").addClass("sf-active"); 1378 }); 1379 //on blur check field and remove class if needed 1380 $this.blur(function(){ 1381 if($this.val() === '' || $this.val() === 'blank'){ 1382 $this.closest(".controls").find("label").removeClass(); 1383 } 1384 }); 1385 $this.bind("change keyup",function(){ 1386 $this.closest(".controls").find("label").addClass("sf-active"); 1387 }); 1388 }); 1389 } 1390 //focus next feild on return 1391 jQuery.extend(jQuery.expr[':'], { 1392 focusable: function (el, index, selector) { 1393 return $(el).is('a, button, :input, [tabindex]'); 1394 } 1395 }); 1396 $(document).on('keypress', '#stacks_in_832 .controls input,#stacks_in_832 .controls select', function (e) { 1397 if (e.which == 13) { 1398 e.preventDefault(); 1399 let $canfocus = $('#stacks_in_832 .controls *:focusable'); 1400 let index = $canfocus.index(this) + 1; 1401 if (index >= $canfocus.length) index = 0; 1402 $canfocus.eq(index).focus(); 1403 } 1404 }); 1405 //adjust right padding if no help text used 1406 if(!$("#stacks_in_832 .controls .help").length) { 1407 $("#stacks_in_832").addClass("sf-no-help-text"); 1408 } 1409 //disabled fields 1410 $("#stacks_in_832 input[disabled]").parent().addClass("sf-disabled"); 1411 $("#stacks_in_832 button").prop("type", "submit"); 1412 floatLabel(".floatLabel"); 1413 //select multiple 1414 $("#stacks_in_832 select[multiple] option:empty[disabled][selected]").remove(); 1415 $("#stacks_in_832 select[multiple] option[disabled][selected]").removeAttr("selected"); 1416 $("#stacks_in_832 select[multiple]").each(function(){ 1417 $(this).parent().addClass("sf-multiple"); 1418 $(this).attr("size",$(this).find("option").length); 1419 }); 1420 //restrict datalist 1421 $("#stacks_in_832 input.no-custom-datalist").each(function(){ 1422 let thisInput = this, 1423 pattern = "", 1424 allowArray = []; 1425 $(this).parent().find("option").each(function(){ 1426 if($(this).html() != "" && !this.hasAttribute("disabled")) { 1427 pattern += $(this).html() + "|"; 1428 allowArray.push($(this).html()); 1429 } 1430 }).promise().done(function() { 1431 pattern = pattern.slice(0, -1); 1432 $(thisInput).attr("pattern", pattern); 1433 $(thisInput).blur(function() { 1434 if(!allowArray.includes($(thisInput).val()) && $(thisInput).val() != "") { 1435 $(thisInput).val(""); 1436 } 1437 }); 1438 }); 1439 }); 1440 //fix for checkbox validation 1441 $("#stacks_in_832 .com_onelittledesigner_stacks_Super_Forms_Checkbox_stack").on("click",function() { 1442 $("input:checkbox",this).removeClass("hasError"); 1443 }); 1444 $("#stacks_in_832 .upload").on("click",function() { 1445 $(this).removeClass("hasError"); 1446 }); 1447 //reCAPTCHA 1448 $("#stacks_in_832 .g-recaptcha").on("click",function() { 1449 $(".recaptcha_stacks_in_832").removeClass("hasError"); 1450 }); 1451 // $("#stacks_in_832 .sf-checkbox label").on("click",function() { 1452 // $(this).parent().find("input").trigger("click"); 1453 // }); 1454 //remove submit message 1455 $(document).on("click","#stacks_in_832 .submitMessage", function() { 1456 clearTimeout(submitMessageTimeout_stacks_in_832); 1457 $(this).remove(); 1458 }); 1459 let rescaleCaptcha = function(){ 1460 $("#stacks_in_832 .g-recaptcha > div,#stacks_in_832 .g-recaptcha > div iframe").css("width","100%"); 1461 var width = $('#stacks_in_832 .g-recaptcha').width(); 1462 $("#stacks_in_832 .g-recaptcha > div,#stacks_in_832 .g-recaptcha > div iframe").css("width",""); 1463 var scale; 1464 if (width < 302) { 1465 scale = width / 302; 1466 } else{ 1467 scale = 1.0; 1468 } 1469 $('#stacks_in_832 .g-recaptcha').css('transform', 'scale(' + scale + ')'); 1470 $('#stacks_in_832 .g-recaptcha').css('-webkit-transform', 'scale(' + scale + ')'); 1471 $('#stacks_in_832 .g-recaptcha').css('transform-origin', '0 0'); 1472 $('#stacks_in_832 .g-recaptcha').css('-webkit-transform-origin', '0 0'); 1473 } 1474 rescaleCaptcha(); 1475 $( window ).resize(function() { rescaleCaptcha();}); 1476 $("#stacks_in_832 .sf-submit a").attr("href",""); 1477 $("#stacks_in_832 .sf-submit a").on("click",function(event) { 1478 event.preventDefault(); 1479 $('#stacks_in_832 .hiddenFormSubmit').on("click",); 1480 }); 1481 //Graphic radio options 1482 if($("#stacks_in_832").find('.steps').length == 0) { 1483 var lastRadio = null, 1484 currentName = null, 1485 currentGroup = null; 1486 $("#stacks_in_832").find('.controls.sf-button-group').each(function(i){ 1487 var $this = $(this); 1488 currentName = $this.attr("data-for"); 1489 if(i==0) { 1490 currentGroup = $this; 1491 } else if ($this.prev().is(lastRadio)) { 1492 currentGroup = currentGroup.add($this); 1493 } else { 1494 if (currentGroup) { 1495 currentGroup.wrapAll('<div class="sf-radio-group"></div>'); 1496 currentGroup = $this; 1497 } 1498 } 1499 lastRadio = $this; 1500 if($(`input[name="${currentName}"]`).length == 1)$(`input[name="${currentName}"]`).attr("type","checkbox").attr("data-false-value","-"); 1501 }); 1502 if (currentGroup) { 1503 if(currentGroup.length == 1)currentGroup.find("input").attr("type","checkbox").attr("data-false-value","-"); 1504 currentGroup.wrapAll('<div class="sf-radio-group"></div>'); 1505 } 1506 } 1507 });//end document ready 1508})(jQuery); 1509let sfHasClass = function(element, className) { 1510 return element.className && new RegExp("(^|\\s)" + className + "(\\s|$)").test(element.className); 1511} 1512var hasError = 0; 1513$(document).on('click step-click',"#superForms-stacks_in_832 button, #superForms-stacks_in_832 .step-stack-wrap",function(e) { 1514 if(e.handleObj.type == "click" && $(e.currentTarget).hasClass("step-stack-wrap"))return; 1515 1516 //Step Hybrid Mode 1517 // let submitSlide = $("#stacks_in_832 .step-stack-wrap .step-submit"); 1518 // $("#stacks_in_832 .step-stack-wrap .step:first-child").nextUntil(submitSlide.next()[0],".step").add("#stacks_in_832 .step-stack-wrap .step:first-child").find(".step-slice").remove(); 1519 $("#stacks_in_832 .step-stack-wrap .step").find(".step-slice").remove(); 1520 1521 1522 $("#stacks_in_832 .submitMessage").remove(); 1523 var x = document.querySelectorAll('#superForms-stacks_in_832 input,#superForms-stacks_in_832 textarea,#superForms-stacks_in_832 select'); 1524 var i; 1525 hasError = 0; 1526 for (i = 0; i < x.length; i++) { 1527 if($(x[i]).closest(".step-hide").length == 0) { 1528 if (sfHasClass(x[i],'hasError') == true) { 1529 hasError = 1; 1530 } 1531 if(x[i].hasAttribute("required") && x[i].value == "" && x[i].getAttribute("type") != "checkbox") { 1532 hasError = 1; 1533 x[i].classList.add("hasError"); 1534 } 1535 if(x[i].hasAttribute("required") && x[i].getAttribute("type") == "number") { 1536 let min = parseFloat($(x[i]).attr('min')), 1537 max = parseFloat($(x[i]).attr('max')); 1538 if((!$(x[i]).val() || ($(x[i]).val() < min || $(x[i]).val() > max))) { 1539 $(x[i]).addClass("hasError"); 1540 } else { 1541 $(x[i]).removeClass("hasError")[0]; 1542 $(x[i])[0].setCustomValidity(""); 1543 } 1544 } 1545 if((x[i].hasAttribute("required") || x[i].hasAttribute("sf-captcha")) && x[i].checked == false && x[i].getAttribute("type") == "checkbox") { 1546 hasError = 1; 1547 x[i].classList.add("hasError"); 1548 } 1549 if(x[i].hasAttribute("required") && x[i].getAttribute("type") == "radio") { 1550 let radioName = x[i].getAttribute("name"), 1551 radios = document.querySelectorAll(`#superForms-stacks_in_832 input[type="radio"][name="${radioName}"]`), 1552 isValid = false;
1553 for (r = 0; r < radios.length; r++) { 1554 if(radios[r].checked)isValid = true; 1555 } 1556 if(!isValid) { 1557 hasError = 1; 1558 for (r = 0; r < radios.length; r++) { 1559 radios[r].classList.add("hasError"); 1560 } 1561 } 1562 } 1563 if(x[i].hasAttribute("required") && $(x[i]).hasClass("upload") && x[i].value == "") { 1564 hasError = 1; 1565 $(x[i]).parent().parent().find(".upload-visual").addClass("hasError"); 1566 } 1567 } 1568 } 1569}); 1570$(document).on('submit','#superForms-stacks_in_832',async function(e) { 1571 e.preventDefault(); 1572 $("#stacks_in_832 button,#stacks_in_832 button").css("pointer-events","none"); 1573 let thisForm = this, 1574 timeout_stacks_in_832 = 0; 1575 if($('#superForms-stacks_in_832 .g-recaptcha-v3').length) { 1576 grecaptcha.execute($('#superForms-stacks_in_832 .g-recaptcha-v3').attr("data-sitekey")); 1577 grecaptcha.execute($('#superForms-stacks_in_832 .g-recaptcha-v3').attr("data-sitekey"),{action: 'submit_form'}).then(function(token) { 1578 $('#superForms-stacks_in_832').prepend('<input type="hidden" name="g-recaptcha-response" value="' + token + '">'); 1579 $('#superForms-stacks_in_832').prepend('<input type="hidden" name="action" value="submit_form">'); 1580 }); 1581 timeout_stacks_in_832 = 1000;//add time to verify after submit 1582 } else if($('#superForms-stacks_in_832 .g-recaptcha[data-size="invisible"]').length) { 1583 grecaptcha.execute();//v2 invisible 1584 timeout_stacks_in_832 = 1000;//add time to verify after submit 1585 } 1586 $("#superForms-stacks_in_832 button").addClass("sf-submitting"); 1587 let checkForErrors = await setTimeout(function() { 1588 clearTimeout(submitMessageTimeout_stacks_in_832); 1589 if(hasError == 1) { 1590 if(!$("#stacks_in_832 .step-stack-wrap").length) { 1591 var errorMessage = document.createElement("div"); 1592 var errorHeader = document.createElement("h3"); 1593 var errorHeaderText = document.createTextNode("INCOMPLETE FORM"); 1594 errorHeader.appendChild(errorHeaderText); 1595 var errorPara = document.createElement("p"); 1596 var errorParaText = document.createTextNode("Please fill out all required fields."); 1597 errorPara.appendChild(errorParaText); 1598 errorMessage.appendChild(errorHeader); 1599 errorMessage.appendChild(errorPara); 1600 errorMessage.setAttribute("id", "submitted"); 1601 errorMessage.setAttribute("class", "submitMessage error"); 1602 if(!document.getElementById('submitted')) { 1603 $("#stacks_in_832 button,#stacks_in_832 button").css("pointer-events",""); 1604 document.querySelector("#stacks_in_832 .sf-message").appendChild(errorMessage); 1605 submitMessageTimeout_stacks_in_832 = setTimeout(function(){ $("#stacks_in_832 .submitMessage").remove() }, 5000); 1606 } 1607 } 1608 $("#superForms-stacks_in_832 button").removeClass("sf-submitting"); 1609 $("#stacks_in_832 button,#stacks_in_832 button").css("pointer-events","auto"); 1610 } 1611 },timeout_stacks_in_832); 1612 if(hasError == 1) return; 1613 1614 //post unchecked checkboxes with their false values 1615 $("#superForms-stacks_in_832 [data-false-value]:not(:checked)").each(function() { 1616 if(!$(this).is(":disabled")) { 1617 $(this).addClass("sf-modified").attr("data-original-value",$(this).attr("value")).attr("value", $(this).attr("data-false-value")).attr("checked",true); 1618 } 1619 }).promise().done(function() { 1620 // 1621 // 1622 //Email 1623 let emailMessageData = new FormData(thisForm); 1624 // 1625 $.ajax({ 1626 url: "", 1627 method: "POST", 1628 // 1629 data: emailMessageData, 1630 // 1631 processData: false, 1632 contentType: false, 1633 success: function(data){ 1634 // 1635 $("#stacks_in_832 button,#stacks_in_832 button").css("pointer-events",""); 1636 $("#superForms-stacks_in_832 button").removeClass("sf-submitting"); 1637 $("#superForms-stacks_in_832 .sf-false-data").remove(); 1638 1639 submitMessageTimeout_stacks_in_832 = setTimeout(function(){ 1640 $("#stacks_in_832 .submitMessage").remove(); 1641 }, 5000); 1642 if($(data).find("#submitted > .error").length > 0) { 1643 if(!$("#stacks_in_832 .submitMessage").length)$('#stacks_in_832 .sf-message').append($(data).find("#submitted").html()); 1644 $('#stacks_in_832 .step-message').trigger("send-error"); 1645 return 1646 } 1647 if(!$("#stacks_in_832 .submitMessage").length && !$("#stacks_in_832 .step-stack-wrap").length)$('#stacks_in_832 .sf-message').append($(data).find("#submitted").html()); 1648 1649 if($(data).find("#debug-sfstacks_in_832").length){ 1650 $("#stacks_in_832 .sf-debug-output").addClass("has-output").html($(data).find("#debug-sfstacks_in_832").html()); 1651 } 1652 1653 $("#superForms-stacks_in_832 .sf-option").removeClass("sf-msm-active"); 1654 $("#superForms-stacks_in_832")[0].reset(); 1655 1656 $("#stacks_in_832 .hasError").removeClass("hasError"); 1657 $('#stacks_in_832 .controls select').addClass("is-placeholder"); 1658 $("#superForms-stacks_in_832 .sf-active").removeClass("sf-active"); 1659 1660 if($('#superForms-stacks_in_832 .grecaptcha-v2').length) { 1661 $("#g-captcha").prop('checked', false); 1662 grecaptcha.reset();//v2 reset 1663 } 1664 // 1665 // 1666 $('#stacks_in_832 .step-message').trigger("send-success"); 1667 $("#superForms-stacks_in_832 .sf-modified").each(function() { 1668 $(this).attr("value",$(this).attr("data-original-value")); 1669 }); 1670 }, 1671 error: function (jqXHR, exception) { 1672 $("#stacks_in_832 button,#stacks_in_832 button").css("pointer-events",""); 1673 $("#superForms-stacks_in_832 button").removeClass("sf-submitting"); 1674 $("#superForms-stacks_in_832 .sf-false-data").remove(); 1675 $('#stacks_in_832 .sf-message').append("<div class='error submitMessage'><h3>MAIL ERROR</h3><p>Sorry, something went wrong. Please try again later.</p></div>"); 1676 submitMessageTimeout_stacks_in_832 = setTimeout(function(){ 1677 $("#stacks_in_832 .submitMessage").remove(); 1678 }, 5000); 1679 if($('#superForms-stacks_in_832 .grecaptcha-v2').length) { 1680 $("#g-captcha").prop('checked', false); 1681 grecaptcha.reset();//v2 reset 1682 } 1683 $('#stacks_in_832 .step-message').trigger("send-error"); 1684 $("#superForms-stacks_in_832 .sf-modified").each(function() { 1685 $(this).attr("value",$(this).attr("data-original-value")); 1686 }); 1687 } 1688 }); 1689 // 1690 }); 1691}); 1692 1693return stack;})(stacks.stacks_in_832); 1694stacks.stacks_in_836 = {}; 1695stacks.stacks_in_836 = (function(stack) { 1696var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function() { 1697// 1698 // 1699 // 1700 // 1701 // 1702 $("select#input-stacks_in_836").on("change",function() { 1703 if($("#input-stacks_in_836")[0].value == "" && $(this).closest("step-hide").length == 0) { 1704 $("#input-stacks_in_836").addClass("hasError"); 1705 } else { 1706 $("#input-stacks_in_836").removeClass("hasError"); 1707 } 1708 }); 1709 $("#input-stacks_in_836[type='number']").on("change",function() { 1710 let val = parseFloat($("#input-stacks_in_836")[0].value), 1711 min = parseFloat($(this).attr('min')), 1712 max = parseFloat($(this).attr('max')); 1713 if((val == "" || (val < min || val > max)) && $(this).closest("step-hide").length == 0) { 1714 $(this).addClass("hasError"); 1715 } else { 1716 $(this).removeClass("hasError")[0]; 1717 $(this)[0].setCustomValidity(""); 1718 } 1719 }); 1720 $("#input-stacks_in_836:not([type='number']):not(select),#uploadFile-stacks_in_836").on("change",function() { 1721 if((!$("#input-stacks_in_836").val() || !$("#input-stacks_in_836:valid").length) && $(this).closest("step-hide").length == 0) { 1722 $("#input-stacks_in_836").addClass("hasError"); 1723 } else { 1724 $("#input-stacks_in_836").removeClass("hasError"); 1725 } 1726 }); 1727 $("#email-stacks_in_836").on("change",function() { 1728 if((($("#email-stacks_in_836").val().indexOf("@") == -1) || ($("#email-stacks_in_836").val().indexOf(".") == -1)) && $(this).closest("step-hide").length == 0) { 1729 $("#email-stacks_in_836").addClass("hasError"); 1730 } else { 1731 $("#email-stacks_in_836").removeClass("hasError"); 1732 } 1733 }); 1734 $("#checkbox-stacks_in_836").on("change",function() { 1735 if($("#checkbox-stacks_in_836").is(':checked')) { 1736 $("#checkbox-stacks_in_836").removeClass("hasError"); 1737 } else { 1738 $("#checkbox-stacks_in_836").addClass("hasError"); 1739 } 1740 if($(this).closest("step-hide").length > 0)$("#checkbox-stacks_in_836").removeClass("hasError"); 1741 }); 1742 $(`[type="radio"][name="Sender-Name"]`).attr("required","true") 1743 $(`input[type="radio"][name="Sender-Name"]`).on("change",function() { 1744 let radioName = this.getAttribute("name"), 1745 radios = document.querySelectorAll(`input[type="radio"][name="${radioName}"]`), 1746 isValid = false;
1747 for (r = 0; r < radios.length; r++) { 1748 if(radios[r].checked)isValid = true; 1749 } 1750 if(isValid || $(this).closest("step-hide").length > 0) { 1751 for (r = 0; r < radios.length; r++) { 1752 radios[r].classList.remove("hasError"); 1753 radios[r].removeAttribute("required"); 1754 radios[r].setCustomValidity(""); 1755 } 1756 } else { 1757 for (r = 0; r < radios.length; r++) { 1758 radios[r].classList.add("hasError"); 1759 } 1760 } 1761 }); 1762 // 1763 // 1764 // 1765 // 1766 // 1767 $("#stacks_in_836").parent().css({ 1768 "overflow" : "visible" 1769 }); 1770}); 1771 1772return stack;})(stacks.stacks_in_836); 1773stacks.stacks_in_838 = {}; 1774stacks.stacks_in_838 = (function(stack) { 1775var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function() { 1776// 1777 // 1778 // 1779 // 1780 // 1781 $("select#input-stacks_in_838").on("change",function() { 1782 if($("#input-stacks_in_838")[0].value == "" && $(this).closest("step-hide").length == 0) { 1783 $("#input-stacks_in_838").addClass("hasError"); 1784 } else { 1785 $("#input-stacks_in_838").removeClass("hasError"); 1786 } 1787 }); 1788 $("#input-stacks_in_838[type='number']").on("change",function() { 1789 let val = parseFloat($("#input-stacks_in_838")[0].value), 1790 min = parseFloat($(this).attr('min')), 1791 max = parseFloat($(this).attr('max')); 1792 if((val == "" || (val < min || val > max)) && $(this).closest("step-hide").length == 0) { 1793 $(this).addClass("hasError"); 1794 } else { 1795 $(this).removeClass("hasError")[0]; 1796 $(this)[0].setCustomValidity(""); 1797 } 1798 }); 1799 $("#input-stacks_in_838:not([type='number']):not(select),#uploadFile-stacks_in_838").on("change",function() { 1800 if((!$("#input-stacks_in_838").val() || !$("#input-stacks_in_838:valid").length) && $(this).closest("step-hide").length == 0) { 1801 $("#input-stacks_in_838").addClass("hasError"); 1802 } else { 1803 $("#input-stacks_in_838").removeClass("hasError"); 1804 } 1805 }); 1806 $("#email-stacks_in_838").on("change",function() { 1807 if((($("#email-stacks_in_838").val().indexOf("@") == -1) || ($("#email-stacks_in_838").val().indexOf(".") == -1)) && $(this).closest("step-hide").length == 0) { 1808 $("#email-stacks_in_838").addClass("hasError"); 1809 } else { 1810 $("#email-stacks_in_838").removeClass("hasError"); 1811 } 1812 }); 1813 $("#checkbox-stacks_in_838").on("change",function() { 1814 if($("#checkbox-stacks_in_838").is(':checked')) { 1815 $("#checkbox-stacks_in_838").removeClass("hasError"); 1816 } else { 1817 $("#checkbox-stacks_in_838").addClass("hasError"); 1818 } 1819 if($(this).closest("step-hide").length > 0)$("#checkbox-stacks_in_838").removeClass("hasError"); 1820 }); 1821 $(`[type="radio"][name="EMAIL"]`).attr("required","true") 1822 $(`input[type="radio"][name="EMAIL"]`).on("change",function() { 1823 let radioName = this.getAttribute("name"), 1824 radios = document.querySelectorAll(`input[type="radio"][name="${radioName}"]`), 1825 isValid = false; 1826 for (r = 0; r < radios.length; r++) { 1827 if(radios[r].checked)isValid = true; 1828 } 1829 if(isValid || $(this).closest("step-hide").length > 0) { 1830 for (r = 0; r < radios.length; r++) { 1831 radios[r].classList.remove("hasError"); 1832 radios[r].removeAttribute("required"); 1833 radios[r].setCustomValidity(""); 1834 } 1835 } else { 1836 for (r = 0; r < radios.length; r++) { 1837 radios[r].classList.add("hasError"); 1838 } 1839 } 1840 }); 1841 // 1842 // 1843 // 1844 // 1845 // 1846 $("#stacks_in_838").parent().css({ 1847 "overflow" : "visible" 1848 }); 1849}); 1850 1851return stack;})(stacks.stacks_in_838); 1852stacks.stacks_in_839 = {}; 1853stacks.stacks_in_839 = (function(stack) { 1854var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function() { 1855// 1856 // 1857 // 1858 // 1859 // 1860 // 1861 // 1862 $('#input-stacks_in_839').keypress(function(event) { 1863 // Ensure that it is a number and stop the keypress 1864 if (event.keyCode >= 48 && event.keyCode <= 57) { 1865 //Do nothing 1866 } else { 1867 event.preventDefault(); 1868 } 1869 }); 1870 // 1871 // 1872 // 1873 $("#stacks_in_839").parent().css({ 1874 "overflow" : "visible" 1875 }); 1876}); 1877 1878return stack;})(stacks.stacks_in_839); 1879stacks.stacks_in_840 = {}; 1880stacks.stacks_in_840 = (function(stack) { 1881var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function() { 1882// 1883 // 1884 // 1885 // 1886 // 1887 $("select#input-stacks_in_840").on("change",function() { 1888 if($("#input-stacks_in_840")[0].value == "" && $(this).closest("step-hide").length == 0) { 1889 $("#input-stacks_in_840").addClass("hasError"); 1890 } else { 1891 $("#input-stacks_in_840").removeClass("hasError"); 1892 } 1893 }); 1894 $("#input-stacks_in_840[type='number']").on("change",function() { 1895 let val = parseFloat($("#input-stacks_in_840")[0].value), 1896 min = parseFloat($(this).attr('min')), 1897 max = parseFloat($(this).attr('max')); 1898 if((val == "" || (val < min || val > max)) && $(this).closest("step-hide").length == 0) { 1899 $(this).addClass("hasError"); 1900 } else { 1901 $(this).removeClass("hasError")[0]; 1902 $(this)[0].setCustomValidity(""); 1903 } 1904 }); 1905 $("#input-stacks_in_840:not([type='number']):not(select),#uploadFile-stacks_in_840").on("change",function() { 1906 if((!$("#input-stacks_in_840").val() || !$("#input-stacks_in_840:valid").length) && $(this).closest("step-hide").length == 0) { 1907 $("#input-stacks_in_840").addClass("hasError"); 1908 } else { 1909 $("#input-stacks_in_840").removeClass("hasError"); 1910 } 1911 }); 1912 $("#email-stacks_in_840").on("change",function() { 1913 if((($("#email-stacks_in_840").val().indexOf("@") == -1) || ($("#email-stacks_in_840").val().indexOf(".") == -1)) && $(this).closest("step-hide").length == 0) { 1914 $("#email-stacks_in_840").addClass("hasError"); 1915 } else { 1916 $("#email-stacks_in_840").removeClass("hasError"); 1917 } 1918 }); 1919 $("#checkbox-stacks_in_840").on("change",function() { 1920 if($("#checkbox-stacks_in_840").is(':checked')) { 1921 $("#checkbox-stacks_in_840").removeClass("hasError"); 1922 } else { 1923 $("#checkbox-stacks_in_840").addClass("hasError"); 1924 } 1925 if($(this).closest("step-hide").length > 0)$("#checkbox-stacks_in_840").removeClass("hasError"); 1926 }); 1927 $(`[type="radio"][name="Email-Subject"]`).attr("required","true") 1928 $(`input[type="radio"][name="Email-Subject"]`).on("change",function() { 1929 let radioName = this.getAttribute("name"), 1930 radios = document.querySelectorAll(`input[type="radio"][name="${radioName}"]`), 1931 isValid = false;
1932 for (r = 0; r < radios.length; r++) { 1933 if(radios[r].checked)isValid = true; 1934 } 1935 if(isValid || $(this).closest("step-hide").length > 0) { 1936 for (r = 0; r < radios.length; r++) { 1937 radios[r].classList.remove("hasError"); 1938 radios[r].removeAttribute("required"); 1939 radios[r].setCustomValidity(""); 1940 } 1941 } else { 1942 for (r = 0; r < radios.length; r++) { 1943 radios[r].classList.add("hasError"); 1944 } 1945 } 1946 }); 1947 // 1948 // 1949 // 1950 // 1951 // 1952 $("#stacks_in_840").parent().css({ 1953 "overflow" : "visible" 1954 }); 1955}); 1956 1957return stack;})(stacks.stacks_in_840); 1958stacks.stacks_in_841 = {}; 1959stacks.stacks_in_841 = (function(stack) { 1960var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function() { 1961// 1962 // 1963 // 1964 // 1965 // 1966 $("select#input-stacks_in_841").on("change",function() { 1967 if($("#input-stacks_in_841")[0].value == "" && $(this).closest("step-hide").length == 0) { 1968 $("#input-stacks_in_841").addClass("hasError"); 1969 } else { 1970 $("#input-stacks_in_841").removeClass("hasError"); 1971 } 1972 }); 1973 $("#input-stacks_in_841[type='number']").on("change",function() { 1974 let val = parseFloat($("#input-stacks_in_841")[0].value), 1975 min = parseFloat($(this).attr('min')), 1976 max = parseFloat($(this).attr('max')); 1977 if((val == "" || (val < min || val > max)) && $(this).closest("step-hide").length == 0) { 1978 $(this).addClass("hasError"); 1979 } else { 1980 $(this).removeClass("hasError")[0]; 1981 $(this)[0].setCustomValidity(""); 1982 } 1983 }); 1984 $("#input-stacks_in_841:not([type='number']):not(select),#uploadFile-stacks_in_841").on("change",function() { 1985 if((!$("#input-stacks_in_841").val() || !$("#input-stacks_in_841:valid").length) && $(this).closest("step-hide").length == 0) { 1986 $("#input-stacks_in_841").addClass("hasError"); 1987 } else { 1988 $("#input-stacks_in_841").removeClass("hasError"); 1989 } 1990 }); 1991 $("#email-stacks_in_841").on("change",function() { 1992 if((($("#email-stacks_in_841").val().indexOf("@") == -1) || ($("#email-stacks_in_841").val().indexOf(".") == -1)) && $(this).closest("step-hide").length == 0) { 1993 $("#email-stacks_in_841").addClass("hasError"); 1994 } else { 1995 $("#email-stacks_in_841").removeClass("hasError"); 1996 } 1997 }); 1998 $("#checkbox-stacks_in_841").on("change",function() { 1999 if($("#checkbox-stacks_in_841").is(':checked')) { 2000 $("#checkbox-stacks_in_841").removeClass("hasError"); 2001 } else { 2002 $("#checkbox-stacks_in_841").addClass("hasError"); 2003 } 2004 if($(this).closest("step-hide").length > 0)$("#checkbox-stacks_in_841").removeClass("hasError"); 2005 }); 2006 $(`[type="radio"][name="Email-Message"]`).attr("required","true") 2007 $(`input[type="radio"][name="Email-Message"]`).on("change",function() { 2008 let radioName = this.getAttribute("name"), 2009 radios = document.querySelectorAll(`input[type="radio"][name="${radioName}"]`), 2010 isValid = false; 2011 for (r = 0; r < radios.length; r++) { 2012 if(radios[r].checked)isValid = true; 2013 } 2014 if(isValid || $(this).closest("step-hide").length > 0) { 2015 for (r = 0; r < radios.length; r++) { 2016 radios[r].classList.remove("hasError"); 2017 radios[r].removeAttribute("required"); 2018 radios[r].setCustomValidity(""); 2019 } 2020 } else { 2021 for (r = 0; r < radios.length; r++) { 2022 radios[r].classList.add("hasError"); 2023 } 2024 } 2025 }); 2026 // 2027 // 2028 // 2029 // 2030 // 2031 $("#stacks_in_841").parent().css({ 2032 "overflow" : "visible" 2033 }); 2034}); 2035 2036return stack;})(stacks.stacks_in_841); 2037stacks.stacks_in_842 = {}; 2038stacks.stacks_in_842 = (function(stack) { 2039var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function() { 2040// 2041 // 2042 // 2043 // 2044 $('#input-stacks_in_842').addClass("sf-step-hp") 2045 $('#submit-stacks_in_842').mousedown(function(e){ 2046 $('#input-stacks_in_842').removeAttr("required"); 2047 }); 2048 // 2049 // 2050 // 2051 // 2052 // 2053 // 2054 $("#stacks_in_842").parent().css({ 2055 "overflow" : "visible" 2056 }); 2057}); 2058 2059return stack;})(stacks.stacks_in_842); 2060stacks.stacks_in_690 = {}; 2061stacks.stacks_in_690 = (function(stack) { 2062var jQuery = stacks.jQuery;var $ = jQuery;// This javascript will be created for each instance of our stack 2063 2064$(document).ready(function() { 2065 2066 2067 // Helpers 2068 var url = window.location; 2069 var img = $('#imageWizardstacks_in_690 img').attr('src'); 2070 var alt = $('#imageWizardstacks_in_690 img').attr('alt'); 2071 2072 // Pinterest helper 2073 $("#socialButtonsstacks_in_690 .pinterestHelper").click(function(e){ 2074 e.preventDefault(); 2075 window.open('http://pinterest.com/pin/create/button/?url='+url+img+'&media='+url+img+'&description='+alt); 2076 }); 2077 2078}); 2079 2080return stack;})(stacks.stacks_in_690); 2081stacks.stacks_in_772 = {}; 2082stacks.stacks_in_772 = (function(stack) { 2083function scrollToTop(options){const defaults={text:'To Top',min:200,inDelay:600,outDelay:400,containerID:'toTop',scrollSpeed:1200,easingType:'linear',};const settings={...defaults,...options};const containerID=settings.containerID;const containerIDhash=`#${containerID}`;const easing={easeOutQuart:function(x,t,b,c,d){return-c*((t=t/d-1)*t*t*t-1)+b;},};const toTopButton=document.createElement('a');toTopButton.href='#';toTopButton.id=containerID;toTopButton.textContent=settings.text;toTopButton.style.display='none';document.body.appendChild(toTopButton);const scrollAnimation=(duration,easingFunction)=>{const start=document.documentElement.scrollTop||document.body.scrollTop;const startTime=performance.now();function animateScroll(currentTime){const elapsed=currentTime-startTime;const progress=Math.min(elapsed/duration,1);const scrollTo=easingFunction(0,elapsed,start,-start,duration);document.documentElement.scrollTop=document.body.scrollTop=scrollTo;if(elapsed<duration){requestAnimationFrame(animateScroll);}} 2084requestAnimationFrame(animateScroll);};toTopButton.addEventListener('click',(e)=>{e.preventDefault();scrollAnimation(settings.scrollSpeed,easing[settings.easingType]||easing.easeOutQuart);});window.addEventListener('scroll',()=>{const scrollTop=document.documentElement.scrollTop||document.body.scrollTop;if(scrollTop>settings.min){toTopButton.style.display='block';toTopButton.style.opacity=1;}
2084else{toTopButton.style.opacity=0;setTimeout(()=>{if(toTopButton.style.opacity==='0'){toTopButton.style.display='none';}},settings.outDelay);}});} 2085document.addEventListener('DOMContentLoaded',()=>{scrollToTop({easingType:'easeOutQuart',scrollSpeed:1200,min:200});}); 2086 2087return stack;})(stacks.stacks_in_772); 2088stacks.stacks_in_773 = {}; 2089stacks.stacks_in_773 = (function(stack) { 2090var jQuery = stacks.jQuery;var $ = jQuery;$(function(){var stack=$('#stacks_in_773');stack.find("script").remove();var selectors=['#sidebar','#sidebarContainer','#sidecontent','#SidebarContent','#sidebar_content','div.sidebar','div.sidebarContainer','#sidebarContentTop','#container div.aside','#container aside','.aside .section','aside.sidebarContent','aside'];for(var index=0,len=selectors.length;index<len;index++){var selector=$(selectors[index]);if(!selector.length>0)continue;stack.appendTo(selector);} 2091stack.css('visibility','visible');}); 2092 2093return stack;})(stacks.stacks_in_773); 2094stacks.stacks_in_897_302 = {}; 2095stacks.stacks_in_897_302 = (function(stack) { 2096var jQuery = stacks.jQuery;var $ = jQuery; 2097 2098return stack;})(stacks.stacks_in_897_302); 2099stacks.stacks_in_897_303 = {}; 2100stacks.stacks_in_897_303 = (function(stack) { 2101var jQuery = stacks.jQuery;var $ = jQuery; 2102$(function(){var stack=$('#stacks_in_897_303'),parent=$('#stacks_in_897_302'),ddWidth=('custom'!='mega'&&'custom'!='contained')?'auto':'custom',titletext='true'=='true'?'Reserve your Signature Rotisserie Duck':'',closeicon='false'=='true'?true:false,isModal='dropPop'=='modal'?true:false,ddWidth=isModal?'mega':ddWidth,hOffset=0,vOffset=0,isBP=parent.hasClass('com_bigwhiteduck_stacks_FoundationButtonPlus2_stack')?true:false,isPDBurger=parent.hasClass('com_bigwhiteduck_stacks_popdrop_switch_stack')?true:false,isExternal=parent.hasClass('com_bigwhiteduck_stacks_popdrop_stack')?true:false,trigger=isModal==true?'click':'hover',closeOnClick='False'=='True'?true:false,validTarget=false,isTipList=parent.hasClass('tip-list')?true:false,tipType=isTipList?'tiplist':'html',allowTipListTitles='true'=='true'&&isTipList?true:false,dropContent=isTipList?$('.popdrop-tip-data',parent):$('[data-pop-source="'+'stacks_in_897_303'+'"]'),shouldCache=true,containerEl='body'!=='body'?stack.closest($('body')):$('body');if(isBP){var dropTarget=$('>.b-p',parent).attr('id','drop_stacks_in_897_303');validTarget=true;} 2103if(isPDBurger){var dropTarget=$('>.pd-switch-wrap',parent).attr('id','drop_stacks_in_897_303');validTarget=true;} 2104if(isExternal){var launchAttr=$('.pop-drop',parent).attr('data-popdrop-launcher'),dropTarget=$('[data-pop-drop="'+launchAttr+'"]');if(dropTarget.length){validTarget=true;if(parent.hasClass('no-cache')||isTipList){shouldCache=false;}}else{if(isModal){parent.append('<div class="popdrop-target" data-pop-drop="'+launchAttr+'" style="display:none"></div>');dropTarget=$('.popdrop-target',parent);console.log('Pop Drop Modal: using internal link for 3rd party compatibility');validTarget=true;}else{console.log('Pop-drop -> Target: '+launchAttr+' not defined for Pop-drop #stacks_in_897_303');}}} 2105var initPopDrop=function(){var target=dropTarget.attr('data-pop-drop');dropTarget.attr('data-pop-drop','').attr('data-popdrop-linked',target);if(!isTipList)dropContent.insertAfter(parent);dropTarget.popDrop({uniqueID:'stacks_in_897_303',parent:parent,placement:'vertical',mobplacement:'vertical',mobBP:'640',bias:'left',container:$('body'),width:ddWidth,maxWidth:5000,height:'auto',trigger:trigger,closeOnClick:closeOnClick,style:'custom-style',modal:isModal,animation:'pop',delay:{show:null,hide:300},cache:shouldCache,multi:false,arrow:true,title:titletext,allowListTitles:allowTipListTitles,content:'',closeable:closeicon,direction:'',padding:true,type:tipType,url:dropContent,backdrop:false,dismissible:true,autoHide:false,offsetTop:vOffset,offsetLeft:hOffset,hidemob:false,template:'<div class="popdrop-popover">'+'<div class="popdrop-arrow"></div>'+'<div class="popdrop-popover-inner pop-stacks_in_897_303">'+'<a href="#" class="popdrop-close"></a>'+'<h3 class="popdrop-popover-title theme"></h3>'+'<div class="popdrop-popover-content"><i class="icon-refresh"></i> <p> </p></div>'+'</div>'+'</div>',});} 2106if(validTarget){initPopDrop();} 2107$(window).resize(function(){PopDropPopovers.hideAll();});$(".close-popdrop, .close-popdrops, [data-popdrop-close]").on("click",function(){PopDropPopovers.hideAll();});}); 2108 2109return stack;})(stacks.stacks_in_897_303); 2110stacks.stacks_in_897_109 = {}; 2111stacks.stacks_in_897_109 = (function(stack) { 2112var jQuery = stacks.jQuery;var $ = jQuery;$(window).load(function(){ 2113 $('#topBoxTriggerstacks_in_897_109').nivoLightbox({ 2114 effect: 'fade', 2115 theme: 'default', 2116 keyboardNav: true, 2117 clickImgToClose: true, 2118 clickOverlayToClose: true, 2119 onInit: function(){ 2120 2121 }, 2122 beforeShowLightbox: function(){ 2123 2124 }, 2125 afterShowLightbox: function(){ 2126 $('.nivo-lightbox-close').html('<i class="fa fa-times"></i>'); 2127 $('.nivo-lightbox-prev').html('<i class="fa fa-chevron-left"></i>'); 2128 $('.nivo-lightbox-next').html('<i class="fa fa-chevron-right"></i>'); 2129 2130 // Close a TopBox by clicking a custom close button 2131 $(".topBoxClose, .closeTopBox").click(function(){ 2132 $('.nivo-lightbox-close').trigger('click'); 2133 }); 2134 2135 2136 }, 2137 afterHideLightbox: function(){ 2138 2139 2140 2141 2142 2143 }, 2144 onPrev: function(element){ 2145 2146 }, 2147 onNext: function(element){ 2148 2149 }, 2150 errorMessage: 'The requested content cannot be loaded. Please try again later.' // Error message when content can't be loaded 2151 }); 2152 2153 2154 2155 // If auto open is enabled 2156 2157 2158 // Custom triggers 2159 $(".myTopBox_Map").click(function(event){ 2160 event.preventDefault(); 2161 $('#topBoxTriggerstacks_in_897_109').trigger('click'); 2162 }); 2163}); 2164return stack;})(stacks.stacks_in_897_109);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.