<!-- Begin
// Copyright (c) 2003-2009 Marc Ahlfs

var isNetscape = document.layers;
var winW = 630, winH = 460, winLeft = 0, winTop = 0;
var backgroundYOffset = 0;
var backgroundXOffset = 0;
var xDir = "x";
var yDir = "u";
var bgObject = eval('document.body');
//var objectWidth = 25;
//var objectHeight = 25;
var SpaceObjects = new Array();

function doNothing () {
	return 0
}
window.onError = doNothing;

function inspect(elm){
  var str = "";
  for (var i in elm){
    str += i + ": " + elm.getAttribute(i) + ";  ";
  }
  alert(str);
}

function SpaceObject(i) {
  window.onError = doNothing;
  var thisname;
  //var thisthing = new Object();
  thisname = "spacething" + i;
  this.obj = document.getElementById(thisname).style;
  this.Width = document.getElementById(thisname).style.width;
  this.Width = this.Width.substr(0, this.Width.length -2) - 0; //remove "px", convert to number
  this.Height = document.getElementById(thisname).style.height;
  this.Height = this.Height.substr(0, this.Height.length -2) - 0; //remove "px", convert to number
  this.X = Math.round(Math.random() * (winW - this.Width));
  this.Y = Math.round(Math.random() * (winH - this.Height));
  this.Faster = (Math.random() * 1.6) - 0.007;
  this.XVariation = (Math.random() * .15) - .08;
  this.YVariation = (Math.random() * .15) - .08;
  //Debug...
//  document.write("<ul>");
//  document.write(" <li>SpaceObject[" + i + "].Width = " + this.Width);
//  document.write(" <li>SpaceObject[" + i + "].Height = " + this.Height);
//  document.write(" <li>SpaceObject[" + i + "].Faster = " + this.Faster);
//  document.write(" <li>SpaceObject[" + i + "].XVariation = " + this.XVariation);
//  document.write(" <li>SpaceObject[" + i + "].YVariation = " + this.YVariation);
//  document.write(" <li>SpaceObject[" + i + "].X = " + this.X);
//  document.write(" <li>SpaceObject[" + i + "].Y = " + this.Y);
//  document.write("</ul>");
}
function initSpaceObjects() {
  var i = 0;
  for (i = 0; i < nObjects; i++) {
    SpaceObjects[i] = new SpaceObject(i);
  }
  for (i = 0; i < nObjects; i++) {
    SpaceObjects[i].obj.left = SpaceObjects[i].X;
    SpaceObjects[i].obj.top = SpaceObjects[i].Y;
  }
}

function ResetScreenSize() {
 var viewportwidth;
 var viewportheight;
 
 // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
 
 if (typeof window.innerWidth != 'undefined')
 {
      viewportwidth = window.innerWidth,
      viewportheight = window.innerHeight
 }
 
// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)

 else if (typeof document.documentElement != 'undefined'
     && typeof document.documentElement.clientWidth !=
     'undefined' && document.documentElement.clientWidth != 0)
 {
       viewportwidth = document.documentElement.clientWidth,
       viewportheight = document.documentElement.clientHeight
 }
 
 // older versions of IE
 
 else
 {
       viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
       viewportheight = document.getElementsByTagName('body')[0].clientHeight
 }
 winW = viewportwidth;
 winH = viewportheight;
 winLeft = document.body.scrollLeft;
 winTop = document.body.scrollTop;	
}

ResetScreenSize();
initSpaceObjects();

var os = .007; // orbit speed .02 = slow, .15 = fast (negative for anti-clockwise)
var Orbit = new function() {
   var eAnim = document.getElementById('orbit'); // animation element
   var imgs = eAnim.getElementsByTagName('div'); // images to space evenly in a circle
   var il = imgs.length; // cached number of images for speed
   var da = Math.PI * 2 / il; // difference in angle between images
   var ca = 0; // current angle
   var or = winH / 3; // orbit radius
   var centerxy = [(winW / 2) - (or / 2), (winH / 2) - (or / 2)];
   //var oc = [200, 200]; // orbit centre[x,y] (anim width / 2 + anim left, anim height / 2 + anim top)
 
   function render() // position all images
   {
     var or = winH / 3; // orbit radius
     var centerxy = [(winW / 2) - (or / 1.33), (winH / 2) - (or / 1.33)];
     for(var i = 0; i < il; i++)
     {
       var ang = i * da + ca; // angle of this image
       imgs[i].style.left = Math.cos(ang) * or + centerxy[0] - imgs[i].offsetWidth / 2 + 'px';
       imgs[i].style.top = Math.sin(ang) * or + centerxy[1] - imgs[i].offsetHeight / 2 + 'px';
     }
   }
   render();
     
   this.animate = function()
   {
     ca = (ca + os) % (Math.PI * 2); 
     render();
   }
}

