/*
Deze js bevat functies voor .gif, .png en .jpg.
*/


/*
Deze functie kijkt naar alle plaatjes die op 0 eindigen zoals: image0.gif en laad dan de 1 versie ervan in, bijv: image1.gif.

Bij onload aanroepen dus: <body onload="preloadImages();">
*/
function preloadImages() {
	documentImages = document.getElementsByTagName('img');
	imagesPreloaded = [];
	for (i=0;i<documentImages.length;i++) {
		curSource = documentImages[i].src;
		if (curSource.match(/0\.(?:gif|jpg|png)$/i)) {
			newSource = curSource.replace(/(?:1|0)(\.gif|\.jpg|\.png)$/i, '1$1');
			imagesPreloaded[imagesPreloaded.length] = new Image();
			imagesPreloaded[imagesPreloaded.length-1].src = newSource;
		}
	}
}

/*
Deze functie is geschreven om makkelijker plaatjes op onmouseover te switchen en weer terug bij onmouseout.
image0.gif switched ie naar image1.gif.
Extra feature: Als het plaatje al image1.gif is bij onmouseover dan switch hij hem bij onmouseout niet naar image0.gif.

Gebruik:
 onmouseover="moImage(this)" onmouseout="moImage(this)
*/
function moImage(obj,event) {
	
	for (i=0;i<obj.childNodes.length;i++) {
		if (typeof obj.childNodes[i].src != 'undefined') {
			curSource = obj.childNodes[i].src;
			if (or = curSource.match(/(1|0)\.(?:gif|jpg|png)$/i)) {
				if (event.type == 'mouseover' && or[1] == 1) {
					selectedType = obj.childNodes[i];
				}
				if (event.type == 'mouseover') {
					newSrcState = 1;
				} else if (event.type == 'mouseout') {
					newSrcState = 0;
				}
				newSource = curSource.replace(/(?:1|0)(\.gif|\.jpg|\.png)$/i, newSrcState+'$1');			
				if (typeof selectedType != 'undefined') {
					if (obj.childNodes[i] != selectedType) {
						obj.childNodes[i].src = newSource;
					}
				} else {
					obj.childNodes[i].src = newSource;
				}
			}
		}
	}
}


function _get_offset(obj) {
	var offset;
	
	if (typeof obj.x != 'undefined' && obj.offsetParent == 'undefined') {
		offset = {x: obj.x, y: obj.y};
	} else {	
		var offset = {x: obj.offsetLeft, y: obj.offsetTop};
		while (obj.offsetParent != null) {
			obj = obj.offsetParent;
			offset['x'] += obj.offsetLeft;
			offset['y'] += obj.offsetTop;
		}
	}
	return offset;
}
