(function(window, $, undefined) {

  $(document).ready(function() {

    var $glossaryToggle = $('#header .glossary a'),
        $content = $('#main'),
        $landing = $('body').attr('class'),
        activeClass = 'active',
        dialogClass = 'glossary-popup',
        cookieName = 'glossary';

    if (category !== 'common' && category !== '' && category && $landing !== 'landing') {

      $glossaryToggle.removeClass('no-glossary');

      $content.glossaryHighlighter({
        path : sitePath+category+'/.glossary.json?terms=/sites/iac/main/'+category+'/lib/glossaryTerms',
        initialState : (biooncIAC.helpers.getCookie(cookieName) || "off"),

        onGlossaryChange: function(changedTo) {

          console.info('changed');

          biooncIAC.helpers.setCookie(cookieName, changedTo, 365, '/');

          if (changedTo === "on") {
            $glossaryToggle.addClass(activeClass);
          } else {
            $glossaryToggle.removeClass(activeClass);
          }
        },

        dialogs: {
          init: function(obj) {

            var $popup = $('<div />', {
              id: obj.id,
              html: '<h3>' + obj.name + '</h3><a class="jqmClose">Close</a><p>' + obj.definition + '</p>',
              rel: obj.variants
            }).addClass('jqmWindow '+dialogClass);

            $('body').append($popup);

            $popup.jqm({
              trigger: '.' + obj.id,
              overlay: 0
            });
          },
          click: function($el, idClass) {
            var classList = $el.attr('class').split(/\s+/),
                targetClass = "";

            var i = classList.length;
            while (i--) {
              if (classList[i].indexOf(idClass) !== -1) {
                targetClass = classList[i];
                break;
              }
            }
            this.closeAll();
            $('#' + targetClass).jqmShow();
          },
          closeAll: function() {
            $('.'+dialogClass).jqmHide();
          }
        }
      });

      $glossaryToggle.click(function() {

        $glossaryToggle.addClass(activeClass);
        $(this).find('.slide').addClass('slider-animation').delay(2000).queue(function(next){
            $(this).removeClass('slider-animation');
            next();
        });
        $content.glossaryHighlighter('toggle');
        return false;
      });

    }

  });

})(window, jQuery);