function scrollBG() {
	var moveX = 0, moveY = 0, i = 0;
	ResetScreenSize();
	if (yDir == "u") moveY = 1;
	if (yDir == "d") moveY = -1;
	if (xDir == "l") moveX = 1;
	if (xDir == "r") moveX = -1;
	backgroundXOffset = backgroundXOffset + moveX;
	backgroundYOffset = backgroundYOffset + moveY;
	if (backgroundXOffset > maxX) backgroundXOffset = 0;
	if (backgroundYOffset > maxY) backgroundYOffset = 0;
	if (backgroundXOffset < 0) backgroundXOffset = maxX;
	if (backgroundYOffset < 0) backgroundYOffset = maxY;
	bgObject.style.backgroundPosition = backgroundXOffset + " " + backgroundYOffset;
	for (i = 0; i < nObjects; i++) {
	  SpaceObjects[i].X = (SpaceObjects[i].X + moveX * SpaceObjects[i].Faster) + SpaceObjects[i].XVariation;
	  SpaceObjects[i].Y = (SpaceObjects[i].Y + moveY * SpaceObjects[i].Faster) + SpaceObjects[i].YVariation;

	  if (SpaceObjects[i].X + (SpaceObjects[i].Width) >= winW + winLeft) { 
	    SpaceObjects[i].X = 1;
	    //SpaceObjects[i].Y = Math.random() * (winH - SpaceObjects[i].Height);
	  }
	  if (SpaceObjects[i].X < winLeft) {
	    SpaceObjects[i].X = (winW - (SpaceObjects[i].Width)) + winLeft;
   	    //SpaceObjects[i].Y = Math.random() * (winH - SpaceObjects[i].Height) + winTop;
   	  }
	  if (SpaceObjects[i].Y + (SpaceObjects[i].Height) >= (winH + winTop)) {
	    SpaceObjects[i].Y = winTop;
	    //SpaceObjects[i].X = (Math.random() * (winW - SpaceObjects[i].Width)) + winLeft;
	  }
	  if (SpaceObjects[i].Y < winTop) {
	    SpaceObjects[i].Y = (winH + winTop) - (SpaceObjects[i].Height);
	    //SpaceObjects[i].X = (Math.random() * (winW - SpaceObjects[i].Width)) + winLeft;
	  }
	  SpaceObjects[i].obj.left = Math.round(SpaceObjects[i].X);
	  SpaceObjects[i].obj.top = Math.round(SpaceObjects[i].Y);
	}
	Orbit.animate();
}

if (isNetscape) document.captureEvents(Event.MOUSEMOVE)

// Set-up to use getMouseXY function onMouseMove
document.onmousemove = getMouseXY;

// Temporary variables to hold mouse x-y pos.s
var tempX = 0;
var tempY = 0;

// Main function to retrieve mouse x-y pos.s

function getMouseXY(e) {
  onError = doNothing;
  if (window.event) { // grab the x-y pos.s if browser is IE
    tempX = window.event.clientX;
    tempY = window.event.clientY;
  } else {  // grab the x-y pos.s if browser is NS
    tempX = e.pageX
    tempY = e.pageY
  }  
  // catch possible negative values in NS4
  if (tempX < 0){tempX = 0}
  if (tempY < 0){tempY = 0}  
  
  xDir = "x"; yDir = "x";
  if (tempY < (winH / 3)) yDir = "u";
  if (tempY > (winH * .66)) yDir = "d"
  if (tempX < (winW / 3)) xDir = "l";
  if (tempX > (winW * .66)) xDir = "r";
  if (xDir == "x" && yDir == "x") yDir = "d";
  return true
}
var ScrollTimer = window.setInterval("scrollBG()", 60);

// End -->

