/**
 * Przestrzeń nazwa dla AJAX-a
 * @namespace
 */
Pycho.AJAX = {
	/**
	 * Szyba blokująca działania użytkownika gdy wykonywane jest żądanie AJAX
	 * @class
	 */
	loader: {
		/** Szyba - przyciemniony div przykrywający cały ekran */
		overlayElem: $('<div class="ui-widget-overlay"></div>'),
		/** Graficzka pokazująca proces ładowania */
		loaderElem: $('<div class="pycho-ajax-loader"></div>'),
		/** Wyświetlenie loaderka */
		show: function() {
			this.loaderElem.center();
			$('body').append(this.overlayElem).append(this.loaderElem);
			this.overlayElem.height($(document).height()).css({
				'opacity':0.4,
				'position':'absolute',
				'top':0,
				'left':0,
				'background-color':'black',
				'width':'100%',
				'z-index':1000
			});
		},
		/** Schowanie loaderka */
		hide: function() {
			this.overlayElem.remove();
			this.loaderElem.remove();
		}
	}
};

/**
 * Możliwość wyłączenia AJAX loadera
 * @static
 */
Pycho.AJAX.loaderActive = true;

/**
 * Wyświetlanie loaderka w momencie startu AJAX-a i wyłaczenie gdy AJAX wykona się poprawnie
 */
$(document).ready(function() {
	$('body').ajaxStart(function() {
		if(Pycho.AJAX.loaderActive) {
			Pycho.AJAX.loader.show();
		}
	});
	$('body').ajaxSuccess(function() {
		if(Pycho.AJAX.loaderActive) {
			Pycho.AJAX.loader.hide();
		}
	});
});
