var vMin=2;
var vMax=5;
var vr=2;
var timer1;

function ieCompatTest(){
	return (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body;
}

function Chip(chipName, width, height){
	this.named = chipName;
	this.vx = vMin + vMax * Math.random();
	this.vy = vMin + vMax * Math.random();
	this.w = width + 20;
	this.h = height;
	this.xx = 0;
	this.yy = 0;
	this.timer1 = null;
}

function moveChip(chipName){
	if (document.getElementById){
		eval("chip = " + chipName);
		
		if (window.innerWidth || window.opera){
			pageX = window.pageXOffset;
			pageW = window.innerWidth - 40;
			pageY = window.pageYOffset;
			pageH = window.innerHeight - 20;
		} else if (document.body){
			pageX = ieCompatTest().scrollLeft;
			pageW = ieCompatTest().offsetWidth - 40;
			pageY = ieCompatTest().scrollTop;
			pageH = ieCompatTest().offsetHeight - 20;
		} 
	
		chip.xx = chip.xx + chip.vx;
		chip.yy = chip.yy + chip.vy;
		
		chip.vx += vr * (Math.random() - 0.5);
		chip.vy += vr * (Math.random() - 0.5);
		
		if(chip.vx > (vMax + vMin))  chip.vx = (vMax + vMin) * 2 - chip.vx;
		if(chip.vx < (-vMax - vMin)) chip.vx = (-vMax - vMin) * 2 - chip.vx;
		if(chip.vy > (vMax + vMin))  chip.vy = (vMax + vMin) * 2 - chip.vy;
		if(chip.vy < (-vMax - vMin)) chip.vy = (-vMax - vMin) * 2 - chip.vy;
		
		if(chip.xx <= pageX){
			chip.xx = pageX;
			chip.vx = vMin + vMax * Math.random();
		}
		
		if(chip.xx >= pageX + pageW - chip.w){
			chip.xx = pageX + pageW - chip.w;
			chip.vx = -vMin - vMax * Math.random();
		}
		
		if(chip.yy <= pageY){
			chip.yy = pageY;
			chip.vy = vMin + vMax * Math.random();
		}
		
		if(chip.yy >= pageY + pageH - chip.h){
			chip.yy = pageY + pageH - chip.h;
			chip.vy = -vMin - vMax * Math.random();
		}
		
		var oChip = document.getElementById(chip.named);
		if(oChip){
			oChip.style.left = chip.xx + "px";
			oChip.style.top = chip.yy + "px";
		}
		
		chip.timer1 = setTimeout("moveChip('" + chip.named + "')", 100);
	}
}
