jQuery.noConflict();// zoomi - A zoom for images ~ Sean Catchpole - Version 0.9
(function(jQuery){

jQuery.fn.zoomi = function() {
  jQuery(this).filter("img").each(function(){
    if(!this.z) {
      jQuery(this).zoom1().mousedown(function(){jQuery(this).zoom2().show();});
      jQuery(this.z).mousedown(function(){jQuery(this).hide();}); }
  });
 return this;
}

jQuery.fn.zoom1 = function() {
  jQuery(this).each(function(){
    var e = this;
    jQuery(e).css({'position':'relative','z-index':'8'}).after('<img class="'+e.className+'">');
    e.z = e.nextSibling;
    jQuery(e.z).removeClass("zoomi").addClass("zoom2").attr("src",e.alt || e.src)
    .css({'position':'absolute','z-index':'10', 'border':'4px solid #3366FF'});
    jQuery(e.z).hide();
  });
  return this;
}

jQuery.fn.zoom2 = function() {
  var s = [];
  this.each(function(){
    var e = this;
    if(!e.z) e = jQuery(e).zoom1()[0]; s.push(e.z);
    if(!e.z.complete) return;
    if(!e.z.width) { jQuery(e.z).show(); e.z.width=e.z.width; jQuery(e.z).hide(); }
    jQuery(e.z).css({left:jQuery(e).offsetLeft()-(e.z.width-e.scrollWidth)/2+'px',
    top:jQuery(e).offsetTop()-(e.z.height-e.scrollHeight)/2+'px'});
  });
  return this.pushStack(s);
}

jQuery.fn.offsetLeft = function() {
  var e = this[0];
  if(!e.offsetParent) return e.offsetLeft;
  return e.offsetLeft + jQuery(e.offsetParent).offsetLeft(); }

jQuery.fn.offsetTop = function() {
  var e = this[0];
  if(!e.offsetParent) return e.offsetTop;
  return e.offsetTop + jQuery(e.offsetParent).offsetTop(); }

jQuery(function(){ jQuery('img.zoomi').zoomi(); });

})(jQuery);

