function ___getPageSize() {
		var xScroll, yScroll;
		if (window.innerHeight && window.scrollMaxY) {	
			xScroll = window.innerWidth + window.scrollMaxX;
			yScroll = window.innerHeight + window.scrollMaxY;
		} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
			xScroll = document.body.scrollWidth;
			yScroll = document.body.scrollHeight;
		} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
			xScroll = document.body.offsetWidth;
			yScroll = document.body.offsetHeight;
		}
		var windowWidth, windowHeight;
		if (self.innerHeight) {	// all except Explorer
			if(document.documentElement.clientWidth){
				windowWidth = document.documentElement.clientWidth; 
			} else {
				windowWidth = self.innerWidth;
			}
			windowHeight = self.innerHeight;
		} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
			windowWidth = document.documentElement.clientWidth;
			windowHeight = document.documentElement.clientHeight;
		} else if (document.body) { // other Explorers
			windowWidth = document.body.clientWidth;
			windowHeight = document.body.clientHeight;
		}	
		// for small pages with total height less then height of the viewport
		if(yScroll < windowHeight){
			pageHeight = windowHeight;
		} else { 
			pageHeight = yScroll;
		}
		// for small pages with total width less then width of the viewport
		if(xScroll < windowWidth){	
			pageWidth = xScroll;		
		} else {
			pageWidth = windowWidth;
		}
		arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);
		return arrayPageSize;
	};
	/**
	 / THIRD FUNCTION
	 * getPageScroll() by quirksmode.com
	 *
	 * @return Array Return an array with x,y page scroll values.
	 */
function ___getPageScroll() {
		var xScroll, yScroll;
		if (self.pageYOffset) {
			yScroll = self.pageYOffset;
			xScroll = self.pageXOffset;
		} else if (document.documentElement && document.documentElement.scrollTop) {	 // Explorer 6 Strict
			yScroll = document.documentElement.scrollTop;
			xScroll = document.documentElement.scrollLeft;
		} else if (document.body) {// all other Explorers
			yScroll = document.body.scrollTop;
			xScroll = document.body.scrollLeft;	
		}
		arrayPageScroll = new Array(xScroll,yScroll);
		return arrayPageScroll;
	};






// funzione di resize dell'immagine ------------------------

function ResizeImg(Img,OrigImgW,OrigImgH) {
	
	var margleft = 40;
	var margtop = 120;
	var WinW = window.innerWidth-margleft;
	var WinH = window.innerHeight-margtop;	
	var ImgRatio = OrigImgW/OrigImgH;
	var WinRatio = WinW/WinH;
	
	if (WinW<OrigImgW || WinH<OrigImgH) {
		
		if (ImgRatio>WinRatio) {
			Img.css("width",WinW);
			Img.css("height",WinW/ImgRatio);
		} else {
			Img.css("height",WinH);
			Img.css("width",WinH*ImgRatio);
		}			
	}	
}

// funzione per il caricamento dell'immagine ------------------------

function _set_image_to_view(imgs, position,total) {
	
	var objImagePreloader = new Image();
	objImagePreloader.onload = function() {
		
		$('img.anteprima').attr('src',imgs[position]);
		
		width_img_orig = $('img.anteprima').width();
		height_img_orig = $('img.anteprima').height();
		
		
		resize_show(width_img_orig,height_img_orig,imgs,position,total);
			
		objImagePreloader.onload=function(){};
	};

		
	objImagePreloader.src = imgs[position];
	
}


// funzione per la creazione della barra di navigazione  ------------------------


function CreateNavbar(total) {
	
	for(i=0;i<total;i++) {
		
	$('.lightbox_menu_foto ul').append('<li><a href=\'#\' number=\''+i+'\'>'+parseInt(i+1)+'</a></li>');
		
	}	
	

}


// funzione slideshow  ------------------------


function SlideShow() {
	
		
		
	function startSlide(){
			loadImg();
		}
		
	setTimeout("startSlide()", 1000);

}


// funzione resize content,img e presentazione img ------------------------

function resize_show(width_img_orig,height_img_orig,imgs,position,total)
		
			{
				
				
				
				ResizeImg($('img.anteprima'),width_img_orig,height_img_orig);
				
				var width_img = $('img.anteprima').width();
				var height_img = $('img.anteprima').height();			
				
				
				$("#BZ_overcontent").animate({'height':height_img});				
				$("#BZ_overcontent").animate({'width': width_img});
				$("#BZ_overcontent").queue(function() {
					
						$(".loading").remove();
						$("#BZ_overcontent").dequeue();
					
					
					});
				
					
				$("#BZ_overcontent").queue(function() {
				
						$("img.anteprima").fadeIn(500);
						$(".buttons_lightbox").fadeIn(500);	
						$(".lightbox_menu_foto").fadeIn(500);
						preloadVicini(imgs, position,total);
						
						$("#BZ_overcontent").dequeue();
				
				});
			
			
			}


// funzione per il preload dei vicini ------------------------


