	(function($){
	
		$.fn.ZoomImage = function( options )
		{
		
		  var settings = {
		  
			'scalex': '1.0',
			'scaley': '1.0',
			'duration': '1000',
			'inverse': 'false'
		  
		  }
		
		  return this.each(function()
		  {
		  
		    if ( options )
			{
			
			  $.extend( settings, options );
			
			}
		  
			if ( settings.inverse == 'false' )
			{
		  
				startWidth=$(this).attr('width');
				startHeight=$(this).attr('height');
			  
				zoomWidth=startWidth*settings.scalex;
				zoomHeight=startHeight*settings.scaley;
				
				startTop=0;
				startLeft=0;
				zoomTop=-(zoomHeight-startHeight)/2;
				zoomLeft=-(zoomWidth-startWidth)/2;
		  
				$(this).parent().wrap('<div style="position: relative; width: ' + startWidth + 'px; height: ' + startHeight + 'px; overflow: hidden" />');		  
		  
			}
			else
			{
			
				zoomWidth=$(this).attr('width');
				zoomHeight=$(this).attr('height');
			  
				startWidth=zoomWidth*settings.scalex;
				startHeight=zoomHeight*settings.scaley;
				
				zoomTop=0;
				zoomLeft=0;
				startTop=-(startHeight-zoomHeight)/2;
				startLeft=-(startWidth-zoomWidth)/2;			
				
				$(this).parent().wrap('<div style="position: relative; width: ' + zoomWidth + 'px; height: ' + zoomHeight + 'px; overflow: hidden" />');
			}
		  
			//alert( $(this).parent().type );
		  
			$(this).css({'position': 'absolute', 'top': startTop, 'left': startLeft, 'width': startWidth, 'height': startHeight });
			$(this).hover(
				function()
				{
				
				  $(this).stop().animate( { width: zoomWidth, 
										height: zoomHeight, 
										top: zoomTop, 
										left: zoomLeft }, settings.duration );
				
				},
				function()
				{
					$(this).stop().animate( { width: startWidth, 
													height: startHeight, 
													top: startTop, 
													left: startLeft }, settings.duration );		
			});
		  
		  });
		
		}
	
	})(jQuery);
