function getOpacity(obj) {
	return obj.style.opacity * 100;
}

function setOpacity(obj, value) {
	obj.style.opacity = value/100;
	obj.style.filter = 'alpha(opacity=' + value + ')';
}

function swap(galleryImg){
	
	if(galleryImg.imageReady && galleryImg.timeReady){
		galleryImg.imageReady = false;
		galleryImg.timeReady = false;
		galleryImg.parentNode.style.backgroundImage = "url(" + galleryImg.pathToImages + galleryImg.nextImageNum + ".jpg)";
		galleryImg.fadeInterval = setInterval(function(){fade(galleryImg)}, 60);
	}
}

function fade(galleryImg){
	
	if(getOpacity(galleryImg) > 3)
		setOpacity(galleryImg, getOpacity(galleryImg) - 3);
	else{
		clearInterval(galleryImg.fadeInterval);
		galleryImg.src = galleryImg.nextImage.src;
		
		if(galleryImg.nextImageNum < galleryImg.lastImageNum)
			galleryImg.nextImageNum++;
		else
			galleryImg.nextImageNum = 1;
		
		galleryImg.nextImage.onload = function(){galleryImg.imageReady = true; swap(galleryImg);};
		galleryImg.nextImage.src = galleryImg.pathToImages + galleryImg.nextImageNum + ".jpg";
		setOpacity(galleryImg, 100);
		setTimeout(function(){galleryImg.timeReady = true; swap(galleryImg);}, 3000);
	}
}

function gallery(galleryImg){
	
	galleryImg.onload = "";
	
	if(galleryImg != null && galleryImg.parentNode.className.indexOf("gallery") != -1){
		
		galleryImg.lastImageNum = parseInt(galleryImg.src.substring(galleryImg.src.lastIndexOf("/") + 1));
		if(isNaN(galleryImg.lastImageNum))
			return;
		
		galleryImg.pathToImages = galleryImg.src.substring(0, galleryImg.src.lastIndexOf("/") + 1);
		galleryImg.nextImageNum = 1;
		galleryImg.imageReady = false;
		galleryImg.timeReady = false;
		galleryImg.nextImage = new Image();
		galleryImg.nextImage.onload = function(){galleryImg.imageReady = true; swap(galleryImg);};
		galleryImg.nextImage.src = galleryImg.pathToImages + galleryImg.nextImageNum + ".jpg";
		setOpacity(galleryImg, 100);
		setTimeout(function(){galleryImg.timeReady = true; swap(galleryImg);}, 3000);
	}
}
