// zoomi - A zoom for images ~ Sean Catchpole - Version 0.9
(function($){

	/**
	** Modded for dario tools!
	**/
$isClicked = false;
$lastClicked = null;
$isUp = false;
$lastUp = null;

function requestData(productid)
{

	$.post("../../../products/", { pid: productid},
	  function(data){
	    $('.productinfo').html(data);
	  });	
}

    
$.fn.zoomi = function() {
  $(this).filter("img").each(function(){
    if(!this.z) {
       $(this).parent('a').mouseenter(function()
      {
      		if(!$isClicked)
      		{
      			requestData($(this).attr('id'));
      			
      		}
      });
      $(this).parent('a').click(function()
      {
      		if($isClicked==true)
      		{
      			if($(this).attr('id')==$lastClicked)
      			{
      				$isClicked = false;	
      			}
      		}
      		else
      		{
      			$lastClicked = $(this).attr('id');
      			//alert($lastClicked);
      			$isClicked = true;
      		}
      });
      $(this).zoom1().mouseenter(function()
      {
      	if(!$isClicked)   
      	{
      		if($isUp)
      		{
      			$($lastUp).hide();
      			$isUp = false;
      		}
      		
      		$(this).zoom2().show();}
      		$lastUp = $(this).zoom2();
      		$isUp = true;
      	}
      	
   
      );
      $(this.z).mouseout(function()
      {
      		if(!$isClicked)  
      		{
      			$isUp = false;
      			$(this).hide();}	
      		}
      		
      		
      ); 
      }
  });
 return this;
}

$.fn.zoom1 = function() {
  $(this).each(function(){
    var e = this;
    $(e).css({'position':'relative','z-index':'8'}).after('<img class="'+e.className+'">');
    e.z = e.nextSibling;
    $(e.z).removeClass("zoomi").addClass("zoom2").attr("src",e.alt || e.src)
    .css({'position':'absolute','z-index':'10'});
    $(e.z).hide();
  });
  return this;
}

$.fn.zoom2 = function() {
  var s = [];
  this.each(function(){
    var e = this;
    if(!e.z) e = $(e).zoom1()[0]; s.push(e.z);
    if(!e.z.complete) return;
    if(!e.z.width) { $(e.z).show(); e.z.width=e.z.width; $(e.z).hide(); }
    $(e.z).css({left:$(e).offsetLeft()-(e.z.width-e.scrollWidth)/2+'px',
    top:$(e).offsetTop()-(e.z.height-e.scrollHeight)/2+'px'});
  });
  return this.pushStack(s);
}

$.fn.offsetLeft = function() {
  var e = this[0];
  if(!e.offsetParent) return e.offsetLeft;
  return e.offsetLeft + $(e.offsetParent).offsetLeft(); }

$.fn.offsetTop = function() {
  var e = this[0];
  if(!e.offsetParent) return e.offsetTop;
  return e.offsetTop + $(e.offsetParent).offsetTop(); }

$(function(){ $('img.zoomi').zoomi(); });

})(jQuery);

