/**
 * 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";
								
	}
	
	return false;
}

