/**

 *  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)}

          );

        }

			});

		}

	});

})(jQuery);


