function LoadAllImages () {
	var ImageNow = new Image();
	ImageNow.src = $("img").src;
}

function CalculateScaleFactor (OriginalProjectHeight, OriginalProjectWidth) {
	var $window = $(window)
	ScaleFactorByHeight = $window.height() / OriginalProjectHeight;
	ScaleFactorByWidth = $window.width() / OriginalProjectWidth;
	}

function PutGalleryImage (Class, YPosition, XPosition) {
	var $this = $(Class);
	oldResize($this, 178);
	oldSetPosition($this, YPosition, XPosition, 178);
	$this.fadeTo(0,0.6);
	$this.hover(function() {$this.fadeTo('slow',1)}, function() {$this.fadeTo('slow',0.6)});
}

function PutPhotobook (Class, YPosition, XPosition) {
	var $this = $(Class);
	oldResize($this, 409);
	oldSetPosition($this, YPosition, XPosition, 1092);

}

function ResizeFadeTo (Class) {
/*
	ImageToResize = new Image();// versione
	$(Class).hide();
	ImageToResize.src = $(Class).attr("src");     // 1.0: con Image()
	var ScaledHeight = 356 * ScaleFactorByHeight; // con questa non si sbaglia !!!
	//var ScaledHeight = ImageToResize.height * ScaleFactorByHeight;
	//var ScaledWidth = ImageToResize.width * ScaleFactorByHeight;
	ImageToResize.onLoad = Show(Class);
	function Show (Class) {
		//alert(Class);
		$(Class).css("height", ScaledHeight);
		//$(Class).css("width", ScaledWidth);
		$(Class).fadeTo("slow", 0.6);
		}*/
	var ImageToResize = new Image();
	ImageToResize.src=$(Class).attr("src");
	var ScaledHeight = ImageToResize.height * ScaleFactorByHeight;
	//$(Class).hide();
	$(Class).css("height", ScaledHeight);
	$(Class).css('opacity', 0.6);
}

function SetPositionGallery (Class, YPosition, XPosition) {
	var $Class = $(Class);
	var MarginTop = YPosition * ScaleFactorByHeight;
	var MarginLeft = - (-(XPosition * ScaleFactorByHeight) + Math.round((178 * ScaleFactorByHeight /2)));
	$Class.css("position", "absolute");
	$Class.css("top", "0");
	$Class.css("left", "50%");
	$Class.css("margin-top", MarginTop);
	$Class.css("margin-left", MarginLeft);
	}

/*
function SetHover (Class) {
	var $Class = $(Class);
	$Class.mouseover(function () {$Class.fadeTo("slow", 1)});
	$Class.mouseout(function () {$Class.fadeTo("slow", 0.6)});
}*/

function Resize (Class) {
	var $Class = $(Class);
	$Class.hide();
	var ImageToResize = new Image();
	ImageToResize.src=$Class.attr("src");
	var ScaledHeight = ImageToResize.height * ScaleFactorByHeight;
	$Class.css("height", ScaledHeight);
	$Class.fadeIn("slow");
	$Class.show();
	}


	
function SetPosition (Class, YPosition, XPosition) {
	var $Class = $(Class);
	var ImageToMove = new Image();
	ImageToMove.src=$Class.attr("src");
	var MarginTop = YPosition * ScaleFactorByHeight;
	var MarginLeft = - (-(XPosition * ScaleFactorByHeight) + (ImageToMove.width * ScaleFactorByHeight /2));
	$Class.css("position", "absolute");
	$Class.css("top", "0");
	$Class.css("left", "50%");
	$Class.css("margin-top", MarginTop);
	$Class.css("margin-left", MarginLeft);
	}

function SetXPosition (Class, XPosition) {
	var $Class = $(Class);
	var ImageToMove = new Image();
	ImageToMove.src=$Class.attr("src");
	var MarginLeft = - (-(XPosition * ScaleFactorByHeight) + (ImageToMove.width * ScaleFactorByHeight /2));
	$Class.css("position", "absolute");
	$Class.css("top", "0");
	$Class.css("left", "50%");
	$Class.css("margin-left", MarginLeft);
	}

function SetYPosition (Class, YPosition) {
	var $Class = $(Class);
	var ImageToMove = new Image();
	ImageToMove.src=$Class.attr("src");
	var MarginTop = YPosition * ScaleFactorByHeight;
	$Class.css("position", "absolute"); //senza questo se ne vede solo una
	$Class.css("top", "0");
	$Class.css("left", "50%");
	$Class.css("margin-top", MarginTop);
	}
	
	
