/*
	Image Hover Enlarge v1.1.0
*/

;(function($){

	$.fn.awpImageHoverEnlarge = function(opts){

		var settings = {
			'offsetX'				: 10,
			'offsetY'				: 30,
			'horizontalPosition'	: 'right' // 'right' | 'left'
		};
		$.extend(settings, opts);

		return this.each(function() {

			// remove existing jic
			$("#image-hover-preview").remove();

			$(this)
				.unbind('hover')
				$(this).hover(
					function(e){
						var pos = {};
						this.t = this.title;
						this.title = "";	
						var c = (this.t != "") ? "<br />" + this.t : "";
						if (!($('#image-hover-preview').size() > 0)) {
							$('body')
								.append("<p id='image-hover-preview'><img src='"+ this.href +"' alt='Image preview' />"+ c +"</p>");
						}
						if (settings.horizontalPosition == 'left') {
							pos.top		= (e.pageY - settings.offsetY) + 'px';
							pos.left	= (e.pageX - $('#image-hover-preview').outerWidth() - settings.offsetX) + 'px';
							pos.bottom	= 'auto';
							pos.right	= 'auto';
						} else {
							pos.top		= (e.pageY - settings.offsetY) + 'px';
							pos.left	= (e.pageX + settings.offsetX) + 'px';
							pos.bottom	= 'auto';
							pos.right	= 'auto';
						}
						$("#image-hover-preview")
							.css({	'top'		: pos.top,
									'left'		: pos.left,
									'bottom'	: pos.bottom,
									'right'		: pos.right,
									'display'	: 'none',
									'position'	: 'absolute'})
							.fadeIn("fast");						
					},
					function(){
						this.title = this.t;	
						$("#image-hover-preview").remove();
					}
				);

			$(this)
				.unbind('mousemove')
				$(this).mousemove(function(e){
					var pos = {};
					if (settings.horizontalPosition == 'left') {
						pos.top		= (e.pageY - settings.offsetY) + 'px';
						pos.left	= (e.pageX - $('#image-hover-preview').outerWidth() - settings.offsetX) + 'px';
						pos.bottom	= 'auto';
						pos.right	= 'auto';
					} else {
						pos.top		= (e.pageY - settings.offsetY) + 'px';
						pos.left	= (e.pageX + settings.offsetX) + 'px';
						pos.bottom	= 'auto';
						pos.right	= 'auto';
					}
					$("#image-hover-preview")
						.css({	'top'		: pos.top,
								'left'		: pos.left,
								'bottom'	: pos.bottom,
								'right'		: pos.right
						});
				});

		}); // end this.each()

	}; // end $.fn

})(jQuery);

