/* X-ray mouse script by Paul Anderson, copyright 2001 CNET Builder.com.
   May be freely used with attribution. Not for resale. */

var divX,divY,swtDiv,showWidth,showHeight;
showWidth=160;
showHeight=90;

function initEvents() {

swtDiv=document.getElementById?document.getElementById("swtHidden"):document.all?document.all["swtHidden"]:document.layers?document.layers["swtHidden"]:null;
shownDiv=document.getElementById?document.getElementById("shown"):document.all?document.all["shown"]:document.layers?document.layers["shown"]:null;
enterDiv=document.getElementById?document.getElementById("enter"):document.all?document.all["enter"]:document.layers?document.layers["enter"]:null;          
rightDiv=document.getElementById?document.getElementById("lookright"):document.all?document.all["lookright"]:document.layers?document.layers["lookright"]:null;          
	

	if (document.layers) {
		
		swtDiv.style=swtDiv;
		
		//inserted
		shownDiv.top = pageYOffset+0.3*(window.innerHeight - shownDiv.clip.height);
		shownDiv.left = pageXOffset;
		shownDiv.visibility = "show";

		swtDiv.top = shownDiv.top;
		swtDiv.left = shownDiv.left;
		swtDiv.visibility = "show";

		enterDiv.top = shownDiv.top+shownDiv.clip.height+10;
		enterDiv.left = shownDiv.left+shownDiv.clip.width-enterDiv.clip.width;
		enterDiv.visibility = "show";

		rightDiv.top = shownDiv.top+shownDiv.clip.height+10;
		rightDiv.left = 10;
		rightDiv.visibility = "show";

		//swtDiv.top = pageYOffset+0.5*(window.innerHeight - swtDiv.clip.height);
		//swtDiv.left = pageXOffset+0.5*(window.innerWidth - swtDiv.clip.width);

        document.captureEvents(Event.MOUSEMOVE);
    
	} else if(document.all) {

		swtDiv.style.pixelTop=document.body.scrollTop 
			+ 0.3*(document.body.clientHeight - swtDiv.offsetHeight);
		swtDiv.style.pixelLeft=document.body.scrollLeft;
		swtDiv.style.visibility = "visible";

		
		shownDiv.style.pixelTop=swtDiv.style.pixelTop;
		shownDiv.style.pixelLeft=swtDiv.style.pixelLeft;
		shownDiv.style.visibility = "visible";

		/*shown.filters.blendTrans.stop();
		shown.filters.blendTrans.apply();
		document.all.shown.filters.blendTrans.play();*/

		enterDiv.style.pixelTop=swtDiv.style.pixelTop+swtDiv.offsetHeight+10;
		enterDiv.style.pixelLeft=swtDiv.style.pixelLeft+swtDiv.offsetWidth-enterDiv.offsetWidth;
		enterDiv.style.visibility = "visible";

		rightDiv.style.pixelTop=swtDiv.style.pixelTop+swtDiv.offsetHeight+10;
		rightDiv.style.pixelLeft=10;
		rightDiv.style.visibility = "visible";
	
	} else if(document.getElementById) {
		
		var theBody = document.getElementsByTagName("body")[0];
		//inserted
		shownDiv.style.top = theBody.offsetTop+0.3*(parseInt(window.innerHeight) - shownDiv.offsetHeight);
		shownDiv.style.left = 0;
		shownDiv.style.visibility = "visible";

		swtDiv.style.top = shownDiv.style.top;
		swtDiv.style.left = 0;
		swtDiv.style.visibility = "visible";

		enterDiv.style.top = shownDiv.style.top+ shownDiv.offsetHeight+10;
		enterDiv.style.left = parseInt(shownDiv.style.width) - parseInt(enterDiv.style.width);
		enterDiv.style.visibility = "visible";

		rightDiv.style.top = shownDiv.style.top+shownDiv.offsetHeight+10;
		rightDiv.style.left = 10;
		rightDiv.style.visibility = "visible";

		//swtDiv.top = pageYOffset+0.5*(window.innerHeight - swtDiv.clip.height);
		//swtDiv.left = pageXOffset+0.5*(window.innerWidth - swtDiv.clip.width);

        document.captureEvents(Event.MOUSEMOVE);

	}
    
	if (swtDiv) {
		
		document.onmousemove=doMouse;
		//setInterval("alert(''+document.body.scrollLeft)",3000);
    }
}
  
window.onload=initEvents;

function doMouse(arg){
	ev=arg?arg:event;
    divX=(ev.pageX?ev.pageX:(ev.clientX+document.body.scrollLeft))-parseInt(swtDiv.style.left);
    divY=(ev.pageY?ev.pageY:ev.clientY)-parseInt(swtDiv.style.top);
    if (swtDiv.clip) {
		/* Nav 4 bugs addresed here: clip outside layer deactivates links,
           event.pageX|pageY of zero evaluates as NaN. Go figure. */
        swtDiv.clip.left=(divX>showWidth/2)?divX-showWidth/2:0;
        swtDiv.clip.top=(divY>showHeight/2)?divY-showHeight/2:0;
        newRight=(isNaN(divX)?0:divX)+showWidth/2;
        maxRight=swtDiv.document.images[0].width;
        swtDiv.clip.right=(newRight<maxRight)?newRight:maxRight;
        newBottom=(isNaN(divY)?0:divY)+showHeight/2;
        maxBottom=swtDiv.document.images[0].height;
        swtDiv.clip.bottom=(newBottom<maxBottom)?newBottom:maxBottom;
    } else {
		swtDiv.style.clip="rect("+(divY-showHeight/2)+" "+(divX+showWidth/2)+" "+(divY+showHeight/2)+" "+(divX-showWidth/2)+")";
	}
}
