// This is modified code from Dr. Ozones pages, and he should get credit.  
// Check out his work:  http://www.ozones.com

window.onerror=null;
ns = (document.layers) ? 1:0;
ie = (document.all) ? 1:0;

//window.onResize="history.go(0); setup()";
document.onmousemove=MoveHandler;
var gotthere = 0;
var count = 0;

toplocation = new Array( 0,30,57,80,101,125,80,80,101,125,80,0 );
temptoplocation = new Array( 50,100,100,150,150,200,200,100,150,150,200,200,0 );

leftlocation = new Array( 0,292,318,181,181,217,263,318,181,181,217,263,-96 );
templeftlocation = new Array( 0,0,260,390,420,550,680,390,420,550,680,0 );

difftop = new Array( 0,0,0,0,0,0,0,0,0,0,0,0 );
diffleft = new Array( 0,0,0,0,0,0,0,0,0,0,0,0 );

if (ns) {
   window.captureEvents(Event.MOUSEMOVE);
   window.onMouseMove = MoveHandler;
   var layerstart = "document.";
   var layerleft = ".left";
   var layertop = ".top";
   var layerstyle = "";
   var windowWidth = window.innerWidth;
   var windowHeight = window.innerHeight;  
}
else if (ie) {
   layerstart = "document.all.";
   layerleft = ".left";
   layertop = ".top";
   layerstyle = ".style";
   windowWidth=600;
   windowHeight=400; 
}
// end error trapping
var Ypos2 = 72;
var Xpos2 = 72;

function MoveHandler(e) {
  if (ns || ie) {
    Xpos2 = (ns)?e.pageX:event.x
    Ypos2 = (ns)?e.pageY:event.y
    Xorigin = Xpos2;
    Yorigin = Ypos2;
    if (Ypos2 > windowHeight/2) {
        if (Xpos2 > windowWidth/2) { direction = 1;}
        else { direction = -1;} 
    }
    else {
    if (Xpos2 > windowWidth/2) { direction = -1;}
    else { direction = 1;} 
    }
  }
}

amountup=44;

function startcircle() {
  if (run_ok == 0) {
    return 1;
  }
  if (ie) {
    windowWidth=document.body.clientWidth;
    windowHeight=document.body.clientHeight; 
  }
  markMe();
  Xorigin = 204;
  Yorigin = 147;
  spin();
  run(); 
}

var OrbitSize = 300;
count=1; delay=100; direction = -1;
var separation = 0.0698;
var offset = 1;

Xcount = new Array()
Ycount = new Array()

for ( j = 0 ; j <= 300 ; j++ ) {
  Xcount[j] = Math.sin(j*separation);
  Ycount[j] = Math.cos(j*separation);
}

placeholder = 100;

Xpoint = new Array ( 0, 0.63, 1.26, 1.89, 2.52, 3.15, 3.78, 4.41, 5.04 );
Ypoint = new Array ( 0, 0.63, 1.26, 1.89, 2.52, 3.15, 3.78, 4.41, 5.04 );

function spin() {
  if (direction) {
    placeholder++;
    if (placeholder > 199) { placeholder=100;  }
  }
  else {
    placeholder--;
    if (placeholder < 100 ) { placeholder=199;  }   
  }

  for ( j = 0 ; j <= 8 ; j++ ) {
    Xpoint[j] = Xorigin + ( (OrbitSize*offset) * Xcount[placeholder+(j*10*direction)] );
    Ypoint[j] = Yorigin + ((OrbitSize * Ycount[placeholder+(j*10*direction)]) + pointsoff);
  }
  if(setRun) setTimeout('spin()',20);
}

function run() {
  count++;
  for ( j = 0 ; j <= 8 ; j++ ) {
    difftop[j]  = Ypoint[j] -  temptoplocation[j];
    diffleft[j] = Xpoint[j] - templeftlocation[j];
    diff = 30;
    temptoplocation[j] = temptoplocation[j] + (difftop[j]/diff);
    templeftlocation[j] = templeftlocation[j] + diffleft[j]/diff;
    eval(layerstart+"a"+j+layerstyle+layerleft+" = templeftlocation["+j+"]");
    eval(layerstart+"a"+j+layerstyle+layertop+" = temptoplocation["+j+"]"); 
  }
  if(setRun) setTimeout('run()', 47) ;
}

mark = 150; // milliseconds
navDOM = window.innerHeight; 

function markMe() {
  window.onresize=setup;
  markID = setInterval ("setup()",mark);
}

var pointsoff=0;

function setup() {
  pagescroll=navDOM?pageYOffset:document.body.scrollTop
  if (!ns) { pointsoff = pagescroll; }
}

var setRun=1;
function stopcircle() {
    setRun = 0;
    for(var i = 0; i < 9; i++) {
      eval(layerstart+"a"+i+layerstyle+".visibility = 'hidden'"); 
    }
}

