// JavaScript Document
function addEvent(obj, eventName, eventFunction)
{
	if(obj.addEventListener)
		obj.addEventListener(eventName, eventFunction, false);
	else if (obj.attachEvent)
		obj.attachEvent('on' + eventName, eventFunction);	
}

function expand(name)
{
	document.getElementById(name+ 'expandButton').style.display = 'none';
	document.getElementById(name+ 'collapseButton').style.display = 'block';
	document.getElementById(name+ 'expandArea').style.display = 'block';
}
function collapse(name)
{
	document.getElementById(name+ 'expandButton').style.display = 'block';
	document.getElementById(name+ 'collapseButton').style.display = 'none';
	document.getElementById(name+ 'expandArea').style.display = 'none';
}

function openGallery(name)
{
	document.getElementById(name + "gallery_frame").style.display = "block";
	document.getElementById('black_background').style.display = "block";
	var pictureWidth = getElementWidth(name + "gallery_picture");
	var pictureHeight = getElementHeight(name + "gallery_picture");
	resizeDiv(document.getElementById(name + "gallery_frame"), pictureWidth + 40, pictureHeight + 120, name);
	
}

function closeGallery(name)
{
	document.getElementById(name + "gallery_frame").style.display = "none";
	document.getElementById('black_background').style.display = "none";	
}


function startSlideShow(name, array)
{
	document.getElementById(name+'slideshow_running').style.display = 'inline';
	document.getElementById(name+'slideshow_starter').style.display = 'none';
	document.getElementById(name+'slideshow_next').style.display = 'inline';
	//document.getElementById(name+'gallery_centerer').setAttribute('class', 'gallery_centerer');
	
	//galleryForward(name, array);
	SlideShow(name, array);
}

function SlideShow(name, array)
{
	var slideShowRunning = self.setInterval(function() {	
								var rest = document.getElementById(name + 'timer').innerHTML;
								if (rest > 1)
								{
									rest = rest - 1;
									document.getElementById(name + 'timer').innerHTML = rest;
								} else
								{
									galleryForward(name, array);
									rest = startTimer;
									document.getElementById(name + 'timer').innerHTML = rest;
								}
																
							}, 1000);
	var slideShowStopper = document.getElementById(name + 'slideshow_stopper');
	addEvent(slideShowStopper, 'click', function() {
														window.clearInterval(slideShowRunning);
														document.getElementById(name+'slideshow_running').style.display = 'none';
														document.getElementById(name+'slideshow_next').style.display = 'none';
														document.getElementById(name+'slideshow_starter').style.display = 'inline';
														//document.getElementById(name+'gallery_centerer').setAttribute('class', 'gallery_centerer_limited');
													});
}



/*
function SlideReverse(myobject)
{

myobject = document.getElementById(myobject);
myobject.style.display = 'block';
myobject.style.left = '0px';
myobject.style.right = 'auto';


var direction = false;
myobject.style.width = 1;

var gaylord = window.setInterval(function() {
		var width = parseInt(myobject.style.width);
	
	if (direction)
	{
		
		if (width < 25)
		{
			myobject.style.display= 'none';
			window.clearInterval(gaylord);		
		}
		else
		{myobject.style.width = width - 25 + 'px';}
	}
	else
	{	
		myobject.style.width = width + 25 + 'px';
		if (width > 635)
		{
			myobject.style.width = 640 + 'px';
			direction = true;
			myobject.style.right = 0;
			myobject.style.left = 'auto';
			
		}
	}
},5);

}
function Slide(myobject)
{

myobject = document.getElementById(myobject);
myobject.style.display = 'block';
myobject.style.left = 'auto';
myobject.style.right = '0px';


var direction = false;
myobject.style.width = 1;

var gaylord = window.setInterval(function() {
		var width = parseInt(myobject.style.width);
	
	if (direction)
	{
		
		if (width < 25)
		{
			myobject.style.display= 'none';
			window.clearInterval(gaylord);		
		}
		else
		{
			myobject.style.width = width - 25 + 'px';
		}
		
	}
	else
	{	
		myobject.style.width = width + 25 + 'px';
		if (width > 635)
		{
			myobject.style.width = 640 + 'px';
			direction = true;
			myobject.style.right = 'auto';
			myobject.style.left = '0px';
			
		}
	}
},5);
}
*/
	
function Switch(name, number, total) 
{
	document.getElementById(name + number).style.display = 'block';
	
	for (i = 1; i <= total; i++)
	{ 
		if (i != number)
		
		{
			document.getElementById(name + i).style.display = 'none';
		}
	}


}

function HideAllExcept(name, number, total)
{
	for (i = 1; i <= total; i++)
	{ 
		if (i != number)
		
		{
			document.getElementById(name + i).style.display = 'none';
		}
	}

	document.getElementById(name + 'buttons').style.display = 'block';
}


function findArrayNumber(arrayName, contentName)
{
	for (i = 0; i < arrayName.length; i++)
	{
		if (arrayName[i] == contentName)
		break;
	}


	return i;
}

