function initImageChange() {
	var W3CDOM = (document.createElement && document.getElementsByTagName);
	if (!W3CDOM) return;
	
	var imagelinks = document.getElementById('thumbs').getElementsByTagName('a');
	for (var i=0; i<imagelinks.length; i++) {
		if (imagelinks[i].firstChild) {
		    imagelinks[i].href = '#'+imagelinks[i].firstChild.id;
		    imagelinks[i].onclick = imageChange;
		}
	}
	
	var textlinks = document.getElementById('text').getElementsByTagName('a');
	for (var j=0; j<textlinks.length; j++) {
		if (textlinks[j].href.indexOf('.jpg') > 0
		 || textlinks[j].href.indexOf('#') > 0) {
		    textlinks[j].onclick = imageChange;
		}
	}
}



function imageChange() {
	if (this.firstChild && this.firstChild.src) {
		// imagelink
		// alert('case 1');
		var newImage = this.firstChild.src.replace('/thumbs/', '/images/');
		var newCaption = this.parentNode.childNodes[1].innerHTML;
		var returnvalue = true;
	} else if (this.href && this.href.indexOf('.jpg') > 0) {
		// textlink, no thumbnail
		// alert('case 2');
		var newImage = this.href;
		var newCaption = '&nbsp;';
		var returnvalue = false;
	} else if (this.href && this.href.indexOf('#') > 0) {
		// textlink, thumbnail
		// alert('case 3');
		document.location.reload(false);
		return true;
		/*
		var fragment = this.href.split('#')[1];
		if (document.getElementById(fragment)) {
			var newImage = document.getElementById(fragment).src.replace('/thumbs/', '/images/').replace('-mini', '');
			var newCaption = document.getElementById(fragment).parentNode.parentNode.childNodes[1].innerHTML;
			var returnvalue = false;
		}
		*/
	} else if (document.location.href.indexOf('#') > 0) {
		// bookmark
		// alert('case 4');
        var fragment = document.location.href.split('#')[1];
		if (document.getElementById(fragment)) {
			var newImage = document.getElementById(fragment).src.replace('/thumbs/', '/images/');
			var newCaption = document.getElementById(fragment).parentNode.parentNode.childNodes[1].innerHTML;
			var returnvalue = true;
		}
	}

	if (newImage && newCaption) {
		// get current image and copy to background
		currentImage = document.getElementById('zoom');
		currentImage.parentNode.style.background = 'url('+currentImage.src+')';
		
        // set opacity to 0 and replace old image with new image (but completely transparent)
        setOpacity(currentImage, 0);
        currentImage.src = newImage;
        
        // make new image less and less transparent
        opacity = 0;
        fadeTimer = setInterval("fade()", 5);
        
        // change text
        currentCaption = document.getElementById('caption');
        currentCaption.innerHTML = '';
        currentCaption.innerHTML = newCaption;
        
        // return true if fragment link (no pageload)
        // return false if image link (to avoid pageload)
        return returnvalue;
	}
}


function fade() {

	opacity += 5;

	if (opacity <= 100) {
		setOpacity(currentImage, opacity);
	} else {
		clearInterval(fadeTimer);
	}
}






function setOpacity(obj, opacity) {
  // http://www.clagnut.com/sandbox/imagefades/

  opacity = (opacity == 100) ? 99.999 : opacity;
  
  // IE/Win
  obj.style.filter = "alpha(opacity:"+opacity+")";
  
  // Safari<1.2, Konqueror
  obj.style.KHTMLOpacity = opacity/100;
  
  // Older Mozilla and Firefox
  obj.style.MozOpacity = opacity/100;
  
  // Safari 1.2, newer Firefox and Mozilla, CSS3
  obj.style.opacity = opacity/100;
}



function shiftdir(speed) {
	var shift = document.getElementById('shift');

	// alert(shift.src);
	if (shift.src.indexOf('/graphics/arrow-right-dark.gif') >= 0) {
		dw_scrollObj.scrollBy('thumbs', -42*speed, 0);
		// return false;
	} else if (shift.src.indexOf('/graphics/arrow-left-dark.gif') >= 0) {
		dw_scrollObj.scrollBy('thumbs', 42*speed, 0);
		// return false;
	}
}