function SetZIndex (Class, ZIndex) {
	$(Class).css("z-index", ZIndex);
	}

function InsertLogo () {
	var $this = $('.logo');
	oldResize($this, 117);
	oldSetPosition($this, 0, 0, 502);
}

function AddDescription (Class, YPosition, XPosition) {
	var $this = $(Class);
	oldResize($this, 50);
	oldSetPosition($this, YPosition, XPosition, 178);
}

function AddMenuItem (Class, XPosition, OriginalWidth) {
		var $this = $(Class);
		SetZIndex($this, 2);
		oldResize($this, 30);
		oldSetPosition($this, 0, XPosition, OriginalWidth);
}
function AddMenu () {
		var $this = $('.menu');
		SetZIndex($this, 1);
		$this.css("height", 32 * ScaleFactorByHeight);
		$this.css("background-color", "#cfcfd0");
		$this.css("position", "absolute");
		$this.css("top", "0");
		$this.css("left", "0");
		$this.css("width", "100%");
		$this.css("margin-top", 930 * ScaleFactorByHeight);
		AddMenuItem('.blogmenu', 0, 80);
		AddMenuItem('.homemenu', -183, 90);
		AddMenuItem('.gallerymenu', -89, 97);
		AddMenuItem('.aboutmemenu', 100, 121);
		AddMenuItem('.contactsmenu', 220, 117);
}



function PutImageOnStage (MaxHeight, MaxWidth, ImageURL) {
		var $this = $('.onstage')
			var img = new Image();
			img.src = ImageURL;
			$(img).load( function (){
			$this.fadeIn();
			//alert(-(img.height * ScaleFactorByHeight /2));
			PropFactor = img.height / img.width;
			if (img.height < img.width) {
				//alert("larga");
				//larga
				$this.css("height", img.height * ScaleFactorByHeight);
				$this.css("width", img.height * ScaleFactorByHeight / PropFactor);
				$this.css("position", "absolute");
				$this.css("top", "50%");
				$this.css("left", "50%");
				$this.css("margin-top", -(img.height * ScaleFactorByHeight /2) );
				$this.css("margin-left", -(img.height * ScaleFactorByHeight / PropFactor/ 2));
			} else {
				//alert("alta");
				//alta
				$this.css("height", MaxHeight * ScaleFactorByHeight);
				$this.css("width", MaxHeight * ScaleFactorByHeight / PropFactor);
				$this.css("position", "absolute");
				$this.css("top", "0");
				$this.css("left", "50%");
				$this.css("margin-top", 117 * ScaleFactorByHeight);
				$this.css("margin-left", -(MaxHeight * ScaleFactorByHeight / PropFactor/ 2));

			}
		$this.attr("src", ImageURL);
		});
	PutGalleryString();
}


function CreateAlbum (StartImageNumber, EndImageNumber, BaseDir) {
	if (StartImageNumber < 10) {ImagePrefix = "00"} else {ImagePrefix = "0"}
	//alert(StartImageNumber + " " + EndImageNumber + " " + BaseDir);
	var img = new Image();
	img.src = BaseDir + ImagePrefix + StartImageNumber + ".jpg";
	PutFakeImage();
	var ActualImageNumber = StartImageNumber;
	GlobalActualImageNumber = ActualImageNumber;
	if (img.complete) {
		$('.onstage').fadeIn("slow", PutImageOnStage(725, 1092, BaseDir + ImagePrefix + StartImageNumber + ".jpg"))
	} else {
		$('.onstage').hide(function () {$('.onstage').fadeIn("slow", PutImageOnStage(725, 1092, BaseDir + ImagePrefix + StartImageNumber + ".jpg"))});
	}
	AddAlbumButtons(GlobalActualImageNumber, EndImageNumber, BaseDir);
}