function preloadVicini(imgs, position,total) {
	
	
	
		if(position==0) {			
			var objImageNext = new Image();
			objImageNext.src = imgs[position+1];
			var objImagePrev = new Image();
			objImagePrev.src = imgs[total-1];	
			
		} else if (position==total-1) {
			var objImageNext = new Image();
			objImageNext.src = imgs[0];
			var objImagePrev = new Image();
			objImagePrev.src = imgs[position-1];	
		} else {
			var objImageNext = new Image();
			objImageNext.src = imgs[position+1];
			var objImagePrev = new Image();
			objImagePrev.src = imgs[position-1];				
		}
		
}



//---------funzione per chiudere lightbox-----------

function closeOver() { 
	scrollactive = 1;
	$("#BZ_overlay").remove();
	$("#BZ_overcontent").remove();
	return false;
}
//---------fine  funzione per chiudere lightbox-----------




//funzioni lightbox ------------------------------------

function LightBox(imgs,position,total) { 	
	
  		scrollactive = 0;
		
		
		
		
		var h = $(document).height();
		var w = $(document).width();
		var winHeight = window.innerHeight;
		var winWidth = window.innerWidth;
		var arrPageSizes = ___getPageSize(); 		
		var arrPageScroll = ___getPageScroll(); 

		$("body").append("<div id=\"BZ_overlay\"><div id=\"BZ_overcontent\"><div class=\"buttons_lightbox\"><div class=\"prev_img\"><img src=\"img/butt-prev-lb.png\" alt=\"prev\" /></div><div class=\"next_img\"><img src=\"img/butt-next-lb.png\" alt=\"Next\" /></div><div class=\"close\"><a href=\"#\"><img src=\"img/butt-close.png\" alt=\"Chiudi\" /></a></div></div><div class=\"next_img imgcontent\"><img src=\"#\" class=\"anteprima\" /></div></div></div>");
		
		
		CreateNavbar(total);//crea barra numerica di navigazione
 
		
		
		
		
		
		//$(".lightbox_menu_foto ul").append(menu);
		
		
		
		
			if(imgs.length==1) {
				
				$(".buttons_lightbox .prev_img, .buttons_lightbox .next_img").css("display","none");
				
				$(".buttons_lightbox .close").css("float","right");
				
				$("img.anteprima").parent("div").removeClass("next_img");
				
			}
			
		$("#BZ_overlay").height(h);
		$("#BZ_overlay").width(w);
			
		$("#BZ_overlay").hide().fadeIn(500);
			
		$("#BZ_overcontent").css({
				top:	arrPageScroll[1] + (arrPageSizes[3] / 10),
				left:	arrPageScroll[0]				
		}).hide().fadeIn(500);
		
		
		//$("#BZ_overcontent").hide().fadeIn(500);
		$(".lightbox_menu_foto").hide();
		
		$(".buttons_lightbox").hide();
		$("#BZ_overcontent").append('<div class="loading"><img src="img/lightbox-ico-loading.gif" /></div>').show();
		$('img.anteprima').hide();
		
		
		

		//----------------funzioni per tasti slide --------------------------------------------------------------
			
		$(".prev_img").click(function() { //immagine precedente
									  
			if(position==0) {				
				position = total-1;								
			} else {
				position--;				
			}				
			loadImg();
		
		});	
						
						
		$(".next_img").click(function() { //immagine successiva
									  
			if(position==total-1) {				
				position = 0;								
			} else {
				position++;			
			}						
			loadImg();
		
		});	
		
		$(".lightbox_menu_foto a").click(function() { //funzione per click su NavBar			
			
			//position=0;
			
			position = parseInt($(this).attr('number'));
			
			
			//alert(position);
			
			
			loadImg();	
			
		});
					
		//----------------fine funzioni per tasti slide --------------------------------------------------------------						
			
			
		//--------------funzione che carica img in overcontent	-----------------------------------------------------------------		

		function loadImg() {

			
			$("#BZ_overcontent").append('<div class="loading"><img src="img/lightbox-ico-loading.gif" /></div>').show();
			$('.imgcontent img').remove();
			$('.imgcontent').append('<img src=\"#\" class=\"anteprima\" />');
			$('img.anteprima').hide();
			
			

		
				
			_set_image_to_view(imgs, position,total);	
			
			
		} 
		
		//--------------fine funzione loadImg---------------------------------------------------------------------------


	
	
	
	
	loadImg(); //richiamo funzione al primo caricamento della lightbox
	
	$(window).resize(function() {
		ResizeImg($('img.anteprima'),window.width_img_orig,window.height_img_orig);
		$("#BZ_overlay").width($(window).width());
		$("#BZ_overlay").height($(window).height());
		$("#BZ_overcontent").css({'height':$('img.anteprima').height()});				
		$("#BZ_overcontent").css({'width': $('img.anteprima').width()});
	});
	
	$(".close,#BZ_overlay").bind("click",closeOver); //funzione per chiudere lightbox
	
	$('#BZ_overcontent').click(function(event) {
	event.stopPropagation();
	});		
		
	return false;	
				
}
