/**
 *  jquery.popupt
 *  (c) 2008 Semooh (http://semooh.jp/)
 *
 *  Dual licensed under the MIT (MIT-LICENSE.txt)
 *  and GPL (GPL-LICENSE.txt) licenses.
 *
 *  @2010 rozsiril JAN BRCHAN (WDT s.r.o) o parametry takeFrom, offsetLeft a offsetTop + pridano skryti vsech hoveru (pry rychlem prejeti pres vice obrazku se totiz neaktivuje mouseout na predchozim obrazku)
 *
 **/
(function($){
	$.fn.extend({
		imghover: function(opt){
			return this.each(function() {
				opt = $.extend({
					prefix: '',
					suffix: '_o',
					src: '',
					takeFrom: '',
					offsetLeft: 0,
					offsetTop: 0,
					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.takeFrom) {
					hoverImg = node.attr(opt.takeFrom);
				} else 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.attr('ref', 'imghover');
					hover.css({
						position: 'absolute',
						left: offset.left,
						top: offset.top,
						zIndex: 1000
					}).hide().insertAfter(node);
					node.mouseover(function(){
							$('img[ref=imghover]').fadeOut(opt.fadeSpeed);
							var offset=node.offset();
							hover.css({left: offset.left+opt.offsetLeft, top: offset.top+opt.offsetTop});
							hover.fadeIn(opt.fadeSpeed);
							//node.fadeOut(opt.fadeSpeed,function(){node.show()});
					});
					hover.mouseout(function(){
							//node.fadeIn(opt.fadeSpeed);
							hover.fadeOut(opt.fadeSpeed);
							$('img[ref=imghover]').fadeOut(opt.fadeSpeed);
					});
				
				} else {
					var offset = node.offset();
					var hover = node.clone(true);
					hover.attr('src', hoverImg);
					hover.attr('ref', 'imghover');
					hover.css({
						position: 'absolute',
						left: offset.left,
						top: offset.top,
						zIndex: 1000
					}).hide().insertAfter(node);
					node.mouseover(function(){
							$('img[ref=imghover]').hide();
							var offset=node.offset();
							hover.css({left: offset.left+opt.offsetLeft, top: offset.top+opt.offsetTop});
							hover.show();
							//node.hide();
					});
					hover.mouseout(function(){
							//node.show();
							hover.hide();
							$('img[ref=imghover]').hide();
					});
				}
			});
		}
	});
})(jQuery);

