
(function($){$.fn.Zoomer=function(b){
	
	var c=$.extend({
		 speedView:200
		,speedRemove:400
		,altAnim:false
		,speedTitle:400,debug:false
		,resizeTo:1.3
		},b);
		
	var d=$.extend(c,b);

	this.each(function(index, el){
		
		
		var img = $(el).find('img');
		
		
		var img_height = Math.ceil(img.height() / d.resizeTo);
		var im_width = Math.ceil(img.width() / d.resizeTo);
		
		img.height(img_height);
		img.width(im_width);
		
		$(el).data('dimensions',{
		 	 height: img_height
			,width: im_width		
		});	
		
	});
	
	
	
	function e(s){
		
		if(typeof console!="undefined"&&typeof console.debug!="undefined"){
			console.log(s)
		}else{
			alert(s)
		}
	}
	
	if(d.speedView==undefined||d.speedRemove==undefined||d.altAnim==undefined||d.speedTitle==undefined){
		
		e('speedView: '+d.speedView);e('speedRemove: '+d.speedRemove);
		e('altAnim: '+d.altAnim);e('speedTitle: '+d.speedTitle);
		return false
	}
	
	if(d.debug==undefined){
		e('speedView: '+d.speedView);
		e('speedRemove: '+d.speedRemove);
		e('altAnim: '+d.altAnim);
		e('speedTitle: '+d.speedTitle);
		return false
	}
	
	if(typeof d.speedView!="undefined"||typeof d.speedRemove!="undefined"||typeof d.altAnim!="undefined"||typeof d.speedTitle!="undefined"){
		if(d.debug==true){
			e('speedView: '+d.speedView);
			e('speedRemove: '+d.speedRemove);
			e('altAnim: '+d.altAnim);
			e('speedTitle: '+d.speedTitle)
		}
		
		$(this).hover(function(){
			
			$(this).css({'z-index':'1000'});
			
			var img = $(this).find('img');
			
			var dim = $(this).data('dimensions');
			
			var margin_top = ((dim.height * d.resizeTo) - dim.height) / 2;
			var margin_left = ((dim.width * d.resizeTo) - dim.width) / 2;
			var new_width = dim.width * d.resizeTo;
			var new_height = dim.height * d.resizeTo;
			
			//console.log(dim);
					
			img.addClass("hover").stop().animate({
					 marginTop:'-' + margin_top +'px'
					,marginLeft:'-' + margin_left + 'px'
					//,top:'50%'
					//,left:'50%'
					,width: new_width + 'px'
					,height:new_height + 'px'
					//,padding:'20px'
				},d.speedView);
			
			if(d.altAnim==true){
				var a=$(this).find("img").attr("alt");
				
				if(a.length!=0){
					$(this).prepend('<span class="title">'+a+'</span>');
					$('.title').animate({marginLeft:'-42px',marginTop:'90px'},d.speedTitle).css({'z-index':'10','position':'absolute','float':'left'})
				}
			}
		},function(){
			
			$(this).css({'z-index':'0'});
			
			var dim = $(this).data('dimensions');
					
			$(this).find('img').removeClass("hover").stop().animate({
						 marginTop:'0'
						,marginLeft:'0'
						//,top:'0'
						//,left:'0'
						,width: dim.width + 'px'
						,height:dim.height + 'px'
						//,padding:'5px'
					},d.speedRemove);
						
			$(this).find('.title').remove();
		})
	}
}
})(jQuery);
