var is_id = (document.getElementById) ? 1 : 0;
var is_lay = (document.layers) ? 1 : 0;
var is_all = (document.all) ? 1 : 0;
var is_cli;
if (document.body) {
	var b = document.body;
	is_cli = (b.clientWidth && b.scrollHeight) ? 1 : 0;
} else
	is_cli = 0;
var is_inn = (window.innerWidth) ? 1 : 0;
var is_cap = (document.captureEvents) ? 1 : 0;
var is_evn = (document.addEventListener) ? 1 : 0;
var i_can = ((is_all || is_id || is_lay) &&
	     (is_inn || is_cli) && (is_cap || is_cli || is_evn));

// Logo animation
var yBase = 200;
var xBase = 200;
var delay = 25;
var yAmpl = 10;
var yMax = 40;
var step = .2;
var ystep = .5;
var currStep = 0;
var tAmpl=1;
var Xpos = 50;
var Ypos = 50;
var no = 6;

var bgcols = ["#666666", "#666633", "#333300", "#333333", "#FFFFFF", "#999966"];
var zin =    [4, 3, 1, 2, 6, 5];

function MoveHandler(ev) {
  if (is_cli && !is_evn) {
	Xpos = event.clientX + document.body.scrollLeft;
	Ypos = event.clientY + document.body.scrollTop;
  } else if (is_cap) {
	Xpos = ev.pageX;
	Ypos = ev.pageY;
  } else {
	Xpos = event.clientX;
	Ypos = event.clientY;
  }
}

function animateLogo() {
  var j;
  var ox;
  var oy;

  if (is_inn) {
    oy = yBase = window.innerHeight;
    ox = xBase = window.innerWidth;
  } else {
    oy = yBase = document.body.clientHeight;
    ox = xBase = document.body.clientWidth;
  }
  ox -= 20; // scroll bars
  oy -= 20;
  if (ox < 0) ox = 0;
  if (oy < 0) oy = 0;
  yBase /= 4;
  xBase /= 4;
  for ( j = 0 ; j < no ; j++ ) {
    var newY = Ypos + Math.cos((20*Math.sin(currStep/20))+j*70)*yBase*(Math.sin(10+currStep/10)+0.2)*Math.cos((currStep + j*25)/10);
    var newX = Xpos + Math.sin((20*Math.sin(currStep/20))+j*70)*xBase*(Math.sin(10+currStep/10)+0.2)*Math.cos((currStep + j*25)/10);
    if (newX > ox) newX = ox;
    if (newY > oy) newY = oy;
    if (is_all) {
	    document.all["dot"+j].style.pixelTop = newY;
	    document.all["dot"+j].style.pixelLeft = newX;
    } else if (is_id) {
	    var ddot = document.getElementById("dot"+j);
	    ddot.style.top = newY + "px";
	    ddot.style.left = newX + "px";
    } else {
	    document.layers["dot"+j].top = newY;
	    document.layers["dot"+j].left = newX;
    }
  }
  currStep += step;
  setTimeout(animateLogo, delay);
}

function init() {
	var i;

	for (i = 0; i < no; ++i) {
		if (is_all || is_id) {
			document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");
			document.write("absolute; Z-INDEX: 2; background-color: " + bgcols[i] + "; VISIBILITY: ");
			document.write("visible; TOP: 10; LEFT: 10;\"><img ");
			document.write("src=\"../1x1.gif\" alt=\"\" width=3 height=3 border=0></div>");
		} else {
			document.write("<layer id=\"dot"+ i +"\" left=\"10\" Z-INDEX=\"2\" ");
			document.write("top=\"10\" visibility=\"show\" bgcolor=\"" + bgcols[i] + "\" clip=\"0,0,3,3\"></layer>");
		}
	}

	if (is_evn)
		document.addEventListener('mousemove', MoveHandler, false);
	else {
		if (is_cap)
			document.captureEvents(Event.MOUSEMOVE);
		document.onmousemove = MoveHandler;
	}
}

if (i_can)
	init();
