/* ------------------------------------------------------------------------ Class: prettyLoader Use: A unified solution for AJAX loader Author: Stephane Caron (http://www.no-margin-for-errors.com) Version: 1.0.1 ------------------------------------------------------------------------- */ (function($) { $.prettyLoader = {version: '1.0.1'}; $.prettyLoader = function(settings) { settings = jQuery.extend({ animation_speed: 'fast', /* fast/normal/slow/integer */ bind_to_ajax: true, /* true/false */ delay: false, /* false OR time in milliseconds (ms) */ loader: '/images/prettyLoader/ajax-loader.gif', /* Path to your loader gif */ offset_top: 13, /* integer */ offset_left: 10 /* integer */ }, settings); scrollPos = _getScroll(); imgLoader = new Image(); imgLoader.onerror = function(){ //alert('Preloader image cannot be loaded. Make sure the path is correct in the settings and that the image is reachable.'); }; imgLoader.src = settings.loader; if(settings.bind_to_ajax) jQuery(document).ajaxStart(function(){ $.prettyLoader.show() }).ajaxStop(function(){ $.prettyLoader.hide() }); $.prettyLoader.positionLoader = function(e){ e = e ? e : window.event; // Set the cursor pos only if the even is returned by the browser. cur_x = (e.clientX) ? e.clientX : cur_x; cur_y = (e.clientY) ? e.clientY : cur_y; left_pos = cur_x + settings.offset_left + scrollPos['scrollLeft']; top_pos = cur_y + settings.offset_top + scrollPos['scrollTop']; $('.prettyLoader').css({ 'top':top_pos, 'left':left_pos }); } $.prettyLoader.show = function(delay){ if($('.prettyLoader').size() > 0) return; // Get the scroll position scrollPos = _getScroll(); // Build the loader container $('
') .addClass('prettyLoader') .addClass('prettyLoader_'+ settings.theme) .appendTo('body') .hide(); // No png for IE6...sadly :( if($.browser.msie && $.browser.version == 6) $('.prettyLoader').addClass('pl_ie6'); // Build the loader image $('