!function(r,o,i){var a={active:null,event:"click",disabled:[],collapsible:"accordion",startCollapsed:!1,rotate:!1,setHash:!1,animation:"default",animationQueue:!1,duration:500,fluidHeight:!0,scrollToAccordion:!1,scrollToAccordionOnLoad:!0,scrollToAccordionOffset:0,accordionTabElement:"<div></div>",navigationContainer:"",click:function(){},activate:function(){},deactivate:function(){},load:function(){},activateState:function(){},classes:{stateDefault:"r-tabs-state-default",stateActive:"r-tabs-state-active",stateDisabled:"r-tabs-state-disabled",stateExcluded:"r-tabs-state-excluded",container:"r-tabs",ul:"r-tabs-nav",tab:"r-tabs-tab",anchor:"r-tabs-anchor",panel:"r-tabs-panel",accordionTitle:"r-tabs-accordion-title"}};function e(t,s){this.element=t,this.$element=r(t),this.tabs=[],this.state="",this.rotateInterval=0,this.$queue=r({}),this.options=r.extend({},a,s),this.init()}e.prototype.init=function(){var e=this;this.tabs=this._loadElements(),this._loadClasses(),this._loadEvents(),r(o).on("resize",function(t){e._setState(t),!0!==e.options.fluidHeight&&e._equaliseHeights()}),r(o).on("hashchange",function(t){var s=e._getTabRefBySelector(o.location.hash),a=e._getTab(s);0<=s&&!a._ignoreHashChange&&!a.disabled&&e._openTab(t,e._getTab(s),!0)}),!1!==this.options.rotate&&this.startRotation(),!0!==this.options.fluidHeight&&e._equaliseHeights(),this.$element.bind("tabs-click",function(t,s){e.options.click.call(this,t,s)}),this.$element.bind("tabs-activate",function(t,s){e.options.activate.call(this,t,s)}),this.$element.bind("tabs-deactivate",function(t,s){e.options.deactivate.call(this,t,s)}),this.$element.bind("tabs-activate-state",function(t,s){e.options.activateState.call(this,t,s)}),this.$element.bind("tabs-load",function(t){var s;e._setState(t),!0===e.options.startCollapsed||"accordion"===e.options.startCollapsed&&"accordion"===e.state||(s=e._getStartTab(),e._openTab(t,s),e.options.load.call(this,t,s))}),this.$element.trigger("tabs-load")},e.prototype._loadElements=function(){var i=this,t=(""===i.options.navigationContainer?this.$element:this.$element.find(i.options.navigationContainer)).children("ul:first"),n=[],l=0;return this.$element.addClass(i.options.classes.container),t.addClass(i.options.classes.ul),r("li",t).each(function(){var t,s,a,e,o=r(this);o.hasClass(i.options.classes.stateExcluded)||(t=(e=r("a",o)).attr("href"),s=r(t),a=r(i.options.accordionTabElement).insertBefore(s),e=r("<a></a>").attr("href",t).html(e.html()).appendTo(a),o={_ignoreHashChange:!1,id:l,disabled:-1!==r.inArray(l,i.options.disabled),tab:r(this),anchor:r("a",o),panel:s,selector:t,accordionTab:a,accordionAnchor:e,active:!1},l++,n.push(o))}),n},e.prototype._loadClasses=function(){for(var t=0;t<this.tabs.length;t++)this.tabs[t].tab.addClass(this.options.classes.stateDefault).addClass(this.options.classes.tab),this.tabs[t].anchor.addClass(this.options.classes.anchor),this.tabs[t].panel.addClass(this.options.classes.stateDefault).addClass(this.options.classes.panel),this.tabs[t].accordionTab.addClass(this.options.classes.accordionTitle),this.tabs[t].accordionAnchor.addClass(this.options.classes.anchor),this.tabs[t].disabled&&(this.tabs[t].tab.removeClass(this.options.classes.stateDefault).addClass(this.options.classes.stateDisabled),this.tabs[t].accordionTab.removeClass(this.options.classes.stateDefault).addClass(this.options.classes.stateDisabled))},e.prototype._loadEvents=function(){function t(t){var s=e._getCurrentTab(),a=t.data.tab;t.preventDefault(),a.tab.trigger("tabs-click",a),a.disabled||(e.options.setHash&&(history.pushState?(o.location.origin||(o.location.origin=o.location.protocol+"//"+o.location.hostname+(o.location.port?":"+o.location.port:"")),history.pushState(null,null,o.location.origin+o.location.pathname+o.location.search+a.selector)):o.location.hash=a.selector),t.data.tab._ignoreHashChange=!0,s===a&&!e._isCollapisble())||(e._closeTab(t,s),s===a&&e._isCollapisble())||e._openTab(t,a,!1,!0)}for(var e=this,s=0;s<this.tabs.length;s++)this.tabs[s].anchor.on(e.options.event,{tab:e.tabs[s]},t),this.tabs[s].accordionAnchor.on(e.options.event,{tab:e.tabs[s]},t)},e.prototype._getStartTab=function(){var t=this._getTabRefBySelector(o.location.hash),t=0<=t&&!this._getTab(t).disabled?this._getTab(t):0<this.options.active&&!this._getTab(this.options.active).disabled?this._getTab(this.options.active):this._getTab(0);return t},e.prototype._setState=function(t){var s=r("ul:first",this.$element),a=this.state,e="string"==typeof this.options.startCollapsed;s.is(":visible")?this.state="tabs":this.state="accordion",this.state!==a&&(this.$element.trigger("tabs-activate-state",{oldState:a,newState:this.state}),a)&&e&&this.options.startCollapsed!==this.state&&this._getCurrentTab()===i&&(s=this._getStartTab(t),this._openTab(t,s))},e.prototype._openTab=function(s,a,t,e){var o,i=this;t&&this._closeTab(s,this._getCurrentTab()),e&&0<this.rotateInterval&&this.stopRotation(),a.active=!0,a.tab.removeClass(i.options.classes.stateDefault).addClass(i.options.classes.stateActive),a.accordionTab.removeClass(i.options.classes.stateDefault).addClass(i.options.classes.stateActive),i._doTransition(a.panel,i.options.animation,"open",function(){var t="tabs-load"!==s.type||i.options.scrollToAccordionOnLoad;a.panel.removeClass(i.options.classes.stateDefault).addClass(i.options.classes.stateActive),"accordion"!==i.getState()||!i.options.scrollToAccordion||i._isInView(a.accordionTab)&&"default"===i.options.animation||!t||(o=a.accordionTab.offset().top-i.options.scrollToAccordionOffset,"default"!==i.options.animation&&0<i.options.duration?r("html, body").animate({scrollTop:o},i.options.duration):r("html, body").scrollTop(o))}),this.$element.trigger("tabs-activate",a)},e.prototype._closeTab=function(t,s){var a=this,e="string"==typeof a.options.animationQueue;s!==i&&(e=e&&a.getState()===a.options.animationQueue||!e&&a.options.animationQueue,s.active=!1,s.tab.removeClass(a.options.classes.stateActive).addClass(a.options.classes.stateDefault),a._doTransition(s.panel,a.options.animation,"close",function(){s.accordionTab.removeClass(a.options.classes.stateActive).addClass(a.options.classes.stateDefault),s.panel.removeClass(a.options.classes.stateActive).addClass(a.options.classes.stateDefault)},!e),this.$element.trigger("tabs-deactivate",s))},e.prototype._doTransition=function(s,a,e,o,t){var i,n=this;switch(a){case"slide":i="open"===e?"slideDown":"slideUp";break;case"fade":i="open"===e?"fadeIn":"fadeOut";break;default:i="open"===e?"show":"hide",n.options.duration=0}this.$queue.queue("responsive-tabs",function(t){s[i]({duration:n.options.duration,complete:function(){o.call(s,a,e),t()}})}),"open"!==e&&!t||this.$queue.dequeue("responsive-tabs")},e.prototype._isCollapisble=function(){return"boolean"==typeof this.options.collapsible&&this.options.collapsible||"string"==typeof this.options.collapsible&&this.options.collapsible===this.getState()},e.prototype._getTab=function(t){return this.tabs[t]},e.prototype._getTabRefBySelector=function(t){for(var s=0;s<this.tabs.length;s++)if(this.tabs[s].selector===t)return s;return-1},e.prototype._getCurrentTab=function(){return this._getTab(this._getCurrentTabRef())},e.prototype._getNextTabRef=function(t){t=t||this._getCurrentTabRef(),t=t===this.tabs.length-1?0:t+1;return this._getTab(t).disabled?this._getNextTabRef(t):t},e.prototype._getPreviousTabRef=function(){return 0===this._getCurrentTabRef()?this.tabs.length-1:this._getCurrentTabRef()-1},e.prototype._getCurrentTabRef=function(){for(var t=0;t<this.tabs.length;t++)if(this.tabs[t].active)return t;return-1},e.prototype._equaliseHeights=function(){var s=0;r.each(r.map(this.tabs,function(t){return s=Math.max(s,t.panel.css("minHeight","").height()),t.panel}),function(){this.css("minHeight",s)})},e.prototype._isInView=function(t){var s=r(o).scrollTop(),a=s+r(o).height(),e=t.offset().top;return e+t.height()<=a&&s<=e},e.prototype.activate=function(t,s){var a=jQuery.Event("tabs-activate"),t=this._getTab(t);t.disabled||this._openTab(a,t,!0,s||!0)},e.prototype.deactivate=function(t){var s=jQuery.Event("tabs-dectivate"),t=this._getTab(t);t.disabled||this._closeTab(s,t)},e.prototype.enable=function(t){t=this._getTab(t);t&&(t.disabled=!1,t.tab.addClass(this.options.classes.stateDefault).removeClass(this.options.classes.stateDisabled),t.accordionTab.addClass(this.options.classes.stateDefault).removeClass(this.options.classes.stateDisabled))},e.prototype.disable=function(t){t=this._getTab(t);t&&(t.disabled=!0,t.tab.removeClass(this.options.classes.stateDefault).addClass(this.options.classes.stateDisabled),t.accordionTab.removeClass(this.options.classes.stateDefault).addClass(this.options.classes.stateDisabled))},e.prototype.getState=function(){return this.state},e.prototype.startRotation=function(t){var s=this;if(!(this.tabs.length>this.options.disabled.length))throw new Error("Rotation is not possible if all tabs are disabled");this.rotateInterval=setInterval(function(){var t=jQuery.Event("rotate");s._openTab(t,s._getTab(s._getNextTabRef()),!0)},t||(r.isNumeric(s.options.rotate)?s.options.rotate:4e3))},e.prototype.stopRotation=function(){o.clearInterval(this.rotateInterval),this.rotateInterval=0},e.prototype.option=function(t,s){return s&&(this.options[t]=s),this.options[t]},r.fn.responsiveTabs=function(t){var s,a=arguments;return t===i||"object"==typeof t?this.each(function(){r.data(this,"responsivetabs")||r.data(this,"responsivetabs",new e(this,t))}):"string"==typeof t&&"_"!==t[0]&&"init"!==t?(s=r.data(this[0],"responsivetabs"),"destroy"===t&&r.data(this,"responsivetabs",null),s instanceof e&&"function"==typeof s[t]?s[t].apply(s,Array.prototype.slice.call(a,1)):this):void 0}}(jQuery,window);