
      jQuery(document).ready(function() {
         // CUSTOM AJAX CONTENT LOADING FUNCTION
         var ajaxRevslider = function(obj) {

            // obj.type : Post Type
            // obj.id : ID of Content to Load
            // obj.aspectratio : The Aspect Ratio of the Container / Media
            // obj.selector : The Container Selector where the Content of Ajax will be injected. It is done via the Essential Grid on Return of Content

            var content = "";

            data = {};

            data.action = 'revslider_ajax_call_front';
            data.client_action = 'get_slider_html';
            data.token = '4424738118';
            data.type = obj.type;
            data.id = obj.id;
            data.aspectratio = obj.aspectratio;

            // SYNC AJAX REQUEST
            jQuery.ajax({
               type: "post",
               url: "",
               dataType: 'json',
               data: data,
               async: false,
               success: function(ret, textStatus, XMLHttpRequest) {
                  if (ret.success == true)
                     content = ret.data;
               },
               error: function(e) {
                  console.log(e);
               }
            });

            // FIRST RETURN THE CONTENT WHEN IT IS LOADED !!
            return content;
         };

         // CUSTOM AJAX FUNCTION TO REMOVE THE SLIDER
         var ajaxRemoveRevslider = function(obj) {
            return jQuery(obj.selector + " .rev_slider").revkill();
         };

         // EXTEND THE AJAX CONTENT LOADING TYPES WITH TYPE AND FUNCTION
         var extendessential = setInterval(function() {
            if (jQuery.fn.tpessential != undefined) {
               clearInterval(extendessential);
               if (typeof(jQuery.fn.tpessential.defaults) !== 'undefined') {
                  jQuery.fn.tpessential.defaults.ajaxTypes.push({
                     type: "revslider",
                     func: ajaxRevslider,
                     killfunc: ajaxRemoveRevslider,
                     openAnimationSpeed: 0.3
                  });
                  // type:  Name of the Post to load via Ajax into the Essential Grid Ajax Container
                  // func: the Function Name which is Called once the Item with the Post Type has been clicked
                  // killfunc: function to kill in case the Ajax Window going to be removed (before Remove function !
                  // openAnimationSpeed: how quick the Ajax Content window should be animated (default is 0.3)
               }
            }
         }, 30);
      });
   