var slideSpeed = 1250;
var slideTimeout = null;
var images = new Array();
var currentImage = 0;
var totalImages = 0;
var faders = new Array();
var current = 0;
var fading = 1;
var intervalID = null;
var playing = true;
var fadeMS = 20;
var scrollMS = 20;
var showText = false;
var currentText = '';
var scrollIntervalID = null;

function preloadImages() {
	// LOAD LIST
	loadImg('sakset.jpg');
	loadImg('tiia.jpg');
	loadImg('lehtia.jpg');
	loadImg('heli.jpg');
	loadImg('ulkoa.jpg');
	loadImg('hanna.jpg');
	loadImg('lyhty.jpg');
	//loadImg('mari.jpg');
	loadImg('lamppu.jpg');
	loadImg('lisa.jpg');
	loadImg('ovesta.jpg');
	loadImg('tiina.jpg')
	loadImg('heijastus.jpg');
	loadImg('maria.jpg');
	loadImg('kristallit.jpg');
	loadImg('suvi.jpg');
	loadImg('kasveja.jpg')
	loadImg('punainen.jpg');
	loadImg('hanski.jpg');
	loadImg('seina.jpg');
	//loadImg('sari.jpg');
	loadImg('kukka.jpg');
	loadImg('kynnet.jpg');
	loadImg('satu.jpg');
	loadImg('luksus.jpg');
}

function loadImg(n) {
	var img = new Image(609, 308);
	img.src = 'gallery/ihmiset/'+n;
	images[totalImages++] = img;
}


function setOpacity(elem, alpha) {
	if (elem  && elem.style) {
		elem.alpha = alpha;
		elem.style.opacity = (alpha * 0.01);
		elem.style.MozOpacity = (alpha * 0.01);
		elem.style.KhtmlOpacity = (alpha * 0.01);
		elem.style.filter = "alpha(opacity=" + alpha + ")";
	}
}


function scrollUp() {
	scrollIntervalID = setInterval("scrollText(-5)", scrollMS);
}

function scrollDown() {
	scrollIntervalID = setInterval("scrollText(5)", scrollMS);
}


function stopScroll() {
	clearInterval(scrollIntervalID);
}

function setScroll(elem, y) {
	elem.scrollTop = y;
}

function getScroll(elem) {
	var pos = parseInt(elem.scrollTop);
	return pos;
}

function scrollText(a) {
	var e = document.getElementById(currentText);
	var y = getScroll(e);
	setScroll(e, y + a);
}


function nextImg() {
	if (showText) {
		var e = document.getElementById(currentText);
		var y = getScroll(e);
		setScroll(e, y + 20);
		return;
	}
	if (intervalID != null)
		return;
	if (slideTimeout != null) {
		clearTimeout(slideTimeout);
		slideTimeout = null;
	}
	currentImage = (currentImage + 1)  % totalImages;
	current = (current + 1) % 2;
	fading = (fading + 1) % 2;
	// switch to new image
	var container = faders[current];
	container.style.backgroundImage = 'url('+images[currentImage].src+')';
	intervalID = setInterval("darthFader()", fadeMS);
}

function prevImg() {
	if (showText) {
		var e = document.getElementById(currentText);
		var y = getScroll(e);
		setScroll(e, Math.max(0, y - 20));
		return;
	}
	if (intervalID != null)
		return;
	if (slideTimeout != null) {
		clearTimeout(slideTimeout);
		slideTimeout = null;
	}
	if (currentImage == 0)
		currentImage = totalImages - 1;
		else
			currentImage = (currentImage - 1);

	current = (current + 1) % 2;
	fading = (fading + 1) % 2;
	// switch to new image
	var container = faders[current];
	container.style.backgroundImage = 'url('+images[currentImage].src+')';
	intervalID = setInterval("darthFader()", fadeMS);
}


function playStop() {
	if (showText) {	
		showText = false;
		var e = document.getElementById(currentText);
		e.style.display = 'none';
		faders[0].style.display = 'inline';
		faders[1].style.display = 'inline';
	}
	playing = !playing;
	if (slideTimeout != null) {
		clearTimeout(slideTimeout);
		slideTimeout = null;
	}
	if (playing && slideTimeout == null) {
		slideTimeout = setTimeout('nextImg()', slideSpeed);
	}
}


function darthFader() {
	var cur = faders[current];
	var fad = faders[fading];
	if (cur.alpha < 100) {
		setOpacity(cur, Math.min(100, cur.alpha + 10));
		setOpacity(fad, Math.max(0, fad.alpha - 13));
	} else  {
		clearInterval(intervalID);
		intervalID = null;
		if (playing && slideTimeout == null) {
			slideTimeout = setTimeout('nextImg()', slideSpeed);
		}
			
	}
}

window.onload = function () {
	preloadImages();
	faders[0] = document.getElementById('slideShow1');
	faders[1] = document.getElementById('slideShow2');
	faders[0].onclick = nextImg;
	faders[1].onclick = nextImg;
	// currentImage = totalImages - 1; 
	setOpacity(faders[0], 100);
	setOpacity(faders[1], 0);
	slideTimeout = setTimeout('nextImg()', slideSpeed*2);
}


function showTextView(index) {
	var e;
	if (playing)
		playStop();
	if (showText) {
		e = document.getElementById(currentText);
		e.style.display = 'none';
	}
	showText = true;		
	e = document.getElementById('textView'+index);
	currentText = 'textView'+index;
	e.style.display = 'inline';
	e.scrollTop = 0;
	faders[0].style.display = 'none';
	faders[1].style.display = 'none';	
	return false;
}




