//
// create closure
//
(function($) {
//
// plugin definition
//
$.fn.rollover = function(options) {
  // build main options before element iteration
  var opts = $.extend({}, $.fn.rollover.defaults, options);
  // iterate and reformat each matched element
  return this.each(function() {
	$this = $(this);
	
	if (!$this.is('img')) {
		$this.find('img').rollover(options);
		return;
	}
	
	if ($this.attr('src').indexOf('blank.gif')>0) {
		return;
	}
	
	// build element specific options
	var o = $.meta ? $.extend({}, opts, $this.data()) : opts;
	
	var img = $this;
	var parent = img.wrap('<div style="display:inline;"></div>').parent();
	var overimg = $.fn.rollover.overimg($this, o.suffix).insertAfter(img);
	
	parent.hover(function() {
		img.hide();
		overimg.show();
	}, function() {
		img.show();
		overimg.hide();
	});
  });
};
//
// define and expose our format function
//
$.fn.rollover.overimg = function(img, suffix) {
	var src = img.attr('src');
	var pos = src.lastIndexOf('.');
	var offset = img.offset();
	var overimg = img.clone();
	overimg.attr('src', src.substr(0, pos) + suffix + src.substr(pos));
	//overimg.css({ position: 'absolute', top: offset.top, left: offset.left });
	overimg.css({display:'none'});
	return overimg;
}
//
// plugin defaults
//
$.fn.rollover.defaults = {
  suffix: '-over'
};
//
// end of closure
//
})(jQuery);
