	jQuery.fn.mapper = function ( mapImage) {

		var $mapImage = jQuery(mapImage);
		var origImage = jQuery(mapImage).attr('src');

		return this.each( function(index) {
		
			jQuery(this)
			
				.mouseover( function (e) {
					var img =  jQuery(e.target).attr('img');
					if (img) $mapImage.attr('src', img);
				})
				
				.mouseout( function () { $mapImage.attr('src',origImage); } );
				
		});
	};
	
	(function ($) {
		$.fn.gmap = function ( src ) {

			if (!GBrowserIsCompatible()) return;
			
			var address = $(src).text();
			
			return this.each( function(index) {
				var map = new GMap2( this );
				map.addControl(new GSmallMapControl());
	   			var geocoder = new GClientGeocoder();   			 
	   			 
	   			geocoder.getLatLng(address,
		    	function(point) {
		      		if (!point) {
		       			jQuery("#gmap").hide();
		      		} else {
		        		map.setCenter(point, 13);
		        		var marker = new GMarker(point);
		        		map.addOverlay(marker);
		        		marker.openInfoWindowHtml(address);
		      		}
		    	});
			});	
			
		}

		$.fn.paging = function (options) {
			var defaults = {
				parent : document.body,
				prevText : " &laquo; edellinen ",
				nextText : " seuraava &raquo; "
			};
			options = $.extend(defaults, options);
			
			return this.each( function () {
				var $a = $(this).find('a');
				
				$(options.parent).html('');
				
				$a.each( function ( index ) {
				
					if (  document.location.href == this  )
					{
						if ($a.get(index-1)) $(options.parent).append('<a href="'+$a.get(index-1)+'" class="ed">'+options.prevText+'</a>');
						if ($a.get(index+1)) $(options.parent).append('<a href="'+$a.get(index+1)+'" class="seur">'+options.nextText+'</a>');
					}
				});
	  		});
		};

	 })(jQuery);

