(function(a){a.DropdownAriva=function(c,b){this.namespace="dropdownariva";this.defaults={target:null,toggleEvent:"click",height:false,width:false,animationOpen:"slideDown",animationClose:"slideUp",caretUp:false,callbacks:["open","opened","close","closed"]};a.apply(this,arguments);this.utils=new a.Utils();this.detect=new a.Detect();this.start()};a.DropdownAriva.prototype={start:function(){this.buildClose();this.buildCaret();if(this.detect.isMobile()){this.buildMobileAnimation()}this.$target.addClass("hide");this.$element.on(this.opts.toggleEvent+"."+this.namespace,$.proxy(this.toggle,this))},stop:function(){this.$element.off("."+this.namespace);this.$target.removeClass("open").addClass("hide");this.disableEvents()},buildMobileAnimation:function(){this.opts.animationOpen="fadeIn";this.opts.animationClose="fadeOut"},buildClose:function(){this.$close=this.$target.find(".close")},buildCaret:function(){this.$caret=this.getCaret();this.buildCaretPosition()},buildCaretPosition:function(){var b=this.$element.offset().top+this.$element.innerHeight()+this.$target.innerHeight();if($(document).height()>b){return}this.opts.caretUp=true;this.$caret.addClass("up")},getCaret:function(){return this.$element.find(".caret")},toggleCaretOpen:function(){if(this.opts.caretUp){this.$caret.removeClass("up").addClass("down")}else{this.$caret.removeClass("down").addClass("up")}},toggleCaretClose:function(){if(this.opts.caretUp){this.$caret.removeClass("down").addClass("up")}else{this.$caret.removeClass("up").addClass("down")}},toggle:function(b){if(this.isOpened()){this.close(b)}else{this.open(b)}},open:function(b){if(b){b.preventDefault()}this.callback("open");$(".dropdownariva").removeClass("open").addClass("hide");if(this.opts.height){this.$target.css("min-height",this.opts.height+"px")}if(this.opts.width){this.$target.width(this.opts.width)}this.setPosition();this.toggleCaretOpen();this.$target.animation(this.opts.animationOpen,$.proxy(this.onOpened,this))},close:function(b){if(!this.isOpened()){return}if(b){if(this.shouldNotBeClosed(b.target)){return}b.preventDefault()}this.utils.enableBodyScroll();this.callback("close");this.toggleCaretClose();this.$target.animation(this.opts.animationClose,$.proxy(this.onClosed,this))},onClosed:function(){this.$target.removeClass("open");this.disableEvents();this.callback("closed")},onOpened:function(){this.$target.addClass("open");this.enableEvents();this.callback("opened")},isOpened:function(){return(this.$target.hasClass("open"))},enableEvents:function(){if(this.detect.isDesktop()&&!this.isArivabutton()){this.$target.on("mouseover."+this.namespace,$.proxy(this.utils.disableBodyScroll,this.utils)).on("mouseout."+this.namespace,$.proxy(this.utils.enableBodyScroll,this.utils))}$(document).on("scroll."+this.namespace,$.proxy(this.setPosition,this));$(window).on("resize."+this.namespace,$.proxy(this.setPosition,this));$(document).on("click."+this.namespace+" touchstart."+this.namespace,$.proxy(this.close,this));$(document).on("keydown."+this.namespace,$.proxy(this.handleKeyboard,this));this.$target.find('[data-action="dropdownariva-close"]').on("click."+this.namespace,$.proxy(this.close,this))},disableEvents:function(){this.$target.off("."+this.namespace);$(document).off("."+this.namespace);$(window).off("."+this.namespace)},handleKeyboard:function(b){if(b.which===27||b.keyCode===27){this.close(b)}},shouldNotBeClosed:function(b){if($(b).attr("data-action")==="dropdownariva-close"||b===this.$close[0]){return false}else{if($(b).closest(".dropdownariva").length===0){return false}}return true},isNavigationFixed:function(){return(this.$element.closest(".fixed").length!==0)},isArivabutton:function(){var b=this.$element.attr("class");return(b.indexOf("arivaDropdownButton")!=-1)},getPlacement:function(b){return($(document).height()