/**
 * ger ett elements koordinater
 * helper till begood_image_swapper
 */
function begood_image_swapper_findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

/**
 * byter en bild. visas "ajax-loading" under laddning.
 * används av phpfunktionen begood_image_swapper
 */
function begood_image_swapper(args) {
	var img = document.getElementById(args.targetImg);
	imgPos = begood_image_swapper_findPos(img);
	if (img) {
		newImage = document.createElement("img");
		// när bild laddats: ta bort laddar-animation, byt bild, uppdatera bildtext
		newImage.onload = function() {
			document.body.removeChild(imgLoading);
			img.src = newImage.src;	
			c = document.getElementById(args.captionTarget);
			if (c) {
				c.innerHTML = unescape(args.caption);
			}
		}

		// div med snurrigt ajaxhjul placeras mitt över bilden. inaktiveras på onload på bilden
		var divLoading = document.createElement("div");
		var imgLoading = document.createElement("img");
		//img.src = "/begood/pix/spacer.gif"; // löser image-strech problemet i Safari
		imgLoading.src = "/begood/pix/loading_animation.gif";
		imgLoading.style.position = "absolute";
		imgLoading.style.left = imgPos[0] + (img.width/2)-8 + "px";
		imgLoading.style.top = imgPos[1] + (img.height/2)-8 + "px";
		document.body.appendChild(imgLoading);

		// sätt src på nya bilden och vänta på onload
		newImage.src = args.newSrc;		
		
		// markera länk som aktiv
		ul = document.getElementById(args.ulID);
		a = ul.getElementsByTagName("a");
		for (i=0; i<a.length; i++) {
			a[i].className = "";
		}
		args.t.className = "selected";
		
		// vid klick på stora bilden
		if (args["imageOnClick"]) {
			if (args["imageOnClick"] == "gotoNextImage") {
				nextLI = args.t.parentNode.nextSibling;
				if (nextLI) {
					img.onclick = function() { nextLI.childNodes[0].onclick(); }
				} else {
					img.onclick = null;
				}
			}
		}
								
	}
	
	return false;
}

