/**
 *  jquery.popupt
 *  (c) 2008 Semooh (http://semooh.jp/)
 *
 *  Dual licensed under the MIT (MIT-LICENSE.txt)
 *  and GPL (GPL-LICENSE.txt) licenses.
 *
 **/
(function($){
	$.fn.extend({
		imghover: function(opt){
			return this.each(function() {
				opt = $.extend({
					prefix: '',
					suffix: '_o',
					src: '',
					btnOnly: true,
					fade: false,
					fadeSpeed: 500
				  }, opt || {});

				var node = $(this);
				if(!node.is('img')&&!node.is(':image')){
					var sel = 'img,:image';
					if (opt.btnOnly) sel = 'a '+sel;
					node.find(sel).imghover(opt);
					return;
				}

				var orgImg = node.attr('src');

				var hoverImg;
				if(opt.src){
				  hoverImg = opt.src;
				}else{
				  hoverImg = orgImg;
				  if(opt.prefix){
					var pos = hoverImg.lastIndexOf('/');
					if(pos>0){
					  hoverImg = hoverImg.substr(0,pos-1)+opt.prefix+hoverImg.substr(pos-1);
					}else{
					  hoverImg = opt.prefix+hoverImg;
					}
				  }
				  if(opt.suffix){
					var pos = hoverImg.lastIndexOf('.');
					if(pos>0){
					  hoverImg = hoverImg.substr(0,pos)+opt.suffix+hoverImg.substr(pos);
					}else{
					  hoverImg = hoverImg+opt.suffix;
					}
				  }
				}

				if(opt.fade){
				  var offset = node.offset();
				  var hover = node.clone(true);
				  hover.attr('src', hoverImg);
				  hover.css({
					position: 'absolute',
					left: offset.left,
					top: offset.top,
					zIndex: 1000
				  }).hide().insertAfter(node);
				  node.mouseover(
					function(){
					  var offset=node.offset();
					  hover.css({left: offset.left, top: offset.top});
					  hover.fadeIn(opt.fadeSpeed);
					  node.fadeOut(opt.fadeSpeed,function(){node.show()});
					}
				  );
				  hover.mouseout(
					function(){
					  node.fadeIn(opt.fadeSpeed);
					  hover.fadeOut(opt.fadeSpeed);
					}
				  );
				}else{
					node.hover(
						function(){node.attr('src', hoverImg)},
						function(){node.attr('src', orgImg)}
					);
				}

				// preload the hover image - added 30/11/09 - by KP
				$("<img>").attr("src", hoverImg);

			});
		}
	});
})(jQuery);

