/////////// INIZIO parte relativa a pannello di zoom ///////////////////////////////////

var zoomImageIndex = 0;
function showZoomPanel(imgSrc){
	var imgWidth = 0;
	for(var i=0;i<imagesArray.length;i++){
		if(imagesArray[i][0] == imgSrc){
			zoomImageIndex = i;
			imgWidth = imagesArray[i][1];
			break;
		}
	}
	
	jQuery("#zoomContainer").css("height","100px");
	jQuery("#zoomContainer").css("width","100px");
	jQuery("#zoomContainer").css("opacity","0");
	var panelHeight = 440;
	jQuery("#zoomContainer").attr("style","");
	jQuery("#zoomContainer").addClass("zoomSize");
	jQuery("#zoomContainer").css("height",panelHeight+"px");
	jQuery("#zoomContainer").css("opacity","1");
	jQuery(".image-scroller").css("height",panelHeight+"px");
	
	jQuery('.image-scroller, .commands3').click(function(e) { 
		   e.stopPropagation(); 
		});
	
	jQuery(".modalBackground").click(function(){ hideZoomPanel();})
	if(imgWidth <= panelWidth){
		jQuery("#zoomContainer").width(imgWidth);
	}
	else {
		jQuery("#zoomContainer").width(panelWidth);
	}
	
	jQuery(".feature-image").attr("src",imgSrc);
	jQuery(".modalBackground").fadeIn(500);
	jQuery("#zoomContainer").css("margin-top",jQuery("#galleryMain").offset().top);
	jQuery("#zoomContainer").css("display","block");
	
	if(!isMobileDevice()){
		jQuery('div.image-scroller').imageScroller({
			  featureImg: '.feature-image'
			});
	}else{
		var newImgDiv = '<div class="zoomImageDiv" style="position:absolute;top:0px;left:0px;overflow:scroll;z-index:2000;"></div>';
		jQuery('div.image-scroller').append(newImgDiv);
		var imgDiv = jQuery(".feature-image").remove();
		imgDiv.appendTo('.zoomImageDiv');
		jQuery(".zoomImageDiv").addClass("zoomSize");
		jQuery(".zoomImageDiv").css("height",panelHeight+"px");
		jQuery('.zoomImageDiv').css("overflow","scroll");
		jQuery('#zoomEsc').css("right","24px");
	}
}

function changeZoomImage(direction){
	if(direction == 'next'){
		if(zoomImageIndex < (imagesArray.length - 1)){
			zoomImageIndex++;
			newImage = imagesArray[zoomImageIndex][0];
		}
	}else{
		if(zoomImageIndex > 0){
			zoomImageIndex--;
			newImage = imagesArray[zoomImageIndex][0];
		}
	}
	var imgWidth = imagesArray[zoomImageIndex][1];
	if(imgWidth <= panelWidth){
		jQuery("#zoomContainer").width(imgWidth);
	}
	else {
		jQuery("#zoomContainer").width(panelWidth);
	}
	
	//elimino e ricreo la feature-image,altrimenti il solo cambio dell'src dava dei problemi
	jQuery(".feature-image").unbind();
	jQuery(".feature-image").remove();
	jQuery(".image-scroller").append('<img class="feature-image" src="" />');
	jQuery(".feature-image").attr("src",newImage);
	jQuery(".feature-image").css("left","0px");
	jQuery(".feature-image").css("top","0px");
	//riistanzio l'imageScroller
	if(!isMobileDevice()){
		jQuery('div.image-scroller').imageScroller({
			  featureImg: '.feature-image'
			});
	}
}

function hideZoomPanel(){
	jQuery(".modalBackground").fadeOut(500);
	if((navigator.appName.indexOf("Microsoft")!=-1) && (navigator.appVersion.indexOf("MSIE 6.")!=-1)){
		jQuery("#mainTable").css("display","block");
	}
}


/*
 * Image Scroller Plugin
 * http://www.viget.com/
 *
 * Copyright (c) 2010 Trevor Davis (http://trevordavis.net/)
 * Dual licensed under the MIT and GPL licenses.
 * Uses the same license as jQuery, see:
 * http://jquery.org/license
 *
 * @version 0.1
 */
(function($) {

jQuery.fn.imageScroller = function(options) {
  var opts = jQuery.extend({}, jQuery.fn.imageScroller.defaults, options);

  return this.each(function() {
    var $this = jQuery(this),
        o = jQuery.meta ? jQuery.extend({}, opts, $this.data()) : opts,
        visibleHeight = $this.height(),
        visibleWidth = $this.width(),
        $featureImg = $this.find('img'+o.featureImg),
        featureImgHeight = $featureImg.height(),
        featureImgWidth = $featureImg.width(),
        ratio = ((featureImgHeight - visibleHeight) / visibleHeight),
        ratioHoriz = ((featureImgWidth - visibleWidth) / visibleWidth),
        imageOffset = jQuery("#zoomContainer").offset();
    
    if(featureImgHeight > visibleHeight) {
	  
	    jQuery(".feature-image").bind(
          'mousemove', function(e) {
        	  var newPos = (imageOffset.top - e.pageY)*(ratio);
              if(e.pageY < imageOffset.top) {
                newPos = 0;
              } else if (e.pageY > (imageOffset.top + visibleHeight)) {
                newPos = - (featureImgHeight - visibleHeight);
              }
              $featureImg.css("top", newPos+"px");
          }
        );
    }

    if(featureImgWidth > visibleWidth) {
  	  
	    jQuery(".feature-image").bind(
          'mousemove', function(e) {
        	  var newPosX = (imageOffset.left - e.pageX)*(ratioHoriz);
              if(e.pageX < imageOffset.left) {
                newPosX = 0;
              } else if (e.pageX > (imageOffset.left + visibleWidth)) {
                newPosX = - (featureImgWidth - visibleWidth);
              }
              $featureImg.css("left", newPosX+"px");
          }
        );
    }
  });
};

jQuery.fn.imageScroller.defaults = {
  featureImg: '.feature-image'
};

})(jQuery);

/////////// FINE parte relativa a pannello di zoom ///////////////////////////////////