function resizeDiv(obj, x, y, display)
{
	
	if (x && y)
	{
		var ctrlLeft = document.getElementById(display + 'gallery_left');
		var ctrlRight = document.getElementById(display + 'gallery_right');
		var ctrlNum = document.getElementById(display + 'gallery_ctrl');
		var displayPic = document.getElementById(display + 'gallery_picture');
		var ctrlClose = document.getElementById(display + 'gallery_close');
		ctrlClose.style.visibility = 'hidden';
		ctrlLeft.style.visibility = 'hidden';
		ctrlRight.style.visibility = 'hidden';
		ctrlNum.style.visibility = 'hidden';
		displayPic.style.visibility = 'hidden';
		
		
		if (obj.style.width == false) 
			obj.style.width = 20 + 'px';
		if (obj.style.height == false)
			obj.style.height = 20 + 'px';
		
		var currentWidth = parseInt(obj.style.width);
		if (currentWidth < x)
		{												
			var resizeX = setInterval(function() {
				var currentWidth = parseInt(obj.style.width);
				obj.style.width = currentWidth + 20 + 'px';
				if (currentWidth >= x - 20)
				{
					obj.style.width = x + 'px';
					clearInterval(resizeX);
					resizeY(obj, y, display, ctrlLeft);
					}
			},20)
		}else{
			var resizeX = setInterval(function() {
				var currentWidth = parseInt(obj.style.width);
				obj.style.width = currentWidth - 20 + 'px';
				if (currentWidth <= x + 20)
				{
					obj.style.width = x + 'px';
					clearInterval(resizeX);
					resizeY(obj, y, display);
					}
			},20)										
												
		}
	}
}

function resizeY(obj, y, display) {
	var currentHeight = parseInt(obj.style.height);
		
		var ctrlLeft = document.getElementById(display + 'gallery_left');
		var ctrlRight = document.getElementById(display + 'gallery_right');
		var ctrlNum = document.getElementById(display + 'gallery_ctrl');
		var displayPic = document.getElementById(display + 'gallery_picture');
		var ctrlClose = document.getElementById(display + 'gallery_close');

	if (currentHeight < y)
	{
		var resizeY = setInterval(function() {
			var currentHeight = parseInt(obj.style.height);
					
			obj.style.height = currentHeight + 20 + 'px';
			if (currentHeight >= y - 20)
			{
			obj.style.height = y + 'px';
			clearInterval(resizeY);
			displayPic.style.visibility = 'visible';
			ctrlLeft.style.visibility = 'visible';
			ctrlRight.style.visibility = 'visible';
			ctrlNum.style.visibility = 'visible';
			ctrlClose.style.visibility = 'visible';
			
			}
			
			},20)
	} else {
		var resizeY = setInterval(function() {
			var currentHeight = parseInt(obj.style.height);
					
			obj.style.height = currentHeight - 20 + 'px';
			if (currentHeight <= y + 20)
			{
			obj.style.height = y + 'px';
			clearInterval(resizeY);
			displayPic.style.visibility = 'visible';
			ctrlLeft.style.visibility = 'visible';
			ctrlRight.style.visibility = 'visible';
			ctrlNum.style.visibility = 'visible';
			ctrlClose.style.visibility = 'visible';			
			}
			
			},20)	
	
	}
}

function galleryForward (name, pictureArray)
{
	//Slide(name + 'black');
	
	document.getElementById(name + 'loading').style.display = "block";
	var currentPicture = document.getElementById(name + 'gallery_picture').src;


	var oldWidth = getElementWidth(name + 'gallery_picture');
	var oldHeight = getElementHeight(name + 'gallery_picture');
	currentPicture = currentPicture.split("/");
	currentPicture = currentPicture[currentPicture.length - 1];
	
	var folder = name.split("_");
	folder = folder[0];
	var position = findArrayNumber(pictureArray, folder + "/" + currentPicture);
	
	if (position < pictureArray.length -1)
	{
		setTimeout(function() {document.getElementById(name + 'gallery_picture').src = 'images/gallery/' + pictureArray[position + 1]}, 1);
		var currentDisplay = position + 2;
	}
	else
	{
		setTimeout(function() {document.getElementById(name + 'gallery_picture').src ='images/gallery/' +  pictureArray[0]}, 1);
		var currentDisplay = 1;
	}
	


	
	
	var totalDisplay = pictureArray.length;
	
	
	document.getElementById(name + 'number').innerHTML = currentDisplay + ' / ' + totalDisplay;
	
}

function galleryBackward (name, pictureArray)
{
	//SlideReverse(name + 'black');
	document.getElementById(name + 'loading').style.display = "block";
	var currentPicture = document.getElementById(name + 'gallery_picture').src;
	currentPicture = currentPicture.split("/");
	currentPicture = currentPicture[currentPicture.length - 1];
	
	var folder = name.split("_");
	folder = folder[0];
	var position = findArrayNumber(pictureArray, folder + "/" + currentPicture);
	
	
	if (position != 0)
	{
		setTimeout(function() {document.getElementById(name + 'gallery_picture').src = 'images/gallery/' + pictureArray[position - 1]}, 1);
		var currentDisplay = position;
	}
	else
	{
		setTimeout(function() {document.getElementById(name + 'gallery_picture').src = 'images/gallery/' + pictureArray[pictureArray.length - 1]}, 1);
		var currentDisplay = pictureArray.length;
	}
	
	var totalDisplay = pictureArray.length;
	document.getElementById(name + 'number').innerHTML = currentDisplay + ' / ' + totalDisplay;	
}

function startDisplay(name, pictureArray)
{
	var currentPicture = document.getElementById(name + 'gallery_picture').src;
	currentPicture = currentPicture.split("/");
	currentPicture = currentPicture[currentPicture.length - 1];
	var folder = name.split("_");
	folder = folder[0];	
	var position = findArrayNumber(pictureArray, folder + "/" + currentPicture) + 1;
	var total = pictureArray.length;
	
	document.getElementById(name + 'number').innerHTML = position + ' / ' + total;
}




function getElementHeight(Elem) {
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		if (elem.offsetWidth == false) { 
			xPos = elem.style.pixelHeight;
		} else {
			xPos = elem.offsetHeight;
		}
		return xPos;

}

function getElementWidth(Elem) {

		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		if (elem.offsetWidth == false) {
			xPos = elem.style.pixelWidth;
		} else {
			xPos = elem.offsetWidth;
		}
		return xPos;
	
}
