
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

//start popup image

function init() {
	this.ns4 = (document.layers)? true:false;
	this.ns6 = (document.getElementById)? true:false;
	this.ie4 = (document.all)? true:false;
	this.ie5 = false;
	this.ie6 = false;
	this.mac = (navigator.userAgent.indexOf('Mac') > 0) ? true:false;

	if (ie4) {
		if (navigator.userAgent.indexOf('MSIE 5') > 0) {
			ie5 = true;
		} else if (navigator.userAgent.indexOf('MSIE 6') > 0) {
			ie6 = true;
			//ie4 = false;
		}
		if (ns6) {
			ns6 = false;
		}
	}
}

function getPos(obj) {
	var x = 0, y = 0;
	for (o = obj; o != null; o = o.offsetParent) {
		x += o.offsetLeft - o.scrollLeft;
		y += o.offsetTop - o.scrollTop;
	}
	if (ie5) {
		x -= document.documentElement.scrollLeft;
		y -= document.documentElement.scrollTop;
	}
	return {x:x, y:y};
}

function getHeight(obj) {
	height = 0;
	if (ie4)
		height = obj.offsetHeight;
	else if (ns4)
		height = obj.offsetHeight;
	else if (ns6)
		height = obj.offsetHeight;
	return height;
}

function getWidth(obj) {
	width = obj.offsetWidth;
	return width;
}

function hideImage(divName) {
	div = MM_findObj(divName);
	if (!div) return;
	div.style.display = "none";
}

var img, div;
var target;

function showImage(evt, url, divName, posType, posAlign, posTop, posLeft) {

	if (typeof(ie6) == 'undefined')
		init();
	
	div = MM_findObj(divName);
	if (!div) return;

	winoffset = (ie6) ? document.documentElement.scrollLeft : (ie4) ? document.body.scrollLeft : pageXOffset;
	if (ie4) iwidth = document.body.clientWidth;
	if (ns4) iwidth = innerWidth;
	if (ns6) iwidth = outerWidth;

	scrolloffset = (ie6) ? document.documentElement.scrollTop : (ie4) ? document.body.scrollTop : pageYOffset;
	if (ie4) iheight = document.body.clientHeight;
	if (ns4) iheight = innerHeight;
	if (ns6) iheight = outerHeight;

	img = new Image();
	img.src = url;
	
	target = (evt.target) ? evt.target : evt.srcElement;
	
	popupImage(posType, posAlign, posTop, posLeft);
}

function popupImage(posType, posAlign, posTop, posLeft) {
	if (img == null || target == null || div == null)
		return;
	
	if (!img.complete) {
		setTimeout("popupImage('" + posType + "','" + posAlign + "'," + posTop + "," + posLeft + ")", 10);
		return;
	}
	
	imgWidth = img.width;
	imgHeight = img.height;
	
	initialDivWidth = 39;
	initialDivHeight = getHeight(div);

	div.innerHTML = '<img src="' + img.src + '" />';
	
	div.style.display = "block";
	
	divWidth = getWidth(div);
	divHeight = getHeight(div);
	
	//alert('imgWidth: ' + imgWidth + '\r\ninitialDivWidth: ' + initialDivWidth + '\r\ndivWidth: ' + divWidth);
	
	//alert(target);

	if (posType == 0) {	//absolute to window
		yPos = (scrolloffset + posTop);
		xPos = (winoffset + posLeft);
	}
	else if (posType == 1) {	//above item
		//elem = (evt.target) ? evt.target : evt.srcElement;
		pos = getPos(target);

		xPos = pos.x + posLeft + winoffset;
		yPos = pos.y - divHeight + posTop + scrolloffset;
		if (yPos < 0)
			yPos = 0;
	}
	else if (posType == 2) {	//below item
		//elem = (evt.target) ? evt.target : evt.srcElement;
		pos = getPos(target);

		if (posAlign == 'left') {
			xPos = pos.x + posLeft + winoffset;
			yPos = pos.y + posTop + scrolloffset;
		} else {
			xPos = pos.x + getWidth(target) + posLeft + winoffset - imgWidth - initialDivWidth;
			yPos = pos.y + posTop;
		}
	}
	
	if (ns4) {
		div.top = yPos;
		div.left = xPos;
	} else if (ns6 || (mac && ie5)) {
		div.style.top = yPos + "px";
		div.style.left = xPos + "px";
	} else {
		div.style.top = yPos;
		div.style.left = xPos;
	}
	
	document.MM_returnValue = false; //block any page refresh
}

//end popup image