
var maxW,maxH,fromX,fromY,toX,toY,adjX,adjY,zBox,zStep=0,zLink,zNew;

function zoomBox(evt,zlink,maxw,maxh,tox,toy) 
	{
		if (arguments.length > 2) zNew=1;
		scrollH=(window.pageYOffset!=null)?window.pageYOffset:document.body.scrollTop;
		maxW=maxw?maxw:window.innerWidth?innerWidth:document.body.clientWidth;
		maxH=maxh?maxh:window.innerHeight?innerHeight:document.body.clientHeight;
		toX=tox?tox:0;
		toY=(toy?toy:0)+scrollH;
		fromX=evt.pageX?evt.pageX:evt.clientX;
		fromY=(evt.pageY?evt.pageY:evt.clientY)+(document.all?scrollH:0);
//		adjX=toX+evt.screenX-fromX;
//		adjY=toY+evt.screenY-fromY;
		adjX=0;
		adjY=0;
		
		if (document.createElement && document.body.appendChild && !zBox) 
		{
			zBox=document.createElement("div");
			zBox.style.position="absolute";
			document.body.appendChild(zBox);
		}
		else if (document.all && !zBox) 
		{
			document.all[document.all.length-1].outerHTML+='<div id="zBoxDiv" style="position:absolute"></div>';
			zBox=document.all.zBoxDiv;
		}
		else if (document.layers && !zBox) 
		{
			zBox=new Layer(maxW);
			zBox.style=zBox;
		}
		
		zLink=zlink;
		doZoom();
	}
	
function doZoom() 
	{
		zStep+=1;
		zPct=(10-zStep)/10
		
		if (document.layers) 
		{
			zBox.moveTo(toX+zPct*(fromX-toX),toY+zPct*(fromY-toY));
			zBox.document.open();
			zBox.document.write("<table width='"+maxW*(1-zPct)+"' height="+maxH*(1-zPct)+" border=2 cellspacing=0><tr><td></td></tr></table>");
			zBox.document.close();
		} 
		else 
		{
			zBox.style.border="2px solid #999999";
			zBox.style.left=toX+zPct*(fromX-toX);
			zBox.style.top=toY+zPct*(fromY-toY);
			zBox.style.width=maxW*(1-zPct);
			zBox.style.height=maxH*(1-zPct);
		}
		
		zBox.style.visibility="visible";
		if (zStep < 10) setTimeout("doZoom("+fromX+","+fromY+","+toX+","+toY+")",30);
		else 
		{
			zBox.style.visibility='hidden';
			zStep=0;
			if (zLink && !zNew) location.href=zLink.href;
			else if (zLink && zNew) 
			{
				var w=window.open(zLink.href,'','scrollbars=yes,resizable=yes, width='+maxW+',height='+maxH+',left='+adjX+',top='+adjY);
				zNew=null;
			}
		}
	}
