// JavaScript Document

var aPositions = new Array();
aPositions[0] = 1;
aPositions[1] = 2;
aPositions[2] = 3;
aPositions[3] = 4;

var nPicture  = 1;
var nAction = true;

function movePicture(pDirection) {
	if(nAction) {
		nAction = false
		switch(pDirection) {
			case 'next' :
				//	Niet verder dan de laatste afbeelding
				var newPic = parseInt(nPicture) + 1;
				if(getPositions(3) < nPictures) {
					if(getPositions(0) == 1) {
						if(newPic < 4) {
							loadPicture(newPic);
						}
						else {
							showPicture(newPic);
						}
					}
					else {
						showPicture(newPic);
					}
					
				}
				else if(getPositions(3) == nPictures && newPic == nPictures) {
					loadPicture(newPic);
				}
				else {
					loadPicture(nPictures);
				}
			break;
			case 'prev' :
				//	Niet verder dan de eerste afbeelding
				var newPic = parseInt(nPicture) - 1;
				if(getPositions(0) > 1) {
					showPicture(newPic);
				}
				else {
					if(getPositions(0) == 1 && nPicture != 1) {
						loadPicture(newPic);
					}
					else {
						loadPicture(1);
					}
				}
			break;
		}
	}
}

function showPic(pPictureID) {
	if(nAction) {
		nAction = false
		showPicture(pPictureID);
	}
}

function showPicture(pPictureID) {
	//	Als de foto die aangeklikt is niet gelijk is aan de huidige foto
	if(pPictureID != nPicture) {
		if(getPositions(0) == pPictureID && pPictureID > 1) {
			//	1x naar rechts
			moveThumbs('prev');
		}
		else if(getPositions(3) == pPictureID && pPictureID < nPictures && getPositions(1) != pPictureID) {
			//	1x naar links
			moveThumbs('next');
		}	
	}
	loadPicture(pPictureID);
}

function moveThumbs(pDirection) {
	var newPosition = '';
	if(pDirection == 'prev') {
		newPosition = 118;
		newFirstElement = parseInt(getPositions(0) - 1);
	}
	else {
		newPosition = -118;
		newFirstElement = parseInt(getPositions(0) + 1);
	}
	new Effect.MoveBy('thumbswrapper', 0, newPosition, { 
		duration: 0.5, 
		afterFinish: function() { 
			updatePositions(newFirstElement);
		}
	});	
}

function loadPicture(pPictureID) {
	$('foto_groot2').src = getPicture(pPictureID);
	new Effect.Fade('foto_groot', { 
		duration: 0.9, 
		from: 1.0, 
		to: 0.0,
		afterFinish: function() { 
			nAction = true; 
			$('foto_groot').src = getPicture(pPictureID); 
			new Effect.Appear('foto_groot', { 
				duration: 0.1, 
				from: 0.0, 
				to: 1.0
			}); 
		} 
	});
	$('thumb_item'+nPicture).className = 'rand_klein'; 
	$('thumb_item'+pPictureID).className = 'rand_klein_select'; 
	nPicture = pPictureID;
	$('nummer').innerHTML = nPicture;
}

function getPicture(pPictureID) {
	return aPictures[parseInt(pPictureID - 1)];
}

function getPositions(pKey) {
	return aPositions[pKey];
}

function updatePositions(pFirstPicture) {
	count = pFirstPicture;
	for(i = 0; i < 4; i++) {
		aPositions[i] = count;
		count++;
	}
}