(function($) { 
	jQuery.fn.activateMap = function(options){
		var defaults = {
		};

		options = $.extend(defaults, options);
		
		return $(this).each(function() 
		{
			var cont = $(this);
			var map = $('.map', cont);
			var results = $('.results', cont);
			var back_to_map = $('.back_to_map', results);
			var regions = $('button', map);
			var form = $('form', cont);
			var region = $("<input type='hidden' name='region' value=''/>").appendTo(form);
			var loader = $("<img id='area_map_loader' src='/assets/css/images/ajax-loader.gif' />").css({ position:'absolute'}).hide().appendTo(map);
			
			loader.load(function(){		$(this).css({ top:(map.height()-$(this).height())/2 + 'px', left:(map.width()-$(this).width())/2 +'px' })	});
			regions.click(getByRegion);
			back_to_map.click(hideResults);
			form.submit(getProviders);
			
			function getByRegion(e)
			{
				var r = this.id.substr(this.id.indexOf('_')+1);
				region.val(r);
			}
			function getProviders(e)
			{
				e.preventDefault();
				loader.show();
				$.ajax({
					type: this.method,
					url: this.action,
					data: $(this).serialize(),
					success: showResults
				});
			}
			function hideResults(e) {
				e.preventDefault();
				results.fadeOut('fast');
			}
			function showResults(data) {
				region.val('');
				loader.hide();
				$('.res', results).html(data);
				results.fadeIn('fast');
			}
		});
	};
})(jQuery);
