<!--
/* Cursor Trail - Configurable and self contained
This script provides a "cursor trail" for newer browsers. It is
ignored by by non compatible browsers. The effect may be customized
by changing the values of configurable variables.
You may use the JavaScript source code on your own personal web page
provided that the copyright information remains in the source code.
To use the script:
1) Set values of Configurable Variables as needed.
2) Place the script somewhere in your HTML document, preferably
in the HEAD section.
Copyright (c) by: Robert N Bovara All Rights Reserved.
*/
////////////////////////////////////////////////
////
/// Start Configurable Variables
//
////////////////////////////////////////////////
var ObLth=5 // number of objects to use
var ObXOff=20 // horizontal offset
var ObYOff=40 // vertical offset
var XDst=0 // horiz spacing between objects or radius
var YDst=0 // vert spacing between objects
var Opt=0 // 0='normal';1='rotating'
var Obval='O' // text char for text trail; ignored when INam contains value
var tsize=8 // initial font size
var tszchg=2 // amt of change to font size
var twgt=800 // initial font weight
var twgtchg=100 // amt of font weight change
var tcolr=new Array() // font colors for text trail
for (i=0; i<(ObLth); i++){ // ensure font colors initialized
tcolr[i]="dodgerblue" // aka "#1e90ff" or "rgb(30,144,255)"
}
var INam="" // prefix of image names for pic trail or empty for text
var ITyp="gif" // image type for pic trail, e.g. gif, jpg
//////////////////////////////////////////////
////
/// End Configurable Variables
//
//////////////////////////////////////////////
var agnt=navigator.userAgent.toLowerCase()
var webTV = (agnt.indexOf("webtv") != -1);
var hotjava=(agnt.indexOf("hotjava") != -1)
var opera=(agnt.indexOf("opera") != -1)
var layr= (document.layers&&!hotjava)
var doc_all=(document.all&&!webTV)
var itsa5 = (document.getElementById&&parseInt(navigator.appVersion)>=5) ? true : false;
var Lvl=(opera?0:(doc_all?2:(itsa5?3:(layr?1:0))));
var strtWidth
var strtHeight
if (Lvl>0) {
if (ObLth<1) ObLth=1
var pi=Math.PI
var HIDE = (layr) ? 'hide' : 'hidden';
var SHOW = (layr) ? 'show' : 'visible';
var ObLst=new Array()
var pnt = new Array();
var ssize=tsize
pnt[0] = 0;
document.write("<STYLE ID='jsid4cursrtrail' TYPE='text\/css'><\/style>")
for (i=0; i<(ObLth); i++){
tszpt=tsize+"pt"
if (layr) {
eval("document.ids.Crs"+i+".position='absolute';")
eval("document.ids.Crs"+i+".visibility='hidden';")
eval("document.ids.Crs"+i+".fontFamily='verdana,Tahoma,arial,helvetica,sans-serif';")
eval("document.ids.Crs"+i+".fontSize=tszpt;")
eval("document.ids.Crs"+i+".color=tcolr[i];")
eval("document.ids.Crs"+i+".fontWeight=twgt;")
}
else if (doc_all){
document.styleSheets["jsid4cursrtrail"].addRule ("body", "overflow:scroll;");
document.styleSheets["jsid4cursrtrail"].addRule ("#Crs"+i, "position:absolute;");
document.styleSheets["jsid4cursrtrail"].addRule ("#Crs"+i, "visibility:hidden;");
document.styleSheets["jsid4cursrtrail"].addRule ("#Crs"+i, "font-family:verdana,Tahoma,arial,helvetica,sans-serif;");
document.styleSheets["jsid4cursrtrail"].addRule ("#Crs"+i, "font-size:" + tszpt);
document.styleSheets["jsid4cursrtrail"].addRule ("#Crs"+i, "color:" + tcolr[i]);
document.styleSheets["jsid4cursrtrail"].addRule ("#Crs"+i, "font-weight:" + twgt);
}
if (INam!="") Obval="<img src='"+INam+i+"."+ITyp+"' border=0>"
var Style=""
if(Lvl>1) Style="position:absolute;visibility:hidden;overflow:hidden;"
document.writeln("<div id='Crs"+i+"' style='"+Style+";'>"+Obval+"<\/div>")
pnt[i+1] = parseFloat(pnt[i] + ((2 * pi) / ObLth));
if (500<twgt) twgt-=twgtchg
tsize+=tszchg
}
var ptr=0
var delay=100
if (Opt!=0) delay=10
var hptr=ObLth
var Xloc=0
var Yloc=0
var moving
var hiding
var XSign=1
var YSign=1
var savX=XDst
var savY=YDst
if (XDst<0) XSign=-1
if (YDst<0) YSign=-1
}
function GetEm(e){
moving=true
if (hiding) clearTimeout(hiding);
Xloc=(doc_all?event.clientX+document.body.scrollLeft:(Lvl>2?e.clientX+window.scrollX:e.pageX));
Yloc=(doc_all?event.clientY+document.body.scrollTop:(Lvl>2?e.clientY+window.scrollY:e.pageY));
if (XDst!=savX) XDst+=.5*XSign
if (YDst!=savY) YDst+=.5*YSign
hptr=ObLth
hiding=setTimeout("HidEm()",600)
}
function MovEm(){
if (ObLth<=ptr) ptr=0
if (doc_all) ObLst[ptr].width=document.body.clientWidth
if (Opt==0) {
ObLst[ptr].left=Xloc+ObXOff+(XDst*(ObLth-ptr))
ObLst[ptr].top=Yloc+ObYOff+(YDst*(ObLth-ptr))
}
else {
pnt[ptr]+=.1
ObLst[ptr].left=Xloc+ObXOff+0+(XDst * Math.cos(pnt[ptr]))
ObLst[ptr].top=Yloc+ObYOff+0+(YDst * Math.sin(pnt[ptr]))
}
if (moving) ObLst[ptr].visibility=SHOW
ptr++
setTimeout("MovEm()",delay)
moving=false
}
function HidEm(){
if (moving) {
hiding=setTimeout("HidEm()",600)
return
}
if (XDst!=0) XDst-=(.5*XSign)
if (YDst!=0) YDst-=(.5*YSign)
if (XDst==0&&YDst==0) {
hptr--
if (hptr<0) {return}
ObLst[hptr].visibility=HIDE
}
hiding=setTimeout("HidEm()",10)
}
function NNlode(){
if (self.innerWidth!= strtWidth||self.innerHeight!=strtHeight) {
window.location.reload()
}
}
function StartEm() {
if (Lvl>0) {
tsize=ssize
for (i=0; i<(ObLth); i++){
eval("var Crs"+i+" =(doc_all?document.all.Crs"+i+".style:(itsa5?document.getElementById('Crs"+i+"').style:(layr?document.Crs"+i+":'')));")
ObLst[i]=eval("Crs"+i)
ObLst[i].zIndex=1999+i
if (Lvl>2){
tszpt=tsize+"pt"
ObLst[i].fontFamily="verdana,Tahoma,arial,helvetica,sans-serif"
ObLst[i].fontSize=tszpt
ObLst[i].fontWeight=twgt
ObLst[i].color=tcolr[i]
if (500<twgt) twgt-=twgtchg
tsize+=tszchg
}
}
if(layr) {
if (parent.frames.length!=0) {
strtWidth = self.innerWidth;
strtHeight = self.innerHeight;
self.onresize=NNlode
}
document.captureEvents(Event.MOUSEMOVE)
}
document.onmousemove=GetEm
MovEm()
}
}
window.onload=StartEm
// -->
</script>