	var zoom_obj =null;
	var ev = null;
 	var zoomImage =null;
 	var magnifierImage = null;

	function zoom_init(zoom_object,evt,zoomDiv_id){
		zoom_object.style.opacity = 0;
  		zoom_object.style.filter = 'alpha(opacity=0)';
		zoom_obj = zoom_object;
		zoomImage = document.getElementById(zoomDiv_id);
		magnifierImage = zoomImage.getElementsByTagName("img")[0];
		if(window.addEventListener){ // Mozilla, Netscape, Firefox
			zoom_obj.onmousemove=zoom;
		} else { // IE
			zoom_obj.attachEvent('onmousemove', zoom);
		}
	}
	
	function zoom(e)
	{
		ev = fixE(e);
			if(zoomImage){
				zoomImage.style.position ="absolute";
				zoomImage.style.display ="block";
				var lastLeft = (ev.layerX - zoomImage.offsetWidth/2);
				var lastTop =(ev.layerY - zoomImage.offsetHeight/2);
				var extraLeft=0;
				var extraTop=0;
				
				if(parseFloat(ev.layerX)<=75){
					zoomImage.style.left ="0px";
					zoomImage.style.width = (ev.layerX+75) + "px";
					extraLeft=75-ev.layerX;
				}else if(parseFloat(ev.layerX)>=419){
					zoomImage.style.left = ( ev.layerX - 75 )  +"px";
					zoomImage.style.width = ( ( 494 - ev.layerX )  + 75 ) +"px";
					extraLeft=-(150 - ( ( 494 - ev.layerX )  + 75 ));
				}else{
					zoomImage.style.left =lastLeft +"px";
					zoomImage.style.width ="150px";
					extraLeft=0;
				}
				
				if(parseFloat(ev.layerY)<=75){
					zoomImage.style.top ="0px";
					zoomImage.style.height = (ev.layerY+75) + "px";
					extraTop=75-ev.layerY;
				}else if(parseFloat(ev.layerY)>=281){
					zoomImage.style.top = ( ev.layerY - 75 )  +"px";
					zoomImage.style.height = ( ( 356 - ev.layerY )  + 75 ) +"px";
					extraTop=-(150 - ( ( 356 - ev.layerY )  + 75 ));
				}else{
					zoomImage.style.top =lastTop +"px";
					zoomImage.style.height ="150px";
					extraTop=0;
				}	
				
				if(magnifierImage){
					var ratioH = zoom_obj.offsetHeight/magnifierImage.offsetHeight;
					var ratioW = zoom_obj.offsetWidth/magnifierImage.offsetWidth;
					var lastLeftImg = ( -ev.layerX / ratioW + zoomImage.offsetWidth/2 - extraLeft/2 );
					var lastTopImg = ( -ev.layerY / ratioH + zoomImage.offsetHeight/2 - extraTop/2 );
					magnifierImage.style.left =lastLeftImg +"px";
					magnifierImage.style.top = lastTopImg+"px";
				}
			}
		//window.status="WAIT X="+ev.layerX+" Y="+ev.layerY + " lastLeft=" + lastLeft + " lastTop="+lastTop + " zoomImage.offsetWidth="+zoomImage.offsetWidth + " extraLeft="+extraLeft ;
	}
	

	function zoomEnd()
	{
		if(zoomImage){
		zoomImage.style.display ="none";
		}
	}
	
	 function fixE(e)
	{
		if (typeof e == 'undefined') e = window.event;
		if (typeof e.layerX == 'undefined') e.layerX = e.offsetX;
		if (typeof e.layerY == 'undefined') e.layerY = e.offsetY;
		return e;
	}