(function( $ ){
	$.fn.extend({ 
		visitors: function(options){
			var defaults = {
				file: "visitors/online.php",
				loader: 'Loading…',
				updateTime: 2,
				track: "on"
			};
			var options = $.extend(defaults, options);
			return this.each(function(){
				obj = $(this);
				var updateTimeMilliSec = options.updateTime * 1000;
				obj.html("<span class=\"jquery_visitors_nr\">"+options.loader+"</span> ");
				function updateFunction(){
					$.post(options.file, { updateTime: options.updateTime, track: options.track }, function(data){
						$atm = $(".jquery_visitors_nr").html();
						if($atm != data){
							$(".jquery_visitors_nr").animate({ opacity: 0 }, 200, function(){
								$(this).html(data).animate({ opacity: 1 }, 200);
							});
						}
					});
				}
				if(options.updateTime == 0){
					updateFunction();
				}
				else {
					var update = setInterval(function(){
						updateFunction();
					}, updateTimeMilliSec);
				}
			});
		}
	});
})(jQuery);