function AddAlbumButtons (ActualImageNumber, EndImageNumber, BaseDir) {
	var $thisnext = $('.image.next');
	var $thisprev = $('.image.previous');
	$thisnext.click( function() {
		ActualImageNumber = GlobalActualImageNumber;
		ActualImageNumber = Number(ActualImageNumber) + 1;
		if ( ActualImageNumber == EndImageNumber) {
			ActualImageNumber = 1;
		}
	GlobalActualImageNumber = Number(ActualImageNumber);
	if (ActualImageNumber < 10) {ImagePrefix = "00"} else {ImagePrefix = "0"}
	$('.onstage').fadeOut("slow", function () {PutImageOnStage(725, 1092, BaseDir + ImagePrefix + ActualImageNumber + ".jpg")});
	});
	$thisprev.click( function() {
		ActualImageNumber = GlobalActualImageNumber;
		if ( ActualImageNumber == 1) {
			ActualImageNumber = EndImageNumber;
		} else {
			ActualImageNumber = ActualImageNumber -1;
		}
	GlobalActualImageNumber = Number(ActualImageNumber);
	if (ActualImageNumber < 10) {ImagePrefix = "00"} else {ImagePrefix = "0"}
	$('.onstage').fadeOut("slow", function () {PutImageOnStage(725, 1092, BaseDir + ImagePrefix + ActualImageNumber + ".jpg")});
	});
	GlobalActualImageNumber = Number(ActualImageNumber);
	if (ActualImageNumber < 10) {ImagePrefix = "00"} else {ImagePrefix = "0"}

	//sostituzione immagine centrale in primo piano
	//$('.onstage').fadeOut("slow", function () {$('.onstage').fadeIn("slow", PutImageOnStage(725, 1092, BaseDir + ImagePrefix + ActualImageNumber + ".jpg"))});
	$('.onstage').fadeIn("slow", PutImageOnStage(725, 1092, BaseDir + ImagePrefix + ActualImageNumber + ".jpg"));
	LoadPrevNextImage(ActualImageNumber);
	GlobalActualImageNumber = Number(ActualImageNumber);
	oldResize($thisnext, 20);
	oldResize($thisprev, 20);
	var DistanceFromTop = 466;
	var DistanceFromBorder = 37;
	var PumpkinSize = 20;
	$thisnext.css("cursor", "pointer").css("position", "absolute").css("top", "0").css("left", "0").css("margin-top", DistanceFromTop * ScaleFactorByHeight).css("margin-left", $(window).width() - (DistanceFromBorder * ScaleFactorByWidth) - (PumpkinSize * ScaleFactorByHeight /2));
	$thisprev.css("cursor", "pointer").css("position", "absolute").css("top", "0").css("left", "0").css("margin-top", DistanceFromTop * ScaleFactorByHeight).css("margin-left", (DistanceFromBorder * ScaleFactorByWidth) - (PumpkinSize * ScaleFactorByHeight /2));
	LoadPrevNextImage(ActualImageNumber);
}

function PutFakeImage() {
	var $fakeimage = $('.fakeimage');
	$fakeimage.attr("src", "images/spaceball.png");
	SetZIndex(".fakeimage", 2);
	$fakeimage.css("height", 725 * ScaleFactorByHeight);
	$fakeimage.css("width", 1092 * ScaleFactorByHeight);
	$fakeimage.css("position", "absolute");
	$fakeimage.css("top", "0");
	$fakeimage.css("left", "50%");
	$fakeimage.css("margin-top", 117 * ScaleFactorByHeight);
	$fakeimage.css("margin-left", -(1092 * ScaleFactorByHeight / 2));
}

function LoadPrevNextImage (ActualImage) {
		var PrevImage = new Image();
		var NextImage = new Image();
		if (ActualImage == StartImageNumber) {
		NextImage.src = BaseDir + "002"+ ".jpg";
		PrevImage.src = BaseDir + "0" + EndImageNumber + ".jpg";
		}
		else if (ActualImage == EndImageNumber) {
		NextImage.src = BaseDir + "001" + ".jpg";
		PrevImage.src = BaseDir + "0" + (EndImageNumber - 1) + ".jpg";
		} else {
		if (ActualImage < 10) {ImagePrefix = "00"} else {ImagePrefix = "0"}
		NextImage.src = BaseDir + ImagePrefix + (ActualImage + 1) + ".jpg";
		PrevImage.src = BaseDir + ImagePrefix + (ActualImage - 1) + ".jpg";
		}
		// carico le foto di tutto l'album (da inserire)
		/*
		var AlbumImages = new Image();
		var i=1;
		while(i != EndImageNumber) {
			i = i + 1;
			if (i < 10) {ImagePrefixPreload = "00"} else {ImagePrefixPreload = "0"}
			AlbumImages.src = BaseDir + ImagePrefixPreload + i + ".jpg";
		}
		*/
}
function PutGalleryString () {
	var ActualImageNumber = GlobalActualImageNumber;
	Stringi(ActualImageNumber);
	Stringc(ActualImageNumber);
	Stringa(ActualImageNumber);
}
function Stringc (ActualImageNumber) {
	//qui metto la thumbnail centrale anche quando entro nella galleria
	//alert("In c")
	var $this = $('.miniature.c');
	ThumbToDisplay = ActualImageNumber;
	if (ActualImageNumber < 10) {ImagePrefix = "00"} else {ImagePrefix = "0"}
	$this.attr("src", BaseDir + "thumbnails/" + ImagePrefix + ThumbToDisplay + ".jpg");
	oldResize($this, 54);
	oldSetPosition($this, 872, 0, 54);
	$this.fadeTo(0,0.6);
	$this.hover(function() {$this.fadeTo('slow',1)}, function() {$this.fadeTo('slow',0.6)});
}

