
function initThumbs() {
	preloadQuantity = 3;
	thumbPos = 0;
	thumbsElem = document.getElementById('thumbs');
	thumbTI = null;
	hidePhotoTO = null;
	
	currentPhoto = 0;
	photos = new Array;
	
	var links = thumbsElem.getElementsByTagName('a');
	for (var i=0; i<links.length; i++) {
		photos[i] = links[i].href;
	}
	
	preloadedPhotos = new Array;

	var photo = document.getElementById('photo');
	setPhotoAttributes(photo);
	photo.onload = preloadNext;

	disableSelection("thumbs");
	disableSelection("photo-area");
	disableSelection("thumb-arrow-left");
	disableSelection("thumb-arrow-right");
}

function disableSelection(elemId) {
	var elem = document.getElementById(elemId);
	elem.onselectstart = function () { return false; }
	elem.onmousedown = function () { return false; }
}

function setPhotoAttributes(photo) {
	//photo.onclick = changePhoto;
	photo.useMap = '#photo-map';
	
	// set area coords
	var width  = photoSizes[currentPhoto].width;
	var height = photoSizes[currentPhoto].height;
	
	// left half
	var x1 = 0;
	var y1 = 0;
	var x2 = Math.round(width/2);
	var y2 = height;
	
	document.getElementById('left-coords').setAttribute('coords', x1 + "," + y1 + ',' + x2 + ',' + y2);
	
	// right half
	var x1 = Math.round(width/2)+1;
	var y1 = 0;
	var x2 = width;
	var y2 = height;
	
	document.getElementById('right-coords').setAttribute('coords', x1 + "," + y1 + ',' + x2 + ',' + y2);
}
	

function moveThumbs(dir) {
	stopThumbMove();
	
	var moveBy = (dir == 'right') ? -3 : 3;
	timeoutFunction = 'moveThumbsByStep(' + moveBy + ')';
	
	thumbTI = setTimeout(timeoutFunction, 20);
}

function moveThumbsByStep(moveBy) {
	
	thumbPos += moveBy;
	if (thumbPos > 0) {
		thumbPos = 0;
	} else if (thumbPos < -maxScroll) {
		thumbPos = -maxScroll;
	}
	
	thumbsElem.style.marginLeft = thumbPos + "px";	
	thumbTI = setTimeout(timeoutFunction, 20);
}


function stopThumbMove() {
	if (thumbTI) {
		clearTimeout(thumbTI);
		thumbTI = null;
	}
}

function displayPhoto(photoNumber) {
	var previous = currentPhoto;
	
	var photo = document.getElementById('photo');
	var url = preloadedPhotos[photoNumber] ? preloadedPhotos[photoNumber].src : photos[photoNumber];
	
	var parent = photo.parentNode;
	parent.removeChild(photo);
	
	var photo = document.createElement('img');
	
	if (typeof(photoNumber) != 'undefined' && photoNumber !== null) {
		currentPhoto = photoNumber;
	}
	var diff = currentPhoto - previous;
	if (diff == 1) {
		photo.onload = preloadNext;
	} else if (diff == -1) {
		photo.onload = preloadPrevious;
	}
	
	photo.src = url;
	photo.id = 'photo';
	photo.style.width = photoSizes[photoNumber].width + "px";
	photo.style.height = photoSizes[photoNumber].height + "px";
	parent.appendChild(photo);
	setPhotoAttributes(photo);
}


function changePhoto(dir) {
	var photoNumber = currentPhoto;
	if (dir == 'previous') {
		photoNumber--;
	} else {
		photoNumber++;
	}
	
	if (photoNumber < 0) {
		photoNumber = photos.length - 1;
	} else if (photoNumber >= photos.length) {
		photoNumber = 0;
	}
	displayPhoto(photoNumber);
}


function preloadNext() {
	for (var i = currentPhoto+1; (i < photos.length && i <= currentPhoto+preloadQuantity); i++) {
		preloadPhoto(i);
	}
}

function preloadPrevious() {
	for (var i = currentPhoto-1; (i >= 0 && i >= currentPhoto-preloadQuantity); i--) {
		preloadPhoto(i);
	}
}

function preloadPhoto(photoNumber) {
	if (!preloadedPhotos[photoNumber]) {
		preloadedPhotos[photoNumber] = new Image;
		preloadedPhotos[photoNumber].src = photos[photoNumber];
	}
}
		


function showLeftPhotoArrows(state) {
	var className = state ? "visible" : "hidden";
	document.getElementById('arrow-left').firstChild.style.visibility = className;
}
function showRightPhotoArrows(state) {
	var className = state ? "visible" : "";
	document.getElementById('arrow-right').firstChild.style.visibility = className;
}


function showThumbArrows(state) {
	var className = state ? "visible" : "";
	document.getElementById('thumb-arrow-left').className = className;
	document.getElementById('thumb-arrow-right').className = className;
}



function initEmAdd() {
	var emaddElem = document.getElementById('coords');
	if (emaddElem) {
		var emad = "ma"+"il@"+"mat"+"thia"+"sdah"+'l.d'+ 'e';
		emaddElem.href = "mai" + "lto" + ":" + emad;
	}
}


function unfadeThumbArrows() {
	if (typeof fadeTI != 'undefined') {
		clearInterval(fadeTI);
	}
	ta = document.getElementById('thumbs-wrapper');
	ta.style.opacity = 1;
	ta.style.filter = "alpha(opacity=100)";
	
}

function fadeThumbArrows() {
	ta = document.getElementById('thumbs-wrapper');
	fadeTI = setInterval("fadeStep()", 20);
	fadeValue = 100;
	fadeTo = 16;
}

function fadeStep() {
	fadeValue -= 4;
	if (fadeValue < fadeTo) {
		fadeValue = fadeTo;
		clearInterval(fadeTI);
	}
	
	ta.style.opacity = fadeValue/100;
	ta.style.filter = "alpha(opacity=" + fadeValue + ")";
}


function openSite(link) {
  y = 0
  width=1000;
  height=680;

  if(height > screen.availHeight)
  { ah = screen.availHeight
  }
  else 
  { ah=height;
    y = (screen.availHeight-height)/2
  }

  x = (screen.width/2)-(width/2)
  if (x < 0)
  {x=0
  }

  settings="width="+width+",height="+ah
			+",top="+y+",left="+x
			+",screenY="+y+",screenX="+x
			+",resizable=1,status=0,scrollbars=1"

  win=window.open(link.href,"MatthiasDahl",settings);
  win.focus()
	
	
}



