var vrfr=new Array(frames);var RGraphicWidth=GraphicWidth+WinWidth;var Steps=(Math.round(WinWidth/blocksize));var halfsteps=0;var WinWidth=Steps*blocksize;var j=0;var CurrentPanoX=(-WinWidth);var CurrentPanoY=((WinHeight/2)-(GraphicHeight/2));var REF=new Array(Steps);var sy=new Array(Steps);var BI=document.all,BQ=document.layers,BZ=document.getElementById;var mouseisup=1;var moving=0;var go=0;var degree=0;var degreestep=180/(Steps-1);var distoffset=0;for (i=0; i<frames; i++) {	vrfr[i]=new Image();	vrfr[i].src=prefix+i+"."+suffix;	}function setup() {	for (i=0; i<halfsteps; i++) {		if (BZ) {			REF[i]=document.getElementById('slice'+i);			}		else if (BQ) {			REF[i]=document['pano'].document['slice'+i];			}		else if (BI) {			REF[i]=document.all['slice'+i];			}		}	go=1;	runmovie();	moveit();	}	function spinpano() {	if (go) {		if (BQ) {document.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP);}		document.onmouseup=stoptracking;		document.onmousemove=starttracking;		}	}function starttracking(evt) {	if (BQ) {		Xpos=evt.pageX;		Ypos=evt.pageY;		}	else if (BI) {		Xpos=window.event.clientX;		Ypos=window.event.clientY;		window.event.cancelBubble='true';		}	else if (BZ) {		Xpos=evt.clientX;		Ypos=evt.clientY;		}	if (mouseisup) {		StartX = Xpos;		StartY = Ypos;		mouseisup=0;		}	ymoveby=(StartY-Ypos)*factor;	xmoveby=(StartX-Xpos)*factor;	if (ymoveby<-range) {ymoveby=-range;}	if (ymoveby>range) {ymoveby=range;}	if (xmoveby<-range) {xmoveby=-range;}	if (xmoveby>range) {xmoveby=range;}	if (!(moving)) {moveit();}	return false;	}			function stoptracking(evt) {	clearTimeout(PanTimer);	if (BQ) {		document.releaseEvents(Event.MOUSEMOVE | Event.MOUSEUP);		}	else if (BI) {		document.onmousemove=null;		document.onclick=null;		window.event.cancelBubble=true;		}	else if (BZ) {		document.onclick=null;		document.onmousemove=null;		}	mouseisup=1;	moving=0;	}	function moveit() {		NewPanoX=(CurrentPanoX+xmoveby);	NewPanoY=(CurrentPanoY+ymoveby);	if (NewPanoX>0) {NewPanoX=(WinWidth-RGraphicWidth)+blocksize;}	if (NewPanoX<(WinWidth-RGraphicWidth)) {NewPanoX=-blocksize;}		if (NewPanoY<(WinHeight-GraphicHeight)) {NewPanoY=(WinHeight-GraphicHeight);}	if (NewPanoY>0) {NewPanoY=0;}		if (BQ) {drawnet();}	else {drawie();}			CurrentPanoX=NewPanoX;	CurrentPanoY=NewPanoY;	if (go) {		moving=1;		PanTimer = setTimeout('moveit()',panspeed);		}	}function drawnet() {	for (n=0; n<halfsteps; n++) {		rn=n*blocksize;		PTop=(NewPanoY+sy[n]);		TopClip=-(NewPanoY+sy[n]);		BottomClip=-(NewPanoY-(WinHeight-sy[n]));		LeftClip=(-NewPanoX+rn);		RightClip=(-NewPanoX+WinWidth)-rn;		REF[n].moveTo(NewPanoX,(PTop));		REF[n].clip.top=TopClip;		REF[n].clip.right=RightClip;		REF[n].clip.bottom=BottomClip;		REF[n].clip.left=LeftClip;		}	}	function drawie() {	for (n=0; n<halfsteps; n++) {		rn=n*blocksize;		PTop=(NewPanoY+sy[n]);		TopClip=-(NewPanoY+sy[n]);		BottomClip=-(NewPanoY-(WinHeight-sy[n]));		LeftClip=(-NewPanoX+rn);		RightClip=(-NewPanoX+WinWidth)-rn;		REF[n].style.left=(NewPanoX)+"px";		REF[n].style.top=(PTop)+"px";		REF[n].style.clip='rect('+TopClip+'px '+RightClip+'px '+BottomClip+'px '+LeftClip+'px)';		}	}	function runmovie() {	if (j>=frames) {j=0;}	for (n=0; n<halfsteps; n++) {		document['vrmovie'+n].src=vrfr[j].src;		}	j++;	if (frames>1) {MovieID= setTimeout('runmovie()',moviespeed);}	}