/*
 * jQuery Loader Plugin
 * @version: 0.6 (01/12/2009)
 * @requires jQuery v1.2.2 or later
 * @author : Rémi Goyard <rgoyard@sqli.com>
 *
 * Petit loader pour faire patienter l'utilisateur lors des appels ajax
 * utilisation : $.loader(); (tout par défaut)
 * $.loader(options) -> options = 
 *  {
 *		content: le contenu du loader (un element html) exemple : "<div>Chargement ...</div>",
 *		width:200, Largeur du loader 
 *		height:60 Hauteur du loader
 * 	    borderColor: la couleur de la bordure
 *      hideFlash:false // permet de cacher les balise embed lors de l'affichage du loader
 * }  
 * 
 * Pour Fermer le loader : $.loader("close");
 * 
 */
;(function($) {
	var img = new Image(16,16);
	img.src = "images/indicator.gif";
	$.loader = function(option){
		if (option == "close"){
			if($("#loaderSqli")){
				$("#loaderSqli, #BgLoaderSqli").remove();
				$("embed").each(function(){
					$(this).show();
				});
				
			}
		}else{
			var options = $.extend({
				content:"<div id='loader-sqli'><img src='images/indicator.gif' width='16' height='16' /><br /><span>Vos données sont en cours de traitement, merci de patienter...</span></div>",
				width:200,
				height:60,
				hideFlash:true
			}, option);
			
			//Get the screen height and width  
        	var maskHeight = $(document).height();  
        	var maskWidth = $(window).width();  
			// On cree le bacground + iframe)
			var bgDiv = $('<div id="BgLoaderSqli"/>');
			bgDiv.css({
				zIndex:29999,
				position:'absolute',
				top:'0px',
				left:'0px',
				width:maskWidth, 
				height:maskHeight,
				"background-color":"silver",
				opacity:"0.4"
				
			});
			if(options.hideFlash){
				$("embed").each(function(){
					$(this).hide();
				});
			}
			
			bgDiv.appendTo("body");
			bgDiv.bgiframe();
			var topDiv = (($(window).height()-options.height)/2)+$(window).scrollTop();
			var leftDiv = (($(window).width()-options.width)/2)+$(window).scrollLeft();
			// on cree le loader
			var div = $('<div id="loaderSqli"></div>');
			
			
			div.css({
				zIndex:30000,
				position:'absolute',
				top:topDiv+"px",
				left:leftDiv+"px",
				width:options.width+"px", 
				height:options.height+"px",
				opacity:"1",
				"text-align":"center",
				padding:"5px",
				fontWeight:"bolder",
				"background-color":"white"
			});
			
			div.appendTo('body');
			$(options.content).appendTo(div);
		}		
	};
})(jQuery);
