(function(code){
	code(window.jQuery,window,document);
}(function($,window,document){

    // languages

    $('#mainFooter .widget_polylang').each(function(){
        var _this = $(this);

        _this.addClass('dropdown');
        _this.find('ul').addClass('dropdown-menu');
        _this.find('.lang-item').addClass('dropdown-item');

        var button = $('<button data-bs-toggle="dropdown"></button>');
        var img = _this.find('ul li.current-lang img').clone().appendTo(button);
        button.append(' <i class="fa-solid fa-angle-down ms-1"></i>');
        console.log(img[0]);
        _this.prepend(button);
    });
	
	if($('body').hasClass('single-coaches')){
		let notification = $('#customNotification').val();
		console.log(notification);

		if(notification != ''){
			$('[data-name="send_custom_notification"]').val(notification).attr('value',notification).change();
		}
	}

	$(document).on('click', '[href="#contactForm"]', function(){
		const contactForm = new bootstrap.Modal('#contactForm')
		contactForm.show();
	});

	$(document).on('click', '.toggle-categories', function(){
		var _this = $(this);
		_this.parent().toggleClass('hide-more');
		$('.hide-more-items').slideToggle();
	});
	console.log('what is happening')
	if($('body').hasClass('single-post')){
		var key = 0;
		console.log('it has');
		
		if($('.yoast-table-of-contents ul').length){
			console.log('exist');
			items = $('.yoast-table-of-contents ul').clone();
			items.find('a').addClass('dropdown-item');

			$('#tableOfContentsD ul').html(items.html());
		}else{
			console.log('fallback');

    $('.main-single-content h2').each(function(){
				var _this = $(this);
				var id = 'title'+key;
				_this.attr('id', id);

         var li = $('<li></li>').append('<a class="dropdown-item" href="#' + id + '">' + _this.text() + '</a>');
        var nestedUl = $('<ul class="nested-list"></ul>');
        
        var nextElement = _this.next();
        var elements = 0;
        
        while (nextElement.length && !nextElement.is('h2')) {
            if (nextElement.is('h3')) {
                var subId = 'subtitle' + key + '-' + nestedUl.children().length;
                nextElement.attr('id', subId);
                nestedUl.append('<li><a class="dropdown-item" href="#' + subId + '">' + nextElement.text() + '</a></li>');
                elements++;
            }
            nextElement = nextElement.next();
        }
        
        if (elements > 0) {
            li.append(nestedUl);
        }

        $('#tableOfContentsD>ul').append(li);

				key++;
			});
		}

		var parentDiv = $('.main-single-content')[0];
		var midBanner = document.getElementById("midBanner");
		var middleIndex = Math.floor(parentDiv.children.length / 2);
		var middleElement = parentDiv.children[middleIndex];

		parentDiv.insertBefore(midBanner, middleElement.nextSibling);

		$('.comments-form .comment-form-comment textarea, .comment-form-author input, .comment-form-email input, .comment-form-url input').addClass('form-control');
	}

	$(document).on('click', '.navbar-toggler', function(){
		$('body').toggleClass('menu-is-open');
	});

	dataBackground();

    var match = new bootstrap_equalizer();
		match.init();

    function dataBackground(){
		$('*[data-background]').each(function(){
			var element = $(this);
			var bgUrl = element.attr('data-background');
			element.css('background-image','url('+bgUrl+')');
			element.css('background-repeat','no-repeat');
			if(hasAttr(element,'data-background-repeat')){
				element.css('background-repeat',element.attr('data-background-repeat'));
			}
			if(hasAttr(element,'data-background-size')){
				element.css('background-size',element.attr('data-background-size'));
			}
			if(hasAttr(element,'data-background-attachment')){
				element.css('background-attachment',element.attr('data-background-attachment'));
			}
			if(hasAttr(element,'data-background-position')){
				element.css('background-position',element.attr('data-background-position'));
			}
		});
	}

	function bootstrap_equalizer(){
  this.init = function(){
    var $this = this;
    setTimeout(function(){
      $this.match();
    },300);

    $(window).resize(function(){ $this.match(); });

    $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
      $this.match();
    });
  }
  this.match = function(){
    $('[data-equalizer]').each(function(){
      var wrapper = $(this), maxHeight = new Array(), breakpoint, levels = new Array();

      if(wrapper.hasClass('equalizer-done')){wrapper.removeClass('equalizer-done');}

      switch(wrapper.attr('data-equalizer-mq')){
        case 'xs':
          breakpoint = 0;
          break;
        case 'sm':
          breakpoint = 767;
          break;
        case 'md':
          breakpoint = 991;
          break;
        case 'lg':
          breakpoint = 1023;
          break;
        default:
          breakpoint = 0;
          break;
      }

      wrapper.find('[data-equalizer-watch]').css('height','auto');

      if($(window).width() > breakpoint){

		  wrapper.find('[data-equalizer-watch]').each(function() {
			  var item = $(this)
			  var level = item.attr('data-equalizer-level');
			  if(level == null){
				  item.attr('data-equalizer-level',1)
			  }
		  });

        wrapper.find('[data-equalizer-watch]').each(function() {
          var item = $(this), level;

          if(hasAttr(item,'data-equalizer-level')){
            level = parseInt(item.attr('data-equalizer-level'));
			console.log(level);
            if(!(levels.includes(level))){
              levels.push(level);
            }
          }
        });
        if(levels.length == 0){
          levels.push(1);
          wrapper.find('[data-equalizer-watch]').attr('data-equalizer-level',1)
        }

        for(var i = 0; i< levels.length; i++) {
          maxHeight.push(0);
          wrapper.find('[data-equalizer-level="'+levels[i]+'"]').each(function() {
            var item = $(this);
            if(this.clientHeight > maxHeight[i]){
              maxHeight[i] = this.clientHeight;
            }
          });

          wrapper.find('[data-equalizer-level="'+levels[i]+'"]').each(function() {
            var item = $(this);
            item.css({'height':maxHeight[i], 'min-height':'fit-content'});
          });
        }
      }

      wrapper.addClass('equalizer-done');
    });
  }
}

$.fn.extend({
	hasClasses: function (selectors) {
			var self = this;
			for (var i in selectors) {
					if ($(self).hasClass(selectors[i]))
							return true;
			}
			return false;
	}
});

	//Helpers
	function hasAttr(element,attr){
		var hasattr = element.attr(attr);

		if (typeof hasattr !== typeof undefined && hasattr !== false) {
			return true;
		}else{
			return false;
		}
	}
}));