function Stringi (ActualImageNumber) {
	// metto le indietro prima della centrale per vedere se si vede meno al cambio immagine il processo di sostituzione immagini
	//alert("In i")
	StartFrom = 0;
	var i = 1;
	var Spacing = 74;
	var ThumbToDisplay = (ActualImageNumber - i); // prima immagine thumb indietro
	while (i != 8) {
		var Class = ".miniaturei" + i;
		//alert("i: " + ActualImageNumber);
		var $this = $(Class);
		var $onstage = $('.onstage');
		if ( ThumbToDisplay == 0 ) {ThumbToDisplay = EndImageNumber}
		else if (ThumbToDisplay > EndImageNumber) {ThumbToDisplay = 1}
		if (ThumbToDisplay < 10) {ImagePrefixThumb = "00"} else {ImagePrefixThumb = "0"}
		$this.attr("src", BaseDir + "thumbnails/" + ImagePrefixThumb + ThumbToDisplay + ".jpg");
		oldResize($this, 54);
		oldSetPosition($this, 872, (StartFrom - Spacing), 54);
		$this.fadeTo(0,0.6);
		$this.hover(function() {$this.fadeTo('slow',1)}, function() {$this.fadeTo('slow',0.6)});
		$this.attr("thumbnr", ThumbToDisplay);
		/*if (i == 1) {
			alert($this.attr("thumbnr"));
		}*/
		$this.unbind('click').click( function() {
			ThumbClicked = $(this).attr("thumbnr");
			GlobalActualImageNumber = Number(ThumbClicked);
			if (ThumbClicked < 10) {ImagePrefixClicked = "00"} else {ImagePrefixClicked = "0"}
			$('.onstage').fadeOut("slow", function () {PutImageOnStage(725, 1092, BaseDir + ImagePrefixClicked + ThumbClicked + ".jpg")});
		});
		ThumbToDisplay = (ThumbToDisplay - 1);
		StartFrom = StartFrom - Spacing;
		i = i + 1;
	}
}
function Stringa (ActualImageNumber) {
	// metto le thumbs avanti anche all'ingresso in galleria
	//alert("In a")
	var StartFrom = 0;
	var i = 1;
	var Spacing = 74;
	ThumbToDisplay = Number(ActualImageNumber) + 1; // prima immagine thumb avanti
	while (i != 8) {
		//alert(ThumbToDisplay);
		var Class = ".miniaturea" + i;
		//alert("a: " + ActualImageNumber);
		var $this = $(Class);
		var $onstage = $('.onstage');
		if (ThumbToDisplay > EndImageNumber) {ThumbToDisplay = 1}
		if (ThumbToDisplay < 10) {ImagePrefixThumb = "00"} else {ImagePrefixThumb = "0"}
		$this.attr("src", BaseDir + "thumbnails/" + ImagePrefixThumb + ThumbToDisplay + ".jpg");
		oldResize($this, 54);
		oldSetPosition($this, 872, (StartFrom + Spacing), 54);
		$this.fadeTo(0,0.6);
		$this.hover(function() {$this.fadeTo('slow',1)}, function() {$this.fadeTo('slow',0.6)});
		$this.attr("thumbnr", ThumbToDisplay);
		$this.unbind('click').click( function() {
			ThumbClicked = $(this).attr("thumbnr");
			GlobalActualImageNumber = Number(ThumbClicked);
			if (ThumbClicked < 10) {ImagePrefixClicked = "00"} else {ImagePrefixClicked = "0"}
			$('.onstage').fadeOut("slow", function () {PutImageOnStage(725, 1092, BaseDir + ImagePrefixClicked + ThumbClicked + ".jpg")});
		});
		ThumbToDisplay = (ThumbToDisplay + 1);
		StartFrom = StartFrom + Spacing;
		i = i + 1;
	}
}

