/*
	Autore: Luca Piccinelli www.lucapiccinelli.com
	Codice rilasciato sotto licenza GPL http://www.gnu.org/licenses/gpl.html
	http://katolaz.homeunix.net/gplv3/gplv3-it-final.html (italiano)
*/

function Gallery(displayId, fotoDiv, imgUl)
{
		this.imagesDiv = document.getElementById(fotoDiv).parentNode;
		var myPlayerDiv1 = document.createElement('<div>');
		myPlayerDiv1.setAttribute('id', 'player');
		var myPlayerDiv2 = document.createElement('<div>');
		myPlayerDiv2.setAttribute('id', 'imgPanel');
		var myPlayerDiv3 = document.createElement('<div>');
		myPlayerDiv3.setAttribute('id', 'commands');
		var myPlayerDiv3HTML = '<a id=prev href="#">&nbsp;</a> <a id=play href="#">&nbsp;</a> <a id=stop href="#">&nbsp;</a> <a id=next href="#">&nbsp;</a>';
		
		this.imagesDiv.appendChild(myPlayerDiv1).appendChild(myPlayerDiv2);
		this.imagesDiv.appendChild(myPlayerDiv1).appendChild(myPlayerDiv3).innerHTML = myPlayerDiv3HTML;
		document.getElementById('imgPanel').style.width = '400px';
		document.getElementById('imgPanel').style.height = '285px';
		
		this.imgIndex = 0;
		this.display = displayId;
		//this.links = $(fotoDiv).get();
		this.linksLI = document.getElementById(imgUl).getElementsByTagName("LI");
		this.links = document.getElementById(imgUl).getElementsByTagName("img");
		this.imgNumber = this.links.length;
		for(i=0;i<this.links.length;i++) { this.links[i].style.display = 'none' }
		for(i=0;i<this.links.length;i++) { this.linksLI[i].style.display = 'none' }
					
		this.slideShow = null;
		
		this.showImg = function(_index, fade)
		{
			if(!_index)
				index = this.imgIndex;
			else
				index = _index;
			
			var link = this.links[index];
			
			if($("#displayImg"))
			{
					$("#displayImg").remove();
			}
			$("<img id='displayImg' class='fade' src='" + link.src + "'/>").appendTo(this.display);
			$("#displayImg").css(
				{
					position: "absolute",
					top: $(this.display).offset().top + 1,
					left: $(this.display).offset().left + 1,
					zIndex: "0"
				}
			);
			if(fade)
				$(".fade").css({display: "none"}).fadeIn(1000);
		}
		
		this.setIndex = function(index)
		{
			this.imgIndex = index;
		}
		
		this.showNext = function(fade)
		{
			this.imgIndex = ++this.imgIndex % this.imgNumber;
			this.showImg(null, fade);
		}
		
		this.showPrev = function(fade)
		{
			this.imgIndex = --this.imgIndex;
			if(this.imgIndex < 0) this.imgIndex = this.imgNumber - 1;
			this.showImg(null, fade);
		}
		
		this.load = function(path)
		{
			/*
			var fileName = this.links[this.imgIndex].href.split("/").pop();
			var top = $(this.display).offset().top + ($(this.display).height() / 2);
			var left = $(this.display).offset().left + ($(this.display).width() / 2);
			
			$("<img id='indicator' src='script/img/indicator_medium.gif' alt='ajax indicator'/>").css(
				{
					position: "absolute",
					top: top,
					left: left
				}
			).appendTo(this.display);
			return $("<div id='loadReturn'></div>").load(path + "fileData.php?filename=" + fileName, function()
				{
					$("#indicator").remove();
				}
			);
			*/
		}
		
		this.createStatusBar = function(content, height)
		{
			/*
			h = height
			if(!height) h = 20
			*/
			/* Creazione della statusBar */
			/*
			$("<div id='statusBar'></div>").appendTo(this.display)
			$("#statusBar").append(content);
			$("#statusBar").css(
				{
					position: "absolute",
					top: $(this.display).offset().top + 1,
					left: $(this.display).offset().left + 1,
					zIndex: "1",
					width: $(this.display).width() - 2,
					display: "none",
					height: h,
					border: "1px solid",
					background: "#000000",
					color: "#FFFFFF",
					fontSize: "10px",
					opacity: "0.50"
				}
			).slideDown(700);
			*/
		}
		
		this.destroyStatusBar = function()
		{
			$("#statusBar").slideUp(700, 
			function()
				{
					$("#statusBar").remove();
				}
			);
		}
		
		this.start = function(_obj)
		{
			obj = _obj;
			
			obj.destroyStatusBar();
			obj.showNext(true);
			setTimeout("obj.createStatusBar(obj.load('imgs/'))", 1000);
			this.slideShow = setTimeout("obj.start(obj)", 5000);
		}
		
		this.stop = function()
		{
			clearTimeout(this.slideShow);
		}
	
}

function enableButtons()	
{
	//if(document.getElementById('commands'))
		$("#play").click(
			function()
			{
				gallery.start(gallery);
				$("#play").unbind("click");
				$("#prev").unbind("click");
				$("#next").unbind("click");
				return false;
			}
		);
		
		$("#prev").click(
			function()
			{
				gallery.destroyStatusBar();
				gallery.showPrev(true);
				setTimeout("gallery.createStatusBar(gallery.load('/temi/Default/immagini/'), 30)", 1000);
				return false;
			}
		);
		$("#next").click(
			function()
			{
				gallery.destroyStatusBar();
				gallery.showNext(true);
				setTimeout("gallery.createStatusBar(gallery.load('/temi/Default/immagini/'), 30)", 1000);
				return false;
			}
		);
	
}

