// Page Builder JavaScript

    //
    var messagewait = false;

	$(document).ready(function() {
        "use strict";
        
        // Hide site messages
		$(document).on("click","#site-messages .close-msg",function() {

			var msgId = $(this).closest(".error-message").attr("id");
			hide_site_message(msgId);
		});
        
        // Uikit accordian links
        $('.uk-nav .uk-parent > a > span, .uk-accordion .uk-accordion-title > span').on('click touchend',function(event) {
            
            // Get href
            var href = $(this).parent().attr('href');
            
            //
            if(href != '' && href != '#') {
                //
                event.stopImmediatePropagation();
                window.location = href;
            }
        });
        
        // Message dismiss
		$('.messages .message-item .dismiss-message').on('click',function() {
            
            //
            var messageId = $(this).closest('.message-item').data('message-ref');
			
			// Run ajax call
			$.ajax({
				type: "GET",
				url: rootRelativity+'edit/template.ajax.php',
				dataType: "jsonp",
				jsonp: "callback",
				timeout: 5000,
				data: {
					type: 'dismiss-message',
                    id: messageId,
					rootrelativity: rootRelativity,
                    variantrelativity: variantRelativity
				},
				success: function(data) {
                    
					// If data
					$('.message-item[data-message-ref="'+messageId+'"]').addClass('dismissed');
                    $('.message-item[data-message-ref="'+messageId+'"]').animate({
                        height: "0px",
                    }, 200);
				},
				error: function(request, status, error) {
					//
					alert(request.responseText);
				}
			});
		});
        
        // Privacy policy accept click
		$('.privacy-policy-popup .page-block-wrap > a').on('click',function() {
			
			// Run ajax call
			$.ajax({
				type: "GET",
				url: rootRelativity+'edit/template.ajax.php',
				dataType: "jsonp",
				jsonp: "callback",
				timeout: 5000,
				data: {
					type: 'privacy-policy-accept',
					rootrelativity: rootRelativity,
                    variantrelativity: variantRelativity
				},
				success: function(data) {
                    
					// If data
					$('.privacy-policy-popup').addClass('accepted');
				},
				error: function(request, status, error) {
					//
					//alert(request.responseText);
				}
			});
		});
        
        // Form submissions
        $('.form').on('submit','form',function() {
            
            //
            var $submit = $(this).find('.form-submit');
            
            //
            $submit.addClass("disabled");
            
            // Disable button
            setTimeout(function() {
                //
                $submit.find('input, button').attr('disabled','disabled');
            },500);
            
            // Re-enable
            setTimeout(function() {
                //
                $submit.removeClass('disabled');
                $submit.find('input, button').attr('disabled',false);
            },20000);
        });
    });

    window.onload = function() {
        "use strict";
        
        // Add loaded class to all images (fallback)
        setTimeout(function() {
            //
            $('img').addClass('loaded');
        },300);
    }

    UIkit.util.on(document, 'load', 'img', function(event) {
        if(!event.target.currentSrc.startsWith('data:')) {
            event.target.classList.add('loaded');
        }
    },true);

    // Hide website message
	function hide_site_message(msgId) {
		"use strict";
		
		// hide message
		$("#"+msgId).slideUp(400,"easeInBack");
		
		var hideString = "hideid="+msgId;
		$.ajax({  
			type: "POST",  
			url: rootRelativity+"edit/core/functions/messaging.inc.php?remove-message=1",  
			data: hideString,  
			success: function(data) { 
				if(data) {
					//alert(data);
				}
			} 
		});
	}
	
	// Update website message
	function update_messages() {
		"use strict";
	}
	
    function hide_messages() {
        "use strict";

        // hide message
        $("#site-messages").slideUp(400);//,"easeInBack"

        clearInterval(messagewait);
    }