(function($){

	// // plugin definition
	$.fn.loader = function(settings){

		var setting = {
			image: 'default'
			,message:'loading&hellip;'
			,startVisible:false
		}

		if(settings) jQuery.extend(setting, settings);
		
		var image = setting.image;
		var message = setting.message;
		var startVisible = setting.startVisible;
		
		var visibility = (!startVisible) ? ' style="display:none;"' : '';
		
		var imagetag = (image) ? 
			'<img class="loader_image" src="'+GBL.ROOTURL+'service.lib/js/3p/jquery/plugins/loader/1.0/img/loaders/'+image+'.gif" alt="progam activite" />' 
			: '<img class="loader_image" src="'+GBL.ROOTURL+'service.lib/js/3p/jquery/plugins/loader/1.0/img/loaders/none.gif" alt="progam activite" />';
	
		var loader = '<div class="loader_widget"'+visibility+'>\
			<table>\
				<tr>\
					<td class="tl"></td>\
					<td></td>\
					<td class="tr"><td>\
				</tr>\
				<tr>\
					<td></td>\
					<td>'+imagetag+'<span class="message"></span></td>\
					<td></td>\
				</tr>\
				<tr>\
					<td class="bl"></td>\
					<td></td>\
					<td class="br"><td>\
				</tr>\
			</table>\
		</div>';
  		
		//   debug(this); // call a private function

    	// iterate and attach loader to element
		return this.each(function(){
			$this = $(this);
			$this.prepend(loader);

  			jQuery('.loader_widget .message').html(message);

			// if(image){
			//  jQuery('.loader_widget .message').css({'background-image':'url('+GBL.ROOTURL+'js/jquery/plug/loader/1.0/img/loaders/'+image+'.gif)'});				
			// }else{
			// 	jQuery('.loader_widget .message').css({'background-image':'none'});
			// }

		});
	};

  // // private function definition
  // function debug($obj){
  //   if (window.console && window.console.log)
  //     window.console.log('hilight selection count: ' + $obj.size());
  // };


  // define and expose the set function allowing "on the fly" reset of laoder vars 
  $.fn.loader.set = function(settings){
			
	var setting = {
		image: 'default'
		,message:'loading&hellip;'
		,startVisible:false
	};

	if(settings) jQuery.extend(setting, settings);

	var image = setting.image;
	var message = setting.message;

	jQuery('.loader_widget .message').html(message);

	if(image){
		jQuery('.loader_widget .loader_image').attr({'src':GBL.ROOTURL+'service.lib/js/3p/jquery/plugins/loader/1.0/img/loaders/'+image+'.gif'});				
	}else{
		jQuery('.loader_widget .loader_image').attr({'src':GBL.ROOTURL+'service.lib/js/3p/jquery/plugins/loader/1.0/img/loaders/none.gif'});
	}

	
	};

	$.fn.loader.show = function(){
		jQuery('.loader_widget').fadeIn('fast');
	};

	$.fn.loader.hide = function(){
		jQuery('.loader_widget').fadeOut('slow');
	};

})(jQuery);

// comment out to stop auto initialization
jQuery(document).ready(function() {
	jQuery('body').loader(); // initialize a loader
});

