
//configure below variable for menu width, position on page
var menuwidth=110
var offsetleft=10
var offsettop=30

var ns4=document.layers?1:0
var ie4=document.all?1:0
var ns6=document.getElementById&&!document.all?1:0

function makeStatic() {
if (ie4) {object1.style.pixelTop=document.body.scrollTop+offsettop}
else if (ns6) {document.getElementById("object1").style.top=window.pageYOffset+offsettop}
else if (ns4) {eval(document.object1.top=eval(window.pageYOffset+offsettop));}
setTimeout("makeStatic()",0);
}

if (ie4||ns6) {document.write('<span ALIGN="CENTER" ID="object1" STYLE="Position:absolute; Top:20; Left:'+offsetleft+'; Z-Index:5;cursor:hand;background-color:black;"><TABLE BORDER="1" width="'+menuwidth+'" CELLPADDING="0" CELLSPACING="0" bgcolor="#C7C8FF">')}
else if (ns4){ document.write('<LAYER top="20" name="object1" left="'+offsetleft+'" BGCOLOR=black><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="1"><TR><TD><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" width="'+menuwidth+'">')}

if (ie4||ns6||ns4)
document.write('<TR><TD BGCOLOR="#FFC0FF" BORDERCOLORDARK="#FF20FF" BORDERCOLORLIGHT="#400040"><P ALIGN=CENTER><FONT SIZE="4" FACE=ARIAL><I>Menu</I></FONT></TD></TR>')

//configure below for menu items. Extend list as desired

var menui = new Array();
var menul = new Array();

menui[0]="Main";
menui[1]="History";
menui[2]="Downloads";
menui[3]="FAQ";
menui[4]="Features";
menui[5]="Screen Shots"
menui[6]="User Reviews";
menui[7]="Contact";

menul[0]="main.html";
menul[1]="history.html";
menul[2]="download.html";
menul[3]="faq.html";
menul[4]="features.html";
menul[5]="screen.html";
menul[6]="reviews.html";
menul[7]="mailto:Frank@fbrower.com";

for (i=0;i<=menui.length-1;i++)
if (ie4||ns6) {document.write('<TR><TD BORDERCOLOR="#C7C8FF" ONCLICK="location=\''+menul[i]+'\'" onmouseover="className=\'menuh\'" onMouseout="className=\'menu\'"><CENTER><FONT COLOR="purple">'+menui[i]+'</FONT></TD></TR>')}
else if (ns4){document.write('<TR><TD BGCOLOR="#C7C8FF"><ILAYER><LAYER width="'+menuwidth+'" onmouseover="bgColor=\'#FFC0FF\'" onmouseout="bgColor=\'#C7C8FF\'"><CENTER><FONT COLOR="purple"><A HREF="'+menul[i]+'" class=menulinks>'+menui[i]+'</A></FONT></CENTER></LAYER></ILAYER></TD></TR>')}
if (ie4||ns6) {document.write('</TABLE></span>')}
else if (ns4){document.write('</TABLE></TD></TR></TABLE></LAYER>')}

function menu3(){
if (ns6||ie4||ns4)

makeStatic()
}

<!--window.onload=menu3-->
window.onload=both

<!--//
var msg='Franks Programs!';
var font='Arial';
var size=3; // up to seven
var color='purple';

// This is not the rotation speed, its the reaction speed, keep low!
// Set this to 1 for just plain rotation w/out drag
var speed=.3;

// This is the rotation speed, set it negative if you want
// it to spin clockwise
var rotation=.2;

// Alter no variables past here!, unless you are good
//---------------------------------------------------
var ns=(document.layers);
var ie=(document.all);
var msg=msg.split('');
var n=msg.length; 
var a=size*15;
var currStep=0;
var ymouse=0;
var xmouse=0;
var scrll=0;
var props="<font face="+font+" size="+size+" color="+color+">";

if (ie)
window.pageYOffset=0

// writes the message
	if (ns){
	for (i=0; i < n; i++)
		document.write('<layer name="nsmsg'+i+'" top=0 left=0 height='+a+' width='+a+'><center>'+props+msg[i]+'</font></center></layer>');
	}
	if (ie){
		document.write('<div id="outer" style="position:absolute;top:0px;left:0px"><div style="position:relative">');
		for (i=0; i < n; i++)
			document.write('<div id="iemsg" style="position:absolute;top:0px;left:0;height:'+a+';width:'+a+';text-align:center;font-weight:regular;cursor:default">'+props+msg[i]+'</font></div>');
			document.write('</div></div>');
	}
	(ns)?window.captureEvents(Event.MOUSEMOVE):0;

function Mouse(evnt){
	ymouse = (ns)?evnt.pageY+20-(window.pageYOffset):event.y; // y-position
	xmouse = (ns)?evnt.pageX+20:event.x-20; // x-position
}

if (ns||ie)
(ns)?window.onMouseMove=Mouse:document.onmousemove=Mouse;
y=new Array();
x=new Array();
Y=new Array();
X=new Array();
for (i=0; i < n; i++){
	y[i]=0;
	x[i]=0;
	Y[i]=0;
	X[i]=0;
}

function makecircle(){ // rotation properties
if (ie) outer.style.top=document.body.scrollTop;
currStep-=rotation;
	for (i=0; i < n; i++){ // makes the circle
		var d=(ns)?document.layers['nsmsg'+i]:iemsg[i].style;
		d.top=y[i]+a*Math.sin((currStep+i*1)/3.8)+window.pageYOffset-15;
		d.left=x[i]+a*Math.cos((currStep+i*1)/3.8)*2; // remove *2 for just a plain circle, not oval
	}
}

function drag(){ // makes the resistance
	scrll=(ns)?window.pageYOffset:0;
	y[0]=Math.round(Y[0]+=((ymouse)-Y[0])*speed);
	x[0]=Math.round(X[0]+=((xmouse)-X[0])*speed);
	for (var i=1; i < n; i++){
		y[i]=Math.round(Y[i]+=(y[i-1]-Y[i])*speed);
		x[i]=Math.round(X[i]+=(x[i-1]-X[i])*speed);

	}
	makecircle();
	// not rotation speed, leave at zero
	setTimeout('drag()',10);
}
<!--if (ns||ie)window.onload=drag;-->

function both()
{
  menu3();
  if (ns||ie) drag();
}

// -->
