/**

* Hamburgers plugin helper.
*
* @author Htmlstream
* @version 1.0
* @requires hamburgers.min.css
*
*/

;(function($){

'use strict';

$.HSCore.helpers.HSHamburgers = {

        /**
         * Initialize 'hamburgers' plugin.
         * 
         * @param String selector
         *
         * @return undefined;
         */
        init: function(selector) {

                if( !selector || !$(selector).length ) return;

          var hamburgers = $(selector),
                        timeoutid;

          hamburgers.each(function(i, el){

                var $this = $(this);

                if($this.closest('button').length) {
                        $this.closest('button').get(0).addEventListener('click', function(e){

                                var $self = $(this),
                                                $hamburger = $self.find(selector);

                                if(timeoutid) clearTimeout(timeoutid);
                                timeoutid = setTimeout(function(){

                                        $hamburger.toggleClass('is-active');

                                }, 10);
                                e.preventDefault();
                        }, false);
                }
                else {
                        $this.get(0).addEventListener('click', function(e){

                                var $self = $(this);

                                if(timeoutid) clearTimeout(timeoutid);
                                timeoutid = setTimeout(function(){

                                        $self.toggleClass('is-active');

                                }, 10);
                                e.preventDefault();
                        }, false);
                }

          });

        }

};

})(jQuery);